ITridentService2

IID_ITridentService2 {F62D9369-75EF-4578-8856-232802C76468}

The ITridentService2 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
0x34 AttachMyPics
0x38 ReleaseMyPics
0x3C IsGalleryMeta
0x40 EmailPicture
0x44 FireNavigateError
0x48 FirePrintTemplateEvent
0x4C FireUpdatePageStatus
0x50 FirePrivacyImpactedStateChange
0x54 InitAutoImageResize
0x58 UnInitAutoImageResize

with prototypes:

HRESULT FireBeforeNavigate2 (IDispatch *, PCWSTR, DWORD, PCWSTR, 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 *);
HRESULT AttachMyPics (PVOID, PVOID *);
BOOL ReleaseMyPics (PVOID);
HRESULT IsGalleryMeta (BOOL, PVOID);
HRESULT EmailPicture (PWSTR);
HRESULT FireNavigateError (IHTMLWindow2 *, PWSTR, PWSTR, DWORD, BOOL *);
HRESULT FirePrintTemplateEvent (IHTMLWindow2 *, LONG);
HRESULT FireUpdatePageStatus (IHTMLWindow2 *, DWORD, BOOL);
HRESULT FirePrivacyImpactedStateChange (BOOL);
HRESULT InitAutoImageResize (VOID);
HRESULT UnInitAutoImageResize (VOID);

Note that the first ten methods are exactly those of the earlier IDocObjectService interface. It seems that ITridentService2 was initially defined with IDocObjectService as a base: the two share a virtual function table when implemented in the CBaseBrowser class for SHDOCVW version 6.0 before Windows Vista.

Availability

The ITridentService2 interface is implemented in SHDOCVW version 6.0 and in IEFRAME version 7.0 and higher.

Though this interface dates from as long ago as 2001, it is still not documented by Microsoft as late as the January 2007 edition of the Windows Software Development Kit (SDK).