Geoff Chappell - Software Analyst
The ITravelLogEx methods are (as ordered in the virtual function table after the IUnknown methods):
HRESULT FindTravelEntryWithUrl (IUnknown *, UINT, PWSTR, ITravelEntry **);
HRESULT TravelToUrl (IUnknown *, UINT, PWSTR);
HRESULT DeleteIndexEntry (IUnknown *, int);
HRESULT DeleteUrlEntry (IUnknown *, UINT, PWSTR);
HRESULT CountEntryNodes (IUnknown *, DWORD, DWORD *);
HRESULT CreateEnumEntry (IUnknown *, IEnumTravelLogEntry **, DWORD);
HRESULT DeleteEntry (IUnknown *, ITravelLogEntry *);
HRESULT InsertEntry (IUnknown *, ITravelLogEntry *, int, IUnknown *, ITravelLogEntry **);
HRESULT TravelToEntry (IUnknown *, ITravelLogEntry *);
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 ITravelLogEx interface is implemented in SHDOCVW version 5.50 and higher, until Windows Vista moves the code to IEFRAME and SHELL32.
Though this interface dates from as long ago as 2000, it is still not documented by Microsoft as late as the January 2007 edition of the Windows Software Development Kit (SDK).
That said, the interface is 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.