1/*** Autogenerated by WIDL 1.5.25 from include/urlhist.idl - Do not edit ***/
2
3#ifndef __REQUIRED_RPCNDR_H_VERSION__
4#define __REQUIRED_RPCNDR_H_VERSION__ 475
5#endif
6
7#include <rpc.h>
8#include <rpcndr.h>
9
10#ifndef COM_NO_WINDOWS_H
11#include <windows.h>
12#include <ole2.h>
13#endif
14
15#ifndef __urlhist_h__
16#define __urlhist_h__
17
18/* Forward declarations */
19
20#ifndef __IEnumSTATURL_FWD_DEFINED__
21#define __IEnumSTATURL_FWD_DEFINED__
22typedef interface IEnumSTATURL IEnumSTATURL;
23#endif
24
25#ifndef __IUrlHistoryStg_FWD_DEFINED__
26#define __IUrlHistoryStg_FWD_DEFINED__
27typedef interface IUrlHistoryStg IUrlHistoryStg;
28#endif
29
30#ifndef __IUrlHistoryStg2_FWD_DEFINED__
31#define __IUrlHistoryStg2_FWD_DEFINED__
32typedef interface IUrlHistoryStg2 IUrlHistoryStg2;
33#endif
34
35#ifndef __IUrlHistoryNotify_FWD_DEFINED__
36#define __IUrlHistoryNotify_FWD_DEFINED__
37typedef interface IUrlHistoryNotify IUrlHistoryNotify;
38#endif
39
40/* Headers for imported files */
41
42#include <objidl.h>
43#include <oleidl.h>
44#include <oaidl.h>
45#include <docobj.h>
46
47#ifdef __cplusplus
48extern "C" {
49#endif
50
51#define STATURL_QUERYFLAG_ISCACHED  0x010000
52#define STATURL_QUERYFLAG_NOURL     0x020000
53#define STATURL_QUERYFLAG_NOTITLE   0x040000
54#define STATURL_QUERYFLAG_TOPLEVEL  0x080000
55#define STATURLFLAG_ISCACHED    0x0001
56#define STATURLFLAG_ISTOPLEVEL  0x0002
57typedef enum _ADDURL_FLAG {
58    ADDURL_FIRST = 0,
59    ADDURL_ADDTOHISTORYANDCACHE = 0,
60    ADDURL_ADDTOCACHE = 1,
61    ADDURL_Max = 0x7fffffff
62} ADDURL_FLAG;
63/*****************************************************************************
64 * IEnumSTATURL interface
65 */
66#ifndef __IEnumSTATURL_INTERFACE_DEFINED__
67#define __IEnumSTATURL_INTERFACE_DEFINED__
68
69typedef IEnumSTATURL *LPENUMSTATURL;
70typedef 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;
79typedef struct _STATURL *LPSTATURL;
80DEFINE_GUID(IID_IEnumSTATURL, 0x3c374a42, 0xbae4, 0x11cf, 0xbf,0x7d, 0x00,0xaa,0x00,0x69,0x46,0xee);
81#if defined(__cplusplus) && !defined(CINTERFACE)
82MIDL_INTERFACE("3c374a42-bae4-11cf-bf7d-00aa006946ee")
83IEnumSTATURL : public IUnknown
84{
85    virtual HRESULT STDMETHODCALLTYPE Next(
86        ULONG celt,
87        LPSTATURL rgelt,
88        ULONG *pceltFetched) = 0;
89
90    virtual HRESULT STDMETHODCALLTYPE Skip(
91        ULONG celt) = 0;
92
93    virtual HRESULT STDMETHODCALLTYPE Reset(
94        ) = 0;
95
96    virtual HRESULT STDMETHODCALLTYPE Clone(
97        IEnumSTATURL **ppenum) = 0;
98
99    virtual HRESULT STDMETHODCALLTYPE SetFilter(
100        LPCOLESTR poszFilter,
101        DWORD dwFlags) = 0;
102
103};
104#ifdef __CRT_UUID_DECL
105__CRT_UUID_DECL(IEnumSTATURL, 0x3c374a42, 0xbae4, 0x11cf, 0xbf,0x7d, 0x00,0xaa,0x00,0x69,0x46,0xee)
106#endif
107#else
108typedef struct IEnumSTATURLVtbl {
109    BEGIN_INTERFACE
110
111    /*** IUnknown methods ***/
112    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
113        IEnumSTATURL* This,
114        REFIID riid,
115        void **ppvObject);
116
117    ULONG (STDMETHODCALLTYPE *AddRef)(
118        IEnumSTATURL* This);
119
120    ULONG (STDMETHODCALLTYPE *Release)(
121        IEnumSTATURL* This);
122
123    /*** IEnumSTATURL methods ***/
124    HRESULT (STDMETHODCALLTYPE *Next)(
125        IEnumSTATURL* This,
126        ULONG celt,
127        LPSTATURL rgelt,
128        ULONG *pceltFetched);
129
130    HRESULT (STDMETHODCALLTYPE *Skip)(
131        IEnumSTATURL* This,
132        ULONG celt);
133
134    HRESULT (STDMETHODCALLTYPE *Reset)(
135        IEnumSTATURL* This);
136
137    HRESULT (STDMETHODCALLTYPE *Clone)(
138        IEnumSTATURL* This,
139        IEnumSTATURL **ppenum);
140
141    HRESULT (STDMETHODCALLTYPE *SetFilter)(
142        IEnumSTATURL* This,
143        LPCOLESTR poszFilter,
144        DWORD dwFlags);
145
146    END_INTERFACE
147} IEnumSTATURLVtbl;
148interface IEnumSTATURL {
149    CONST_VTBL IEnumSTATURLVtbl* lpVtbl;
150};
151
152#ifdef COBJMACROS
153#ifndef WIDL_C_INLINE_WRAPPERS
154/*** IUnknown methods ***/
155#define IEnumSTATURL_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
156#define IEnumSTATURL_AddRef(This) (This)->lpVtbl->AddRef(This)
157#define IEnumSTATURL_Release(This) (This)->lpVtbl->Release(This)
158/*** IEnumSTATURL methods ***/
159#define IEnumSTATURL_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
160#define IEnumSTATURL_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
161#define IEnumSTATURL_Reset(This) (This)->lpVtbl->Reset(This)
162#define IEnumSTATURL_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
163#define IEnumSTATURL_SetFilter(This,poszFilter,dwFlags) (This)->lpVtbl->SetFilter(This,poszFilter,dwFlags)
164#else
165/*** IUnknown methods ***/
166static FORCEINLINE HRESULT IEnumSTATURL_QueryInterface(IEnumSTATURL* This,REFIID riid,void **ppvObject) {
167    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
168}
169static FORCEINLINE ULONG IEnumSTATURL_AddRef(IEnumSTATURL* This) {
170    return This->lpVtbl->AddRef(This);
171}
172static FORCEINLINE ULONG IEnumSTATURL_Release(IEnumSTATURL* This) {
173    return This->lpVtbl->Release(This);
174}
175/*** IEnumSTATURL methods ***/
176static FORCEINLINE HRESULT IEnumSTATURL_Next(IEnumSTATURL* This,ULONG celt,LPSTATURL rgelt,ULONG *pceltFetched) {
177    return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
178}
179static FORCEINLINE HRESULT IEnumSTATURL_Skip(IEnumSTATURL* This,ULONG celt) {
180    return This->lpVtbl->Skip(This,celt);
181}
182static FORCEINLINE HRESULT IEnumSTATURL_Reset(IEnumSTATURL* This) {
183    return This->lpVtbl->Reset(This);
184}
185static FORCEINLINE HRESULT IEnumSTATURL_Clone(IEnumSTATURL* This,IEnumSTATURL **ppenum) {
186    return This->lpVtbl->Clone(This,ppenum);
187}
188static FORCEINLINE HRESULT IEnumSTATURL_SetFilter(IEnumSTATURL* This,LPCOLESTR poszFilter,DWORD dwFlags) {
189    return This->lpVtbl->SetFilter(This,poszFilter,dwFlags);
190}
191#endif
192#endif
193
194#endif
195
196HRESULT STDMETHODCALLTYPE IEnumSTATURL_Next_Proxy(
197    IEnumSTATURL* This,
198    ULONG celt,
199    LPSTATURL rgelt,
200    ULONG *pceltFetched);
201void __RPC_STUB IEnumSTATURL_Next_Stub(
202    IRpcStubBuffer* This,
203    IRpcChannelBuffer* pRpcChannelBuffer,
204    PRPC_MESSAGE pRpcMessage,
205    DWORD* pdwStubPhase);
206HRESULT STDMETHODCALLTYPE IEnumSTATURL_Skip_Proxy(
207    IEnumSTATURL* This,
208    ULONG celt);
209void __RPC_STUB IEnumSTATURL_Skip_Stub(
210    IRpcStubBuffer* This,
211    IRpcChannelBuffer* pRpcChannelBuffer,
212    PRPC_MESSAGE pRpcMessage,
213    DWORD* pdwStubPhase);
214HRESULT STDMETHODCALLTYPE IEnumSTATURL_Reset_Proxy(
215    IEnumSTATURL* This);
216void __RPC_STUB IEnumSTATURL_Reset_Stub(
217    IRpcStubBuffer* This,
218    IRpcChannelBuffer* pRpcChannelBuffer,
219    PRPC_MESSAGE pRpcMessage,
220    DWORD* pdwStubPhase);
221HRESULT STDMETHODCALLTYPE IEnumSTATURL_Clone_Proxy(
222    IEnumSTATURL* This,
223    IEnumSTATURL **ppenum);
224void __RPC_STUB IEnumSTATURL_Clone_Stub(
225    IRpcStubBuffer* This,
226    IRpcChannelBuffer* pRpcChannelBuffer,
227    PRPC_MESSAGE pRpcMessage,
228    DWORD* pdwStubPhase);
229HRESULT STDMETHODCALLTYPE IEnumSTATURL_SetFilter_Proxy(
230    IEnumSTATURL* This,
231    LPCOLESTR poszFilter,
232    DWORD dwFlags);
233void __RPC_STUB IEnumSTATURL_SetFilter_Stub(
234    IRpcStubBuffer* This,
235    IRpcChannelBuffer* pRpcChannelBuffer,
236    PRPC_MESSAGE pRpcMessage,
237    DWORD* pdwStubPhase);
238
239#endif  /* __IEnumSTATURL_INTERFACE_DEFINED__ */
240
241/*****************************************************************************
242 * IUrlHistoryStg interface
243 */
244#ifndef __IUrlHistoryStg_INTERFACE_DEFINED__
245#define __IUrlHistoryStg_INTERFACE_DEFINED__
246
247typedef IUrlHistoryStg *LPURLHISTORYSTG;
248DEFINE_GUID(IID_IUrlHistoryStg, 0x3c374a41, 0xbae4, 0x11cf, 0xbf,0x7d, 0x00,0xaa,0x00,0x69,0x46,0xee);
249#if defined(__cplusplus) && !defined(CINTERFACE)
250MIDL_INTERFACE("3c374a41-bae4-11cf-bf7d-00aa006946ee")
251IUrlHistoryStg : public IUnknown
252{
253    virtual HRESULT STDMETHODCALLTYPE AddUrl(
254        LPCOLESTR pocsUrl,
255        LPCOLESTR pocsTitle,
256        DWORD dwFlags) = 0;
257
258    virtual HRESULT STDMETHODCALLTYPE DeleteUrl(
259        LPCOLESTR pocsUrl,
260        DWORD dwFlags) = 0;
261
262    virtual HRESULT STDMETHODCALLTYPE QueryUrl(
263        LPCOLESTR pocsUrl,
264        DWORD dwFlags,
265        LPSTATURL lpSTATURL) = 0;
266
267    virtual HRESULT STDMETHODCALLTYPE BindToObject(
268        LPCOLESTR pocsUrl,
269        REFIID riid,
270        void **ppvOut) = 0;
271
272    virtual HRESULT STDMETHODCALLTYPE EnumUrls(
273        IEnumSTATURL **ppEnum) = 0;
274
275};
276#ifdef __CRT_UUID_DECL
277__CRT_UUID_DECL(IUrlHistoryStg, 0x3c374a41, 0xbae4, 0x11cf, 0xbf,0x7d, 0x00,0xaa,0x00,0x69,0x46,0xee)
278#endif
279#else
280typedef struct IUrlHistoryStgVtbl {
281    BEGIN_INTERFACE
282
283    /*** IUnknown methods ***/
284    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
285        IUrlHistoryStg* This,
286        REFIID riid,
287        void **ppvObject);
288
289    ULONG (STDMETHODCALLTYPE *AddRef)(
290        IUrlHistoryStg* This);
291
292    ULONG (STDMETHODCALLTYPE *Release)(
293        IUrlHistoryStg* This);
294
295    /*** IUrlHistoryStg methods ***/
296    HRESULT (STDMETHODCALLTYPE *AddUrl)(
297        IUrlHistoryStg* This,
298        LPCOLESTR pocsUrl,
299        LPCOLESTR pocsTitle,
300        DWORD dwFlags);
301
302    HRESULT (STDMETHODCALLTYPE *DeleteUrl)(
303        IUrlHistoryStg* This,
304        LPCOLESTR pocsUrl,
305        DWORD dwFlags);
306
307    HRESULT (STDMETHODCALLTYPE *QueryUrl)(
308        IUrlHistoryStg* This,
309        LPCOLESTR pocsUrl,
310        DWORD dwFlags,
311        LPSTATURL lpSTATURL);
312
313    HRESULT (STDMETHODCALLTYPE *BindToObject)(
314        IUrlHistoryStg* This,
315        LPCOLESTR pocsUrl,
316        REFIID riid,
317        void **ppvOut);
318
319    HRESULT (STDMETHODCALLTYPE *EnumUrls)(
320        IUrlHistoryStg* This,
321        IEnumSTATURL **ppEnum);
322
323    END_INTERFACE
324} IUrlHistoryStgVtbl;
325interface IUrlHistoryStg {
326    CONST_VTBL IUrlHistoryStgVtbl* lpVtbl;
327};
328
329#ifdef COBJMACROS
330#ifndef WIDL_C_INLINE_WRAPPERS
331/*** IUnknown methods ***/
332#define IUrlHistoryStg_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
333#define IUrlHistoryStg_AddRef(This) (This)->lpVtbl->AddRef(This)
334#define IUrlHistoryStg_Release(This) (This)->lpVtbl->Release(This)
335/*** IUrlHistoryStg methods ***/
336#define IUrlHistoryStg_AddUrl(This,pocsUrl,pocsTitle,dwFlags) (This)->lpVtbl->AddUrl(This,pocsUrl,pocsTitle,dwFlags)
337#define IUrlHistoryStg_DeleteUrl(This,pocsUrl,dwFlags) (This)->lpVtbl->DeleteUrl(This,pocsUrl,dwFlags)
338#define IUrlHistoryStg_QueryUrl(This,pocsUrl,dwFlags,lpSTATURL) (This)->lpVtbl->QueryUrl(This,pocsUrl,dwFlags,lpSTATURL)
339#define IUrlHistoryStg_BindToObject(This,pocsUrl,riid,ppvOut) (This)->lpVtbl->BindToObject(This,pocsUrl,riid,ppvOut)
340#define IUrlHistoryStg_EnumUrls(This,ppEnum) (This)->lpVtbl->EnumUrls(This,ppEnum)
341#else
342/*** IUnknown methods ***/
343static FORCEINLINE HRESULT IUrlHistoryStg_QueryInterface(IUrlHistoryStg* This,REFIID riid,void **ppvObject) {
344    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
345}
346static FORCEINLINE ULONG IUrlHistoryStg_AddRef(IUrlHistoryStg* This) {
347    return This->lpVtbl->AddRef(This);
348}
349static FORCEINLINE ULONG IUrlHistoryStg_Release(IUrlHistoryStg* This) {
350    return This->lpVtbl->Release(This);
351}
352/*** IUrlHistoryStg methods ***/
353static FORCEINLINE HRESULT IUrlHistoryStg_AddUrl(IUrlHistoryStg* This,LPCOLESTR pocsUrl,LPCOLESTR pocsTitle,DWORD dwFlags) {
354    return This->lpVtbl->AddUrl(This,pocsUrl,pocsTitle,dwFlags);
355}
356static FORCEINLINE HRESULT IUrlHistoryStg_DeleteUrl(IUrlHistoryStg* This,LPCOLESTR pocsUrl,DWORD dwFlags) {
357    return This->lpVtbl->DeleteUrl(This,pocsUrl,dwFlags);
358}
359static FORCEINLINE HRESULT IUrlHistoryStg_QueryUrl(IUrlHistoryStg* This,LPCOLESTR pocsUrl,DWORD dwFlags,LPSTATURL lpSTATURL) {
360    return This->lpVtbl->QueryUrl(This,pocsUrl,dwFlags,lpSTATURL);
361}
362static FORCEINLINE HRESULT IUrlHistoryStg_BindToObject(IUrlHistoryStg* This,LPCOLESTR pocsUrl,REFIID riid,void **ppvOut) {
363    return This->lpVtbl->BindToObject(This,pocsUrl,riid,ppvOut);
364}
365static FORCEINLINE HRESULT IUrlHistoryStg_EnumUrls(IUrlHistoryStg* This,IEnumSTATURL **ppEnum) {
366    return This->lpVtbl->EnumUrls(This,ppEnum);
367}
368#endif
369#endif
370
371#endif
372
373HRESULT STDMETHODCALLTYPE IUrlHistoryStg_AddUrl_Proxy(
374    IUrlHistoryStg* This,
375    LPCOLESTR pocsUrl,
376    LPCOLESTR pocsTitle,
377    DWORD dwFlags);
378void __RPC_STUB IUrlHistoryStg_AddUrl_Stub(
379    IRpcStubBuffer* This,
380    IRpcChannelBuffer* pRpcChannelBuffer,
381    PRPC_MESSAGE pRpcMessage,
382    DWORD* pdwStubPhase);
383HRESULT STDMETHODCALLTYPE IUrlHistoryStg_DeleteUrl_Proxy(
384    IUrlHistoryStg* This,
385    LPCOLESTR pocsUrl,
386    DWORD dwFlags);
387void __RPC_STUB IUrlHistoryStg_DeleteUrl_Stub(
388    IRpcStubBuffer* This,
389    IRpcChannelBuffer* pRpcChannelBuffer,
390    PRPC_MESSAGE pRpcMessage,
391    DWORD* pdwStubPhase);
392HRESULT STDMETHODCALLTYPE IUrlHistoryStg_QueryUrl_Proxy(
393    IUrlHistoryStg* This,
394    LPCOLESTR pocsUrl,
395    DWORD dwFlags,
396    LPSTATURL lpSTATURL);
397void __RPC_STUB IUrlHistoryStg_QueryUrl_Stub(
398    IRpcStubBuffer* This,
399    IRpcChannelBuffer* pRpcChannelBuffer,
400    PRPC_MESSAGE pRpcMessage,
401    DWORD* pdwStubPhase);
402HRESULT STDMETHODCALLTYPE IUrlHistoryStg_BindToObject_Proxy(
403    IUrlHistoryStg* This,
404    LPCOLESTR pocsUrl,
405    REFIID riid,
406    void **ppvOut);
407void __RPC_STUB IUrlHistoryStg_BindToObject_Stub(
408    IRpcStubBuffer* This,
409    IRpcChannelBuffer* pRpcChannelBuffer,
410    PRPC_MESSAGE pRpcMessage,
411    DWORD* pdwStubPhase);
412HRESULT STDMETHODCALLTYPE IUrlHistoryStg_EnumUrls_Proxy(
413    IUrlHistoryStg* This,
414    IEnumSTATURL **ppEnum);
415void __RPC_STUB IUrlHistoryStg_EnumUrls_Stub(
416    IRpcStubBuffer* This,
417    IRpcChannelBuffer* pRpcChannelBuffer,
418    PRPC_MESSAGE pRpcMessage,
419    DWORD* pdwStubPhase);
420
421#endif  /* __IUrlHistoryStg_INTERFACE_DEFINED__ */
422
423/*****************************************************************************
424 * IUrlHistoryStg2 interface
425 */
426#ifndef __IUrlHistoryStg2_INTERFACE_DEFINED__
427#define __IUrlHistoryStg2_INTERFACE_DEFINED__
428
429typedef IUrlHistoryStg2 *LPURLHISTORYSTG2;
430DEFINE_GUID(IID_IUrlHistoryStg2, 0xafa0dc11, 0xc313, 0x11d0, 0x83,0x1a, 0x00,0xc0,0x4f,0xd5,0xae,0x38);
431#if defined(__cplusplus) && !defined(CINTERFACE)
432MIDL_INTERFACE("afa0dc11-c313-11d0-831a-00c04fd5ae38")
433IUrlHistoryStg2 : public IUrlHistoryStg
434{
435    virtual HRESULT STDMETHODCALLTYPE AddUrlAndNotify(
436        LPCOLESTR pocsUrl,
437        LPCOLESTR pocsTitle,
438        DWORD dwFlags,
439        WINBOOL fWriteHistory,
440        IOleCommandTarget *poctNotify,
441        IUnknown *punkISFolder) = 0;
442
443    virtual HRESULT STDMETHODCALLTYPE ClearHistory(
444        ) = 0;
445
446};
447#ifdef __CRT_UUID_DECL
448__CRT_UUID_DECL(IUrlHistoryStg2, 0xafa0dc11, 0xc313, 0x11d0, 0x83,0x1a, 0x00,0xc0,0x4f,0xd5,0xae,0x38)
449#endif
450#else
451typedef struct IUrlHistoryStg2Vtbl {
452    BEGIN_INTERFACE
453
454    /*** IUnknown methods ***/
455    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
456        IUrlHistoryStg2* This,
457        REFIID riid,
458        void **ppvObject);
459
460    ULONG (STDMETHODCALLTYPE *AddRef)(
461        IUrlHistoryStg2* This);
462
463    ULONG (STDMETHODCALLTYPE *Release)(
464        IUrlHistoryStg2* This);
465
466    /*** IUrlHistoryStg methods ***/
467    HRESULT (STDMETHODCALLTYPE *AddUrl)(
468        IUrlHistoryStg2* This,
469        LPCOLESTR pocsUrl,
470        LPCOLESTR pocsTitle,
471        DWORD dwFlags);
472
473    HRESULT (STDMETHODCALLTYPE *DeleteUrl)(
474        IUrlHistoryStg2* This,
475        LPCOLESTR pocsUrl,
476        DWORD dwFlags);
477
478    HRESULT (STDMETHODCALLTYPE *QueryUrl)(
479        IUrlHistoryStg2* This,
480        LPCOLESTR pocsUrl,
481        DWORD dwFlags,
482        LPSTATURL lpSTATURL);
483
484    HRESULT (STDMETHODCALLTYPE *BindToObject)(
485        IUrlHistoryStg2* This,
486        LPCOLESTR pocsUrl,
487        REFIID riid,
488        void **ppvOut);
489
490    HRESULT (STDMETHODCALLTYPE *EnumUrls)(
491        IUrlHistoryStg2* This,
492        IEnumSTATURL **ppEnum);
493
494    /*** IUrlHistoryStg2 methods ***/
495    HRESULT (STDMETHODCALLTYPE *AddUrlAndNotify)(
496        IUrlHistoryStg2* This,
497        LPCOLESTR pocsUrl,
498        LPCOLESTR pocsTitle,
499        DWORD dwFlags,
500        WINBOOL fWriteHistory,
501        IOleCommandTarget *poctNotify,
502        IUnknown *punkISFolder);
503
504    HRESULT (STDMETHODCALLTYPE *ClearHistory)(
505        IUrlHistoryStg2* This);
506
507    END_INTERFACE
508} IUrlHistoryStg2Vtbl;
509interface IUrlHistoryStg2 {
510    CONST_VTBL IUrlHistoryStg2Vtbl* lpVtbl;
511};
512
513#ifdef COBJMACROS
514#ifndef WIDL_C_INLINE_WRAPPERS
515/*** IUnknown methods ***/
516#define IUrlHistoryStg2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
517#define IUrlHistoryStg2_AddRef(This) (This)->lpVtbl->AddRef(This)
518#define IUrlHistoryStg2_Release(This) (This)->lpVtbl->Release(This)
519/*** IUrlHistoryStg methods ***/
520#define IUrlHistoryStg2_AddUrl(This,pocsUrl,pocsTitle,dwFlags) (This)->lpVtbl->AddUrl(This,pocsUrl,pocsTitle,dwFlags)
521#define IUrlHistoryStg2_DeleteUrl(This,pocsUrl,dwFlags) (This)->lpVtbl->DeleteUrl(This,pocsUrl,dwFlags)
522#define IUrlHistoryStg2_QueryUrl(This,pocsUrl,dwFlags,lpSTATURL) (This)->lpVtbl->QueryUrl(This,pocsUrl,dwFlags,lpSTATURL)
523#define IUrlHistoryStg2_BindToObject(This,pocsUrl,riid,ppvOut) (This)->lpVtbl->BindToObject(This,pocsUrl,riid,ppvOut)
524#define IUrlHistoryStg2_EnumUrls(This,ppEnum) (This)->lpVtbl->EnumUrls(This,ppEnum)
525/*** IUrlHistoryStg2 methods ***/
526#define IUrlHistoryStg2_AddUrlAndNotify(This,pocsUrl,pocsTitle,dwFlags,fWriteHistory,poctNotify,punkISFolder) (This)->lpVtbl->AddUrlAndNotify(This,pocsUrl,pocsTitle,dwFlags,fWriteHistory,poctNotify,punkISFolder)
527#define IUrlHistoryStg2_ClearHistory(This) (This)->lpVtbl->ClearHistory(This)
528#else
529/*** IUnknown methods ***/
530static FORCEINLINE HRESULT IUrlHistoryStg2_QueryInterface(IUrlHistoryStg2* This,REFIID riid,void **ppvObject) {
531    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
532}
533static FORCEINLINE ULONG IUrlHistoryStg2_AddRef(IUrlHistoryStg2* This) {
534    return This->lpVtbl->AddRef(This);
535}
536static FORCEINLINE ULONG IUrlHistoryStg2_Release(IUrlHistoryStg2* This) {
537    return This->lpVtbl->Release(This);
538}
539/*** IUrlHistoryStg methods ***/
540static FORCEINLINE HRESULT IUrlHistoryStg2_AddUrl(IUrlHistoryStg2* This,LPCOLESTR pocsUrl,LPCOLESTR pocsTitle,DWORD dwFlags) {
541    return This->lpVtbl->AddUrl(This,pocsUrl,pocsTitle,dwFlags);
542}
543static FORCEINLINE HRESULT IUrlHistoryStg2_DeleteUrl(IUrlHistoryStg2* This,LPCOLESTR pocsUrl,DWORD dwFlags) {
544    return This->lpVtbl->DeleteUrl(This,pocsUrl,dwFlags);
545}
546static FORCEINLINE HRESULT IUrlHistoryStg2_QueryUrl(IUrlHistoryStg2* This,LPCOLESTR pocsUrl,DWORD dwFlags,LPSTATURL lpSTATURL) {
547    return This->lpVtbl->QueryUrl(This,pocsUrl,dwFlags,lpSTATURL);
548}
549static FORCEINLINE HRESULT IUrlHistoryStg2_BindToObject(IUrlHistoryStg2* This,LPCOLESTR pocsUrl,REFIID riid,void **ppvOut) {
550    return This->lpVtbl->BindToObject(This,pocsUrl,riid,ppvOut);
551}
552static FORCEINLINE HRESULT IUrlHistoryStg2_EnumUrls(IUrlHistoryStg2* This,IEnumSTATURL **ppEnum) {
553    return This->lpVtbl->EnumUrls(This,ppEnum);
554}
555/*** IUrlHistoryStg2 methods ***/
556static FORCEINLINE HRESULT IUrlHistoryStg2_AddUrlAndNotify(IUrlHistoryStg2* This,LPCOLESTR pocsUrl,LPCOLESTR pocsTitle,DWORD dwFlags,WINBOOL fWriteHistory,IOleCommandTarget *poctNotify,IUnknown *punkISFolder) {
557    return This->lpVtbl->AddUrlAndNotify(This,pocsUrl,pocsTitle,dwFlags,fWriteHistory,poctNotify,punkISFolder);
558}
559static FORCEINLINE HRESULT IUrlHistoryStg2_ClearHistory(IUrlHistoryStg2* This) {
560    return This->lpVtbl->ClearHistory(This);
561}
562#endif
563#endif
564
565#endif
566
567HRESULT STDMETHODCALLTYPE IUrlHistoryStg2_AddUrlAndNotify_Proxy(
568    IUrlHistoryStg2* This,
569    LPCOLESTR pocsUrl,
570    LPCOLESTR pocsTitle,
571    DWORD dwFlags,
572    WINBOOL fWriteHistory,
573    IOleCommandTarget *poctNotify,
574    IUnknown *punkISFolder);
575void __RPC_STUB IUrlHistoryStg2_AddUrlAndNotify_Stub(
576    IRpcStubBuffer* This,
577    IRpcChannelBuffer* pRpcChannelBuffer,
578    PRPC_MESSAGE pRpcMessage,
579    DWORD* pdwStubPhase);
580HRESULT STDMETHODCALLTYPE IUrlHistoryStg2_ClearHistory_Proxy(
581    IUrlHistoryStg2* This);
582void __RPC_STUB IUrlHistoryStg2_ClearHistory_Stub(
583    IRpcStubBuffer* This,
584    IRpcChannelBuffer* pRpcChannelBuffer,
585    PRPC_MESSAGE pRpcMessage,
586    DWORD* pdwStubPhase);
587
588#endif  /* __IUrlHistoryStg2_INTERFACE_DEFINED__ */
589
590/*****************************************************************************
591 * IUrlHistoryNotify interface
592 */
593#ifndef __IUrlHistoryNotify_INTERFACE_DEFINED__
594#define __IUrlHistoryNotify_INTERFACE_DEFINED__
595
596typedef IUrlHistoryNotify *LPURLHISTORYNOTIFY;
597DEFINE_GUID(IID_IUrlHistoryNotify, 0xbc40bec1, 0xc493, 0x11d0, 0x83,0x1b, 0x00,0xc0,0x4f,0xd5,0xae,0x38);
598#if defined(__cplusplus) && !defined(CINTERFACE)
599MIDL_INTERFACE("bc40bec1-c493-11d0-831b-00c04fd5ae38")
600IUrlHistoryNotify : public IOleCommandTarget
601{
602};
603#ifdef __CRT_UUID_DECL
604__CRT_UUID_DECL(IUrlHistoryNotify, 0xbc40bec1, 0xc493, 0x11d0, 0x83,0x1b, 0x00,0xc0,0x4f,0xd5,0xae,0x38)
605#endif
606#else
607typedef struct IUrlHistoryNotifyVtbl {
608    BEGIN_INTERFACE
609
610    /*** IUnknown methods ***/
611    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
612        IUrlHistoryNotify* This,
613        REFIID riid,
614        void **ppvObject);
615
616    ULONG (STDMETHODCALLTYPE *AddRef)(
617        IUrlHistoryNotify* This);
618
619    ULONG (STDMETHODCALLTYPE *Release)(
620        IUrlHistoryNotify* This);
621
622    /*** IOleCommandTarget methods ***/
623    HRESULT (STDMETHODCALLTYPE *QueryStatus)(
624        IUrlHistoryNotify* This,
625        const GUID *pguidCmdGroup,
626        ULONG cCmds,
627        OLECMD prgCmds[],
628        OLECMDTEXT *pCmdText);
629
630    HRESULT (STDMETHODCALLTYPE *Exec)(
631        IUrlHistoryNotify* This,
632        const GUID *pguidCmdGroup,
633        DWORD nCmdID,
634        DWORD nCmdexecopt,
635        VARIANT *pvaIn,
636        VARIANT *pvaOut);
637
638    END_INTERFACE
639} IUrlHistoryNotifyVtbl;
640interface IUrlHistoryNotify {
641    CONST_VTBL IUrlHistoryNotifyVtbl* lpVtbl;
642};
643
644#ifdef COBJMACROS
645#ifndef WIDL_C_INLINE_WRAPPERS
646/*** IUnknown methods ***/
647#define IUrlHistoryNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
648#define IUrlHistoryNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
649#define IUrlHistoryNotify_Release(This) (This)->lpVtbl->Release(This)
650/*** IOleCommandTarget methods ***/
651#define IUrlHistoryNotify_QueryStatus(This,pguidCmdGroup,cCmds,prgCmds,pCmdText) (This)->lpVtbl->QueryStatus(This,pguidCmdGroup,cCmds,prgCmds,pCmdText)
652#define IUrlHistoryNotify_Exec(This,pguidCmdGroup,nCmdID,nCmdexecopt,pvaIn,pvaOut) (This)->lpVtbl->Exec(This,pguidCmdGroup,nCmdID,nCmdexecopt,pvaIn,pvaOut)
653#else
654/*** IUnknown methods ***/
655static FORCEINLINE HRESULT IUrlHistoryNotify_QueryInterface(IUrlHistoryNotify* This,REFIID riid,void **ppvObject) {
656    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
657}
658static FORCEINLINE ULONG IUrlHistoryNotify_AddRef(IUrlHistoryNotify* This) {
659    return This->lpVtbl->AddRef(This);
660}
661static FORCEINLINE ULONG IUrlHistoryNotify_Release(IUrlHistoryNotify* This) {
662    return This->lpVtbl->Release(This);
663}
664/*** IOleCommandTarget methods ***/
665static FORCEINLINE HRESULT IUrlHistoryNotify_QueryStatus(IUrlHistoryNotify* This,const GUID *pguidCmdGroup,ULONG cCmds,OLECMD prgCmds[],OLECMDTEXT *pCmdText) {
666    return This->lpVtbl->QueryStatus(This,pguidCmdGroup,cCmds,prgCmds,pCmdText);
667}
668static FORCEINLINE HRESULT IUrlHistoryNotify_Exec(IUrlHistoryNotify* This,const GUID *pguidCmdGroup,DWORD nCmdID,DWORD nCmdexecopt,VARIANT *pvaIn,VARIANT *pvaOut) {
669    return This->lpVtbl->Exec(This,pguidCmdGroup,nCmdID,nCmdexecopt,pvaIn,pvaOut);
670}
671#endif
672#endif
673
674#endif
675
676
677#endif  /* __IUrlHistoryNotify_INTERFACE_DEFINED__ */
678
679/* Begin additional prototypes for all interfaces */
680
681
682/* End additional prototypes */
683
684#ifdef __cplusplus
685}
686#endif
687
688#endif /* __urlhist_h__ */
689