Geoff Chappell - Software Analyst
IID_IDocObjectService | {3050F801-98B5-11CF-BB82-00AA00BDCE0B} |
The IDocObjectService methods are (as ordered in the virtual function table after the IUnknown methods):
Offset | Method |
---|---|
0x0C | FireBeforeNavigate2 |
0x10 | FireNavigateComplete2 |
0x14 | FireDownloadBegin |
0x18 | FireDownloadComplete |
0x1C | FireDocumentComplete |
0x20 | UpdateDesktopComponent |
0x24 | GetPendingUrl |
0x28 | ActiveElementChanged |
0x2C | GetUrlSearchComponent |
0x30 | IsErrorUrl |
with prototypes:
HRESULT FireBeforeNavigate2 (IDispatch *, PCWSTR, PCWSTR, DWORD, PBYTE, DWORD, PCWSTR, BOOL, BOOL *);
HRESULT FireNavigateComplete2 (IHTMLWindow2 *, DWORD);
HRESULT FireDownloadBegin (VOID);
HRESULT FireDownloadComplete (VOID);
HRESULT FireDocumentComplete (IHTMLWindow2 *, DWORD);
HRESULT UpdateDesktopComponent (IHTMLWindow2 *);
HRESULT GetPendingUrl (PWSTR *);
HRESULT ActiveElementChanged (IHTMLElement *);
HRESULT GetUrlSearchComponent (PWSTR *);
HRESULT IsErrorUrl (PCWSTR, BOOL *);
The IDocObjectService interface is implemented in SHDOCVW version 5.50 and 6.0, and IEFRAME version 7.0 and higher.
Though this interface dates from as long ago as 2000, it is said in the January 2007 edition of the Windows Software Development Kit (SDK) to have been “introduced in Internet Explorer 7”. Quite why a supposedly new interface would be immediately “deprecated” is anyone’s guess. To add to the puzzle, some of the methods are dated to Internet Explorer 6. That the interface is documented at all may be an oversight. After all, the header and IDL files that are cited for it are not supplied with the SDK.