Home | History | Annotate | Download | only in include
      1 /*** Autogenerated by WIDL 1.6 from include/dispex.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 __dispex_h__
     16 #define __dispex_h__
     17 
     18 /* Forward declarations */
     19 
     20 #ifndef __IDispatchEx_FWD_DEFINED__
     21 #define __IDispatchEx_FWD_DEFINED__
     22 typedef interface IDispatchEx IDispatchEx;
     23 #endif
     24 
     25 #ifndef __IDispError_FWD_DEFINED__
     26 #define __IDispError_FWD_DEFINED__
     27 typedef interface IDispError IDispError;
     28 #endif
     29 
     30 #ifndef __IVariantChangeType_FWD_DEFINED__
     31 #define __IVariantChangeType_FWD_DEFINED__
     32 typedef interface IVariantChangeType IVariantChangeType;
     33 #endif
     34 
     35 #ifndef __IObjectIdentity_FWD_DEFINED__
     36 #define __IObjectIdentity_FWD_DEFINED__
     37 typedef interface IObjectIdentity IObjectIdentity;
     38 #endif
     39 
     40 #ifndef __ICanHandleException_FWD_DEFINED__
     41 #define __ICanHandleException_FWD_DEFINED__
     42 typedef interface ICanHandleException ICanHandleException;
     43 #endif
     44 
     45 #ifndef __IProvideRuntimeContext_FWD_DEFINED__
     46 #define __IProvideRuntimeContext_FWD_DEFINED__
     47 typedef interface IProvideRuntimeContext IProvideRuntimeContext;
     48 #endif
     49 
     50 /* Headers for imported files */
     51 
     52 #include <ocidl.h>
     53 #include <oleidl.h>
     54 #include <oaidl.h>
     55 #include <servprov.h>
     56 
     57 #ifdef __cplusplus
     58 extern "C" {
     59 #endif
     60 
     61 /**
     62  * This file is part of the mingw-w64 runtime package.
     63  * No warranty is given; refer to the file DISCLAIMER within this package.
     64  */
     65 
     66 #ifndef __IDispatchEx_FWD_DEFINED__
     67 #define __IDispatchEx_FWD_DEFINED__
     68 typedef interface IDispatchEx IDispatchEx;
     69 #endif
     70 
     71 #ifndef __IDispError_FWD_DEFINED__
     72 #define __IDispError_FWD_DEFINED__
     73 typedef interface IDispError IDispError;
     74 #endif
     75 
     76 #ifndef __IVariantChangeType_FWD_DEFINED__
     77 #define __IVariantChangeType_FWD_DEFINED__
     78 typedef interface IVariantChangeType IVariantChangeType;
     79 #endif
     80 
     81 #ifndef DISPEX_H_
     82 #define DISPEX_H_
     83 
     84 #include <winapifamily.h>
     85 
     86 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
     87 
     88 #include "servprov.h"
     89 
     90 #ifndef _NO_DISPATCHEX_GUIDS
     91 
     92 DEFINE_GUID(SID_VariantConversion, 0x1f101481, 0xbccd, 0x11d0, 0x93, 0x36, 0x0, 0xa0, 0xc9, 0xd, 0xca, 0xa9);
     93 DEFINE_GUID(SID_GetCaller, 0x4717cc40, 0xbcb9, 0x11d0, 0x93, 0x36, 0x0, 0xa0, 0xc9, 0xd, 0xca, 0xa9);
     94 DEFINE_GUID(SID_ProvideRuntimeContext, 0x74a5040c, 0xdd0c, 0x48f0, 0xac, 0x85, 0x19, 0x4c, 0x32, 0x59, 0x18, 0xa);
     95 
     96 #define SID_GetScriptSite IID_IActiveScriptSite
     97 #endif
     98 
     99 #ifndef _NO_DISPATCHEX_CONSTS
    100 
    101 #define fdexNameCaseSensitive 0x1
    102 #define fdexNameEnsure 0x2
    103 #define fdexNameImplicit 0x4
    104 #define fdexNameCaseInsensitive 0x8
    105 #define fdexNameInternal 0x10
    106 #define fdexNameNoDynamicProperties 0x20
    107 
    108 #define fdexPropCanGet 0x1
    109 #define fdexPropCannotGet 0x2
    110 #define fdexPropCanPut 0x4
    111 #define fdexPropCannotPut 0x8
    112 #define fdexPropCanPutRef 0x10
    113 #define fdexPropCannotPutRef 0x20
    114 #define fdexPropNoSideEffects 0x40
    115 #define fdexPropDynamicType 0x80
    116 #define fdexPropCanCall 0x100
    117 #define fdexPropCannotCall 0x200
    118 #define fdexPropCanConstruct 0x400
    119 #define fdexPropCannotConstruct 0x800
    120 #define fdexPropCanSourceEvents 0x1000
    121 #define fdexPropCannotSourceEvents 0x02000
    122 
    123 #define grfdexPropCanAll (fdexPropCanGet | fdexPropCanPut | fdexPropCanPutRef | fdexPropCanCall | fdexPropCanConstruct | fdexPropCanSourceEvents)
    124 #define grfdexPropCannotAll (fdexPropCannotGet | fdexPropCannotPut | fdexPropCannotPutRef | fdexPropCannotCall | fdexPropCannotConstruct | fdexPropCannotSourceEvents)
    125 #define grfdexPropExtraAll (fdexPropNoSideEffects | fdexPropDynamicType)
    126 #define grfdexPropAll (grfdexPropCanAll | grfdexPropCannotAll | grfdexPropExtraAll)
    127 
    128 #define fdexEnumDefault 0x1
    129 #define fdexEnumAll 0x2
    130 
    131 #define DISPATCH_CONSTRUCT 0x4000
    132 #define DISPID_THIS (-613)
    133 #define DISPID_STARTENUM DISPID_UNKNOWN
    134 #endif
    135 
    136 /*****************************************************************************
    137  * IDispatchEx interface
    138  */
    139 #ifndef __IDispatchEx_INTERFACE_DEFINED__
    140 #define __IDispatchEx_INTERFACE_DEFINED__
    141 
    142 DEFINE_GUID(IID_IDispatchEx, 0xa6ef9860, 0xc720, 0x11d0, 0x93,0x37, 0x00,0xa0,0xc9,0x0d,0xca,0xa9);
    143 #if defined(__cplusplus) && !defined(CINTERFACE)
    144 MIDL_INTERFACE("a6ef9860-c720-11d0-9337-00a0c90dcaa9")
    145 IDispatchEx : public IDispatch
    146 {
    147     virtual HRESULT STDMETHODCALLTYPE GetDispID(
    148         BSTR bstrName,
    149         DWORD grfdex,
    150         DISPID *pid) = 0;
    151 
    152     virtual HRESULT STDMETHODCALLTYPE InvokeEx(
    153         DISPID id,
    154         LCID lcid,
    155         WORD wFlags,
    156         DISPPARAMS *pdp,
    157         VARIANT *pvarRes,
    158         EXCEPINFO *pei,
    159         IServiceProvider *pspCaller) = 0;
    160 
    161     virtual HRESULT STDMETHODCALLTYPE DeleteMemberByName(
    162         BSTR bstrName,
    163         DWORD grfdex) = 0;
    164 
    165     virtual HRESULT STDMETHODCALLTYPE DeleteMemberByDispID(
    166         DISPID id) = 0;
    167 
    168     virtual HRESULT STDMETHODCALLTYPE GetMemberProperties(
    169         DISPID id,
    170         DWORD grfdexFetch,
    171         DWORD *pgrfdex) = 0;
    172 
    173     virtual HRESULT STDMETHODCALLTYPE GetMemberName(
    174         DISPID id,
    175         BSTR *pbstrName) = 0;
    176 
    177     virtual HRESULT STDMETHODCALLTYPE GetNextDispID(
    178         DWORD grfdex,
    179         DISPID id,
    180         DISPID *pid) = 0;
    181 
    182     virtual HRESULT STDMETHODCALLTYPE GetNameSpaceParent(
    183         IUnknown **ppunk) = 0;
    184 
    185 };
    186 #ifdef __CRT_UUID_DECL
    187 __CRT_UUID_DECL(IDispatchEx, 0xa6ef9860, 0xc720, 0x11d0, 0x93,0x37, 0x00,0xa0,0xc9,0x0d,0xca,0xa9)
    188 #endif
    189 #else
    190 typedef struct IDispatchExVtbl {
    191     BEGIN_INTERFACE
    192 
    193     /*** IUnknown methods ***/
    194     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    195         IDispatchEx* This,
    196         REFIID riid,
    197         void **ppvObject);
    198 
    199     ULONG (STDMETHODCALLTYPE *AddRef)(
    200         IDispatchEx* This);
    201 
    202     ULONG (STDMETHODCALLTYPE *Release)(
    203         IDispatchEx* This);
    204 
    205     /*** IDispatch methods ***/
    206     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
    207         IDispatchEx* This,
    208         UINT *pctinfo);
    209 
    210     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
    211         IDispatchEx* This,
    212         UINT iTInfo,
    213         LCID lcid,
    214         ITypeInfo **ppTInfo);
    215 
    216     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
    217         IDispatchEx* This,
    218         REFIID riid,
    219         LPOLESTR *rgszNames,
    220         UINT cNames,
    221         LCID lcid,
    222         DISPID *rgDispId);
    223 
    224     HRESULT (STDMETHODCALLTYPE *Invoke)(
    225         IDispatchEx* This,
    226         DISPID dispIdMember,
    227         REFIID riid,
    228         LCID lcid,
    229         WORD wFlags,
    230         DISPPARAMS *pDispParams,
    231         VARIANT *pVarResult,
    232         EXCEPINFO *pExcepInfo,
    233         UINT *puArgErr);
    234 
    235     /*** IDispatchEx methods ***/
    236     HRESULT (STDMETHODCALLTYPE *GetDispID)(
    237         IDispatchEx* This,
    238         BSTR bstrName,
    239         DWORD grfdex,
    240         DISPID *pid);
    241 
    242     HRESULT (STDMETHODCALLTYPE *InvokeEx)(
    243         IDispatchEx* This,
    244         DISPID id,
    245         LCID lcid,
    246         WORD wFlags,
    247         DISPPARAMS *pdp,
    248         VARIANT *pvarRes,
    249         EXCEPINFO *pei,
    250         IServiceProvider *pspCaller);
    251 
    252     HRESULT (STDMETHODCALLTYPE *DeleteMemberByName)(
    253         IDispatchEx* This,
    254         BSTR bstrName,
    255         DWORD grfdex);
    256 
    257     HRESULT (STDMETHODCALLTYPE *DeleteMemberByDispID)(
    258         IDispatchEx* This,
    259         DISPID id);
    260 
    261     HRESULT (STDMETHODCALLTYPE *GetMemberProperties)(
    262         IDispatchEx* This,
    263         DISPID id,
    264         DWORD grfdexFetch,
    265         DWORD *pgrfdex);
    266 
    267     HRESULT (STDMETHODCALLTYPE *GetMemberName)(
    268         IDispatchEx* This,
    269         DISPID id,
    270         BSTR *pbstrName);
    271 
    272     HRESULT (STDMETHODCALLTYPE *GetNextDispID)(
    273         IDispatchEx* This,
    274         DWORD grfdex,
    275         DISPID id,
    276         DISPID *pid);
    277 
    278     HRESULT (STDMETHODCALLTYPE *GetNameSpaceParent)(
    279         IDispatchEx* This,
    280         IUnknown **ppunk);
    281 
    282     END_INTERFACE
    283 } IDispatchExVtbl;
    284 interface IDispatchEx {
    285     CONST_VTBL IDispatchExVtbl* lpVtbl;
    286 };
    287 
    288 #ifdef COBJMACROS
    289 #ifndef WIDL_C_INLINE_WRAPPERS
    290 /*** IUnknown methods ***/
    291 #define IDispatchEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    292 #define IDispatchEx_AddRef(This) (This)->lpVtbl->AddRef(This)
    293 #define IDispatchEx_Release(This) (This)->lpVtbl->Release(This)
    294 /*** IDispatch methods ***/
    295 #define IDispatchEx_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    296 #define IDispatchEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    297 #define IDispatchEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    298 #define IDispatchEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    299 /*** IDispatchEx methods ***/
    300 #define IDispatchEx_GetDispID(This,bstrName,grfdex,pid) (This)->lpVtbl->GetDispID(This,bstrName,grfdex,pid)
    301 #define IDispatchEx_InvokeEx(This,id,lcid,wFlags,pdp,pvarRes,pei,pspCaller) (This)->lpVtbl->InvokeEx(This,id,lcid,wFlags,pdp,pvarRes,pei,pspCaller)
    302 #define IDispatchEx_DeleteMemberByName(This,bstrName,grfdex) (This)->lpVtbl->DeleteMemberByName(This,bstrName,grfdex)
    303 #define IDispatchEx_DeleteMemberByDispID(This,id) (This)->lpVtbl->DeleteMemberByDispID(This,id)
    304 #define IDispatchEx_GetMemberProperties(This,id,grfdexFetch,pgrfdex) (This)->lpVtbl->GetMemberProperties(This,id,grfdexFetch,pgrfdex)
    305 #define IDispatchEx_GetMemberName(This,id,pbstrName) (This)->lpVtbl->GetMemberName(This,id,pbstrName)
    306 #define IDispatchEx_GetNextDispID(This,grfdex,id,pid) (This)->lpVtbl->GetNextDispID(This,grfdex,id,pid)
    307 #define IDispatchEx_GetNameSpaceParent(This,ppunk) (This)->lpVtbl->GetNameSpaceParent(This,ppunk)
    308 #else
    309 /*** IUnknown methods ***/
    310 static FORCEINLINE HRESULT IDispatchEx_QueryInterface(IDispatchEx* This,REFIID riid,void **ppvObject) {
    311     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    312 }
    313 static FORCEINLINE ULONG IDispatchEx_AddRef(IDispatchEx* This) {
    314     return This->lpVtbl->AddRef(This);
    315 }
    316 static FORCEINLINE ULONG IDispatchEx_Release(IDispatchEx* This) {
    317     return This->lpVtbl->Release(This);
    318 }
    319 /*** IDispatch methods ***/
    320 static FORCEINLINE HRESULT IDispatchEx_GetTypeInfoCount(IDispatchEx* This,UINT *pctinfo) {
    321     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
    322 }
    323 static FORCEINLINE HRESULT IDispatchEx_GetTypeInfo(IDispatchEx* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    324     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
    325 }
    326 static FORCEINLINE HRESULT IDispatchEx_GetIDsOfNames(IDispatchEx* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    327     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
    328 }
    329 static FORCEINLINE HRESULT IDispatchEx_Invoke(IDispatchEx* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    330     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
    331 }
    332 /*** IDispatchEx methods ***/
    333 static FORCEINLINE HRESULT IDispatchEx_GetDispID(IDispatchEx* This,BSTR bstrName,DWORD grfdex,DISPID *pid) {
    334     return This->lpVtbl->GetDispID(This,bstrName,grfdex,pid);
    335 }
    336 static FORCEINLINE HRESULT IDispatchEx_InvokeEx(IDispatchEx* This,DISPID id,LCID lcid,WORD wFlags,DISPPARAMS *pdp,VARIANT *pvarRes,EXCEPINFO *pei,IServiceProvider *pspCaller) {
    337     return This->lpVtbl->InvokeEx(This,id,lcid,wFlags,pdp,pvarRes,pei,pspCaller);
    338 }
    339 static FORCEINLINE HRESULT IDispatchEx_DeleteMemberByName(IDispatchEx* This,BSTR bstrName,DWORD grfdex) {
    340     return This->lpVtbl->DeleteMemberByName(This,bstrName,grfdex);
    341 }
    342 static FORCEINLINE HRESULT IDispatchEx_DeleteMemberByDispID(IDispatchEx* This,DISPID id) {
    343     return This->lpVtbl->DeleteMemberByDispID(This,id);
    344 }
    345 static FORCEINLINE HRESULT IDispatchEx_GetMemberProperties(IDispatchEx* This,DISPID id,DWORD grfdexFetch,DWORD *pgrfdex) {
    346     return This->lpVtbl->GetMemberProperties(This,id,grfdexFetch,pgrfdex);
    347 }
    348 static FORCEINLINE HRESULT IDispatchEx_GetMemberName(IDispatchEx* This,DISPID id,BSTR *pbstrName) {
    349     return This->lpVtbl->GetMemberName(This,id,pbstrName);
    350 }
    351 static FORCEINLINE HRESULT IDispatchEx_GetNextDispID(IDispatchEx* This,DWORD grfdex,DISPID id,DISPID *pid) {
    352     return This->lpVtbl->GetNextDispID(This,grfdex,id,pid);
    353 }
    354 static FORCEINLINE HRESULT IDispatchEx_GetNameSpaceParent(IDispatchEx* This,IUnknown **ppunk) {
    355     return This->lpVtbl->GetNameSpaceParent(This,ppunk);
    356 }
    357 #endif
    358 #endif
    359 
    360 #endif
    361 
    362 HRESULT STDMETHODCALLTYPE IDispatchEx_GetDispID_Proxy(
    363     IDispatchEx* This,
    364     BSTR bstrName,
    365     DWORD grfdex,
    366     DISPID *pid);
    367 void __RPC_STUB IDispatchEx_GetDispID_Stub(
    368     IRpcStubBuffer* This,
    369     IRpcChannelBuffer* pRpcChannelBuffer,
    370     PRPC_MESSAGE pRpcMessage,
    371     DWORD* pdwStubPhase);
    372 HRESULT STDMETHODCALLTYPE IDispatchEx_RemoteInvokeEx_Proxy(
    373     IDispatchEx* This,
    374     DISPID id,
    375     LCID lcid,
    376     DWORD dwFlags,
    377     DISPPARAMS *pdp,
    378     VARIANT *pvarRes,
    379     EXCEPINFO *pei,
    380     IServiceProvider *pspCaller,
    381     UINT cvarRefArg,
    382     UINT *rgiRefArg,
    383     VARIANT *rgvarRefArg);
    384 void __RPC_STUB IDispatchEx_RemoteInvokeEx_Stub(
    385     IRpcStubBuffer* This,
    386     IRpcChannelBuffer* pRpcChannelBuffer,
    387     PRPC_MESSAGE pRpcMessage,
    388     DWORD* pdwStubPhase);
    389 HRESULT STDMETHODCALLTYPE IDispatchEx_DeleteMemberByName_Proxy(
    390     IDispatchEx* This,
    391     BSTR bstrName,
    392     DWORD grfdex);
    393 void __RPC_STUB IDispatchEx_DeleteMemberByName_Stub(
    394     IRpcStubBuffer* This,
    395     IRpcChannelBuffer* pRpcChannelBuffer,
    396     PRPC_MESSAGE pRpcMessage,
    397     DWORD* pdwStubPhase);
    398 HRESULT STDMETHODCALLTYPE IDispatchEx_DeleteMemberByDispID_Proxy(
    399     IDispatchEx* This,
    400     DISPID id);
    401 void __RPC_STUB IDispatchEx_DeleteMemberByDispID_Stub(
    402     IRpcStubBuffer* This,
    403     IRpcChannelBuffer* pRpcChannelBuffer,
    404     PRPC_MESSAGE pRpcMessage,
    405     DWORD* pdwStubPhase);
    406 HRESULT STDMETHODCALLTYPE IDispatchEx_GetMemberProperties_Proxy(
    407     IDispatchEx* This,
    408     DISPID id,
    409     DWORD grfdexFetch,
    410     DWORD *pgrfdex);
    411 void __RPC_STUB IDispatchEx_GetMemberProperties_Stub(
    412     IRpcStubBuffer* This,
    413     IRpcChannelBuffer* pRpcChannelBuffer,
    414     PRPC_MESSAGE pRpcMessage,
    415     DWORD* pdwStubPhase);
    416 HRESULT STDMETHODCALLTYPE IDispatchEx_GetMemberName_Proxy(
    417     IDispatchEx* This,
    418     DISPID id,
    419     BSTR *pbstrName);
    420 void __RPC_STUB IDispatchEx_GetMemberName_Stub(
    421     IRpcStubBuffer* This,
    422     IRpcChannelBuffer* pRpcChannelBuffer,
    423     PRPC_MESSAGE pRpcMessage,
    424     DWORD* pdwStubPhase);
    425 HRESULT STDMETHODCALLTYPE IDispatchEx_GetNextDispID_Proxy(
    426     IDispatchEx* This,
    427     DWORD grfdex,
    428     DISPID id,
    429     DISPID *pid);
    430 void __RPC_STUB IDispatchEx_GetNextDispID_Stub(
    431     IRpcStubBuffer* This,
    432     IRpcChannelBuffer* pRpcChannelBuffer,
    433     PRPC_MESSAGE pRpcMessage,
    434     DWORD* pdwStubPhase);
    435 HRESULT STDMETHODCALLTYPE IDispatchEx_GetNameSpaceParent_Proxy(
    436     IDispatchEx* This,
    437     IUnknown **ppunk);
    438 void __RPC_STUB IDispatchEx_GetNameSpaceParent_Stub(
    439     IRpcStubBuffer* This,
    440     IRpcChannelBuffer* pRpcChannelBuffer,
    441     PRPC_MESSAGE pRpcMessage,
    442     DWORD* pdwStubPhase);
    443 HRESULT CALLBACK IDispatchEx_InvokeEx_Proxy(
    444     IDispatchEx* This,
    445     DISPID id,
    446     LCID lcid,
    447     WORD wFlags,
    448     DISPPARAMS *pdp,
    449     VARIANT *pvarRes,
    450     EXCEPINFO *pei,
    451     IServiceProvider *pspCaller);
    452 HRESULT __RPC_STUB IDispatchEx_InvokeEx_Stub(
    453     IDispatchEx* This,
    454     DISPID id,
    455     LCID lcid,
    456     DWORD dwFlags,
    457     DISPPARAMS *pdp,
    458     VARIANT *pvarRes,
    459     EXCEPINFO *pei,
    460     IServiceProvider *pspCaller,
    461     UINT cvarRefArg,
    462     UINT *rgiRefArg,
    463     VARIANT *rgvarRefArg);
    464 
    465 #endif  /* __IDispatchEx_INTERFACE_DEFINED__ */
    466 
    467 /*****************************************************************************
    468  * IDispError interface
    469  */
    470 #ifndef __IDispError_INTERFACE_DEFINED__
    471 #define __IDispError_INTERFACE_DEFINED__
    472 
    473 DEFINE_GUID(IID_IDispError, 0xa6ef9861, 0xc720, 0x11d0, 0x93,0x37, 0x00,0xa0,0xc9,0x0d,0xca,0xa9);
    474 #if defined(__cplusplus) && !defined(CINTERFACE)
    475 MIDL_INTERFACE("a6ef9861-c720-11d0-9337-00a0c90dcaa9")
    476 IDispError : public IUnknown
    477 {
    478     virtual HRESULT STDMETHODCALLTYPE QueryErrorInfo(
    479         GUID guidErrorType,
    480         IDispError **ppde) = 0;
    481 
    482     virtual HRESULT STDMETHODCALLTYPE GetNext(
    483         IDispError **ppde) = 0;
    484 
    485     virtual HRESULT STDMETHODCALLTYPE GetHresult(
    486         HRESULT *phr) = 0;
    487 
    488     virtual HRESULT STDMETHODCALLTYPE GetSource(
    489         BSTR *pbstrSource) = 0;
    490 
    491     virtual HRESULT STDMETHODCALLTYPE GetHelpInfo(
    492         BSTR *pbstrFileName,
    493         DWORD *pdwContext) = 0;
    494 
    495     virtual HRESULT STDMETHODCALLTYPE GetDescription(
    496         BSTR *pbstrDescription) = 0;
    497 
    498 };
    499 #ifdef __CRT_UUID_DECL
    500 __CRT_UUID_DECL(IDispError, 0xa6ef9861, 0xc720, 0x11d0, 0x93,0x37, 0x00,0xa0,0xc9,0x0d,0xca,0xa9)
    501 #endif
    502 #else
    503 typedef struct IDispErrorVtbl {
    504     BEGIN_INTERFACE
    505 
    506     /*** IUnknown methods ***/
    507     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    508         IDispError* This,
    509         REFIID riid,
    510         void **ppvObject);
    511 
    512     ULONG (STDMETHODCALLTYPE *AddRef)(
    513         IDispError* This);
    514 
    515     ULONG (STDMETHODCALLTYPE *Release)(
    516         IDispError* This);
    517 
    518     /*** IDispError methods ***/
    519     HRESULT (STDMETHODCALLTYPE *QueryErrorInfo)(
    520         IDispError* This,
    521         GUID guidErrorType,
    522         IDispError **ppde);
    523 
    524     HRESULT (STDMETHODCALLTYPE *GetNext)(
    525         IDispError* This,
    526         IDispError **ppde);
    527 
    528     HRESULT (STDMETHODCALLTYPE *GetHresult)(
    529         IDispError* This,
    530         HRESULT *phr);
    531 
    532     HRESULT (STDMETHODCALLTYPE *GetSource)(
    533         IDispError* This,
    534         BSTR *pbstrSource);
    535 
    536     HRESULT (STDMETHODCALLTYPE *GetHelpInfo)(
    537         IDispError* This,
    538         BSTR *pbstrFileName,
    539         DWORD *pdwContext);
    540 
    541     HRESULT (STDMETHODCALLTYPE *GetDescription)(
    542         IDispError* This,
    543         BSTR *pbstrDescription);
    544 
    545     END_INTERFACE
    546 } IDispErrorVtbl;
    547 interface IDispError {
    548     CONST_VTBL IDispErrorVtbl* lpVtbl;
    549 };
    550 
    551 #ifdef COBJMACROS
    552 #ifndef WIDL_C_INLINE_WRAPPERS
    553 /*** IUnknown methods ***/
    554 #define IDispError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    555 #define IDispError_AddRef(This) (This)->lpVtbl->AddRef(This)
    556 #define IDispError_Release(This) (This)->lpVtbl->Release(This)
    557 /*** IDispError methods ***/
    558 #define IDispError_QueryErrorInfo(This,guidErrorType,ppde) (This)->lpVtbl->QueryErrorInfo(This,guidErrorType,ppde)
    559 #define IDispError_GetNext(This,ppde) (This)->lpVtbl->GetNext(This,ppde)
    560 #define IDispError_GetHresult(This,phr) (This)->lpVtbl->GetHresult(This,phr)
    561 #define IDispError_GetSource(This,pbstrSource) (This)->lpVtbl->GetSource(This,pbstrSource)
    562 #define IDispError_GetHelpInfo(This,pbstrFileName,pdwContext) (This)->lpVtbl->GetHelpInfo(This,pbstrFileName,pdwContext)
    563 #define IDispError_GetDescription(This,pbstrDescription) (This)->lpVtbl->GetDescription(This,pbstrDescription)
    564 #else
    565 /*** IUnknown methods ***/
    566 static FORCEINLINE HRESULT IDispError_QueryInterface(IDispError* This,REFIID riid,void **ppvObject) {
    567     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    568 }
    569 static FORCEINLINE ULONG IDispError_AddRef(IDispError* This) {
    570     return This->lpVtbl->AddRef(This);
    571 }
    572 static FORCEINLINE ULONG IDispError_Release(IDispError* This) {
    573     return This->lpVtbl->Release(This);
    574 }
    575 /*** IDispError methods ***/
    576 static FORCEINLINE HRESULT IDispError_QueryErrorInfo(IDispError* This,GUID guidErrorType,IDispError **ppde) {
    577     return This->lpVtbl->QueryErrorInfo(This,guidErrorType,ppde);
    578 }
    579 static FORCEINLINE HRESULT IDispError_GetNext(IDispError* This,IDispError **ppde) {
    580     return This->lpVtbl->GetNext(This,ppde);
    581 }
    582 static FORCEINLINE HRESULT IDispError_GetHresult(IDispError* This,HRESULT *phr) {
    583     return This->lpVtbl->GetHresult(This,phr);
    584 }
    585 static FORCEINLINE HRESULT IDispError_GetSource(IDispError* This,BSTR *pbstrSource) {
    586     return This->lpVtbl->GetSource(This,pbstrSource);
    587 }
    588 static FORCEINLINE HRESULT IDispError_GetHelpInfo(IDispError* This,BSTR *pbstrFileName,DWORD *pdwContext) {
    589     return This->lpVtbl->GetHelpInfo(This,pbstrFileName,pdwContext);
    590 }
    591 static FORCEINLINE HRESULT IDispError_GetDescription(IDispError* This,BSTR *pbstrDescription) {
    592     return This->lpVtbl->GetDescription(This,pbstrDescription);
    593 }
    594 #endif
    595 #endif
    596 
    597 #endif
    598 
    599 HRESULT STDMETHODCALLTYPE IDispError_QueryErrorInfo_Proxy(
    600     IDispError* This,
    601     GUID guidErrorType,
    602     IDispError **ppde);
    603 void __RPC_STUB IDispError_QueryErrorInfo_Stub(
    604     IRpcStubBuffer* This,
    605     IRpcChannelBuffer* pRpcChannelBuffer,
    606     PRPC_MESSAGE pRpcMessage,
    607     DWORD* pdwStubPhase);
    608 HRESULT STDMETHODCALLTYPE IDispError_GetNext_Proxy(
    609     IDispError* This,
    610     IDispError **ppde);
    611 void __RPC_STUB IDispError_GetNext_Stub(
    612     IRpcStubBuffer* This,
    613     IRpcChannelBuffer* pRpcChannelBuffer,
    614     PRPC_MESSAGE pRpcMessage,
    615     DWORD* pdwStubPhase);
    616 HRESULT STDMETHODCALLTYPE IDispError_GetHresult_Proxy(
    617     IDispError* This,
    618     HRESULT *phr);
    619 void __RPC_STUB IDispError_GetHresult_Stub(
    620     IRpcStubBuffer* This,
    621     IRpcChannelBuffer* pRpcChannelBuffer,
    622     PRPC_MESSAGE pRpcMessage,
    623     DWORD* pdwStubPhase);
    624 HRESULT STDMETHODCALLTYPE IDispError_GetSource_Proxy(
    625     IDispError* This,
    626     BSTR *pbstrSource);
    627 void __RPC_STUB IDispError_GetSource_Stub(
    628     IRpcStubBuffer* This,
    629     IRpcChannelBuffer* pRpcChannelBuffer,
    630     PRPC_MESSAGE pRpcMessage,
    631     DWORD* pdwStubPhase);
    632 HRESULT STDMETHODCALLTYPE IDispError_GetHelpInfo_Proxy(
    633     IDispError* This,
    634     BSTR *pbstrFileName,
    635     DWORD *pdwContext);
    636 void __RPC_STUB IDispError_GetHelpInfo_Stub(
    637     IRpcStubBuffer* This,
    638     IRpcChannelBuffer* pRpcChannelBuffer,
    639     PRPC_MESSAGE pRpcMessage,
    640     DWORD* pdwStubPhase);
    641 HRESULT STDMETHODCALLTYPE IDispError_GetDescription_Proxy(
    642     IDispError* This,
    643     BSTR *pbstrDescription);
    644 void __RPC_STUB IDispError_GetDescription_Stub(
    645     IRpcStubBuffer* This,
    646     IRpcChannelBuffer* pRpcChannelBuffer,
    647     PRPC_MESSAGE pRpcMessage,
    648     DWORD* pdwStubPhase);
    649 
    650 #endif  /* __IDispError_INTERFACE_DEFINED__ */
    651 
    652 /*****************************************************************************
    653  * IVariantChangeType interface
    654  */
    655 #ifndef __IVariantChangeType_INTERFACE_DEFINED__
    656 #define __IVariantChangeType_INTERFACE_DEFINED__
    657 
    658 DEFINE_GUID(IID_IVariantChangeType, 0xa6ef9862, 0xc720, 0x11d0, 0x93,0x37, 0x00,0xa0,0xc9,0x0d,0xca,0xa9);
    659 #if defined(__cplusplus) && !defined(CINTERFACE)
    660 MIDL_INTERFACE("a6ef9862-c720-11d0-9337-00a0c90dcaa9")
    661 IVariantChangeType : public IUnknown
    662 {
    663     virtual HRESULT STDMETHODCALLTYPE ChangeType(
    664         VARIANT *pvarDst,
    665         VARIANT *pvarSrc,
    666         LCID lcid,
    667         VARTYPE vtNew) = 0;
    668 
    669 };
    670 #ifdef __CRT_UUID_DECL
    671 __CRT_UUID_DECL(IVariantChangeType, 0xa6ef9862, 0xc720, 0x11d0, 0x93,0x37, 0x00,0xa0,0xc9,0x0d,0xca,0xa9)
    672 #endif
    673 #else
    674 typedef struct IVariantChangeTypeVtbl {
    675     BEGIN_INTERFACE
    676 
    677     /*** IUnknown methods ***/
    678     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    679         IVariantChangeType* This,
    680         REFIID riid,
    681         void **ppvObject);
    682 
    683     ULONG (STDMETHODCALLTYPE *AddRef)(
    684         IVariantChangeType* This);
    685 
    686     ULONG (STDMETHODCALLTYPE *Release)(
    687         IVariantChangeType* This);
    688 
    689     /*** IVariantChangeType methods ***/
    690     HRESULT (STDMETHODCALLTYPE *ChangeType)(
    691         IVariantChangeType* This,
    692         VARIANT *pvarDst,
    693         VARIANT *pvarSrc,
    694         LCID lcid,
    695         VARTYPE vtNew);
    696 
    697     END_INTERFACE
    698 } IVariantChangeTypeVtbl;
    699 interface IVariantChangeType {
    700     CONST_VTBL IVariantChangeTypeVtbl* lpVtbl;
    701 };
    702 
    703 #ifdef COBJMACROS
    704 #ifndef WIDL_C_INLINE_WRAPPERS
    705 /*** IUnknown methods ***/
    706 #define IVariantChangeType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    707 #define IVariantChangeType_AddRef(This) (This)->lpVtbl->AddRef(This)
    708 #define IVariantChangeType_Release(This) (This)->lpVtbl->Release(This)
    709 /*** IVariantChangeType methods ***/
    710 #define IVariantChangeType_ChangeType(This,pvarDst,pvarSrc,lcid,vtNew) (This)->lpVtbl->ChangeType(This,pvarDst,pvarSrc,lcid,vtNew)
    711 #else
    712 /*** IUnknown methods ***/
    713 static FORCEINLINE HRESULT IVariantChangeType_QueryInterface(IVariantChangeType* This,REFIID riid,void **ppvObject) {
    714     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    715 }
    716 static FORCEINLINE ULONG IVariantChangeType_AddRef(IVariantChangeType* This) {
    717     return This->lpVtbl->AddRef(This);
    718 }
    719 static FORCEINLINE ULONG IVariantChangeType_Release(IVariantChangeType* This) {
    720     return This->lpVtbl->Release(This);
    721 }
    722 /*** IVariantChangeType methods ***/
    723 static FORCEINLINE HRESULT IVariantChangeType_ChangeType(IVariantChangeType* This,VARIANT *pvarDst,VARIANT *pvarSrc,LCID lcid,VARTYPE vtNew) {
    724     return This->lpVtbl->ChangeType(This,pvarDst,pvarSrc,lcid,vtNew);
    725 }
    726 #endif
    727 #endif
    728 
    729 #endif
    730 
    731 HRESULT STDMETHODCALLTYPE IVariantChangeType_ChangeType_Proxy(
    732     IVariantChangeType* This,
    733     VARIANT *pvarDst,
    734     VARIANT *pvarSrc,
    735     LCID lcid,
    736     VARTYPE vtNew);
    737 void __RPC_STUB IVariantChangeType_ChangeType_Stub(
    738     IRpcStubBuffer* This,
    739     IRpcChannelBuffer* pRpcChannelBuffer,
    740     PRPC_MESSAGE pRpcMessage,
    741     DWORD* pdwStubPhase);
    742 
    743 #endif  /* __IVariantChangeType_INTERFACE_DEFINED__ */
    744 
    745 /*****************************************************************************
    746  * IObjectIdentity interface
    747  */
    748 #ifndef __IObjectIdentity_INTERFACE_DEFINED__
    749 #define __IObjectIdentity_INTERFACE_DEFINED__
    750 
    751 DEFINE_GUID(IID_IObjectIdentity, 0xca04b7e6, 0x0d21, 0x11d1, 0x8c,0xc5, 0x00,0xc0,0x4f,0xc2,0xb0,0x85);
    752 #if defined(__cplusplus) && !defined(CINTERFACE)
    753 MIDL_INTERFACE("ca04b7e6-0d21-11d1-8cc5-00c04fc2b085")
    754 IObjectIdentity : public IUnknown
    755 {
    756     virtual HRESULT STDMETHODCALLTYPE IsEqualObject(
    757         IUnknown *punk) = 0;
    758 
    759 };
    760 #ifdef __CRT_UUID_DECL
    761 __CRT_UUID_DECL(IObjectIdentity, 0xca04b7e6, 0x0d21, 0x11d1, 0x8c,0xc5, 0x00,0xc0,0x4f,0xc2,0xb0,0x85)
    762 #endif
    763 #else
    764 typedef struct IObjectIdentityVtbl {
    765     BEGIN_INTERFACE
    766 
    767     /*** IUnknown methods ***/
    768     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    769         IObjectIdentity* This,
    770         REFIID riid,
    771         void **ppvObject);
    772 
    773     ULONG (STDMETHODCALLTYPE *AddRef)(
    774         IObjectIdentity* This);
    775 
    776     ULONG (STDMETHODCALLTYPE *Release)(
    777         IObjectIdentity* This);
    778 
    779     /*** IObjectIdentity methods ***/
    780     HRESULT (STDMETHODCALLTYPE *IsEqualObject)(
    781         IObjectIdentity* This,
    782         IUnknown *punk);
    783 
    784     END_INTERFACE
    785 } IObjectIdentityVtbl;
    786 interface IObjectIdentity {
    787     CONST_VTBL IObjectIdentityVtbl* lpVtbl;
    788 };
    789 
    790 #ifdef COBJMACROS
    791 #ifndef WIDL_C_INLINE_WRAPPERS
    792 /*** IUnknown methods ***/
    793 #define IObjectIdentity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    794 #define IObjectIdentity_AddRef(This) (This)->lpVtbl->AddRef(This)
    795 #define IObjectIdentity_Release(This) (This)->lpVtbl->Release(This)
    796 /*** IObjectIdentity methods ***/
    797 #define IObjectIdentity_IsEqualObject(This,punk) (This)->lpVtbl->IsEqualObject(This,punk)
    798 #else
    799 /*** IUnknown methods ***/
    800 static FORCEINLINE HRESULT IObjectIdentity_QueryInterface(IObjectIdentity* This,REFIID riid,void **ppvObject) {
    801     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    802 }
    803 static FORCEINLINE ULONG IObjectIdentity_AddRef(IObjectIdentity* This) {
    804     return This->lpVtbl->AddRef(This);
    805 }
    806 static FORCEINLINE ULONG IObjectIdentity_Release(IObjectIdentity* This) {
    807     return This->lpVtbl->Release(This);
    808 }
    809 /*** IObjectIdentity methods ***/
    810 static FORCEINLINE HRESULT IObjectIdentity_IsEqualObject(IObjectIdentity* This,IUnknown *punk) {
    811     return This->lpVtbl->IsEqualObject(This,punk);
    812 }
    813 #endif
    814 #endif
    815 
    816 #endif
    817 
    818 HRESULT STDMETHODCALLTYPE IObjectIdentity_IsEqualObject_Proxy(
    819     IObjectIdentity* This,
    820     IUnknown *punk);
    821 void __RPC_STUB IObjectIdentity_IsEqualObject_Stub(
    822     IRpcStubBuffer* This,
    823     IRpcChannelBuffer* pRpcChannelBuffer,
    824     PRPC_MESSAGE pRpcMessage,
    825     DWORD* pdwStubPhase);
    826 
    827 #endif  /* __IObjectIdentity_INTERFACE_DEFINED__ */
    828 
    829 /*****************************************************************************
    830  * ICanHandleException interface
    831  */
    832 #ifndef __ICanHandleException_INTERFACE_DEFINED__
    833 #define __ICanHandleException_INTERFACE_DEFINED__
    834 
    835 DEFINE_GUID(IID_ICanHandleException, 0xc5598e60, 0xb307, 0x11d1, 0xb2,0x7d, 0x00,0x60,0x08,0xc3,0xfb,0xfb);
    836 #if defined(__cplusplus) && !defined(CINTERFACE)
    837 MIDL_INTERFACE("c5598e60-b307-11d1-b27d-006008c3fbfb")
    838 ICanHandleException : public IUnknown
    839 {
    840     virtual HRESULT STDMETHODCALLTYPE CanHandleException(
    841         EXCEPINFO *pExcepInfo,
    842         VARIANT *pvar) = 0;
    843 
    844 };
    845 #ifdef __CRT_UUID_DECL
    846 __CRT_UUID_DECL(ICanHandleException, 0xc5598e60, 0xb307, 0x11d1, 0xb2,0x7d, 0x00,0x60,0x08,0xc3,0xfb,0xfb)
    847 #endif
    848 #else
    849 typedef struct ICanHandleExceptionVtbl {
    850     BEGIN_INTERFACE
    851 
    852     /*** IUnknown methods ***/
    853     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    854         ICanHandleException* This,
    855         REFIID riid,
    856         void **ppvObject);
    857 
    858     ULONG (STDMETHODCALLTYPE *AddRef)(
    859         ICanHandleException* This);
    860 
    861     ULONG (STDMETHODCALLTYPE *Release)(
    862         ICanHandleException* This);
    863 
    864     /*** ICanHandleException methods ***/
    865     HRESULT (STDMETHODCALLTYPE *CanHandleException)(
    866         ICanHandleException* This,
    867         EXCEPINFO *pExcepInfo,
    868         VARIANT *pvar);
    869 
    870     END_INTERFACE
    871 } ICanHandleExceptionVtbl;
    872 interface ICanHandleException {
    873     CONST_VTBL ICanHandleExceptionVtbl* lpVtbl;
    874 };
    875 
    876 #ifdef COBJMACROS
    877 #ifndef WIDL_C_INLINE_WRAPPERS
    878 /*** IUnknown methods ***/
    879 #define ICanHandleException_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    880 #define ICanHandleException_AddRef(This) (This)->lpVtbl->AddRef(This)
    881 #define ICanHandleException_Release(This) (This)->lpVtbl->Release(This)
    882 /*** ICanHandleException methods ***/
    883 #define ICanHandleException_CanHandleException(This,pExcepInfo,pvar) (This)->lpVtbl->CanHandleException(This,pExcepInfo,pvar)
    884 #else
    885 /*** IUnknown methods ***/
    886 static FORCEINLINE HRESULT ICanHandleException_QueryInterface(ICanHandleException* This,REFIID riid,void **ppvObject) {
    887     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    888 }
    889 static FORCEINLINE ULONG ICanHandleException_AddRef(ICanHandleException* This) {
    890     return This->lpVtbl->AddRef(This);
    891 }
    892 static FORCEINLINE ULONG ICanHandleException_Release(ICanHandleException* This) {
    893     return This->lpVtbl->Release(This);
    894 }
    895 /*** ICanHandleException methods ***/
    896 static FORCEINLINE HRESULT ICanHandleException_CanHandleException(ICanHandleException* This,EXCEPINFO *pExcepInfo,VARIANT *pvar) {
    897     return This->lpVtbl->CanHandleException(This,pExcepInfo,pvar);
    898 }
    899 #endif
    900 #endif
    901 
    902 #endif
    903 
    904 HRESULT STDMETHODCALLTYPE ICanHandleException_CanHandleException_Proxy(
    905     ICanHandleException* This,
    906     EXCEPINFO *pExcepInfo,
    907     VARIANT *pvar);
    908 void __RPC_STUB ICanHandleException_CanHandleException_Stub(
    909     IRpcStubBuffer* This,
    910     IRpcChannelBuffer* pRpcChannelBuffer,
    911     PRPC_MESSAGE pRpcMessage,
    912     DWORD* pdwStubPhase);
    913 
    914 #endif  /* __ICanHandleException_INTERFACE_DEFINED__ */
    915 
    916 /*****************************************************************************
    917  * IProvideRuntimeContext interface
    918  */
    919 #ifndef __IProvideRuntimeContext_INTERFACE_DEFINED__
    920 #define __IProvideRuntimeContext_INTERFACE_DEFINED__
    921 
    922 DEFINE_GUID(IID_IProvideRuntimeContext, 0x10e2414a, 0xec59, 0x49d2, 0xbc,0x51, 0x5a,0xdd,0x2c,0x36,0xfe,0xbc);
    923 #if defined(__cplusplus) && !defined(CINTERFACE)
    924 MIDL_INTERFACE("10e2414a-ec59-49d2-bc51-5add2c36febc")
    925 IProvideRuntimeContext : public IUnknown
    926 {
    927     virtual HRESULT STDMETHODCALLTYPE GetCurrentSourceContext(
    928         DWORD_PTR *pdwContext,
    929         VARIANT_BOOL *pfExecutingGlobalCode) = 0;
    930 
    931 };
    932 #ifdef __CRT_UUID_DECL
    933 __CRT_UUID_DECL(IProvideRuntimeContext, 0x10e2414a, 0xec59, 0x49d2, 0xbc,0x51, 0x5a,0xdd,0x2c,0x36,0xfe,0xbc)
    934 #endif
    935 #else
    936 typedef struct IProvideRuntimeContextVtbl {
    937     BEGIN_INTERFACE
    938 
    939     /*** IUnknown methods ***/
    940     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    941         IProvideRuntimeContext* This,
    942         REFIID riid,
    943         void **ppvObject);
    944 
    945     ULONG (STDMETHODCALLTYPE *AddRef)(
    946         IProvideRuntimeContext* This);
    947 
    948     ULONG (STDMETHODCALLTYPE *Release)(
    949         IProvideRuntimeContext* This);
    950 
    951     /*** IProvideRuntimeContext methods ***/
    952     HRESULT (STDMETHODCALLTYPE *GetCurrentSourceContext)(
    953         IProvideRuntimeContext* This,
    954         DWORD_PTR *pdwContext,
    955         VARIANT_BOOL *pfExecutingGlobalCode);
    956 
    957     END_INTERFACE
    958 } IProvideRuntimeContextVtbl;
    959 interface IProvideRuntimeContext {
    960     CONST_VTBL IProvideRuntimeContextVtbl* lpVtbl;
    961 };
    962 
    963 #ifdef COBJMACROS
    964 #ifndef WIDL_C_INLINE_WRAPPERS
    965 /*** IUnknown methods ***/
    966 #define IProvideRuntimeContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    967 #define IProvideRuntimeContext_AddRef(This) (This)->lpVtbl->AddRef(This)
    968 #define IProvideRuntimeContext_Release(This) (This)->lpVtbl->Release(This)
    969 /*** IProvideRuntimeContext methods ***/
    970 #define IProvideRuntimeContext_GetCurrentSourceContext(This,pdwContext,pfExecutingGlobalCode) (This)->lpVtbl->GetCurrentSourceContext(This,pdwContext,pfExecutingGlobalCode)
    971 #else
    972 /*** IUnknown methods ***/
    973 static FORCEINLINE HRESULT IProvideRuntimeContext_QueryInterface(IProvideRuntimeContext* This,REFIID riid,void **ppvObject) {
    974     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    975 }
    976 static FORCEINLINE ULONG IProvideRuntimeContext_AddRef(IProvideRuntimeContext* This) {
    977     return This->lpVtbl->AddRef(This);
    978 }
    979 static FORCEINLINE ULONG IProvideRuntimeContext_Release(IProvideRuntimeContext* This) {
    980     return This->lpVtbl->Release(This);
    981 }
    982 /*** IProvideRuntimeContext methods ***/
    983 static FORCEINLINE HRESULT IProvideRuntimeContext_GetCurrentSourceContext(IProvideRuntimeContext* This,DWORD_PTR *pdwContext,VARIANT_BOOL *pfExecutingGlobalCode) {
    984     return This->lpVtbl->GetCurrentSourceContext(This,pdwContext,pfExecutingGlobalCode);
    985 }
    986 #endif
    987 #endif
    988 
    989 #endif
    990 
    991 HRESULT STDMETHODCALLTYPE IProvideRuntimeContext_GetCurrentSourceContext_Proxy(
    992     IProvideRuntimeContext* This,
    993     DWORD_PTR *pdwContext,
    994     VARIANT_BOOL *pfExecutingGlobalCode);
    995 void __RPC_STUB IProvideRuntimeContext_GetCurrentSourceContext_Stub(
    996     IRpcStubBuffer* This,
    997     IRpcChannelBuffer* pRpcChannelBuffer,
    998     PRPC_MESSAGE pRpcMessage,
    999     DWORD* pdwStubPhase);
   1000 
   1001 #endif  /* __IProvideRuntimeContext_INTERFACE_DEFINED__ */
   1002 
   1003 #endif
   1004 #endif
   1005 /* Begin additional prototypes for all interfaces */
   1006 
   1007 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
   1008 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
   1009 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
   1010 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
   1011 ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
   1012 unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
   1013 unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
   1014 void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
   1015 
   1016 /* End additional prototypes */
   1017 
   1018 #ifdef __cplusplus
   1019 }
   1020 #endif
   1021 
   1022 #endif /* __dispex_h__ */
   1023