Source code of Windows XP (NT5)
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.

142 lines
4.5 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (c) Microsoft Corporation. All rights reserved.
  5. //
  6. // File: Tlogstg.idl
  7. //
  8. // Contents: TravelLog public interfaces
  9. //
  10. // Classes:
  11. //
  12. // Functions:
  13. //
  14. // History: 10-DEC-99 Sifrim (Silviu Ifrim) - created
  15. //
  16. //----------------------------------------------------------------------------
  17. cpp_quote("//=--------------------------------------------------------------------------=")
  18. cpp_quote("// tlogstg.h")
  19. cpp_quote("//=--------------------------------------------------------------------------=")
  20. cpp_quote("// Copyright (c) Microsoft Corporation. All rights reserved.")
  21. cpp_quote("//")
  22. cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
  23. cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
  24. cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
  25. cpp_quote("// PARTICULAR PURPOSE.")
  26. cpp_quote("//=--------------------------------------------------------------------------=")
  27. cpp_quote("")
  28. cpp_quote("#pragma comment(lib,\"uuid.lib\")")
  29. cpp_quote("")
  30. cpp_quote("//---------------------------------------------------------------------------=")
  31. cpp_quote("// ITravelLogStg Interface.")
  32. cpp_quote("")
  33. cpp_quote("#define SID_STravelLogCursor IID_ITravelLogStg ")
  34. import "objidl.idl";
  35. import "oleidl.idl";
  36. // ITravelLogEntry
  37. [
  38. object,
  39. uuid(7EBFDD87-AD18-11d3-A4C5-00C04F72D6B8), //IID_ITravelLogEntry
  40. helpstring("ITravelLogEntry interface"),
  41. local
  42. ]
  43. interface ITravelLogEntry : IUnknown
  44. {
  45. [helpstring("Get page title"), helpcontext(0x0000)]
  46. HRESULT GetTitle([out] LPOLESTR *ppszTitle);
  47. [helpstring("Get URL"), helpcontext(0x0000)]
  48. HRESULT GetURL([out] LPOLESTR *ppszURL);
  49. };
  50. //IEnumTravelLogEntry
  51. [
  52. object,
  53. uuid(7EBFDD85-AD18-11d3-A4C5-00C04F72D6B8), //IID_IEnumTravelLogEntry
  54. helpstring("IEnumTravelLogEntry interface"),
  55. helpcontext(0x0000),
  56. local,
  57. ]
  58. interface IEnumTravelLogEntry : IUnknown
  59. {
  60. [helpstring("Get the next items in the enumeration sequence"), helpcontext(0x0000)]
  61. HRESULT Next(
  62. [in] ULONG cElt,
  63. [out,
  64. size_is(cElt),
  65. length_is(*pcEltFetched)] ITravelLogEntry **rgElt,
  66. [out] ULONG* pcEltFetched);
  67. [helpstring("Skip over the next cElt elements"), helpcontext(0x0000)]
  68. HRESULT Skip(
  69. [in] ULONG cElt);
  70. [helpstring("Reset the enumeration sequence"), helpcontext(0x0000)]
  71. HRESULT Reset(void);
  72. [helpstring("Creates a copy of the current state of enumeration"), helpcontext(0x0000)]
  73. HRESULT Clone(
  74. [out] IEnumTravelLogEntry **ppEnum);
  75. };
  76. [
  77. uuid(7EBFDD80-AD18-11d3-A4C5-00C04F72D6B8), // IID_ITravelLogStg
  78. object,
  79. pointer_default(unique),
  80. local,
  81. ]
  82. interface ITravelLogStg : IUnknown
  83. {
  84. // care on these, they should match TLMENUF_xxx
  85. enum
  86. {
  87. TLEF_RELATIVE_INCLUDE_CURRENT = 0x00000001,
  88. TLEF_RELATIVE_BACK = 0x00000010,
  89. TLEF_RELATIVE_FORE = 0x00000020,
  90. TLEF_INCLUDE_UNINVOKEABLE = 0x00000040,
  91. TLEF_ABSOLUTE = 0x00000031,
  92. };
  93. typedef DWORD TLENUMF;
  94. [helpstring("Insert a dummy entry in the travel log"), helpcontext(0x0000)]
  95. HRESULT CreateEntry(
  96. [in] LPCOLESTR pszUrl,
  97. [in] LPCOLESTR pszTitle,
  98. [in] ITravelLogEntry *ptleRelativeTo,
  99. [in] BOOL fPrepend,
  100. [out] ITravelLogEntry **pptle);
  101. [helpstring("Navigate to an entry"), helpcontext(0x0000)]
  102. HRESULT TravelTo(
  103. [in] ITravelLogEntry *ptle);
  104. [helpstring("Create enumerator for travel log entries"), helpcontext(0x0000)]
  105. HRESULT EnumEntries(
  106. [in] TLENUMF flags,
  107. [out] IEnumTravelLogEntry **ppenum);
  108. [helpstring("Search for all entries with given URL"), helpcontext(0x0000)]
  109. HRESULT FindEntries(
  110. [in] TLENUMF flags,
  111. [in] LPCOLESTR pszUrl,
  112. [out] IEnumTravelLogEntry **ppenum);
  113. [helpstring("Number of entries in the travel log"), helpcontext(0x0000)]
  114. HRESULT GetCount(
  115. [in] TLENUMF flags,
  116. [out] DWORD *pcEntries);
  117. [helpstring("Delete from travel log"), helpcontext(0x0000)]
  118. HRESULT RemoveEntry(
  119. [in] ITravelLogEntry *ptle);
  120. [helpstring("Get entry from the travel log"), helpcontext(0x0000)]
  121. HRESULT GetRelativeEntry(
  122. [in] int iOffset,
  123. [out] ITravelLogEntry **ptle);
  124. };