Leaked source code of windows server 2003
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

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (c) Microsoft Corporation. All rights reserved.
  5. //
  6. //--------------------------------------------------------------------------
  7. import "ocidl.idl";
  8. import "shtypes.idl";
  9. import "oaidl.idl";
  10. import "tlogstg.idl";
  11. cpp_quote("#define TLOG_BACK -1")
  12. cpp_quote("#define TLOG_FORE 1")
  13. cpp_quote("")
  14. cpp_quote("#define TLMENUF_INCLUDECURRENT 0x00000001")
  15. cpp_quote("#define TLMENUF_CHECKCURRENT (TLMENUF_INCLUDECURRENT | 0x00000002)")
  16. cpp_quote("#define TLMENUF_BACK 0x00000010 // Default")
  17. cpp_quote("#define TLMENUF_FORE 0x00000020")
  18. cpp_quote("#define TLMENUF_BACKANDFORTH (TLMENUF_BACK | TLMENUF_FORE | TLMENUF_INCLUDECURRENT)")
  19. cpp_quote("")
  20. typedef struct _WINDOWDATA
  21. {
  22. DWORD dwWindowID; // Window ID
  23. UINT uiCP; // Codepage of the current entry
  24. LPITEMIDLIST pidl; // Current pidl - pidl and lpszUrl are exclusive.
  25. [string] LPOLESTR lpszUrl; // Pointer to a buffer to hold the window URL
  26. [string] LPOLESTR lpszUrlLocation; // Pointer to a buffer to hold the window URL Location (local anchor).
  27. [string] LPOLESTR lpszTitle; // Pointer to a buffer to hold the window Title
  28. IStream * pStream; // Stream of window data used for navigation
  29. } WINDOWDATA;
  30. typedef WINDOWDATA * LPWINDOWDATA;
  31. typedef const WINDOWDATA * LPCWINDOWDATA;
  32. // ITravelEntry
  33. [
  34. uuid(F46EDB3B-BC2F-11d0-9412-00AA00A3EBD3), // IID_ITravelEntry
  35. object,
  36. local,
  37. hidden,
  38. helpstring("ITravelEntry interface"),
  39. helpcontext(0x0000)
  40. ]
  41. interface ITravelEntry : IUnknown
  42. {
  43. [helpstring("Invokes the entry."), helpcontext(0x0000)]
  44. HRESULT Invoke(
  45. [in] IUnknown *punk);
  46. [helpstring("Updates the entry."), helpcontext(0x0000)]
  47. HRESULT Update(
  48. [in] IUnknown *punk,
  49. [in] BOOL fIsLocalAnchor);
  50. [helpstring("Retrieves the pidl associated with the entry."), helpcontext(0x0000)]
  51. HRESULT GetPidl(
  52. [out] LPITEMIDLIST * ppidl);
  53. };
  54. // ITravelLog
  55. [
  56. uuid(66A9CB08-4802-11d2-A561-00A0C92DBFE8), // IID_ITravelLog
  57. object,
  58. local,
  59. hidden,
  60. helpstring("ITravelLog interface"),
  61. helpcontext(0x0000)
  62. ]
  63. interface ITravelLog : IUnknown
  64. {
  65. [helpstring("Adds an entry to the travel log."), helpcontext(0x0000)]
  66. HRESULT AddEntry(
  67. [in] IUnknown * punk,
  68. [in] BOOL fIsLocalAnchor);
  69. [helpstring("Updates an entry in the travel log."), helpcontext(0x0000)]
  70. HRESULT UpdateEntry(
  71. [in] IUnknown * punk,
  72. [in] BOOL fIsLocalAnchor);
  73. [helpstring("Updates an external entry."), helpcontext(0x0000)]
  74. HRESULT UpdateExternal(
  75. [in] IUnknown * punk,
  76. [in] IUnknown * punkHLBrowseContext);
  77. [helpstring("Travels to an entry."), helpcontext(0x0000)]
  78. HRESULT Travel(
  79. [in] IUnknown * punk,
  80. [in] int iOffset);
  81. [helpstring("Retrieves an entry at the specified offset."), helpcontext(0x0000)]
  82. HRESULT GetTravelEntry(
  83. [in] IUnknown * punk,
  84. [in] int iOffset,
  85. [out] ITravelEntry ** ppte);
  86. [helpstring("Finds the entry with the specified pidl."), helpcontext(0x0000)]
  87. HRESULT FindTravelEntry(
  88. [in] IUnknown * punk,
  89. [in] LPCITEMIDLIST pidl,
  90. [out] ITravelEntry ** ppte);
  91. [helpstring("Retrieves tool tip text for an entry."), helpcontext(0x0000)]
  92. HRESULT GetToolTipText(
  93. [in] IUnknown * punk,
  94. [in] int iOffset,
  95. [in] int idsTemplate,
  96. [out, size_is(cchText)] LPWSTR pwzText,
  97. [in] DWORD cchText);
  98. [helpstring("Inserts entries into the specified menu."), helpcontext(0x0000)]
  99. HRESULT InsertMenuEntries(
  100. [in] IUnknown * punk,
  101. [in] HMENU hmenu,
  102. [in] int nPos,
  103. [in] int idFirst,
  104. [in] int idLast,
  105. [in] DWORD dwFlags);
  106. [helpstring("Clones the current travel log."), helpcontext(0x0000)]
  107. HRESULT Clone(
  108. [out] ITravelLog ** pptl);
  109. [helpstring("Returns the number of entries in the travel log."), helpcontext(0x0000)]
  110. DWORD CountEntries(
  111. [in] IUnknown * punk);
  112. [helpstring("Reverts to the current entry."), helpcontext(0x0000)]
  113. HRESULT Revert();
  114. };
  115. // ITravelLogEx
  116. [
  117. uuid(3050f679-98b5-11cf-bb82-00aa00bdce0b), // IID_ITravelLogEx
  118. object,
  119. local,
  120. hidden,
  121. helpstring("ITravelLog interface"),
  122. helpcontext(0x0000)
  123. ]
  124. interface ITravelLogEx : IUnknown
  125. {
  126. [helpstring("Finds and returns the travel entry containing the specified URL."), helpcontext(0x0000)]
  127. HRESULT FindTravelEntryWithUrl(
  128. [in] IUnknown * punk,
  129. [in] UINT uiCP,
  130. [in] LPOLESTR pszUrl,
  131. [out] ITravelEntry ** ppte);
  132. [helpstring("Travels to the specified URL."), helpcontext(0x0000)]
  133. HRESULT TravelToUrl(
  134. [in] IUnknown * punk,
  135. [in] UINT uiCP,
  136. [in] LPOLESTR pszUrl);
  137. [helpstring("Delete the entry specified by index."), helpcontext(0x0000)]
  138. HRESULT DeleteIndexEntry(
  139. [in] IUnknown *punk,
  140. [in] int index);
  141. [helpstring("Delete the entry specified by URL."), helpcontext(0x0000)]
  142. HRESULT DeleteUrlEntry(
  143. [in] IUnknown *punk,
  144. [in] UINT uiCP,
  145. [in] LPOLESTR pszUrl);
  146. [helpstring("Counts entries in the log."), helpcontext(0x0000)]
  147. HRESULT CountEntryNodes(
  148. [in] IUnknown *punk,
  149. [in] DWORD dwFlags,
  150. [out] DWORD *pdwCount);
  151. [helpstring("Create page titles enumerator."), helpcontext(0x0000)]
  152. HRESULT CreateEnumEntry(
  153. [in] IUnknown *punk,
  154. [out] IEnumTravelLogEntry **ppEnum,
  155. [in] DWORD dwFlags);
  156. [helpstring("Delete entry."), helpcontext(0x0000)]
  157. HRESULT DeleteEntry(
  158. [in] IUnknown *punk,
  159. [in] ITravelLogEntry *pte);
  160. [helpstring("Insert a dummy new entry."), helpcontext(0x0000)]
  161. HRESULT InsertEntry(
  162. [in] IUnknown *punkBrowser,
  163. [in] ITravelLogEntry *pteRelativeTo,
  164. [in] BOOL fPrepend,
  165. [in] IUnknown* punkTLClient,
  166. [in] ITravelLogEntry **ppEntry);
  167. [helpstring("Travel to a specific entry."), helpcontext(0x0000)]
  168. HRESULT TravelToEntry(
  169. [in] IUnknown *punkBrowser,
  170. [in] ITravelLogEntry *pteDestination);
  171. };
  172. [
  173. uuid(3050f67A-98b5-11cf-bb82-00aa00bdce0b), // IID_ITravelLogClient
  174. object,
  175. local,
  176. hidden,
  177. helpstring("ITravelClient interface"),
  178. helpcontext(0x0000)
  179. ]
  180. interface ITravelLogClient : IUnknown
  181. {
  182. [helpstring("Finds the window with the specified index."), helpcontext(0x0000)]
  183. HRESULT FindWindowByIndex(
  184. [in] DWORD dwID,
  185. [out] IUnknown ** ppunk);
  186. [helpstring("Finds and returns the travel entry containing the specified URL."), helpcontext(0x0000)]
  187. HRESULT GetWindowData(
  188. [in,out] LPWINDOWDATA pWinData);
  189. [helpstring("Loads the Url Location and position"), helpcontext(0x0000)]
  190. HRESULT LoadHistoryPosition(
  191. [in] LPOLESTR pszUrlLocation,
  192. [in] DWORD dwPosition);
  193. };
  194. [
  195. uuid(0AD364CE-ADCB-11d3-8269-00805FC732C0), // IID_ITravelLogClient2
  196. object,
  197. local,
  198. hidden,
  199. helpstring("ITravelClient2 interface"),
  200. helpcontext(0x0000)
  201. ]
  202. interface ITravelLogClient2 : IUnknown
  203. {
  204. [helpstring("Creates window data for an HTML page to be loaded from the specified URL."), helpcontext(0x0000)]
  205. HRESULT GetDummyWindowData(
  206. [in] LPWSTR pszUrl,
  207. [in] LPWSTR pszTitle,
  208. [in,out] LPWINDOWDATA pWinData);
  209. };