dispex.h 30 KB

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