Home | History | Annotate | Download | only in include
      1 /*** Autogenerated by WIDL 1.6 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__
     22 typedef interface IEnumSTATURL IEnumSTATURL;
     23 #endif
     24 
     25 #ifndef __IUrlHistoryStg_FWD_DEFINED__
     26 #define __IUrlHistoryStg_FWD_DEFINED__
     27 typedef interface IUrlHistoryStg IUrlHistoryStg;
     28 #endif
     29 
     30 #ifndef __IUrlHistoryStg2_FWD_DEFINED__
     31 #define __IUrlHistoryStg2_FWD_DEFINED__
     32 typedef interface IUrlHistoryStg2 IUrlHistoryStg2;
     33 #endif
     34 
     35 #ifndef __IUrlHistoryNotify_FWD_DEFINED__
     36 #define __IUrlHistoryNotify_FWD_DEFINED__
     37 typedef 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
     48 extern "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
     57 typedef 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 
     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 
     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
    108 typedef 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;
    148 interface 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 ***/
    166 static FORCEINLINE HRESULT IEnumSTATURL_QueryInterface(IEnumSTATURL* This,REFIID riid,void **ppvObject) {
    167     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    168 }
    169 static FORCEINLINE ULONG IEnumSTATURL_AddRef(IEnumSTATURL* This) {
    170     return This->lpVtbl->AddRef(This);
    171 }
    172 static FORCEINLINE ULONG IEnumSTATURL_Release(IEnumSTATURL* This) {
    173     return This->lpVtbl->Release(This);
    174 }
    175 /*** IEnumSTATURL methods ***/
    176 static FORCEINLINE HRESULT IEnumSTATURL_Next(IEnumSTATURL* This,ULONG celt,LPSTATURL rgelt,ULONG *pceltFetched) {
    177     return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
    178 }
    179 static FORCEINLINE HRESULT IEnumSTATURL_Skip(IEnumSTATURL* This,ULONG celt) {
    180     return This->lpVtbl->Skip(This,celt);
    181 }
    182 static FORCEINLINE HRESULT IEnumSTATURL_Reset(IEnumSTATURL* This) {
    183     return This->lpVtbl->Reset(This);
    184 }
    185 static FORCEINLINE HRESULT IEnumSTATURL_Clone(IEnumSTATURL* This,IEnumSTATURL **ppenum) {
    186     return This->lpVtbl->Clone(This,ppenum);
    187 }
    188 static 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 
    196 HRESULT STDMETHODCALLTYPE IEnumSTATURL_Next_Proxy(
    197     IEnumSTATURL* This,
    198     ULONG celt,
    199     LPSTATURL rgelt,
    200     ULONG *pceltFetched);
    201 void __RPC_STUB IEnumSTATURL_Next_Stub(
    202     IRpcStubBuffer* This,
    203     IRpcChannelBuffer* pRpcChannelBuffer,
    204     PRPC_MESSAGE pRpcMessage,
    205     DWORD* pdwStubPhase);
    206 HRESULT STDMETHODCALLTYPE IEnumSTATURL_Skip_Proxy(
    207     IEnumSTATURL* This,
    208     ULONG celt);
    209 void __RPC_STUB IEnumSTATURL_Skip_Stub(
    210     IRpcStubBuffer* This,
    211     IRpcChannelBuffer* pRpcChannelBuffer,
    212     PRPC_MESSAGE pRpcMessage,
    213     DWORD* pdwStubPhase);
    214 HRESULT STDMETHODCALLTYPE IEnumSTATURL_Reset_Proxy(
    215     IEnumSTATURL* This);
    216 void __RPC_STUB IEnumSTATURL_Reset_Stub(
    217     IRpcStubBuffer* This,
    218     IRpcChannelBuffer* pRpcChannelBuffer,
    219     PRPC_MESSAGE pRpcMessage,
    220     DWORD* pdwStubPhase);
    221 HRESULT STDMETHODCALLTYPE IEnumSTATURL_Clone_Proxy(
    222     IEnumSTATURL* This,
    223     IEnumSTATURL **ppenum);
    224 void __RPC_STUB IEnumSTATURL_Clone_Stub(
    225     IRpcStubBuffer* This,
    226     IRpcChannelBuffer* pRpcChannelBuffer,
    227     PRPC_MESSAGE pRpcMessage,
    228     DWORD* pdwStubPhase);
    229 HRESULT STDMETHODCALLTYPE IEnumSTATURL_SetFilter_Proxy(
    230     IEnumSTATURL* This,
    231     LPCOLESTR poszFilter,
    232     DWORD dwFlags);
    233 void __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 
    247 typedef IUrlHistoryStg *LPURLHISTORYSTG;
    248 DEFINE_GUID(IID_IUrlHistoryStg, 0x3c374a41, 0xbae4, 0x11cf, 0xbf,0x7d, 0x00,0xaa,0x00,0x69,0x46,0xee);
    249 #if defined(__cplusplus) && !defined(CINTERFACE)
    250 MIDL_INTERFACE("3c374a41-bae4-11cf-bf7d-00aa006946ee")
    251 IUrlHistoryStg : 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
    280 typedef 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;
    325 interface 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 ***/
    343 static FORCEINLINE HRESULT IUrlHistoryStg_QueryInterface(IUrlHistoryStg* This,REFIID riid,void **ppvObject) {
    344     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    345 }
    346 static FORCEINLINE ULONG IUrlHistoryStg_AddRef(IUrlHistoryStg* This) {
    347     return This->lpVtbl->AddRef(This);
    348 }
    349 static FORCEINLINE ULONG IUrlHistoryStg_Release(IUrlHistoryStg* This) {
    350     return This->lpVtbl->Release(This);
    351 }
    352 /*** IUrlHistoryStg methods ***/
    353 static FORCEINLINE HRESULT IUrlHistoryStg_AddUrl(IUrlHistoryStg* This,LPCOLESTR pocsUrl,LPCOLESTR pocsTitle,DWORD dwFlags) {
    354     return This->lpVtbl->AddUrl(This,pocsUrl,pocsTitle,dwFlags);
    355 }
    356 static FORCEINLINE HRESULT IUrlHistoryStg_DeleteUrl(IUrlHistoryStg* This,LPCOLESTR pocsUrl,DWORD dwFlags) {
    357     return This->lpVtbl->DeleteUrl(This,pocsUrl,dwFlags);
    358 }
    359 static FORCEINLINE HRESULT IUrlHistoryStg_QueryUrl(IUrlHistoryStg* This,LPCOLESTR pocsUrl,DWORD dwFlags,LPSTATURL lpSTATURL) {
    360     return This->lpVtbl->QueryUrl(This,pocsUrl,dwFlags,lpSTATURL);
    361 }
    362 static FORCEINLINE HRESULT IUrlHistoryStg_BindToObject(IUrlHistoryStg* This,LPCOLESTR pocsUrl,REFIID riid,void **ppvOut) {
    363     return This->lpVtbl->BindToObject(This,pocsUrl,riid,ppvOut);
    364 }
    365 static FORCEINLINE HRESULT IUrlHistoryStg_EnumUrls(IUrlHistoryStg* This,IEnumSTATURL **ppEnum) {
    366     return This->lpVtbl->EnumUrls(This,ppEnum);
    367 }
    368 #endif
    369 #endif
    370 
    371 #endif
    372 
    373 HRESULT STDMETHODCALLTYPE IUrlHistoryStg_AddUrl_Proxy(
    374     IUrlHistoryStg* This,
    375     LPCOLESTR pocsUrl,
    376     LPCOLESTR pocsTitle,
    377     DWORD dwFlags);
    378 void __RPC_STUB IUrlHistoryStg_AddUrl_Stub(
    379     IRpcStubBuffer* This,
    380     IRpcChannelBuffer* pRpcChannelBuffer,
    381     PRPC_MESSAGE pRpcMessage,
    382     DWORD* pdwStubPhase);
    383 HRESULT STDMETHODCALLTYPE IUrlHistoryStg_DeleteUrl_Proxy(
    384     IUrlHistoryStg* This,
    385     LPCOLESTR pocsUrl,
    386     DWORD dwFlags);
    387 void __RPC_STUB IUrlHistoryStg_DeleteUrl_Stub(
    388     IRpcStubBuffer* This,
    389     IRpcChannelBuffer* pRpcChannelBuffer,
    390     PRPC_MESSAGE pRpcMessage,
    391     DWORD* pdwStubPhase);
    392 HRESULT STDMETHODCALLTYPE IUrlHistoryStg_QueryUrl_Proxy(
    393     IUrlHistoryStg* This,
    394     LPCOLESTR pocsUrl,
    395     DWORD dwFlags,
    396     LPSTATURL lpSTATURL);
    397 void __RPC_STUB IUrlHistoryStg_QueryUrl_Stub(
    398     IRpcStubBuffer* This,
    399     IRpcChannelBuffer* pRpcChannelBuffer,
    400     PRPC_MESSAGE pRpcMessage,
    401     DWORD* pdwStubPhase);
    402 HRESULT STDMETHODCALLTYPE IUrlHistoryStg_BindToObject_Proxy(
    403     IUrlHistoryStg* This,
    404     LPCOLESTR pocsUrl,
    405     REFIID riid,
    406     void **ppvOut);
    407 void __RPC_STUB IUrlHistoryStg_BindToObject_Stub(
    408     IRpcStubBuffer* This,
    409     IRpcChannelBuffer* pRpcChannelBuffer,
    410     PRPC_MESSAGE pRpcMessage,
    411     DWORD* pdwStubPhase);
    412 HRESULT STDMETHODCALLTYPE IUrlHistoryStg_EnumUrls_Proxy(
    413     IUrlHistoryStg* This,
    414     IEnumSTATURL **ppEnum);
    415 void __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 
    429 typedef IUrlHistoryStg2 *LPURLHISTORYSTG2;
    430 DEFINE_GUID(IID_IUrlHistoryStg2, 0xafa0dc11, 0xc313, 0x11d0, 0x83,0x1a, 0x00,0xc0,0x4f,0xd5,0xae,0x38);
    431 #if defined(__cplusplus) && !defined(CINTERFACE)
    432 MIDL_INTERFACE("afa0dc11-c313-11d0-831a-00c04fd5ae38")
    433 IUrlHistoryStg2 : 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
    451 typedef 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;
    509 interface 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 ***/
    530 static FORCEINLINE HRESULT IUrlHistoryStg2_QueryInterface(IUrlHistoryStg2* This,REFIID riid,void **ppvObject) {
    531     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    532 }
    533 static FORCEINLINE ULONG IUrlHistoryStg2_AddRef(IUrlHistoryStg2* This) {
    534     return This->lpVtbl->AddRef(This);
    535 }
    536 static FORCEINLINE ULONG IUrlHistoryStg2_Release(IUrlHistoryStg2* This) {
    537     return This->lpVtbl->Release(This);
    538 }
    539 /*** IUrlHistoryStg methods ***/
    540 static FORCEINLINE HRESULT IUrlHistoryStg2_AddUrl(IUrlHistoryStg2* This,LPCOLESTR pocsUrl,LPCOLESTR pocsTitle,DWORD dwFlags) {
    541     return This->lpVtbl->AddUrl(This,pocsUrl,pocsTitle,dwFlags);
    542 }
    543 static FORCEINLINE HRESULT IUrlHistoryStg2_DeleteUrl(IUrlHistoryStg2* This,LPCOLESTR pocsUrl,DWORD dwFlags) {
    544     return This->lpVtbl->DeleteUrl(This,pocsUrl,dwFlags);
    545 }
    546 static FORCEINLINE HRESULT IUrlHistoryStg2_QueryUrl(IUrlHistoryStg2* This,LPCOLESTR pocsUrl,DWORD dwFlags,LPSTATURL lpSTATURL) {
    547     return This->lpVtbl->QueryUrl(This,pocsUrl,dwFlags,lpSTATURL);
    548 }
    549 static FORCEINLINE HRESULT IUrlHistoryStg2_BindToObject(IUrlHistoryStg2* This,LPCOLESTR pocsUrl,REFIID riid,void **ppvOut) {
    550     return This->lpVtbl->BindToObject(This,pocsUrl,riid,ppvOut);
    551 }
    552 static FORCEINLINE HRESULT IUrlHistoryStg2_EnumUrls(IUrlHistoryStg2* This,IEnumSTATURL **ppEnum) {
    553     return This->lpVtbl->EnumUrls(This,ppEnum);
    554 }
    555 /*** IUrlHistoryStg2 methods ***/
    556 static 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 }
    559 static FORCEINLINE HRESULT IUrlHistoryStg2_ClearHistory(IUrlHistoryStg2* This) {
    560     return This->lpVtbl->ClearHistory(This);
    561 }
    562 #endif
    563 #endif
    564 
    565 #endif
    566 
    567 HRESULT 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);
    575 void __RPC_STUB IUrlHistoryStg2_AddUrlAndNotify_Stub(
    576     IRpcStubBuffer* This,
    577     IRpcChannelBuffer* pRpcChannelBuffer,
    578     PRPC_MESSAGE pRpcMessage,
    579     DWORD* pdwStubPhase);
    580 HRESULT STDMETHODCALLTYPE IUrlHistoryStg2_ClearHistory_Proxy(
    581     IUrlHistoryStg2* This);
    582 void __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 
    596 typedef IUrlHistoryNotify *LPURLHISTORYNOTIFY;
    597 DEFINE_GUID(IID_IUrlHistoryNotify, 0xbc40bec1, 0xc493, 0x11d0, 0x83,0x1b, 0x00,0xc0,0x4f,0xd5,0xae,0x38);
    598 #if defined(__cplusplus) && !defined(CINTERFACE)
    599 MIDL_INTERFACE("bc40bec1-c493-11d0-831b-00c04fd5ae38")
    600 IUrlHistoryNotify : 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
    607 typedef 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;
    640 interface 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 ***/
    655 static FORCEINLINE HRESULT IUrlHistoryNotify_QueryInterface(IUrlHistoryNotify* This,REFIID riid,void **ppvObject) {
    656     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    657 }
    658 static FORCEINLINE ULONG IUrlHistoryNotify_AddRef(IUrlHistoryNotify* This) {
    659     return This->lpVtbl->AddRef(This);
    660 }
    661 static FORCEINLINE ULONG IUrlHistoryNotify_Release(IUrlHistoryNotify* This) {
    662     return This->lpVtbl->Release(This);
    663 }
    664 /*** IOleCommandTarget methods ***/
    665 static 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 }
    668 static 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