zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

dispex.h (30083B) - Raw


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