You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
245 lines
7.7 KiB
245 lines
7.7 KiB
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
import "ocidl.idl";
|
|
import "shtypes.idl";
|
|
import "oaidl.idl";
|
|
import "tlogstg.idl";
|
|
|
|
|
|
cpp_quote("#define TLOG_BACK -1")
|
|
cpp_quote("#define TLOG_FORE 1")
|
|
cpp_quote("")
|
|
cpp_quote("#define TLMENUF_INCLUDECURRENT 0x00000001")
|
|
cpp_quote("#define TLMENUF_CHECKCURRENT (TLMENUF_INCLUDECURRENT | 0x00000002)")
|
|
cpp_quote("#define TLMENUF_BACK 0x00000010 // Default")
|
|
cpp_quote("#define TLMENUF_FORE 0x00000020")
|
|
cpp_quote("#define TLMENUF_BACKANDFORTH (TLMENUF_BACK | TLMENUF_FORE | TLMENUF_INCLUDECURRENT)")
|
|
cpp_quote("")
|
|
|
|
typedef struct _WINDOWDATA
|
|
{
|
|
DWORD dwWindowID; // Window ID
|
|
UINT uiCP; // Codepage of the current entry
|
|
LPITEMIDLIST pidl; // Current pidl - pidl and lpszUrl are exclusive.
|
|
[string] LPOLESTR lpszUrl; // Pointer to a buffer to hold the window URL
|
|
[string] LPOLESTR lpszUrlLocation; // Pointer to a buffer to hold the window URL Location (local anchor).
|
|
[string] LPOLESTR lpszTitle; // Pointer to a buffer to hold the window Title
|
|
IStream * pStream; // Stream of window data used for navigation
|
|
} WINDOWDATA;
|
|
|
|
typedef WINDOWDATA * LPWINDOWDATA;
|
|
typedef const WINDOWDATA * LPCWINDOWDATA;
|
|
|
|
// ITravelEntry
|
|
[
|
|
uuid(F46EDB3B-BC2F-11d0-9412-00AA00A3EBD3), // IID_ITravelEntry
|
|
object,
|
|
local,
|
|
hidden,
|
|
helpstring("ITravelEntry interface"),
|
|
helpcontext(0x0000)
|
|
]
|
|
interface ITravelEntry : IUnknown
|
|
{
|
|
[helpstring("Invokes the entry."), helpcontext(0x0000)]
|
|
HRESULT Invoke(
|
|
[in] IUnknown *punk);
|
|
|
|
[helpstring("Updates the entry."), helpcontext(0x0000)]
|
|
HRESULT Update(
|
|
[in] IUnknown *punk,
|
|
[in] BOOL fIsLocalAnchor);
|
|
|
|
[helpstring("Retrieves the pidl associated with the entry."), helpcontext(0x0000)]
|
|
HRESULT GetPidl(
|
|
[out] LPITEMIDLIST * ppidl);
|
|
};
|
|
|
|
|
|
// ITravelLog
|
|
[
|
|
uuid(66A9CB08-4802-11d2-A561-00A0C92DBFE8), // IID_ITravelLog
|
|
object,
|
|
local,
|
|
hidden,
|
|
helpstring("ITravelLog interface"),
|
|
helpcontext(0x0000)
|
|
]
|
|
interface ITravelLog : IUnknown
|
|
{
|
|
[helpstring("Adds an entry to the travel log."), helpcontext(0x0000)]
|
|
HRESULT AddEntry(
|
|
[in] IUnknown * punk,
|
|
[in] BOOL fIsLocalAnchor);
|
|
|
|
[helpstring("Updates an entry in the travel log."), helpcontext(0x0000)]
|
|
HRESULT UpdateEntry(
|
|
[in] IUnknown * punk,
|
|
[in] BOOL fIsLocalAnchor);
|
|
|
|
[helpstring("Updates an external entry."), helpcontext(0x0000)]
|
|
HRESULT UpdateExternal(
|
|
[in] IUnknown * punk,
|
|
[in] IUnknown * punkHLBrowseContext);
|
|
|
|
[helpstring("Travels to an entry."), helpcontext(0x0000)]
|
|
HRESULT Travel(
|
|
[in] IUnknown * punk,
|
|
[in] int iOffset);
|
|
|
|
[helpstring("Retrieves an entry at the specified offset."), helpcontext(0x0000)]
|
|
HRESULT GetTravelEntry(
|
|
[in] IUnknown * punk,
|
|
[in] int iOffset,
|
|
[out] ITravelEntry ** ppte);
|
|
|
|
[helpstring("Finds the entry with the specified pidl."), helpcontext(0x0000)]
|
|
HRESULT FindTravelEntry(
|
|
[in] IUnknown * punk,
|
|
[in] LPCITEMIDLIST pidl,
|
|
[out] ITravelEntry ** ppte);
|
|
|
|
[helpstring("Retrieves tool tip text for an entry."), helpcontext(0x0000)]
|
|
HRESULT GetToolTipText(
|
|
[in] IUnknown * punk,
|
|
[in] int iOffset,
|
|
[in] int idsTemplate,
|
|
[out, size_is(cchText)] LPWSTR pwzText,
|
|
[in] DWORD cchText);
|
|
|
|
[helpstring("Inserts entries into the specified menu."), helpcontext(0x0000)]
|
|
HRESULT InsertMenuEntries(
|
|
[in] IUnknown * punk,
|
|
[in] HMENU hmenu,
|
|
[in] int nPos,
|
|
[in] int idFirst,
|
|
[in] int idLast,
|
|
[in] DWORD dwFlags);
|
|
|
|
[helpstring("Clones the current travel log."), helpcontext(0x0000)]
|
|
HRESULT Clone(
|
|
[out] ITravelLog ** pptl);
|
|
|
|
[helpstring("Returns the number of entries in the travel log."), helpcontext(0x0000)]
|
|
DWORD CountEntries(
|
|
[in] IUnknown * punk);
|
|
|
|
[helpstring("Reverts to the current entry."), helpcontext(0x0000)]
|
|
HRESULT Revert();
|
|
};
|
|
|
|
// ITravelLogEx
|
|
[
|
|
uuid(3050f679-98b5-11cf-bb82-00aa00bdce0b), // IID_ITravelLogEx
|
|
object,
|
|
local,
|
|
hidden,
|
|
helpstring("ITravelLog interface"),
|
|
helpcontext(0x0000)
|
|
]
|
|
interface ITravelLogEx : IUnknown
|
|
{
|
|
[helpstring("Finds and returns the travel entry containing the specified URL."), helpcontext(0x0000)]
|
|
HRESULT FindTravelEntryWithUrl(
|
|
[in] IUnknown * punk,
|
|
[in] UINT uiCP,
|
|
[in] LPOLESTR pszUrl,
|
|
[out] ITravelEntry ** ppte);
|
|
|
|
[helpstring("Travels to the specified URL."), helpcontext(0x0000)]
|
|
HRESULT TravelToUrl(
|
|
[in] IUnknown * punk,
|
|
[in] UINT uiCP,
|
|
[in] LPOLESTR pszUrl);
|
|
|
|
[helpstring("Delete the entry specified by index."), helpcontext(0x0000)]
|
|
HRESULT DeleteIndexEntry(
|
|
[in] IUnknown *punk,
|
|
[in] int index);
|
|
|
|
[helpstring("Delete the entry specified by URL."), helpcontext(0x0000)]
|
|
HRESULT DeleteUrlEntry(
|
|
[in] IUnknown *punk,
|
|
[in] UINT uiCP,
|
|
[in] LPOLESTR pszUrl);
|
|
|
|
[helpstring("Counts entries in the log."), helpcontext(0x0000)]
|
|
HRESULT CountEntryNodes(
|
|
[in] IUnknown *punk,
|
|
[in] DWORD dwFlags,
|
|
[out] DWORD *pdwCount);
|
|
|
|
[helpstring("Create page titles enumerator."), helpcontext(0x0000)]
|
|
HRESULT CreateEnumEntry(
|
|
[in] IUnknown *punk,
|
|
[out] IEnumTravelLogEntry **ppEnum,
|
|
[in] DWORD dwFlags);
|
|
|
|
[helpstring("Delete entry."), helpcontext(0x0000)]
|
|
HRESULT DeleteEntry(
|
|
[in] IUnknown *punk,
|
|
[in] ITravelLogEntry *pte);
|
|
|
|
[helpstring("Insert a dummy new entry."), helpcontext(0x0000)]
|
|
HRESULT InsertEntry(
|
|
[in] IUnknown *punkBrowser,
|
|
[in] ITravelLogEntry *pteRelativeTo,
|
|
[in] BOOL fPrepend,
|
|
[in] IUnknown* punkTLClient,
|
|
[in] ITravelLogEntry **ppEntry);
|
|
|
|
[helpstring("Travel to a specific entry."), helpcontext(0x0000)]
|
|
HRESULT TravelToEntry(
|
|
[in] IUnknown *punkBrowser,
|
|
[in] ITravelLogEntry *pteDestination);
|
|
};
|
|
|
|
[
|
|
uuid(3050f67A-98b5-11cf-bb82-00aa00bdce0b), // IID_ITravelLogClient
|
|
object,
|
|
local,
|
|
hidden,
|
|
helpstring("ITravelClient interface"),
|
|
helpcontext(0x0000)
|
|
]
|
|
interface ITravelLogClient : IUnknown
|
|
{
|
|
[helpstring("Finds the window with the specified index."), helpcontext(0x0000)]
|
|
HRESULT FindWindowByIndex(
|
|
[in] DWORD dwID,
|
|
[out] IUnknown ** ppunk);
|
|
|
|
[helpstring("Finds and returns the travel entry containing the specified URL."), helpcontext(0x0000)]
|
|
HRESULT GetWindowData(
|
|
[in,out] LPWINDOWDATA pWinData);
|
|
|
|
[helpstring("Loads the Url Location and position"), helpcontext(0x0000)]
|
|
HRESULT LoadHistoryPosition(
|
|
[in] LPOLESTR pszUrlLocation,
|
|
[in] DWORD dwPosition);
|
|
};
|
|
|
|
|
|
[
|
|
uuid(0AD364CE-ADCB-11d3-8269-00805FC732C0), // IID_ITravelLogClient2
|
|
object,
|
|
local,
|
|
hidden,
|
|
helpstring("ITravelClient2 interface"),
|
|
helpcontext(0x0000)
|
|
]
|
|
interface ITravelLogClient2 : IUnknown
|
|
{
|
|
[helpstring("Creates window data for an HTML page to be loaded from the specified URL."), helpcontext(0x0000)]
|
|
HRESULT GetDummyWindowData(
|
|
[in] LPWSTR pszUrl,
|
|
[in] LPWSTR pszTitle,
|
|
[in,out] LPWINDOWDATA pWinData);
|
|
};
|
|
|
|
|