WindowsXP-SP1/shell/published/inc/tlogstg.idl
2020-09-30 16:53:49 +02:00

143 lines
4.6 KiB
Plaintext

//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// File: Tlogstg.idl
//
// Contents: TravelLog public interfaces
//
// Classes:
//
// Functions:
//
// History: 10-DEC-99 Sifrim (Silviu Ifrim) - created
//
//----------------------------------------------------------------------------
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// tlogstg.h")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// Copyright (c) Microsoft Corporation. All rights reserved.")
cpp_quote("//")
cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
cpp_quote("// PARTICULAR PURPOSE.")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("")
cpp_quote("#pragma comment(lib,\"uuid.lib\")")
cpp_quote("")
cpp_quote("//---------------------------------------------------------------------------=")
cpp_quote("// ITravelLogStg Interface.")
cpp_quote("")
cpp_quote("#define SID_STravelLogCursor IID_ITravelLogStg ")
import "objidl.idl";
import "oleidl.idl";
// ITravelLogEntry
[
object,
uuid(7EBFDD87-AD18-11d3-A4C5-00C04F72D6B8), //IID_ITravelLogEntry
helpstring("ITravelLogEntry interface"),
local
]
interface ITravelLogEntry : IUnknown
{
[helpstring("Get page title"), helpcontext(0x0000)]
HRESULT GetTitle([out] LPOLESTR *ppszTitle);
[helpstring("Get URL"), helpcontext(0x0000)]
HRESULT GetURL([out] LPOLESTR *ppszURL);
};
//IEnumTravelLogEntry
[
object,
uuid(7EBFDD85-AD18-11d3-A4C5-00C04F72D6B8), //IID_IEnumTravelLogEntry
helpstring("IEnumTravelLogEntry interface"),
helpcontext(0x0000),
local,
]
interface IEnumTravelLogEntry : IUnknown
{
[helpstring("Get the next items in the enumeration sequence"), helpcontext(0x0000)]
HRESULT Next(
[in] ULONG cElt,
[out,
size_is(cElt),
length_is(*pcEltFetched)] ITravelLogEntry **rgElt,
[out] ULONG* pcEltFetched);
[helpstring("Skip over the next cElt elements"), helpcontext(0x0000)]
HRESULT Skip(
[in] ULONG cElt);
[helpstring("Reset the enumeration sequence"), helpcontext(0x0000)]
HRESULT Reset(void);
[helpstring("Creates a copy of the current state of enumeration"), helpcontext(0x0000)]
HRESULT Clone(
[out] IEnumTravelLogEntry **ppEnum);
};
[
uuid(7EBFDD80-AD18-11d3-A4C5-00C04F72D6B8), // IID_ITravelLogStg
object,
pointer_default(unique),
local,
]
interface ITravelLogStg : IUnknown
{
// care on these, they should match TLMENUF_xxx
enum
{
TLEF_RELATIVE_INCLUDE_CURRENT = 0x00000001,
TLEF_RELATIVE_BACK = 0x00000010,
TLEF_RELATIVE_FORE = 0x00000020,
TLEF_INCLUDE_UNINVOKEABLE = 0x00000040,
TLEF_ABSOLUTE = 0x00000031,
};
typedef DWORD TLENUMF;
[helpstring("Insert a dummy entry in the travel log"), helpcontext(0x0000)]
HRESULT CreateEntry(
[in] LPCOLESTR pszUrl,
[in] LPCOLESTR pszTitle,
[in] ITravelLogEntry *ptleRelativeTo,
[in] BOOL fPrepend,
[out] ITravelLogEntry **pptle);
[helpstring("Navigate to an entry"), helpcontext(0x0000)]
HRESULT TravelTo(
[in] ITravelLogEntry *ptle);
[helpstring("Create enumerator for travel log entries"), helpcontext(0x0000)]
HRESULT EnumEntries(
[in] TLENUMF flags,
[out] IEnumTravelLogEntry **ppenum);
[helpstring("Search for all entries with given URL"), helpcontext(0x0000)]
HRESULT FindEntries(
[in] TLENUMF flags,
[in] LPCOLESTR pszUrl,
[out] IEnumTravelLogEntry **ppenum);
[helpstring("Number of entries in the travel log"), helpcontext(0x0000)]
HRESULT GetCount(
[in] TLENUMF flags,
[out] DWORD *pcEntries);
[helpstring("Delete from travel log"), helpcontext(0x0000)]
HRESULT RemoveEntry(
[in] ITravelLogEntry *ptle);
[helpstring("Get entry from the travel log"), helpcontext(0x0000)]
HRESULT GetRelativeEntry(
[in] int iOffset,
[out] ITravelLogEntry **ptle);
};