Geoff Chappell - Software Analyst
This interface is implemented in IEFRAME and seems new to Windows Vista. Closer inspection may reveal it or something similar in some other module in an earlier Windows version. The IID is:
IBrowserFrameState | {D5493862-DC48-45DA-8BC9-57E225FF6595} |
This interface is not completely undocumented. It doesn’t get even a declaration in any Windows SDK header, but the corresponding IID_IBrowserFrameState is defined in the UUID.LIB library.
The IBrowserFrameState methods are:
Offset | Method |
---|---|
0x0C | GetFrameMode |
0x10 | GetFrameOptions |
0x14 | GetTabbedBrowsingEnabled |
0x18 | AllowWindowManipulation |
0x1C | GetFrameHWND |
0x20 | GetDialogContext |
0x24 | GetBrowserHWND |
0x28 | GetBrowserThreadID |
0x2C | HasAssociatedDialogs |
0x30 | HasMultipleTabs |
0x34 | ProtectFocus |
0x38 | AllowFocusChange |
0x3C | ProtectActivation |
0x40 | AllowActivation |
The following are known from Microsoft’s symbol file for IEFRAME:
HRESULT GetFrameMode (BROWSWER_FRAME_MODE *);
HRESULT GetFrameOptions (ULONG *);
HRESULT GetTabbedBrowsingEnabled (BOOL *);
HRESULT AllowWindowManipulation (BOOL *);
HRESULT GetFrameHWND (HWND *);
HRESULT GetDialogContext (ULONG, DIALOG_CONTEXT);
HRESULT GetBrowserHWND (ULONG, HWND *);
HRESULT GetBrowserThreadID (HWND, ULONG *);
HRESULT HasAssociatedDialogs (ULONG, ULONG, BOOL *);
HRESULT HasMultipleTabs (BOOL *);
HRESULT ProtectFocus (ULONGLONG, BOOL);
HRESULT AllowFocusChange (BOOL *);
HRESULT ProtectActivation (BOOL);
HRESULT AllowActivation (BOOL *);
with the following type definitions presumed for two undocumented enumerations:
typedef enum tagBROWSER_FRAME_MODE BROWSER_FRAME_MODE;
typedef enum tagDIALOG_CONTEXT DIALOG_CONTEXT;