Geoff Chappell - Software Analyst
IID_IShellBrowserService | {42DAD0E2-9B43-4E7A-B9D4-E6D1FF85D173} |
The IShellBrowserService methods are (as ordered in the virtual function table after the IUnknown methods):
Offset | Method |
---|---|
0x0C | GetParentSite |
0x10 | SetTitle |
0x14 | GetTitle |
0x18 | GetOleObject |
0x1C | GetTravelLog |
0x20 | ShowControlWindow |
0x24 | IsControlWindowShown |
0x28 | IEGetDisplayName |
0x2C | IEParseDisplayName |
0x30 | DisplayParseError |
0x34 | NavigateToPidl |
0x38 | SetNavigateState |
0x3C | GetNavigateState |
0x40 | NotifyRedirect |
0x44 | UpdateWindowList |
0x48 | UpdateBackForwardState |
0x4C | SetFlags |
0x50 | GetFlags |
0x54 | CanNavigateNow |
0x58 | GetPidl |
0x5C | SetReferrer |
0x60 | GetBrowserIndex |
0x64 | GetBrowserByIndex |
0x68 | GetHistoryObject |
0x6C | SetHistoryObject |
0x70 | CacheOLEServer |
0x74 | GetSetCodePage |
0x78 | OnHttpEquiv |
0x7C | GetPalette |
0x80 | RegisterWindow |
0x84 | GetPropertyBag |
with prototypes:
HRESULT GetParentSite (IOleInPlaceSite **);
HRESULT SetTitle (IShellView *, PCWSTR);
HRESULT GetTitle (IShellView *, PWSTR, DWORD);
HRESULT GetOleObject (IOleObject **);
HRESULT GetTravelLog (ITravelLog **);
HRESULT ShowControlWindow (UINT, BOOL);
HRESULT IsControlWindowShown (UINT, BOOL *);
HRESULT IEGetDisplayName (PCIDLIST_ABSOLUTE, PWSTR, UINT);
HRESULT IEParseDisplayName (UINT, PCWSTR, PIDLIST_ABSOLUTE *);
HRESULT DisplayParseError (HRESULT, PCWSTR);
HRESULT NavigateToPidl (PCIDLIST_ABSOLUTE, DWORD);
HRESULT SetNavigateState (BNSTATE);
HRESULT GetNavigateState (BNSTATE *);
HRESULT NotifyRedirect (IShellView *, PCIDLIST_ABSOLUTE, BOOL *);
HRESULT UpdateWindowList (VOID);
HRESULT UpdateForwardBackState (VOID);
HRESULT SetFlags (DWORD, DWORD);
HRESULT GetFlags (DWORD *);
HRESULT CanNavigateNow (VOID);
HRESULT GetPidl (PIDLIST_ABSOLUTE *);
HRESULT SetReferrer (PCIDLIST_ABSOLUTE);
DWORD GetBrowserIndex (VOID);
HRESULT GetBrowserByIndex (DWORD, IUnknown **);
HRESULT GetHistoryObject (IOleObject **, IStream **, IBindCtx **);
HRESULT SetHistoryObject (IOleObject *, BOOL);
HRESULT CacheOLEServer (IOleObject *);
HRESULT GetSetCodePage (VARIANT *, VARIANT *);
HRESULT OnHttpEquiv (IShellView *, BOOL, VARIANT *, VARIANT *);
HRESULT GetPalette (HPALETTE *);
HRESULT RegisterWindow (BOOL, INT);
HRESULT GetPropertyBag (DWORD, REFIID, PVOID *);
Note that IShellBrowserService is just a fusion of the documented IBrowserService interface with a previous IShellBrowserService interface, specifically to add the latter’s one non-trivial method (GetPropertyBag).1
The IShellBrowserService interface is implemented in BROWSEUI version 6.0 from Windows Vista, SHDOCVW version 6.0 from Windows Vista, and SHELL32 version 6.0 from Windows Vista.
This interface is not documented by Microsoft in the January 2007 edition of the Windows Software Development Kit (SDK).
[1] I am grateful to Doug Papenthien, following up on an observation by Mohan Embar, for alerting me to my somehow having overlooked this extra method in my first catalogue of this new IShellBrowserService interface.