Geoff Chappell - Software Analyst
This interface is implemented in IEFRAME. It seems new to Windows Vista, though closer inspection may reveal it or something similar in some other module in an earlier Windows version. The IID is:
INavigationBand | {663FEA43-FBEF-4859-94F5-D3FAA238D3BD} |
This interface is not completely undocumented. It doesn’t get even a declaration in any Windows SDK header, but the corresponding IID_INavigationBand is defined in the UUID.LIB library.
The INavigationBand methods are:
Offset | Method |
---|---|
0x0C | SetNavigationTarget |
0x10 | SetNavigationState |
0x14 | SetTrustState |
0x18 | SetProgress |
The following are known from Microsoft’s symbol files:
HRESULT SetNavigationTarget (INavigationTarget *);
HRESULT SetNavigationState (ULONG);
HRESULT SetTrustState (ULONG);
HRESULT SetProgress (NAVIGATION_BAND_PROGRESS_STATE, LONG, LONG);
with the following type definition presumed for the undocumented enumeration:
typedef enum tagNAVIGATION_BAND_PROGRESS_STATE NAVIGATION_BAND_PROGRESS_STATE;
It is not entirely inevitable, but the INavigationTarget interface is also undocumented.