Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

7012 lines
201 KiB

  1. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3. /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for oaidl.idl:
  5. Oicf, W1, Zp8, env=Win32 (32b run)
  6. protocol : dce , ms_ext, c_ext, robust
  7. error checks: allocation ref bounds_check enum stub_data
  8. VC __declspec() decoration level:
  9. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10. DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING( )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __oaidl_h__
  27. #define __oaidl_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __ICreateTypeInfo_FWD_DEFINED__
  33. #define __ICreateTypeInfo_FWD_DEFINED__
  34. typedef interface ICreateTypeInfo ICreateTypeInfo;
  35. #endif /* __ICreateTypeInfo_FWD_DEFINED__ */
  36. #ifndef __ICreateTypeInfo2_FWD_DEFINED__
  37. #define __ICreateTypeInfo2_FWD_DEFINED__
  38. typedef interface ICreateTypeInfo2 ICreateTypeInfo2;
  39. #endif /* __ICreateTypeInfo2_FWD_DEFINED__ */
  40. #ifndef __ICreateTypeLib_FWD_DEFINED__
  41. #define __ICreateTypeLib_FWD_DEFINED__
  42. typedef interface ICreateTypeLib ICreateTypeLib;
  43. #endif /* __ICreateTypeLib_FWD_DEFINED__ */
  44. #ifndef __ICreateTypeLib2_FWD_DEFINED__
  45. #define __ICreateTypeLib2_FWD_DEFINED__
  46. typedef interface ICreateTypeLib2 ICreateTypeLib2;
  47. #endif /* __ICreateTypeLib2_FWD_DEFINED__ */
  48. #ifndef __IDispatch_FWD_DEFINED__
  49. #define __IDispatch_FWD_DEFINED__
  50. typedef interface IDispatch IDispatch;
  51. #endif /* __IDispatch_FWD_DEFINED__ */
  52. #ifndef __IEnumVARIANT_FWD_DEFINED__
  53. #define __IEnumVARIANT_FWD_DEFINED__
  54. typedef interface IEnumVARIANT IEnumVARIANT;
  55. #endif /* __IEnumVARIANT_FWD_DEFINED__ */
  56. #ifndef __ITypeComp_FWD_DEFINED__
  57. #define __ITypeComp_FWD_DEFINED__
  58. typedef interface ITypeComp ITypeComp;
  59. #endif /* __ITypeComp_FWD_DEFINED__ */
  60. #ifndef __ITypeInfo_FWD_DEFINED__
  61. #define __ITypeInfo_FWD_DEFINED__
  62. typedef interface ITypeInfo ITypeInfo;
  63. #endif /* __ITypeInfo_FWD_DEFINED__ */
  64. #ifndef __ITypeInfo2_FWD_DEFINED__
  65. #define __ITypeInfo2_FWD_DEFINED__
  66. typedef interface ITypeInfo2 ITypeInfo2;
  67. #endif /* __ITypeInfo2_FWD_DEFINED__ */
  68. #ifndef __ITypeLib_FWD_DEFINED__
  69. #define __ITypeLib_FWD_DEFINED__
  70. typedef interface ITypeLib ITypeLib;
  71. #endif /* __ITypeLib_FWD_DEFINED__ */
  72. #ifndef __ITypeLib2_FWD_DEFINED__
  73. #define __ITypeLib2_FWD_DEFINED__
  74. typedef interface ITypeLib2 ITypeLib2;
  75. #endif /* __ITypeLib2_FWD_DEFINED__ */
  76. #ifndef __ITypeChangeEvents_FWD_DEFINED__
  77. #define __ITypeChangeEvents_FWD_DEFINED__
  78. typedef interface ITypeChangeEvents ITypeChangeEvents;
  79. #endif /* __ITypeChangeEvents_FWD_DEFINED__ */
  80. #ifndef __IErrorInfo_FWD_DEFINED__
  81. #define __IErrorInfo_FWD_DEFINED__
  82. typedef interface IErrorInfo IErrorInfo;
  83. #endif /* __IErrorInfo_FWD_DEFINED__ */
  84. #ifndef __ICreateErrorInfo_FWD_DEFINED__
  85. #define __ICreateErrorInfo_FWD_DEFINED__
  86. typedef interface ICreateErrorInfo ICreateErrorInfo;
  87. #endif /* __ICreateErrorInfo_FWD_DEFINED__ */
  88. #ifndef __ISupportErrorInfo_FWD_DEFINED__
  89. #define __ISupportErrorInfo_FWD_DEFINED__
  90. typedef interface ISupportErrorInfo ISupportErrorInfo;
  91. #endif /* __ISupportErrorInfo_FWD_DEFINED__ */
  92. #ifndef __ITypeFactory_FWD_DEFINED__
  93. #define __ITypeFactory_FWD_DEFINED__
  94. typedef interface ITypeFactory ITypeFactory;
  95. #endif /* __ITypeFactory_FWD_DEFINED__ */
  96. #ifndef __ITypeMarshal_FWD_DEFINED__
  97. #define __ITypeMarshal_FWD_DEFINED__
  98. typedef interface ITypeMarshal ITypeMarshal;
  99. #endif /* __ITypeMarshal_FWD_DEFINED__ */
  100. #ifndef __IRecordInfo_FWD_DEFINED__
  101. #define __IRecordInfo_FWD_DEFINED__
  102. typedef interface IRecordInfo IRecordInfo;
  103. #endif /* __IRecordInfo_FWD_DEFINED__ */
  104. #ifndef __IErrorLog_FWD_DEFINED__
  105. #define __IErrorLog_FWD_DEFINED__
  106. typedef interface IErrorLog IErrorLog;
  107. #endif /* __IErrorLog_FWD_DEFINED__ */
  108. #ifndef __IPropertyBag_FWD_DEFINED__
  109. #define __IPropertyBag_FWD_DEFINED__
  110. typedef interface IPropertyBag IPropertyBag;
  111. #endif /* __IPropertyBag_FWD_DEFINED__ */
  112. /* header files for imported files */
  113. #include "objidl.h"
  114. #ifdef __cplusplus
  115. extern "C"{
  116. #endif
  117. void * __RPC_USER MIDL_user_allocate(size_t);
  118. void __RPC_USER MIDL_user_free( void * );
  119. /* interface __MIDL_itf_oaidl_0000 */
  120. /* [local] */
  121. //+-------------------------------------------------------------------------
  122. //
  123. // Microsoft Windows
  124. // Copyright (c) Microsoft Corporation. All rights reserved.
  125. //
  126. //--------------------------------------------------------------------------
  127. #if ( _MSC_VER >= 800 )
  128. #if _MSC_VER >= 1200
  129. #pragma warning(push)
  130. #endif
  131. #pragma warning(disable:4201) /* Nameless struct/union */
  132. #endif
  133. #if ( _MSC_VER >= 1020 )
  134. #pragma once
  135. #endif
  136. extern RPC_IF_HANDLE __MIDL_itf_oaidl_0000_v0_0_c_ifspec;
  137. extern RPC_IF_HANDLE __MIDL_itf_oaidl_0000_v0_0_s_ifspec;
  138. #ifndef __IOleAutomationTypes_INTERFACE_DEFINED__
  139. #define __IOleAutomationTypes_INTERFACE_DEFINED__
  140. /* interface IOleAutomationTypes */
  141. /* [auto_handle][unique][version] */
  142. typedef CY CURRENCY;
  143. typedef struct tagSAFEARRAYBOUND
  144. {
  145. ULONG cElements;
  146. LONG lLbound;
  147. } SAFEARRAYBOUND;
  148. typedef struct tagSAFEARRAYBOUND *LPSAFEARRAYBOUND;
  149. /* the following is what MIDL knows how to remote */
  150. typedef /* [unique] */ struct _wireVARIANT *wireVARIANT;
  151. typedef /* [unique] */ struct _wireBRECORD *wireBRECORD;
  152. typedef struct _wireSAFEARR_BSTR
  153. {
  154. ULONG Size;
  155. /* [ref][size_is] */ wireBSTR *aBstr;
  156. } SAFEARR_BSTR;
  157. typedef struct _wireSAFEARR_UNKNOWN
  158. {
  159. ULONG Size;
  160. /* [ref][size_is] */ IUnknown **apUnknown;
  161. } SAFEARR_UNKNOWN;
  162. typedef struct _wireSAFEARR_DISPATCH
  163. {
  164. ULONG Size;
  165. /* [ref][size_is] */ IDispatch **apDispatch;
  166. } SAFEARR_DISPATCH;
  167. typedef struct _wireSAFEARR_VARIANT
  168. {
  169. ULONG Size;
  170. /* [ref][size_is] */ wireVARIANT *aVariant;
  171. } SAFEARR_VARIANT;
  172. typedef struct _wireSAFEARR_BRECORD
  173. {
  174. ULONG Size;
  175. /* [ref][size_is] */ wireBRECORD *aRecord;
  176. } SAFEARR_BRECORD;
  177. typedef struct _wireSAFEARR_HAVEIID
  178. {
  179. ULONG Size;
  180. /* [ref][size_is] */ IUnknown **apUnknown;
  181. IID iid;
  182. } SAFEARR_HAVEIID;
  183. typedef /* [v1_enum] */
  184. enum tagSF_TYPE
  185. { SF_ERROR = VT_ERROR,
  186. SF_I1 = VT_I1,
  187. SF_I2 = VT_I2,
  188. SF_I4 = VT_I4,
  189. SF_I8 = VT_I8,
  190. SF_BSTR = VT_BSTR,
  191. SF_UNKNOWN = VT_UNKNOWN,
  192. SF_DISPATCH = VT_DISPATCH,
  193. SF_VARIANT = VT_VARIANT,
  194. SF_RECORD = VT_RECORD,
  195. SF_HAVEIID = VT_UNKNOWN | VT_RESERVED
  196. } SF_TYPE;
  197. typedef struct _wireSAFEARRAY_UNION
  198. {
  199. ULONG sfType;
  200. /* [switch_is] */ /* [switch_type] */ union __MIDL_IOleAutomationTypes_0001
  201. {
  202. /* [case()] */ SAFEARR_BSTR BstrStr;
  203. /* [case()] */ SAFEARR_UNKNOWN UnknownStr;
  204. /* [case()] */ SAFEARR_DISPATCH DispatchStr;
  205. /* [case()] */ SAFEARR_VARIANT VariantStr;
  206. /* [case()] */ SAFEARR_BRECORD RecordStr;
  207. /* [case()] */ SAFEARR_HAVEIID HaveIidStr;
  208. /* [case()] */ BYTE_SIZEDARR ByteStr;
  209. /* [case()] */ WORD_SIZEDARR WordStr;
  210. /* [case()] */ DWORD_SIZEDARR LongStr;
  211. /* [case()] */ HYPER_SIZEDARR HyperStr;
  212. } u;
  213. } SAFEARRAYUNION;
  214. typedef /* [unique] */ struct _wireSAFEARRAY
  215. {
  216. USHORT cDims;
  217. USHORT fFeatures;
  218. ULONG cbElements;
  219. ULONG cLocks;
  220. SAFEARRAYUNION uArrayStructs;
  221. /* [size_is] */ SAFEARRAYBOUND rgsabound[ 1 ];
  222. } *wireSAFEARRAY;
  223. typedef /* [unique] */ wireSAFEARRAY *wirePSAFEARRAY;
  224. typedef struct tagSAFEARRAY
  225. {
  226. USHORT cDims;
  227. USHORT fFeatures;
  228. ULONG cbElements;
  229. ULONG cLocks;
  230. PVOID pvData;
  231. SAFEARRAYBOUND rgsabound[ 1 ];
  232. } SAFEARRAY;
  233. typedef /* [wire_marshal] */ SAFEARRAY *LPSAFEARRAY;
  234. #define FADF_AUTO ( 0x1 )
  235. #define FADF_STATIC ( 0x2 )
  236. #define FADF_EMBEDDED ( 0x4 )
  237. #define FADF_FIXEDSIZE ( 0x10 )
  238. #define FADF_RECORD ( 0x20 )
  239. #define FADF_HAVEIID ( 0x40 )
  240. #define FADF_HAVEVARTYPE ( 0x80 )
  241. #define FADF_BSTR ( 0x100 )
  242. #define FADF_UNKNOWN ( 0x200 )
  243. #define FADF_DISPATCH ( 0x400 )
  244. #define FADF_VARIANT ( 0x800 )
  245. #define FADF_RESERVED ( 0xf008 )
  246. /* VARIANT STRUCTURE
  247. *
  248. * VARTYPE vt;
  249. * WORD wReserved1;
  250. * WORD wReserved2;
  251. * WORD wReserved3;
  252. * union {
  253. * LONGLONG VT_I8
  254. * LONG VT_I4
  255. * BYTE VT_UI1
  256. * SHORT VT_I2
  257. * FLOAT VT_R4
  258. * DOUBLE VT_R8
  259. * VARIANT_BOOL VT_BOOL
  260. * SCODE VT_ERROR
  261. * CY VT_CY
  262. * DATE VT_DATE
  263. * BSTR VT_BSTR
  264. * IUnknown * VT_UNKNOWN
  265. * IDispatch * VT_DISPATCH
  266. * SAFEARRAY * VT_ARRAY
  267. * BYTE * VT_BYREF|VT_UI1
  268. * SHORT * VT_BYREF|VT_I2
  269. * LONG * VT_BYREF|VT_I4
  270. * LONGLONG * VT_BYREF|VT_I8
  271. * FLOAT * VT_BYREF|VT_R4
  272. * DOUBLE * VT_BYREF|VT_R8
  273. * VARIANT_BOOL * VT_BYREF|VT_BOOL
  274. * SCODE * VT_BYREF|VT_ERROR
  275. * CY * VT_BYREF|VT_CY
  276. * DATE * VT_BYREF|VT_DATE
  277. * BSTR * VT_BYREF|VT_BSTR
  278. * IUnknown ** VT_BYREF|VT_UNKNOWN
  279. * IDispatch ** VT_BYREF|VT_DISPATCH
  280. * SAFEARRAY ** VT_BYREF|VT_ARRAY
  281. * VARIANT * VT_BYREF|VT_VARIANT
  282. * PVOID VT_BYREF (Generic ByRef)
  283. * CHAR VT_I1
  284. * USHORT VT_UI2
  285. * ULONG VT_UI4
  286. * ULONGLONG VT_UI8
  287. * INT VT_INT
  288. * UINT VT_UINT
  289. * DECIMAL * VT_BYREF|VT_DECIMAL
  290. * CHAR * VT_BYREF|VT_I1
  291. * USHORT * VT_BYREF|VT_UI2
  292. * ULONG * VT_BYREF|VT_UI4
  293. * ULONGLONG * VT_BYREF|VT_UI8
  294. * INT * VT_BYREF|VT_INT
  295. * UINT * VT_BYREF|VT_UINT
  296. * }
  297. */
  298. #if (__STDC__ && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION)
  299. #define __VARIANT_NAME_1 n1
  300. #define __VARIANT_NAME_2 n2
  301. #define __VARIANT_NAME_3 n3
  302. #define __VARIANT_NAME_4 brecVal
  303. #else
  304. #define __tagVARIANT
  305. #define __VARIANT_NAME_1
  306. #define __VARIANT_NAME_2
  307. #define __VARIANT_NAME_3
  308. #define __tagBRECORD
  309. #define __VARIANT_NAME_4
  310. #endif
  311. typedef /* [wire_marshal] */ struct tagVARIANT VARIANT;
  312. struct tagVARIANT
  313. {
  314. union
  315. {
  316. struct __tagVARIANT
  317. {
  318. VARTYPE vt;
  319. WORD wReserved1;
  320. WORD wReserved2;
  321. WORD wReserved3;
  322. union
  323. {
  324. LONGLONG llVal;
  325. LONG lVal;
  326. BYTE bVal;
  327. SHORT iVal;
  328. FLOAT fltVal;
  329. DOUBLE dblVal;
  330. VARIANT_BOOL boolVal;
  331. _VARIANT_BOOL bool;
  332. SCODE scode;
  333. CY cyVal;
  334. DATE date;
  335. BSTR bstrVal;
  336. IUnknown *punkVal;
  337. IDispatch *pdispVal;
  338. SAFEARRAY *parray;
  339. BYTE *pbVal;
  340. SHORT *piVal;
  341. LONG *plVal;
  342. LONGLONG *pllVal;
  343. FLOAT *pfltVal;
  344. DOUBLE *pdblVal;
  345. VARIANT_BOOL *pboolVal;
  346. _VARIANT_BOOL *pbool;
  347. SCODE *pscode;
  348. CY *pcyVal;
  349. DATE *pdate;
  350. BSTR *pbstrVal;
  351. IUnknown **ppunkVal;
  352. IDispatch **ppdispVal;
  353. SAFEARRAY **pparray;
  354. VARIANT *pvarVal;
  355. PVOID byref;
  356. CHAR cVal;
  357. USHORT uiVal;
  358. ULONG ulVal;
  359. ULONGLONG ullVal;
  360. INT intVal;
  361. UINT uintVal;
  362. DECIMAL *pdecVal;
  363. CHAR *pcVal;
  364. USHORT *puiVal;
  365. ULONG *pulVal;
  366. ULONGLONG *pullVal;
  367. INT *pintVal;
  368. UINT *puintVal;
  369. struct __tagBRECORD
  370. {
  371. PVOID pvRecord;
  372. IRecordInfo *pRecInfo;
  373. } __VARIANT_NAME_4;
  374. } __VARIANT_NAME_3;
  375. } __VARIANT_NAME_2;
  376. DECIMAL decVal;
  377. } __VARIANT_NAME_1;
  378. } ;
  379. typedef VARIANT *LPVARIANT;
  380. typedef VARIANT VARIANTARG;
  381. typedef VARIANT *LPVARIANTARG;
  382. /* the following is what MIDL knows how to remote */
  383. struct _wireBRECORD
  384. {
  385. ULONG fFlags;
  386. ULONG clSize;
  387. IRecordInfo *pRecInfo;
  388. /* [size_is] */ byte *pRecord;
  389. } ;
  390. struct _wireVARIANT
  391. {
  392. DWORD clSize;
  393. DWORD rpcReserved;
  394. USHORT vt;
  395. USHORT wReserved1;
  396. USHORT wReserved2;
  397. USHORT wReserved3;
  398. /* [switch_is][switch_type] */ union
  399. {
  400. /* [case()] */ LONGLONG llVal;
  401. /* [case()] */ LONG lVal;
  402. /* [case()] */ BYTE bVal;
  403. /* [case()] */ SHORT iVal;
  404. /* [case()] */ FLOAT fltVal;
  405. /* [case()] */ DOUBLE dblVal;
  406. /* [case()] */ VARIANT_BOOL boolVal;
  407. /* [case()] */ SCODE scode;
  408. /* [case()] */ CY cyVal;
  409. /* [case()] */ DATE date;
  410. /* [case()] */ wireBSTR bstrVal;
  411. /* [case()] */ IUnknown *punkVal;
  412. /* [case()] */ IDispatch *pdispVal;
  413. /* [case()] */ wirePSAFEARRAY parray;
  414. /* [case()] */ wireBRECORD brecVal;
  415. /* [case()] */ BYTE *pbVal;
  416. /* [case()] */ SHORT *piVal;
  417. /* [case()] */ LONG *plVal;
  418. /* [case()] */ LONGLONG *pllVal;
  419. /* [case()] */ FLOAT *pfltVal;
  420. /* [case()] */ DOUBLE *pdblVal;
  421. /* [case()] */ VARIANT_BOOL *pboolVal;
  422. /* [case()] */ SCODE *pscode;
  423. /* [case()] */ CY *pcyVal;
  424. /* [case()] */ DATE *pdate;
  425. /* [case()] */ wireBSTR *pbstrVal;
  426. /* [case()] */ IUnknown **ppunkVal;
  427. /* [case()] */ IDispatch **ppdispVal;
  428. /* [case()] */ wirePSAFEARRAY *pparray;
  429. /* [case()] */ wireVARIANT *pvarVal;
  430. /* [case()] */ CHAR cVal;
  431. /* [case()] */ USHORT uiVal;
  432. /* [case()] */ ULONG ulVal;
  433. /* [case()] */ ULONGLONG ullVal;
  434. /* [case()] */ INT intVal;
  435. /* [case()] */ UINT uintVal;
  436. /* [case()] */ DECIMAL decVal;
  437. /* [case()] */ DECIMAL *pdecVal;
  438. /* [case()] */ CHAR *pcVal;
  439. /* [case()] */ USHORT *puiVal;
  440. /* [case()] */ ULONG *pulVal;
  441. /* [case()] */ ULONGLONG *pullVal;
  442. /* [case()] */ INT *pintVal;
  443. /* [case()] */ UINT *puintVal;
  444. /* [case()] */ /* Empty union arm */
  445. /* [case()] */ /* Empty union arm */
  446. } ;
  447. } ;
  448. typedef LONG DISPID;
  449. typedef DISPID MEMBERID;
  450. typedef DWORD HREFTYPE;
  451. typedef /* [v1_enum] */
  452. enum tagTYPEKIND
  453. { TKIND_ENUM = 0,
  454. TKIND_RECORD = TKIND_ENUM + 1,
  455. TKIND_MODULE = TKIND_RECORD + 1,
  456. TKIND_INTERFACE = TKIND_MODULE + 1,
  457. TKIND_DISPATCH = TKIND_INTERFACE + 1,
  458. TKIND_COCLASS = TKIND_DISPATCH + 1,
  459. TKIND_ALIAS = TKIND_COCLASS + 1,
  460. TKIND_UNION = TKIND_ALIAS + 1,
  461. TKIND_MAX = TKIND_UNION + 1
  462. } TYPEKIND;
  463. typedef struct tagTYPEDESC
  464. {
  465. /* [switch_is][switch_type] */ union
  466. {
  467. /* [case()] */ struct tagTYPEDESC *lptdesc;
  468. /* [case()] */ struct tagARRAYDESC *lpadesc;
  469. /* [case()] */ HREFTYPE hreftype;
  470. /* [default] */ /* Empty union arm */
  471. } ;
  472. VARTYPE vt;
  473. } TYPEDESC;
  474. typedef struct tagARRAYDESC
  475. {
  476. TYPEDESC tdescElem;
  477. USHORT cDims;
  478. /* [size_is] */ SAFEARRAYBOUND rgbounds[ 1 ];
  479. } ARRAYDESC;
  480. typedef struct tagPARAMDESCEX
  481. {
  482. ULONG cBytes;
  483. VARIANTARG varDefaultValue;
  484. } PARAMDESCEX;
  485. typedef struct tagPARAMDESCEX *LPPARAMDESCEX;
  486. typedef struct tagPARAMDESC
  487. {
  488. LPPARAMDESCEX pparamdescex;
  489. USHORT wParamFlags;
  490. } PARAMDESC;
  491. typedef struct tagPARAMDESC *LPPARAMDESC;
  492. #define PARAMFLAG_NONE ( 0 )
  493. #define PARAMFLAG_FIN ( 0x1 )
  494. #define PARAMFLAG_FOUT ( 0x2 )
  495. #define PARAMFLAG_FLCID ( 0x4 )
  496. #define PARAMFLAG_FRETVAL ( 0x8 )
  497. #define PARAMFLAG_FOPT ( 0x10 )
  498. #define PARAMFLAG_FHASDEFAULT ( 0x20 )
  499. #define PARAMFLAG_FHASCUSTDATA ( 0x40 )
  500. typedef struct tagIDLDESC
  501. {
  502. ULONG_PTR dwReserved;
  503. USHORT wIDLFlags;
  504. } IDLDESC;
  505. typedef struct tagIDLDESC *LPIDLDESC;
  506. #define IDLFLAG_NONE ( PARAMFLAG_NONE )
  507. #define IDLFLAG_FIN ( PARAMFLAG_FIN )
  508. #define IDLFLAG_FOUT ( PARAMFLAG_FOUT )
  509. #define IDLFLAG_FLCID ( PARAMFLAG_FLCID )
  510. #define IDLFLAG_FRETVAL ( PARAMFLAG_FRETVAL )
  511. //;begin_internal
  512. #if 0
  513. /* the following is what MIDL knows how to remote */
  514. typedef struct tagELEMDESC
  515. {
  516. TYPEDESC tdesc;
  517. PARAMDESC paramdesc;
  518. } ELEMDESC;
  519. #else /* 0 */
  520. //;end_internal
  521. typedef struct tagELEMDESC {
  522. TYPEDESC tdesc; /* the type of the element */
  523. union {
  524. IDLDESC idldesc; /* info for remoting the element */
  525. PARAMDESC paramdesc; /* info about the parameter */
  526. };
  527. } ELEMDESC, * LPELEMDESC;
  528. //;begin_internal
  529. #endif /* 0 */
  530. //;end_internal
  531. typedef struct tagTYPEATTR
  532. {
  533. GUID guid;
  534. LCID lcid;
  535. DWORD dwReserved;
  536. MEMBERID memidConstructor;
  537. MEMBERID memidDestructor;
  538. LPOLESTR lpstrSchema;
  539. ULONG cbSizeInstance;
  540. TYPEKIND typekind;
  541. WORD cFuncs;
  542. WORD cVars;
  543. WORD cImplTypes;
  544. WORD cbSizeVft;
  545. WORD cbAlignment;
  546. WORD wTypeFlags;
  547. WORD wMajorVerNum;
  548. WORD wMinorVerNum;
  549. TYPEDESC tdescAlias;
  550. IDLDESC idldescType;
  551. } TYPEATTR;
  552. typedef struct tagTYPEATTR *LPTYPEATTR;
  553. typedef struct tagDISPPARAMS
  554. {
  555. /* [size_is] */ VARIANTARG *rgvarg;
  556. /* [size_is] */ DISPID *rgdispidNamedArgs;
  557. UINT cArgs;
  558. UINT cNamedArgs;
  559. } DISPPARAMS;
  560. //;begin_internal
  561. #if 0
  562. /* the following is what MIDL knows how to remote */
  563. typedef struct tagEXCEPINFO
  564. {
  565. WORD wCode;
  566. WORD wReserved;
  567. BSTR bstrSource;
  568. BSTR bstrDescription;
  569. BSTR bstrHelpFile;
  570. DWORD dwHelpContext;
  571. ULONG_PTR pvReserved;
  572. ULONG_PTR pfnDeferredFillIn;
  573. SCODE scode;
  574. } EXCEPINFO;
  575. #else /* 0 */
  576. //;end_internal
  577. typedef struct tagEXCEPINFO {
  578. WORD wCode;
  579. WORD wReserved;
  580. BSTR bstrSource;
  581. BSTR bstrDescription;
  582. BSTR bstrHelpFile;
  583. DWORD dwHelpContext;
  584. PVOID pvReserved;
  585. HRESULT (__stdcall *pfnDeferredFillIn)(struct tagEXCEPINFO *);
  586. SCODE scode;
  587. } EXCEPINFO, * LPEXCEPINFO;
  588. //;begin_internal
  589. #endif /* 0 */
  590. //;end_internal
  591. typedef /* [v1_enum] */
  592. enum tagCALLCONV
  593. { CC_FASTCALL = 0,
  594. CC_CDECL = 1,
  595. CC_MSCPASCAL = CC_CDECL + 1,
  596. CC_PASCAL = CC_MSCPASCAL,
  597. CC_MACPASCAL = CC_PASCAL + 1,
  598. CC_STDCALL = CC_MACPASCAL + 1,
  599. CC_FPFASTCALL = CC_STDCALL + 1,
  600. CC_SYSCALL = CC_FPFASTCALL + 1,
  601. CC_MPWCDECL = CC_SYSCALL + 1,
  602. CC_MPWPASCAL = CC_MPWCDECL + 1,
  603. CC_MAX = CC_MPWPASCAL + 1
  604. } CALLCONV;
  605. typedef /* [v1_enum] */
  606. enum tagFUNCKIND
  607. { FUNC_VIRTUAL = 0,
  608. FUNC_PUREVIRTUAL = FUNC_VIRTUAL + 1,
  609. FUNC_NONVIRTUAL = FUNC_PUREVIRTUAL + 1,
  610. FUNC_STATIC = FUNC_NONVIRTUAL + 1,
  611. FUNC_DISPATCH = FUNC_STATIC + 1
  612. } FUNCKIND;
  613. typedef /* [v1_enum] */
  614. enum tagINVOKEKIND
  615. { INVOKE_FUNC = 1,
  616. INVOKE_PROPERTYGET = 2,
  617. INVOKE_PROPERTYPUT = 4,
  618. INVOKE_PROPERTYPUTREF = 8
  619. } INVOKEKIND;
  620. typedef struct tagFUNCDESC
  621. {
  622. MEMBERID memid;
  623. /* [size_is] */ SCODE *lprgscode;
  624. /* [size_is] */ ELEMDESC *lprgelemdescParam;
  625. FUNCKIND funckind;
  626. INVOKEKIND invkind;
  627. CALLCONV callconv;
  628. SHORT cParams;
  629. SHORT cParamsOpt;
  630. SHORT oVft;
  631. SHORT cScodes;
  632. ELEMDESC elemdescFunc;
  633. WORD wFuncFlags;
  634. } FUNCDESC;
  635. typedef struct tagFUNCDESC *LPFUNCDESC;
  636. typedef /* [v1_enum] */
  637. enum tagVARKIND
  638. { VAR_PERINSTANCE = 0,
  639. VAR_STATIC = VAR_PERINSTANCE + 1,
  640. VAR_CONST = VAR_STATIC + 1,
  641. VAR_DISPATCH = VAR_CONST + 1
  642. } VARKIND;
  643. #define IMPLTYPEFLAG_FDEFAULT ( 0x1 )
  644. #define IMPLTYPEFLAG_FSOURCE ( 0x2 )
  645. #define IMPLTYPEFLAG_FRESTRICTED ( 0x4 )
  646. #define IMPLTYPEFLAG_FDEFAULTVTABLE ( 0x8 )
  647. typedef struct tagVARDESC
  648. {
  649. MEMBERID memid;
  650. LPOLESTR lpstrSchema;
  651. /* [switch_is][switch_type] */ union
  652. {
  653. /* [case()] */ ULONG oInst;
  654. /* [case()] */ VARIANT *lpvarValue;
  655. } ;
  656. ELEMDESC elemdescVar;
  657. WORD wVarFlags;
  658. VARKIND varkind;
  659. } VARDESC;
  660. typedef struct tagVARDESC *LPVARDESC;
  661. typedef
  662. enum tagTYPEFLAGS
  663. { TYPEFLAG_FAPPOBJECT = 0x1,
  664. TYPEFLAG_FCANCREATE = 0x2,
  665. TYPEFLAG_FLICENSED = 0x4,
  666. TYPEFLAG_FPREDECLID = 0x8,
  667. TYPEFLAG_FHIDDEN = 0x10,
  668. TYPEFLAG_FCONTROL = 0x20,
  669. TYPEFLAG_FDUAL = 0x40,
  670. TYPEFLAG_FNONEXTENSIBLE = 0x80,
  671. TYPEFLAG_FOLEAUTOMATION = 0x100,
  672. TYPEFLAG_FRESTRICTED = 0x200,
  673. TYPEFLAG_FAGGREGATABLE = 0x400,
  674. TYPEFLAG_FREPLACEABLE = 0x800,
  675. TYPEFLAG_FDISPATCHABLE = 0x1000,
  676. TYPEFLAG_FREVERSEBIND = 0x2000,
  677. TYPEFLAG_FPROXY = 0x4000
  678. } TYPEFLAGS;
  679. typedef
  680. enum tagFUNCFLAGS
  681. { FUNCFLAG_FRESTRICTED = 0x1,
  682. FUNCFLAG_FSOURCE = 0x2,
  683. FUNCFLAG_FBINDABLE = 0x4,
  684. FUNCFLAG_FREQUESTEDIT = 0x8,
  685. FUNCFLAG_FDISPLAYBIND = 0x10,
  686. FUNCFLAG_FDEFAULTBIND = 0x20,
  687. FUNCFLAG_FHIDDEN = 0x40,
  688. FUNCFLAG_FUSESGETLASTERROR = 0x80,
  689. FUNCFLAG_FDEFAULTCOLLELEM = 0x100,
  690. FUNCFLAG_FUIDEFAULT = 0x200,
  691. FUNCFLAG_FNONBROWSABLE = 0x400,
  692. FUNCFLAG_FREPLACEABLE = 0x800,
  693. FUNCFLAG_FIMMEDIATEBIND = 0x1000
  694. } FUNCFLAGS;
  695. typedef
  696. enum tagVARFLAGS
  697. { VARFLAG_FREADONLY = 0x1,
  698. VARFLAG_FSOURCE = 0x2,
  699. VARFLAG_FBINDABLE = 0x4,
  700. VARFLAG_FREQUESTEDIT = 0x8,
  701. VARFLAG_FDISPLAYBIND = 0x10,
  702. VARFLAG_FDEFAULTBIND = 0x20,
  703. VARFLAG_FHIDDEN = 0x40,
  704. VARFLAG_FRESTRICTED = 0x80,
  705. VARFLAG_FDEFAULTCOLLELEM = 0x100,
  706. VARFLAG_FUIDEFAULT = 0x200,
  707. VARFLAG_FNONBROWSABLE = 0x400,
  708. VARFLAG_FREPLACEABLE = 0x800,
  709. VARFLAG_FIMMEDIATEBIND = 0x1000
  710. } VARFLAGS;
  711. typedef /* [wire_marshal] */ struct tagCLEANLOCALSTORAGE
  712. {
  713. IUnknown *pInterface;
  714. PVOID pStorage;
  715. DWORD flags;
  716. } CLEANLOCALSTORAGE;
  717. typedef struct tagCUSTDATAITEM
  718. {
  719. GUID guid;
  720. VARIANTARG varValue;
  721. } CUSTDATAITEM;
  722. typedef struct tagCUSTDATAITEM *LPCUSTDATAITEM;
  723. typedef struct tagCUSTDATA
  724. {
  725. DWORD cCustData;
  726. /* [size_is] */ LPCUSTDATAITEM prgCustData;
  727. } CUSTDATA;
  728. typedef struct tagCUSTDATA *LPCUSTDATA;
  729. extern RPC_IF_HANDLE IOleAutomationTypes_v1_0_c_ifspec;
  730. extern RPC_IF_HANDLE IOleAutomationTypes_v1_0_s_ifspec;
  731. #endif /* __IOleAutomationTypes_INTERFACE_DEFINED__ */
  732. #ifndef __ICreateTypeInfo_INTERFACE_DEFINED__
  733. #define __ICreateTypeInfo_INTERFACE_DEFINED__
  734. /* interface ICreateTypeInfo */
  735. /* [local][unique][uuid][object] */
  736. typedef /* [unique] */ ICreateTypeInfo *LPCREATETYPEINFO;
  737. EXTERN_C const IID IID_ICreateTypeInfo;
  738. #if defined(__cplusplus) && !defined(CINTERFACE)
  739. MIDL_INTERFACE("00020405-0000-0000-C000-000000000046")
  740. ICreateTypeInfo : public IUnknown
  741. {
  742. public:
  743. virtual HRESULT STDMETHODCALLTYPE SetGuid(
  744. /* [in] */ REFGUID guid) = 0;
  745. virtual HRESULT STDMETHODCALLTYPE SetTypeFlags(
  746. /* [in] */ UINT uTypeFlags) = 0;
  747. virtual HRESULT STDMETHODCALLTYPE SetDocString(
  748. /* [in] */ LPOLESTR pStrDoc) = 0;
  749. virtual HRESULT STDMETHODCALLTYPE SetHelpContext(
  750. /* [in] */ DWORD dwHelpContext) = 0;
  751. virtual HRESULT STDMETHODCALLTYPE SetVersion(
  752. /* [in] */ WORD wMajorVerNum,
  753. /* [in] */ WORD wMinorVerNum) = 0;
  754. virtual HRESULT STDMETHODCALLTYPE AddRefTypeInfo(
  755. /* [in] */ ITypeInfo *pTInfo,
  756. /* [in] */ HREFTYPE *phRefType) = 0;
  757. virtual HRESULT STDMETHODCALLTYPE AddFuncDesc(
  758. /* [in] */ UINT index,
  759. /* [in] */ FUNCDESC *pFuncDesc) = 0;
  760. virtual HRESULT STDMETHODCALLTYPE AddImplType(
  761. /* [in] */ UINT index,
  762. /* [in] */ HREFTYPE hRefType) = 0;
  763. virtual HRESULT STDMETHODCALLTYPE SetImplTypeFlags(
  764. /* [in] */ UINT index,
  765. /* [in] */ INT implTypeFlags) = 0;
  766. virtual HRESULT STDMETHODCALLTYPE SetAlignment(
  767. /* [in] */ WORD cbAlignment) = 0;
  768. virtual HRESULT STDMETHODCALLTYPE SetSchema(
  769. /* [in] */ LPOLESTR pStrSchema) = 0;
  770. virtual HRESULT STDMETHODCALLTYPE AddVarDesc(
  771. /* [in] */ UINT index,
  772. /* [in] */ VARDESC *pVarDesc) = 0;
  773. virtual HRESULT STDMETHODCALLTYPE SetFuncAndParamNames(
  774. /* [in] */ UINT index,
  775. /* [in][size_is][in] */ LPOLESTR *rgszNames,
  776. /* [in] */ UINT cNames) = 0;
  777. virtual HRESULT STDMETHODCALLTYPE SetVarName(
  778. /* [in] */ UINT index,
  779. /* [in] */ LPOLESTR szName) = 0;
  780. virtual HRESULT STDMETHODCALLTYPE SetTypeDescAlias(
  781. /* [in] */ TYPEDESC *pTDescAlias) = 0;
  782. virtual HRESULT STDMETHODCALLTYPE DefineFuncAsDllEntry(
  783. /* [in] */ UINT index,
  784. /* [in] */ LPOLESTR szDllName,
  785. /* [in] */ LPOLESTR szProcName) = 0;
  786. virtual HRESULT STDMETHODCALLTYPE SetFuncDocString(
  787. /* [in] */ UINT index,
  788. /* [in] */ LPOLESTR szDocString) = 0;
  789. virtual HRESULT STDMETHODCALLTYPE SetVarDocString(
  790. /* [in] */ UINT index,
  791. /* [in] */ LPOLESTR szDocString) = 0;
  792. virtual HRESULT STDMETHODCALLTYPE SetFuncHelpContext(
  793. /* [in] */ UINT index,
  794. /* [in] */ DWORD dwHelpContext) = 0;
  795. virtual HRESULT STDMETHODCALLTYPE SetVarHelpContext(
  796. /* [in] */ UINT index,
  797. /* [in] */ DWORD dwHelpContext) = 0;
  798. virtual HRESULT STDMETHODCALLTYPE SetMops(
  799. /* [in] */ UINT index,
  800. /* [in] */ BSTR bstrMops) = 0;
  801. virtual HRESULT STDMETHODCALLTYPE SetTypeIdldesc(
  802. /* [in] */ IDLDESC *pIdlDesc) = 0;
  803. virtual HRESULT STDMETHODCALLTYPE LayOut( void) = 0;
  804. };
  805. #else /* C style interface */
  806. typedef struct ICreateTypeInfoVtbl
  807. {
  808. BEGIN_INTERFACE
  809. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  810. ICreateTypeInfo * This,
  811. /* [in] */ REFIID riid,
  812. /* [iid_is][out] */ void **ppvObject);
  813. ULONG ( STDMETHODCALLTYPE *AddRef )(
  814. ICreateTypeInfo * This);
  815. ULONG ( STDMETHODCALLTYPE *Release )(
  816. ICreateTypeInfo * This);
  817. HRESULT ( STDMETHODCALLTYPE *SetGuid )(
  818. ICreateTypeInfo * This,
  819. /* [in] */ REFGUID guid);
  820. HRESULT ( STDMETHODCALLTYPE *SetTypeFlags )(
  821. ICreateTypeInfo * This,
  822. /* [in] */ UINT uTypeFlags);
  823. HRESULT ( STDMETHODCALLTYPE *SetDocString )(
  824. ICreateTypeInfo * This,
  825. /* [in] */ LPOLESTR pStrDoc);
  826. HRESULT ( STDMETHODCALLTYPE *SetHelpContext )(
  827. ICreateTypeInfo * This,
  828. /* [in] */ DWORD dwHelpContext);
  829. HRESULT ( STDMETHODCALLTYPE *SetVersion )(
  830. ICreateTypeInfo * This,
  831. /* [in] */ WORD wMajorVerNum,
  832. /* [in] */ WORD wMinorVerNum);
  833. HRESULT ( STDMETHODCALLTYPE *AddRefTypeInfo )(
  834. ICreateTypeInfo * This,
  835. /* [in] */ ITypeInfo *pTInfo,
  836. /* [in] */ HREFTYPE *phRefType);
  837. HRESULT ( STDMETHODCALLTYPE *AddFuncDesc )(
  838. ICreateTypeInfo * This,
  839. /* [in] */ UINT index,
  840. /* [in] */ FUNCDESC *pFuncDesc);
  841. HRESULT ( STDMETHODCALLTYPE *AddImplType )(
  842. ICreateTypeInfo * This,
  843. /* [in] */ UINT index,
  844. /* [in] */ HREFTYPE hRefType);
  845. HRESULT ( STDMETHODCALLTYPE *SetImplTypeFlags )(
  846. ICreateTypeInfo * This,
  847. /* [in] */ UINT index,
  848. /* [in] */ INT implTypeFlags);
  849. HRESULT ( STDMETHODCALLTYPE *SetAlignment )(
  850. ICreateTypeInfo * This,
  851. /* [in] */ WORD cbAlignment);
  852. HRESULT ( STDMETHODCALLTYPE *SetSchema )(
  853. ICreateTypeInfo * This,
  854. /* [in] */ LPOLESTR pStrSchema);
  855. HRESULT ( STDMETHODCALLTYPE *AddVarDesc )(
  856. ICreateTypeInfo * This,
  857. /* [in] */ UINT index,
  858. /* [in] */ VARDESC *pVarDesc);
  859. HRESULT ( STDMETHODCALLTYPE *SetFuncAndParamNames )(
  860. ICreateTypeInfo * This,
  861. /* [in] */ UINT index,
  862. /* [in][size_is][in] */ LPOLESTR *rgszNames,
  863. /* [in] */ UINT cNames);
  864. HRESULT ( STDMETHODCALLTYPE *SetVarName )(
  865. ICreateTypeInfo * This,
  866. /* [in] */ UINT index,
  867. /* [in] */ LPOLESTR szName);
  868. HRESULT ( STDMETHODCALLTYPE *SetTypeDescAlias )(
  869. ICreateTypeInfo * This,
  870. /* [in] */ TYPEDESC *pTDescAlias);
  871. HRESULT ( STDMETHODCALLTYPE *DefineFuncAsDllEntry )(
  872. ICreateTypeInfo * This,
  873. /* [in] */ UINT index,
  874. /* [in] */ LPOLESTR szDllName,
  875. /* [in] */ LPOLESTR szProcName);
  876. HRESULT ( STDMETHODCALLTYPE *SetFuncDocString )(
  877. ICreateTypeInfo * This,
  878. /* [in] */ UINT index,
  879. /* [in] */ LPOLESTR szDocString);
  880. HRESULT ( STDMETHODCALLTYPE *SetVarDocString )(
  881. ICreateTypeInfo * This,
  882. /* [in] */ UINT index,
  883. /* [in] */ LPOLESTR szDocString);
  884. HRESULT ( STDMETHODCALLTYPE *SetFuncHelpContext )(
  885. ICreateTypeInfo * This,
  886. /* [in] */ UINT index,
  887. /* [in] */ DWORD dwHelpContext);
  888. HRESULT ( STDMETHODCALLTYPE *SetVarHelpContext )(
  889. ICreateTypeInfo * This,
  890. /* [in] */ UINT index,
  891. /* [in] */ DWORD dwHelpContext);
  892. HRESULT ( STDMETHODCALLTYPE *SetMops )(
  893. ICreateTypeInfo * This,
  894. /* [in] */ UINT index,
  895. /* [in] */ BSTR bstrMops);
  896. HRESULT ( STDMETHODCALLTYPE *SetTypeIdldesc )(
  897. ICreateTypeInfo * This,
  898. /* [in] */ IDLDESC *pIdlDesc);
  899. HRESULT ( STDMETHODCALLTYPE *LayOut )(
  900. ICreateTypeInfo * This);
  901. END_INTERFACE
  902. } ICreateTypeInfoVtbl;
  903. interface ICreateTypeInfo
  904. {
  905. CONST_VTBL struct ICreateTypeInfoVtbl *lpVtbl;
  906. };
  907. #ifdef COBJMACROS
  908. #define ICreateTypeInfo_QueryInterface(This,riid,ppvObject) \
  909. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  910. #define ICreateTypeInfo_AddRef(This) \
  911. (This)->lpVtbl -> AddRef(This)
  912. #define ICreateTypeInfo_Release(This) \
  913. (This)->lpVtbl -> Release(This)
  914. #define ICreateTypeInfo_SetGuid(This,guid) \
  915. (This)->lpVtbl -> SetGuid(This,guid)
  916. #define ICreateTypeInfo_SetTypeFlags(This,uTypeFlags) \
  917. (This)->lpVtbl -> SetTypeFlags(This,uTypeFlags)
  918. #define ICreateTypeInfo_SetDocString(This,pStrDoc) \
  919. (This)->lpVtbl -> SetDocString(This,pStrDoc)
  920. #define ICreateTypeInfo_SetHelpContext(This,dwHelpContext) \
  921. (This)->lpVtbl -> SetHelpContext(This,dwHelpContext)
  922. #define ICreateTypeInfo_SetVersion(This,wMajorVerNum,wMinorVerNum) \
  923. (This)->lpVtbl -> SetVersion(This,wMajorVerNum,wMinorVerNum)
  924. #define ICreateTypeInfo_AddRefTypeInfo(This,pTInfo,phRefType) \
  925. (This)->lpVtbl -> AddRefTypeInfo(This,pTInfo,phRefType)
  926. #define ICreateTypeInfo_AddFuncDesc(This,index,pFuncDesc) \
  927. (This)->lpVtbl -> AddFuncDesc(This,index,pFuncDesc)
  928. #define ICreateTypeInfo_AddImplType(This,index,hRefType) \
  929. (This)->lpVtbl -> AddImplType(This,index,hRefType)
  930. #define ICreateTypeInfo_SetImplTypeFlags(This,index,implTypeFlags) \
  931. (This)->lpVtbl -> SetImplTypeFlags(This,index,implTypeFlags)
  932. #define ICreateTypeInfo_SetAlignment(This,cbAlignment) \
  933. (This)->lpVtbl -> SetAlignment(This,cbAlignment)
  934. #define ICreateTypeInfo_SetSchema(This,pStrSchema) \
  935. (This)->lpVtbl -> SetSchema(This,pStrSchema)
  936. #define ICreateTypeInfo_AddVarDesc(This,index,pVarDesc) \
  937. (This)->lpVtbl -> AddVarDesc(This,index,pVarDesc)
  938. #define ICreateTypeInfo_SetFuncAndParamNames(This,index,rgszNames,cNames) \
  939. (This)->lpVtbl -> SetFuncAndParamNames(This,index,rgszNames,cNames)
  940. #define ICreateTypeInfo_SetVarName(This,index,szName) \
  941. (This)->lpVtbl -> SetVarName(This,index,szName)
  942. #define ICreateTypeInfo_SetTypeDescAlias(This,pTDescAlias) \
  943. (This)->lpVtbl -> SetTypeDescAlias(This,pTDescAlias)
  944. #define ICreateTypeInfo_DefineFuncAsDllEntry(This,index,szDllName,szProcName) \
  945. (This)->lpVtbl -> DefineFuncAsDllEntry(This,index,szDllName,szProcName)
  946. #define ICreateTypeInfo_SetFuncDocString(This,index,szDocString) \
  947. (This)->lpVtbl -> SetFuncDocString(This,index,szDocString)
  948. #define ICreateTypeInfo_SetVarDocString(This,index,szDocString) \
  949. (This)->lpVtbl -> SetVarDocString(This,index,szDocString)
  950. #define ICreateTypeInfo_SetFuncHelpContext(This,index,dwHelpContext) \
  951. (This)->lpVtbl -> SetFuncHelpContext(This,index,dwHelpContext)
  952. #define ICreateTypeInfo_SetVarHelpContext(This,index,dwHelpContext) \
  953. (This)->lpVtbl -> SetVarHelpContext(This,index,dwHelpContext)
  954. #define ICreateTypeInfo_SetMops(This,index,bstrMops) \
  955. (This)->lpVtbl -> SetMops(This,index,bstrMops)
  956. #define ICreateTypeInfo_SetTypeIdldesc(This,pIdlDesc) \
  957. (This)->lpVtbl -> SetTypeIdldesc(This,pIdlDesc)
  958. #define ICreateTypeInfo_LayOut(This) \
  959. (This)->lpVtbl -> LayOut(This)
  960. #endif /* COBJMACROS */
  961. #endif /* C style interface */
  962. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetGuid_Proxy(
  963. ICreateTypeInfo * This,
  964. /* [in] */ REFGUID guid);
  965. void __RPC_STUB ICreateTypeInfo_SetGuid_Stub(
  966. IRpcStubBuffer *This,
  967. IRpcChannelBuffer *_pRpcChannelBuffer,
  968. PRPC_MESSAGE _pRpcMessage,
  969. DWORD *_pdwStubPhase);
  970. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetTypeFlags_Proxy(
  971. ICreateTypeInfo * This,
  972. /* [in] */ UINT uTypeFlags);
  973. void __RPC_STUB ICreateTypeInfo_SetTypeFlags_Stub(
  974. IRpcStubBuffer *This,
  975. IRpcChannelBuffer *_pRpcChannelBuffer,
  976. PRPC_MESSAGE _pRpcMessage,
  977. DWORD *_pdwStubPhase);
  978. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetDocString_Proxy(
  979. ICreateTypeInfo * This,
  980. /* [in] */ LPOLESTR pStrDoc);
  981. void __RPC_STUB ICreateTypeInfo_SetDocString_Stub(
  982. IRpcStubBuffer *This,
  983. IRpcChannelBuffer *_pRpcChannelBuffer,
  984. PRPC_MESSAGE _pRpcMessage,
  985. DWORD *_pdwStubPhase);
  986. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetHelpContext_Proxy(
  987. ICreateTypeInfo * This,
  988. /* [in] */ DWORD dwHelpContext);
  989. void __RPC_STUB ICreateTypeInfo_SetHelpContext_Stub(
  990. IRpcStubBuffer *This,
  991. IRpcChannelBuffer *_pRpcChannelBuffer,
  992. PRPC_MESSAGE _pRpcMessage,
  993. DWORD *_pdwStubPhase);
  994. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetVersion_Proxy(
  995. ICreateTypeInfo * This,
  996. /* [in] */ WORD wMajorVerNum,
  997. /* [in] */ WORD wMinorVerNum);
  998. void __RPC_STUB ICreateTypeInfo_SetVersion_Stub(
  999. IRpcStubBuffer *This,
  1000. IRpcChannelBuffer *_pRpcChannelBuffer,
  1001. PRPC_MESSAGE _pRpcMessage,
  1002. DWORD *_pdwStubPhase);
  1003. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_AddRefTypeInfo_Proxy(
  1004. ICreateTypeInfo * This,
  1005. /* [in] */ ITypeInfo *pTInfo,
  1006. /* [in] */ HREFTYPE *phRefType);
  1007. void __RPC_STUB ICreateTypeInfo_AddRefTypeInfo_Stub(
  1008. IRpcStubBuffer *This,
  1009. IRpcChannelBuffer *_pRpcChannelBuffer,
  1010. PRPC_MESSAGE _pRpcMessage,
  1011. DWORD *_pdwStubPhase);
  1012. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_AddFuncDesc_Proxy(
  1013. ICreateTypeInfo * This,
  1014. /* [in] */ UINT index,
  1015. /* [in] */ FUNCDESC *pFuncDesc);
  1016. void __RPC_STUB ICreateTypeInfo_AddFuncDesc_Stub(
  1017. IRpcStubBuffer *This,
  1018. IRpcChannelBuffer *_pRpcChannelBuffer,
  1019. PRPC_MESSAGE _pRpcMessage,
  1020. DWORD *_pdwStubPhase);
  1021. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_AddImplType_Proxy(
  1022. ICreateTypeInfo * This,
  1023. /* [in] */ UINT index,
  1024. /* [in] */ HREFTYPE hRefType);
  1025. void __RPC_STUB ICreateTypeInfo_AddImplType_Stub(
  1026. IRpcStubBuffer *This,
  1027. IRpcChannelBuffer *_pRpcChannelBuffer,
  1028. PRPC_MESSAGE _pRpcMessage,
  1029. DWORD *_pdwStubPhase);
  1030. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetImplTypeFlags_Proxy(
  1031. ICreateTypeInfo * This,
  1032. /* [in] */ UINT index,
  1033. /* [in] */ INT implTypeFlags);
  1034. void __RPC_STUB ICreateTypeInfo_SetImplTypeFlags_Stub(
  1035. IRpcStubBuffer *This,
  1036. IRpcChannelBuffer *_pRpcChannelBuffer,
  1037. PRPC_MESSAGE _pRpcMessage,
  1038. DWORD *_pdwStubPhase);
  1039. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetAlignment_Proxy(
  1040. ICreateTypeInfo * This,
  1041. /* [in] */ WORD cbAlignment);
  1042. void __RPC_STUB ICreateTypeInfo_SetAlignment_Stub(
  1043. IRpcStubBuffer *This,
  1044. IRpcChannelBuffer *_pRpcChannelBuffer,
  1045. PRPC_MESSAGE _pRpcMessage,
  1046. DWORD *_pdwStubPhase);
  1047. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetSchema_Proxy(
  1048. ICreateTypeInfo * This,
  1049. /* [in] */ LPOLESTR pStrSchema);
  1050. void __RPC_STUB ICreateTypeInfo_SetSchema_Stub(
  1051. IRpcStubBuffer *This,
  1052. IRpcChannelBuffer *_pRpcChannelBuffer,
  1053. PRPC_MESSAGE _pRpcMessage,
  1054. DWORD *_pdwStubPhase);
  1055. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_AddVarDesc_Proxy(
  1056. ICreateTypeInfo * This,
  1057. /* [in] */ UINT index,
  1058. /* [in] */ VARDESC *pVarDesc);
  1059. void __RPC_STUB ICreateTypeInfo_AddVarDesc_Stub(
  1060. IRpcStubBuffer *This,
  1061. IRpcChannelBuffer *_pRpcChannelBuffer,
  1062. PRPC_MESSAGE _pRpcMessage,
  1063. DWORD *_pdwStubPhase);
  1064. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetFuncAndParamNames_Proxy(
  1065. ICreateTypeInfo * This,
  1066. /* [in] */ UINT index,
  1067. /* [in][size_is][in] */ LPOLESTR *rgszNames,
  1068. /* [in] */ UINT cNames);
  1069. void __RPC_STUB ICreateTypeInfo_SetFuncAndParamNames_Stub(
  1070. IRpcStubBuffer *This,
  1071. IRpcChannelBuffer *_pRpcChannelBuffer,
  1072. PRPC_MESSAGE _pRpcMessage,
  1073. DWORD *_pdwStubPhase);
  1074. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetVarName_Proxy(
  1075. ICreateTypeInfo * This,
  1076. /* [in] */ UINT index,
  1077. /* [in] */ LPOLESTR szName);
  1078. void __RPC_STUB ICreateTypeInfo_SetVarName_Stub(
  1079. IRpcStubBuffer *This,
  1080. IRpcChannelBuffer *_pRpcChannelBuffer,
  1081. PRPC_MESSAGE _pRpcMessage,
  1082. DWORD *_pdwStubPhase);
  1083. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetTypeDescAlias_Proxy(
  1084. ICreateTypeInfo * This,
  1085. /* [in] */ TYPEDESC *pTDescAlias);
  1086. void __RPC_STUB ICreateTypeInfo_SetTypeDescAlias_Stub(
  1087. IRpcStubBuffer *This,
  1088. IRpcChannelBuffer *_pRpcChannelBuffer,
  1089. PRPC_MESSAGE _pRpcMessage,
  1090. DWORD *_pdwStubPhase);
  1091. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_DefineFuncAsDllEntry_Proxy(
  1092. ICreateTypeInfo * This,
  1093. /* [in] */ UINT index,
  1094. /* [in] */ LPOLESTR szDllName,
  1095. /* [in] */ LPOLESTR szProcName);
  1096. void __RPC_STUB ICreateTypeInfo_DefineFuncAsDllEntry_Stub(
  1097. IRpcStubBuffer *This,
  1098. IRpcChannelBuffer *_pRpcChannelBuffer,
  1099. PRPC_MESSAGE _pRpcMessage,
  1100. DWORD *_pdwStubPhase);
  1101. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetFuncDocString_Proxy(
  1102. ICreateTypeInfo * This,
  1103. /* [in] */ UINT index,
  1104. /* [in] */ LPOLESTR szDocString);
  1105. void __RPC_STUB ICreateTypeInfo_SetFuncDocString_Stub(
  1106. IRpcStubBuffer *This,
  1107. IRpcChannelBuffer *_pRpcChannelBuffer,
  1108. PRPC_MESSAGE _pRpcMessage,
  1109. DWORD *_pdwStubPhase);
  1110. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetVarDocString_Proxy(
  1111. ICreateTypeInfo * This,
  1112. /* [in] */ UINT index,
  1113. /* [in] */ LPOLESTR szDocString);
  1114. void __RPC_STUB ICreateTypeInfo_SetVarDocString_Stub(
  1115. IRpcStubBuffer *This,
  1116. IRpcChannelBuffer *_pRpcChannelBuffer,
  1117. PRPC_MESSAGE _pRpcMessage,
  1118. DWORD *_pdwStubPhase);
  1119. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetFuncHelpContext_Proxy(
  1120. ICreateTypeInfo * This,
  1121. /* [in] */ UINT index,
  1122. /* [in] */ DWORD dwHelpContext);
  1123. void __RPC_STUB ICreateTypeInfo_SetFuncHelpContext_Stub(
  1124. IRpcStubBuffer *This,
  1125. IRpcChannelBuffer *_pRpcChannelBuffer,
  1126. PRPC_MESSAGE _pRpcMessage,
  1127. DWORD *_pdwStubPhase);
  1128. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetVarHelpContext_Proxy(
  1129. ICreateTypeInfo * This,
  1130. /* [in] */ UINT index,
  1131. /* [in] */ DWORD dwHelpContext);
  1132. void __RPC_STUB ICreateTypeInfo_SetVarHelpContext_Stub(
  1133. IRpcStubBuffer *This,
  1134. IRpcChannelBuffer *_pRpcChannelBuffer,
  1135. PRPC_MESSAGE _pRpcMessage,
  1136. DWORD *_pdwStubPhase);
  1137. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetMops_Proxy(
  1138. ICreateTypeInfo * This,
  1139. /* [in] */ UINT index,
  1140. /* [in] */ BSTR bstrMops);
  1141. void __RPC_STUB ICreateTypeInfo_SetMops_Stub(
  1142. IRpcStubBuffer *This,
  1143. IRpcChannelBuffer *_pRpcChannelBuffer,
  1144. PRPC_MESSAGE _pRpcMessage,
  1145. DWORD *_pdwStubPhase);
  1146. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetTypeIdldesc_Proxy(
  1147. ICreateTypeInfo * This,
  1148. /* [in] */ IDLDESC *pIdlDesc);
  1149. void __RPC_STUB ICreateTypeInfo_SetTypeIdldesc_Stub(
  1150. IRpcStubBuffer *This,
  1151. IRpcChannelBuffer *_pRpcChannelBuffer,
  1152. PRPC_MESSAGE _pRpcMessage,
  1153. DWORD *_pdwStubPhase);
  1154. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_LayOut_Proxy(
  1155. ICreateTypeInfo * This);
  1156. void __RPC_STUB ICreateTypeInfo_LayOut_Stub(
  1157. IRpcStubBuffer *This,
  1158. IRpcChannelBuffer *_pRpcChannelBuffer,
  1159. PRPC_MESSAGE _pRpcMessage,
  1160. DWORD *_pdwStubPhase);
  1161. #endif /* __ICreateTypeInfo_INTERFACE_DEFINED__ */
  1162. #ifndef __ICreateTypeInfo2_INTERFACE_DEFINED__
  1163. #define __ICreateTypeInfo2_INTERFACE_DEFINED__
  1164. /* interface ICreateTypeInfo2 */
  1165. /* [local][unique][uuid][object] */
  1166. typedef /* [unique] */ ICreateTypeInfo2 *LPCREATETYPEINFO2;
  1167. EXTERN_C const IID IID_ICreateTypeInfo2;
  1168. #if defined(__cplusplus) && !defined(CINTERFACE)
  1169. MIDL_INTERFACE("0002040E-0000-0000-C000-000000000046")
  1170. ICreateTypeInfo2 : public ICreateTypeInfo
  1171. {
  1172. public:
  1173. virtual HRESULT STDMETHODCALLTYPE DeleteFuncDesc(
  1174. /* [in] */ UINT index) = 0;
  1175. virtual HRESULT STDMETHODCALLTYPE DeleteFuncDescByMemId(
  1176. /* [in] */ MEMBERID memid,
  1177. /* [in] */ INVOKEKIND invKind) = 0;
  1178. virtual HRESULT STDMETHODCALLTYPE DeleteVarDesc(
  1179. /* [in] */ UINT index) = 0;
  1180. virtual HRESULT STDMETHODCALLTYPE DeleteVarDescByMemId(
  1181. /* [in] */ MEMBERID memid) = 0;
  1182. virtual HRESULT STDMETHODCALLTYPE DeleteImplType(
  1183. /* [in] */ UINT index) = 0;
  1184. virtual HRESULT STDMETHODCALLTYPE SetCustData(
  1185. /* [in] */ REFGUID guid,
  1186. /* [in] */ VARIANT *pVarVal) = 0;
  1187. virtual HRESULT STDMETHODCALLTYPE SetFuncCustData(
  1188. /* [in] */ UINT index,
  1189. /* [in] */ REFGUID guid,
  1190. /* [in] */ VARIANT *pVarVal) = 0;
  1191. virtual HRESULT STDMETHODCALLTYPE SetParamCustData(
  1192. /* [in] */ UINT indexFunc,
  1193. /* [in] */ UINT indexParam,
  1194. /* [in] */ REFGUID guid,
  1195. /* [in] */ VARIANT *pVarVal) = 0;
  1196. virtual HRESULT STDMETHODCALLTYPE SetVarCustData(
  1197. /* [in] */ UINT index,
  1198. /* [in] */ REFGUID guid,
  1199. /* [in] */ VARIANT *pVarVal) = 0;
  1200. virtual HRESULT STDMETHODCALLTYPE SetImplTypeCustData(
  1201. /* [in] */ UINT index,
  1202. /* [in] */ REFGUID guid,
  1203. /* [in] */ VARIANT *pVarVal) = 0;
  1204. virtual HRESULT STDMETHODCALLTYPE SetHelpStringContext(
  1205. /* [in] */ ULONG dwHelpStringContext) = 0;
  1206. virtual HRESULT STDMETHODCALLTYPE SetFuncHelpStringContext(
  1207. /* [in] */ UINT index,
  1208. /* [in] */ ULONG dwHelpStringContext) = 0;
  1209. virtual HRESULT STDMETHODCALLTYPE SetVarHelpStringContext(
  1210. /* [in] */ UINT index,
  1211. /* [in] */ ULONG dwHelpStringContext) = 0;
  1212. virtual HRESULT STDMETHODCALLTYPE Invalidate( void) = 0;
  1213. virtual HRESULT STDMETHODCALLTYPE SetName(
  1214. /* [in] */ LPOLESTR szName) = 0;
  1215. };
  1216. #else /* C style interface */
  1217. typedef struct ICreateTypeInfo2Vtbl
  1218. {
  1219. BEGIN_INTERFACE
  1220. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1221. ICreateTypeInfo2 * This,
  1222. /* [in] */ REFIID riid,
  1223. /* [iid_is][out] */ void **ppvObject);
  1224. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1225. ICreateTypeInfo2 * This);
  1226. ULONG ( STDMETHODCALLTYPE *Release )(
  1227. ICreateTypeInfo2 * This);
  1228. HRESULT ( STDMETHODCALLTYPE *SetGuid )(
  1229. ICreateTypeInfo2 * This,
  1230. /* [in] */ REFGUID guid);
  1231. HRESULT ( STDMETHODCALLTYPE *SetTypeFlags )(
  1232. ICreateTypeInfo2 * This,
  1233. /* [in] */ UINT uTypeFlags);
  1234. HRESULT ( STDMETHODCALLTYPE *SetDocString )(
  1235. ICreateTypeInfo2 * This,
  1236. /* [in] */ LPOLESTR pStrDoc);
  1237. HRESULT ( STDMETHODCALLTYPE *SetHelpContext )(
  1238. ICreateTypeInfo2 * This,
  1239. /* [in] */ DWORD dwHelpContext);
  1240. HRESULT ( STDMETHODCALLTYPE *SetVersion )(
  1241. ICreateTypeInfo2 * This,
  1242. /* [in] */ WORD wMajorVerNum,
  1243. /* [in] */ WORD wMinorVerNum);
  1244. HRESULT ( STDMETHODCALLTYPE *AddRefTypeInfo )(
  1245. ICreateTypeInfo2 * This,
  1246. /* [in] */ ITypeInfo *pTInfo,
  1247. /* [in] */ HREFTYPE *phRefType);
  1248. HRESULT ( STDMETHODCALLTYPE *AddFuncDesc )(
  1249. ICreateTypeInfo2 * This,
  1250. /* [in] */ UINT index,
  1251. /* [in] */ FUNCDESC *pFuncDesc);
  1252. HRESULT ( STDMETHODCALLTYPE *AddImplType )(
  1253. ICreateTypeInfo2 * This,
  1254. /* [in] */ UINT index,
  1255. /* [in] */ HREFTYPE hRefType);
  1256. HRESULT ( STDMETHODCALLTYPE *SetImplTypeFlags )(
  1257. ICreateTypeInfo2 * This,
  1258. /* [in] */ UINT index,
  1259. /* [in] */ INT implTypeFlags);
  1260. HRESULT ( STDMETHODCALLTYPE *SetAlignment )(
  1261. ICreateTypeInfo2 * This,
  1262. /* [in] */ WORD cbAlignment);
  1263. HRESULT ( STDMETHODCALLTYPE *SetSchema )(
  1264. ICreateTypeInfo2 * This,
  1265. /* [in] */ LPOLESTR pStrSchema);
  1266. HRESULT ( STDMETHODCALLTYPE *AddVarDesc )(
  1267. ICreateTypeInfo2 * This,
  1268. /* [in] */ UINT index,
  1269. /* [in] */ VARDESC *pVarDesc);
  1270. HRESULT ( STDMETHODCALLTYPE *SetFuncAndParamNames )(
  1271. ICreateTypeInfo2 * This,
  1272. /* [in] */ UINT index,
  1273. /* [in][size_is][in] */ LPOLESTR *rgszNames,
  1274. /* [in] */ UINT cNames);
  1275. HRESULT ( STDMETHODCALLTYPE *SetVarName )(
  1276. ICreateTypeInfo2 * This,
  1277. /* [in] */ UINT index,
  1278. /* [in] */ LPOLESTR szName);
  1279. HRESULT ( STDMETHODCALLTYPE *SetTypeDescAlias )(
  1280. ICreateTypeInfo2 * This,
  1281. /* [in] */ TYPEDESC *pTDescAlias);
  1282. HRESULT ( STDMETHODCALLTYPE *DefineFuncAsDllEntry )(
  1283. ICreateTypeInfo2 * This,
  1284. /* [in] */ UINT index,
  1285. /* [in] */ LPOLESTR szDllName,
  1286. /* [in] */ LPOLESTR szProcName);
  1287. HRESULT ( STDMETHODCALLTYPE *SetFuncDocString )(
  1288. ICreateTypeInfo2 * This,
  1289. /* [in] */ UINT index,
  1290. /* [in] */ LPOLESTR szDocString);
  1291. HRESULT ( STDMETHODCALLTYPE *SetVarDocString )(
  1292. ICreateTypeInfo2 * This,
  1293. /* [in] */ UINT index,
  1294. /* [in] */ LPOLESTR szDocString);
  1295. HRESULT ( STDMETHODCALLTYPE *SetFuncHelpContext )(
  1296. ICreateTypeInfo2 * This,
  1297. /* [in] */ UINT index,
  1298. /* [in] */ DWORD dwHelpContext);
  1299. HRESULT ( STDMETHODCALLTYPE *SetVarHelpContext )(
  1300. ICreateTypeInfo2 * This,
  1301. /* [in] */ UINT index,
  1302. /* [in] */ DWORD dwHelpContext);
  1303. HRESULT ( STDMETHODCALLTYPE *SetMops )(
  1304. ICreateTypeInfo2 * This,
  1305. /* [in] */ UINT index,
  1306. /* [in] */ BSTR bstrMops);
  1307. HRESULT ( STDMETHODCALLTYPE *SetTypeIdldesc )(
  1308. ICreateTypeInfo2 * This,
  1309. /* [in] */ IDLDESC *pIdlDesc);
  1310. HRESULT ( STDMETHODCALLTYPE *LayOut )(
  1311. ICreateTypeInfo2 * This);
  1312. HRESULT ( STDMETHODCALLTYPE *DeleteFuncDesc )(
  1313. ICreateTypeInfo2 * This,
  1314. /* [in] */ UINT index);
  1315. HRESULT ( STDMETHODCALLTYPE *DeleteFuncDescByMemId )(
  1316. ICreateTypeInfo2 * This,
  1317. /* [in] */ MEMBERID memid,
  1318. /* [in] */ INVOKEKIND invKind);
  1319. HRESULT ( STDMETHODCALLTYPE *DeleteVarDesc )(
  1320. ICreateTypeInfo2 * This,
  1321. /* [in] */ UINT index);
  1322. HRESULT ( STDMETHODCALLTYPE *DeleteVarDescByMemId )(
  1323. ICreateTypeInfo2 * This,
  1324. /* [in] */ MEMBERID memid);
  1325. HRESULT ( STDMETHODCALLTYPE *DeleteImplType )(
  1326. ICreateTypeInfo2 * This,
  1327. /* [in] */ UINT index);
  1328. HRESULT ( STDMETHODCALLTYPE *SetCustData )(
  1329. ICreateTypeInfo2 * This,
  1330. /* [in] */ REFGUID guid,
  1331. /* [in] */ VARIANT *pVarVal);
  1332. HRESULT ( STDMETHODCALLTYPE *SetFuncCustData )(
  1333. ICreateTypeInfo2 * This,
  1334. /* [in] */ UINT index,
  1335. /* [in] */ REFGUID guid,
  1336. /* [in] */ VARIANT *pVarVal);
  1337. HRESULT ( STDMETHODCALLTYPE *SetParamCustData )(
  1338. ICreateTypeInfo2 * This,
  1339. /* [in] */ UINT indexFunc,
  1340. /* [in] */ UINT indexParam,
  1341. /* [in] */ REFGUID guid,
  1342. /* [in] */ VARIANT *pVarVal);
  1343. HRESULT ( STDMETHODCALLTYPE *SetVarCustData )(
  1344. ICreateTypeInfo2 * This,
  1345. /* [in] */ UINT index,
  1346. /* [in] */ REFGUID guid,
  1347. /* [in] */ VARIANT *pVarVal);
  1348. HRESULT ( STDMETHODCALLTYPE *SetImplTypeCustData )(
  1349. ICreateTypeInfo2 * This,
  1350. /* [in] */ UINT index,
  1351. /* [in] */ REFGUID guid,
  1352. /* [in] */ VARIANT *pVarVal);
  1353. HRESULT ( STDMETHODCALLTYPE *SetHelpStringContext )(
  1354. ICreateTypeInfo2 * This,
  1355. /* [in] */ ULONG dwHelpStringContext);
  1356. HRESULT ( STDMETHODCALLTYPE *SetFuncHelpStringContext )(
  1357. ICreateTypeInfo2 * This,
  1358. /* [in] */ UINT index,
  1359. /* [in] */ ULONG dwHelpStringContext);
  1360. HRESULT ( STDMETHODCALLTYPE *SetVarHelpStringContext )(
  1361. ICreateTypeInfo2 * This,
  1362. /* [in] */ UINT index,
  1363. /* [in] */ ULONG dwHelpStringContext);
  1364. HRESULT ( STDMETHODCALLTYPE *Invalidate )(
  1365. ICreateTypeInfo2 * This);
  1366. HRESULT ( STDMETHODCALLTYPE *SetName )(
  1367. ICreateTypeInfo2 * This,
  1368. /* [in] */ LPOLESTR szName);
  1369. END_INTERFACE
  1370. } ICreateTypeInfo2Vtbl;
  1371. interface ICreateTypeInfo2
  1372. {
  1373. CONST_VTBL struct ICreateTypeInfo2Vtbl *lpVtbl;
  1374. };
  1375. #ifdef COBJMACROS
  1376. #define ICreateTypeInfo2_QueryInterface(This,riid,ppvObject) \
  1377. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1378. #define ICreateTypeInfo2_AddRef(This) \
  1379. (This)->lpVtbl -> AddRef(This)
  1380. #define ICreateTypeInfo2_Release(This) \
  1381. (This)->lpVtbl -> Release(This)
  1382. #define ICreateTypeInfo2_SetGuid(This,guid) \
  1383. (This)->lpVtbl -> SetGuid(This,guid)
  1384. #define ICreateTypeInfo2_SetTypeFlags(This,uTypeFlags) \
  1385. (This)->lpVtbl -> SetTypeFlags(This,uTypeFlags)
  1386. #define ICreateTypeInfo2_SetDocString(This,pStrDoc) \
  1387. (This)->lpVtbl -> SetDocString(This,pStrDoc)
  1388. #define ICreateTypeInfo2_SetHelpContext(This,dwHelpContext) \
  1389. (This)->lpVtbl -> SetHelpContext(This,dwHelpContext)
  1390. #define ICreateTypeInfo2_SetVersion(This,wMajorVerNum,wMinorVerNum) \
  1391. (This)->lpVtbl -> SetVersion(This,wMajorVerNum,wMinorVerNum)
  1392. #define ICreateTypeInfo2_AddRefTypeInfo(This,pTInfo,phRefType) \
  1393. (This)->lpVtbl -> AddRefTypeInfo(This,pTInfo,phRefType)
  1394. #define ICreateTypeInfo2_AddFuncDesc(This,index,pFuncDesc) \
  1395. (This)->lpVtbl -> AddFuncDesc(This,index,pFuncDesc)
  1396. #define ICreateTypeInfo2_AddImplType(This,index,hRefType) \
  1397. (This)->lpVtbl -> AddImplType(This,index,hRefType)
  1398. #define ICreateTypeInfo2_SetImplTypeFlags(This,index,implTypeFlags) \
  1399. (This)->lpVtbl -> SetImplTypeFlags(This,index,implTypeFlags)
  1400. #define ICreateTypeInfo2_SetAlignment(This,cbAlignment) \
  1401. (This)->lpVtbl -> SetAlignment(This,cbAlignment)
  1402. #define ICreateTypeInfo2_SetSchema(This,pStrSchema) \
  1403. (This)->lpVtbl -> SetSchema(This,pStrSchema)
  1404. #define ICreateTypeInfo2_AddVarDesc(This,index,pVarDesc) \
  1405. (This)->lpVtbl -> AddVarDesc(This,index,pVarDesc)
  1406. #define ICreateTypeInfo2_SetFuncAndParamNames(This,index,rgszNames,cNames) \
  1407. (This)->lpVtbl -> SetFuncAndParamNames(This,index,rgszNames,cNames)
  1408. #define ICreateTypeInfo2_SetVarName(This,index,szName) \
  1409. (This)->lpVtbl -> SetVarName(This,index,szName)
  1410. #define ICreateTypeInfo2_SetTypeDescAlias(This,pTDescAlias) \
  1411. (This)->lpVtbl -> SetTypeDescAlias(This,pTDescAlias)
  1412. #define ICreateTypeInfo2_DefineFuncAsDllEntry(This,index,szDllName,szProcName) \
  1413. (This)->lpVtbl -> DefineFuncAsDllEntry(This,index,szDllName,szProcName)
  1414. #define ICreateTypeInfo2_SetFuncDocString(This,index,szDocString) \
  1415. (This)->lpVtbl -> SetFuncDocString(This,index,szDocString)
  1416. #define ICreateTypeInfo2_SetVarDocString(This,index,szDocString) \
  1417. (This)->lpVtbl -> SetVarDocString(This,index,szDocString)
  1418. #define ICreateTypeInfo2_SetFuncHelpContext(This,index,dwHelpContext) \
  1419. (This)->lpVtbl -> SetFuncHelpContext(This,index,dwHelpContext)
  1420. #define ICreateTypeInfo2_SetVarHelpContext(This,index,dwHelpContext) \
  1421. (This)->lpVtbl -> SetVarHelpContext(This,index,dwHelpContext)
  1422. #define ICreateTypeInfo2_SetMops(This,index,bstrMops) \
  1423. (This)->lpVtbl -> SetMops(This,index,bstrMops)
  1424. #define ICreateTypeInfo2_SetTypeIdldesc(This,pIdlDesc) \
  1425. (This)->lpVtbl -> SetTypeIdldesc(This,pIdlDesc)
  1426. #define ICreateTypeInfo2_LayOut(This) \
  1427. (This)->lpVtbl -> LayOut(This)
  1428. #define ICreateTypeInfo2_DeleteFuncDesc(This,index) \
  1429. (This)->lpVtbl -> DeleteFuncDesc(This,index)
  1430. #define ICreateTypeInfo2_DeleteFuncDescByMemId(This,memid,invKind) \
  1431. (This)->lpVtbl -> DeleteFuncDescByMemId(This,memid,invKind)
  1432. #define ICreateTypeInfo2_DeleteVarDesc(This,index) \
  1433. (This)->lpVtbl -> DeleteVarDesc(This,index)
  1434. #define ICreateTypeInfo2_DeleteVarDescByMemId(This,memid) \
  1435. (This)->lpVtbl -> DeleteVarDescByMemId(This,memid)
  1436. #define ICreateTypeInfo2_DeleteImplType(This,index) \
  1437. (This)->lpVtbl -> DeleteImplType(This,index)
  1438. #define ICreateTypeInfo2_SetCustData(This,guid,pVarVal) \
  1439. (This)->lpVtbl -> SetCustData(This,guid,pVarVal)
  1440. #define ICreateTypeInfo2_SetFuncCustData(This,index,guid,pVarVal) \
  1441. (This)->lpVtbl -> SetFuncCustData(This,index,guid,pVarVal)
  1442. #define ICreateTypeInfo2_SetParamCustData(This,indexFunc,indexParam,guid,pVarVal) \
  1443. (This)->lpVtbl -> SetParamCustData(This,indexFunc,indexParam,guid,pVarVal)
  1444. #define ICreateTypeInfo2_SetVarCustData(This,index,guid,pVarVal) \
  1445. (This)->lpVtbl -> SetVarCustData(This,index,guid,pVarVal)
  1446. #define ICreateTypeInfo2_SetImplTypeCustData(This,index,guid,pVarVal) \
  1447. (This)->lpVtbl -> SetImplTypeCustData(This,index,guid,pVarVal)
  1448. #define ICreateTypeInfo2_SetHelpStringContext(This,dwHelpStringContext) \
  1449. (This)->lpVtbl -> SetHelpStringContext(This,dwHelpStringContext)
  1450. #define ICreateTypeInfo2_SetFuncHelpStringContext(This,index,dwHelpStringContext) \
  1451. (This)->lpVtbl -> SetFuncHelpStringContext(This,index,dwHelpStringContext)
  1452. #define ICreateTypeInfo2_SetVarHelpStringContext(This,index,dwHelpStringContext) \
  1453. (This)->lpVtbl -> SetVarHelpStringContext(This,index,dwHelpStringContext)
  1454. #define ICreateTypeInfo2_Invalidate(This) \
  1455. (This)->lpVtbl -> Invalidate(This)
  1456. #define ICreateTypeInfo2_SetName(This,szName) \
  1457. (This)->lpVtbl -> SetName(This,szName)
  1458. #endif /* COBJMACROS */
  1459. #endif /* C style interface */
  1460. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_DeleteFuncDesc_Proxy(
  1461. ICreateTypeInfo2 * This,
  1462. /* [in] */ UINT index);
  1463. void __RPC_STUB ICreateTypeInfo2_DeleteFuncDesc_Stub(
  1464. IRpcStubBuffer *This,
  1465. IRpcChannelBuffer *_pRpcChannelBuffer,
  1466. PRPC_MESSAGE _pRpcMessage,
  1467. DWORD *_pdwStubPhase);
  1468. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_DeleteFuncDescByMemId_Proxy(
  1469. ICreateTypeInfo2 * This,
  1470. /* [in] */ MEMBERID memid,
  1471. /* [in] */ INVOKEKIND invKind);
  1472. void __RPC_STUB ICreateTypeInfo2_DeleteFuncDescByMemId_Stub(
  1473. IRpcStubBuffer *This,
  1474. IRpcChannelBuffer *_pRpcChannelBuffer,
  1475. PRPC_MESSAGE _pRpcMessage,
  1476. DWORD *_pdwStubPhase);
  1477. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_DeleteVarDesc_Proxy(
  1478. ICreateTypeInfo2 * This,
  1479. /* [in] */ UINT index);
  1480. void __RPC_STUB ICreateTypeInfo2_DeleteVarDesc_Stub(
  1481. IRpcStubBuffer *This,
  1482. IRpcChannelBuffer *_pRpcChannelBuffer,
  1483. PRPC_MESSAGE _pRpcMessage,
  1484. DWORD *_pdwStubPhase);
  1485. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_DeleteVarDescByMemId_Proxy(
  1486. ICreateTypeInfo2 * This,
  1487. /* [in] */ MEMBERID memid);
  1488. void __RPC_STUB ICreateTypeInfo2_DeleteVarDescByMemId_Stub(
  1489. IRpcStubBuffer *This,
  1490. IRpcChannelBuffer *_pRpcChannelBuffer,
  1491. PRPC_MESSAGE _pRpcMessage,
  1492. DWORD *_pdwStubPhase);
  1493. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_DeleteImplType_Proxy(
  1494. ICreateTypeInfo2 * This,
  1495. /* [in] */ UINT index);
  1496. void __RPC_STUB ICreateTypeInfo2_DeleteImplType_Stub(
  1497. IRpcStubBuffer *This,
  1498. IRpcChannelBuffer *_pRpcChannelBuffer,
  1499. PRPC_MESSAGE _pRpcMessage,
  1500. DWORD *_pdwStubPhase);
  1501. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetCustData_Proxy(
  1502. ICreateTypeInfo2 * This,
  1503. /* [in] */ REFGUID guid,
  1504. /* [in] */ VARIANT *pVarVal);
  1505. void __RPC_STUB ICreateTypeInfo2_SetCustData_Stub(
  1506. IRpcStubBuffer *This,
  1507. IRpcChannelBuffer *_pRpcChannelBuffer,
  1508. PRPC_MESSAGE _pRpcMessage,
  1509. DWORD *_pdwStubPhase);
  1510. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetFuncCustData_Proxy(
  1511. ICreateTypeInfo2 * This,
  1512. /* [in] */ UINT index,
  1513. /* [in] */ REFGUID guid,
  1514. /* [in] */ VARIANT *pVarVal);
  1515. void __RPC_STUB ICreateTypeInfo2_SetFuncCustData_Stub(
  1516. IRpcStubBuffer *This,
  1517. IRpcChannelBuffer *_pRpcChannelBuffer,
  1518. PRPC_MESSAGE _pRpcMessage,
  1519. DWORD *_pdwStubPhase);
  1520. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetParamCustData_Proxy(
  1521. ICreateTypeInfo2 * This,
  1522. /* [in] */ UINT indexFunc,
  1523. /* [in] */ UINT indexParam,
  1524. /* [in] */ REFGUID guid,
  1525. /* [in] */ VARIANT *pVarVal);
  1526. void __RPC_STUB ICreateTypeInfo2_SetParamCustData_Stub(
  1527. IRpcStubBuffer *This,
  1528. IRpcChannelBuffer *_pRpcChannelBuffer,
  1529. PRPC_MESSAGE _pRpcMessage,
  1530. DWORD *_pdwStubPhase);
  1531. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetVarCustData_Proxy(
  1532. ICreateTypeInfo2 * This,
  1533. /* [in] */ UINT index,
  1534. /* [in] */ REFGUID guid,
  1535. /* [in] */ VARIANT *pVarVal);
  1536. void __RPC_STUB ICreateTypeInfo2_SetVarCustData_Stub(
  1537. IRpcStubBuffer *This,
  1538. IRpcChannelBuffer *_pRpcChannelBuffer,
  1539. PRPC_MESSAGE _pRpcMessage,
  1540. DWORD *_pdwStubPhase);
  1541. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetImplTypeCustData_Proxy(
  1542. ICreateTypeInfo2 * This,
  1543. /* [in] */ UINT index,
  1544. /* [in] */ REFGUID guid,
  1545. /* [in] */ VARIANT *pVarVal);
  1546. void __RPC_STUB ICreateTypeInfo2_SetImplTypeCustData_Stub(
  1547. IRpcStubBuffer *This,
  1548. IRpcChannelBuffer *_pRpcChannelBuffer,
  1549. PRPC_MESSAGE _pRpcMessage,
  1550. DWORD *_pdwStubPhase);
  1551. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetHelpStringContext_Proxy(
  1552. ICreateTypeInfo2 * This,
  1553. /* [in] */ ULONG dwHelpStringContext);
  1554. void __RPC_STUB ICreateTypeInfo2_SetHelpStringContext_Stub(
  1555. IRpcStubBuffer *This,
  1556. IRpcChannelBuffer *_pRpcChannelBuffer,
  1557. PRPC_MESSAGE _pRpcMessage,
  1558. DWORD *_pdwStubPhase);
  1559. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetFuncHelpStringContext_Proxy(
  1560. ICreateTypeInfo2 * This,
  1561. /* [in] */ UINT index,
  1562. /* [in] */ ULONG dwHelpStringContext);
  1563. void __RPC_STUB ICreateTypeInfo2_SetFuncHelpStringContext_Stub(
  1564. IRpcStubBuffer *This,
  1565. IRpcChannelBuffer *_pRpcChannelBuffer,
  1566. PRPC_MESSAGE _pRpcMessage,
  1567. DWORD *_pdwStubPhase);
  1568. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetVarHelpStringContext_Proxy(
  1569. ICreateTypeInfo2 * This,
  1570. /* [in] */ UINT index,
  1571. /* [in] */ ULONG dwHelpStringContext);
  1572. void __RPC_STUB ICreateTypeInfo2_SetVarHelpStringContext_Stub(
  1573. IRpcStubBuffer *This,
  1574. IRpcChannelBuffer *_pRpcChannelBuffer,
  1575. PRPC_MESSAGE _pRpcMessage,
  1576. DWORD *_pdwStubPhase);
  1577. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_Invalidate_Proxy(
  1578. ICreateTypeInfo2 * This);
  1579. void __RPC_STUB ICreateTypeInfo2_Invalidate_Stub(
  1580. IRpcStubBuffer *This,
  1581. IRpcChannelBuffer *_pRpcChannelBuffer,
  1582. PRPC_MESSAGE _pRpcMessage,
  1583. DWORD *_pdwStubPhase);
  1584. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetName_Proxy(
  1585. ICreateTypeInfo2 * This,
  1586. /* [in] */ LPOLESTR szName);
  1587. void __RPC_STUB ICreateTypeInfo2_SetName_Stub(
  1588. IRpcStubBuffer *This,
  1589. IRpcChannelBuffer *_pRpcChannelBuffer,
  1590. PRPC_MESSAGE _pRpcMessage,
  1591. DWORD *_pdwStubPhase);
  1592. #endif /* __ICreateTypeInfo2_INTERFACE_DEFINED__ */
  1593. #ifndef __ICreateTypeLib_INTERFACE_DEFINED__
  1594. #define __ICreateTypeLib_INTERFACE_DEFINED__
  1595. /* interface ICreateTypeLib */
  1596. /* [local][unique][uuid][object] */
  1597. typedef /* [unique] */ ICreateTypeLib *LPCREATETYPELIB;
  1598. EXTERN_C const IID IID_ICreateTypeLib;
  1599. #if defined(__cplusplus) && !defined(CINTERFACE)
  1600. MIDL_INTERFACE("00020406-0000-0000-C000-000000000046")
  1601. ICreateTypeLib : public IUnknown
  1602. {
  1603. public:
  1604. virtual HRESULT STDMETHODCALLTYPE CreateTypeInfo(
  1605. /* [in] */ LPOLESTR szName,
  1606. /* [in] */ TYPEKIND tkind,
  1607. /* [out] */ ICreateTypeInfo **ppCTInfo) = 0;
  1608. virtual HRESULT STDMETHODCALLTYPE SetName(
  1609. /* [in] */ LPOLESTR szName) = 0;
  1610. virtual HRESULT STDMETHODCALLTYPE SetVersion(
  1611. /* [in] */ WORD wMajorVerNum,
  1612. /* [in] */ WORD wMinorVerNum) = 0;
  1613. virtual HRESULT STDMETHODCALLTYPE SetGuid(
  1614. /* [in] */ REFGUID guid) = 0;
  1615. virtual HRESULT STDMETHODCALLTYPE SetDocString(
  1616. /* [in] */ LPOLESTR szDoc) = 0;
  1617. virtual HRESULT STDMETHODCALLTYPE SetHelpFileName(
  1618. /* [in] */ LPOLESTR szHelpFileName) = 0;
  1619. virtual HRESULT STDMETHODCALLTYPE SetHelpContext(
  1620. /* [in] */ DWORD dwHelpContext) = 0;
  1621. virtual HRESULT STDMETHODCALLTYPE SetLcid(
  1622. /* [in] */ LCID lcid) = 0;
  1623. virtual HRESULT STDMETHODCALLTYPE SetLibFlags(
  1624. /* [in] */ UINT uLibFlags) = 0;
  1625. virtual HRESULT STDMETHODCALLTYPE SaveAllChanges( void) = 0;
  1626. };
  1627. #else /* C style interface */
  1628. typedef struct ICreateTypeLibVtbl
  1629. {
  1630. BEGIN_INTERFACE
  1631. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1632. ICreateTypeLib * This,
  1633. /* [in] */ REFIID riid,
  1634. /* [iid_is][out] */ void **ppvObject);
  1635. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1636. ICreateTypeLib * This);
  1637. ULONG ( STDMETHODCALLTYPE *Release )(
  1638. ICreateTypeLib * This);
  1639. HRESULT ( STDMETHODCALLTYPE *CreateTypeInfo )(
  1640. ICreateTypeLib * This,
  1641. /* [in] */ LPOLESTR szName,
  1642. /* [in] */ TYPEKIND tkind,
  1643. /* [out] */ ICreateTypeInfo **ppCTInfo);
  1644. HRESULT ( STDMETHODCALLTYPE *SetName )(
  1645. ICreateTypeLib * This,
  1646. /* [in] */ LPOLESTR szName);
  1647. HRESULT ( STDMETHODCALLTYPE *SetVersion )(
  1648. ICreateTypeLib * This,
  1649. /* [in] */ WORD wMajorVerNum,
  1650. /* [in] */ WORD wMinorVerNum);
  1651. HRESULT ( STDMETHODCALLTYPE *SetGuid )(
  1652. ICreateTypeLib * This,
  1653. /* [in] */ REFGUID guid);
  1654. HRESULT ( STDMETHODCALLTYPE *SetDocString )(
  1655. ICreateTypeLib * This,
  1656. /* [in] */ LPOLESTR szDoc);
  1657. HRESULT ( STDMETHODCALLTYPE *SetHelpFileName )(
  1658. ICreateTypeLib * This,
  1659. /* [in] */ LPOLESTR szHelpFileName);
  1660. HRESULT ( STDMETHODCALLTYPE *SetHelpContext )(
  1661. ICreateTypeLib * This,
  1662. /* [in] */ DWORD dwHelpContext);
  1663. HRESULT ( STDMETHODCALLTYPE *SetLcid )(
  1664. ICreateTypeLib * This,
  1665. /* [in] */ LCID lcid);
  1666. HRESULT ( STDMETHODCALLTYPE *SetLibFlags )(
  1667. ICreateTypeLib * This,
  1668. /* [in] */ UINT uLibFlags);
  1669. HRESULT ( STDMETHODCALLTYPE *SaveAllChanges )(
  1670. ICreateTypeLib * This);
  1671. END_INTERFACE
  1672. } ICreateTypeLibVtbl;
  1673. interface ICreateTypeLib
  1674. {
  1675. CONST_VTBL struct ICreateTypeLibVtbl *lpVtbl;
  1676. };
  1677. #ifdef COBJMACROS
  1678. #define ICreateTypeLib_QueryInterface(This,riid,ppvObject) \
  1679. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1680. #define ICreateTypeLib_AddRef(This) \
  1681. (This)->lpVtbl -> AddRef(This)
  1682. #define ICreateTypeLib_Release(This) \
  1683. (This)->lpVtbl -> Release(This)
  1684. #define ICreateTypeLib_CreateTypeInfo(This,szName,tkind,ppCTInfo) \
  1685. (This)->lpVtbl -> CreateTypeInfo(This,szName,tkind,ppCTInfo)
  1686. #define ICreateTypeLib_SetName(This,szName) \
  1687. (This)->lpVtbl -> SetName(This,szName)
  1688. #define ICreateTypeLib_SetVersion(This,wMajorVerNum,wMinorVerNum) \
  1689. (This)->lpVtbl -> SetVersion(This,wMajorVerNum,wMinorVerNum)
  1690. #define ICreateTypeLib_SetGuid(This,guid) \
  1691. (This)->lpVtbl -> SetGuid(This,guid)
  1692. #define ICreateTypeLib_SetDocString(This,szDoc) \
  1693. (This)->lpVtbl -> SetDocString(This,szDoc)
  1694. #define ICreateTypeLib_SetHelpFileName(This,szHelpFileName) \
  1695. (This)->lpVtbl -> SetHelpFileName(This,szHelpFileName)
  1696. #define ICreateTypeLib_SetHelpContext(This,dwHelpContext) \
  1697. (This)->lpVtbl -> SetHelpContext(This,dwHelpContext)
  1698. #define ICreateTypeLib_SetLcid(This,lcid) \
  1699. (This)->lpVtbl -> SetLcid(This,lcid)
  1700. #define ICreateTypeLib_SetLibFlags(This,uLibFlags) \
  1701. (This)->lpVtbl -> SetLibFlags(This,uLibFlags)
  1702. #define ICreateTypeLib_SaveAllChanges(This) \
  1703. (This)->lpVtbl -> SaveAllChanges(This)
  1704. #endif /* COBJMACROS */
  1705. #endif /* C style interface */
  1706. HRESULT STDMETHODCALLTYPE ICreateTypeLib_CreateTypeInfo_Proxy(
  1707. ICreateTypeLib * This,
  1708. /* [in] */ LPOLESTR szName,
  1709. /* [in] */ TYPEKIND tkind,
  1710. /* [out] */ ICreateTypeInfo **ppCTInfo);
  1711. void __RPC_STUB ICreateTypeLib_CreateTypeInfo_Stub(
  1712. IRpcStubBuffer *This,
  1713. IRpcChannelBuffer *_pRpcChannelBuffer,
  1714. PRPC_MESSAGE _pRpcMessage,
  1715. DWORD *_pdwStubPhase);
  1716. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetName_Proxy(
  1717. ICreateTypeLib * This,
  1718. /* [in] */ LPOLESTR szName);
  1719. void __RPC_STUB ICreateTypeLib_SetName_Stub(
  1720. IRpcStubBuffer *This,
  1721. IRpcChannelBuffer *_pRpcChannelBuffer,
  1722. PRPC_MESSAGE _pRpcMessage,
  1723. DWORD *_pdwStubPhase);
  1724. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetVersion_Proxy(
  1725. ICreateTypeLib * This,
  1726. /* [in] */ WORD wMajorVerNum,
  1727. /* [in] */ WORD wMinorVerNum);
  1728. void __RPC_STUB ICreateTypeLib_SetVersion_Stub(
  1729. IRpcStubBuffer *This,
  1730. IRpcChannelBuffer *_pRpcChannelBuffer,
  1731. PRPC_MESSAGE _pRpcMessage,
  1732. DWORD *_pdwStubPhase);
  1733. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetGuid_Proxy(
  1734. ICreateTypeLib * This,
  1735. /* [in] */ REFGUID guid);
  1736. void __RPC_STUB ICreateTypeLib_SetGuid_Stub(
  1737. IRpcStubBuffer *This,
  1738. IRpcChannelBuffer *_pRpcChannelBuffer,
  1739. PRPC_MESSAGE _pRpcMessage,
  1740. DWORD *_pdwStubPhase);
  1741. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetDocString_Proxy(
  1742. ICreateTypeLib * This,
  1743. /* [in] */ LPOLESTR szDoc);
  1744. void __RPC_STUB ICreateTypeLib_SetDocString_Stub(
  1745. IRpcStubBuffer *This,
  1746. IRpcChannelBuffer *_pRpcChannelBuffer,
  1747. PRPC_MESSAGE _pRpcMessage,
  1748. DWORD *_pdwStubPhase);
  1749. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetHelpFileName_Proxy(
  1750. ICreateTypeLib * This,
  1751. /* [in] */ LPOLESTR szHelpFileName);
  1752. void __RPC_STUB ICreateTypeLib_SetHelpFileName_Stub(
  1753. IRpcStubBuffer *This,
  1754. IRpcChannelBuffer *_pRpcChannelBuffer,
  1755. PRPC_MESSAGE _pRpcMessage,
  1756. DWORD *_pdwStubPhase);
  1757. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetHelpContext_Proxy(
  1758. ICreateTypeLib * This,
  1759. /* [in] */ DWORD dwHelpContext);
  1760. void __RPC_STUB ICreateTypeLib_SetHelpContext_Stub(
  1761. IRpcStubBuffer *This,
  1762. IRpcChannelBuffer *_pRpcChannelBuffer,
  1763. PRPC_MESSAGE _pRpcMessage,
  1764. DWORD *_pdwStubPhase);
  1765. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetLcid_Proxy(
  1766. ICreateTypeLib * This,
  1767. /* [in] */ LCID lcid);
  1768. void __RPC_STUB ICreateTypeLib_SetLcid_Stub(
  1769. IRpcStubBuffer *This,
  1770. IRpcChannelBuffer *_pRpcChannelBuffer,
  1771. PRPC_MESSAGE _pRpcMessage,
  1772. DWORD *_pdwStubPhase);
  1773. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetLibFlags_Proxy(
  1774. ICreateTypeLib * This,
  1775. /* [in] */ UINT uLibFlags);
  1776. void __RPC_STUB ICreateTypeLib_SetLibFlags_Stub(
  1777. IRpcStubBuffer *This,
  1778. IRpcChannelBuffer *_pRpcChannelBuffer,
  1779. PRPC_MESSAGE _pRpcMessage,
  1780. DWORD *_pdwStubPhase);
  1781. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SaveAllChanges_Proxy(
  1782. ICreateTypeLib * This);
  1783. void __RPC_STUB ICreateTypeLib_SaveAllChanges_Stub(
  1784. IRpcStubBuffer *This,
  1785. IRpcChannelBuffer *_pRpcChannelBuffer,
  1786. PRPC_MESSAGE _pRpcMessage,
  1787. DWORD *_pdwStubPhase);
  1788. #endif /* __ICreateTypeLib_INTERFACE_DEFINED__ */
  1789. #ifndef __ICreateTypeLib2_INTERFACE_DEFINED__
  1790. #define __ICreateTypeLib2_INTERFACE_DEFINED__
  1791. /* interface ICreateTypeLib2 */
  1792. /* [local][unique][uuid][object] */
  1793. typedef /* [unique] */ ICreateTypeLib2 *LPCREATETYPELIB2;
  1794. EXTERN_C const IID IID_ICreateTypeLib2;
  1795. #if defined(__cplusplus) && !defined(CINTERFACE)
  1796. MIDL_INTERFACE("0002040F-0000-0000-C000-000000000046")
  1797. ICreateTypeLib2 : public ICreateTypeLib
  1798. {
  1799. public:
  1800. virtual HRESULT STDMETHODCALLTYPE DeleteTypeInfo(
  1801. /* [in] */ LPOLESTR szName) = 0;
  1802. virtual HRESULT STDMETHODCALLTYPE SetCustData(
  1803. /* [in] */ REFGUID guid,
  1804. /* [in] */ VARIANT *pVarVal) = 0;
  1805. virtual HRESULT STDMETHODCALLTYPE SetHelpStringContext(
  1806. /* [in] */ ULONG dwHelpStringContext) = 0;
  1807. virtual HRESULT STDMETHODCALLTYPE SetHelpStringDll(
  1808. /* [in] */ LPOLESTR szFileName) = 0;
  1809. };
  1810. #else /* C style interface */
  1811. typedef struct ICreateTypeLib2Vtbl
  1812. {
  1813. BEGIN_INTERFACE
  1814. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1815. ICreateTypeLib2 * This,
  1816. /* [in] */ REFIID riid,
  1817. /* [iid_is][out] */ void **ppvObject);
  1818. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1819. ICreateTypeLib2 * This);
  1820. ULONG ( STDMETHODCALLTYPE *Release )(
  1821. ICreateTypeLib2 * This);
  1822. HRESULT ( STDMETHODCALLTYPE *CreateTypeInfo )(
  1823. ICreateTypeLib2 * This,
  1824. /* [in] */ LPOLESTR szName,
  1825. /* [in] */ TYPEKIND tkind,
  1826. /* [out] */ ICreateTypeInfo **ppCTInfo);
  1827. HRESULT ( STDMETHODCALLTYPE *SetName )(
  1828. ICreateTypeLib2 * This,
  1829. /* [in] */ LPOLESTR szName);
  1830. HRESULT ( STDMETHODCALLTYPE *SetVersion )(
  1831. ICreateTypeLib2 * This,
  1832. /* [in] */ WORD wMajorVerNum,
  1833. /* [in] */ WORD wMinorVerNum);
  1834. HRESULT ( STDMETHODCALLTYPE *SetGuid )(
  1835. ICreateTypeLib2 * This,
  1836. /* [in] */ REFGUID guid);
  1837. HRESULT ( STDMETHODCALLTYPE *SetDocString )(
  1838. ICreateTypeLib2 * This,
  1839. /* [in] */ LPOLESTR szDoc);
  1840. HRESULT ( STDMETHODCALLTYPE *SetHelpFileName )(
  1841. ICreateTypeLib2 * This,
  1842. /* [in] */ LPOLESTR szHelpFileName);
  1843. HRESULT ( STDMETHODCALLTYPE *SetHelpContext )(
  1844. ICreateTypeLib2 * This,
  1845. /* [in] */ DWORD dwHelpContext);
  1846. HRESULT ( STDMETHODCALLTYPE *SetLcid )(
  1847. ICreateTypeLib2 * This,
  1848. /* [in] */ LCID lcid);
  1849. HRESULT ( STDMETHODCALLTYPE *SetLibFlags )(
  1850. ICreateTypeLib2 * This,
  1851. /* [in] */ UINT uLibFlags);
  1852. HRESULT ( STDMETHODCALLTYPE *SaveAllChanges )(
  1853. ICreateTypeLib2 * This);
  1854. HRESULT ( STDMETHODCALLTYPE *DeleteTypeInfo )(
  1855. ICreateTypeLib2 * This,
  1856. /* [in] */ LPOLESTR szName);
  1857. HRESULT ( STDMETHODCALLTYPE *SetCustData )(
  1858. ICreateTypeLib2 * This,
  1859. /* [in] */ REFGUID guid,
  1860. /* [in] */ VARIANT *pVarVal);
  1861. HRESULT ( STDMETHODCALLTYPE *SetHelpStringContext )(
  1862. ICreateTypeLib2 * This,
  1863. /* [in] */ ULONG dwHelpStringContext);
  1864. HRESULT ( STDMETHODCALLTYPE *SetHelpStringDll )(
  1865. ICreateTypeLib2 * This,
  1866. /* [in] */ LPOLESTR szFileName);
  1867. END_INTERFACE
  1868. } ICreateTypeLib2Vtbl;
  1869. interface ICreateTypeLib2
  1870. {
  1871. CONST_VTBL struct ICreateTypeLib2Vtbl *lpVtbl;
  1872. };
  1873. #ifdef COBJMACROS
  1874. #define ICreateTypeLib2_QueryInterface(This,riid,ppvObject) \
  1875. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1876. #define ICreateTypeLib2_AddRef(This) \
  1877. (This)->lpVtbl -> AddRef(This)
  1878. #define ICreateTypeLib2_Release(This) \
  1879. (This)->lpVtbl -> Release(This)
  1880. #define ICreateTypeLib2_CreateTypeInfo(This,szName,tkind,ppCTInfo) \
  1881. (This)->lpVtbl -> CreateTypeInfo(This,szName,tkind,ppCTInfo)
  1882. #define ICreateTypeLib2_SetName(This,szName) \
  1883. (This)->lpVtbl -> SetName(This,szName)
  1884. #define ICreateTypeLib2_SetVersion(This,wMajorVerNum,wMinorVerNum) \
  1885. (This)->lpVtbl -> SetVersion(This,wMajorVerNum,wMinorVerNum)
  1886. #define ICreateTypeLib2_SetGuid(This,guid) \
  1887. (This)->lpVtbl -> SetGuid(This,guid)
  1888. #define ICreateTypeLib2_SetDocString(This,szDoc) \
  1889. (This)->lpVtbl -> SetDocString(This,szDoc)
  1890. #define ICreateTypeLib2_SetHelpFileName(This,szHelpFileName) \
  1891. (This)->lpVtbl -> SetHelpFileName(This,szHelpFileName)
  1892. #define ICreateTypeLib2_SetHelpContext(This,dwHelpContext) \
  1893. (This)->lpVtbl -> SetHelpContext(This,dwHelpContext)
  1894. #define ICreateTypeLib2_SetLcid(This,lcid) \
  1895. (This)->lpVtbl -> SetLcid(This,lcid)
  1896. #define ICreateTypeLib2_SetLibFlags(This,uLibFlags) \
  1897. (This)->lpVtbl -> SetLibFlags(This,uLibFlags)
  1898. #define ICreateTypeLib2_SaveAllChanges(This) \
  1899. (This)->lpVtbl -> SaveAllChanges(This)
  1900. #define ICreateTypeLib2_DeleteTypeInfo(This,szName) \
  1901. (This)->lpVtbl -> DeleteTypeInfo(This,szName)
  1902. #define ICreateTypeLib2_SetCustData(This,guid,pVarVal) \
  1903. (This)->lpVtbl -> SetCustData(This,guid,pVarVal)
  1904. #define ICreateTypeLib2_SetHelpStringContext(This,dwHelpStringContext) \
  1905. (This)->lpVtbl -> SetHelpStringContext(This,dwHelpStringContext)
  1906. #define ICreateTypeLib2_SetHelpStringDll(This,szFileName) \
  1907. (This)->lpVtbl -> SetHelpStringDll(This,szFileName)
  1908. #endif /* COBJMACROS */
  1909. #endif /* C style interface */
  1910. HRESULT STDMETHODCALLTYPE ICreateTypeLib2_DeleteTypeInfo_Proxy(
  1911. ICreateTypeLib2 * This,
  1912. /* [in] */ LPOLESTR szName);
  1913. void __RPC_STUB ICreateTypeLib2_DeleteTypeInfo_Stub(
  1914. IRpcStubBuffer *This,
  1915. IRpcChannelBuffer *_pRpcChannelBuffer,
  1916. PRPC_MESSAGE _pRpcMessage,
  1917. DWORD *_pdwStubPhase);
  1918. HRESULT STDMETHODCALLTYPE ICreateTypeLib2_SetCustData_Proxy(
  1919. ICreateTypeLib2 * This,
  1920. /* [in] */ REFGUID guid,
  1921. /* [in] */ VARIANT *pVarVal);
  1922. void __RPC_STUB ICreateTypeLib2_SetCustData_Stub(
  1923. IRpcStubBuffer *This,
  1924. IRpcChannelBuffer *_pRpcChannelBuffer,
  1925. PRPC_MESSAGE _pRpcMessage,
  1926. DWORD *_pdwStubPhase);
  1927. HRESULT STDMETHODCALLTYPE ICreateTypeLib2_SetHelpStringContext_Proxy(
  1928. ICreateTypeLib2 * This,
  1929. /* [in] */ ULONG dwHelpStringContext);
  1930. void __RPC_STUB ICreateTypeLib2_SetHelpStringContext_Stub(
  1931. IRpcStubBuffer *This,
  1932. IRpcChannelBuffer *_pRpcChannelBuffer,
  1933. PRPC_MESSAGE _pRpcMessage,
  1934. DWORD *_pdwStubPhase);
  1935. HRESULT STDMETHODCALLTYPE ICreateTypeLib2_SetHelpStringDll_Proxy(
  1936. ICreateTypeLib2 * This,
  1937. /* [in] */ LPOLESTR szFileName);
  1938. void __RPC_STUB ICreateTypeLib2_SetHelpStringDll_Stub(
  1939. IRpcStubBuffer *This,
  1940. IRpcChannelBuffer *_pRpcChannelBuffer,
  1941. PRPC_MESSAGE _pRpcMessage,
  1942. DWORD *_pdwStubPhase);
  1943. #endif /* __ICreateTypeLib2_INTERFACE_DEFINED__ */
  1944. #ifndef __IDispatch_INTERFACE_DEFINED__
  1945. #define __IDispatch_INTERFACE_DEFINED__
  1946. /* interface IDispatch */
  1947. /* [unique][uuid][object] */
  1948. typedef /* [unique] */ IDispatch *LPDISPATCH;
  1949. /* DISPID reserved to indicate an "unknown" name */
  1950. /* only reserved for data members (properties); reused as a method dispid below */
  1951. #define DISPID_UNKNOWN ( -1 )
  1952. /* DISPID reserved for the "value" property */
  1953. #define DISPID_VALUE ( 0 )
  1954. /* The following DISPID is reserved to indicate the param
  1955. * that is the right-hand-side (or "put" value) of a PropertyPut
  1956. */
  1957. #define DISPID_PROPERTYPUT ( -3 )
  1958. /* DISPID reserved for the standard "NewEnum" method */
  1959. #define DISPID_NEWENUM ( -4 )
  1960. /* DISPID reserved for the standard "Evaluate" method */
  1961. #define DISPID_EVALUATE ( -5 )
  1962. #define DISPID_CONSTRUCTOR ( -6 )
  1963. #define DISPID_DESTRUCTOR ( -7 )
  1964. #define DISPID_COLLECT ( -8 )
  1965. /* The range -500 through -999 is reserved for Controls */
  1966. /* The range 0x80010000 through 0x8001FFFF is reserved for Controls */
  1967. /* The range -5000 through -5499 is reserved for ActiveX Accessability */
  1968. /* The range -2000 through -2499 is reserved for VB5 */
  1969. /* The range -3900 through -3999 is reserved for Forms */
  1970. /* The range -5500 through -5550 is reserved for Forms */
  1971. /* The remainder of the negative DISPIDs are reserved for future use */
  1972. EXTERN_C const IID IID_IDispatch;
  1973. #if defined(__cplusplus) && !defined(CINTERFACE)
  1974. MIDL_INTERFACE("00020400-0000-0000-C000-000000000046")
  1975. IDispatch : public IUnknown
  1976. {
  1977. public:
  1978. virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(
  1979. /* [out] */ UINT *pctinfo) = 0;
  1980. virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(
  1981. /* [in] */ UINT iTInfo,
  1982. /* [in] */ LCID lcid,
  1983. /* [out] */ ITypeInfo **ppTInfo) = 0;
  1984. virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(
  1985. /* [in] */ REFIID riid,
  1986. /* [size_is][in] */ LPOLESTR *rgszNames,
  1987. /* [in] */ UINT cNames,
  1988. /* [in] */ LCID lcid,
  1989. /* [size_is][out] */ DISPID *rgDispId) = 0;
  1990. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Invoke(
  1991. /* [in] */ DISPID dispIdMember,
  1992. /* [in] */ REFIID riid,
  1993. /* [in] */ LCID lcid,
  1994. /* [in] */ WORD wFlags,
  1995. /* [out][in] */ DISPPARAMS *pDispParams,
  1996. /* [out] */ VARIANT *pVarResult,
  1997. /* [out] */ EXCEPINFO *pExcepInfo,
  1998. /* [out] */ UINT *puArgErr) = 0;
  1999. };
  2000. #else /* C style interface */
  2001. typedef struct IDispatchVtbl
  2002. {
  2003. BEGIN_INTERFACE
  2004. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2005. IDispatch * This,
  2006. /* [in] */ REFIID riid,
  2007. /* [iid_is][out] */ void **ppvObject);
  2008. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2009. IDispatch * This);
  2010. ULONG ( STDMETHODCALLTYPE *Release )(
  2011. IDispatch * This);
  2012. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  2013. IDispatch * This,
  2014. /* [out] */ UINT *pctinfo);
  2015. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  2016. IDispatch * This,
  2017. /* [in] */ UINT iTInfo,
  2018. /* [in] */ LCID lcid,
  2019. /* [out] */ ITypeInfo **ppTInfo);
  2020. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  2021. IDispatch * This,
  2022. /* [in] */ REFIID riid,
  2023. /* [size_is][in] */ LPOLESTR *rgszNames,
  2024. /* [in] */ UINT cNames,
  2025. /* [in] */ LCID lcid,
  2026. /* [size_is][out] */ DISPID *rgDispId);
  2027. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  2028. IDispatch * This,
  2029. /* [in] */ DISPID dispIdMember,
  2030. /* [in] */ REFIID riid,
  2031. /* [in] */ LCID lcid,
  2032. /* [in] */ WORD wFlags,
  2033. /* [out][in] */ DISPPARAMS *pDispParams,
  2034. /* [out] */ VARIANT *pVarResult,
  2035. /* [out] */ EXCEPINFO *pExcepInfo,
  2036. /* [out] */ UINT *puArgErr);
  2037. END_INTERFACE
  2038. } IDispatchVtbl;
  2039. interface IDispatch
  2040. {
  2041. CONST_VTBL struct IDispatchVtbl *lpVtbl;
  2042. };
  2043. #ifdef COBJMACROS
  2044. #define IDispatch_QueryInterface(This,riid,ppvObject) \
  2045. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2046. #define IDispatch_AddRef(This) \
  2047. (This)->lpVtbl -> AddRef(This)
  2048. #define IDispatch_Release(This) \
  2049. (This)->lpVtbl -> Release(This)
  2050. #define IDispatch_GetTypeInfoCount(This,pctinfo) \
  2051. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2052. #define IDispatch_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  2053. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2054. #define IDispatch_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  2055. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2056. #define IDispatch_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  2057. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2058. #endif /* COBJMACROS */
  2059. #endif /* C style interface */
  2060. HRESULT STDMETHODCALLTYPE IDispatch_GetTypeInfoCount_Proxy(
  2061. IDispatch * This,
  2062. /* [out] */ UINT *pctinfo);
  2063. void __RPC_STUB IDispatch_GetTypeInfoCount_Stub(
  2064. IRpcStubBuffer *This,
  2065. IRpcChannelBuffer *_pRpcChannelBuffer,
  2066. PRPC_MESSAGE _pRpcMessage,
  2067. DWORD *_pdwStubPhase);
  2068. HRESULT STDMETHODCALLTYPE IDispatch_GetTypeInfo_Proxy(
  2069. IDispatch * This,
  2070. /* [in] */ UINT iTInfo,
  2071. /* [in] */ LCID lcid,
  2072. /* [out] */ ITypeInfo **ppTInfo);
  2073. void __RPC_STUB IDispatch_GetTypeInfo_Stub(
  2074. IRpcStubBuffer *This,
  2075. IRpcChannelBuffer *_pRpcChannelBuffer,
  2076. PRPC_MESSAGE _pRpcMessage,
  2077. DWORD *_pdwStubPhase);
  2078. HRESULT STDMETHODCALLTYPE IDispatch_GetIDsOfNames_Proxy(
  2079. IDispatch * This,
  2080. /* [in] */ REFIID riid,
  2081. /* [size_is][in] */ LPOLESTR *rgszNames,
  2082. /* [in] */ UINT cNames,
  2083. /* [in] */ LCID lcid,
  2084. /* [size_is][out] */ DISPID *rgDispId);
  2085. void __RPC_STUB IDispatch_GetIDsOfNames_Stub(
  2086. IRpcStubBuffer *This,
  2087. IRpcChannelBuffer *_pRpcChannelBuffer,
  2088. PRPC_MESSAGE _pRpcMessage,
  2089. DWORD *_pdwStubPhase);
  2090. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDispatch_RemoteInvoke_Proxy(
  2091. IDispatch * This,
  2092. /* [in] */ DISPID dispIdMember,
  2093. /* [in] */ REFIID riid,
  2094. /* [in] */ LCID lcid,
  2095. /* [in] */ DWORD dwFlags,
  2096. /* [in] */ DISPPARAMS *pDispParams,
  2097. /* [out] */ VARIANT *pVarResult,
  2098. /* [out] */ EXCEPINFO *pExcepInfo,
  2099. /* [out] */ UINT *pArgErr,
  2100. /* [in] */ UINT cVarRef,
  2101. /* [size_is][in] */ UINT *rgVarRefIdx,
  2102. /* [size_is][out][in] */ VARIANTARG *rgVarRef);
  2103. void __RPC_STUB IDispatch_RemoteInvoke_Stub(
  2104. IRpcStubBuffer *This,
  2105. IRpcChannelBuffer *_pRpcChannelBuffer,
  2106. PRPC_MESSAGE _pRpcMessage,
  2107. DWORD *_pdwStubPhase);
  2108. #endif /* __IDispatch_INTERFACE_DEFINED__ */
  2109. #ifndef __IEnumVARIANT_INTERFACE_DEFINED__
  2110. #define __IEnumVARIANT_INTERFACE_DEFINED__
  2111. /* interface IEnumVARIANT */
  2112. /* [unique][uuid][object] */
  2113. typedef /* [unique] */ IEnumVARIANT *LPENUMVARIANT;
  2114. EXTERN_C const IID IID_IEnumVARIANT;
  2115. #if defined(__cplusplus) && !defined(CINTERFACE)
  2116. MIDL_INTERFACE("00020404-0000-0000-C000-000000000046")
  2117. IEnumVARIANT : public IUnknown
  2118. {
  2119. public:
  2120. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next(
  2121. /* [in] */ ULONG celt,
  2122. /* [length_is][size_is][out] */ VARIANT *rgVar,
  2123. /* [out] */ ULONG *pCeltFetched) = 0;
  2124. virtual HRESULT STDMETHODCALLTYPE Skip(
  2125. /* [in] */ ULONG celt) = 0;
  2126. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  2127. virtual HRESULT STDMETHODCALLTYPE Clone(
  2128. /* [out] */ IEnumVARIANT **ppEnum) = 0;
  2129. };
  2130. #else /* C style interface */
  2131. typedef struct IEnumVARIANTVtbl
  2132. {
  2133. BEGIN_INTERFACE
  2134. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2135. IEnumVARIANT * This,
  2136. /* [in] */ REFIID riid,
  2137. /* [iid_is][out] */ void **ppvObject);
  2138. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2139. IEnumVARIANT * This);
  2140. ULONG ( STDMETHODCALLTYPE *Release )(
  2141. IEnumVARIANT * This);
  2142. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )(
  2143. IEnumVARIANT * This,
  2144. /* [in] */ ULONG celt,
  2145. /* [length_is][size_is][out] */ VARIANT *rgVar,
  2146. /* [out] */ ULONG *pCeltFetched);
  2147. HRESULT ( STDMETHODCALLTYPE *Skip )(
  2148. IEnumVARIANT * This,
  2149. /* [in] */ ULONG celt);
  2150. HRESULT ( STDMETHODCALLTYPE *Reset )(
  2151. IEnumVARIANT * This);
  2152. HRESULT ( STDMETHODCALLTYPE *Clone )(
  2153. IEnumVARIANT * This,
  2154. /* [out] */ IEnumVARIANT **ppEnum);
  2155. END_INTERFACE
  2156. } IEnumVARIANTVtbl;
  2157. interface IEnumVARIANT
  2158. {
  2159. CONST_VTBL struct IEnumVARIANTVtbl *lpVtbl;
  2160. };
  2161. #ifdef COBJMACROS
  2162. #define IEnumVARIANT_QueryInterface(This,riid,ppvObject) \
  2163. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2164. #define IEnumVARIANT_AddRef(This) \
  2165. (This)->lpVtbl -> AddRef(This)
  2166. #define IEnumVARIANT_Release(This) \
  2167. (This)->lpVtbl -> Release(This)
  2168. #define IEnumVARIANT_Next(This,celt,rgVar,pCeltFetched) \
  2169. (This)->lpVtbl -> Next(This,celt,rgVar,pCeltFetched)
  2170. #define IEnumVARIANT_Skip(This,celt) \
  2171. (This)->lpVtbl -> Skip(This,celt)
  2172. #define IEnumVARIANT_Reset(This) \
  2173. (This)->lpVtbl -> Reset(This)
  2174. #define IEnumVARIANT_Clone(This,ppEnum) \
  2175. (This)->lpVtbl -> Clone(This,ppEnum)
  2176. #endif /* COBJMACROS */
  2177. #endif /* C style interface */
  2178. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumVARIANT_RemoteNext_Proxy(
  2179. IEnumVARIANT * This,
  2180. /* [in] */ ULONG celt,
  2181. /* [length_is][size_is][out] */ VARIANT *rgVar,
  2182. /* [out] */ ULONG *pCeltFetched);
  2183. void __RPC_STUB IEnumVARIANT_RemoteNext_Stub(
  2184. IRpcStubBuffer *This,
  2185. IRpcChannelBuffer *_pRpcChannelBuffer,
  2186. PRPC_MESSAGE _pRpcMessage,
  2187. DWORD *_pdwStubPhase);
  2188. HRESULT STDMETHODCALLTYPE IEnumVARIANT_Skip_Proxy(
  2189. IEnumVARIANT * This,
  2190. /* [in] */ ULONG celt);
  2191. void __RPC_STUB IEnumVARIANT_Skip_Stub(
  2192. IRpcStubBuffer *This,
  2193. IRpcChannelBuffer *_pRpcChannelBuffer,
  2194. PRPC_MESSAGE _pRpcMessage,
  2195. DWORD *_pdwStubPhase);
  2196. HRESULT STDMETHODCALLTYPE IEnumVARIANT_Reset_Proxy(
  2197. IEnumVARIANT * This);
  2198. void __RPC_STUB IEnumVARIANT_Reset_Stub(
  2199. IRpcStubBuffer *This,
  2200. IRpcChannelBuffer *_pRpcChannelBuffer,
  2201. PRPC_MESSAGE _pRpcMessage,
  2202. DWORD *_pdwStubPhase);
  2203. HRESULT STDMETHODCALLTYPE IEnumVARIANT_Clone_Proxy(
  2204. IEnumVARIANT * This,
  2205. /* [out] */ IEnumVARIANT **ppEnum);
  2206. void __RPC_STUB IEnumVARIANT_Clone_Stub(
  2207. IRpcStubBuffer *This,
  2208. IRpcChannelBuffer *_pRpcChannelBuffer,
  2209. PRPC_MESSAGE _pRpcMessage,
  2210. DWORD *_pdwStubPhase);
  2211. #endif /* __IEnumVARIANT_INTERFACE_DEFINED__ */
  2212. #ifndef __ITypeComp_INTERFACE_DEFINED__
  2213. #define __ITypeComp_INTERFACE_DEFINED__
  2214. /* interface ITypeComp */
  2215. /* [unique][uuid][object] */
  2216. typedef /* [unique] */ ITypeComp *LPTYPECOMP;
  2217. typedef /* [v1_enum] */
  2218. enum tagDESCKIND
  2219. { DESCKIND_NONE = 0,
  2220. DESCKIND_FUNCDESC = DESCKIND_NONE + 1,
  2221. DESCKIND_VARDESC = DESCKIND_FUNCDESC + 1,
  2222. DESCKIND_TYPECOMP = DESCKIND_VARDESC + 1,
  2223. DESCKIND_IMPLICITAPPOBJ = DESCKIND_TYPECOMP + 1,
  2224. DESCKIND_MAX = DESCKIND_IMPLICITAPPOBJ + 1
  2225. } DESCKIND;
  2226. typedef union tagBINDPTR
  2227. {
  2228. FUNCDESC *lpfuncdesc;
  2229. VARDESC *lpvardesc;
  2230. ITypeComp *lptcomp;
  2231. } BINDPTR;
  2232. typedef union tagBINDPTR *LPBINDPTR;
  2233. EXTERN_C const IID IID_ITypeComp;
  2234. #if defined(__cplusplus) && !defined(CINTERFACE)
  2235. MIDL_INTERFACE("00020403-0000-0000-C000-000000000046")
  2236. ITypeComp : public IUnknown
  2237. {
  2238. public:
  2239. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Bind(
  2240. /* [in] */ LPOLESTR szName,
  2241. /* [in] */ ULONG lHashVal,
  2242. /* [in] */ WORD wFlags,
  2243. /* [out] */ ITypeInfo **ppTInfo,
  2244. /* [out] */ DESCKIND *pDescKind,
  2245. /* [out] */ BINDPTR *pBindPtr) = 0;
  2246. virtual /* [local] */ HRESULT STDMETHODCALLTYPE BindType(
  2247. /* [in] */ LPOLESTR szName,
  2248. /* [in] */ ULONG lHashVal,
  2249. /* [out] */ ITypeInfo **ppTInfo,
  2250. /* [out] */ ITypeComp **ppTComp) = 0;
  2251. };
  2252. #else /* C style interface */
  2253. typedef struct ITypeCompVtbl
  2254. {
  2255. BEGIN_INTERFACE
  2256. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2257. ITypeComp * This,
  2258. /* [in] */ REFIID riid,
  2259. /* [iid_is][out] */ void **ppvObject);
  2260. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2261. ITypeComp * This);
  2262. ULONG ( STDMETHODCALLTYPE *Release )(
  2263. ITypeComp * This);
  2264. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Bind )(
  2265. ITypeComp * This,
  2266. /* [in] */ LPOLESTR szName,
  2267. /* [in] */ ULONG lHashVal,
  2268. /* [in] */ WORD wFlags,
  2269. /* [out] */ ITypeInfo **ppTInfo,
  2270. /* [out] */ DESCKIND *pDescKind,
  2271. /* [out] */ BINDPTR *pBindPtr);
  2272. /* [local] */ HRESULT ( STDMETHODCALLTYPE *BindType )(
  2273. ITypeComp * This,
  2274. /* [in] */ LPOLESTR szName,
  2275. /* [in] */ ULONG lHashVal,
  2276. /* [out] */ ITypeInfo **ppTInfo,
  2277. /* [out] */ ITypeComp **ppTComp);
  2278. END_INTERFACE
  2279. } ITypeCompVtbl;
  2280. interface ITypeComp
  2281. {
  2282. CONST_VTBL struct ITypeCompVtbl *lpVtbl;
  2283. };
  2284. #ifdef COBJMACROS
  2285. #define ITypeComp_QueryInterface(This,riid,ppvObject) \
  2286. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2287. #define ITypeComp_AddRef(This) \
  2288. (This)->lpVtbl -> AddRef(This)
  2289. #define ITypeComp_Release(This) \
  2290. (This)->lpVtbl -> Release(This)
  2291. #define ITypeComp_Bind(This,szName,lHashVal,wFlags,ppTInfo,pDescKind,pBindPtr) \
  2292. (This)->lpVtbl -> Bind(This,szName,lHashVal,wFlags,ppTInfo,pDescKind,pBindPtr)
  2293. #define ITypeComp_BindType(This,szName,lHashVal,ppTInfo,ppTComp) \
  2294. (This)->lpVtbl -> BindType(This,szName,lHashVal,ppTInfo,ppTComp)
  2295. #endif /* COBJMACROS */
  2296. #endif /* C style interface */
  2297. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeComp_RemoteBind_Proxy(
  2298. ITypeComp * This,
  2299. /* [in] */ LPOLESTR szName,
  2300. /* [in] */ ULONG lHashVal,
  2301. /* [in] */ WORD wFlags,
  2302. /* [out] */ ITypeInfo **ppTInfo,
  2303. /* [out] */ DESCKIND *pDescKind,
  2304. /* [out] */ LPFUNCDESC *ppFuncDesc,
  2305. /* [out] */ LPVARDESC *ppVarDesc,
  2306. /* [out] */ ITypeComp **ppTypeComp,
  2307. /* [out] */ CLEANLOCALSTORAGE *pDummy);
  2308. void __RPC_STUB ITypeComp_RemoteBind_Stub(
  2309. IRpcStubBuffer *This,
  2310. IRpcChannelBuffer *_pRpcChannelBuffer,
  2311. PRPC_MESSAGE _pRpcMessage,
  2312. DWORD *_pdwStubPhase);
  2313. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeComp_RemoteBindType_Proxy(
  2314. ITypeComp * This,
  2315. /* [in] */ LPOLESTR szName,
  2316. /* [in] */ ULONG lHashVal,
  2317. /* [out] */ ITypeInfo **ppTInfo);
  2318. void __RPC_STUB ITypeComp_RemoteBindType_Stub(
  2319. IRpcStubBuffer *This,
  2320. IRpcChannelBuffer *_pRpcChannelBuffer,
  2321. PRPC_MESSAGE _pRpcMessage,
  2322. DWORD *_pdwStubPhase);
  2323. #endif /* __ITypeComp_INTERFACE_DEFINED__ */
  2324. #ifndef __ITypeInfo_INTERFACE_DEFINED__
  2325. #define __ITypeInfo_INTERFACE_DEFINED__
  2326. /* interface ITypeInfo */
  2327. /* [unique][uuid][object] */
  2328. typedef /* [unique] */ ITypeInfo *LPTYPEINFO;
  2329. EXTERN_C const IID IID_ITypeInfo;
  2330. #if defined(__cplusplus) && !defined(CINTERFACE)
  2331. MIDL_INTERFACE("00020401-0000-0000-C000-000000000046")
  2332. ITypeInfo : public IUnknown
  2333. {
  2334. public:
  2335. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetTypeAttr(
  2336. /* [out] */ TYPEATTR **ppTypeAttr) = 0;
  2337. virtual HRESULT STDMETHODCALLTYPE GetTypeComp(
  2338. /* [out] */ ITypeComp **ppTComp) = 0;
  2339. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetFuncDesc(
  2340. /* [in] */ UINT index,
  2341. /* [out] */ FUNCDESC **ppFuncDesc) = 0;
  2342. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetVarDesc(
  2343. /* [in] */ UINT index,
  2344. /* [out] */ VARDESC **ppVarDesc) = 0;
  2345. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetNames(
  2346. /* [in] */ MEMBERID memid,
  2347. /* [length_is][size_is][out] */ BSTR *rgBstrNames,
  2348. /* [in] */ UINT cMaxNames,
  2349. /* [out] */ UINT *pcNames) = 0;
  2350. virtual HRESULT STDMETHODCALLTYPE GetRefTypeOfImplType(
  2351. /* [in] */ UINT index,
  2352. /* [out] */ HREFTYPE *pRefType) = 0;
  2353. virtual HRESULT STDMETHODCALLTYPE GetImplTypeFlags(
  2354. /* [in] */ UINT index,
  2355. /* [out] */ INT *pImplTypeFlags) = 0;
  2356. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetIDsOfNames(
  2357. /* [size_is][in] */ LPOLESTR *rgszNames,
  2358. /* [in] */ UINT cNames,
  2359. /* [size_is][out] */ MEMBERID *pMemId) = 0;
  2360. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Invoke(
  2361. /* [in] */ PVOID pvInstance,
  2362. /* [in] */ MEMBERID memid,
  2363. /* [in] */ WORD wFlags,
  2364. /* [out][in] */ DISPPARAMS *pDispParams,
  2365. /* [out] */ VARIANT *pVarResult,
  2366. /* [out] */ EXCEPINFO *pExcepInfo,
  2367. /* [out] */ UINT *puArgErr) = 0;
  2368. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDocumentation(
  2369. /* [in] */ MEMBERID memid,
  2370. /* [out] */ BSTR *pBstrName,
  2371. /* [out] */ BSTR *pBstrDocString,
  2372. /* [out] */ DWORD *pdwHelpContext,
  2373. /* [out] */ BSTR *pBstrHelpFile) = 0;
  2374. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDllEntry(
  2375. /* [in] */ MEMBERID memid,
  2376. /* [in] */ INVOKEKIND invKind,
  2377. /* [out] */ BSTR *pBstrDllName,
  2378. /* [out] */ BSTR *pBstrName,
  2379. /* [out] */ WORD *pwOrdinal) = 0;
  2380. virtual HRESULT STDMETHODCALLTYPE GetRefTypeInfo(
  2381. /* [in] */ HREFTYPE hRefType,
  2382. /* [out] */ ITypeInfo **ppTInfo) = 0;
  2383. virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddressOfMember(
  2384. /* [in] */ MEMBERID memid,
  2385. /* [in] */ INVOKEKIND invKind,
  2386. /* [out] */ PVOID *ppv) = 0;
  2387. virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateInstance(
  2388. /* [in] */ IUnknown *pUnkOuter,
  2389. /* [in] */ REFIID riid,
  2390. /* [iid_is][out] */ PVOID *ppvObj) = 0;
  2391. virtual HRESULT STDMETHODCALLTYPE GetMops(
  2392. /* [in] */ MEMBERID memid,
  2393. /* [out] */ BSTR *pBstrMops) = 0;
  2394. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetContainingTypeLib(
  2395. /* [out] */ ITypeLib **ppTLib,
  2396. /* [out] */ UINT *pIndex) = 0;
  2397. virtual /* [local] */ void STDMETHODCALLTYPE ReleaseTypeAttr(
  2398. /* [in] */ TYPEATTR *pTypeAttr) = 0;
  2399. virtual /* [local] */ void STDMETHODCALLTYPE ReleaseFuncDesc(
  2400. /* [in] */ FUNCDESC *pFuncDesc) = 0;
  2401. virtual /* [local] */ void STDMETHODCALLTYPE ReleaseVarDesc(
  2402. /* [in] */ VARDESC *pVarDesc) = 0;
  2403. };
  2404. #else /* C style interface */
  2405. typedef struct ITypeInfoVtbl
  2406. {
  2407. BEGIN_INTERFACE
  2408. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2409. ITypeInfo * This,
  2410. /* [in] */ REFIID riid,
  2411. /* [iid_is][out] */ void **ppvObject);
  2412. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2413. ITypeInfo * This);
  2414. ULONG ( STDMETHODCALLTYPE *Release )(
  2415. ITypeInfo * This);
  2416. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetTypeAttr )(
  2417. ITypeInfo * This,
  2418. /* [out] */ TYPEATTR **ppTypeAttr);
  2419. HRESULT ( STDMETHODCALLTYPE *GetTypeComp )(
  2420. ITypeInfo * This,
  2421. /* [out] */ ITypeComp **ppTComp);
  2422. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetFuncDesc )(
  2423. ITypeInfo * This,
  2424. /* [in] */ UINT index,
  2425. /* [out] */ FUNCDESC **ppFuncDesc);
  2426. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetVarDesc )(
  2427. ITypeInfo * This,
  2428. /* [in] */ UINT index,
  2429. /* [out] */ VARDESC **ppVarDesc);
  2430. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetNames )(
  2431. ITypeInfo * This,
  2432. /* [in] */ MEMBERID memid,
  2433. /* [length_is][size_is][out] */ BSTR *rgBstrNames,
  2434. /* [in] */ UINT cMaxNames,
  2435. /* [out] */ UINT *pcNames);
  2436. HRESULT ( STDMETHODCALLTYPE *GetRefTypeOfImplType )(
  2437. ITypeInfo * This,
  2438. /* [in] */ UINT index,
  2439. /* [out] */ HREFTYPE *pRefType);
  2440. HRESULT ( STDMETHODCALLTYPE *GetImplTypeFlags )(
  2441. ITypeInfo * This,
  2442. /* [in] */ UINT index,
  2443. /* [out] */ INT *pImplTypeFlags);
  2444. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  2445. ITypeInfo * This,
  2446. /* [size_is][in] */ LPOLESTR *rgszNames,
  2447. /* [in] */ UINT cNames,
  2448. /* [size_is][out] */ MEMBERID *pMemId);
  2449. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  2450. ITypeInfo * This,
  2451. /* [in] */ PVOID pvInstance,
  2452. /* [in] */ MEMBERID memid,
  2453. /* [in] */ WORD wFlags,
  2454. /* [out][in] */ DISPPARAMS *pDispParams,
  2455. /* [out] */ VARIANT *pVarResult,
  2456. /* [out] */ EXCEPINFO *pExcepInfo,
  2457. /* [out] */ UINT *puArgErr);
  2458. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetDocumentation )(
  2459. ITypeInfo * This,
  2460. /* [in] */ MEMBERID memid,
  2461. /* [out] */ BSTR *pBstrName,
  2462. /* [out] */ BSTR *pBstrDocString,
  2463. /* [out] */ DWORD *pdwHelpContext,
  2464. /* [out] */ BSTR *pBstrHelpFile);
  2465. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetDllEntry )(
  2466. ITypeInfo * This,
  2467. /* [in] */ MEMBERID memid,
  2468. /* [in] */ INVOKEKIND invKind,
  2469. /* [out] */ BSTR *pBstrDllName,
  2470. /* [out] */ BSTR *pBstrName,
  2471. /* [out] */ WORD *pwOrdinal);
  2472. HRESULT ( STDMETHODCALLTYPE *GetRefTypeInfo )(
  2473. ITypeInfo * This,
  2474. /* [in] */ HREFTYPE hRefType,
  2475. /* [out] */ ITypeInfo **ppTInfo);
  2476. /* [local] */ HRESULT ( STDMETHODCALLTYPE *AddressOfMember )(
  2477. ITypeInfo * This,
  2478. /* [in] */ MEMBERID memid,
  2479. /* [in] */ INVOKEKIND invKind,
  2480. /* [out] */ PVOID *ppv);
  2481. /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateInstance )(
  2482. ITypeInfo * This,
  2483. /* [in] */ IUnknown *pUnkOuter,
  2484. /* [in] */ REFIID riid,
  2485. /* [iid_is][out] */ PVOID *ppvObj);
  2486. HRESULT ( STDMETHODCALLTYPE *GetMops )(
  2487. ITypeInfo * This,
  2488. /* [in] */ MEMBERID memid,
  2489. /* [out] */ BSTR *pBstrMops);
  2490. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetContainingTypeLib )(
  2491. ITypeInfo * This,
  2492. /* [out] */ ITypeLib **ppTLib,
  2493. /* [out] */ UINT *pIndex);
  2494. /* [local] */ void ( STDMETHODCALLTYPE *ReleaseTypeAttr )(
  2495. ITypeInfo * This,
  2496. /* [in] */ TYPEATTR *pTypeAttr);
  2497. /* [local] */ void ( STDMETHODCALLTYPE *ReleaseFuncDesc )(
  2498. ITypeInfo * This,
  2499. /* [in] */ FUNCDESC *pFuncDesc);
  2500. /* [local] */ void ( STDMETHODCALLTYPE *ReleaseVarDesc )(
  2501. ITypeInfo * This,
  2502. /* [in] */ VARDESC *pVarDesc);
  2503. END_INTERFACE
  2504. } ITypeInfoVtbl;
  2505. interface ITypeInfo
  2506. {
  2507. CONST_VTBL struct ITypeInfoVtbl *lpVtbl;
  2508. };
  2509. #ifdef COBJMACROS
  2510. #define ITypeInfo_QueryInterface(This,riid,ppvObject) \
  2511. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2512. #define ITypeInfo_AddRef(This) \
  2513. (This)->lpVtbl -> AddRef(This)
  2514. #define ITypeInfo_Release(This) \
  2515. (This)->lpVtbl -> Release(This)
  2516. #define ITypeInfo_GetTypeAttr(This,ppTypeAttr) \
  2517. (This)->lpVtbl -> GetTypeAttr(This,ppTypeAttr)
  2518. #define ITypeInfo_GetTypeComp(This,ppTComp) \
  2519. (This)->lpVtbl -> GetTypeComp(This,ppTComp)
  2520. #define ITypeInfo_GetFuncDesc(This,index,ppFuncDesc) \
  2521. (This)->lpVtbl -> GetFuncDesc(This,index,ppFuncDesc)
  2522. #define ITypeInfo_GetVarDesc(This,index,ppVarDesc) \
  2523. (This)->lpVtbl -> GetVarDesc(This,index,ppVarDesc)
  2524. #define ITypeInfo_GetNames(This,memid,rgBstrNames,cMaxNames,pcNames) \
  2525. (This)->lpVtbl -> GetNames(This,memid,rgBstrNames,cMaxNames,pcNames)
  2526. #define ITypeInfo_GetRefTypeOfImplType(This,index,pRefType) \
  2527. (This)->lpVtbl -> GetRefTypeOfImplType(This,index,pRefType)
  2528. #define ITypeInfo_GetImplTypeFlags(This,index,pImplTypeFlags) \
  2529. (This)->lpVtbl -> GetImplTypeFlags(This,index,pImplTypeFlags)
  2530. #define ITypeInfo_GetIDsOfNames(This,rgszNames,cNames,pMemId) \
  2531. (This)->lpVtbl -> GetIDsOfNames(This,rgszNames,cNames,pMemId)
  2532. #define ITypeInfo_Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  2533. (This)->lpVtbl -> Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2534. #define ITypeInfo_GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile) \
  2535. (This)->lpVtbl -> GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile)
  2536. #define ITypeInfo_GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal) \
  2537. (This)->lpVtbl -> GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal)
  2538. #define ITypeInfo_GetRefTypeInfo(This,hRefType,ppTInfo) \
  2539. (This)->lpVtbl -> GetRefTypeInfo(This,hRefType,ppTInfo)
  2540. #define ITypeInfo_AddressOfMember(This,memid,invKind,ppv) \
  2541. (This)->lpVtbl -> AddressOfMember(This,memid,invKind,ppv)
  2542. #define ITypeInfo_CreateInstance(This,pUnkOuter,riid,ppvObj) \
  2543. (This)->lpVtbl -> CreateInstance(This,pUnkOuter,riid,ppvObj)
  2544. #define ITypeInfo_GetMops(This,memid,pBstrMops) \
  2545. (This)->lpVtbl -> GetMops(This,memid,pBstrMops)
  2546. #define ITypeInfo_GetContainingTypeLib(This,ppTLib,pIndex) \
  2547. (This)->lpVtbl -> GetContainingTypeLib(This,ppTLib,pIndex)
  2548. #define ITypeInfo_ReleaseTypeAttr(This,pTypeAttr) \
  2549. (This)->lpVtbl -> ReleaseTypeAttr(This,pTypeAttr)
  2550. #define ITypeInfo_ReleaseFuncDesc(This,pFuncDesc) \
  2551. (This)->lpVtbl -> ReleaseFuncDesc(This,pFuncDesc)
  2552. #define ITypeInfo_ReleaseVarDesc(This,pVarDesc) \
  2553. (This)->lpVtbl -> ReleaseVarDesc(This,pVarDesc)
  2554. #endif /* COBJMACROS */
  2555. #endif /* C style interface */
  2556. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetTypeAttr_Proxy(
  2557. ITypeInfo * This,
  2558. /* [out] */ LPTYPEATTR *ppTypeAttr,
  2559. /* [out] */ CLEANLOCALSTORAGE *pDummy);
  2560. void __RPC_STUB ITypeInfo_RemoteGetTypeAttr_Stub(
  2561. IRpcStubBuffer *This,
  2562. IRpcChannelBuffer *_pRpcChannelBuffer,
  2563. PRPC_MESSAGE _pRpcMessage,
  2564. DWORD *_pdwStubPhase);
  2565. HRESULT STDMETHODCALLTYPE ITypeInfo_GetTypeComp_Proxy(
  2566. ITypeInfo * This,
  2567. /* [out] */ ITypeComp **ppTComp);
  2568. void __RPC_STUB ITypeInfo_GetTypeComp_Stub(
  2569. IRpcStubBuffer *This,
  2570. IRpcChannelBuffer *_pRpcChannelBuffer,
  2571. PRPC_MESSAGE _pRpcMessage,
  2572. DWORD *_pdwStubPhase);
  2573. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetFuncDesc_Proxy(
  2574. ITypeInfo * This,
  2575. /* [in] */ UINT index,
  2576. /* [out] */ LPFUNCDESC *ppFuncDesc,
  2577. /* [out] */ CLEANLOCALSTORAGE *pDummy);
  2578. void __RPC_STUB ITypeInfo_RemoteGetFuncDesc_Stub(
  2579. IRpcStubBuffer *This,
  2580. IRpcChannelBuffer *_pRpcChannelBuffer,
  2581. PRPC_MESSAGE _pRpcMessage,
  2582. DWORD *_pdwStubPhase);
  2583. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetVarDesc_Proxy(
  2584. ITypeInfo * This,
  2585. /* [in] */ UINT index,
  2586. /* [out] */ LPVARDESC *ppVarDesc,
  2587. /* [out] */ CLEANLOCALSTORAGE *pDummy);
  2588. void __RPC_STUB ITypeInfo_RemoteGetVarDesc_Stub(
  2589. IRpcStubBuffer *This,
  2590. IRpcChannelBuffer *_pRpcChannelBuffer,
  2591. PRPC_MESSAGE _pRpcMessage,
  2592. DWORD *_pdwStubPhase);
  2593. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetNames_Proxy(
  2594. ITypeInfo * This,
  2595. /* [in] */ MEMBERID memid,
  2596. /* [length_is][size_is][out] */ BSTR *rgBstrNames,
  2597. /* [in] */ UINT cMaxNames,
  2598. /* [out] */ UINT *pcNames);
  2599. void __RPC_STUB ITypeInfo_RemoteGetNames_Stub(
  2600. IRpcStubBuffer *This,
  2601. IRpcChannelBuffer *_pRpcChannelBuffer,
  2602. PRPC_MESSAGE _pRpcMessage,
  2603. DWORD *_pdwStubPhase);
  2604. HRESULT STDMETHODCALLTYPE ITypeInfo_GetRefTypeOfImplType_Proxy(
  2605. ITypeInfo * This,
  2606. /* [in] */ UINT index,
  2607. /* [out] */ HREFTYPE *pRefType);
  2608. void __RPC_STUB ITypeInfo_GetRefTypeOfImplType_Stub(
  2609. IRpcStubBuffer *This,
  2610. IRpcChannelBuffer *_pRpcChannelBuffer,
  2611. PRPC_MESSAGE _pRpcMessage,
  2612. DWORD *_pdwStubPhase);
  2613. HRESULT STDMETHODCALLTYPE ITypeInfo_GetImplTypeFlags_Proxy(
  2614. ITypeInfo * This,
  2615. /* [in] */ UINT index,
  2616. /* [out] */ INT *pImplTypeFlags);
  2617. void __RPC_STUB ITypeInfo_GetImplTypeFlags_Stub(
  2618. IRpcStubBuffer *This,
  2619. IRpcChannelBuffer *_pRpcChannelBuffer,
  2620. PRPC_MESSAGE _pRpcMessage,
  2621. DWORD *_pdwStubPhase);
  2622. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_LocalGetIDsOfNames_Proxy(
  2623. ITypeInfo * This);
  2624. void __RPC_STUB ITypeInfo_LocalGetIDsOfNames_Stub(
  2625. IRpcStubBuffer *This,
  2626. IRpcChannelBuffer *_pRpcChannelBuffer,
  2627. PRPC_MESSAGE _pRpcMessage,
  2628. DWORD *_pdwStubPhase);
  2629. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_LocalInvoke_Proxy(
  2630. ITypeInfo * This);
  2631. void __RPC_STUB ITypeInfo_LocalInvoke_Stub(
  2632. IRpcStubBuffer *This,
  2633. IRpcChannelBuffer *_pRpcChannelBuffer,
  2634. PRPC_MESSAGE _pRpcMessage,
  2635. DWORD *_pdwStubPhase);
  2636. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetDocumentation_Proxy(
  2637. ITypeInfo * This,
  2638. /* [in] */ MEMBERID memid,
  2639. /* [in] */ DWORD refPtrFlags,
  2640. /* [out] */ BSTR *pBstrName,
  2641. /* [out] */ BSTR *pBstrDocString,
  2642. /* [out] */ DWORD *pdwHelpContext,
  2643. /* [out] */ BSTR *pBstrHelpFile);
  2644. void __RPC_STUB ITypeInfo_RemoteGetDocumentation_Stub(
  2645. IRpcStubBuffer *This,
  2646. IRpcChannelBuffer *_pRpcChannelBuffer,
  2647. PRPC_MESSAGE _pRpcMessage,
  2648. DWORD *_pdwStubPhase);
  2649. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetDllEntry_Proxy(
  2650. ITypeInfo * This,
  2651. /* [in] */ MEMBERID memid,
  2652. /* [in] */ INVOKEKIND invKind,
  2653. /* [in] */ DWORD refPtrFlags,
  2654. /* [out] */ BSTR *pBstrDllName,
  2655. /* [out] */ BSTR *pBstrName,
  2656. /* [out] */ WORD *pwOrdinal);
  2657. void __RPC_STUB ITypeInfo_RemoteGetDllEntry_Stub(
  2658. IRpcStubBuffer *This,
  2659. IRpcChannelBuffer *_pRpcChannelBuffer,
  2660. PRPC_MESSAGE _pRpcMessage,
  2661. DWORD *_pdwStubPhase);
  2662. HRESULT STDMETHODCALLTYPE ITypeInfo_GetRefTypeInfo_Proxy(
  2663. ITypeInfo * This,
  2664. /* [in] */ HREFTYPE hRefType,
  2665. /* [out] */ ITypeInfo **ppTInfo);
  2666. void __RPC_STUB ITypeInfo_GetRefTypeInfo_Stub(
  2667. IRpcStubBuffer *This,
  2668. IRpcChannelBuffer *_pRpcChannelBuffer,
  2669. PRPC_MESSAGE _pRpcMessage,
  2670. DWORD *_pdwStubPhase);
  2671. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_LocalAddressOfMember_Proxy(
  2672. ITypeInfo * This);
  2673. void __RPC_STUB ITypeInfo_LocalAddressOfMember_Stub(
  2674. IRpcStubBuffer *This,
  2675. IRpcChannelBuffer *_pRpcChannelBuffer,
  2676. PRPC_MESSAGE _pRpcMessage,
  2677. DWORD *_pdwStubPhase);
  2678. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteCreateInstance_Proxy(
  2679. ITypeInfo * This,
  2680. /* [in] */ REFIID riid,
  2681. /* [iid_is][out] */ IUnknown **ppvObj);
  2682. void __RPC_STUB ITypeInfo_RemoteCreateInstance_Stub(
  2683. IRpcStubBuffer *This,
  2684. IRpcChannelBuffer *_pRpcChannelBuffer,
  2685. PRPC_MESSAGE _pRpcMessage,
  2686. DWORD *_pdwStubPhase);
  2687. HRESULT STDMETHODCALLTYPE ITypeInfo_GetMops_Proxy(
  2688. ITypeInfo * This,
  2689. /* [in] */ MEMBERID memid,
  2690. /* [out] */ BSTR *pBstrMops);
  2691. void __RPC_STUB ITypeInfo_GetMops_Stub(
  2692. IRpcStubBuffer *This,
  2693. IRpcChannelBuffer *_pRpcChannelBuffer,
  2694. PRPC_MESSAGE _pRpcMessage,
  2695. DWORD *_pdwStubPhase);
  2696. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetContainingTypeLib_Proxy(
  2697. ITypeInfo * This,
  2698. /* [out] */ ITypeLib **ppTLib,
  2699. /* [out] */ UINT *pIndex);
  2700. void __RPC_STUB ITypeInfo_RemoteGetContainingTypeLib_Stub(
  2701. IRpcStubBuffer *This,
  2702. IRpcChannelBuffer *_pRpcChannelBuffer,
  2703. PRPC_MESSAGE _pRpcMessage,
  2704. DWORD *_pdwStubPhase);
  2705. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_LocalReleaseTypeAttr_Proxy(
  2706. ITypeInfo * This);
  2707. void __RPC_STUB ITypeInfo_LocalReleaseTypeAttr_Stub(
  2708. IRpcStubBuffer *This,
  2709. IRpcChannelBuffer *_pRpcChannelBuffer,
  2710. PRPC_MESSAGE _pRpcMessage,
  2711. DWORD *_pdwStubPhase);
  2712. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_LocalReleaseFuncDesc_Proxy(
  2713. ITypeInfo * This);
  2714. void __RPC_STUB ITypeInfo_LocalReleaseFuncDesc_Stub(
  2715. IRpcStubBuffer *This,
  2716. IRpcChannelBuffer *_pRpcChannelBuffer,
  2717. PRPC_MESSAGE _pRpcMessage,
  2718. DWORD *_pdwStubPhase);
  2719. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_LocalReleaseVarDesc_Proxy(
  2720. ITypeInfo * This);
  2721. void __RPC_STUB ITypeInfo_LocalReleaseVarDesc_Stub(
  2722. IRpcStubBuffer *This,
  2723. IRpcChannelBuffer *_pRpcChannelBuffer,
  2724. PRPC_MESSAGE _pRpcMessage,
  2725. DWORD *_pdwStubPhase);
  2726. #endif /* __ITypeInfo_INTERFACE_DEFINED__ */
  2727. #ifndef __ITypeInfo2_INTERFACE_DEFINED__
  2728. #define __ITypeInfo2_INTERFACE_DEFINED__
  2729. /* interface ITypeInfo2 */
  2730. /* [unique][uuid][object] */
  2731. typedef /* [unique] */ ITypeInfo2 *LPTYPEINFO2;
  2732. EXTERN_C const IID IID_ITypeInfo2;
  2733. #if defined(__cplusplus) && !defined(CINTERFACE)
  2734. MIDL_INTERFACE("00020412-0000-0000-C000-000000000046")
  2735. ITypeInfo2 : public ITypeInfo
  2736. {
  2737. public:
  2738. virtual HRESULT STDMETHODCALLTYPE GetTypeKind(
  2739. /* [out] */ TYPEKIND *pTypeKind) = 0;
  2740. virtual HRESULT STDMETHODCALLTYPE GetTypeFlags(
  2741. /* [out] */ ULONG *pTypeFlags) = 0;
  2742. virtual HRESULT STDMETHODCALLTYPE GetFuncIndexOfMemId(
  2743. /* [in] */ MEMBERID memid,
  2744. /* [in] */ INVOKEKIND invKind,
  2745. /* [out] */ UINT *pFuncIndex) = 0;
  2746. virtual HRESULT STDMETHODCALLTYPE GetVarIndexOfMemId(
  2747. /* [in] */ MEMBERID memid,
  2748. /* [out] */ UINT *pVarIndex) = 0;
  2749. virtual HRESULT STDMETHODCALLTYPE GetCustData(
  2750. /* [in] */ REFGUID guid,
  2751. /* [out] */ VARIANT *pVarVal) = 0;
  2752. virtual HRESULT STDMETHODCALLTYPE GetFuncCustData(
  2753. /* [in] */ UINT index,
  2754. /* [in] */ REFGUID guid,
  2755. /* [out] */ VARIANT *pVarVal) = 0;
  2756. virtual HRESULT STDMETHODCALLTYPE GetParamCustData(
  2757. /* [in] */ UINT indexFunc,
  2758. /* [in] */ UINT indexParam,
  2759. /* [in] */ REFGUID guid,
  2760. /* [out] */ VARIANT *pVarVal) = 0;
  2761. virtual HRESULT STDMETHODCALLTYPE GetVarCustData(
  2762. /* [in] */ UINT index,
  2763. /* [in] */ REFGUID guid,
  2764. /* [out] */ VARIANT *pVarVal) = 0;
  2765. virtual HRESULT STDMETHODCALLTYPE GetImplTypeCustData(
  2766. /* [in] */ UINT index,
  2767. /* [in] */ REFGUID guid,
  2768. /* [out] */ VARIANT *pVarVal) = 0;
  2769. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDocumentation2(
  2770. /* [in] */ MEMBERID memid,
  2771. /* [in] */ LCID lcid,
  2772. /* [out] */ BSTR *pbstrHelpString,
  2773. /* [out] */ DWORD *pdwHelpStringContext,
  2774. /* [out] */ BSTR *pbstrHelpStringDll) = 0;
  2775. virtual HRESULT STDMETHODCALLTYPE GetAllCustData(
  2776. /* [out] */ CUSTDATA *pCustData) = 0;
  2777. virtual HRESULT STDMETHODCALLTYPE GetAllFuncCustData(
  2778. /* [in] */ UINT index,
  2779. /* [out] */ CUSTDATA *pCustData) = 0;
  2780. virtual HRESULT STDMETHODCALLTYPE GetAllParamCustData(
  2781. /* [in] */ UINT indexFunc,
  2782. /* [in] */ UINT indexParam,
  2783. /* [out] */ CUSTDATA *pCustData) = 0;
  2784. virtual HRESULT STDMETHODCALLTYPE GetAllVarCustData(
  2785. /* [in] */ UINT index,
  2786. /* [out] */ CUSTDATA *pCustData) = 0;
  2787. virtual HRESULT STDMETHODCALLTYPE GetAllImplTypeCustData(
  2788. /* [in] */ UINT index,
  2789. /* [out] */ CUSTDATA *pCustData) = 0;
  2790. };
  2791. #else /* C style interface */
  2792. typedef struct ITypeInfo2Vtbl
  2793. {
  2794. BEGIN_INTERFACE
  2795. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2796. ITypeInfo2 * This,
  2797. /* [in] */ REFIID riid,
  2798. /* [iid_is][out] */ void **ppvObject);
  2799. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2800. ITypeInfo2 * This);
  2801. ULONG ( STDMETHODCALLTYPE *Release )(
  2802. ITypeInfo2 * This);
  2803. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetTypeAttr )(
  2804. ITypeInfo2 * This,
  2805. /* [out] */ TYPEATTR **ppTypeAttr);
  2806. HRESULT ( STDMETHODCALLTYPE *GetTypeComp )(
  2807. ITypeInfo2 * This,
  2808. /* [out] */ ITypeComp **ppTComp);
  2809. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetFuncDesc )(
  2810. ITypeInfo2 * This,
  2811. /* [in] */ UINT index,
  2812. /* [out] */ FUNCDESC **ppFuncDesc);
  2813. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetVarDesc )(
  2814. ITypeInfo2 * This,
  2815. /* [in] */ UINT index,
  2816. /* [out] */ VARDESC **ppVarDesc);
  2817. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetNames )(
  2818. ITypeInfo2 * This,
  2819. /* [in] */ MEMBERID memid,
  2820. /* [length_is][size_is][out] */ BSTR *rgBstrNames,
  2821. /* [in] */ UINT cMaxNames,
  2822. /* [out] */ UINT *pcNames);
  2823. HRESULT ( STDMETHODCALLTYPE *GetRefTypeOfImplType )(
  2824. ITypeInfo2 * This,
  2825. /* [in] */ UINT index,
  2826. /* [out] */ HREFTYPE *pRefType);
  2827. HRESULT ( STDMETHODCALLTYPE *GetImplTypeFlags )(
  2828. ITypeInfo2 * This,
  2829. /* [in] */ UINT index,
  2830. /* [out] */ INT *pImplTypeFlags);
  2831. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  2832. ITypeInfo2 * This,
  2833. /* [size_is][in] */ LPOLESTR *rgszNames,
  2834. /* [in] */ UINT cNames,
  2835. /* [size_is][out] */ MEMBERID *pMemId);
  2836. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  2837. ITypeInfo2 * This,
  2838. /* [in] */ PVOID pvInstance,
  2839. /* [in] */ MEMBERID memid,
  2840. /* [in] */ WORD wFlags,
  2841. /* [out][in] */ DISPPARAMS *pDispParams,
  2842. /* [out] */ VARIANT *pVarResult,
  2843. /* [out] */ EXCEPINFO *pExcepInfo,
  2844. /* [out] */ UINT *puArgErr);
  2845. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetDocumentation )(
  2846. ITypeInfo2 * This,
  2847. /* [in] */ MEMBERID memid,
  2848. /* [out] */ BSTR *pBstrName,
  2849. /* [out] */ BSTR *pBstrDocString,
  2850. /* [out] */ DWORD *pdwHelpContext,
  2851. /* [out] */ BSTR *pBstrHelpFile);
  2852. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetDllEntry )(
  2853. ITypeInfo2 * This,
  2854. /* [in] */ MEMBERID memid,
  2855. /* [in] */ INVOKEKIND invKind,
  2856. /* [out] */ BSTR *pBstrDllName,
  2857. /* [out] */ BSTR *pBstrName,
  2858. /* [out] */ WORD *pwOrdinal);
  2859. HRESULT ( STDMETHODCALLTYPE *GetRefTypeInfo )(
  2860. ITypeInfo2 * This,
  2861. /* [in] */ HREFTYPE hRefType,
  2862. /* [out] */ ITypeInfo **ppTInfo);
  2863. /* [local] */ HRESULT ( STDMETHODCALLTYPE *AddressOfMember )(
  2864. ITypeInfo2 * This,
  2865. /* [in] */ MEMBERID memid,
  2866. /* [in] */ INVOKEKIND invKind,
  2867. /* [out] */ PVOID *ppv);
  2868. /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateInstance )(
  2869. ITypeInfo2 * This,
  2870. /* [in] */ IUnknown *pUnkOuter,
  2871. /* [in] */ REFIID riid,
  2872. /* [iid_is][out] */ PVOID *ppvObj);
  2873. HRESULT ( STDMETHODCALLTYPE *GetMops )(
  2874. ITypeInfo2 * This,
  2875. /* [in] */ MEMBERID memid,
  2876. /* [out] */ BSTR *pBstrMops);
  2877. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetContainingTypeLib )(
  2878. ITypeInfo2 * This,
  2879. /* [out] */ ITypeLib **ppTLib,
  2880. /* [out] */ UINT *pIndex);
  2881. /* [local] */ void ( STDMETHODCALLTYPE *ReleaseTypeAttr )(
  2882. ITypeInfo2 * This,
  2883. /* [in] */ TYPEATTR *pTypeAttr);
  2884. /* [local] */ void ( STDMETHODCALLTYPE *ReleaseFuncDesc )(
  2885. ITypeInfo2 * This,
  2886. /* [in] */ FUNCDESC *pFuncDesc);
  2887. /* [local] */ void ( STDMETHODCALLTYPE *ReleaseVarDesc )(
  2888. ITypeInfo2 * This,
  2889. /* [in] */ VARDESC *pVarDesc);
  2890. HRESULT ( STDMETHODCALLTYPE *GetTypeKind )(
  2891. ITypeInfo2 * This,
  2892. /* [out] */ TYPEKIND *pTypeKind);
  2893. HRESULT ( STDMETHODCALLTYPE *GetTypeFlags )(
  2894. ITypeInfo2 * This,
  2895. /* [out] */ ULONG *pTypeFlags);
  2896. HRESULT ( STDMETHODCALLTYPE *GetFuncIndexOfMemId )(
  2897. ITypeInfo2 * This,
  2898. /* [in] */ MEMBERID memid,
  2899. /* [in] */ INVOKEKIND invKind,
  2900. /* [out] */ UINT *pFuncIndex);
  2901. HRESULT ( STDMETHODCALLTYPE *GetVarIndexOfMemId )(
  2902. ITypeInfo2 * This,
  2903. /* [in] */ MEMBERID memid,
  2904. /* [out] */ UINT *pVarIndex);
  2905. HRESULT ( STDMETHODCALLTYPE *GetCustData )(
  2906. ITypeInfo2 * This,
  2907. /* [in] */ REFGUID guid,
  2908. /* [out] */ VARIANT *pVarVal);
  2909. HRESULT ( STDMETHODCALLTYPE *GetFuncCustData )(
  2910. ITypeInfo2 * This,
  2911. /* [in] */ UINT index,
  2912. /* [in] */ REFGUID guid,
  2913. /* [out] */ VARIANT *pVarVal);
  2914. HRESULT ( STDMETHODCALLTYPE *GetParamCustData )(
  2915. ITypeInfo2 * This,
  2916. /* [in] */ UINT indexFunc,
  2917. /* [in] */ UINT indexParam,
  2918. /* [in] */ REFGUID guid,
  2919. /* [out] */ VARIANT *pVarVal);
  2920. HRESULT ( STDMETHODCALLTYPE *GetVarCustData )(
  2921. ITypeInfo2 * This,
  2922. /* [in] */ UINT index,
  2923. /* [in] */ REFGUID guid,
  2924. /* [out] */ VARIANT *pVarVal);
  2925. HRESULT ( STDMETHODCALLTYPE *GetImplTypeCustData )(
  2926. ITypeInfo2 * This,
  2927. /* [in] */ UINT index,
  2928. /* [in] */ REFGUID guid,
  2929. /* [out] */ VARIANT *pVarVal);
  2930. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetDocumentation2 )(
  2931. ITypeInfo2 * This,
  2932. /* [in] */ MEMBERID memid,
  2933. /* [in] */ LCID lcid,
  2934. /* [out] */ BSTR *pbstrHelpString,
  2935. /* [out] */ DWORD *pdwHelpStringContext,
  2936. /* [out] */ BSTR *pbstrHelpStringDll);
  2937. HRESULT ( STDMETHODCALLTYPE *GetAllCustData )(
  2938. ITypeInfo2 * This,
  2939. /* [out] */ CUSTDATA *pCustData);
  2940. HRESULT ( STDMETHODCALLTYPE *GetAllFuncCustData )(
  2941. ITypeInfo2 * This,
  2942. /* [in] */ UINT index,
  2943. /* [out] */ CUSTDATA *pCustData);
  2944. HRESULT ( STDMETHODCALLTYPE *GetAllParamCustData )(
  2945. ITypeInfo2 * This,
  2946. /* [in] */ UINT indexFunc,
  2947. /* [in] */ UINT indexParam,
  2948. /* [out] */ CUSTDATA *pCustData);
  2949. HRESULT ( STDMETHODCALLTYPE *GetAllVarCustData )(
  2950. ITypeInfo2 * This,
  2951. /* [in] */ UINT index,
  2952. /* [out] */ CUSTDATA *pCustData);
  2953. HRESULT ( STDMETHODCALLTYPE *GetAllImplTypeCustData )(
  2954. ITypeInfo2 * This,
  2955. /* [in] */ UINT index,
  2956. /* [out] */ CUSTDATA *pCustData);
  2957. END_INTERFACE
  2958. } ITypeInfo2Vtbl;
  2959. interface ITypeInfo2
  2960. {
  2961. CONST_VTBL struct ITypeInfo2Vtbl *lpVtbl;
  2962. };
  2963. #ifdef COBJMACROS
  2964. #define ITypeInfo2_QueryInterface(This,riid,ppvObject) \
  2965. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2966. #define ITypeInfo2_AddRef(This) \
  2967. (This)->lpVtbl -> AddRef(This)
  2968. #define ITypeInfo2_Release(This) \
  2969. (This)->lpVtbl -> Release(This)
  2970. #define ITypeInfo2_GetTypeAttr(This,ppTypeAttr) \
  2971. (This)->lpVtbl -> GetTypeAttr(This,ppTypeAttr)
  2972. #define ITypeInfo2_GetTypeComp(This,ppTComp) \
  2973. (This)->lpVtbl -> GetTypeComp(This,ppTComp)
  2974. #define ITypeInfo2_GetFuncDesc(This,index,ppFuncDesc) \
  2975. (This)->lpVtbl -> GetFuncDesc(This,index,ppFuncDesc)
  2976. #define ITypeInfo2_GetVarDesc(This,index,ppVarDesc) \
  2977. (This)->lpVtbl -> GetVarDesc(This,index,ppVarDesc)
  2978. #define ITypeInfo2_GetNames(This,memid,rgBstrNames,cMaxNames,pcNames) \
  2979. (This)->lpVtbl -> GetNames(This,memid,rgBstrNames,cMaxNames,pcNames)
  2980. #define ITypeInfo2_GetRefTypeOfImplType(This,index,pRefType) \
  2981. (This)->lpVtbl -> GetRefTypeOfImplType(This,index,pRefType)
  2982. #define ITypeInfo2_GetImplTypeFlags(This,index,pImplTypeFlags) \
  2983. (This)->lpVtbl -> GetImplTypeFlags(This,index,pImplTypeFlags)
  2984. #define ITypeInfo2_GetIDsOfNames(This,rgszNames,cNames,pMemId) \
  2985. (This)->lpVtbl -> GetIDsOfNames(This,rgszNames,cNames,pMemId)
  2986. #define ITypeInfo2_Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  2987. (This)->lpVtbl -> Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2988. #define ITypeInfo2_GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile) \
  2989. (This)->lpVtbl -> GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile)
  2990. #define ITypeInfo2_GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal) \
  2991. (This)->lpVtbl -> GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal)
  2992. #define ITypeInfo2_GetRefTypeInfo(This,hRefType,ppTInfo) \
  2993. (This)->lpVtbl -> GetRefTypeInfo(This,hRefType,ppTInfo)
  2994. #define ITypeInfo2_AddressOfMember(This,memid,invKind,ppv) \
  2995. (This)->lpVtbl -> AddressOfMember(This,memid,invKind,ppv)
  2996. #define ITypeInfo2_CreateInstance(This,pUnkOuter,riid,ppvObj) \
  2997. (This)->lpVtbl -> CreateInstance(This,pUnkOuter,riid,ppvObj)
  2998. #define ITypeInfo2_GetMops(This,memid,pBstrMops) \
  2999. (This)->lpVtbl -> GetMops(This,memid,pBstrMops)
  3000. #define ITypeInfo2_GetContainingTypeLib(This,ppTLib,pIndex) \
  3001. (This)->lpVtbl -> GetContainingTypeLib(This,ppTLib,pIndex)
  3002. #define ITypeInfo2_ReleaseTypeAttr(This,pTypeAttr) \
  3003. (This)->lpVtbl -> ReleaseTypeAttr(This,pTypeAttr)
  3004. #define ITypeInfo2_ReleaseFuncDesc(This,pFuncDesc) \
  3005. (This)->lpVtbl -> ReleaseFuncDesc(This,pFuncDesc)
  3006. #define ITypeInfo2_ReleaseVarDesc(This,pVarDesc) \
  3007. (This)->lpVtbl -> ReleaseVarDesc(This,pVarDesc)
  3008. #define ITypeInfo2_GetTypeKind(This,pTypeKind) \
  3009. (This)->lpVtbl -> GetTypeKind(This,pTypeKind)
  3010. #define ITypeInfo2_GetTypeFlags(This,pTypeFlags) \
  3011. (This)->lpVtbl -> GetTypeFlags(This,pTypeFlags)
  3012. #define ITypeInfo2_GetFuncIndexOfMemId(This,memid,invKind,pFuncIndex) \
  3013. (This)->lpVtbl -> GetFuncIndexOfMemId(This,memid,invKind,pFuncIndex)
  3014. #define ITypeInfo2_GetVarIndexOfMemId(This,memid,pVarIndex) \
  3015. (This)->lpVtbl -> GetVarIndexOfMemId(This,memid,pVarIndex)
  3016. #define ITypeInfo2_GetCustData(This,guid,pVarVal) \
  3017. (This)->lpVtbl -> GetCustData(This,guid,pVarVal)
  3018. #define ITypeInfo2_GetFuncCustData(This,index,guid,pVarVal) \
  3019. (This)->lpVtbl -> GetFuncCustData(This,index,guid,pVarVal)
  3020. #define ITypeInfo2_GetParamCustData(This,indexFunc,indexParam,guid,pVarVal) \
  3021. (This)->lpVtbl -> GetParamCustData(This,indexFunc,indexParam,guid,pVarVal)
  3022. #define ITypeInfo2_GetVarCustData(This,index,guid,pVarVal) \
  3023. (This)->lpVtbl -> GetVarCustData(This,index,guid,pVarVal)
  3024. #define ITypeInfo2_GetImplTypeCustData(This,index,guid,pVarVal) \
  3025. (This)->lpVtbl -> GetImplTypeCustData(This,index,guid,pVarVal)
  3026. #define ITypeInfo2_GetDocumentation2(This,memid,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll) \
  3027. (This)->lpVtbl -> GetDocumentation2(This,memid,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll)
  3028. #define ITypeInfo2_GetAllCustData(This,pCustData) \
  3029. (This)->lpVtbl -> GetAllCustData(This,pCustData)
  3030. #define ITypeInfo2_GetAllFuncCustData(This,index,pCustData) \
  3031. (This)->lpVtbl -> GetAllFuncCustData(This,index,pCustData)
  3032. #define ITypeInfo2_GetAllParamCustData(This,indexFunc,indexParam,pCustData) \
  3033. (This)->lpVtbl -> GetAllParamCustData(This,indexFunc,indexParam,pCustData)
  3034. #define ITypeInfo2_GetAllVarCustData(This,index,pCustData) \
  3035. (This)->lpVtbl -> GetAllVarCustData(This,index,pCustData)
  3036. #define ITypeInfo2_GetAllImplTypeCustData(This,index,pCustData) \
  3037. (This)->lpVtbl -> GetAllImplTypeCustData(This,index,pCustData)
  3038. #endif /* COBJMACROS */
  3039. #endif /* C style interface */
  3040. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetTypeKind_Proxy(
  3041. ITypeInfo2 * This,
  3042. /* [out] */ TYPEKIND *pTypeKind);
  3043. void __RPC_STUB ITypeInfo2_GetTypeKind_Stub(
  3044. IRpcStubBuffer *This,
  3045. IRpcChannelBuffer *_pRpcChannelBuffer,
  3046. PRPC_MESSAGE _pRpcMessage,
  3047. DWORD *_pdwStubPhase);
  3048. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetTypeFlags_Proxy(
  3049. ITypeInfo2 * This,
  3050. /* [out] */ ULONG *pTypeFlags);
  3051. void __RPC_STUB ITypeInfo2_GetTypeFlags_Stub(
  3052. IRpcStubBuffer *This,
  3053. IRpcChannelBuffer *_pRpcChannelBuffer,
  3054. PRPC_MESSAGE _pRpcMessage,
  3055. DWORD *_pdwStubPhase);
  3056. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetFuncIndexOfMemId_Proxy(
  3057. ITypeInfo2 * This,
  3058. /* [in] */ MEMBERID memid,
  3059. /* [in] */ INVOKEKIND invKind,
  3060. /* [out] */ UINT *pFuncIndex);
  3061. void __RPC_STUB ITypeInfo2_GetFuncIndexOfMemId_Stub(
  3062. IRpcStubBuffer *This,
  3063. IRpcChannelBuffer *_pRpcChannelBuffer,
  3064. PRPC_MESSAGE _pRpcMessage,
  3065. DWORD *_pdwStubPhase);
  3066. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetVarIndexOfMemId_Proxy(
  3067. ITypeInfo2 * This,
  3068. /* [in] */ MEMBERID memid,
  3069. /* [out] */ UINT *pVarIndex);
  3070. void __RPC_STUB ITypeInfo2_GetVarIndexOfMemId_Stub(
  3071. IRpcStubBuffer *This,
  3072. IRpcChannelBuffer *_pRpcChannelBuffer,
  3073. PRPC_MESSAGE _pRpcMessage,
  3074. DWORD *_pdwStubPhase);
  3075. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetCustData_Proxy(
  3076. ITypeInfo2 * This,
  3077. /* [in] */ REFGUID guid,
  3078. /* [out] */ VARIANT *pVarVal);
  3079. void __RPC_STUB ITypeInfo2_GetCustData_Stub(
  3080. IRpcStubBuffer *This,
  3081. IRpcChannelBuffer *_pRpcChannelBuffer,
  3082. PRPC_MESSAGE _pRpcMessage,
  3083. DWORD *_pdwStubPhase);
  3084. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetFuncCustData_Proxy(
  3085. ITypeInfo2 * This,
  3086. /* [in] */ UINT index,
  3087. /* [in] */ REFGUID guid,
  3088. /* [out] */ VARIANT *pVarVal);
  3089. void __RPC_STUB ITypeInfo2_GetFuncCustData_Stub(
  3090. IRpcStubBuffer *This,
  3091. IRpcChannelBuffer *_pRpcChannelBuffer,
  3092. PRPC_MESSAGE _pRpcMessage,
  3093. DWORD *_pdwStubPhase);
  3094. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetParamCustData_Proxy(
  3095. ITypeInfo2 * This,
  3096. /* [in] */ UINT indexFunc,
  3097. /* [in] */ UINT indexParam,
  3098. /* [in] */ REFGUID guid,
  3099. /* [out] */ VARIANT *pVarVal);
  3100. void __RPC_STUB ITypeInfo2_GetParamCustData_Stub(
  3101. IRpcStubBuffer *This,
  3102. IRpcChannelBuffer *_pRpcChannelBuffer,
  3103. PRPC_MESSAGE _pRpcMessage,
  3104. DWORD *_pdwStubPhase);
  3105. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetVarCustData_Proxy(
  3106. ITypeInfo2 * This,
  3107. /* [in] */ UINT index,
  3108. /* [in] */ REFGUID guid,
  3109. /* [out] */ VARIANT *pVarVal);
  3110. void __RPC_STUB ITypeInfo2_GetVarCustData_Stub(
  3111. IRpcStubBuffer *This,
  3112. IRpcChannelBuffer *_pRpcChannelBuffer,
  3113. PRPC_MESSAGE _pRpcMessage,
  3114. DWORD *_pdwStubPhase);
  3115. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetImplTypeCustData_Proxy(
  3116. ITypeInfo2 * This,
  3117. /* [in] */ UINT index,
  3118. /* [in] */ REFGUID guid,
  3119. /* [out] */ VARIANT *pVarVal);
  3120. void __RPC_STUB ITypeInfo2_GetImplTypeCustData_Stub(
  3121. IRpcStubBuffer *This,
  3122. IRpcChannelBuffer *_pRpcChannelBuffer,
  3123. PRPC_MESSAGE _pRpcMessage,
  3124. DWORD *_pdwStubPhase);
  3125. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo2_RemoteGetDocumentation2_Proxy(
  3126. ITypeInfo2 * This,
  3127. /* [in] */ MEMBERID memid,
  3128. /* [in] */ LCID lcid,
  3129. /* [in] */ DWORD refPtrFlags,
  3130. /* [out] */ BSTR *pbstrHelpString,
  3131. /* [out] */ DWORD *pdwHelpStringContext,
  3132. /* [out] */ BSTR *pbstrHelpStringDll);
  3133. void __RPC_STUB ITypeInfo2_RemoteGetDocumentation2_Stub(
  3134. IRpcStubBuffer *This,
  3135. IRpcChannelBuffer *_pRpcChannelBuffer,
  3136. PRPC_MESSAGE _pRpcMessage,
  3137. DWORD *_pdwStubPhase);
  3138. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllCustData_Proxy(
  3139. ITypeInfo2 * This,
  3140. /* [out] */ CUSTDATA *pCustData);
  3141. void __RPC_STUB ITypeInfo2_GetAllCustData_Stub(
  3142. IRpcStubBuffer *This,
  3143. IRpcChannelBuffer *_pRpcChannelBuffer,
  3144. PRPC_MESSAGE _pRpcMessage,
  3145. DWORD *_pdwStubPhase);
  3146. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllFuncCustData_Proxy(
  3147. ITypeInfo2 * This,
  3148. /* [in] */ UINT index,
  3149. /* [out] */ CUSTDATA *pCustData);
  3150. void __RPC_STUB ITypeInfo2_GetAllFuncCustData_Stub(
  3151. IRpcStubBuffer *This,
  3152. IRpcChannelBuffer *_pRpcChannelBuffer,
  3153. PRPC_MESSAGE _pRpcMessage,
  3154. DWORD *_pdwStubPhase);
  3155. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllParamCustData_Proxy(
  3156. ITypeInfo2 * This,
  3157. /* [in] */ UINT indexFunc,
  3158. /* [in] */ UINT indexParam,
  3159. /* [out] */ CUSTDATA *pCustData);
  3160. void __RPC_STUB ITypeInfo2_GetAllParamCustData_Stub(
  3161. IRpcStubBuffer *This,
  3162. IRpcChannelBuffer *_pRpcChannelBuffer,
  3163. PRPC_MESSAGE _pRpcMessage,
  3164. DWORD *_pdwStubPhase);
  3165. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllVarCustData_Proxy(
  3166. ITypeInfo2 * This,
  3167. /* [in] */ UINT index,
  3168. /* [out] */ CUSTDATA *pCustData);
  3169. void __RPC_STUB ITypeInfo2_GetAllVarCustData_Stub(
  3170. IRpcStubBuffer *This,
  3171. IRpcChannelBuffer *_pRpcChannelBuffer,
  3172. PRPC_MESSAGE _pRpcMessage,
  3173. DWORD *_pdwStubPhase);
  3174. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllImplTypeCustData_Proxy(
  3175. ITypeInfo2 * This,
  3176. /* [in] */ UINT index,
  3177. /* [out] */ CUSTDATA *pCustData);
  3178. void __RPC_STUB ITypeInfo2_GetAllImplTypeCustData_Stub(
  3179. IRpcStubBuffer *This,
  3180. IRpcChannelBuffer *_pRpcChannelBuffer,
  3181. PRPC_MESSAGE _pRpcMessage,
  3182. DWORD *_pdwStubPhase);
  3183. #endif /* __ITypeInfo2_INTERFACE_DEFINED__ */
  3184. #ifndef __ITypeLib_INTERFACE_DEFINED__
  3185. #define __ITypeLib_INTERFACE_DEFINED__
  3186. /* interface ITypeLib */
  3187. /* [unique][uuid][object] */
  3188. typedef /* [v1_enum] */
  3189. enum tagSYSKIND
  3190. { SYS_WIN16 = 0,
  3191. SYS_WIN32 = SYS_WIN16 + 1,
  3192. SYS_MAC = SYS_WIN32 + 1,
  3193. SYS_WIN64 = SYS_MAC + 1
  3194. } SYSKIND;
  3195. typedef /* [v1_enum] */
  3196. enum tagLIBFLAGS
  3197. { LIBFLAG_FRESTRICTED = 0x1,
  3198. LIBFLAG_FCONTROL = 0x2,
  3199. LIBFLAG_FHIDDEN = 0x4,
  3200. LIBFLAG_FHASDISKIMAGE = 0x8
  3201. } LIBFLAGS;
  3202. typedef /* [unique] */ ITypeLib *LPTYPELIB;
  3203. typedef struct tagTLIBATTR
  3204. {
  3205. GUID guid;
  3206. LCID lcid;
  3207. SYSKIND syskind;
  3208. WORD wMajorVerNum;
  3209. WORD wMinorVerNum;
  3210. WORD wLibFlags;
  3211. } TLIBATTR;
  3212. typedef struct tagTLIBATTR *LPTLIBATTR;
  3213. EXTERN_C const IID IID_ITypeLib;
  3214. #if defined(__cplusplus) && !defined(CINTERFACE)
  3215. MIDL_INTERFACE("00020402-0000-0000-C000-000000000046")
  3216. ITypeLib : public IUnknown
  3217. {
  3218. public:
  3219. virtual /* [local] */ UINT STDMETHODCALLTYPE GetTypeInfoCount( void) = 0;
  3220. virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(
  3221. /* [in] */ UINT index,
  3222. /* [out] */ ITypeInfo **ppTInfo) = 0;
  3223. virtual HRESULT STDMETHODCALLTYPE GetTypeInfoType(
  3224. /* [in] */ UINT index,
  3225. /* [out] */ TYPEKIND *pTKind) = 0;
  3226. virtual HRESULT STDMETHODCALLTYPE GetTypeInfoOfGuid(
  3227. /* [in] */ REFGUID guid,
  3228. /* [out] */ ITypeInfo **ppTinfo) = 0;
  3229. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetLibAttr(
  3230. /* [out] */ TLIBATTR **ppTLibAttr) = 0;
  3231. virtual HRESULT STDMETHODCALLTYPE GetTypeComp(
  3232. /* [out] */ ITypeComp **ppTComp) = 0;
  3233. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDocumentation(
  3234. /* [in] */ INT index,
  3235. /* [out] */ BSTR *pBstrName,
  3236. /* [out] */ BSTR *pBstrDocString,
  3237. /* [out] */ DWORD *pdwHelpContext,
  3238. /* [out] */ BSTR *pBstrHelpFile) = 0;
  3239. virtual /* [local] */ HRESULT STDMETHODCALLTYPE IsName(
  3240. /* [out][in] */ LPOLESTR szNameBuf,
  3241. /* [in] */ ULONG lHashVal,
  3242. /* [out] */ BOOL *pfName) = 0;
  3243. virtual /* [local] */ HRESULT STDMETHODCALLTYPE FindName(
  3244. /* [out][in] */ LPOLESTR szNameBuf,
  3245. /* [in] */ ULONG lHashVal,
  3246. /* [length_is][size_is][out] */ ITypeInfo **ppTInfo,
  3247. /* [length_is][size_is][out] */ MEMBERID *rgMemId,
  3248. /* [out][in] */ USHORT *pcFound) = 0;
  3249. virtual /* [local] */ void STDMETHODCALLTYPE ReleaseTLibAttr(
  3250. /* [in] */ TLIBATTR *pTLibAttr) = 0;
  3251. };
  3252. #else /* C style interface */
  3253. typedef struct ITypeLibVtbl
  3254. {
  3255. BEGIN_INTERFACE
  3256. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3257. ITypeLib * This,
  3258. /* [in] */ REFIID riid,
  3259. /* [iid_is][out] */ void **ppvObject);
  3260. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3261. ITypeLib * This);
  3262. ULONG ( STDMETHODCALLTYPE *Release )(
  3263. ITypeLib * This);
  3264. /* [local] */ UINT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  3265. ITypeLib * This);
  3266. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  3267. ITypeLib * This,
  3268. /* [in] */ UINT index,
  3269. /* [out] */ ITypeInfo **ppTInfo);
  3270. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoType )(
  3271. ITypeLib * This,
  3272. /* [in] */ UINT index,
  3273. /* [out] */ TYPEKIND *pTKind);
  3274. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoOfGuid )(
  3275. ITypeLib * This,
  3276. /* [in] */ REFGUID guid,
  3277. /* [out] */ ITypeInfo **ppTinfo);
  3278. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetLibAttr )(
  3279. ITypeLib * This,
  3280. /* [out] */ TLIBATTR **ppTLibAttr);
  3281. HRESULT ( STDMETHODCALLTYPE *GetTypeComp )(
  3282. ITypeLib * This,
  3283. /* [out] */ ITypeComp **ppTComp);
  3284. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetDocumentation )(
  3285. ITypeLib * This,
  3286. /* [in] */ INT index,
  3287. /* [out] */ BSTR *pBstrName,
  3288. /* [out] */ BSTR *pBstrDocString,
  3289. /* [out] */ DWORD *pdwHelpContext,
  3290. /* [out] */ BSTR *pBstrHelpFile);
  3291. /* [local] */ HRESULT ( STDMETHODCALLTYPE *IsName )(
  3292. ITypeLib * This,
  3293. /* [out][in] */ LPOLESTR szNameBuf,
  3294. /* [in] */ ULONG lHashVal,
  3295. /* [out] */ BOOL *pfName);
  3296. /* [local] */ HRESULT ( STDMETHODCALLTYPE *FindName )(
  3297. ITypeLib * This,
  3298. /* [out][in] */ LPOLESTR szNameBuf,
  3299. /* [in] */ ULONG lHashVal,
  3300. /* [length_is][size_is][out] */ ITypeInfo **ppTInfo,
  3301. /* [length_is][size_is][out] */ MEMBERID *rgMemId,
  3302. /* [out][in] */ USHORT *pcFound);
  3303. /* [local] */ void ( STDMETHODCALLTYPE *ReleaseTLibAttr )(
  3304. ITypeLib * This,
  3305. /* [in] */ TLIBATTR *pTLibAttr);
  3306. END_INTERFACE
  3307. } ITypeLibVtbl;
  3308. interface ITypeLib
  3309. {
  3310. CONST_VTBL struct ITypeLibVtbl *lpVtbl;
  3311. };
  3312. #ifdef COBJMACROS
  3313. #define ITypeLib_QueryInterface(This,riid,ppvObject) \
  3314. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3315. #define ITypeLib_AddRef(This) \
  3316. (This)->lpVtbl -> AddRef(This)
  3317. #define ITypeLib_Release(This) \
  3318. (This)->lpVtbl -> Release(This)
  3319. #define ITypeLib_GetTypeInfoCount(This) \
  3320. (This)->lpVtbl -> GetTypeInfoCount(This)
  3321. #define ITypeLib_GetTypeInfo(This,index,ppTInfo) \
  3322. (This)->lpVtbl -> GetTypeInfo(This,index,ppTInfo)
  3323. #define ITypeLib_GetTypeInfoType(This,index,pTKind) \
  3324. (This)->lpVtbl -> GetTypeInfoType(This,index,pTKind)
  3325. #define ITypeLib_GetTypeInfoOfGuid(This,guid,ppTinfo) \
  3326. (This)->lpVtbl -> GetTypeInfoOfGuid(This,guid,ppTinfo)
  3327. #define ITypeLib_GetLibAttr(This,ppTLibAttr) \
  3328. (This)->lpVtbl -> GetLibAttr(This,ppTLibAttr)
  3329. #define ITypeLib_GetTypeComp(This,ppTComp) \
  3330. (This)->lpVtbl -> GetTypeComp(This,ppTComp)
  3331. #define ITypeLib_GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile) \
  3332. (This)->lpVtbl -> GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile)
  3333. #define ITypeLib_IsName(This,szNameBuf,lHashVal,pfName) \
  3334. (This)->lpVtbl -> IsName(This,szNameBuf,lHashVal,pfName)
  3335. #define ITypeLib_FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound) \
  3336. (This)->lpVtbl -> FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound)
  3337. #define ITypeLib_ReleaseTLibAttr(This,pTLibAttr) \
  3338. (This)->lpVtbl -> ReleaseTLibAttr(This,pTLibAttr)
  3339. #endif /* COBJMACROS */
  3340. #endif /* C style interface */
  3341. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_RemoteGetTypeInfoCount_Proxy(
  3342. ITypeLib * This,
  3343. /* [out] */ UINT *pcTInfo);
  3344. void __RPC_STUB ITypeLib_RemoteGetTypeInfoCount_Stub(
  3345. IRpcStubBuffer *This,
  3346. IRpcChannelBuffer *_pRpcChannelBuffer,
  3347. PRPC_MESSAGE _pRpcMessage,
  3348. DWORD *_pdwStubPhase);
  3349. HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeInfo_Proxy(
  3350. ITypeLib * This,
  3351. /* [in] */ UINT index,
  3352. /* [out] */ ITypeInfo **ppTInfo);
  3353. void __RPC_STUB ITypeLib_GetTypeInfo_Stub(
  3354. IRpcStubBuffer *This,
  3355. IRpcChannelBuffer *_pRpcChannelBuffer,
  3356. PRPC_MESSAGE _pRpcMessage,
  3357. DWORD *_pdwStubPhase);
  3358. HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeInfoType_Proxy(
  3359. ITypeLib * This,
  3360. /* [in] */ UINT index,
  3361. /* [out] */ TYPEKIND *pTKind);
  3362. void __RPC_STUB ITypeLib_GetTypeInfoType_Stub(
  3363. IRpcStubBuffer *This,
  3364. IRpcChannelBuffer *_pRpcChannelBuffer,
  3365. PRPC_MESSAGE _pRpcMessage,
  3366. DWORD *_pdwStubPhase);
  3367. HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeInfoOfGuid_Proxy(
  3368. ITypeLib * This,
  3369. /* [in] */ REFGUID guid,
  3370. /* [out] */ ITypeInfo **ppTinfo);
  3371. void __RPC_STUB ITypeLib_GetTypeInfoOfGuid_Stub(
  3372. IRpcStubBuffer *This,
  3373. IRpcChannelBuffer *_pRpcChannelBuffer,
  3374. PRPC_MESSAGE _pRpcMessage,
  3375. DWORD *_pdwStubPhase);
  3376. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_RemoteGetLibAttr_Proxy(
  3377. ITypeLib * This,
  3378. /* [out] */ LPTLIBATTR *ppTLibAttr,
  3379. /* [out] */ CLEANLOCALSTORAGE *pDummy);
  3380. void __RPC_STUB ITypeLib_RemoteGetLibAttr_Stub(
  3381. IRpcStubBuffer *This,
  3382. IRpcChannelBuffer *_pRpcChannelBuffer,
  3383. PRPC_MESSAGE _pRpcMessage,
  3384. DWORD *_pdwStubPhase);
  3385. HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeComp_Proxy(
  3386. ITypeLib * This,
  3387. /* [out] */ ITypeComp **ppTComp);
  3388. void __RPC_STUB ITypeLib_GetTypeComp_Stub(
  3389. IRpcStubBuffer *This,
  3390. IRpcChannelBuffer *_pRpcChannelBuffer,
  3391. PRPC_MESSAGE _pRpcMessage,
  3392. DWORD *_pdwStubPhase);
  3393. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_RemoteGetDocumentation_Proxy(
  3394. ITypeLib * This,
  3395. /* [in] */ INT index,
  3396. /* [in] */ DWORD refPtrFlags,
  3397. /* [out] */ BSTR *pBstrName,
  3398. /* [out] */ BSTR *pBstrDocString,
  3399. /* [out] */ DWORD *pdwHelpContext,
  3400. /* [out] */ BSTR *pBstrHelpFile);
  3401. void __RPC_STUB ITypeLib_RemoteGetDocumentation_Stub(
  3402. IRpcStubBuffer *This,
  3403. IRpcChannelBuffer *_pRpcChannelBuffer,
  3404. PRPC_MESSAGE _pRpcMessage,
  3405. DWORD *_pdwStubPhase);
  3406. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_RemoteIsName_Proxy(
  3407. ITypeLib * This,
  3408. /* [in] */ LPOLESTR szNameBuf,
  3409. /* [in] */ ULONG lHashVal,
  3410. /* [out] */ BOOL *pfName,
  3411. /* [out] */ BSTR *pBstrLibName);
  3412. void __RPC_STUB ITypeLib_RemoteIsName_Stub(
  3413. IRpcStubBuffer *This,
  3414. IRpcChannelBuffer *_pRpcChannelBuffer,
  3415. PRPC_MESSAGE _pRpcMessage,
  3416. DWORD *_pdwStubPhase);
  3417. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_RemoteFindName_Proxy(
  3418. ITypeLib * This,
  3419. /* [in] */ LPOLESTR szNameBuf,
  3420. /* [in] */ ULONG lHashVal,
  3421. /* [length_is][size_is][out] */ ITypeInfo **ppTInfo,
  3422. /* [length_is][size_is][out] */ MEMBERID *rgMemId,
  3423. /* [out][in] */ USHORT *pcFound,
  3424. /* [out] */ BSTR *pBstrLibName);
  3425. void __RPC_STUB ITypeLib_RemoteFindName_Stub(
  3426. IRpcStubBuffer *This,
  3427. IRpcChannelBuffer *_pRpcChannelBuffer,
  3428. PRPC_MESSAGE _pRpcMessage,
  3429. DWORD *_pdwStubPhase);
  3430. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_LocalReleaseTLibAttr_Proxy(
  3431. ITypeLib * This);
  3432. void __RPC_STUB ITypeLib_LocalReleaseTLibAttr_Stub(
  3433. IRpcStubBuffer *This,
  3434. IRpcChannelBuffer *_pRpcChannelBuffer,
  3435. PRPC_MESSAGE _pRpcMessage,
  3436. DWORD *_pdwStubPhase);
  3437. #endif /* __ITypeLib_INTERFACE_DEFINED__ */
  3438. #ifndef __ITypeLib2_INTERFACE_DEFINED__
  3439. #define __ITypeLib2_INTERFACE_DEFINED__
  3440. /* interface ITypeLib2 */
  3441. /* [unique][uuid][object] */
  3442. typedef /* [unique] */ ITypeLib2 *LPTYPELIB2;
  3443. EXTERN_C const IID IID_ITypeLib2;
  3444. #if defined(__cplusplus) && !defined(CINTERFACE)
  3445. MIDL_INTERFACE("00020411-0000-0000-C000-000000000046")
  3446. ITypeLib2 : public ITypeLib
  3447. {
  3448. public:
  3449. virtual HRESULT STDMETHODCALLTYPE GetCustData(
  3450. /* [in] */ REFGUID guid,
  3451. /* [out] */ VARIANT *pVarVal) = 0;
  3452. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetLibStatistics(
  3453. /* [out] */ ULONG *pcUniqueNames,
  3454. /* [out] */ ULONG *pcchUniqueNames) = 0;
  3455. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDocumentation2(
  3456. /* [in] */ INT index,
  3457. /* [in] */ LCID lcid,
  3458. /* [out] */ BSTR *pbstrHelpString,
  3459. /* [out] */ DWORD *pdwHelpStringContext,
  3460. /* [out] */ BSTR *pbstrHelpStringDll) = 0;
  3461. virtual HRESULT STDMETHODCALLTYPE GetAllCustData(
  3462. /* [out] */ CUSTDATA *pCustData) = 0;
  3463. };
  3464. #else /* C style interface */
  3465. typedef struct ITypeLib2Vtbl
  3466. {
  3467. BEGIN_INTERFACE
  3468. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3469. ITypeLib2 * This,
  3470. /* [in] */ REFIID riid,
  3471. /* [iid_is][out] */ void **ppvObject);
  3472. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3473. ITypeLib2 * This);
  3474. ULONG ( STDMETHODCALLTYPE *Release )(
  3475. ITypeLib2 * This);
  3476. /* [local] */ UINT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  3477. ITypeLib2 * This);
  3478. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  3479. ITypeLib2 * This,
  3480. /* [in] */ UINT index,
  3481. /* [out] */ ITypeInfo **ppTInfo);
  3482. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoType )(
  3483. ITypeLib2 * This,
  3484. /* [in] */ UINT index,
  3485. /* [out] */ TYPEKIND *pTKind);
  3486. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoOfGuid )(
  3487. ITypeLib2 * This,
  3488. /* [in] */ REFGUID guid,
  3489. /* [out] */ ITypeInfo **ppTinfo);
  3490. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetLibAttr )(
  3491. ITypeLib2 * This,
  3492. /* [out] */ TLIBATTR **ppTLibAttr);
  3493. HRESULT ( STDMETHODCALLTYPE *GetTypeComp )(
  3494. ITypeLib2 * This,
  3495. /* [out] */ ITypeComp **ppTComp);
  3496. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetDocumentation )(
  3497. ITypeLib2 * This,
  3498. /* [in] */ INT index,
  3499. /* [out] */ BSTR *pBstrName,
  3500. /* [out] */ BSTR *pBstrDocString,
  3501. /* [out] */ DWORD *pdwHelpContext,
  3502. /* [out] */ BSTR *pBstrHelpFile);
  3503. /* [local] */ HRESULT ( STDMETHODCALLTYPE *IsName )(
  3504. ITypeLib2 * This,
  3505. /* [out][in] */ LPOLESTR szNameBuf,
  3506. /* [in] */ ULONG lHashVal,
  3507. /* [out] */ BOOL *pfName);
  3508. /* [local] */ HRESULT ( STDMETHODCALLTYPE *FindName )(
  3509. ITypeLib2 * This,
  3510. /* [out][in] */ LPOLESTR szNameBuf,
  3511. /* [in] */ ULONG lHashVal,
  3512. /* [length_is][size_is][out] */ ITypeInfo **ppTInfo,
  3513. /* [length_is][size_is][out] */ MEMBERID *rgMemId,
  3514. /* [out][in] */ USHORT *pcFound);
  3515. /* [local] */ void ( STDMETHODCALLTYPE *ReleaseTLibAttr )(
  3516. ITypeLib2 * This,
  3517. /* [in] */ TLIBATTR *pTLibAttr);
  3518. HRESULT ( STDMETHODCALLTYPE *GetCustData )(
  3519. ITypeLib2 * This,
  3520. /* [in] */ REFGUID guid,
  3521. /* [out] */ VARIANT *pVarVal);
  3522. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetLibStatistics )(
  3523. ITypeLib2 * This,
  3524. /* [out] */ ULONG *pcUniqueNames,
  3525. /* [out] */ ULONG *pcchUniqueNames);
  3526. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetDocumentation2 )(
  3527. ITypeLib2 * This,
  3528. /* [in] */ INT index,
  3529. /* [in] */ LCID lcid,
  3530. /* [out] */ BSTR *pbstrHelpString,
  3531. /* [out] */ DWORD *pdwHelpStringContext,
  3532. /* [out] */ BSTR *pbstrHelpStringDll);
  3533. HRESULT ( STDMETHODCALLTYPE *GetAllCustData )(
  3534. ITypeLib2 * This,
  3535. /* [out] */ CUSTDATA *pCustData);
  3536. END_INTERFACE
  3537. } ITypeLib2Vtbl;
  3538. interface ITypeLib2
  3539. {
  3540. CONST_VTBL struct ITypeLib2Vtbl *lpVtbl;
  3541. };
  3542. #ifdef COBJMACROS
  3543. #define ITypeLib2_QueryInterface(This,riid,ppvObject) \
  3544. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3545. #define ITypeLib2_AddRef(This) \
  3546. (This)->lpVtbl -> AddRef(This)
  3547. #define ITypeLib2_Release(This) \
  3548. (This)->lpVtbl -> Release(This)
  3549. #define ITypeLib2_GetTypeInfoCount(This) \
  3550. (This)->lpVtbl -> GetTypeInfoCount(This)
  3551. #define ITypeLib2_GetTypeInfo(This,index,ppTInfo) \
  3552. (This)->lpVtbl -> GetTypeInfo(This,index,ppTInfo)
  3553. #define ITypeLib2_GetTypeInfoType(This,index,pTKind) \
  3554. (This)->lpVtbl -> GetTypeInfoType(This,index,pTKind)
  3555. #define ITypeLib2_GetTypeInfoOfGuid(This,guid,ppTinfo) \
  3556. (This)->lpVtbl -> GetTypeInfoOfGuid(This,guid,ppTinfo)
  3557. #define ITypeLib2_GetLibAttr(This,ppTLibAttr) \
  3558. (This)->lpVtbl -> GetLibAttr(This,ppTLibAttr)
  3559. #define ITypeLib2_GetTypeComp(This,ppTComp) \
  3560. (This)->lpVtbl -> GetTypeComp(This,ppTComp)
  3561. #define ITypeLib2_GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile) \
  3562. (This)->lpVtbl -> GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile)
  3563. #define ITypeLib2_IsName(This,szNameBuf,lHashVal,pfName) \
  3564. (This)->lpVtbl -> IsName(This,szNameBuf,lHashVal,pfName)
  3565. #define ITypeLib2_FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound) \
  3566. (This)->lpVtbl -> FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound)
  3567. #define ITypeLib2_ReleaseTLibAttr(This,pTLibAttr) \
  3568. (This)->lpVtbl -> ReleaseTLibAttr(This,pTLibAttr)
  3569. #define ITypeLib2_GetCustData(This,guid,pVarVal) \
  3570. (This)->lpVtbl -> GetCustData(This,guid,pVarVal)
  3571. #define ITypeLib2_GetLibStatistics(This,pcUniqueNames,pcchUniqueNames) \
  3572. (This)->lpVtbl -> GetLibStatistics(This,pcUniqueNames,pcchUniqueNames)
  3573. #define ITypeLib2_GetDocumentation2(This,index,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll) \
  3574. (This)->lpVtbl -> GetDocumentation2(This,index,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll)
  3575. #define ITypeLib2_GetAllCustData(This,pCustData) \
  3576. (This)->lpVtbl -> GetAllCustData(This,pCustData)
  3577. #endif /* COBJMACROS */
  3578. #endif /* C style interface */
  3579. HRESULT STDMETHODCALLTYPE ITypeLib2_GetCustData_Proxy(
  3580. ITypeLib2 * This,
  3581. /* [in] */ REFGUID guid,
  3582. /* [out] */ VARIANT *pVarVal);
  3583. void __RPC_STUB ITypeLib2_GetCustData_Stub(
  3584. IRpcStubBuffer *This,
  3585. IRpcChannelBuffer *_pRpcChannelBuffer,
  3586. PRPC_MESSAGE _pRpcMessage,
  3587. DWORD *_pdwStubPhase);
  3588. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib2_RemoteGetLibStatistics_Proxy(
  3589. ITypeLib2 * This,
  3590. /* [out] */ ULONG *pcUniqueNames,
  3591. /* [out] */ ULONG *pcchUniqueNames);
  3592. void __RPC_STUB ITypeLib2_RemoteGetLibStatistics_Stub(
  3593. IRpcStubBuffer *This,
  3594. IRpcChannelBuffer *_pRpcChannelBuffer,
  3595. PRPC_MESSAGE _pRpcMessage,
  3596. DWORD *_pdwStubPhase);
  3597. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib2_RemoteGetDocumentation2_Proxy(
  3598. ITypeLib2 * This,
  3599. /* [in] */ INT index,
  3600. /* [in] */ LCID lcid,
  3601. /* [in] */ DWORD refPtrFlags,
  3602. /* [out] */ BSTR *pbstrHelpString,
  3603. /* [out] */ DWORD *pdwHelpStringContext,
  3604. /* [out] */ BSTR *pbstrHelpStringDll);
  3605. void __RPC_STUB ITypeLib2_RemoteGetDocumentation2_Stub(
  3606. IRpcStubBuffer *This,
  3607. IRpcChannelBuffer *_pRpcChannelBuffer,
  3608. PRPC_MESSAGE _pRpcMessage,
  3609. DWORD *_pdwStubPhase);
  3610. HRESULT STDMETHODCALLTYPE ITypeLib2_GetAllCustData_Proxy(
  3611. ITypeLib2 * This,
  3612. /* [out] */ CUSTDATA *pCustData);
  3613. void __RPC_STUB ITypeLib2_GetAllCustData_Stub(
  3614. IRpcStubBuffer *This,
  3615. IRpcChannelBuffer *_pRpcChannelBuffer,
  3616. PRPC_MESSAGE _pRpcMessage,
  3617. DWORD *_pdwStubPhase);
  3618. #endif /* __ITypeLib2_INTERFACE_DEFINED__ */
  3619. #ifndef __ITypeChangeEvents_INTERFACE_DEFINED__
  3620. #define __ITypeChangeEvents_INTERFACE_DEFINED__
  3621. /* interface ITypeChangeEvents */
  3622. /* [local][unique][uuid][object] */
  3623. typedef /* [unique] */ ITypeChangeEvents *LPTYPECHANGEEVENTS;
  3624. typedef
  3625. enum tagCHANGEKIND
  3626. { CHANGEKIND_ADDMEMBER = 0,
  3627. CHANGEKIND_DELETEMEMBER = CHANGEKIND_ADDMEMBER + 1,
  3628. CHANGEKIND_SETNAMES = CHANGEKIND_DELETEMEMBER + 1,
  3629. CHANGEKIND_SETDOCUMENTATION = CHANGEKIND_SETNAMES + 1,
  3630. CHANGEKIND_GENERAL = CHANGEKIND_SETDOCUMENTATION + 1,
  3631. CHANGEKIND_INVALIDATE = CHANGEKIND_GENERAL + 1,
  3632. CHANGEKIND_CHANGEFAILED = CHANGEKIND_INVALIDATE + 1,
  3633. CHANGEKIND_MAX = CHANGEKIND_CHANGEFAILED + 1
  3634. } CHANGEKIND;
  3635. EXTERN_C const IID IID_ITypeChangeEvents;
  3636. #if defined(__cplusplus) && !defined(CINTERFACE)
  3637. MIDL_INTERFACE("00020410-0000-0000-C000-000000000046")
  3638. ITypeChangeEvents : public IUnknown
  3639. {
  3640. public:
  3641. virtual HRESULT STDMETHODCALLTYPE RequestTypeChange(
  3642. /* [in] */ CHANGEKIND changeKind,
  3643. /* [in] */ ITypeInfo *pTInfoBefore,
  3644. /* [in] */ LPOLESTR pStrName,
  3645. /* [out] */ INT *pfCancel) = 0;
  3646. virtual HRESULT STDMETHODCALLTYPE AfterTypeChange(
  3647. /* [in] */ CHANGEKIND changeKind,
  3648. /* [in] */ ITypeInfo *pTInfoAfter,
  3649. /* [in] */ LPOLESTR pStrName) = 0;
  3650. };
  3651. #else /* C style interface */
  3652. typedef struct ITypeChangeEventsVtbl
  3653. {
  3654. BEGIN_INTERFACE
  3655. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3656. ITypeChangeEvents * This,
  3657. /* [in] */ REFIID riid,
  3658. /* [iid_is][out] */ void **ppvObject);
  3659. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3660. ITypeChangeEvents * This);
  3661. ULONG ( STDMETHODCALLTYPE *Release )(
  3662. ITypeChangeEvents * This);
  3663. HRESULT ( STDMETHODCALLTYPE *RequestTypeChange )(
  3664. ITypeChangeEvents * This,
  3665. /* [in] */ CHANGEKIND changeKind,
  3666. /* [in] */ ITypeInfo *pTInfoBefore,
  3667. /* [in] */ LPOLESTR pStrName,
  3668. /* [out] */ INT *pfCancel);
  3669. HRESULT ( STDMETHODCALLTYPE *AfterTypeChange )(
  3670. ITypeChangeEvents * This,
  3671. /* [in] */ CHANGEKIND changeKind,
  3672. /* [in] */ ITypeInfo *pTInfoAfter,
  3673. /* [in] */ LPOLESTR pStrName);
  3674. END_INTERFACE
  3675. } ITypeChangeEventsVtbl;
  3676. interface ITypeChangeEvents
  3677. {
  3678. CONST_VTBL struct ITypeChangeEventsVtbl *lpVtbl;
  3679. };
  3680. #ifdef COBJMACROS
  3681. #define ITypeChangeEvents_QueryInterface(This,riid,ppvObject) \
  3682. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3683. #define ITypeChangeEvents_AddRef(This) \
  3684. (This)->lpVtbl -> AddRef(This)
  3685. #define ITypeChangeEvents_Release(This) \
  3686. (This)->lpVtbl -> Release(This)
  3687. #define ITypeChangeEvents_RequestTypeChange(This,changeKind,pTInfoBefore,pStrName,pfCancel) \
  3688. (This)->lpVtbl -> RequestTypeChange(This,changeKind,pTInfoBefore,pStrName,pfCancel)
  3689. #define ITypeChangeEvents_AfterTypeChange(This,changeKind,pTInfoAfter,pStrName) \
  3690. (This)->lpVtbl -> AfterTypeChange(This,changeKind,pTInfoAfter,pStrName)
  3691. #endif /* COBJMACROS */
  3692. #endif /* C style interface */
  3693. HRESULT STDMETHODCALLTYPE ITypeChangeEvents_RequestTypeChange_Proxy(
  3694. ITypeChangeEvents * This,
  3695. /* [in] */ CHANGEKIND changeKind,
  3696. /* [in] */ ITypeInfo *pTInfoBefore,
  3697. /* [in] */ LPOLESTR pStrName,
  3698. /* [out] */ INT *pfCancel);
  3699. void __RPC_STUB ITypeChangeEvents_RequestTypeChange_Stub(
  3700. IRpcStubBuffer *This,
  3701. IRpcChannelBuffer *_pRpcChannelBuffer,
  3702. PRPC_MESSAGE _pRpcMessage,
  3703. DWORD *_pdwStubPhase);
  3704. HRESULT STDMETHODCALLTYPE ITypeChangeEvents_AfterTypeChange_Proxy(
  3705. ITypeChangeEvents * This,
  3706. /* [in] */ CHANGEKIND changeKind,
  3707. /* [in] */ ITypeInfo *pTInfoAfter,
  3708. /* [in] */ LPOLESTR pStrName);
  3709. void __RPC_STUB ITypeChangeEvents_AfterTypeChange_Stub(
  3710. IRpcStubBuffer *This,
  3711. IRpcChannelBuffer *_pRpcChannelBuffer,
  3712. PRPC_MESSAGE _pRpcMessage,
  3713. DWORD *_pdwStubPhase);
  3714. #endif /* __ITypeChangeEvents_INTERFACE_DEFINED__ */
  3715. #ifndef __IErrorInfo_INTERFACE_DEFINED__
  3716. #define __IErrorInfo_INTERFACE_DEFINED__
  3717. /* interface IErrorInfo */
  3718. /* [unique][uuid][object] */
  3719. typedef /* [unique] */ IErrorInfo *LPERRORINFO;
  3720. EXTERN_C const IID IID_IErrorInfo;
  3721. #if defined(__cplusplus) && !defined(CINTERFACE)
  3722. MIDL_INTERFACE("1CF2B120-547D-101B-8E65-08002B2BD119")
  3723. IErrorInfo : public IUnknown
  3724. {
  3725. public:
  3726. virtual HRESULT STDMETHODCALLTYPE GetGUID(
  3727. /* [out] */ GUID *pGUID) = 0;
  3728. virtual HRESULT STDMETHODCALLTYPE GetSource(
  3729. /* [out] */ BSTR *pBstrSource) = 0;
  3730. virtual HRESULT STDMETHODCALLTYPE GetDescription(
  3731. /* [out] */ BSTR *pBstrDescription) = 0;
  3732. virtual HRESULT STDMETHODCALLTYPE GetHelpFile(
  3733. /* [out] */ BSTR *pBstrHelpFile) = 0;
  3734. virtual HRESULT STDMETHODCALLTYPE GetHelpContext(
  3735. /* [out] */ DWORD *pdwHelpContext) = 0;
  3736. };
  3737. #else /* C style interface */
  3738. typedef struct IErrorInfoVtbl
  3739. {
  3740. BEGIN_INTERFACE
  3741. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3742. IErrorInfo * This,
  3743. /* [in] */ REFIID riid,
  3744. /* [iid_is][out] */ void **ppvObject);
  3745. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3746. IErrorInfo * This);
  3747. ULONG ( STDMETHODCALLTYPE *Release )(
  3748. IErrorInfo * This);
  3749. HRESULT ( STDMETHODCALLTYPE *GetGUID )(
  3750. IErrorInfo * This,
  3751. /* [out] */ GUID *pGUID);
  3752. HRESULT ( STDMETHODCALLTYPE *GetSource )(
  3753. IErrorInfo * This,
  3754. /* [out] */ BSTR *pBstrSource);
  3755. HRESULT ( STDMETHODCALLTYPE *GetDescription )(
  3756. IErrorInfo * This,
  3757. /* [out] */ BSTR *pBstrDescription);
  3758. HRESULT ( STDMETHODCALLTYPE *GetHelpFile )(
  3759. IErrorInfo * This,
  3760. /* [out] */ BSTR *pBstrHelpFile);
  3761. HRESULT ( STDMETHODCALLTYPE *GetHelpContext )(
  3762. IErrorInfo * This,
  3763. /* [out] */ DWORD *pdwHelpContext);
  3764. END_INTERFACE
  3765. } IErrorInfoVtbl;
  3766. interface IErrorInfo
  3767. {
  3768. CONST_VTBL struct IErrorInfoVtbl *lpVtbl;
  3769. };
  3770. #ifdef COBJMACROS
  3771. #define IErrorInfo_QueryInterface(This,riid,ppvObject) \
  3772. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3773. #define IErrorInfo_AddRef(This) \
  3774. (This)->lpVtbl -> AddRef(This)
  3775. #define IErrorInfo_Release(This) \
  3776. (This)->lpVtbl -> Release(This)
  3777. #define IErrorInfo_GetGUID(This,pGUID) \
  3778. (This)->lpVtbl -> GetGUID(This,pGUID)
  3779. #define IErrorInfo_GetSource(This,pBstrSource) \
  3780. (This)->lpVtbl -> GetSource(This,pBstrSource)
  3781. #define IErrorInfo_GetDescription(This,pBstrDescription) \
  3782. (This)->lpVtbl -> GetDescription(This,pBstrDescription)
  3783. #define IErrorInfo_GetHelpFile(This,pBstrHelpFile) \
  3784. (This)->lpVtbl -> GetHelpFile(This,pBstrHelpFile)
  3785. #define IErrorInfo_GetHelpContext(This,pdwHelpContext) \
  3786. (This)->lpVtbl -> GetHelpContext(This,pdwHelpContext)
  3787. #endif /* COBJMACROS */
  3788. #endif /* C style interface */
  3789. HRESULT STDMETHODCALLTYPE IErrorInfo_GetGUID_Proxy(
  3790. IErrorInfo * This,
  3791. /* [out] */ GUID *pGUID);
  3792. void __RPC_STUB IErrorInfo_GetGUID_Stub(
  3793. IRpcStubBuffer *This,
  3794. IRpcChannelBuffer *_pRpcChannelBuffer,
  3795. PRPC_MESSAGE _pRpcMessage,
  3796. DWORD *_pdwStubPhase);
  3797. HRESULT STDMETHODCALLTYPE IErrorInfo_GetSource_Proxy(
  3798. IErrorInfo * This,
  3799. /* [out] */ BSTR *pBstrSource);
  3800. void __RPC_STUB IErrorInfo_GetSource_Stub(
  3801. IRpcStubBuffer *This,
  3802. IRpcChannelBuffer *_pRpcChannelBuffer,
  3803. PRPC_MESSAGE _pRpcMessage,
  3804. DWORD *_pdwStubPhase);
  3805. HRESULT STDMETHODCALLTYPE IErrorInfo_GetDescription_Proxy(
  3806. IErrorInfo * This,
  3807. /* [out] */ BSTR *pBstrDescription);
  3808. void __RPC_STUB IErrorInfo_GetDescription_Stub(
  3809. IRpcStubBuffer *This,
  3810. IRpcChannelBuffer *_pRpcChannelBuffer,
  3811. PRPC_MESSAGE _pRpcMessage,
  3812. DWORD *_pdwStubPhase);
  3813. HRESULT STDMETHODCALLTYPE IErrorInfo_GetHelpFile_Proxy(
  3814. IErrorInfo * This,
  3815. /* [out] */ BSTR *pBstrHelpFile);
  3816. void __RPC_STUB IErrorInfo_GetHelpFile_Stub(
  3817. IRpcStubBuffer *This,
  3818. IRpcChannelBuffer *_pRpcChannelBuffer,
  3819. PRPC_MESSAGE _pRpcMessage,
  3820. DWORD *_pdwStubPhase);
  3821. HRESULT STDMETHODCALLTYPE IErrorInfo_GetHelpContext_Proxy(
  3822. IErrorInfo * This,
  3823. /* [out] */ DWORD *pdwHelpContext);
  3824. void __RPC_STUB IErrorInfo_GetHelpContext_Stub(
  3825. IRpcStubBuffer *This,
  3826. IRpcChannelBuffer *_pRpcChannelBuffer,
  3827. PRPC_MESSAGE _pRpcMessage,
  3828. DWORD *_pdwStubPhase);
  3829. #endif /* __IErrorInfo_INTERFACE_DEFINED__ */
  3830. #ifndef __ICreateErrorInfo_INTERFACE_DEFINED__
  3831. #define __ICreateErrorInfo_INTERFACE_DEFINED__
  3832. /* interface ICreateErrorInfo */
  3833. /* [unique][uuid][object] */
  3834. typedef /* [unique] */ ICreateErrorInfo *LPCREATEERRORINFO;
  3835. EXTERN_C const IID IID_ICreateErrorInfo;
  3836. #if defined(__cplusplus) && !defined(CINTERFACE)
  3837. MIDL_INTERFACE("22F03340-547D-101B-8E65-08002B2BD119")
  3838. ICreateErrorInfo : public IUnknown
  3839. {
  3840. public:
  3841. virtual HRESULT STDMETHODCALLTYPE SetGUID(
  3842. /* [in] */ REFGUID rguid) = 0;
  3843. virtual HRESULT STDMETHODCALLTYPE SetSource(
  3844. /* [in] */ LPOLESTR szSource) = 0;
  3845. virtual HRESULT STDMETHODCALLTYPE SetDescription(
  3846. /* [in] */ LPOLESTR szDescription) = 0;
  3847. virtual HRESULT STDMETHODCALLTYPE SetHelpFile(
  3848. /* [in] */ LPOLESTR szHelpFile) = 0;
  3849. virtual HRESULT STDMETHODCALLTYPE SetHelpContext(
  3850. /* [in] */ DWORD dwHelpContext) = 0;
  3851. };
  3852. #else /* C style interface */
  3853. typedef struct ICreateErrorInfoVtbl
  3854. {
  3855. BEGIN_INTERFACE
  3856. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3857. ICreateErrorInfo * This,
  3858. /* [in] */ REFIID riid,
  3859. /* [iid_is][out] */ void **ppvObject);
  3860. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3861. ICreateErrorInfo * This);
  3862. ULONG ( STDMETHODCALLTYPE *Release )(
  3863. ICreateErrorInfo * This);
  3864. HRESULT ( STDMETHODCALLTYPE *SetGUID )(
  3865. ICreateErrorInfo * This,
  3866. /* [in] */ REFGUID rguid);
  3867. HRESULT ( STDMETHODCALLTYPE *SetSource )(
  3868. ICreateErrorInfo * This,
  3869. /* [in] */ LPOLESTR szSource);
  3870. HRESULT ( STDMETHODCALLTYPE *SetDescription )(
  3871. ICreateErrorInfo * This,
  3872. /* [in] */ LPOLESTR szDescription);
  3873. HRESULT ( STDMETHODCALLTYPE *SetHelpFile )(
  3874. ICreateErrorInfo * This,
  3875. /* [in] */ LPOLESTR szHelpFile);
  3876. HRESULT ( STDMETHODCALLTYPE *SetHelpContext )(
  3877. ICreateErrorInfo * This,
  3878. /* [in] */ DWORD dwHelpContext);
  3879. END_INTERFACE
  3880. } ICreateErrorInfoVtbl;
  3881. interface ICreateErrorInfo
  3882. {
  3883. CONST_VTBL struct ICreateErrorInfoVtbl *lpVtbl;
  3884. };
  3885. #ifdef COBJMACROS
  3886. #define ICreateErrorInfo_QueryInterface(This,riid,ppvObject) \
  3887. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3888. #define ICreateErrorInfo_AddRef(This) \
  3889. (This)->lpVtbl -> AddRef(This)
  3890. #define ICreateErrorInfo_Release(This) \
  3891. (This)->lpVtbl -> Release(This)
  3892. #define ICreateErrorInfo_SetGUID(This,rguid) \
  3893. (This)->lpVtbl -> SetGUID(This,rguid)
  3894. #define ICreateErrorInfo_SetSource(This,szSource) \
  3895. (This)->lpVtbl -> SetSource(This,szSource)
  3896. #define ICreateErrorInfo_SetDescription(This,szDescription) \
  3897. (This)->lpVtbl -> SetDescription(This,szDescription)
  3898. #define ICreateErrorInfo_SetHelpFile(This,szHelpFile) \
  3899. (This)->lpVtbl -> SetHelpFile(This,szHelpFile)
  3900. #define ICreateErrorInfo_SetHelpContext(This,dwHelpContext) \
  3901. (This)->lpVtbl -> SetHelpContext(This,dwHelpContext)
  3902. #endif /* COBJMACROS */
  3903. #endif /* C style interface */
  3904. HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetGUID_Proxy(
  3905. ICreateErrorInfo * This,
  3906. /* [in] */ REFGUID rguid);
  3907. void __RPC_STUB ICreateErrorInfo_SetGUID_Stub(
  3908. IRpcStubBuffer *This,
  3909. IRpcChannelBuffer *_pRpcChannelBuffer,
  3910. PRPC_MESSAGE _pRpcMessage,
  3911. DWORD *_pdwStubPhase);
  3912. HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetSource_Proxy(
  3913. ICreateErrorInfo * This,
  3914. /* [in] */ LPOLESTR szSource);
  3915. void __RPC_STUB ICreateErrorInfo_SetSource_Stub(
  3916. IRpcStubBuffer *This,
  3917. IRpcChannelBuffer *_pRpcChannelBuffer,
  3918. PRPC_MESSAGE _pRpcMessage,
  3919. DWORD *_pdwStubPhase);
  3920. HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetDescription_Proxy(
  3921. ICreateErrorInfo * This,
  3922. /* [in] */ LPOLESTR szDescription);
  3923. void __RPC_STUB ICreateErrorInfo_SetDescription_Stub(
  3924. IRpcStubBuffer *This,
  3925. IRpcChannelBuffer *_pRpcChannelBuffer,
  3926. PRPC_MESSAGE _pRpcMessage,
  3927. DWORD *_pdwStubPhase);
  3928. HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetHelpFile_Proxy(
  3929. ICreateErrorInfo * This,
  3930. /* [in] */ LPOLESTR szHelpFile);
  3931. void __RPC_STUB ICreateErrorInfo_SetHelpFile_Stub(
  3932. IRpcStubBuffer *This,
  3933. IRpcChannelBuffer *_pRpcChannelBuffer,
  3934. PRPC_MESSAGE _pRpcMessage,
  3935. DWORD *_pdwStubPhase);
  3936. HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetHelpContext_Proxy(
  3937. ICreateErrorInfo * This,
  3938. /* [in] */ DWORD dwHelpContext);
  3939. void __RPC_STUB ICreateErrorInfo_SetHelpContext_Stub(
  3940. IRpcStubBuffer *This,
  3941. IRpcChannelBuffer *_pRpcChannelBuffer,
  3942. PRPC_MESSAGE _pRpcMessage,
  3943. DWORD *_pdwStubPhase);
  3944. #endif /* __ICreateErrorInfo_INTERFACE_DEFINED__ */
  3945. #ifndef __ISupportErrorInfo_INTERFACE_DEFINED__
  3946. #define __ISupportErrorInfo_INTERFACE_DEFINED__
  3947. /* interface ISupportErrorInfo */
  3948. /* [unique][uuid][object] */
  3949. typedef /* [unique] */ ISupportErrorInfo *LPSUPPORTERRORINFO;
  3950. EXTERN_C const IID IID_ISupportErrorInfo;
  3951. #if defined(__cplusplus) && !defined(CINTERFACE)
  3952. MIDL_INTERFACE("DF0B3D60-548F-101B-8E65-08002B2BD119")
  3953. ISupportErrorInfo : public IUnknown
  3954. {
  3955. public:
  3956. virtual HRESULT STDMETHODCALLTYPE InterfaceSupportsErrorInfo(
  3957. /* [in] */ REFIID riid) = 0;
  3958. };
  3959. #else /* C style interface */
  3960. typedef struct ISupportErrorInfoVtbl
  3961. {
  3962. BEGIN_INTERFACE
  3963. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3964. ISupportErrorInfo * This,
  3965. /* [in] */ REFIID riid,
  3966. /* [iid_is][out] */ void **ppvObject);
  3967. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3968. ISupportErrorInfo * This);
  3969. ULONG ( STDMETHODCALLTYPE *Release )(
  3970. ISupportErrorInfo * This);
  3971. HRESULT ( STDMETHODCALLTYPE *InterfaceSupportsErrorInfo )(
  3972. ISupportErrorInfo * This,
  3973. /* [in] */ REFIID riid);
  3974. END_INTERFACE
  3975. } ISupportErrorInfoVtbl;
  3976. interface ISupportErrorInfo
  3977. {
  3978. CONST_VTBL struct ISupportErrorInfoVtbl *lpVtbl;
  3979. };
  3980. #ifdef COBJMACROS
  3981. #define ISupportErrorInfo_QueryInterface(This,riid,ppvObject) \
  3982. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3983. #define ISupportErrorInfo_AddRef(This) \
  3984. (This)->lpVtbl -> AddRef(This)
  3985. #define ISupportErrorInfo_Release(This) \
  3986. (This)->lpVtbl -> Release(This)
  3987. #define ISupportErrorInfo_InterfaceSupportsErrorInfo(This,riid) \
  3988. (This)->lpVtbl -> InterfaceSupportsErrorInfo(This,riid)
  3989. #endif /* COBJMACROS */
  3990. #endif /* C style interface */
  3991. HRESULT STDMETHODCALLTYPE ISupportErrorInfo_InterfaceSupportsErrorInfo_Proxy(
  3992. ISupportErrorInfo * This,
  3993. /* [in] */ REFIID riid);
  3994. void __RPC_STUB ISupportErrorInfo_InterfaceSupportsErrorInfo_Stub(
  3995. IRpcStubBuffer *This,
  3996. IRpcChannelBuffer *_pRpcChannelBuffer,
  3997. PRPC_MESSAGE _pRpcMessage,
  3998. DWORD *_pdwStubPhase);
  3999. #endif /* __ISupportErrorInfo_INTERFACE_DEFINED__ */
  4000. #ifndef __ITypeFactory_INTERFACE_DEFINED__
  4001. #define __ITypeFactory_INTERFACE_DEFINED__
  4002. /* interface ITypeFactory */
  4003. /* [uuid][object] */
  4004. EXTERN_C const IID IID_ITypeFactory;
  4005. #if defined(__cplusplus) && !defined(CINTERFACE)
  4006. MIDL_INTERFACE("0000002E-0000-0000-C000-000000000046")
  4007. ITypeFactory : public IUnknown
  4008. {
  4009. public:
  4010. virtual HRESULT STDMETHODCALLTYPE CreateFromTypeInfo(
  4011. /* [in] */ ITypeInfo *pTypeInfo,
  4012. /* [in] */ REFIID riid,
  4013. /* [iid_is][out] */ IUnknown **ppv) = 0;
  4014. };
  4015. #else /* C style interface */
  4016. typedef struct ITypeFactoryVtbl
  4017. {
  4018. BEGIN_INTERFACE
  4019. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4020. ITypeFactory * This,
  4021. /* [in] */ REFIID riid,
  4022. /* [iid_is][out] */ void **ppvObject);
  4023. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4024. ITypeFactory * This);
  4025. ULONG ( STDMETHODCALLTYPE *Release )(
  4026. ITypeFactory * This);
  4027. HRESULT ( STDMETHODCALLTYPE *CreateFromTypeInfo )(
  4028. ITypeFactory * This,
  4029. /* [in] */ ITypeInfo *pTypeInfo,
  4030. /* [in] */ REFIID riid,
  4031. /* [iid_is][out] */ IUnknown **ppv);
  4032. END_INTERFACE
  4033. } ITypeFactoryVtbl;
  4034. interface ITypeFactory
  4035. {
  4036. CONST_VTBL struct ITypeFactoryVtbl *lpVtbl;
  4037. };
  4038. #ifdef COBJMACROS
  4039. #define ITypeFactory_QueryInterface(This,riid,ppvObject) \
  4040. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4041. #define ITypeFactory_AddRef(This) \
  4042. (This)->lpVtbl -> AddRef(This)
  4043. #define ITypeFactory_Release(This) \
  4044. (This)->lpVtbl -> Release(This)
  4045. #define ITypeFactory_CreateFromTypeInfo(This,pTypeInfo,riid,ppv) \
  4046. (This)->lpVtbl -> CreateFromTypeInfo(This,pTypeInfo,riid,ppv)
  4047. #endif /* COBJMACROS */
  4048. #endif /* C style interface */
  4049. HRESULT STDMETHODCALLTYPE ITypeFactory_CreateFromTypeInfo_Proxy(
  4050. ITypeFactory * This,
  4051. /* [in] */ ITypeInfo *pTypeInfo,
  4052. /* [in] */ REFIID riid,
  4053. /* [iid_is][out] */ IUnknown **ppv);
  4054. void __RPC_STUB ITypeFactory_CreateFromTypeInfo_Stub(
  4055. IRpcStubBuffer *This,
  4056. IRpcChannelBuffer *_pRpcChannelBuffer,
  4057. PRPC_MESSAGE _pRpcMessage,
  4058. DWORD *_pdwStubPhase);
  4059. #endif /* __ITypeFactory_INTERFACE_DEFINED__ */
  4060. #ifndef __ITypeMarshal_INTERFACE_DEFINED__
  4061. #define __ITypeMarshal_INTERFACE_DEFINED__
  4062. /* interface ITypeMarshal */
  4063. /* [uuid][object][local] */
  4064. EXTERN_C const IID IID_ITypeMarshal;
  4065. #if defined(__cplusplus) && !defined(CINTERFACE)
  4066. MIDL_INTERFACE("0000002D-0000-0000-C000-000000000046")
  4067. ITypeMarshal : public IUnknown
  4068. {
  4069. public:
  4070. virtual HRESULT STDMETHODCALLTYPE Size(
  4071. /* [in] */ PVOID pvType,
  4072. /* [in] */ DWORD dwDestContext,
  4073. /* [in] */ PVOID pvDestContext,
  4074. /* [out] */ ULONG *pSize) = 0;
  4075. virtual HRESULT STDMETHODCALLTYPE Marshal(
  4076. /* [in] */ PVOID pvType,
  4077. /* [in] */ DWORD dwDestContext,
  4078. /* [in] */ PVOID pvDestContext,
  4079. /* [in] */ ULONG cbBufferLength,
  4080. /* [out] */ BYTE *pBuffer,
  4081. /* [out] */ ULONG *pcbWritten) = 0;
  4082. virtual HRESULT STDMETHODCALLTYPE Unmarshal(
  4083. /* [out] */ PVOID pvType,
  4084. /* [in] */ DWORD dwFlags,
  4085. /* [in] */ ULONG cbBufferLength,
  4086. /* [in] */ BYTE *pBuffer,
  4087. /* [out] */ ULONG *pcbRead) = 0;
  4088. virtual HRESULT STDMETHODCALLTYPE Free(
  4089. /* [in] */ PVOID pvType) = 0;
  4090. };
  4091. #else /* C style interface */
  4092. typedef struct ITypeMarshalVtbl
  4093. {
  4094. BEGIN_INTERFACE
  4095. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4096. ITypeMarshal * This,
  4097. /* [in] */ REFIID riid,
  4098. /* [iid_is][out] */ void **ppvObject);
  4099. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4100. ITypeMarshal * This);
  4101. ULONG ( STDMETHODCALLTYPE *Release )(
  4102. ITypeMarshal * This);
  4103. HRESULT ( STDMETHODCALLTYPE *Size )(
  4104. ITypeMarshal * This,
  4105. /* [in] */ PVOID pvType,
  4106. /* [in] */ DWORD dwDestContext,
  4107. /* [in] */ PVOID pvDestContext,
  4108. /* [out] */ ULONG *pSize);
  4109. HRESULT ( STDMETHODCALLTYPE *Marshal )(
  4110. ITypeMarshal * This,
  4111. /* [in] */ PVOID pvType,
  4112. /* [in] */ DWORD dwDestContext,
  4113. /* [in] */ PVOID pvDestContext,
  4114. /* [in] */ ULONG cbBufferLength,
  4115. /* [out] */ BYTE *pBuffer,
  4116. /* [out] */ ULONG *pcbWritten);
  4117. HRESULT ( STDMETHODCALLTYPE *Unmarshal )(
  4118. ITypeMarshal * This,
  4119. /* [out] */ PVOID pvType,
  4120. /* [in] */ DWORD dwFlags,
  4121. /* [in] */ ULONG cbBufferLength,
  4122. /* [in] */ BYTE *pBuffer,
  4123. /* [out] */ ULONG *pcbRead);
  4124. HRESULT ( STDMETHODCALLTYPE *Free )(
  4125. ITypeMarshal * This,
  4126. /* [in] */ PVOID pvType);
  4127. END_INTERFACE
  4128. } ITypeMarshalVtbl;
  4129. interface ITypeMarshal
  4130. {
  4131. CONST_VTBL struct ITypeMarshalVtbl *lpVtbl;
  4132. };
  4133. #ifdef COBJMACROS
  4134. #define ITypeMarshal_QueryInterface(This,riid,ppvObject) \
  4135. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4136. #define ITypeMarshal_AddRef(This) \
  4137. (This)->lpVtbl -> AddRef(This)
  4138. #define ITypeMarshal_Release(This) \
  4139. (This)->lpVtbl -> Release(This)
  4140. #define ITypeMarshal_Size(This,pvType,dwDestContext,pvDestContext,pSize) \
  4141. (This)->lpVtbl -> Size(This,pvType,dwDestContext,pvDestContext,pSize)
  4142. #define ITypeMarshal_Marshal(This,pvType,dwDestContext,pvDestContext,cbBufferLength,pBuffer,pcbWritten) \
  4143. (This)->lpVtbl -> Marshal(This,pvType,dwDestContext,pvDestContext,cbBufferLength,pBuffer,pcbWritten)
  4144. #define ITypeMarshal_Unmarshal(This,pvType,dwFlags,cbBufferLength,pBuffer,pcbRead) \
  4145. (This)->lpVtbl -> Unmarshal(This,pvType,dwFlags,cbBufferLength,pBuffer,pcbRead)
  4146. #define ITypeMarshal_Free(This,pvType) \
  4147. (This)->lpVtbl -> Free(This,pvType)
  4148. #endif /* COBJMACROS */
  4149. #endif /* C style interface */
  4150. HRESULT STDMETHODCALLTYPE ITypeMarshal_Size_Proxy(
  4151. ITypeMarshal * This,
  4152. /* [in] */ PVOID pvType,
  4153. /* [in] */ DWORD dwDestContext,
  4154. /* [in] */ PVOID pvDestContext,
  4155. /* [out] */ ULONG *pSize);
  4156. void __RPC_STUB ITypeMarshal_Size_Stub(
  4157. IRpcStubBuffer *This,
  4158. IRpcChannelBuffer *_pRpcChannelBuffer,
  4159. PRPC_MESSAGE _pRpcMessage,
  4160. DWORD *_pdwStubPhase);
  4161. HRESULT STDMETHODCALLTYPE ITypeMarshal_Marshal_Proxy(
  4162. ITypeMarshal * This,
  4163. /* [in] */ PVOID pvType,
  4164. /* [in] */ DWORD dwDestContext,
  4165. /* [in] */ PVOID pvDestContext,
  4166. /* [in] */ ULONG cbBufferLength,
  4167. /* [out] */ BYTE *pBuffer,
  4168. /* [out] */ ULONG *pcbWritten);
  4169. void __RPC_STUB ITypeMarshal_Marshal_Stub(
  4170. IRpcStubBuffer *This,
  4171. IRpcChannelBuffer *_pRpcChannelBuffer,
  4172. PRPC_MESSAGE _pRpcMessage,
  4173. DWORD *_pdwStubPhase);
  4174. HRESULT STDMETHODCALLTYPE ITypeMarshal_Unmarshal_Proxy(
  4175. ITypeMarshal * This,
  4176. /* [out] */ PVOID pvType,
  4177. /* [in] */ DWORD dwFlags,
  4178. /* [in] */ ULONG cbBufferLength,
  4179. /* [in] */ BYTE *pBuffer,
  4180. /* [out] */ ULONG *pcbRead);
  4181. void __RPC_STUB ITypeMarshal_Unmarshal_Stub(
  4182. IRpcStubBuffer *This,
  4183. IRpcChannelBuffer *_pRpcChannelBuffer,
  4184. PRPC_MESSAGE _pRpcMessage,
  4185. DWORD *_pdwStubPhase);
  4186. HRESULT STDMETHODCALLTYPE ITypeMarshal_Free_Proxy(
  4187. ITypeMarshal * This,
  4188. /* [in] */ PVOID pvType);
  4189. void __RPC_STUB ITypeMarshal_Free_Stub(
  4190. IRpcStubBuffer *This,
  4191. IRpcChannelBuffer *_pRpcChannelBuffer,
  4192. PRPC_MESSAGE _pRpcMessage,
  4193. DWORD *_pdwStubPhase);
  4194. #endif /* __ITypeMarshal_INTERFACE_DEFINED__ */
  4195. #ifndef __IRecordInfo_INTERFACE_DEFINED__
  4196. #define __IRecordInfo_INTERFACE_DEFINED__
  4197. /* interface IRecordInfo */
  4198. /* [uuid][object][local] */
  4199. typedef /* [unique] */ IRecordInfo *LPRECORDINFO;
  4200. EXTERN_C const IID IID_IRecordInfo;
  4201. #if defined(__cplusplus) && !defined(CINTERFACE)
  4202. MIDL_INTERFACE("0000002F-0000-0000-C000-000000000046")
  4203. IRecordInfo : public IUnknown
  4204. {
  4205. public:
  4206. virtual HRESULT STDMETHODCALLTYPE RecordInit(
  4207. /* [out] */ PVOID pvNew) = 0;
  4208. virtual HRESULT STDMETHODCALLTYPE RecordClear(
  4209. /* [in] */ PVOID pvExisting) = 0;
  4210. virtual HRESULT STDMETHODCALLTYPE RecordCopy(
  4211. /* [in] */ PVOID pvExisting,
  4212. /* [out] */ PVOID pvNew) = 0;
  4213. virtual HRESULT STDMETHODCALLTYPE GetGuid(
  4214. /* [out] */ GUID *pguid) = 0;
  4215. virtual HRESULT STDMETHODCALLTYPE GetName(
  4216. /* [out] */ BSTR *pbstrName) = 0;
  4217. virtual HRESULT STDMETHODCALLTYPE GetSize(
  4218. /* [out] */ ULONG *pcbSize) = 0;
  4219. virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(
  4220. /* [out] */ ITypeInfo **ppTypeInfo) = 0;
  4221. virtual HRESULT STDMETHODCALLTYPE GetField(
  4222. /* [in] */ PVOID pvData,
  4223. /* [in] */ LPCOLESTR szFieldName,
  4224. /* [out] */ VARIANT *pvarField) = 0;
  4225. virtual HRESULT STDMETHODCALLTYPE GetFieldNoCopy(
  4226. /* [in] */ PVOID pvData,
  4227. /* [in] */ LPCOLESTR szFieldName,
  4228. /* [out] */ VARIANT *pvarField,
  4229. /* [out] */ PVOID *ppvDataCArray) = 0;
  4230. virtual HRESULT STDMETHODCALLTYPE PutField(
  4231. /* [in] */ ULONG wFlags,
  4232. /* [out][in] */ PVOID pvData,
  4233. /* [in] */ LPCOLESTR szFieldName,
  4234. /* [in] */ VARIANT *pvarField) = 0;
  4235. virtual HRESULT STDMETHODCALLTYPE PutFieldNoCopy(
  4236. /* [in] */ ULONG wFlags,
  4237. /* [out][in] */ PVOID pvData,
  4238. /* [in] */ LPCOLESTR szFieldName,
  4239. /* [in] */ VARIANT *pvarField) = 0;
  4240. virtual HRESULT STDMETHODCALLTYPE GetFieldNames(
  4241. /* [out][in] */ ULONG *pcNames,
  4242. /* [length_is][size_is][out] */ BSTR *rgBstrNames) = 0;
  4243. virtual BOOL STDMETHODCALLTYPE IsMatchingType(
  4244. /* [in] */ IRecordInfo *pRecordInfo) = 0;
  4245. virtual PVOID STDMETHODCALLTYPE RecordCreate( void) = 0;
  4246. virtual HRESULT STDMETHODCALLTYPE RecordCreateCopy(
  4247. /* [in] */ PVOID pvSource,
  4248. /* [out] */ PVOID *ppvDest) = 0;
  4249. virtual HRESULT STDMETHODCALLTYPE RecordDestroy(
  4250. /* [in] */ PVOID pvRecord) = 0;
  4251. };
  4252. #else /* C style interface */
  4253. typedef struct IRecordInfoVtbl
  4254. {
  4255. BEGIN_INTERFACE
  4256. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4257. IRecordInfo * This,
  4258. /* [in] */ REFIID riid,
  4259. /* [iid_is][out] */ void **ppvObject);
  4260. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4261. IRecordInfo * This);
  4262. ULONG ( STDMETHODCALLTYPE *Release )(
  4263. IRecordInfo * This);
  4264. HRESULT ( STDMETHODCALLTYPE *RecordInit )(
  4265. IRecordInfo * This,
  4266. /* [out] */ PVOID pvNew);
  4267. HRESULT ( STDMETHODCALLTYPE *RecordClear )(
  4268. IRecordInfo * This,
  4269. /* [in] */ PVOID pvExisting);
  4270. HRESULT ( STDMETHODCALLTYPE *RecordCopy )(
  4271. IRecordInfo * This,
  4272. /* [in] */ PVOID pvExisting,
  4273. /* [out] */ PVOID pvNew);
  4274. HRESULT ( STDMETHODCALLTYPE *GetGuid )(
  4275. IRecordInfo * This,
  4276. /* [out] */ GUID *pguid);
  4277. HRESULT ( STDMETHODCALLTYPE *GetName )(
  4278. IRecordInfo * This,
  4279. /* [out] */ BSTR *pbstrName);
  4280. HRESULT ( STDMETHODCALLTYPE *GetSize )(
  4281. IRecordInfo * This,
  4282. /* [out] */ ULONG *pcbSize);
  4283. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  4284. IRecordInfo * This,
  4285. /* [out] */ ITypeInfo **ppTypeInfo);
  4286. HRESULT ( STDMETHODCALLTYPE *GetField )(
  4287. IRecordInfo * This,
  4288. /* [in] */ PVOID pvData,
  4289. /* [in] */ LPCOLESTR szFieldName,
  4290. /* [out] */ VARIANT *pvarField);
  4291. HRESULT ( STDMETHODCALLTYPE *GetFieldNoCopy )(
  4292. IRecordInfo * This,
  4293. /* [in] */ PVOID pvData,
  4294. /* [in] */ LPCOLESTR szFieldName,
  4295. /* [out] */ VARIANT *pvarField,
  4296. /* [out] */ PVOID *ppvDataCArray);
  4297. HRESULT ( STDMETHODCALLTYPE *PutField )(
  4298. IRecordInfo * This,
  4299. /* [in] */ ULONG wFlags,
  4300. /* [out][in] */ PVOID pvData,
  4301. /* [in] */ LPCOLESTR szFieldName,
  4302. /* [in] */ VARIANT *pvarField);
  4303. HRESULT ( STDMETHODCALLTYPE *PutFieldNoCopy )(
  4304. IRecordInfo * This,
  4305. /* [in] */ ULONG wFlags,
  4306. /* [out][in] */ PVOID pvData,
  4307. /* [in] */ LPCOLESTR szFieldName,
  4308. /* [in] */ VARIANT *pvarField);
  4309. HRESULT ( STDMETHODCALLTYPE *GetFieldNames )(
  4310. IRecordInfo * This,
  4311. /* [out][in] */ ULONG *pcNames,
  4312. /* [length_is][size_is][out] */ BSTR *rgBstrNames);
  4313. BOOL ( STDMETHODCALLTYPE *IsMatchingType )(
  4314. IRecordInfo * This,
  4315. /* [in] */ IRecordInfo *pRecordInfo);
  4316. PVOID ( STDMETHODCALLTYPE *RecordCreate )(
  4317. IRecordInfo * This);
  4318. HRESULT ( STDMETHODCALLTYPE *RecordCreateCopy )(
  4319. IRecordInfo * This,
  4320. /* [in] */ PVOID pvSource,
  4321. /* [out] */ PVOID *ppvDest);
  4322. HRESULT ( STDMETHODCALLTYPE *RecordDestroy )(
  4323. IRecordInfo * This,
  4324. /* [in] */ PVOID pvRecord);
  4325. END_INTERFACE
  4326. } IRecordInfoVtbl;
  4327. interface IRecordInfo
  4328. {
  4329. CONST_VTBL struct IRecordInfoVtbl *lpVtbl;
  4330. };
  4331. #ifdef COBJMACROS
  4332. #define IRecordInfo_QueryInterface(This,riid,ppvObject) \
  4333. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4334. #define IRecordInfo_AddRef(This) \
  4335. (This)->lpVtbl -> AddRef(This)
  4336. #define IRecordInfo_Release(This) \
  4337. (This)->lpVtbl -> Release(This)
  4338. #define IRecordInfo_RecordInit(This,pvNew) \
  4339. (This)->lpVtbl -> RecordInit(This,pvNew)
  4340. #define IRecordInfo_RecordClear(This,pvExisting) \
  4341. (This)->lpVtbl -> RecordClear(This,pvExisting)
  4342. #define IRecordInfo_RecordCopy(This,pvExisting,pvNew) \
  4343. (This)->lpVtbl -> RecordCopy(This,pvExisting,pvNew)
  4344. #define IRecordInfo_GetGuid(This,pguid) \
  4345. (This)->lpVtbl -> GetGuid(This,pguid)
  4346. #define IRecordInfo_GetName(This,pbstrName) \
  4347. (This)->lpVtbl -> GetName(This,pbstrName)
  4348. #define IRecordInfo_GetSize(This,pcbSize) \
  4349. (This)->lpVtbl -> GetSize(This,pcbSize)
  4350. #define IRecordInfo_GetTypeInfo(This,ppTypeInfo) \
  4351. (This)->lpVtbl -> GetTypeInfo(This,ppTypeInfo)
  4352. #define IRecordInfo_GetField(This,pvData,szFieldName,pvarField) \
  4353. (This)->lpVtbl -> GetField(This,pvData,szFieldName,pvarField)
  4354. #define IRecordInfo_GetFieldNoCopy(This,pvData,szFieldName,pvarField,ppvDataCArray) \
  4355. (This)->lpVtbl -> GetFieldNoCopy(This,pvData,szFieldName,pvarField,ppvDataCArray)
  4356. #define IRecordInfo_PutField(This,wFlags,pvData,szFieldName,pvarField) \
  4357. (This)->lpVtbl -> PutField(This,wFlags,pvData,szFieldName,pvarField)
  4358. #define IRecordInfo_PutFieldNoCopy(This,wFlags,pvData,szFieldName,pvarField) \
  4359. (This)->lpVtbl -> PutFieldNoCopy(This,wFlags,pvData,szFieldName,pvarField)
  4360. #define IRecordInfo_GetFieldNames(This,pcNames,rgBstrNames) \
  4361. (This)->lpVtbl -> GetFieldNames(This,pcNames,rgBstrNames)
  4362. #define IRecordInfo_IsMatchingType(This,pRecordInfo) \
  4363. (This)->lpVtbl -> IsMatchingType(This,pRecordInfo)
  4364. #define IRecordInfo_RecordCreate(This) \
  4365. (This)->lpVtbl -> RecordCreate(This)
  4366. #define IRecordInfo_RecordCreateCopy(This,pvSource,ppvDest) \
  4367. (This)->lpVtbl -> RecordCreateCopy(This,pvSource,ppvDest)
  4368. #define IRecordInfo_RecordDestroy(This,pvRecord) \
  4369. (This)->lpVtbl -> RecordDestroy(This,pvRecord)
  4370. #endif /* COBJMACROS */
  4371. #endif /* C style interface */
  4372. HRESULT STDMETHODCALLTYPE IRecordInfo_RecordInit_Proxy(
  4373. IRecordInfo * This,
  4374. /* [out] */ PVOID pvNew);
  4375. void __RPC_STUB IRecordInfo_RecordInit_Stub(
  4376. IRpcStubBuffer *This,
  4377. IRpcChannelBuffer *_pRpcChannelBuffer,
  4378. PRPC_MESSAGE _pRpcMessage,
  4379. DWORD *_pdwStubPhase);
  4380. HRESULT STDMETHODCALLTYPE IRecordInfo_RecordClear_Proxy(
  4381. IRecordInfo * This,
  4382. /* [in] */ PVOID pvExisting);
  4383. void __RPC_STUB IRecordInfo_RecordClear_Stub(
  4384. IRpcStubBuffer *This,
  4385. IRpcChannelBuffer *_pRpcChannelBuffer,
  4386. PRPC_MESSAGE _pRpcMessage,
  4387. DWORD *_pdwStubPhase);
  4388. HRESULT STDMETHODCALLTYPE IRecordInfo_RecordCopy_Proxy(
  4389. IRecordInfo * This,
  4390. /* [in] */ PVOID pvExisting,
  4391. /* [out] */ PVOID pvNew);
  4392. void __RPC_STUB IRecordInfo_RecordCopy_Stub(
  4393. IRpcStubBuffer *This,
  4394. IRpcChannelBuffer *_pRpcChannelBuffer,
  4395. PRPC_MESSAGE _pRpcMessage,
  4396. DWORD *_pdwStubPhase);
  4397. HRESULT STDMETHODCALLTYPE IRecordInfo_GetGuid_Proxy(
  4398. IRecordInfo * This,
  4399. /* [out] */ GUID *pguid);
  4400. void __RPC_STUB IRecordInfo_GetGuid_Stub(
  4401. IRpcStubBuffer *This,
  4402. IRpcChannelBuffer *_pRpcChannelBuffer,
  4403. PRPC_MESSAGE _pRpcMessage,
  4404. DWORD *_pdwStubPhase);
  4405. HRESULT STDMETHODCALLTYPE IRecordInfo_GetName_Proxy(
  4406. IRecordInfo * This,
  4407. /* [out] */ BSTR *pbstrName);
  4408. void __RPC_STUB IRecordInfo_GetName_Stub(
  4409. IRpcStubBuffer *This,
  4410. IRpcChannelBuffer *_pRpcChannelBuffer,
  4411. PRPC_MESSAGE _pRpcMessage,
  4412. DWORD *_pdwStubPhase);
  4413. HRESULT STDMETHODCALLTYPE IRecordInfo_GetSize_Proxy(
  4414. IRecordInfo * This,
  4415. /* [out] */ ULONG *pcbSize);
  4416. void __RPC_STUB IRecordInfo_GetSize_Stub(
  4417. IRpcStubBuffer *This,
  4418. IRpcChannelBuffer *_pRpcChannelBuffer,
  4419. PRPC_MESSAGE _pRpcMessage,
  4420. DWORD *_pdwStubPhase);
  4421. HRESULT STDMETHODCALLTYPE IRecordInfo_GetTypeInfo_Proxy(
  4422. IRecordInfo * This,
  4423. /* [out] */ ITypeInfo **ppTypeInfo);
  4424. void __RPC_STUB IRecordInfo_GetTypeInfo_Stub(
  4425. IRpcStubBuffer *This,
  4426. IRpcChannelBuffer *_pRpcChannelBuffer,
  4427. PRPC_MESSAGE _pRpcMessage,
  4428. DWORD *_pdwStubPhase);
  4429. HRESULT STDMETHODCALLTYPE IRecordInfo_GetField_Proxy(
  4430. IRecordInfo * This,
  4431. /* [in] */ PVOID pvData,
  4432. /* [in] */ LPCOLESTR szFieldName,
  4433. /* [out] */ VARIANT *pvarField);
  4434. void __RPC_STUB IRecordInfo_GetField_Stub(
  4435. IRpcStubBuffer *This,
  4436. IRpcChannelBuffer *_pRpcChannelBuffer,
  4437. PRPC_MESSAGE _pRpcMessage,
  4438. DWORD *_pdwStubPhase);
  4439. HRESULT STDMETHODCALLTYPE IRecordInfo_GetFieldNoCopy_Proxy(
  4440. IRecordInfo * This,
  4441. /* [in] */ PVOID pvData,
  4442. /* [in] */ LPCOLESTR szFieldName,
  4443. /* [out] */ VARIANT *pvarField,
  4444. /* [out] */ PVOID *ppvDataCArray);
  4445. void __RPC_STUB IRecordInfo_GetFieldNoCopy_Stub(
  4446. IRpcStubBuffer *This,
  4447. IRpcChannelBuffer *_pRpcChannelBuffer,
  4448. PRPC_MESSAGE _pRpcMessage,
  4449. DWORD *_pdwStubPhase);
  4450. HRESULT STDMETHODCALLTYPE IRecordInfo_PutField_Proxy(
  4451. IRecordInfo * This,
  4452. /* [in] */ ULONG wFlags,
  4453. /* [out][in] */ PVOID pvData,
  4454. /* [in] */ LPCOLESTR szFieldName,
  4455. /* [in] */ VARIANT *pvarField);
  4456. void __RPC_STUB IRecordInfo_PutField_Stub(
  4457. IRpcStubBuffer *This,
  4458. IRpcChannelBuffer *_pRpcChannelBuffer,
  4459. PRPC_MESSAGE _pRpcMessage,
  4460. DWORD *_pdwStubPhase);
  4461. HRESULT STDMETHODCALLTYPE IRecordInfo_PutFieldNoCopy_Proxy(
  4462. IRecordInfo * This,
  4463. /* [in] */ ULONG wFlags,
  4464. /* [out][in] */ PVOID pvData,
  4465. /* [in] */ LPCOLESTR szFieldName,
  4466. /* [in] */ VARIANT *pvarField);
  4467. void __RPC_STUB IRecordInfo_PutFieldNoCopy_Stub(
  4468. IRpcStubBuffer *This,
  4469. IRpcChannelBuffer *_pRpcChannelBuffer,
  4470. PRPC_MESSAGE _pRpcMessage,
  4471. DWORD *_pdwStubPhase);
  4472. HRESULT STDMETHODCALLTYPE IRecordInfo_GetFieldNames_Proxy(
  4473. IRecordInfo * This,
  4474. /* [out][in] */ ULONG *pcNames,
  4475. /* [length_is][size_is][out] */ BSTR *rgBstrNames);
  4476. void __RPC_STUB IRecordInfo_GetFieldNames_Stub(
  4477. IRpcStubBuffer *This,
  4478. IRpcChannelBuffer *_pRpcChannelBuffer,
  4479. PRPC_MESSAGE _pRpcMessage,
  4480. DWORD *_pdwStubPhase);
  4481. BOOL STDMETHODCALLTYPE IRecordInfo_IsMatchingType_Proxy(
  4482. IRecordInfo * This,
  4483. /* [in] */ IRecordInfo *pRecordInfo);
  4484. void __RPC_STUB IRecordInfo_IsMatchingType_Stub(
  4485. IRpcStubBuffer *This,
  4486. IRpcChannelBuffer *_pRpcChannelBuffer,
  4487. PRPC_MESSAGE _pRpcMessage,
  4488. DWORD *_pdwStubPhase);
  4489. PVOID STDMETHODCALLTYPE IRecordInfo_RecordCreate_Proxy(
  4490. IRecordInfo * This);
  4491. void __RPC_STUB IRecordInfo_RecordCreate_Stub(
  4492. IRpcStubBuffer *This,
  4493. IRpcChannelBuffer *_pRpcChannelBuffer,
  4494. PRPC_MESSAGE _pRpcMessage,
  4495. DWORD *_pdwStubPhase);
  4496. HRESULT STDMETHODCALLTYPE IRecordInfo_RecordCreateCopy_Proxy(
  4497. IRecordInfo * This,
  4498. /* [in] */ PVOID pvSource,
  4499. /* [out] */ PVOID *ppvDest);
  4500. void __RPC_STUB IRecordInfo_RecordCreateCopy_Stub(
  4501. IRpcStubBuffer *This,
  4502. IRpcChannelBuffer *_pRpcChannelBuffer,
  4503. PRPC_MESSAGE _pRpcMessage,
  4504. DWORD *_pdwStubPhase);
  4505. HRESULT STDMETHODCALLTYPE IRecordInfo_RecordDestroy_Proxy(
  4506. IRecordInfo * This,
  4507. /* [in] */ PVOID pvRecord);
  4508. void __RPC_STUB IRecordInfo_RecordDestroy_Stub(
  4509. IRpcStubBuffer *This,
  4510. IRpcChannelBuffer *_pRpcChannelBuffer,
  4511. PRPC_MESSAGE _pRpcMessage,
  4512. DWORD *_pdwStubPhase);
  4513. #endif /* __IRecordInfo_INTERFACE_DEFINED__ */
  4514. #ifndef __IErrorLog_INTERFACE_DEFINED__
  4515. #define __IErrorLog_INTERFACE_DEFINED__
  4516. /* interface IErrorLog */
  4517. /* [unique][uuid][object] */
  4518. typedef IErrorLog *LPERRORLOG;
  4519. EXTERN_C const IID IID_IErrorLog;
  4520. #if defined(__cplusplus) && !defined(CINTERFACE)
  4521. MIDL_INTERFACE("3127CA40-446E-11CE-8135-00AA004BB851")
  4522. IErrorLog : public IUnknown
  4523. {
  4524. public:
  4525. virtual HRESULT STDMETHODCALLTYPE AddError(
  4526. /* [in] */ LPCOLESTR pszPropName,
  4527. /* [in] */ EXCEPINFO *pExcepInfo) = 0;
  4528. };
  4529. #else /* C style interface */
  4530. typedef struct IErrorLogVtbl
  4531. {
  4532. BEGIN_INTERFACE
  4533. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4534. IErrorLog * This,
  4535. /* [in] */ REFIID riid,
  4536. /* [iid_is][out] */ void **ppvObject);
  4537. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4538. IErrorLog * This);
  4539. ULONG ( STDMETHODCALLTYPE *Release )(
  4540. IErrorLog * This);
  4541. HRESULT ( STDMETHODCALLTYPE *AddError )(
  4542. IErrorLog * This,
  4543. /* [in] */ LPCOLESTR pszPropName,
  4544. /* [in] */ EXCEPINFO *pExcepInfo);
  4545. END_INTERFACE
  4546. } IErrorLogVtbl;
  4547. interface IErrorLog
  4548. {
  4549. CONST_VTBL struct IErrorLogVtbl *lpVtbl;
  4550. };
  4551. #ifdef COBJMACROS
  4552. #define IErrorLog_QueryInterface(This,riid,ppvObject) \
  4553. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4554. #define IErrorLog_AddRef(This) \
  4555. (This)->lpVtbl -> AddRef(This)
  4556. #define IErrorLog_Release(This) \
  4557. (This)->lpVtbl -> Release(This)
  4558. #define IErrorLog_AddError(This,pszPropName,pExcepInfo) \
  4559. (This)->lpVtbl -> AddError(This,pszPropName,pExcepInfo)
  4560. #endif /* COBJMACROS */
  4561. #endif /* C style interface */
  4562. HRESULT STDMETHODCALLTYPE IErrorLog_AddError_Proxy(
  4563. IErrorLog * This,
  4564. /* [in] */ LPCOLESTR pszPropName,
  4565. /* [in] */ EXCEPINFO *pExcepInfo);
  4566. void __RPC_STUB IErrorLog_AddError_Stub(
  4567. IRpcStubBuffer *This,
  4568. IRpcChannelBuffer *_pRpcChannelBuffer,
  4569. PRPC_MESSAGE _pRpcMessage,
  4570. DWORD *_pdwStubPhase);
  4571. #endif /* __IErrorLog_INTERFACE_DEFINED__ */
  4572. #ifndef __IPropertyBag_INTERFACE_DEFINED__
  4573. #define __IPropertyBag_INTERFACE_DEFINED__
  4574. /* interface IPropertyBag */
  4575. /* [unique][uuid][object] */
  4576. typedef IPropertyBag *LPPROPERTYBAG;
  4577. EXTERN_C const IID IID_IPropertyBag;
  4578. #if defined(__cplusplus) && !defined(CINTERFACE)
  4579. MIDL_INTERFACE("55272A00-42CB-11CE-8135-00AA004BB851")
  4580. IPropertyBag : public IUnknown
  4581. {
  4582. public:
  4583. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Read(
  4584. /* [in] */ LPCOLESTR pszPropName,
  4585. /* [out][in] */ VARIANT *pVar,
  4586. /* [in] */ IErrorLog *pErrorLog) = 0;
  4587. virtual HRESULT STDMETHODCALLTYPE Write(
  4588. /* [in] */ LPCOLESTR pszPropName,
  4589. /* [in] */ VARIANT *pVar) = 0;
  4590. };
  4591. #else /* C style interface */
  4592. typedef struct IPropertyBagVtbl
  4593. {
  4594. BEGIN_INTERFACE
  4595. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4596. IPropertyBag * This,
  4597. /* [in] */ REFIID riid,
  4598. /* [iid_is][out] */ void **ppvObject);
  4599. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4600. IPropertyBag * This);
  4601. ULONG ( STDMETHODCALLTYPE *Release )(
  4602. IPropertyBag * This);
  4603. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )(
  4604. IPropertyBag * This,
  4605. /* [in] */ LPCOLESTR pszPropName,
  4606. /* [out][in] */ VARIANT *pVar,
  4607. /* [in] */ IErrorLog *pErrorLog);
  4608. HRESULT ( STDMETHODCALLTYPE *Write )(
  4609. IPropertyBag * This,
  4610. /* [in] */ LPCOLESTR pszPropName,
  4611. /* [in] */ VARIANT *pVar);
  4612. END_INTERFACE
  4613. } IPropertyBagVtbl;
  4614. interface IPropertyBag
  4615. {
  4616. CONST_VTBL struct IPropertyBagVtbl *lpVtbl;
  4617. };
  4618. #ifdef COBJMACROS
  4619. #define IPropertyBag_QueryInterface(This,riid,ppvObject) \
  4620. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4621. #define IPropertyBag_AddRef(This) \
  4622. (This)->lpVtbl -> AddRef(This)
  4623. #define IPropertyBag_Release(This) \
  4624. (This)->lpVtbl -> Release(This)
  4625. #define IPropertyBag_Read(This,pszPropName,pVar,pErrorLog) \
  4626. (This)->lpVtbl -> Read(This,pszPropName,pVar,pErrorLog)
  4627. #define IPropertyBag_Write(This,pszPropName,pVar) \
  4628. (This)->lpVtbl -> Write(This,pszPropName,pVar)
  4629. #endif /* COBJMACROS */
  4630. #endif /* C style interface */
  4631. /* [call_as] */ HRESULT STDMETHODCALLTYPE IPropertyBag_RemoteRead_Proxy(
  4632. IPropertyBag * This,
  4633. /* [in] */ LPCOLESTR pszPropName,
  4634. /* [out] */ VARIANT *pVar,
  4635. /* [in] */ IErrorLog *pErrorLog,
  4636. /* [in] */ DWORD varType,
  4637. /* [in] */ IUnknown *pUnkObj);
  4638. void __RPC_STUB IPropertyBag_RemoteRead_Stub(
  4639. IRpcStubBuffer *This,
  4640. IRpcChannelBuffer *_pRpcChannelBuffer,
  4641. PRPC_MESSAGE _pRpcMessage,
  4642. DWORD *_pdwStubPhase);
  4643. HRESULT STDMETHODCALLTYPE IPropertyBag_Write_Proxy(
  4644. IPropertyBag * This,
  4645. /* [in] */ LPCOLESTR pszPropName,
  4646. /* [in] */ VARIANT *pVar);
  4647. void __RPC_STUB IPropertyBag_Write_Stub(
  4648. IRpcStubBuffer *This,
  4649. IRpcChannelBuffer *_pRpcChannelBuffer,
  4650. PRPC_MESSAGE _pRpcMessage,
  4651. DWORD *_pdwStubPhase);
  4652. #endif /* __IPropertyBag_INTERFACE_DEFINED__ */
  4653. /* interface __MIDL_itf_oaidl_0109 */
  4654. /* [local] */
  4655. #if ( _MSC_VER >= 800 )
  4656. #if _MSC_VER >= 1200
  4657. #pragma warning(pop)
  4658. #else
  4659. #pragma warning(default:4201) /* Nameless struct/union */
  4660. #endif
  4661. #endif
  4662. extern RPC_IF_HANDLE __MIDL_itf_oaidl_0109_v0_0_c_ifspec;
  4663. extern RPC_IF_HANDLE __MIDL_itf_oaidl_0109_v0_0_s_ifspec;
  4664. /* Additional Prototypes for ALL interfaces */
  4665. unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
  4666. unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
  4667. unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
  4668. void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
  4669. unsigned long __RPC_USER CLEANLOCALSTORAGE_UserSize( unsigned long *, unsigned long , CLEANLOCALSTORAGE * );
  4670. unsigned char * __RPC_USER CLEANLOCALSTORAGE_UserMarshal( unsigned long *, unsigned char *, CLEANLOCALSTORAGE * );
  4671. unsigned char * __RPC_USER CLEANLOCALSTORAGE_UserUnmarshal(unsigned long *, unsigned char *, CLEANLOCALSTORAGE * );
  4672. void __RPC_USER CLEANLOCALSTORAGE_UserFree( unsigned long *, CLEANLOCALSTORAGE * );
  4673. unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * );
  4674. unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * );
  4675. unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );
  4676. void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * );
  4677. /* [local] */ HRESULT STDMETHODCALLTYPE IDispatch_Invoke_Proxy(
  4678. IDispatch * This,
  4679. /* [in] */ DISPID dispIdMember,
  4680. /* [in] */ REFIID riid,
  4681. /* [in] */ LCID lcid,
  4682. /* [in] */ WORD wFlags,
  4683. /* [out][in] */ DISPPARAMS *pDispParams,
  4684. /* [out] */ VARIANT *pVarResult,
  4685. /* [out] */ EXCEPINFO *pExcepInfo,
  4686. /* [out] */ UINT *puArgErr);
  4687. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDispatch_Invoke_Stub(
  4688. IDispatch * This,
  4689. /* [in] */ DISPID dispIdMember,
  4690. /* [in] */ REFIID riid,
  4691. /* [in] */ LCID lcid,
  4692. /* [in] */ DWORD dwFlags,
  4693. /* [in] */ DISPPARAMS *pDispParams,
  4694. /* [out] */ VARIANT *pVarResult,
  4695. /* [out] */ EXCEPINFO *pExcepInfo,
  4696. /* [out] */ UINT *pArgErr,
  4697. /* [in] */ UINT cVarRef,
  4698. /* [size_is][in] */ UINT *rgVarRefIdx,
  4699. /* [size_is][out][in] */ VARIANTARG *rgVarRef);
  4700. /* [local] */ HRESULT STDMETHODCALLTYPE IEnumVARIANT_Next_Proxy(
  4701. IEnumVARIANT * This,
  4702. /* [in] */ ULONG celt,
  4703. /* [length_is][size_is][out] */ VARIANT *rgVar,
  4704. /* [out] */ ULONG *pCeltFetched);
  4705. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumVARIANT_Next_Stub(
  4706. IEnumVARIANT * This,
  4707. /* [in] */ ULONG celt,
  4708. /* [length_is][size_is][out] */ VARIANT *rgVar,
  4709. /* [out] */ ULONG *pCeltFetched);
  4710. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeComp_Bind_Proxy(
  4711. ITypeComp * This,
  4712. /* [in] */ LPOLESTR szName,
  4713. /* [in] */ ULONG lHashVal,
  4714. /* [in] */ WORD wFlags,
  4715. /* [out] */ ITypeInfo **ppTInfo,
  4716. /* [out] */ DESCKIND *pDescKind,
  4717. /* [out] */ BINDPTR *pBindPtr);
  4718. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeComp_Bind_Stub(
  4719. ITypeComp * This,
  4720. /* [in] */ LPOLESTR szName,
  4721. /* [in] */ ULONG lHashVal,
  4722. /* [in] */ WORD wFlags,
  4723. /* [out] */ ITypeInfo **ppTInfo,
  4724. /* [out] */ DESCKIND *pDescKind,
  4725. /* [out] */ LPFUNCDESC *ppFuncDesc,
  4726. /* [out] */ LPVARDESC *ppVarDesc,
  4727. /* [out] */ ITypeComp **ppTypeComp,
  4728. /* [out] */ CLEANLOCALSTORAGE *pDummy);
  4729. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeComp_BindType_Proxy(
  4730. ITypeComp * This,
  4731. /* [in] */ LPOLESTR szName,
  4732. /* [in] */ ULONG lHashVal,
  4733. /* [out] */ ITypeInfo **ppTInfo,
  4734. /* [out] */ ITypeComp **ppTComp);
  4735. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeComp_BindType_Stub(
  4736. ITypeComp * This,
  4737. /* [in] */ LPOLESTR szName,
  4738. /* [in] */ ULONG lHashVal,
  4739. /* [out] */ ITypeInfo **ppTInfo);
  4740. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetTypeAttr_Proxy(
  4741. ITypeInfo * This,
  4742. /* [out] */ TYPEATTR **ppTypeAttr);
  4743. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetTypeAttr_Stub(
  4744. ITypeInfo * This,
  4745. /* [out] */ LPTYPEATTR *ppTypeAttr,
  4746. /* [out] */ CLEANLOCALSTORAGE *pDummy);
  4747. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetFuncDesc_Proxy(
  4748. ITypeInfo * This,
  4749. /* [in] */ UINT index,
  4750. /* [out] */ FUNCDESC **ppFuncDesc);
  4751. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetFuncDesc_Stub(
  4752. ITypeInfo * This,
  4753. /* [in] */ UINT index,
  4754. /* [out] */ LPFUNCDESC *ppFuncDesc,
  4755. /* [out] */ CLEANLOCALSTORAGE *pDummy);
  4756. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetVarDesc_Proxy(
  4757. ITypeInfo * This,
  4758. /* [in] */ UINT index,
  4759. /* [out] */ VARDESC **ppVarDesc);
  4760. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetVarDesc_Stub(
  4761. ITypeInfo * This,
  4762. /* [in] */ UINT index,
  4763. /* [out] */ LPVARDESC *ppVarDesc,
  4764. /* [out] */ CLEANLOCALSTORAGE *pDummy);
  4765. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetNames_Proxy(
  4766. ITypeInfo * This,
  4767. /* [in] */ MEMBERID memid,
  4768. /* [length_is][size_is][out] */ BSTR *rgBstrNames,
  4769. /* [in] */ UINT cMaxNames,
  4770. /* [out] */ UINT *pcNames);
  4771. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetNames_Stub(
  4772. ITypeInfo * This,
  4773. /* [in] */ MEMBERID memid,
  4774. /* [length_is][size_is][out] */ BSTR *rgBstrNames,
  4775. /* [in] */ UINT cMaxNames,
  4776. /* [out] */ UINT *pcNames);
  4777. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetIDsOfNames_Proxy(
  4778. ITypeInfo * This,
  4779. /* [size_is][in] */ LPOLESTR *rgszNames,
  4780. /* [in] */ UINT cNames,
  4781. /* [size_is][out] */ MEMBERID *pMemId);
  4782. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetIDsOfNames_Stub(
  4783. ITypeInfo * This);
  4784. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_Invoke_Proxy(
  4785. ITypeInfo * This,
  4786. /* [in] */ PVOID pvInstance,
  4787. /* [in] */ MEMBERID memid,
  4788. /* [in] */ WORD wFlags,
  4789. /* [out][in] */ DISPPARAMS *pDispParams,
  4790. /* [out] */ VARIANT *pVarResult,
  4791. /* [out] */ EXCEPINFO *pExcepInfo,
  4792. /* [out] */ UINT *puArgErr);
  4793. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_Invoke_Stub(
  4794. ITypeInfo * This);
  4795. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetDocumentation_Proxy(
  4796. ITypeInfo * This,
  4797. /* [in] */ MEMBERID memid,
  4798. /* [out] */ BSTR *pBstrName,
  4799. /* [out] */ BSTR *pBstrDocString,
  4800. /* [out] */ DWORD *pdwHelpContext,
  4801. /* [out] */ BSTR *pBstrHelpFile);
  4802. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetDocumentation_Stub(
  4803. ITypeInfo * This,
  4804. /* [in] */ MEMBERID memid,
  4805. /* [in] */ DWORD refPtrFlags,
  4806. /* [out] */ BSTR *pBstrName,
  4807. /* [out] */ BSTR *pBstrDocString,
  4808. /* [out] */ DWORD *pdwHelpContext,
  4809. /* [out] */ BSTR *pBstrHelpFile);
  4810. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetDllEntry_Proxy(
  4811. ITypeInfo * This,
  4812. /* [in] */ MEMBERID memid,
  4813. /* [in] */ INVOKEKIND invKind,
  4814. /* [out] */ BSTR *pBstrDllName,
  4815. /* [out] */ BSTR *pBstrName,
  4816. /* [out] */ WORD *pwOrdinal);
  4817. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetDllEntry_Stub(
  4818. ITypeInfo * This,
  4819. /* [in] */ MEMBERID memid,
  4820. /* [in] */ INVOKEKIND invKind,
  4821. /* [in] */ DWORD refPtrFlags,
  4822. /* [out] */ BSTR *pBstrDllName,
  4823. /* [out] */ BSTR *pBstrName,
  4824. /* [out] */ WORD *pwOrdinal);
  4825. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_AddressOfMember_Proxy(
  4826. ITypeInfo * This,
  4827. /* [in] */ MEMBERID memid,
  4828. /* [in] */ INVOKEKIND invKind,
  4829. /* [out] */ PVOID *ppv);
  4830. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_AddressOfMember_Stub(
  4831. ITypeInfo * This);
  4832. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_CreateInstance_Proxy(
  4833. ITypeInfo * This,
  4834. /* [in] */ IUnknown *pUnkOuter,
  4835. /* [in] */ REFIID riid,
  4836. /* [iid_is][out] */ PVOID *ppvObj);
  4837. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_CreateInstance_Stub(
  4838. ITypeInfo * This,
  4839. /* [in] */ REFIID riid,
  4840. /* [iid_is][out] */ IUnknown **ppvObj);
  4841. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetContainingTypeLib_Proxy(
  4842. ITypeInfo * This,
  4843. /* [out] */ ITypeLib **ppTLib,
  4844. /* [out] */ UINT *pIndex);
  4845. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetContainingTypeLib_Stub(
  4846. ITypeInfo * This,
  4847. /* [out] */ ITypeLib **ppTLib,
  4848. /* [out] */ UINT *pIndex);
  4849. /* [local] */ void STDMETHODCALLTYPE ITypeInfo_ReleaseTypeAttr_Proxy(
  4850. ITypeInfo * This,
  4851. /* [in] */ TYPEATTR *pTypeAttr);
  4852. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_ReleaseTypeAttr_Stub(
  4853. ITypeInfo * This);
  4854. /* [local] */ void STDMETHODCALLTYPE ITypeInfo_ReleaseFuncDesc_Proxy(
  4855. ITypeInfo * This,
  4856. /* [in] */ FUNCDESC *pFuncDesc);
  4857. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_ReleaseFuncDesc_Stub(
  4858. ITypeInfo * This);
  4859. /* [local] */ void STDMETHODCALLTYPE ITypeInfo_ReleaseVarDesc_Proxy(
  4860. ITypeInfo * This,
  4861. /* [in] */ VARDESC *pVarDesc);
  4862. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_ReleaseVarDesc_Stub(
  4863. ITypeInfo * This);
  4864. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo2_GetDocumentation2_Proxy(
  4865. ITypeInfo2 * This,
  4866. /* [in] */ MEMBERID memid,
  4867. /* [in] */ LCID lcid,
  4868. /* [out] */ BSTR *pbstrHelpString,
  4869. /* [out] */ DWORD *pdwHelpStringContext,
  4870. /* [out] */ BSTR *pbstrHelpStringDll);
  4871. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo2_GetDocumentation2_Stub(
  4872. ITypeInfo2 * This,
  4873. /* [in] */ MEMBERID memid,
  4874. /* [in] */ LCID lcid,
  4875. /* [in] */ DWORD refPtrFlags,
  4876. /* [out] */ BSTR *pbstrHelpString,
  4877. /* [out] */ DWORD *pdwHelpStringContext,
  4878. /* [out] */ BSTR *pbstrHelpStringDll);
  4879. /* [local] */ UINT STDMETHODCALLTYPE ITypeLib_GetTypeInfoCount_Proxy(
  4880. ITypeLib * This);
  4881. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeInfoCount_Stub(
  4882. ITypeLib * This,
  4883. /* [out] */ UINT *pcTInfo);
  4884. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeLib_GetLibAttr_Proxy(
  4885. ITypeLib * This,
  4886. /* [out] */ TLIBATTR **ppTLibAttr);
  4887. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_GetLibAttr_Stub(
  4888. ITypeLib * This,
  4889. /* [out] */ LPTLIBATTR *ppTLibAttr,
  4890. /* [out] */ CLEANLOCALSTORAGE *pDummy);
  4891. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeLib_GetDocumentation_Proxy(
  4892. ITypeLib * This,
  4893. /* [in] */ INT index,
  4894. /* [out] */ BSTR *pBstrName,
  4895. /* [out] */ BSTR *pBstrDocString,
  4896. /* [out] */ DWORD *pdwHelpContext,
  4897. /* [out] */ BSTR *pBstrHelpFile);
  4898. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_GetDocumentation_Stub(
  4899. ITypeLib * This,
  4900. /* [in] */ INT index,
  4901. /* [in] */ DWORD refPtrFlags,
  4902. /* [out] */ BSTR *pBstrName,
  4903. /* [out] */ BSTR *pBstrDocString,
  4904. /* [out] */ DWORD *pdwHelpContext,
  4905. /* [out] */ BSTR *pBstrHelpFile);
  4906. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeLib_IsName_Proxy(
  4907. ITypeLib * This,
  4908. /* [out][in] */ LPOLESTR szNameBuf,
  4909. /* [in] */ ULONG lHashVal,
  4910. /* [out] */ BOOL *pfName);
  4911. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_IsName_Stub(
  4912. ITypeLib * This,
  4913. /* [in] */ LPOLESTR szNameBuf,
  4914. /* [in] */ ULONG lHashVal,
  4915. /* [out] */ BOOL *pfName,
  4916. /* [out] */ BSTR *pBstrLibName);
  4917. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeLib_FindName_Proxy(
  4918. ITypeLib * This,
  4919. /* [out][in] */ LPOLESTR szNameBuf,
  4920. /* [in] */ ULONG lHashVal,
  4921. /* [length_is][size_is][out] */ ITypeInfo **ppTInfo,
  4922. /* [length_is][size_is][out] */ MEMBERID *rgMemId,
  4923. /* [out][in] */ USHORT *pcFound);
  4924. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_FindName_Stub(
  4925. ITypeLib * This,
  4926. /* [in] */ LPOLESTR szNameBuf,
  4927. /* [in] */ ULONG lHashVal,
  4928. /* [length_is][size_is][out] */ ITypeInfo **ppTInfo,
  4929. /* [length_is][size_is][out] */ MEMBERID *rgMemId,
  4930. /* [out][in] */ USHORT *pcFound,
  4931. /* [out] */ BSTR *pBstrLibName);
  4932. /* [local] */ void STDMETHODCALLTYPE ITypeLib_ReleaseTLibAttr_Proxy(
  4933. ITypeLib * This,
  4934. /* [in] */ TLIBATTR *pTLibAttr);
  4935. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_ReleaseTLibAttr_Stub(
  4936. ITypeLib * This);
  4937. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeLib2_GetLibStatistics_Proxy(
  4938. ITypeLib2 * This,
  4939. /* [out] */ ULONG *pcUniqueNames,
  4940. /* [out] */ ULONG *pcchUniqueNames);
  4941. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib2_GetLibStatistics_Stub(
  4942. ITypeLib2 * This,
  4943. /* [out] */ ULONG *pcUniqueNames,
  4944. /* [out] */ ULONG *pcchUniqueNames);
  4945. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeLib2_GetDocumentation2_Proxy(
  4946. ITypeLib2 * This,
  4947. /* [in] */ INT index,
  4948. /* [in] */ LCID lcid,
  4949. /* [out] */ BSTR *pbstrHelpString,
  4950. /* [out] */ DWORD *pdwHelpStringContext,
  4951. /* [out] */ BSTR *pbstrHelpStringDll);
  4952. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib2_GetDocumentation2_Stub(
  4953. ITypeLib2 * This,
  4954. /* [in] */ INT index,
  4955. /* [in] */ LCID lcid,
  4956. /* [in] */ DWORD refPtrFlags,
  4957. /* [out] */ BSTR *pbstrHelpString,
  4958. /* [out] */ DWORD *pdwHelpStringContext,
  4959. /* [out] */ BSTR *pbstrHelpStringDll);
  4960. /* [local] */ HRESULT STDMETHODCALLTYPE IPropertyBag_Read_Proxy(
  4961. IPropertyBag * This,
  4962. /* [in] */ LPCOLESTR pszPropName,
  4963. /* [out][in] */ VARIANT *pVar,
  4964. /* [in] */ IErrorLog *pErrorLog);
  4965. /* [call_as] */ HRESULT STDMETHODCALLTYPE IPropertyBag_Read_Stub(
  4966. IPropertyBag * This,
  4967. /* [in] */ LPCOLESTR pszPropName,
  4968. /* [out] */ VARIANT *pVar,
  4969. /* [in] */ IErrorLog *pErrorLog,
  4970. /* [in] */ DWORD varType,
  4971. /* [in] */ IUnknown *pUnkObj);
  4972. /* end of Additional Prototypes */
  4973. #ifdef __cplusplus
  4974. }
  4975. #endif
  4976. #endif