urlhist.h 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596
  1. /*** Autogenerated by WIDL 7.7 from include/urlhist.idl - Do not edit ***/
  2. #ifdef _WIN32
  3. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  4. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  5. #endif
  6. #include <rpc.h>
  7. #include <rpcndr.h>
  8. #endif
  9. #ifndef COM_NO_WINDOWS_H
  10. #include <windows.h>
  11. #include <ole2.h>
  12. #endif
  13. #ifndef __urlhist_h__
  14. #define __urlhist_h__
  15. /* Forward declarations */
  16. #ifndef __IEnumSTATURL_FWD_DEFINED__
  17. #define __IEnumSTATURL_FWD_DEFINED__
  18. typedef interface IEnumSTATURL IEnumSTATURL;
  19. #ifdef __cplusplus
  20. interface IEnumSTATURL;
  21. #endif /* __cplusplus */
  22. #endif
  23. #ifndef __IUrlHistoryStg_FWD_DEFINED__
  24. #define __IUrlHistoryStg_FWD_DEFINED__
  25. typedef interface IUrlHistoryStg IUrlHistoryStg;
  26. #ifdef __cplusplus
  27. interface IUrlHistoryStg;
  28. #endif /* __cplusplus */
  29. #endif
  30. #ifndef __IUrlHistoryStg2_FWD_DEFINED__
  31. #define __IUrlHistoryStg2_FWD_DEFINED__
  32. typedef interface IUrlHistoryStg2 IUrlHistoryStg2;
  33. #ifdef __cplusplus
  34. interface IUrlHistoryStg2;
  35. #endif /* __cplusplus */
  36. #endif
  37. #ifndef __IUrlHistoryNotify_FWD_DEFINED__
  38. #define __IUrlHistoryNotify_FWD_DEFINED__
  39. typedef interface IUrlHistoryNotify IUrlHistoryNotify;
  40. #ifdef __cplusplus
  41. interface IUrlHistoryNotify;
  42. #endif /* __cplusplus */
  43. #endif
  44. /* Headers for imported files */
  45. #include <objidl.h>
  46. #include <oleidl.h>
  47. #include <oaidl.h>
  48. #include <docobj.h>
  49. #ifdef __cplusplus
  50. extern "C" {
  51. #endif
  52. #define STATURL_QUERYFLAG_ISCACHED 0x010000
  53. #define STATURL_QUERYFLAG_NOURL 0x020000
  54. #define STATURL_QUERYFLAG_NOTITLE 0x040000
  55. #define STATURL_QUERYFLAG_TOPLEVEL 0x080000
  56. #define STATURLFLAG_ISCACHED 0x0001
  57. #define STATURLFLAG_ISTOPLEVEL 0x0002
  58. typedef enum _ADDURL_FLAG {
  59. ADDURL_FIRST = 0,
  60. ADDURL_ADDTOHISTORYANDCACHE = 0,
  61. ADDURL_ADDTOCACHE = 1,
  62. ADDURL_Max = 0x7fffffff
  63. } ADDURL_FLAG;
  64. /*****************************************************************************
  65. * IEnumSTATURL interface
  66. */
  67. #ifndef __IEnumSTATURL_INTERFACE_DEFINED__
  68. #define __IEnumSTATURL_INTERFACE_DEFINED__
  69. typedef IEnumSTATURL *LPENUMSTATURL;
  70. typedef struct _STATURL {
  71. DWORD cbSize;
  72. LPWSTR pwcsUrl;
  73. LPWSTR pwcsTitle;
  74. FILETIME ftLastVisited;
  75. FILETIME ftLastUpdated;
  76. FILETIME ftExpires;
  77. DWORD dwFlags;
  78. } STATURL;
  79. typedef struct _STATURL *LPSTATURL;
  80. DEFINE_GUID(IID_IEnumSTATURL, 0x3c374a42, 0xbae4, 0x11cf, 0xbf,0x7d, 0x00,0xaa,0x00,0x69,0x46,0xee);
  81. #if defined(__cplusplus) && !defined(CINTERFACE)
  82. MIDL_INTERFACE("3c374a42-bae4-11cf-bf7d-00aa006946ee")
  83. IEnumSTATURL : public IUnknown
  84. {
  85. virtual HRESULT STDMETHODCALLTYPE Next(
  86. ULONG celt,
  87. LPSTATURL rgelt,
  88. ULONG *pceltFetched) = 0;
  89. virtual HRESULT STDMETHODCALLTYPE Skip(
  90. ULONG celt) = 0;
  91. virtual HRESULT STDMETHODCALLTYPE Reset(
  92. ) = 0;
  93. virtual HRESULT STDMETHODCALLTYPE Clone(
  94. IEnumSTATURL **ppenum) = 0;
  95. virtual HRESULT STDMETHODCALLTYPE SetFilter(
  96. LPCOLESTR poszFilter,
  97. DWORD dwFlags) = 0;
  98. };
  99. #ifdef __CRT_UUID_DECL
  100. __CRT_UUID_DECL(IEnumSTATURL, 0x3c374a42, 0xbae4, 0x11cf, 0xbf,0x7d, 0x00,0xaa,0x00,0x69,0x46,0xee)
  101. #endif
  102. #else
  103. typedef struct IEnumSTATURLVtbl {
  104. BEGIN_INTERFACE
  105. /*** IUnknown methods ***/
  106. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  107. IEnumSTATURL *This,
  108. REFIID riid,
  109. void **ppvObject);
  110. ULONG (STDMETHODCALLTYPE *AddRef)(
  111. IEnumSTATURL *This);
  112. ULONG (STDMETHODCALLTYPE *Release)(
  113. IEnumSTATURL *This);
  114. /*** IEnumSTATURL methods ***/
  115. HRESULT (STDMETHODCALLTYPE *Next)(
  116. IEnumSTATURL *This,
  117. ULONG celt,
  118. LPSTATURL rgelt,
  119. ULONG *pceltFetched);
  120. HRESULT (STDMETHODCALLTYPE *Skip)(
  121. IEnumSTATURL *This,
  122. ULONG celt);
  123. HRESULT (STDMETHODCALLTYPE *Reset)(
  124. IEnumSTATURL *This);
  125. HRESULT (STDMETHODCALLTYPE *Clone)(
  126. IEnumSTATURL *This,
  127. IEnumSTATURL **ppenum);
  128. HRESULT (STDMETHODCALLTYPE *SetFilter)(
  129. IEnumSTATURL *This,
  130. LPCOLESTR poszFilter,
  131. DWORD dwFlags);
  132. END_INTERFACE
  133. } IEnumSTATURLVtbl;
  134. interface IEnumSTATURL {
  135. CONST_VTBL IEnumSTATURLVtbl* lpVtbl;
  136. };
  137. #ifdef COBJMACROS
  138. #ifndef WIDL_C_INLINE_WRAPPERS
  139. /*** IUnknown methods ***/
  140. #define IEnumSTATURL_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  141. #define IEnumSTATURL_AddRef(This) (This)->lpVtbl->AddRef(This)
  142. #define IEnumSTATURL_Release(This) (This)->lpVtbl->Release(This)
  143. /*** IEnumSTATURL methods ***/
  144. #define IEnumSTATURL_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
  145. #define IEnumSTATURL_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
  146. #define IEnumSTATURL_Reset(This) (This)->lpVtbl->Reset(This)
  147. #define IEnumSTATURL_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
  148. #define IEnumSTATURL_SetFilter(This,poszFilter,dwFlags) (This)->lpVtbl->SetFilter(This,poszFilter,dwFlags)
  149. #else
  150. /*** IUnknown methods ***/
  151. static FORCEINLINE HRESULT IEnumSTATURL_QueryInterface(IEnumSTATURL* This,REFIID riid,void **ppvObject) {
  152. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  153. }
  154. static FORCEINLINE ULONG IEnumSTATURL_AddRef(IEnumSTATURL* This) {
  155. return This->lpVtbl->AddRef(This);
  156. }
  157. static FORCEINLINE ULONG IEnumSTATURL_Release(IEnumSTATURL* This) {
  158. return This->lpVtbl->Release(This);
  159. }
  160. /*** IEnumSTATURL methods ***/
  161. static FORCEINLINE HRESULT IEnumSTATURL_Next(IEnumSTATURL* This,ULONG celt,LPSTATURL rgelt,ULONG *pceltFetched) {
  162. return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
  163. }
  164. static FORCEINLINE HRESULT IEnumSTATURL_Skip(IEnumSTATURL* This,ULONG celt) {
  165. return This->lpVtbl->Skip(This,celt);
  166. }
  167. static FORCEINLINE HRESULT IEnumSTATURL_Reset(IEnumSTATURL* This) {
  168. return This->lpVtbl->Reset(This);
  169. }
  170. static FORCEINLINE HRESULT IEnumSTATURL_Clone(IEnumSTATURL* This,IEnumSTATURL **ppenum) {
  171. return This->lpVtbl->Clone(This,ppenum);
  172. }
  173. static FORCEINLINE HRESULT IEnumSTATURL_SetFilter(IEnumSTATURL* This,LPCOLESTR poszFilter,DWORD dwFlags) {
  174. return This->lpVtbl->SetFilter(This,poszFilter,dwFlags);
  175. }
  176. #endif
  177. #endif
  178. #endif
  179. #endif /* __IEnumSTATURL_INTERFACE_DEFINED__ */
  180. /*****************************************************************************
  181. * IUrlHistoryStg interface
  182. */
  183. #ifndef __IUrlHistoryStg_INTERFACE_DEFINED__
  184. #define __IUrlHistoryStg_INTERFACE_DEFINED__
  185. typedef IUrlHistoryStg *LPURLHISTORYSTG;
  186. DEFINE_GUID(IID_IUrlHistoryStg, 0x3c374a41, 0xbae4, 0x11cf, 0xbf,0x7d, 0x00,0xaa,0x00,0x69,0x46,0xee);
  187. #if defined(__cplusplus) && !defined(CINTERFACE)
  188. MIDL_INTERFACE("3c374a41-bae4-11cf-bf7d-00aa006946ee")
  189. IUrlHistoryStg : public IUnknown
  190. {
  191. virtual HRESULT STDMETHODCALLTYPE AddUrl(
  192. LPCOLESTR pocsUrl,
  193. LPCOLESTR pocsTitle,
  194. DWORD dwFlags) = 0;
  195. virtual HRESULT STDMETHODCALLTYPE DeleteUrl(
  196. LPCOLESTR pocsUrl,
  197. DWORD dwFlags) = 0;
  198. virtual HRESULT STDMETHODCALLTYPE QueryUrl(
  199. LPCOLESTR pocsUrl,
  200. DWORD dwFlags,
  201. LPSTATURL lpSTATURL) = 0;
  202. virtual HRESULT STDMETHODCALLTYPE BindToObject(
  203. LPCOLESTR pocsUrl,
  204. REFIID riid,
  205. void **ppvOut) = 0;
  206. virtual HRESULT STDMETHODCALLTYPE EnumUrls(
  207. IEnumSTATURL **ppEnum) = 0;
  208. };
  209. #ifdef __CRT_UUID_DECL
  210. __CRT_UUID_DECL(IUrlHistoryStg, 0x3c374a41, 0xbae4, 0x11cf, 0xbf,0x7d, 0x00,0xaa,0x00,0x69,0x46,0xee)
  211. #endif
  212. #else
  213. typedef struct IUrlHistoryStgVtbl {
  214. BEGIN_INTERFACE
  215. /*** IUnknown methods ***/
  216. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  217. IUrlHistoryStg *This,
  218. REFIID riid,
  219. void **ppvObject);
  220. ULONG (STDMETHODCALLTYPE *AddRef)(
  221. IUrlHistoryStg *This);
  222. ULONG (STDMETHODCALLTYPE *Release)(
  223. IUrlHistoryStg *This);
  224. /*** IUrlHistoryStg methods ***/
  225. HRESULT (STDMETHODCALLTYPE *AddUrl)(
  226. IUrlHistoryStg *This,
  227. LPCOLESTR pocsUrl,
  228. LPCOLESTR pocsTitle,
  229. DWORD dwFlags);
  230. HRESULT (STDMETHODCALLTYPE *DeleteUrl)(
  231. IUrlHistoryStg *This,
  232. LPCOLESTR pocsUrl,
  233. DWORD dwFlags);
  234. HRESULT (STDMETHODCALLTYPE *QueryUrl)(
  235. IUrlHistoryStg *This,
  236. LPCOLESTR pocsUrl,
  237. DWORD dwFlags,
  238. LPSTATURL lpSTATURL);
  239. HRESULT (STDMETHODCALLTYPE *BindToObject)(
  240. IUrlHistoryStg *This,
  241. LPCOLESTR pocsUrl,
  242. REFIID riid,
  243. void **ppvOut);
  244. HRESULT (STDMETHODCALLTYPE *EnumUrls)(
  245. IUrlHistoryStg *This,
  246. IEnumSTATURL **ppEnum);
  247. END_INTERFACE
  248. } IUrlHistoryStgVtbl;
  249. interface IUrlHistoryStg {
  250. CONST_VTBL IUrlHistoryStgVtbl* lpVtbl;
  251. };
  252. #ifdef COBJMACROS
  253. #ifndef WIDL_C_INLINE_WRAPPERS
  254. /*** IUnknown methods ***/
  255. #define IUrlHistoryStg_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  256. #define IUrlHistoryStg_AddRef(This) (This)->lpVtbl->AddRef(This)
  257. #define IUrlHistoryStg_Release(This) (This)->lpVtbl->Release(This)
  258. /*** IUrlHistoryStg methods ***/
  259. #define IUrlHistoryStg_AddUrl(This,pocsUrl,pocsTitle,dwFlags) (This)->lpVtbl->AddUrl(This,pocsUrl,pocsTitle,dwFlags)
  260. #define IUrlHistoryStg_DeleteUrl(This,pocsUrl,dwFlags) (This)->lpVtbl->DeleteUrl(This,pocsUrl,dwFlags)
  261. #define IUrlHistoryStg_QueryUrl(This,pocsUrl,dwFlags,lpSTATURL) (This)->lpVtbl->QueryUrl(This,pocsUrl,dwFlags,lpSTATURL)
  262. #define IUrlHistoryStg_BindToObject(This,pocsUrl,riid,ppvOut) (This)->lpVtbl->BindToObject(This,pocsUrl,riid,ppvOut)
  263. #define IUrlHistoryStg_EnumUrls(This,ppEnum) (This)->lpVtbl->EnumUrls(This,ppEnum)
  264. #else
  265. /*** IUnknown methods ***/
  266. static FORCEINLINE HRESULT IUrlHistoryStg_QueryInterface(IUrlHistoryStg* This,REFIID riid,void **ppvObject) {
  267. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  268. }
  269. static FORCEINLINE ULONG IUrlHistoryStg_AddRef(IUrlHistoryStg* This) {
  270. return This->lpVtbl->AddRef(This);
  271. }
  272. static FORCEINLINE ULONG IUrlHistoryStg_Release(IUrlHistoryStg* This) {
  273. return This->lpVtbl->Release(This);
  274. }
  275. /*** IUrlHistoryStg methods ***/
  276. static FORCEINLINE HRESULT IUrlHistoryStg_AddUrl(IUrlHistoryStg* This,LPCOLESTR pocsUrl,LPCOLESTR pocsTitle,DWORD dwFlags) {
  277. return This->lpVtbl->AddUrl(This,pocsUrl,pocsTitle,dwFlags);
  278. }
  279. static FORCEINLINE HRESULT IUrlHistoryStg_DeleteUrl(IUrlHistoryStg* This,LPCOLESTR pocsUrl,DWORD dwFlags) {
  280. return This->lpVtbl->DeleteUrl(This,pocsUrl,dwFlags);
  281. }
  282. static FORCEINLINE HRESULT IUrlHistoryStg_QueryUrl(IUrlHistoryStg* This,LPCOLESTR pocsUrl,DWORD dwFlags,LPSTATURL lpSTATURL) {
  283. return This->lpVtbl->QueryUrl(This,pocsUrl,dwFlags,lpSTATURL);
  284. }
  285. static FORCEINLINE HRESULT IUrlHistoryStg_BindToObject(IUrlHistoryStg* This,LPCOLESTR pocsUrl,REFIID riid,void **ppvOut) {
  286. return This->lpVtbl->BindToObject(This,pocsUrl,riid,ppvOut);
  287. }
  288. static FORCEINLINE HRESULT IUrlHistoryStg_EnumUrls(IUrlHistoryStg* This,IEnumSTATURL **ppEnum) {
  289. return This->lpVtbl->EnumUrls(This,ppEnum);
  290. }
  291. #endif
  292. #endif
  293. #endif
  294. #endif /* __IUrlHistoryStg_INTERFACE_DEFINED__ */
  295. /*****************************************************************************
  296. * IUrlHistoryStg2 interface
  297. */
  298. #ifndef __IUrlHistoryStg2_INTERFACE_DEFINED__
  299. #define __IUrlHistoryStg2_INTERFACE_DEFINED__
  300. typedef IUrlHistoryStg2 *LPURLHISTORYSTG2;
  301. DEFINE_GUID(IID_IUrlHistoryStg2, 0xafa0dc11, 0xc313, 0x11d0, 0x83,0x1a, 0x00,0xc0,0x4f,0xd5,0xae,0x38);
  302. #if defined(__cplusplus) && !defined(CINTERFACE)
  303. MIDL_INTERFACE("afa0dc11-c313-11d0-831a-00c04fd5ae38")
  304. IUrlHistoryStg2 : public IUrlHistoryStg
  305. {
  306. virtual HRESULT STDMETHODCALLTYPE AddUrlAndNotify(
  307. LPCOLESTR pocsUrl,
  308. LPCOLESTR pocsTitle,
  309. DWORD dwFlags,
  310. WINBOOL fWriteHistory,
  311. IOleCommandTarget *poctNotify,
  312. IUnknown *punkISFolder) = 0;
  313. virtual HRESULT STDMETHODCALLTYPE ClearHistory(
  314. ) = 0;
  315. };
  316. #ifdef __CRT_UUID_DECL
  317. __CRT_UUID_DECL(IUrlHistoryStg2, 0xafa0dc11, 0xc313, 0x11d0, 0x83,0x1a, 0x00,0xc0,0x4f,0xd5,0xae,0x38)
  318. #endif
  319. #else
  320. typedef struct IUrlHistoryStg2Vtbl {
  321. BEGIN_INTERFACE
  322. /*** IUnknown methods ***/
  323. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  324. IUrlHistoryStg2 *This,
  325. REFIID riid,
  326. void **ppvObject);
  327. ULONG (STDMETHODCALLTYPE *AddRef)(
  328. IUrlHistoryStg2 *This);
  329. ULONG (STDMETHODCALLTYPE *Release)(
  330. IUrlHistoryStg2 *This);
  331. /*** IUrlHistoryStg methods ***/
  332. HRESULT (STDMETHODCALLTYPE *AddUrl)(
  333. IUrlHistoryStg2 *This,
  334. LPCOLESTR pocsUrl,
  335. LPCOLESTR pocsTitle,
  336. DWORD dwFlags);
  337. HRESULT (STDMETHODCALLTYPE *DeleteUrl)(
  338. IUrlHistoryStg2 *This,
  339. LPCOLESTR pocsUrl,
  340. DWORD dwFlags);
  341. HRESULT (STDMETHODCALLTYPE *QueryUrl)(
  342. IUrlHistoryStg2 *This,
  343. LPCOLESTR pocsUrl,
  344. DWORD dwFlags,
  345. LPSTATURL lpSTATURL);
  346. HRESULT (STDMETHODCALLTYPE *BindToObject)(
  347. IUrlHistoryStg2 *This,
  348. LPCOLESTR pocsUrl,
  349. REFIID riid,
  350. void **ppvOut);
  351. HRESULT (STDMETHODCALLTYPE *EnumUrls)(
  352. IUrlHistoryStg2 *This,
  353. IEnumSTATURL **ppEnum);
  354. /*** IUrlHistoryStg2 methods ***/
  355. HRESULT (STDMETHODCALLTYPE *AddUrlAndNotify)(
  356. IUrlHistoryStg2 *This,
  357. LPCOLESTR pocsUrl,
  358. LPCOLESTR pocsTitle,
  359. DWORD dwFlags,
  360. WINBOOL fWriteHistory,
  361. IOleCommandTarget *poctNotify,
  362. IUnknown *punkISFolder);
  363. HRESULT (STDMETHODCALLTYPE *ClearHistory)(
  364. IUrlHistoryStg2 *This);
  365. END_INTERFACE
  366. } IUrlHistoryStg2Vtbl;
  367. interface IUrlHistoryStg2 {
  368. CONST_VTBL IUrlHistoryStg2Vtbl* lpVtbl;
  369. };
  370. #ifdef COBJMACROS
  371. #ifndef WIDL_C_INLINE_WRAPPERS
  372. /*** IUnknown methods ***/
  373. #define IUrlHistoryStg2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  374. #define IUrlHistoryStg2_AddRef(This) (This)->lpVtbl->AddRef(This)
  375. #define IUrlHistoryStg2_Release(This) (This)->lpVtbl->Release(This)
  376. /*** IUrlHistoryStg methods ***/
  377. #define IUrlHistoryStg2_AddUrl(This,pocsUrl,pocsTitle,dwFlags) (This)->lpVtbl->AddUrl(This,pocsUrl,pocsTitle,dwFlags)
  378. #define IUrlHistoryStg2_DeleteUrl(This,pocsUrl,dwFlags) (This)->lpVtbl->DeleteUrl(This,pocsUrl,dwFlags)
  379. #define IUrlHistoryStg2_QueryUrl(This,pocsUrl,dwFlags,lpSTATURL) (This)->lpVtbl->QueryUrl(This,pocsUrl,dwFlags,lpSTATURL)
  380. #define IUrlHistoryStg2_BindToObject(This,pocsUrl,riid,ppvOut) (This)->lpVtbl->BindToObject(This,pocsUrl,riid,ppvOut)
  381. #define IUrlHistoryStg2_EnumUrls(This,ppEnum) (This)->lpVtbl->EnumUrls(This,ppEnum)
  382. /*** IUrlHistoryStg2 methods ***/
  383. #define IUrlHistoryStg2_AddUrlAndNotify(This,pocsUrl,pocsTitle,dwFlags,fWriteHistory,poctNotify,punkISFolder) (This)->lpVtbl->AddUrlAndNotify(This,pocsUrl,pocsTitle,dwFlags,fWriteHistory,poctNotify,punkISFolder)
  384. #define IUrlHistoryStg2_ClearHistory(This) (This)->lpVtbl->ClearHistory(This)
  385. #else
  386. /*** IUnknown methods ***/
  387. static FORCEINLINE HRESULT IUrlHistoryStg2_QueryInterface(IUrlHistoryStg2* This,REFIID riid,void **ppvObject) {
  388. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  389. }
  390. static FORCEINLINE ULONG IUrlHistoryStg2_AddRef(IUrlHistoryStg2* This) {
  391. return This->lpVtbl->AddRef(This);
  392. }
  393. static FORCEINLINE ULONG IUrlHistoryStg2_Release(IUrlHistoryStg2* This) {
  394. return This->lpVtbl->Release(This);
  395. }
  396. /*** IUrlHistoryStg methods ***/
  397. static FORCEINLINE HRESULT IUrlHistoryStg2_AddUrl(IUrlHistoryStg2* This,LPCOLESTR pocsUrl,LPCOLESTR pocsTitle,DWORD dwFlags) {
  398. return This->lpVtbl->AddUrl(This,pocsUrl,pocsTitle,dwFlags);
  399. }
  400. static FORCEINLINE HRESULT IUrlHistoryStg2_DeleteUrl(IUrlHistoryStg2* This,LPCOLESTR pocsUrl,DWORD dwFlags) {
  401. return This->lpVtbl->DeleteUrl(This,pocsUrl,dwFlags);
  402. }
  403. static FORCEINLINE HRESULT IUrlHistoryStg2_QueryUrl(IUrlHistoryStg2* This,LPCOLESTR pocsUrl,DWORD dwFlags,LPSTATURL lpSTATURL) {
  404. return This->lpVtbl->QueryUrl(This,pocsUrl,dwFlags,lpSTATURL);
  405. }
  406. static FORCEINLINE HRESULT IUrlHistoryStg2_BindToObject(IUrlHistoryStg2* This,LPCOLESTR pocsUrl,REFIID riid,void **ppvOut) {
  407. return This->lpVtbl->BindToObject(This,pocsUrl,riid,ppvOut);
  408. }
  409. static FORCEINLINE HRESULT IUrlHistoryStg2_EnumUrls(IUrlHistoryStg2* This,IEnumSTATURL **ppEnum) {
  410. return This->lpVtbl->EnumUrls(This,ppEnum);
  411. }
  412. /*** IUrlHistoryStg2 methods ***/
  413. static FORCEINLINE HRESULT IUrlHistoryStg2_AddUrlAndNotify(IUrlHistoryStg2* This,LPCOLESTR pocsUrl,LPCOLESTR pocsTitle,DWORD dwFlags,WINBOOL fWriteHistory,IOleCommandTarget *poctNotify,IUnknown *punkISFolder) {
  414. return This->lpVtbl->AddUrlAndNotify(This,pocsUrl,pocsTitle,dwFlags,fWriteHistory,poctNotify,punkISFolder);
  415. }
  416. static FORCEINLINE HRESULT IUrlHistoryStg2_ClearHistory(IUrlHistoryStg2* This) {
  417. return This->lpVtbl->ClearHistory(This);
  418. }
  419. #endif
  420. #endif
  421. #endif
  422. #endif /* __IUrlHistoryStg2_INTERFACE_DEFINED__ */
  423. /*****************************************************************************
  424. * IUrlHistoryNotify interface
  425. */
  426. #ifndef __IUrlHistoryNotify_INTERFACE_DEFINED__
  427. #define __IUrlHistoryNotify_INTERFACE_DEFINED__
  428. typedef IUrlHistoryNotify *LPURLHISTORYNOTIFY;
  429. DEFINE_GUID(IID_IUrlHistoryNotify, 0xbc40bec1, 0xc493, 0x11d0, 0x83,0x1b, 0x00,0xc0,0x4f,0xd5,0xae,0x38);
  430. #if defined(__cplusplus) && !defined(CINTERFACE)
  431. MIDL_INTERFACE("bc40bec1-c493-11d0-831b-00c04fd5ae38")
  432. IUrlHistoryNotify : public IOleCommandTarget
  433. {
  434. };
  435. #ifdef __CRT_UUID_DECL
  436. __CRT_UUID_DECL(IUrlHistoryNotify, 0xbc40bec1, 0xc493, 0x11d0, 0x83,0x1b, 0x00,0xc0,0x4f,0xd5,0xae,0x38)
  437. #endif
  438. #else
  439. typedef struct IUrlHistoryNotifyVtbl {
  440. BEGIN_INTERFACE
  441. /*** IUnknown methods ***/
  442. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  443. IUrlHistoryNotify *This,
  444. REFIID riid,
  445. void **ppvObject);
  446. ULONG (STDMETHODCALLTYPE *AddRef)(
  447. IUrlHistoryNotify *This);
  448. ULONG (STDMETHODCALLTYPE *Release)(
  449. IUrlHistoryNotify *This);
  450. /*** IOleCommandTarget methods ***/
  451. HRESULT (STDMETHODCALLTYPE *QueryStatus)(
  452. IUrlHistoryNotify *This,
  453. const GUID *pguidCmdGroup,
  454. ULONG cCmds,
  455. OLECMD prgCmds[],
  456. OLECMDTEXT *pCmdText);
  457. HRESULT (STDMETHODCALLTYPE *Exec)(
  458. IUrlHistoryNotify *This,
  459. const GUID *pguidCmdGroup,
  460. DWORD nCmdID,
  461. DWORD nCmdexecopt,
  462. VARIANT *pvaIn,
  463. VARIANT *pvaOut);
  464. END_INTERFACE
  465. } IUrlHistoryNotifyVtbl;
  466. interface IUrlHistoryNotify {
  467. CONST_VTBL IUrlHistoryNotifyVtbl* lpVtbl;
  468. };
  469. #ifdef COBJMACROS
  470. #ifndef WIDL_C_INLINE_WRAPPERS
  471. /*** IUnknown methods ***/
  472. #define IUrlHistoryNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  473. #define IUrlHistoryNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
  474. #define IUrlHistoryNotify_Release(This) (This)->lpVtbl->Release(This)
  475. /*** IOleCommandTarget methods ***/
  476. #define IUrlHistoryNotify_QueryStatus(This,pguidCmdGroup,cCmds,prgCmds,pCmdText) (This)->lpVtbl->QueryStatus(This,pguidCmdGroup,cCmds,prgCmds,pCmdText)
  477. #define IUrlHistoryNotify_Exec(This,pguidCmdGroup,nCmdID,nCmdexecopt,pvaIn,pvaOut) (This)->lpVtbl->Exec(This,pguidCmdGroup,nCmdID,nCmdexecopt,pvaIn,pvaOut)
  478. #else
  479. /*** IUnknown methods ***/
  480. static FORCEINLINE HRESULT IUrlHistoryNotify_QueryInterface(IUrlHistoryNotify* This,REFIID riid,void **ppvObject) {
  481. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  482. }
  483. static FORCEINLINE ULONG IUrlHistoryNotify_AddRef(IUrlHistoryNotify* This) {
  484. return This->lpVtbl->AddRef(This);
  485. }
  486. static FORCEINLINE ULONG IUrlHistoryNotify_Release(IUrlHistoryNotify* This) {
  487. return This->lpVtbl->Release(This);
  488. }
  489. /*** IOleCommandTarget methods ***/
  490. static FORCEINLINE HRESULT IUrlHistoryNotify_QueryStatus(IUrlHistoryNotify* This,const GUID *pguidCmdGroup,ULONG cCmds,OLECMD prgCmds[],OLECMDTEXT *pCmdText) {
  491. return This->lpVtbl->QueryStatus(This,pguidCmdGroup,cCmds,prgCmds,pCmdText);
  492. }
  493. static FORCEINLINE HRESULT IUrlHistoryNotify_Exec(IUrlHistoryNotify* This,const GUID *pguidCmdGroup,DWORD nCmdID,DWORD nCmdexecopt,VARIANT *pvaIn,VARIANT *pvaOut) {
  494. return This->lpVtbl->Exec(This,pguidCmdGroup,nCmdID,nCmdexecopt,pvaIn,pvaOut);
  495. }
  496. #endif
  497. #endif
  498. #endif
  499. #endif /* __IUrlHistoryNotify_INTERFACE_DEFINED__ */
  500. /* Begin additional prototypes for all interfaces */
  501. /* End additional prototypes */
  502. #ifdef __cplusplus
  503. }
  504. #endif
  505. #endif /* __urlhist_h__ */