IID_ITravelLog2 {0A46D8E2-2072-4AED-8509-BADB844E51F6}

The ITravelLog2 methods are (as ordered in the virtual function table after the IUnknown methods):

Offset Method
0x0C GetJourneyOffset
0x10 ResetJourneyState
0x14 FastBack
0x18 SetTypedNavigationPending
0x1C GetFirstFastBackEntry
0x20 PopulateTravelLogUI
0x24 UpdateEntry

with prototypes:

HRESULT GetJourneyOffset (INT *);
HRESULT ResetJourneyState (VOID);
HRESULT FastBack (IUnknown *);
HRESULT SetTypedNavigationPending (BOOL);
HRESULT GetFirstFastBackEntry (ITravelEntry **);
HRESULT PopulateTravelLogUI (IUnknown *, IUnknown *, int, int, DWORD);
HRESULT UpdateEntry (IUnknown *, BOOL, BOOL);


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 ITravelLog2 interface is implemented in IEFRAME version 7.00 and in the Windows Vista build of SHELL32 version 6.00.

This interface is not documented by Microsoft in the January 2007 edition of the Software Development Kit (SDK) for Windows Vista.

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.