Geoff Chappell - Software Analyst
IID_ITravelLog | {F46EDB3C-BC2F-11D0-9412-00AA00A3EBD3} | ANSI |
{66A9CB08-4802-11D2-A561-00A0C92DBFE8} | Unicode |
The ITravelLog methods are (as ordered in the virtual function table after the IUnknown methods):
Offset | Method |
---|---|
0x0C | AddEntry |
0x10 | UpdateEntry |
0x14 | UpdateExternal |
0x18 | Travel |
0x1C | GetTravelEntry |
0x20 | FindTravelEntry |
0x24 | GetToolTipText |
0x28 | InsertMenuEntries |
0x2C | Clone |
0x30 | CountEntries |
0x34 | Revert |
with prototypes:
HRESULT AddEntry (IUnknown *, BOOL);
HRESULT UpdateEntry (IUnknown *, BOOL);
HRESULT UpdateExternal (IUnknown *, IUnknown *);
HRESULT Travel (IUnknown *, int);
HRESULT GetTravelEntry (IUnknown *, int, ITravelEntry **);
HRESULT FindTravelEntry (IUnknown *, PCIDLIST_ABSOLUTE, ITravelEntry **);
HRESULT GetToolTipText (IUnknown *, int, int, PTSTR, DWORD);
HRESULT InsertMenuEntries (IUnknown *, HMENU, int, int, int, DWORD);
HRESULT Clone (ITravelLog **);
DWORD CountEntries (IUnknown *);
HRESULT Revert (VOID);
Only one implementation is known, specifically for a class that Microsoft’s published symbol files name as CTravelLog. One way to obtain an instance of this class is by calling the GetTravelLog method of an IBrowserService interface. Starting with Windows Vista, instances are creatable from a CLSID. (For more, see notes on the TravelLog class).
The ITravelLog interface is implemented in SHDOCVW version 4.71 and higher, until Windows Vista moves the code to IEFRAME and SHELL32.
Note that the interface exists in separate ANSI and Unicode forms, with different IIDs (but apparently without ever distinguishing the symbols for them, e.g., by appending A or W). The only method affected is GetToolTipText. SHDOCVW versions before 5.00 implement only the ANSI form. Subsequent implementations are all Unicode.
Though this interface dates from as long ago as 1997, it was still not documented by Microsoft as late as the January 2004 edition of the MSDN Library on CD.
That said, the interface was not completely undocumented. As often for interfaces, the corresponding IID symbol is defined in the UUID.LIB library, even though it is not declared in any header—at least, not any that Microsoft distributes with the SDK.
Moreover, the interface has got documented since, certainly in the SDK dated January 2007 in time for Windows Vista. The interface is there said to be deprecated. The minimum availability is said to be Internet Explorer 4.0, which is correct only for programmers who know to look for the interface under two different IIDs (the earlier of which remains undocumented).