home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / oaidl.h < prev    next >
C/C++ Source or Header  |  2000-02-01  |  228KB  |  7,007 lines

  1. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  2.  
  3. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  4.  
  5. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  6.  
  7.  
  8.  /* File created by MIDL compiler version 5.03.0279 */
  9. /* at Fri Jul 30 19:37:37 1999
  10.  */
  11. /* Compiler settings for oaidl.idl:
  12.     Oicf (OptLev=i2), W1, Zp8, env=Win32 (32b run), ms_ext, c_ext, robust
  13.     error checks: allocation ref bounds_check enum stub_data 
  14.     VC __declspec() decoration level: 
  15.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  16.          DECLSPEC_UUID(), MIDL_INTERFACE()
  17. */
  18. //@@MIDL_FILE_HEADING(  )
  19.  
  20.  
  21. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  22. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  23. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  24. #endif
  25.  
  26. #include "rpc.h"
  27. #include "rpcndr.h"
  28.  
  29. #ifndef __RPCNDR_H_VERSION__
  30. #error this stub requires an updated version of <rpcndr.h>
  31. #endif // __RPCNDR_H_VERSION__
  32.  
  33. #ifndef COM_NO_WINDOWS_H
  34. #include "windows.h"
  35. #include "ole2.h"
  36. #endif /*COM_NO_WINDOWS_H*/
  37.  
  38. #ifndef __oaidl_h__
  39. #define __oaidl_h__
  40.  
  41. /* Forward Declarations */ 
  42.  
  43. #ifndef __ICreateTypeInfo_FWD_DEFINED__
  44. #define __ICreateTypeInfo_FWD_DEFINED__
  45. typedef interface ICreateTypeInfo ICreateTypeInfo;
  46. #endif     /* __ICreateTypeInfo_FWD_DEFINED__ */
  47.  
  48.  
  49. #ifndef __ICreateTypeInfo2_FWD_DEFINED__
  50. #define __ICreateTypeInfo2_FWD_DEFINED__
  51. typedef interface ICreateTypeInfo2 ICreateTypeInfo2;
  52. #endif     /* __ICreateTypeInfo2_FWD_DEFINED__ */
  53.  
  54.  
  55. #ifndef __ICreateTypeLib_FWD_DEFINED__
  56. #define __ICreateTypeLib_FWD_DEFINED__
  57. typedef interface ICreateTypeLib ICreateTypeLib;
  58. #endif     /* __ICreateTypeLib_FWD_DEFINED__ */
  59.  
  60.  
  61. #ifndef __ICreateTypeLib2_FWD_DEFINED__
  62. #define __ICreateTypeLib2_FWD_DEFINED__
  63. typedef interface ICreateTypeLib2 ICreateTypeLib2;
  64. #endif     /* __ICreateTypeLib2_FWD_DEFINED__ */
  65.  
  66.  
  67. #ifndef __IDispatch_FWD_DEFINED__
  68. #define __IDispatch_FWD_DEFINED__
  69. typedef interface IDispatch IDispatch;
  70. #endif     /* __IDispatch_FWD_DEFINED__ */
  71.  
  72.  
  73. #ifndef __IEnumVARIANT_FWD_DEFINED__
  74. #define __IEnumVARIANT_FWD_DEFINED__
  75. typedef interface IEnumVARIANT IEnumVARIANT;
  76. #endif     /* __IEnumVARIANT_FWD_DEFINED__ */
  77.  
  78.  
  79. #ifndef __ITypeComp_FWD_DEFINED__
  80. #define __ITypeComp_FWD_DEFINED__
  81. typedef interface ITypeComp ITypeComp;
  82. #endif     /* __ITypeComp_FWD_DEFINED__ */
  83.  
  84.  
  85. #ifndef __ITypeInfo_FWD_DEFINED__
  86. #define __ITypeInfo_FWD_DEFINED__
  87. typedef interface ITypeInfo ITypeInfo;
  88. #endif     /* __ITypeInfo_FWD_DEFINED__ */
  89.  
  90.  
  91. #ifndef __ITypeInfo2_FWD_DEFINED__
  92. #define __ITypeInfo2_FWD_DEFINED__
  93. typedef interface ITypeInfo2 ITypeInfo2;
  94. #endif     /* __ITypeInfo2_FWD_DEFINED__ */
  95.  
  96.  
  97. #ifndef __ITypeLib_FWD_DEFINED__
  98. #define __ITypeLib_FWD_DEFINED__
  99. typedef interface ITypeLib ITypeLib;
  100. #endif     /* __ITypeLib_FWD_DEFINED__ */
  101.  
  102.  
  103. #ifndef __ITypeLib2_FWD_DEFINED__
  104. #define __ITypeLib2_FWD_DEFINED__
  105. typedef interface ITypeLib2 ITypeLib2;
  106. #endif     /* __ITypeLib2_FWD_DEFINED__ */
  107.  
  108.  
  109. #ifndef __ITypeChangeEvents_FWD_DEFINED__
  110. #define __ITypeChangeEvents_FWD_DEFINED__
  111. typedef interface ITypeChangeEvents ITypeChangeEvents;
  112. #endif     /* __ITypeChangeEvents_FWD_DEFINED__ */
  113.  
  114.  
  115. #ifndef __IErrorInfo_FWD_DEFINED__
  116. #define __IErrorInfo_FWD_DEFINED__
  117. typedef interface IErrorInfo IErrorInfo;
  118. #endif     /* __IErrorInfo_FWD_DEFINED__ */
  119.  
  120.  
  121. #ifndef __ICreateErrorInfo_FWD_DEFINED__
  122. #define __ICreateErrorInfo_FWD_DEFINED__
  123. typedef interface ICreateErrorInfo ICreateErrorInfo;
  124. #endif     /* __ICreateErrorInfo_FWD_DEFINED__ */
  125.  
  126.  
  127. #ifndef __ISupportErrorInfo_FWD_DEFINED__
  128. #define __ISupportErrorInfo_FWD_DEFINED__
  129. typedef interface ISupportErrorInfo ISupportErrorInfo;
  130. #endif     /* __ISupportErrorInfo_FWD_DEFINED__ */
  131.  
  132.  
  133. #ifndef __ITypeFactory_FWD_DEFINED__
  134. #define __ITypeFactory_FWD_DEFINED__
  135. typedef interface ITypeFactory ITypeFactory;
  136. #endif     /* __ITypeFactory_FWD_DEFINED__ */
  137.  
  138.  
  139. #ifndef __ITypeMarshal_FWD_DEFINED__
  140. #define __ITypeMarshal_FWD_DEFINED__
  141. typedef interface ITypeMarshal ITypeMarshal;
  142. #endif     /* __ITypeMarshal_FWD_DEFINED__ */
  143.  
  144.  
  145. #ifndef __IRecordInfo_FWD_DEFINED__
  146. #define __IRecordInfo_FWD_DEFINED__
  147. typedef interface IRecordInfo IRecordInfo;
  148. #endif     /* __IRecordInfo_FWD_DEFINED__ */
  149.  
  150.  
  151. #ifndef __IErrorLog_FWD_DEFINED__
  152. #define __IErrorLog_FWD_DEFINED__
  153. typedef interface IErrorLog IErrorLog;
  154. #endif     /* __IErrorLog_FWD_DEFINED__ */
  155.  
  156.  
  157. #ifndef __IPropertyBag_FWD_DEFINED__
  158. #define __IPropertyBag_FWD_DEFINED__
  159. typedef interface IPropertyBag IPropertyBag;
  160. #endif     /* __IPropertyBag_FWD_DEFINED__ */
  161.  
  162.  
  163. /* header files for imported files */
  164. #include "objidl.h"
  165.  
  166. #ifdef __cplusplus
  167. extern "C"{
  168. #endif 
  169.  
  170. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  171. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  172.  
  173. /* interface __MIDL_itf_oaidl_0000 */
  174. /* [local] */ 
  175.  
  176. //+-------------------------------------------------------------------------
  177. //
  178. //  Microsoft Windows
  179. //  Copyright (C) Microsoft Corporation, 1992-1999.
  180. //
  181. //--------------------------------------------------------------------------
  182. #if ( _MSC_VER >= 800 )
  183. #if _MSC_VER >= 1200
  184. #pragma warning(push)
  185. #endif
  186. #pragma warning(disable:4201)    /* Nameless struct/union */
  187. #endif
  188. #if ( _MSC_VER >= 1020 )
  189. #pragma once
  190. #endif
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211. extern RPC_IF_HANDLE __MIDL_itf_oaidl_0000_v0_0_c_ifspec;
  212. extern RPC_IF_HANDLE __MIDL_itf_oaidl_0000_v0_0_s_ifspec;
  213.  
  214. #ifndef __IOleAutomationTypes_INTERFACE_DEFINED__
  215. #define __IOleAutomationTypes_INTERFACE_DEFINED__
  216.  
  217. /* interface IOleAutomationTypes */
  218. /* [auto_handle][unique][version] */ 
  219.  
  220. typedef CY CURRENCY;
  221.  
  222. typedef struct tagSAFEARRAYBOUND
  223.     {
  224.     ULONG cElements;
  225.     LONG lLbound;
  226.     }    SAFEARRAYBOUND;
  227.  
  228. typedef struct tagSAFEARRAYBOUND __RPC_FAR *LPSAFEARRAYBOUND;
  229.  
  230. /* the following is what MIDL knows how to remote */
  231. typedef /* [unique] */ struct _wireVARIANT __RPC_FAR *wireVARIANT;
  232.  
  233. typedef /* [unique] */ struct _wireBRECORD __RPC_FAR *wireBRECORD;
  234.  
  235. typedef struct _wireSAFEARR_BSTR
  236.     {
  237.     ULONG Size;
  238.     /* [ref][size_is] */ wireBSTR __RPC_FAR *aBstr;
  239.     }    SAFEARR_BSTR;
  240.  
  241. typedef struct _wireSAFEARR_UNKNOWN
  242.     {
  243.     ULONG Size;
  244.     /* [ref][size_is] */ IUnknown __RPC_FAR *__RPC_FAR *apUnknown;
  245.     }    SAFEARR_UNKNOWN;
  246.  
  247. typedef struct _wireSAFEARR_DISPATCH
  248.     {
  249.     ULONG Size;
  250.     /* [ref][size_is] */ IDispatch __RPC_FAR *__RPC_FAR *apDispatch;
  251.     }    SAFEARR_DISPATCH;
  252.  
  253. typedef struct _wireSAFEARR_VARIANT
  254.     {
  255.     ULONG Size;
  256.     /* [ref][size_is] */ wireVARIANT __RPC_FAR *aVariant;
  257.     }    SAFEARR_VARIANT;
  258.  
  259. typedef struct _wireSAFEARR_BRECORD
  260.     {
  261.     ULONG Size;
  262.     /* [ref][size_is] */ wireBRECORD __RPC_FAR *aRecord;
  263.     }    SAFEARR_BRECORD;
  264.  
  265. typedef struct _wireSAFEARR_HAVEIID
  266.     {
  267.     ULONG Size;
  268.     /* [ref][size_is] */ IUnknown __RPC_FAR *__RPC_FAR *apUnknown;
  269.     IID iid;
  270.     }    SAFEARR_HAVEIID;
  271.  
  272. typedef /* [v1_enum] */ 
  273. enum tagSF_TYPE
  274.     {    SF_ERROR    = VT_ERROR,
  275.     SF_I1    = VT_I1,
  276.     SF_I2    = VT_I2,
  277.     SF_I4    = VT_I4,
  278.     SF_I8    = VT_I8,
  279.     SF_BSTR    = VT_BSTR,
  280.     SF_UNKNOWN    = VT_UNKNOWN,
  281.     SF_DISPATCH    = VT_DISPATCH,
  282.     SF_VARIANT    = VT_VARIANT,
  283.     SF_RECORD    = VT_RECORD,
  284.     SF_HAVEIID    = VT_UNKNOWN | VT_RESERVED
  285.     }    SF_TYPE;
  286.  
  287. typedef struct _wireSAFEARRAY_UNION
  288.     {
  289.     ULONG sfType;
  290.     /* [switch_is] */ /* [switch_type] */ union __MIDL_IOleAutomationTypes_0001
  291.         {
  292.         /* [case()] */ SAFEARR_BSTR BstrStr;
  293.         /* [case()] */ SAFEARR_UNKNOWN UnknownStr;
  294.         /* [case()] */ SAFEARR_DISPATCH DispatchStr;
  295.         /* [case()] */ SAFEARR_VARIANT VariantStr;
  296.         /* [case()] */ SAFEARR_BRECORD RecordStr;
  297.         /* [case()] */ SAFEARR_HAVEIID HaveIidStr;
  298.         /* [case()] */ BYTE_SIZEDARR ByteStr;
  299.         /* [case()] */ WORD_SIZEDARR WordStr;
  300.         /* [case()] */ DWORD_SIZEDARR LongStr;
  301.         /* [case()] */ HYPER_SIZEDARR HyperStr;
  302.         }    u;
  303.     }    SAFEARRAYUNION;
  304.  
  305. typedef /* [unique] */ struct _wireSAFEARRAY
  306.     {
  307.     USHORT cDims;
  308.     USHORT fFeatures;
  309.     ULONG cbElements;
  310.     ULONG cLocks;
  311.     SAFEARRAYUNION uArrayStructs;
  312.     /* [size_is] */ SAFEARRAYBOUND rgsabound[ 1 ];
  313.     }    __RPC_FAR *wireSAFEARRAY;
  314.  
  315. typedef /* [unique] */ wireSAFEARRAY __RPC_FAR *wirePSAFEARRAY;
  316.  
  317. typedef struct tagSAFEARRAY
  318.     {
  319.     USHORT cDims;
  320.     USHORT fFeatures;
  321.     ULONG cbElements;
  322.     ULONG cLocks;
  323.     PVOID pvData;
  324.     SAFEARRAYBOUND rgsabound[ 1 ];
  325.     }    SAFEARRAY;
  326.  
  327. typedef /* [wire_marshal] */ SAFEARRAY __RPC_FAR *LPSAFEARRAY;
  328.  
  329. #define    FADF_AUTO    ( 0x1 )
  330.  
  331. #define    FADF_STATIC    ( 0x2 )
  332.  
  333. #define    FADF_EMBEDDED    ( 0x4 )
  334.  
  335. #define    FADF_FIXEDSIZE    ( 0x10 )
  336.  
  337. #define    FADF_RECORD    ( 0x20 )
  338.  
  339. #define    FADF_HAVEIID    ( 0x40 )
  340.  
  341. #define    FADF_HAVEVARTYPE    ( 0x80 )
  342.  
  343. #define    FADF_BSTR    ( 0x100 )
  344.  
  345. #define    FADF_UNKNOWN    ( 0x200 )
  346.  
  347. #define    FADF_DISPATCH    ( 0x400 )
  348.  
  349. #define    FADF_VARIANT    ( 0x800 )
  350.  
  351. #define    FADF_RESERVED    ( 0xf008 )
  352.  
  353. /* VARIANT STRUCTURE
  354.  *
  355.  *  VARTYPE vt;
  356.  *  WORD wReserved1;
  357.  *  WORD wReserved2;
  358.  *  WORD wReserved3;
  359.  *  union {
  360.  *    ULONGLONG      VT_UI8
  361.  *    LONGLONG       VT_I8
  362.  *    LONG           VT_I4
  363.  *    BYTE           VT_UI1
  364.  *    SHORT          VT_I2
  365.  *    FLOAT          VT_R4
  366.  *    DOUBLE         VT_R8
  367.  *    VARIANT_BOOL   VT_BOOL
  368.  *    SCODE          VT_ERROR
  369.  *    CY             VT_CY
  370.  *    DATE           VT_DATE
  371.  *    BSTR           VT_BSTR
  372.  *    IUnknown *     VT_UNKNOWN
  373.  *    IDispatch *    VT_DISPATCH
  374.  *    SAFEARRAY *    VT_ARRAY
  375.  *    BYTE *         VT_BYREF|VT_UI1
  376.  *    SHORT *        VT_BYREF|VT_I2
  377.  *    LONG *         VT_BYREF|VT_I4
  378.  *    LONGLONG *     VT_BYREF|VT_I8
  379.  *    FLOAT *        VT_BYREF|VT_R4
  380.  *    DOUBLE *       VT_BYREF|VT_R8
  381.  *    VARIANT_BOOL * VT_BYREF|VT_BOOL
  382.  *    SCODE *        VT_BYREF|VT_ERROR
  383.  *    CY *           VT_BYREF|VT_CY
  384.  *    DATE *         VT_BYREF|VT_DATE
  385.  *    BSTR *         VT_BYREF|VT_BSTR
  386.  *    IUnknown **    VT_BYREF|VT_UNKNOWN
  387.  *    IDispatch **   VT_BYREF|VT_DISPATCH
  388.  *    SAFEARRAY **   VT_BYREF|VT_ARRAY
  389.  *    VARIANT *      VT_BYREF|VT_VARIANT
  390.  *    PVOID          VT_BYREF (Generic ByRef)
  391.  *    CHAR           VT_I1
  392.  *    USHORT         VT_UI2
  393.  *    ULONG          VT_UI4
  394.  *    INT            VT_INT
  395.  *    UINT           VT_UINT
  396.  *    DECIMAL *      VT_BYREF|VT_DECIMAL
  397.  *    CHAR *         VT_BYREF|VT_I1
  398.  *    USHORT *       VT_BYREF|VT_UI2
  399.  *    ULONG *        VT_BYREF|VT_UI4
  400.  *    ULONGLONG *    VT_BYREF|VT_UI8
  401.  *    INT *          VT_BYREF|VT_INT
  402.  *    UINT *         VT_BYREF|VT_UINT
  403.  *  }
  404.  */
  405. #if (__STDC__ && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION)
  406. #define __VARIANT_NAME_1 n1
  407. #define __VARIANT_NAME_2 n2
  408. #define __VARIANT_NAME_3 n3
  409. #define __VARIANT_NAME_4 brecVal
  410. #else
  411. #define __tagVARIANT
  412. #define __VARIANT_NAME_1
  413. #define __VARIANT_NAME_2
  414. #define __VARIANT_NAME_3
  415. #define __tagBRECORD
  416. #define __VARIANT_NAME_4
  417. #endif
  418. typedef /* [wire_marshal] */ struct tagVARIANT VARIANT;
  419.  
  420. struct tagVARIANT
  421.     {
  422.     union 
  423.         {
  424.         struct __tagVARIANT
  425.             {
  426.             VARTYPE vt;
  427.             WORD wReserved1;
  428.             WORD wReserved2;
  429.             WORD wReserved3;
  430.             union 
  431.                 {
  432.                 ULONGLONG ullVal;
  433.                 LONGLONG llVal;
  434.                 LONG lVal;
  435.                 BYTE bVal;
  436.                 SHORT iVal;
  437.                 FLOAT fltVal;
  438.                 DOUBLE dblVal;
  439.                 VARIANT_BOOL boolVal;
  440.                 _VARIANT_BOOL bool;
  441.                 SCODE scode;
  442.                 CY cyVal;
  443.                 DATE date;
  444.                 BSTR bstrVal;
  445.                 IUnknown __RPC_FAR *punkVal;
  446.                 IDispatch __RPC_FAR *pdispVal;
  447.                 SAFEARRAY __RPC_FAR *parray;
  448.                 BYTE __RPC_FAR *pbVal;
  449.                 SHORT __RPC_FAR *piVal;
  450.                 LONG __RPC_FAR *plVal;
  451.                 LONGLONG __RPC_FAR *pllVal;
  452.                 FLOAT __RPC_FAR *pfltVal;
  453.                 DOUBLE __RPC_FAR *pdblVal;
  454.                 VARIANT_BOOL __RPC_FAR *pboolVal;
  455.                 _VARIANT_BOOL __RPC_FAR *pbool;
  456.                 SCODE __RPC_FAR *pscode;
  457.                 CY __RPC_FAR *pcyVal;
  458.                 DATE __RPC_FAR *pdate;
  459.                 BSTR __RPC_FAR *pbstrVal;
  460.                 IUnknown __RPC_FAR *__RPC_FAR *ppunkVal;
  461.                 IDispatch __RPC_FAR *__RPC_FAR *ppdispVal;
  462.                 SAFEARRAY __RPC_FAR *__RPC_FAR *pparray;
  463.                 VARIANT __RPC_FAR *pvarVal;
  464.                 PVOID byref;
  465.                 CHAR cVal;
  466.                 USHORT uiVal;
  467.                 ULONG ulVal;
  468.                 INT intVal;
  469.                 UINT uintVal;
  470.                 DECIMAL __RPC_FAR *pdecVal;
  471.                 CHAR __RPC_FAR *pcVal;
  472.                 USHORT __RPC_FAR *puiVal;
  473.                 ULONG __RPC_FAR *pulVal;
  474.                 ULONGLONG __RPC_FAR *pullVal;
  475.                 INT __RPC_FAR *pintVal;
  476.                 UINT __RPC_FAR *puintVal;
  477.                 struct __tagBRECORD
  478.                     {
  479.                     PVOID pvRecord;
  480.                     IRecordInfo __RPC_FAR *pRecInfo;
  481.                     }    __VARIANT_NAME_4;
  482.                 }    __VARIANT_NAME_3;
  483.             }    __VARIANT_NAME_2;
  484.         DECIMAL decVal;
  485.         }    __VARIANT_NAME_1;
  486.     };
  487. typedef VARIANT __RPC_FAR *LPVARIANT;
  488.  
  489. typedef VARIANT VARIANTARG;
  490.  
  491. typedef VARIANT __RPC_FAR *LPVARIANTARG;
  492.  
  493. /* the following is what MIDL knows how to remote */
  494. struct _wireBRECORD
  495.     {
  496.     ULONG fFlags;
  497.     ULONG clSize;
  498.     IRecordInfo __RPC_FAR *pRecInfo;
  499.     /* [size_is] */ byte __RPC_FAR *pRecord;
  500.     };
  501. struct _wireVARIANT
  502.     {
  503.     DWORD clSize;
  504.     DWORD rpcReserved;
  505.     USHORT vt;
  506.     USHORT wReserved1;
  507.     USHORT wReserved2;
  508.     USHORT wReserved3;
  509.     /* [switch_is][switch_type] */ union 
  510.         {
  511.         /* [case()] */ LONG lVal;
  512.         /* [case()] */ BYTE bVal;
  513.         /* [case()] */ SHORT iVal;
  514.         /* [case()] */ FLOAT fltVal;
  515.         /* [case()] */ DOUBLE dblVal;
  516.         /* [case()] */ VARIANT_BOOL boolVal;
  517.         /* [case()] */ SCODE scode;
  518.         /* [case()] */ CY cyVal;
  519.         /* [case()] */ DATE date;
  520.         /* [case()] */ wireBSTR bstrVal;
  521.         /* [case()] */ IUnknown __RPC_FAR *punkVal;
  522.         /* [case()] */ IDispatch __RPC_FAR *pdispVal;
  523.         /* [case()] */ wirePSAFEARRAY parray;
  524.         /* [case()] */ wireBRECORD brecVal;
  525.         /* [case()] */ BYTE __RPC_FAR *pbVal;
  526.         /* [case()] */ SHORT __RPC_FAR *piVal;
  527.         /* [case()] */ LONG __RPC_FAR *plVal;
  528.         /* [case()] */ FLOAT __RPC_FAR *pfltVal;
  529.         /* [case()] */ DOUBLE __RPC_FAR *pdblVal;
  530.         /* [case()] */ VARIANT_BOOL __RPC_FAR *pboolVal;
  531.         /* [case()] */ SCODE __RPC_FAR *pscode;
  532.         /* [case()] */ CY __RPC_FAR *pcyVal;
  533.         /* [case()] */ DATE __RPC_FAR *pdate;
  534.         /* [case()] */ wireBSTR __RPC_FAR *pbstrVal;
  535.         /* [case()] */ IUnknown __RPC_FAR *__RPC_FAR *ppunkVal;
  536.         /* [case()] */ IDispatch __RPC_FAR *__RPC_FAR *ppdispVal;
  537.         /* [case()] */ wirePSAFEARRAY __RPC_FAR *pparray;
  538.         /* [case()] */ wireVARIANT __RPC_FAR *pvarVal;
  539.         /* [case()] */ CHAR cVal;
  540.         /* [case()] */ USHORT uiVal;
  541.         /* [case()] */ ULONG ulVal;
  542.         /* [case()] */ INT intVal;
  543.         /* [case()] */ UINT uintVal;
  544.         /* [case()] */ DECIMAL decVal;
  545.         /* [case()] */ DECIMAL __RPC_FAR *pdecVal;
  546.         /* [case()] */ CHAR __RPC_FAR *pcVal;
  547.         /* [case()] */ USHORT __RPC_FAR *puiVal;
  548.         /* [case()] */ ULONG __RPC_FAR *pulVal;
  549.         /* [case()] */ INT __RPC_FAR *pintVal;
  550.         /* [case()] */ UINT __RPC_FAR *puintVal;
  551.         /* [case()] */  /* Empty union arm */ 
  552.         /* [case()] */  /* Empty union arm */ 
  553.         }    ;
  554.     };
  555. typedef LONG DISPID;
  556.  
  557. typedef DISPID MEMBERID;
  558.  
  559. typedef DWORD HREFTYPE;
  560.  
  561. typedef /* [v1_enum] */ 
  562. enum tagTYPEKIND
  563.     {    TKIND_ENUM    = 0,
  564.     TKIND_RECORD    = TKIND_ENUM + 1,
  565.     TKIND_MODULE    = TKIND_RECORD + 1,
  566.     TKIND_INTERFACE    = TKIND_MODULE + 1,
  567.     TKIND_DISPATCH    = TKIND_INTERFACE + 1,
  568.     TKIND_COCLASS    = TKIND_DISPATCH + 1,
  569.     TKIND_ALIAS    = TKIND_COCLASS + 1,
  570.     TKIND_UNION    = TKIND_ALIAS + 1,
  571.     TKIND_MAX    = TKIND_UNION + 1
  572.     }    TYPEKIND;
  573.  
  574. typedef struct tagTYPEDESC
  575.     {
  576.     /* [switch_is][switch_type] */ union 
  577.         {
  578.         /* [case()] */ struct tagTYPEDESC __RPC_FAR *lptdesc;
  579.         /* [case()] */ struct tagARRAYDESC __RPC_FAR *lpadesc;
  580.         /* [case()] */ HREFTYPE hreftype;
  581.         /* [default] */  /* Empty union arm */ 
  582.         }    ;
  583.     VARTYPE vt;
  584.     }    TYPEDESC;
  585.  
  586. typedef struct tagARRAYDESC
  587.     {
  588.     TYPEDESC tdescElem;
  589.     USHORT cDims;
  590.     /* [size_is] */ SAFEARRAYBOUND rgbounds[ 1 ];
  591.     }    ARRAYDESC;
  592.  
  593. typedef struct tagPARAMDESCEX
  594.     {
  595.     ULONG cBytes;
  596.     VARIANTARG varDefaultValue;
  597.     }    PARAMDESCEX;
  598.  
  599. typedef struct tagPARAMDESCEX __RPC_FAR *LPPARAMDESCEX;
  600.  
  601. typedef struct tagPARAMDESC
  602.     {
  603.     LPPARAMDESCEX pparamdescex;
  604.     USHORT wParamFlags;
  605.     }    PARAMDESC;
  606.  
  607. typedef struct tagPARAMDESC __RPC_FAR *LPPARAMDESC;
  608.  
  609. #define    PARAMFLAG_NONE    ( 0 )
  610.  
  611. #define    PARAMFLAG_FIN    ( 0x1 )
  612.  
  613. #define    PARAMFLAG_FOUT    ( 0x2 )
  614.  
  615. #define    PARAMFLAG_FLCID    ( 0x4 )
  616.  
  617. #define    PARAMFLAG_FRETVAL    ( 0x8 )
  618.  
  619. #define    PARAMFLAG_FOPT    ( 0x10 )
  620.  
  621. #define    PARAMFLAG_FHASDEFAULT    ( 0x20 )
  622.  
  623. #define    PARAMFLAG_FHASCUSTDATA    ( 0x40 )
  624.  
  625. typedef struct tagIDLDESC
  626.     {
  627.     ULONG_PTR dwReserved;
  628.     USHORT wIDLFlags;
  629.     }    IDLDESC;
  630.  
  631. typedef struct tagIDLDESC __RPC_FAR *LPIDLDESC;
  632.  
  633. #define    IDLFLAG_NONE    ( PARAMFLAG_NONE )
  634.  
  635. #define    IDLFLAG_FIN    ( PARAMFLAG_FIN )
  636.  
  637. #define    IDLFLAG_FOUT    ( PARAMFLAG_FOUT )
  638.  
  639. #define    IDLFLAG_FLCID    ( PARAMFLAG_FLCID )
  640.  
  641. #define    IDLFLAG_FRETVAL    ( PARAMFLAG_FRETVAL )
  642.  
  643. //;begin_internal
  644. #if 0
  645. /* the following is what MIDL knows how to remote */
  646. typedef struct tagELEMDESC
  647.     {
  648.     TYPEDESC tdesc;
  649.     PARAMDESC paramdesc;
  650.     }    ELEMDESC;
  651.  
  652. #else /* 0 */
  653. //;end_internal
  654. typedef struct tagELEMDESC {
  655.     TYPEDESC tdesc;             /* the type of the element */
  656.     union {
  657.         IDLDESC idldesc;        /* info for remoting the element */
  658.         PARAMDESC paramdesc;    /* info about the parameter */
  659.     };
  660. } ELEMDESC, * LPELEMDESC;
  661. //;begin_internal
  662. #endif /* 0 */
  663. //;end_internal
  664. typedef struct tagTYPEATTR
  665.     {
  666.     GUID guid;
  667.     LCID lcid;
  668.     DWORD dwReserved;
  669.     MEMBERID memidConstructor;
  670.     MEMBERID memidDestructor;
  671.     LPOLESTR lpstrSchema;
  672.     ULONG cbSizeInstance;
  673.     TYPEKIND typekind;
  674.     WORD cFuncs;
  675.     WORD cVars;
  676.     WORD cImplTypes;
  677.     WORD cbSizeVft;
  678.     WORD cbAlignment;
  679.     WORD wTypeFlags;
  680.     WORD wMajorVerNum;
  681.     WORD wMinorVerNum;
  682.     TYPEDESC tdescAlias;
  683.     IDLDESC idldescType;
  684.     }    TYPEATTR;
  685.  
  686. typedef struct tagTYPEATTR __RPC_FAR *LPTYPEATTR;
  687.  
  688. typedef struct tagDISPPARAMS
  689.     {
  690.     /* [size_is] */ VARIANTARG __RPC_FAR *rgvarg;
  691.     /* [size_is] */ DISPID __RPC_FAR *rgdispidNamedArgs;
  692.     UINT cArgs;
  693.     UINT cNamedArgs;
  694.     }    DISPPARAMS;
  695.  
  696. //;begin_internal
  697. #if 0
  698. /* the following is what MIDL knows how to remote */
  699. typedef struct tagEXCEPINFO
  700.     {
  701.     WORD wCode;
  702.     WORD wReserved;
  703.     BSTR bstrSource;
  704.     BSTR bstrDescription;
  705.     BSTR bstrHelpFile;
  706.     DWORD dwHelpContext;
  707.     ULONG pvReserved;
  708.     ULONG pfnDeferredFillIn;
  709.     SCODE scode;
  710.     }    EXCEPINFO;
  711.  
  712. #else /* 0 */
  713. //;end_internal
  714. typedef struct tagEXCEPINFO {
  715.     WORD  wCode;
  716.     WORD  wReserved;
  717.     BSTR  bstrSource;
  718.     BSTR  bstrDescription;
  719.     BSTR  bstrHelpFile;
  720.     DWORD dwHelpContext;
  721.     PVOID pvReserved;
  722.     HRESULT (__stdcall *pfnDeferredFillIn)(struct tagEXCEPINFO *);
  723.     SCODE scode;
  724. } EXCEPINFO, * LPEXCEPINFO;
  725. //;begin_internal
  726. #endif /* 0 */
  727. //;end_internal
  728. typedef /* [v1_enum] */ 
  729. enum tagCALLCONV
  730.     {    CC_FASTCALL    = 0,
  731.     CC_CDECL    = 1,
  732.     CC_MSCPASCAL    = CC_CDECL + 1,
  733.     CC_PASCAL    = CC_MSCPASCAL,
  734.     CC_MACPASCAL    = CC_PASCAL + 1,
  735.     CC_STDCALL    = CC_MACPASCAL + 1,
  736.     CC_FPFASTCALL    = CC_STDCALL + 1,
  737.     CC_SYSCALL    = CC_FPFASTCALL + 1,
  738.     CC_MPWCDECL    = CC_SYSCALL + 1,
  739.     CC_MPWPASCAL    = CC_MPWCDECL + 1,
  740.     CC_MAX    = CC_MPWPASCAL + 1
  741.     }    CALLCONV;
  742.  
  743. typedef /* [v1_enum] */ 
  744. enum tagFUNCKIND
  745.     {    FUNC_VIRTUAL    = 0,
  746.     FUNC_PUREVIRTUAL    = FUNC_VIRTUAL + 1,
  747.     FUNC_NONVIRTUAL    = FUNC_PUREVIRTUAL + 1,
  748.     FUNC_STATIC    = FUNC_NONVIRTUAL + 1,
  749.     FUNC_DISPATCH    = FUNC_STATIC + 1
  750.     }    FUNCKIND;
  751.  
  752. typedef /* [v1_enum] */ 
  753. enum tagINVOKEKIND
  754.     {    INVOKE_FUNC    = 1,
  755.     INVOKE_PROPERTYGET    = 2,
  756.     INVOKE_PROPERTYPUT    = 4,
  757.     INVOKE_PROPERTYPUTREF    = 8
  758.     }    INVOKEKIND;
  759.  
  760. typedef struct tagFUNCDESC
  761.     {
  762.     MEMBERID memid;
  763.     /* [size_is] */ SCODE __RPC_FAR *lprgscode;
  764.     /* [size_is] */ ELEMDESC __RPC_FAR *lprgelemdescParam;
  765.     FUNCKIND funckind;
  766.     INVOKEKIND invkind;
  767.     CALLCONV callconv;
  768.     SHORT cParams;
  769.     SHORT cParamsOpt;
  770.     SHORT oVft;
  771.     SHORT cScodes;
  772.     ELEMDESC elemdescFunc;
  773.     WORD wFuncFlags;
  774.     }    FUNCDESC;
  775.  
  776. typedef struct tagFUNCDESC __RPC_FAR *LPFUNCDESC;
  777.  
  778. typedef /* [v1_enum] */ 
  779. enum tagVARKIND
  780.     {    VAR_PERINSTANCE    = 0,
  781.     VAR_STATIC    = VAR_PERINSTANCE + 1,
  782.     VAR_CONST    = VAR_STATIC + 1,
  783.     VAR_DISPATCH    = VAR_CONST + 1
  784.     }    VARKIND;
  785.  
  786. #define    IMPLTYPEFLAG_FDEFAULT    ( 0x1 )
  787.  
  788. #define    IMPLTYPEFLAG_FSOURCE    ( 0x2 )
  789.  
  790. #define    IMPLTYPEFLAG_FRESTRICTED    ( 0x4 )
  791.  
  792. #define    IMPLTYPEFLAG_FDEFAULTVTABLE    ( 0x8 )
  793.  
  794. typedef struct tagVARDESC
  795.     {
  796.     MEMBERID memid;
  797.     LPOLESTR lpstrSchema;
  798.     /* [switch_is][switch_type] */ union 
  799.         {
  800.         /* [case()] */ ULONG oInst;
  801.         /* [case()] */ VARIANT __RPC_FAR *lpvarValue;
  802.         }    ;
  803.     ELEMDESC elemdescVar;
  804.     WORD wVarFlags;
  805.     VARKIND varkind;
  806.     }    VARDESC;
  807.  
  808. typedef struct tagVARDESC __RPC_FAR *LPVARDESC;
  809.  
  810. typedef 
  811. enum tagTYPEFLAGS
  812.     {    TYPEFLAG_FAPPOBJECT    = 0x1,
  813.     TYPEFLAG_FCANCREATE    = 0x2,
  814.     TYPEFLAG_FLICENSED    = 0x4,
  815.     TYPEFLAG_FPREDECLID    = 0x8,
  816.     TYPEFLAG_FHIDDEN    = 0x10,
  817.     TYPEFLAG_FCONTROL    = 0x20,
  818.     TYPEFLAG_FDUAL    = 0x40,
  819.     TYPEFLAG_FNONEXTENSIBLE    = 0x80,
  820.     TYPEFLAG_FOLEAUTOMATION    = 0x100,
  821.     TYPEFLAG_FRESTRICTED    = 0x200,
  822.     TYPEFLAG_FAGGREGATABLE    = 0x400,
  823.     TYPEFLAG_FREPLACEABLE    = 0x800,
  824.     TYPEFLAG_FDISPATCHABLE    = 0x1000,
  825.     TYPEFLAG_FREVERSEBIND    = 0x2000,
  826.     TYPEFLAG_FPROXY    = 0x4000
  827.     }    TYPEFLAGS;
  828.  
  829. typedef 
  830. enum tagFUNCFLAGS
  831.     {    FUNCFLAG_FRESTRICTED    = 0x1,
  832.     FUNCFLAG_FSOURCE    = 0x2,
  833.     FUNCFLAG_FBINDABLE    = 0x4,
  834.     FUNCFLAG_FREQUESTEDIT    = 0x8,
  835.     FUNCFLAG_FDISPLAYBIND    = 0x10,
  836.     FUNCFLAG_FDEFAULTBIND    = 0x20,
  837.     FUNCFLAG_FHIDDEN    = 0x40,
  838.     FUNCFLAG_FUSESGETLASTERROR    = 0x80,
  839.     FUNCFLAG_FDEFAULTCOLLELEM    = 0x100,
  840.     FUNCFLAG_FUIDEFAULT    = 0x200,
  841.     FUNCFLAG_FNONBROWSABLE    = 0x400,
  842.     FUNCFLAG_FREPLACEABLE    = 0x800,
  843.     FUNCFLAG_FIMMEDIATEBIND    = 0x1000
  844.     }    FUNCFLAGS;
  845.  
  846. typedef 
  847. enum tagVARFLAGS
  848.     {    VARFLAG_FREADONLY    = 0x1,
  849.     VARFLAG_FSOURCE    = 0x2,
  850.     VARFLAG_FBINDABLE    = 0x4,
  851.     VARFLAG_FREQUESTEDIT    = 0x8,
  852.     VARFLAG_FDISPLAYBIND    = 0x10,
  853.     VARFLAG_FDEFAULTBIND    = 0x20,
  854.     VARFLAG_FHIDDEN    = 0x40,
  855.     VARFLAG_FRESTRICTED    = 0x80,
  856.     VARFLAG_FDEFAULTCOLLELEM    = 0x100,
  857.     VARFLAG_FUIDEFAULT    = 0x200,
  858.     VARFLAG_FNONBROWSABLE    = 0x400,
  859.     VARFLAG_FREPLACEABLE    = 0x800,
  860.     VARFLAG_FIMMEDIATEBIND    = 0x1000
  861.     }    VARFLAGS;
  862.  
  863. typedef /* [wire_marshal] */ struct tagCLEANLOCALSTORAGE
  864.     {
  865.     IUnknown __RPC_FAR *pInterface;
  866.     PVOID pStorage;
  867.     DWORD flags;
  868.     }    CLEANLOCALSTORAGE;
  869.  
  870. typedef struct tagCUSTDATAITEM
  871.     {
  872.     GUID guid;
  873.     VARIANTARG varValue;
  874.     }    CUSTDATAITEM;
  875.  
  876. typedef struct tagCUSTDATAITEM __RPC_FAR *LPCUSTDATAITEM;
  877.  
  878. typedef struct tagCUSTDATA
  879.     {
  880.     DWORD cCustData;
  881.     /* [size_is] */ LPCUSTDATAITEM prgCustData;
  882.     }    CUSTDATA;
  883.  
  884. typedef struct tagCUSTDATA __RPC_FAR *LPCUSTDATA;
  885.  
  886.  
  887.  
  888. extern RPC_IF_HANDLE IOleAutomationTypes_v1_0_c_ifspec;
  889. extern RPC_IF_HANDLE IOleAutomationTypes_v1_0_s_ifspec;
  890. #endif /* __IOleAutomationTypes_INTERFACE_DEFINED__ */
  891.  
  892. #ifndef __ICreateTypeInfo_INTERFACE_DEFINED__
  893. #define __ICreateTypeInfo_INTERFACE_DEFINED__
  894.  
  895. /* interface ICreateTypeInfo */
  896. /* [local][unique][uuid][object] */ 
  897.  
  898. typedef /* [unique] */ ICreateTypeInfo __RPC_FAR *LPCREATETYPEINFO;
  899.  
  900.  
  901. EXTERN_C const IID IID_ICreateTypeInfo;
  902.  
  903. #if defined(__cplusplus) && !defined(CINTERFACE)
  904.     
  905.     MIDL_INTERFACE("00020405-0000-0000-C000-000000000046")
  906.     ICreateTypeInfo : public IUnknown
  907.     {
  908.     public:
  909.         virtual HRESULT STDMETHODCALLTYPE SetGuid( 
  910.             /* [in] */ REFGUID guid) = 0;
  911.         
  912.         virtual HRESULT STDMETHODCALLTYPE SetTypeFlags( 
  913.             /* [in] */ UINT uTypeFlags) = 0;
  914.         
  915.         virtual HRESULT STDMETHODCALLTYPE SetDocString( 
  916.             /* [in] */ LPOLESTR pStrDoc) = 0;
  917.         
  918.         virtual HRESULT STDMETHODCALLTYPE SetHelpContext( 
  919.             /* [in] */ DWORD dwHelpContext) = 0;
  920.         
  921.         virtual HRESULT STDMETHODCALLTYPE SetVersion( 
  922.             /* [in] */ WORD wMajorVerNum,
  923.             /* [in] */ WORD wMinorVerNum) = 0;
  924.         
  925.         virtual HRESULT STDMETHODCALLTYPE AddRefTypeInfo( 
  926.             /* [in] */ ITypeInfo __RPC_FAR *pTInfo,
  927.             /* [in] */ HREFTYPE __RPC_FAR *phRefType) = 0;
  928.         
  929.         virtual HRESULT STDMETHODCALLTYPE AddFuncDesc( 
  930.             /* [in] */ UINT index,
  931.             /* [in] */ FUNCDESC __RPC_FAR *pFuncDesc) = 0;
  932.         
  933.         virtual HRESULT STDMETHODCALLTYPE AddImplType( 
  934.             /* [in] */ UINT index,
  935.             /* [in] */ HREFTYPE hRefType) = 0;
  936.         
  937.         virtual HRESULT STDMETHODCALLTYPE SetImplTypeFlags( 
  938.             /* [in] */ UINT index,
  939.             /* [in] */ INT implTypeFlags) = 0;
  940.         
  941.         virtual HRESULT STDMETHODCALLTYPE SetAlignment( 
  942.             /* [in] */ WORD cbAlignment) = 0;
  943.         
  944.         virtual HRESULT STDMETHODCALLTYPE SetSchema( 
  945.             /* [in] */ LPOLESTR pStrSchema) = 0;
  946.         
  947.         virtual HRESULT STDMETHODCALLTYPE AddVarDesc( 
  948.             /* [in] */ UINT index,
  949.             /* [in] */ VARDESC __RPC_FAR *pVarDesc) = 0;
  950.         
  951.         virtual HRESULT STDMETHODCALLTYPE SetFuncAndParamNames( 
  952.             /* [in] */ UINT index,
  953.             /* [in][size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  954.             /* [in] */ UINT cNames) = 0;
  955.         
  956.         virtual HRESULT STDMETHODCALLTYPE SetVarName( 
  957.             /* [in] */ UINT index,
  958.             /* [in] */ LPOLESTR szName) = 0;
  959.         
  960.         virtual HRESULT STDMETHODCALLTYPE SetTypeDescAlias( 
  961.             /* [in] */ TYPEDESC __RPC_FAR *pTDescAlias) = 0;
  962.         
  963.         virtual HRESULT STDMETHODCALLTYPE DefineFuncAsDllEntry( 
  964.             /* [in] */ UINT index,
  965.             /* [in] */ LPOLESTR szDllName,
  966.             /* [in] */ LPOLESTR szProcName) = 0;
  967.         
  968.         virtual HRESULT STDMETHODCALLTYPE SetFuncDocString( 
  969.             /* [in] */ UINT index,
  970.             /* [in] */ LPOLESTR szDocString) = 0;
  971.         
  972.         virtual HRESULT STDMETHODCALLTYPE SetVarDocString( 
  973.             /* [in] */ UINT index,
  974.             /* [in] */ LPOLESTR szDocString) = 0;
  975.         
  976.         virtual HRESULT STDMETHODCALLTYPE SetFuncHelpContext( 
  977.             /* [in] */ UINT index,
  978.             /* [in] */ DWORD dwHelpContext) = 0;
  979.         
  980.         virtual HRESULT STDMETHODCALLTYPE SetVarHelpContext( 
  981.             /* [in] */ UINT index,
  982.             /* [in] */ DWORD dwHelpContext) = 0;
  983.         
  984.         virtual HRESULT STDMETHODCALLTYPE SetMops( 
  985.             /* [in] */ UINT index,
  986.             /* [in] */ BSTR bstrMops) = 0;
  987.         
  988.         virtual HRESULT STDMETHODCALLTYPE SetTypeIdldesc( 
  989.             /* [in] */ IDLDESC __RPC_FAR *pIdlDesc) = 0;
  990.         
  991.         virtual HRESULT STDMETHODCALLTYPE LayOut( void) = 0;
  992.         
  993.     };
  994.     
  995. #else     /* C style interface */
  996.  
  997.     typedef struct ICreateTypeInfoVtbl
  998.     {
  999.         BEGIN_INTERFACE
  1000.         
  1001.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1002.             ICreateTypeInfo __RPC_FAR * This,
  1003.             /* [in] */ REFIID riid,
  1004.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1005.         
  1006.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1007.             ICreateTypeInfo __RPC_FAR * This);
  1008.         
  1009.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1010.             ICreateTypeInfo __RPC_FAR * This);
  1011.         
  1012.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetGuid )( 
  1013.             ICreateTypeInfo __RPC_FAR * This,
  1014.             /* [in] */ REFGUID guid);
  1015.         
  1016.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTypeFlags )( 
  1017.             ICreateTypeInfo __RPC_FAR * This,
  1018.             /* [in] */ UINT uTypeFlags);
  1019.         
  1020.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDocString )( 
  1021.             ICreateTypeInfo __RPC_FAR * This,
  1022.             /* [in] */ LPOLESTR pStrDoc);
  1023.         
  1024.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelpContext )( 
  1025.             ICreateTypeInfo __RPC_FAR * This,
  1026.             /* [in] */ DWORD dwHelpContext);
  1027.         
  1028.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVersion )( 
  1029.             ICreateTypeInfo __RPC_FAR * This,
  1030.             /* [in] */ WORD wMajorVerNum,
  1031.             /* [in] */ WORD wMinorVerNum);
  1032.         
  1033.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddRefTypeInfo )( 
  1034.             ICreateTypeInfo __RPC_FAR * This,
  1035.             /* [in] */ ITypeInfo __RPC_FAR *pTInfo,
  1036.             /* [in] */ HREFTYPE __RPC_FAR *phRefType);
  1037.         
  1038.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddFuncDesc )( 
  1039.             ICreateTypeInfo __RPC_FAR * This,
  1040.             /* [in] */ UINT index,
  1041.             /* [in] */ FUNCDESC __RPC_FAR *pFuncDesc);
  1042.         
  1043.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddImplType )( 
  1044.             ICreateTypeInfo __RPC_FAR * This,
  1045.             /* [in] */ UINT index,
  1046.             /* [in] */ HREFTYPE hRefType);
  1047.         
  1048.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetImplTypeFlags )( 
  1049.             ICreateTypeInfo __RPC_FAR * This,
  1050.             /* [in] */ UINT index,
  1051.             /* [in] */ INT implTypeFlags);
  1052.         
  1053.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAlignment )( 
  1054.             ICreateTypeInfo __RPC_FAR * This,
  1055.             /* [in] */ WORD cbAlignment);
  1056.         
  1057.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSchema )( 
  1058.             ICreateTypeInfo __RPC_FAR * This,
  1059.             /* [in] */ LPOLESTR pStrSchema);
  1060.         
  1061.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddVarDesc )( 
  1062.             ICreateTypeInfo __RPC_FAR * This,
  1063.             /* [in] */ UINT index,
  1064.             /* [in] */ VARDESC __RPC_FAR *pVarDesc);
  1065.         
  1066.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFuncAndParamNames )( 
  1067.             ICreateTypeInfo __RPC_FAR * This,
  1068.             /* [in] */ UINT index,
  1069.             /* [in][size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1070.             /* [in] */ UINT cNames);
  1071.         
  1072.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVarName )( 
  1073.             ICreateTypeInfo __RPC_FAR * This,
  1074.             /* [in] */ UINT index,
  1075.             /* [in] */ LPOLESTR szName);
  1076.         
  1077.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTypeDescAlias )( 
  1078.             ICreateTypeInfo __RPC_FAR * This,
  1079.             /* [in] */ TYPEDESC __RPC_FAR *pTDescAlias);
  1080.         
  1081.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DefineFuncAsDllEntry )( 
  1082.             ICreateTypeInfo __RPC_FAR * This,
  1083.             /* [in] */ UINT index,
  1084.             /* [in] */ LPOLESTR szDllName,
  1085.             /* [in] */ LPOLESTR szProcName);
  1086.         
  1087.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFuncDocString )( 
  1088.             ICreateTypeInfo __RPC_FAR * This,
  1089.             /* [in] */ UINT index,
  1090.             /* [in] */ LPOLESTR szDocString);
  1091.         
  1092.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVarDocString )( 
  1093.             ICreateTypeInfo __RPC_FAR * This,
  1094.             /* [in] */ UINT index,
  1095.             /* [in] */ LPOLESTR szDocString);
  1096.         
  1097.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFuncHelpContext )( 
  1098.             ICreateTypeInfo __RPC_FAR * This,
  1099.             /* [in] */ UINT index,
  1100.             /* [in] */ DWORD dwHelpContext);
  1101.         
  1102.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVarHelpContext )( 
  1103.             ICreateTypeInfo __RPC_FAR * This,
  1104.             /* [in] */ UINT index,
  1105.             /* [in] */ DWORD dwHelpContext);
  1106.         
  1107.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMops )( 
  1108.             ICreateTypeInfo __RPC_FAR * This,
  1109.             /* [in] */ UINT index,
  1110.             /* [in] */ BSTR bstrMops);
  1111.         
  1112.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTypeIdldesc )( 
  1113.             ICreateTypeInfo __RPC_FAR * This,
  1114.             /* [in] */ IDLDESC __RPC_FAR *pIdlDesc);
  1115.         
  1116.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LayOut )( 
  1117.             ICreateTypeInfo __RPC_FAR * This);
  1118.         
  1119.         END_INTERFACE
  1120.     } ICreateTypeInfoVtbl;
  1121.  
  1122.     interface ICreateTypeInfo
  1123.     {
  1124.         CONST_VTBL struct ICreateTypeInfoVtbl __RPC_FAR *lpVtbl;
  1125.     };
  1126.  
  1127.     
  1128.  
  1129. #ifdef COBJMACROS
  1130.  
  1131.  
  1132. #define ICreateTypeInfo_QueryInterface(This,riid,ppvObject)    \
  1133.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1134.  
  1135. #define ICreateTypeInfo_AddRef(This)    \
  1136.     (This)->lpVtbl -> AddRef(This)
  1137.  
  1138. #define ICreateTypeInfo_Release(This)    \
  1139.     (This)->lpVtbl -> Release(This)
  1140.  
  1141.  
  1142. #define ICreateTypeInfo_SetGuid(This,guid)    \
  1143.     (This)->lpVtbl -> SetGuid(This,guid)
  1144.  
  1145. #define ICreateTypeInfo_SetTypeFlags(This,uTypeFlags)    \
  1146.     (This)->lpVtbl -> SetTypeFlags(This,uTypeFlags)
  1147.  
  1148. #define ICreateTypeInfo_SetDocString(This,pStrDoc)    \
  1149.     (This)->lpVtbl -> SetDocString(This,pStrDoc)
  1150.  
  1151. #define ICreateTypeInfo_SetHelpContext(This,dwHelpContext)    \
  1152.     (This)->lpVtbl -> SetHelpContext(This,dwHelpContext)
  1153.  
  1154. #define ICreateTypeInfo_SetVersion(This,wMajorVerNum,wMinorVerNum)    \
  1155.     (This)->lpVtbl -> SetVersion(This,wMajorVerNum,wMinorVerNum)
  1156.  
  1157. #define ICreateTypeInfo_AddRefTypeInfo(This,pTInfo,phRefType)    \
  1158.     (This)->lpVtbl -> AddRefTypeInfo(This,pTInfo,phRefType)
  1159.  
  1160. #define ICreateTypeInfo_AddFuncDesc(This,index,pFuncDesc)    \
  1161.     (This)->lpVtbl -> AddFuncDesc(This,index,pFuncDesc)
  1162.  
  1163. #define ICreateTypeInfo_AddImplType(This,index,hRefType)    \
  1164.     (This)->lpVtbl -> AddImplType(This,index,hRefType)
  1165.  
  1166. #define ICreateTypeInfo_SetImplTypeFlags(This,index,implTypeFlags)    \
  1167.     (This)->lpVtbl -> SetImplTypeFlags(This,index,implTypeFlags)
  1168.  
  1169. #define ICreateTypeInfo_SetAlignment(This,cbAlignment)    \
  1170.     (This)->lpVtbl -> SetAlignment(This,cbAlignment)
  1171.  
  1172. #define ICreateTypeInfo_SetSchema(This,pStrSchema)    \
  1173.     (This)->lpVtbl -> SetSchema(This,pStrSchema)
  1174.  
  1175. #define ICreateTypeInfo_AddVarDesc(This,index,pVarDesc)    \
  1176.     (This)->lpVtbl -> AddVarDesc(This,index,pVarDesc)
  1177.  
  1178. #define ICreateTypeInfo_SetFuncAndParamNames(This,index,rgszNames,cNames)    \
  1179.     (This)->lpVtbl -> SetFuncAndParamNames(This,index,rgszNames,cNames)
  1180.  
  1181. #define ICreateTypeInfo_SetVarName(This,index,szName)    \
  1182.     (This)->lpVtbl -> SetVarName(This,index,szName)
  1183.  
  1184. #define ICreateTypeInfo_SetTypeDescAlias(This,pTDescAlias)    \
  1185.     (This)->lpVtbl -> SetTypeDescAlias(This,pTDescAlias)
  1186.  
  1187. #define ICreateTypeInfo_DefineFuncAsDllEntry(This,index,szDllName,szProcName)    \
  1188.     (This)->lpVtbl -> DefineFuncAsDllEntry(This,index,szDllName,szProcName)
  1189.  
  1190. #define ICreateTypeInfo_SetFuncDocString(This,index,szDocString)    \
  1191.     (This)->lpVtbl -> SetFuncDocString(This,index,szDocString)
  1192.  
  1193. #define ICreateTypeInfo_SetVarDocString(This,index,szDocString)    \
  1194.     (This)->lpVtbl -> SetVarDocString(This,index,szDocString)
  1195.  
  1196. #define ICreateTypeInfo_SetFuncHelpContext(This,index,dwHelpContext)    \
  1197.     (This)->lpVtbl -> SetFuncHelpContext(This,index,dwHelpContext)
  1198.  
  1199. #define ICreateTypeInfo_SetVarHelpContext(This,index,dwHelpContext)    \
  1200.     (This)->lpVtbl -> SetVarHelpContext(This,index,dwHelpContext)
  1201.  
  1202. #define ICreateTypeInfo_SetMops(This,index,bstrMops)    \
  1203.     (This)->lpVtbl -> SetMops(This,index,bstrMops)
  1204.  
  1205. #define ICreateTypeInfo_SetTypeIdldesc(This,pIdlDesc)    \
  1206.     (This)->lpVtbl -> SetTypeIdldesc(This,pIdlDesc)
  1207.  
  1208. #define ICreateTypeInfo_LayOut(This)    \
  1209.     (This)->lpVtbl -> LayOut(This)
  1210.  
  1211. #endif /* COBJMACROS */
  1212.  
  1213.  
  1214. #endif     /* C style interface */
  1215.  
  1216.  
  1217.  
  1218. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetGuid_Proxy( 
  1219.     ICreateTypeInfo __RPC_FAR * This,
  1220.     /* [in] */ REFGUID guid);
  1221.  
  1222.  
  1223. void __RPC_STUB ICreateTypeInfo_SetGuid_Stub(
  1224.     IRpcStubBuffer *This,
  1225.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1226.     PRPC_MESSAGE _pRpcMessage,
  1227.     DWORD *_pdwStubPhase);
  1228.  
  1229.  
  1230. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetTypeFlags_Proxy( 
  1231.     ICreateTypeInfo __RPC_FAR * This,
  1232.     /* [in] */ UINT uTypeFlags);
  1233.  
  1234.  
  1235. void __RPC_STUB ICreateTypeInfo_SetTypeFlags_Stub(
  1236.     IRpcStubBuffer *This,
  1237.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1238.     PRPC_MESSAGE _pRpcMessage,
  1239.     DWORD *_pdwStubPhase);
  1240.  
  1241.  
  1242. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetDocString_Proxy( 
  1243.     ICreateTypeInfo __RPC_FAR * This,
  1244.     /* [in] */ LPOLESTR pStrDoc);
  1245.  
  1246.  
  1247. void __RPC_STUB ICreateTypeInfo_SetDocString_Stub(
  1248.     IRpcStubBuffer *This,
  1249.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1250.     PRPC_MESSAGE _pRpcMessage,
  1251.     DWORD *_pdwStubPhase);
  1252.  
  1253.  
  1254. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetHelpContext_Proxy( 
  1255.     ICreateTypeInfo __RPC_FAR * This,
  1256.     /* [in] */ DWORD dwHelpContext);
  1257.  
  1258.  
  1259. void __RPC_STUB ICreateTypeInfo_SetHelpContext_Stub(
  1260.     IRpcStubBuffer *This,
  1261.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1262.     PRPC_MESSAGE _pRpcMessage,
  1263.     DWORD *_pdwStubPhase);
  1264.  
  1265.  
  1266. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetVersion_Proxy( 
  1267.     ICreateTypeInfo __RPC_FAR * This,
  1268.     /* [in] */ WORD wMajorVerNum,
  1269.     /* [in] */ WORD wMinorVerNum);
  1270.  
  1271.  
  1272. void __RPC_STUB ICreateTypeInfo_SetVersion_Stub(
  1273.     IRpcStubBuffer *This,
  1274.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1275.     PRPC_MESSAGE _pRpcMessage,
  1276.     DWORD *_pdwStubPhase);
  1277.  
  1278.  
  1279. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_AddRefTypeInfo_Proxy( 
  1280.     ICreateTypeInfo __RPC_FAR * This,
  1281.     /* [in] */ ITypeInfo __RPC_FAR *pTInfo,
  1282.     /* [in] */ HREFTYPE __RPC_FAR *phRefType);
  1283.  
  1284.  
  1285. void __RPC_STUB ICreateTypeInfo_AddRefTypeInfo_Stub(
  1286.     IRpcStubBuffer *This,
  1287.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1288.     PRPC_MESSAGE _pRpcMessage,
  1289.     DWORD *_pdwStubPhase);
  1290.  
  1291.  
  1292. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_AddFuncDesc_Proxy( 
  1293.     ICreateTypeInfo __RPC_FAR * This,
  1294.     /* [in] */ UINT index,
  1295.     /* [in] */ FUNCDESC __RPC_FAR *pFuncDesc);
  1296.  
  1297.  
  1298. void __RPC_STUB ICreateTypeInfo_AddFuncDesc_Stub(
  1299.     IRpcStubBuffer *This,
  1300.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1301.     PRPC_MESSAGE _pRpcMessage,
  1302.     DWORD *_pdwStubPhase);
  1303.  
  1304.  
  1305. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_AddImplType_Proxy( 
  1306.     ICreateTypeInfo __RPC_FAR * This,
  1307.     /* [in] */ UINT index,
  1308.     /* [in] */ HREFTYPE hRefType);
  1309.  
  1310.  
  1311. void __RPC_STUB ICreateTypeInfo_AddImplType_Stub(
  1312.     IRpcStubBuffer *This,
  1313.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1314.     PRPC_MESSAGE _pRpcMessage,
  1315.     DWORD *_pdwStubPhase);
  1316.  
  1317.  
  1318. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetImplTypeFlags_Proxy( 
  1319.     ICreateTypeInfo __RPC_FAR * This,
  1320.     /* [in] */ UINT index,
  1321.     /* [in] */ INT implTypeFlags);
  1322.  
  1323.  
  1324. void __RPC_STUB ICreateTypeInfo_SetImplTypeFlags_Stub(
  1325.     IRpcStubBuffer *This,
  1326.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1327.     PRPC_MESSAGE _pRpcMessage,
  1328.     DWORD *_pdwStubPhase);
  1329.  
  1330.  
  1331. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetAlignment_Proxy( 
  1332.     ICreateTypeInfo __RPC_FAR * This,
  1333.     /* [in] */ WORD cbAlignment);
  1334.  
  1335.  
  1336. void __RPC_STUB ICreateTypeInfo_SetAlignment_Stub(
  1337.     IRpcStubBuffer *This,
  1338.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1339.     PRPC_MESSAGE _pRpcMessage,
  1340.     DWORD *_pdwStubPhase);
  1341.  
  1342.  
  1343. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetSchema_Proxy( 
  1344.     ICreateTypeInfo __RPC_FAR * This,
  1345.     /* [in] */ LPOLESTR pStrSchema);
  1346.  
  1347.  
  1348. void __RPC_STUB ICreateTypeInfo_SetSchema_Stub(
  1349.     IRpcStubBuffer *This,
  1350.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1351.     PRPC_MESSAGE _pRpcMessage,
  1352.     DWORD *_pdwStubPhase);
  1353.  
  1354.  
  1355. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_AddVarDesc_Proxy( 
  1356.     ICreateTypeInfo __RPC_FAR * This,
  1357.     /* [in] */ UINT index,
  1358.     /* [in] */ VARDESC __RPC_FAR *pVarDesc);
  1359.  
  1360.  
  1361. void __RPC_STUB ICreateTypeInfo_AddVarDesc_Stub(
  1362.     IRpcStubBuffer *This,
  1363.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1364.     PRPC_MESSAGE _pRpcMessage,
  1365.     DWORD *_pdwStubPhase);
  1366.  
  1367.  
  1368. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetFuncAndParamNames_Proxy( 
  1369.     ICreateTypeInfo __RPC_FAR * This,
  1370.     /* [in] */ UINT index,
  1371.     /* [in][size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1372.     /* [in] */ UINT cNames);
  1373.  
  1374.  
  1375. void __RPC_STUB ICreateTypeInfo_SetFuncAndParamNames_Stub(
  1376.     IRpcStubBuffer *This,
  1377.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1378.     PRPC_MESSAGE _pRpcMessage,
  1379.     DWORD *_pdwStubPhase);
  1380.  
  1381.  
  1382. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetVarName_Proxy( 
  1383.     ICreateTypeInfo __RPC_FAR * This,
  1384.     /* [in] */ UINT index,
  1385.     /* [in] */ LPOLESTR szName);
  1386.  
  1387.  
  1388. void __RPC_STUB ICreateTypeInfo_SetVarName_Stub(
  1389.     IRpcStubBuffer *This,
  1390.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1391.     PRPC_MESSAGE _pRpcMessage,
  1392.     DWORD *_pdwStubPhase);
  1393.  
  1394.  
  1395. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetTypeDescAlias_Proxy( 
  1396.     ICreateTypeInfo __RPC_FAR * This,
  1397.     /* [in] */ TYPEDESC __RPC_FAR *pTDescAlias);
  1398.  
  1399.  
  1400. void __RPC_STUB ICreateTypeInfo_SetTypeDescAlias_Stub(
  1401.     IRpcStubBuffer *This,
  1402.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1403.     PRPC_MESSAGE _pRpcMessage,
  1404.     DWORD *_pdwStubPhase);
  1405.  
  1406.  
  1407. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_DefineFuncAsDllEntry_Proxy( 
  1408.     ICreateTypeInfo __RPC_FAR * This,
  1409.     /* [in] */ UINT index,
  1410.     /* [in] */ LPOLESTR szDllName,
  1411.     /* [in] */ LPOLESTR szProcName);
  1412.  
  1413.  
  1414. void __RPC_STUB ICreateTypeInfo_DefineFuncAsDllEntry_Stub(
  1415.     IRpcStubBuffer *This,
  1416.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1417.     PRPC_MESSAGE _pRpcMessage,
  1418.     DWORD *_pdwStubPhase);
  1419.  
  1420.  
  1421. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetFuncDocString_Proxy( 
  1422.     ICreateTypeInfo __RPC_FAR * This,
  1423.     /* [in] */ UINT index,
  1424.     /* [in] */ LPOLESTR szDocString);
  1425.  
  1426.  
  1427. void __RPC_STUB ICreateTypeInfo_SetFuncDocString_Stub(
  1428.     IRpcStubBuffer *This,
  1429.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1430.     PRPC_MESSAGE _pRpcMessage,
  1431.     DWORD *_pdwStubPhase);
  1432.  
  1433.  
  1434. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetVarDocString_Proxy( 
  1435.     ICreateTypeInfo __RPC_FAR * This,
  1436.     /* [in] */ UINT index,
  1437.     /* [in] */ LPOLESTR szDocString);
  1438.  
  1439.  
  1440. void __RPC_STUB ICreateTypeInfo_SetVarDocString_Stub(
  1441.     IRpcStubBuffer *This,
  1442.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1443.     PRPC_MESSAGE _pRpcMessage,
  1444.     DWORD *_pdwStubPhase);
  1445.  
  1446.  
  1447. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetFuncHelpContext_Proxy( 
  1448.     ICreateTypeInfo __RPC_FAR * This,
  1449.     /* [in] */ UINT index,
  1450.     /* [in] */ DWORD dwHelpContext);
  1451.  
  1452.  
  1453. void __RPC_STUB ICreateTypeInfo_SetFuncHelpContext_Stub(
  1454.     IRpcStubBuffer *This,
  1455.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1456.     PRPC_MESSAGE _pRpcMessage,
  1457.     DWORD *_pdwStubPhase);
  1458.  
  1459.  
  1460. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetVarHelpContext_Proxy( 
  1461.     ICreateTypeInfo __RPC_FAR * This,
  1462.     /* [in] */ UINT index,
  1463.     /* [in] */ DWORD dwHelpContext);
  1464.  
  1465.  
  1466. void __RPC_STUB ICreateTypeInfo_SetVarHelpContext_Stub(
  1467.     IRpcStubBuffer *This,
  1468.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1469.     PRPC_MESSAGE _pRpcMessage,
  1470.     DWORD *_pdwStubPhase);
  1471.  
  1472.  
  1473. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetMops_Proxy( 
  1474.     ICreateTypeInfo __RPC_FAR * This,
  1475.     /* [in] */ UINT index,
  1476.     /* [in] */ BSTR bstrMops);
  1477.  
  1478.  
  1479. void __RPC_STUB ICreateTypeInfo_SetMops_Stub(
  1480.     IRpcStubBuffer *This,
  1481.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1482.     PRPC_MESSAGE _pRpcMessage,
  1483.     DWORD *_pdwStubPhase);
  1484.  
  1485.  
  1486. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_SetTypeIdldesc_Proxy( 
  1487.     ICreateTypeInfo __RPC_FAR * This,
  1488.     /* [in] */ IDLDESC __RPC_FAR *pIdlDesc);
  1489.  
  1490.  
  1491. void __RPC_STUB ICreateTypeInfo_SetTypeIdldesc_Stub(
  1492.     IRpcStubBuffer *This,
  1493.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1494.     PRPC_MESSAGE _pRpcMessage,
  1495.     DWORD *_pdwStubPhase);
  1496.  
  1497.  
  1498. HRESULT STDMETHODCALLTYPE ICreateTypeInfo_LayOut_Proxy( 
  1499.     ICreateTypeInfo __RPC_FAR * This);
  1500.  
  1501.  
  1502. void __RPC_STUB ICreateTypeInfo_LayOut_Stub(
  1503.     IRpcStubBuffer *This,
  1504.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1505.     PRPC_MESSAGE _pRpcMessage,
  1506.     DWORD *_pdwStubPhase);
  1507.  
  1508.  
  1509.  
  1510. #endif     /* __ICreateTypeInfo_INTERFACE_DEFINED__ */
  1511.  
  1512.  
  1513. #ifndef __ICreateTypeInfo2_INTERFACE_DEFINED__
  1514. #define __ICreateTypeInfo2_INTERFACE_DEFINED__
  1515.  
  1516. /* interface ICreateTypeInfo2 */
  1517. /* [local][unique][uuid][object] */ 
  1518.  
  1519. typedef /* [unique] */ ICreateTypeInfo2 __RPC_FAR *LPCREATETYPEINFO2;
  1520.  
  1521.  
  1522. EXTERN_C const IID IID_ICreateTypeInfo2;
  1523.  
  1524. #if defined(__cplusplus) && !defined(CINTERFACE)
  1525.     
  1526.     MIDL_INTERFACE("0002040E-0000-0000-C000-000000000046")
  1527.     ICreateTypeInfo2 : public ICreateTypeInfo
  1528.     {
  1529.     public:
  1530.         virtual HRESULT STDMETHODCALLTYPE DeleteFuncDesc( 
  1531.             /* [in] */ UINT index) = 0;
  1532.         
  1533.         virtual HRESULT STDMETHODCALLTYPE DeleteFuncDescByMemId( 
  1534.             /* [in] */ MEMBERID memid,
  1535.             /* [in] */ INVOKEKIND invKind) = 0;
  1536.         
  1537.         virtual HRESULT STDMETHODCALLTYPE DeleteVarDesc( 
  1538.             /* [in] */ UINT index) = 0;
  1539.         
  1540.         virtual HRESULT STDMETHODCALLTYPE DeleteVarDescByMemId( 
  1541.             /* [in] */ MEMBERID memid) = 0;
  1542.         
  1543.         virtual HRESULT STDMETHODCALLTYPE DeleteImplType( 
  1544.             /* [in] */ UINT index) = 0;
  1545.         
  1546.         virtual HRESULT STDMETHODCALLTYPE SetCustData( 
  1547.             /* [in] */ REFGUID guid,
  1548.             /* [in] */ VARIANT __RPC_FAR *pVarVal) = 0;
  1549.         
  1550.         virtual HRESULT STDMETHODCALLTYPE SetFuncCustData( 
  1551.             /* [in] */ UINT index,
  1552.             /* [in] */ REFGUID guid,
  1553.             /* [in] */ VARIANT __RPC_FAR *pVarVal) = 0;
  1554.         
  1555.         virtual HRESULT STDMETHODCALLTYPE SetParamCustData( 
  1556.             /* [in] */ UINT indexFunc,
  1557.             /* [in] */ UINT indexParam,
  1558.             /* [in] */ REFGUID guid,
  1559.             /* [in] */ VARIANT __RPC_FAR *pVarVal) = 0;
  1560.         
  1561.         virtual HRESULT STDMETHODCALLTYPE SetVarCustData( 
  1562.             /* [in] */ UINT index,
  1563.             /* [in] */ REFGUID guid,
  1564.             /* [in] */ VARIANT __RPC_FAR *pVarVal) = 0;
  1565.         
  1566.         virtual HRESULT STDMETHODCALLTYPE SetImplTypeCustData( 
  1567.             /* [in] */ UINT index,
  1568.             /* [in] */ REFGUID guid,
  1569.             /* [in] */ VARIANT __RPC_FAR *pVarVal) = 0;
  1570.         
  1571.         virtual HRESULT STDMETHODCALLTYPE SetHelpStringContext( 
  1572.             /* [in] */ ULONG dwHelpStringContext) = 0;
  1573.         
  1574.         virtual HRESULT STDMETHODCALLTYPE SetFuncHelpStringContext( 
  1575.             /* [in] */ UINT index,
  1576.             /* [in] */ ULONG dwHelpStringContext) = 0;
  1577.         
  1578.         virtual HRESULT STDMETHODCALLTYPE SetVarHelpStringContext( 
  1579.             /* [in] */ UINT index,
  1580.             /* [in] */ ULONG dwHelpStringContext) = 0;
  1581.         
  1582.         virtual HRESULT STDMETHODCALLTYPE Invalidate( void) = 0;
  1583.         
  1584.         virtual HRESULT STDMETHODCALLTYPE SetName( 
  1585.             /* [in] */ LPOLESTR szName) = 0;
  1586.         
  1587.     };
  1588.     
  1589. #else     /* C style interface */
  1590.  
  1591.     typedef struct ICreateTypeInfo2Vtbl
  1592.     {
  1593.         BEGIN_INTERFACE
  1594.         
  1595.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1596.             ICreateTypeInfo2 __RPC_FAR * This,
  1597.             /* [in] */ REFIID riid,
  1598.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1599.         
  1600.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1601.             ICreateTypeInfo2 __RPC_FAR * This);
  1602.         
  1603.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1604.             ICreateTypeInfo2 __RPC_FAR * This);
  1605.         
  1606.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetGuid )( 
  1607.             ICreateTypeInfo2 __RPC_FAR * This,
  1608.             /* [in] */ REFGUID guid);
  1609.         
  1610.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTypeFlags )( 
  1611.             ICreateTypeInfo2 __RPC_FAR * This,
  1612.             /* [in] */ UINT uTypeFlags);
  1613.         
  1614.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDocString )( 
  1615.             ICreateTypeInfo2 __RPC_FAR * This,
  1616.             /* [in] */ LPOLESTR pStrDoc);
  1617.         
  1618.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelpContext )( 
  1619.             ICreateTypeInfo2 __RPC_FAR * This,
  1620.             /* [in] */ DWORD dwHelpContext);
  1621.         
  1622.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVersion )( 
  1623.             ICreateTypeInfo2 __RPC_FAR * This,
  1624.             /* [in] */ WORD wMajorVerNum,
  1625.             /* [in] */ WORD wMinorVerNum);
  1626.         
  1627.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddRefTypeInfo )( 
  1628.             ICreateTypeInfo2 __RPC_FAR * This,
  1629.             /* [in] */ ITypeInfo __RPC_FAR *pTInfo,
  1630.             /* [in] */ HREFTYPE __RPC_FAR *phRefType);
  1631.         
  1632.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddFuncDesc )( 
  1633.             ICreateTypeInfo2 __RPC_FAR * This,
  1634.             /* [in] */ UINT index,
  1635.             /* [in] */ FUNCDESC __RPC_FAR *pFuncDesc);
  1636.         
  1637.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddImplType )( 
  1638.             ICreateTypeInfo2 __RPC_FAR * This,
  1639.             /* [in] */ UINT index,
  1640.             /* [in] */ HREFTYPE hRefType);
  1641.         
  1642.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetImplTypeFlags )( 
  1643.             ICreateTypeInfo2 __RPC_FAR * This,
  1644.             /* [in] */ UINT index,
  1645.             /* [in] */ INT implTypeFlags);
  1646.         
  1647.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAlignment )( 
  1648.             ICreateTypeInfo2 __RPC_FAR * This,
  1649.             /* [in] */ WORD cbAlignment);
  1650.         
  1651.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSchema )( 
  1652.             ICreateTypeInfo2 __RPC_FAR * This,
  1653.             /* [in] */ LPOLESTR pStrSchema);
  1654.         
  1655.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddVarDesc )( 
  1656.             ICreateTypeInfo2 __RPC_FAR * This,
  1657.             /* [in] */ UINT index,
  1658.             /* [in] */ VARDESC __RPC_FAR *pVarDesc);
  1659.         
  1660.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFuncAndParamNames )( 
  1661.             ICreateTypeInfo2 __RPC_FAR * This,
  1662.             /* [in] */ UINT index,
  1663.             /* [in][size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1664.             /* [in] */ UINT cNames);
  1665.         
  1666.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVarName )( 
  1667.             ICreateTypeInfo2 __RPC_FAR * This,
  1668.             /* [in] */ UINT index,
  1669.             /* [in] */ LPOLESTR szName);
  1670.         
  1671.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTypeDescAlias )( 
  1672.             ICreateTypeInfo2 __RPC_FAR * This,
  1673.             /* [in] */ TYPEDESC __RPC_FAR *pTDescAlias);
  1674.         
  1675.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DefineFuncAsDllEntry )( 
  1676.             ICreateTypeInfo2 __RPC_FAR * This,
  1677.             /* [in] */ UINT index,
  1678.             /* [in] */ LPOLESTR szDllName,
  1679.             /* [in] */ LPOLESTR szProcName);
  1680.         
  1681.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFuncDocString )( 
  1682.             ICreateTypeInfo2 __RPC_FAR * This,
  1683.             /* [in] */ UINT index,
  1684.             /* [in] */ LPOLESTR szDocString);
  1685.         
  1686.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVarDocString )( 
  1687.             ICreateTypeInfo2 __RPC_FAR * This,
  1688.             /* [in] */ UINT index,
  1689.             /* [in] */ LPOLESTR szDocString);
  1690.         
  1691.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFuncHelpContext )( 
  1692.             ICreateTypeInfo2 __RPC_FAR * This,
  1693.             /* [in] */ UINT index,
  1694.             /* [in] */ DWORD dwHelpContext);
  1695.         
  1696.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVarHelpContext )( 
  1697.             ICreateTypeInfo2 __RPC_FAR * This,
  1698.             /* [in] */ UINT index,
  1699.             /* [in] */ DWORD dwHelpContext);
  1700.         
  1701.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMops )( 
  1702.             ICreateTypeInfo2 __RPC_FAR * This,
  1703.             /* [in] */ UINT index,
  1704.             /* [in] */ BSTR bstrMops);
  1705.         
  1706.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTypeIdldesc )( 
  1707.             ICreateTypeInfo2 __RPC_FAR * This,
  1708.             /* [in] */ IDLDESC __RPC_FAR *pIdlDesc);
  1709.         
  1710.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LayOut )( 
  1711.             ICreateTypeInfo2 __RPC_FAR * This);
  1712.         
  1713.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteFuncDesc )( 
  1714.             ICreateTypeInfo2 __RPC_FAR * This,
  1715.             /* [in] */ UINT index);
  1716.         
  1717.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteFuncDescByMemId )( 
  1718.             ICreateTypeInfo2 __RPC_FAR * This,
  1719.             /* [in] */ MEMBERID memid,
  1720.             /* [in] */ INVOKEKIND invKind);
  1721.         
  1722.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteVarDesc )( 
  1723.             ICreateTypeInfo2 __RPC_FAR * This,
  1724.             /* [in] */ UINT index);
  1725.         
  1726.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteVarDescByMemId )( 
  1727.             ICreateTypeInfo2 __RPC_FAR * This,
  1728.             /* [in] */ MEMBERID memid);
  1729.         
  1730.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteImplType )( 
  1731.             ICreateTypeInfo2 __RPC_FAR * This,
  1732.             /* [in] */ UINT index);
  1733.         
  1734.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCustData )( 
  1735.             ICreateTypeInfo2 __RPC_FAR * This,
  1736.             /* [in] */ REFGUID guid,
  1737.             /* [in] */ VARIANT __RPC_FAR *pVarVal);
  1738.         
  1739.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFuncCustData )( 
  1740.             ICreateTypeInfo2 __RPC_FAR * This,
  1741.             /* [in] */ UINT index,
  1742.             /* [in] */ REFGUID guid,
  1743.             /* [in] */ VARIANT __RPC_FAR *pVarVal);
  1744.         
  1745.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetParamCustData )( 
  1746.             ICreateTypeInfo2 __RPC_FAR * This,
  1747.             /* [in] */ UINT indexFunc,
  1748.             /* [in] */ UINT indexParam,
  1749.             /* [in] */ REFGUID guid,
  1750.             /* [in] */ VARIANT __RPC_FAR *pVarVal);
  1751.         
  1752.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVarCustData )( 
  1753.             ICreateTypeInfo2 __RPC_FAR * This,
  1754.             /* [in] */ UINT index,
  1755.             /* [in] */ REFGUID guid,
  1756.             /* [in] */ VARIANT __RPC_FAR *pVarVal);
  1757.         
  1758.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetImplTypeCustData )( 
  1759.             ICreateTypeInfo2 __RPC_FAR * This,
  1760.             /* [in] */ UINT index,
  1761.             /* [in] */ REFGUID guid,
  1762.             /* [in] */ VARIANT __RPC_FAR *pVarVal);
  1763.         
  1764.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelpStringContext )( 
  1765.             ICreateTypeInfo2 __RPC_FAR * This,
  1766.             /* [in] */ ULONG dwHelpStringContext);
  1767.         
  1768.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFuncHelpStringContext )( 
  1769.             ICreateTypeInfo2 __RPC_FAR * This,
  1770.             /* [in] */ UINT index,
  1771.             /* [in] */ ULONG dwHelpStringContext);
  1772.         
  1773.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVarHelpStringContext )( 
  1774.             ICreateTypeInfo2 __RPC_FAR * This,
  1775.             /* [in] */ UINT index,
  1776.             /* [in] */ ULONG dwHelpStringContext);
  1777.         
  1778.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invalidate )( 
  1779.             ICreateTypeInfo2 __RPC_FAR * This);
  1780.         
  1781.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetName )( 
  1782.             ICreateTypeInfo2 __RPC_FAR * This,
  1783.             /* [in] */ LPOLESTR szName);
  1784.         
  1785.         END_INTERFACE
  1786.     } ICreateTypeInfo2Vtbl;
  1787.  
  1788.     interface ICreateTypeInfo2
  1789.     {
  1790.         CONST_VTBL struct ICreateTypeInfo2Vtbl __RPC_FAR *lpVtbl;
  1791.     };
  1792.  
  1793.     
  1794.  
  1795. #ifdef COBJMACROS
  1796.  
  1797.  
  1798. #define ICreateTypeInfo2_QueryInterface(This,riid,ppvObject)    \
  1799.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1800.  
  1801. #define ICreateTypeInfo2_AddRef(This)    \
  1802.     (This)->lpVtbl -> AddRef(This)
  1803.  
  1804. #define ICreateTypeInfo2_Release(This)    \
  1805.     (This)->lpVtbl -> Release(This)
  1806.  
  1807.  
  1808. #define ICreateTypeInfo2_SetGuid(This,guid)    \
  1809.     (This)->lpVtbl -> SetGuid(This,guid)
  1810.  
  1811. #define ICreateTypeInfo2_SetTypeFlags(This,uTypeFlags)    \
  1812.     (This)->lpVtbl -> SetTypeFlags(This,uTypeFlags)
  1813.  
  1814. #define ICreateTypeInfo2_SetDocString(This,pStrDoc)    \
  1815.     (This)->lpVtbl -> SetDocString(This,pStrDoc)
  1816.  
  1817. #define ICreateTypeInfo2_SetHelpContext(This,dwHelpContext)    \
  1818.     (This)->lpVtbl -> SetHelpContext(This,dwHelpContext)
  1819.  
  1820. #define ICreateTypeInfo2_SetVersion(This,wMajorVerNum,wMinorVerNum)    \
  1821.     (This)->lpVtbl -> SetVersion(This,wMajorVerNum,wMinorVerNum)
  1822.  
  1823. #define ICreateTypeInfo2_AddRefTypeInfo(This,pTInfo,phRefType)    \
  1824.     (This)->lpVtbl -> AddRefTypeInfo(This,pTInfo,phRefType)
  1825.  
  1826. #define ICreateTypeInfo2_AddFuncDesc(This,index,pFuncDesc)    \
  1827.     (This)->lpVtbl -> AddFuncDesc(This,index,pFuncDesc)
  1828.  
  1829. #define ICreateTypeInfo2_AddImplType(This,index,hRefType)    \
  1830.     (This)->lpVtbl -> AddImplType(This,index,hRefType)
  1831.  
  1832. #define ICreateTypeInfo2_SetImplTypeFlags(This,index,implTypeFlags)    \
  1833.     (This)->lpVtbl -> SetImplTypeFlags(This,index,implTypeFlags)
  1834.  
  1835. #define ICreateTypeInfo2_SetAlignment(This,cbAlignment)    \
  1836.     (This)->lpVtbl -> SetAlignment(This,cbAlignment)
  1837.  
  1838. #define ICreateTypeInfo2_SetSchema(This,pStrSchema)    \
  1839.     (This)->lpVtbl -> SetSchema(This,pStrSchema)
  1840.  
  1841. #define ICreateTypeInfo2_AddVarDesc(This,index,pVarDesc)    \
  1842.     (This)->lpVtbl -> AddVarDesc(This,index,pVarDesc)
  1843.  
  1844. #define ICreateTypeInfo2_SetFuncAndParamNames(This,index,rgszNames,cNames)    \
  1845.     (This)->lpVtbl -> SetFuncAndParamNames(This,index,rgszNames,cNames)
  1846.  
  1847. #define ICreateTypeInfo2_SetVarName(This,index,szName)    \
  1848.     (This)->lpVtbl -> SetVarName(This,index,szName)
  1849.  
  1850. #define ICreateTypeInfo2_SetTypeDescAlias(This,pTDescAlias)    \
  1851.     (This)->lpVtbl -> SetTypeDescAlias(This,pTDescAlias)
  1852.  
  1853. #define ICreateTypeInfo2_DefineFuncAsDllEntry(This,index,szDllName,szProcName)    \
  1854.     (This)->lpVtbl -> DefineFuncAsDllEntry(This,index,szDllName,szProcName)
  1855.  
  1856. #define ICreateTypeInfo2_SetFuncDocString(This,index,szDocString)    \
  1857.     (This)->lpVtbl -> SetFuncDocString(This,index,szDocString)
  1858.  
  1859. #define ICreateTypeInfo2_SetVarDocString(This,index,szDocString)    \
  1860.     (This)->lpVtbl -> SetVarDocString(This,index,szDocString)
  1861.  
  1862. #define ICreateTypeInfo2_SetFuncHelpContext(This,index,dwHelpContext)    \
  1863.     (This)->lpVtbl -> SetFuncHelpContext(This,index,dwHelpContext)
  1864.  
  1865. #define ICreateTypeInfo2_SetVarHelpContext(This,index,dwHelpContext)    \
  1866.     (This)->lpVtbl -> SetVarHelpContext(This,index,dwHelpContext)
  1867.  
  1868. #define ICreateTypeInfo2_SetMops(This,index,bstrMops)    \
  1869.     (This)->lpVtbl -> SetMops(This,index,bstrMops)
  1870.  
  1871. #define ICreateTypeInfo2_SetTypeIdldesc(This,pIdlDesc)    \
  1872.     (This)->lpVtbl -> SetTypeIdldesc(This,pIdlDesc)
  1873.  
  1874. #define ICreateTypeInfo2_LayOut(This)    \
  1875.     (This)->lpVtbl -> LayOut(This)
  1876.  
  1877.  
  1878. #define ICreateTypeInfo2_DeleteFuncDesc(This,index)    \
  1879.     (This)->lpVtbl -> DeleteFuncDesc(This,index)
  1880.  
  1881. #define ICreateTypeInfo2_DeleteFuncDescByMemId(This,memid,invKind)    \
  1882.     (This)->lpVtbl -> DeleteFuncDescByMemId(This,memid,invKind)
  1883.  
  1884. #define ICreateTypeInfo2_DeleteVarDesc(This,index)    \
  1885.     (This)->lpVtbl -> DeleteVarDesc(This,index)
  1886.  
  1887. #define ICreateTypeInfo2_DeleteVarDescByMemId(This,memid)    \
  1888.     (This)->lpVtbl -> DeleteVarDescByMemId(This,memid)
  1889.  
  1890. #define ICreateTypeInfo2_DeleteImplType(This,index)    \
  1891.     (This)->lpVtbl -> DeleteImplType(This,index)
  1892.  
  1893. #define ICreateTypeInfo2_SetCustData(This,guid,pVarVal)    \
  1894.     (This)->lpVtbl -> SetCustData(This,guid,pVarVal)
  1895.  
  1896. #define ICreateTypeInfo2_SetFuncCustData(This,index,guid,pVarVal)    \
  1897.     (This)->lpVtbl -> SetFuncCustData(This,index,guid,pVarVal)
  1898.  
  1899. #define ICreateTypeInfo2_SetParamCustData(This,indexFunc,indexParam,guid,pVarVal)    \
  1900.     (This)->lpVtbl -> SetParamCustData(This,indexFunc,indexParam,guid,pVarVal)
  1901.  
  1902. #define ICreateTypeInfo2_SetVarCustData(This,index,guid,pVarVal)    \
  1903.     (This)->lpVtbl -> SetVarCustData(This,index,guid,pVarVal)
  1904.  
  1905. #define ICreateTypeInfo2_SetImplTypeCustData(This,index,guid,pVarVal)    \
  1906.     (This)->lpVtbl -> SetImplTypeCustData(This,index,guid,pVarVal)
  1907.  
  1908. #define ICreateTypeInfo2_SetHelpStringContext(This,dwHelpStringContext)    \
  1909.     (This)->lpVtbl -> SetHelpStringContext(This,dwHelpStringContext)
  1910.  
  1911. #define ICreateTypeInfo2_SetFuncHelpStringContext(This,index,dwHelpStringContext)    \
  1912.     (This)->lpVtbl -> SetFuncHelpStringContext(This,index,dwHelpStringContext)
  1913.  
  1914. #define ICreateTypeInfo2_SetVarHelpStringContext(This,index,dwHelpStringContext)    \
  1915.     (This)->lpVtbl -> SetVarHelpStringContext(This,index,dwHelpStringContext)
  1916.  
  1917. #define ICreateTypeInfo2_Invalidate(This)    \
  1918.     (This)->lpVtbl -> Invalidate(This)
  1919.  
  1920. #define ICreateTypeInfo2_SetName(This,szName)    \
  1921.     (This)->lpVtbl -> SetName(This,szName)
  1922.  
  1923. #endif /* COBJMACROS */
  1924.  
  1925.  
  1926. #endif     /* C style interface */
  1927.  
  1928.  
  1929.  
  1930. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_DeleteFuncDesc_Proxy( 
  1931.     ICreateTypeInfo2 __RPC_FAR * This,
  1932.     /* [in] */ UINT index);
  1933.  
  1934.  
  1935. void __RPC_STUB ICreateTypeInfo2_DeleteFuncDesc_Stub(
  1936.     IRpcStubBuffer *This,
  1937.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1938.     PRPC_MESSAGE _pRpcMessage,
  1939.     DWORD *_pdwStubPhase);
  1940.  
  1941.  
  1942. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_DeleteFuncDescByMemId_Proxy( 
  1943.     ICreateTypeInfo2 __RPC_FAR * This,
  1944.     /* [in] */ MEMBERID memid,
  1945.     /* [in] */ INVOKEKIND invKind);
  1946.  
  1947.  
  1948. void __RPC_STUB ICreateTypeInfo2_DeleteFuncDescByMemId_Stub(
  1949.     IRpcStubBuffer *This,
  1950.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1951.     PRPC_MESSAGE _pRpcMessage,
  1952.     DWORD *_pdwStubPhase);
  1953.  
  1954.  
  1955. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_DeleteVarDesc_Proxy( 
  1956.     ICreateTypeInfo2 __RPC_FAR * This,
  1957.     /* [in] */ UINT index);
  1958.  
  1959.  
  1960. void __RPC_STUB ICreateTypeInfo2_DeleteVarDesc_Stub(
  1961.     IRpcStubBuffer *This,
  1962.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1963.     PRPC_MESSAGE _pRpcMessage,
  1964.     DWORD *_pdwStubPhase);
  1965.  
  1966.  
  1967. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_DeleteVarDescByMemId_Proxy( 
  1968.     ICreateTypeInfo2 __RPC_FAR * This,
  1969.     /* [in] */ MEMBERID memid);
  1970.  
  1971.  
  1972. void __RPC_STUB ICreateTypeInfo2_DeleteVarDescByMemId_Stub(
  1973.     IRpcStubBuffer *This,
  1974.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1975.     PRPC_MESSAGE _pRpcMessage,
  1976.     DWORD *_pdwStubPhase);
  1977.  
  1978.  
  1979. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_DeleteImplType_Proxy( 
  1980.     ICreateTypeInfo2 __RPC_FAR * This,
  1981.     /* [in] */ UINT index);
  1982.  
  1983.  
  1984. void __RPC_STUB ICreateTypeInfo2_DeleteImplType_Stub(
  1985.     IRpcStubBuffer *This,
  1986.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1987.     PRPC_MESSAGE _pRpcMessage,
  1988.     DWORD *_pdwStubPhase);
  1989.  
  1990.  
  1991. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetCustData_Proxy( 
  1992.     ICreateTypeInfo2 __RPC_FAR * This,
  1993.     /* [in] */ REFGUID guid,
  1994.     /* [in] */ VARIANT __RPC_FAR *pVarVal);
  1995.  
  1996.  
  1997. void __RPC_STUB ICreateTypeInfo2_SetCustData_Stub(
  1998.     IRpcStubBuffer *This,
  1999.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2000.     PRPC_MESSAGE _pRpcMessage,
  2001.     DWORD *_pdwStubPhase);
  2002.  
  2003.  
  2004. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetFuncCustData_Proxy( 
  2005.     ICreateTypeInfo2 __RPC_FAR * This,
  2006.     /* [in] */ UINT index,
  2007.     /* [in] */ REFGUID guid,
  2008.     /* [in] */ VARIANT __RPC_FAR *pVarVal);
  2009.  
  2010.  
  2011. void __RPC_STUB ICreateTypeInfo2_SetFuncCustData_Stub(
  2012.     IRpcStubBuffer *This,
  2013.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2014.     PRPC_MESSAGE _pRpcMessage,
  2015.     DWORD *_pdwStubPhase);
  2016.  
  2017.  
  2018. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetParamCustData_Proxy( 
  2019.     ICreateTypeInfo2 __RPC_FAR * This,
  2020.     /* [in] */ UINT indexFunc,
  2021.     /* [in] */ UINT indexParam,
  2022.     /* [in] */ REFGUID guid,
  2023.     /* [in] */ VARIANT __RPC_FAR *pVarVal);
  2024.  
  2025.  
  2026. void __RPC_STUB ICreateTypeInfo2_SetParamCustData_Stub(
  2027.     IRpcStubBuffer *This,
  2028.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2029.     PRPC_MESSAGE _pRpcMessage,
  2030.     DWORD *_pdwStubPhase);
  2031.  
  2032.  
  2033. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetVarCustData_Proxy( 
  2034.     ICreateTypeInfo2 __RPC_FAR * This,
  2035.     /* [in] */ UINT index,
  2036.     /* [in] */ REFGUID guid,
  2037.     /* [in] */ VARIANT __RPC_FAR *pVarVal);
  2038.  
  2039.  
  2040. void __RPC_STUB ICreateTypeInfo2_SetVarCustData_Stub(
  2041.     IRpcStubBuffer *This,
  2042.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2043.     PRPC_MESSAGE _pRpcMessage,
  2044.     DWORD *_pdwStubPhase);
  2045.  
  2046.  
  2047. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetImplTypeCustData_Proxy( 
  2048.     ICreateTypeInfo2 __RPC_FAR * This,
  2049.     /* [in] */ UINT index,
  2050.     /* [in] */ REFGUID guid,
  2051.     /* [in] */ VARIANT __RPC_FAR *pVarVal);
  2052.  
  2053.  
  2054. void __RPC_STUB ICreateTypeInfo2_SetImplTypeCustData_Stub(
  2055.     IRpcStubBuffer *This,
  2056.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2057.     PRPC_MESSAGE _pRpcMessage,
  2058.     DWORD *_pdwStubPhase);
  2059.  
  2060.  
  2061. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetHelpStringContext_Proxy( 
  2062.     ICreateTypeInfo2 __RPC_FAR * This,
  2063.     /* [in] */ ULONG dwHelpStringContext);
  2064.  
  2065.  
  2066. void __RPC_STUB ICreateTypeInfo2_SetHelpStringContext_Stub(
  2067.     IRpcStubBuffer *This,
  2068.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2069.     PRPC_MESSAGE _pRpcMessage,
  2070.     DWORD *_pdwStubPhase);
  2071.  
  2072.  
  2073. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetFuncHelpStringContext_Proxy( 
  2074.     ICreateTypeInfo2 __RPC_FAR * This,
  2075.     /* [in] */ UINT index,
  2076.     /* [in] */ ULONG dwHelpStringContext);
  2077.  
  2078.  
  2079. void __RPC_STUB ICreateTypeInfo2_SetFuncHelpStringContext_Stub(
  2080.     IRpcStubBuffer *This,
  2081.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2082.     PRPC_MESSAGE _pRpcMessage,
  2083.     DWORD *_pdwStubPhase);
  2084.  
  2085.  
  2086. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetVarHelpStringContext_Proxy( 
  2087.     ICreateTypeInfo2 __RPC_FAR * This,
  2088.     /* [in] */ UINT index,
  2089.     /* [in] */ ULONG dwHelpStringContext);
  2090.  
  2091.  
  2092. void __RPC_STUB ICreateTypeInfo2_SetVarHelpStringContext_Stub(
  2093.     IRpcStubBuffer *This,
  2094.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2095.     PRPC_MESSAGE _pRpcMessage,
  2096.     DWORD *_pdwStubPhase);
  2097.  
  2098.  
  2099. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_Invalidate_Proxy( 
  2100.     ICreateTypeInfo2 __RPC_FAR * This);
  2101.  
  2102.  
  2103. void __RPC_STUB ICreateTypeInfo2_Invalidate_Stub(
  2104.     IRpcStubBuffer *This,
  2105.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2106.     PRPC_MESSAGE _pRpcMessage,
  2107.     DWORD *_pdwStubPhase);
  2108.  
  2109.  
  2110. HRESULT STDMETHODCALLTYPE ICreateTypeInfo2_SetName_Proxy( 
  2111.     ICreateTypeInfo2 __RPC_FAR * This,
  2112.     /* [in] */ LPOLESTR szName);
  2113.  
  2114.  
  2115. void __RPC_STUB ICreateTypeInfo2_SetName_Stub(
  2116.     IRpcStubBuffer *This,
  2117.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2118.     PRPC_MESSAGE _pRpcMessage,
  2119.     DWORD *_pdwStubPhase);
  2120.  
  2121.  
  2122.  
  2123. #endif     /* __ICreateTypeInfo2_INTERFACE_DEFINED__ */
  2124.  
  2125.  
  2126. #ifndef __ICreateTypeLib_INTERFACE_DEFINED__
  2127. #define __ICreateTypeLib_INTERFACE_DEFINED__
  2128.  
  2129. /* interface ICreateTypeLib */
  2130. /* [local][unique][uuid][object] */ 
  2131.  
  2132. typedef /* [unique] */ ICreateTypeLib __RPC_FAR *LPCREATETYPELIB;
  2133.  
  2134.  
  2135. EXTERN_C const IID IID_ICreateTypeLib;
  2136.  
  2137. #if defined(__cplusplus) && !defined(CINTERFACE)
  2138.     
  2139.     MIDL_INTERFACE("00020406-0000-0000-C000-000000000046")
  2140.     ICreateTypeLib : public IUnknown
  2141.     {
  2142.     public:
  2143.         virtual HRESULT STDMETHODCALLTYPE CreateTypeInfo( 
  2144.             /* [in] */ LPOLESTR szName,
  2145.             /* [in] */ TYPEKIND tkind,
  2146.             /* [out] */ ICreateTypeInfo __RPC_FAR *__RPC_FAR *ppCTInfo) = 0;
  2147.         
  2148.         virtual HRESULT STDMETHODCALLTYPE SetName( 
  2149.             /* [in] */ LPOLESTR szName) = 0;
  2150.         
  2151.         virtual HRESULT STDMETHODCALLTYPE SetVersion( 
  2152.             /* [in] */ WORD wMajorVerNum,
  2153.             /* [in] */ WORD wMinorVerNum) = 0;
  2154.         
  2155.         virtual HRESULT STDMETHODCALLTYPE SetGuid( 
  2156.             /* [in] */ REFGUID guid) = 0;
  2157.         
  2158.         virtual HRESULT STDMETHODCALLTYPE SetDocString( 
  2159.             /* [in] */ LPOLESTR szDoc) = 0;
  2160.         
  2161.         virtual HRESULT STDMETHODCALLTYPE SetHelpFileName( 
  2162.             /* [in] */ LPOLESTR szHelpFileName) = 0;
  2163.         
  2164.         virtual HRESULT STDMETHODCALLTYPE SetHelpContext( 
  2165.             /* [in] */ DWORD dwHelpContext) = 0;
  2166.         
  2167.         virtual HRESULT STDMETHODCALLTYPE SetLcid( 
  2168.             /* [in] */ LCID lcid) = 0;
  2169.         
  2170.         virtual HRESULT STDMETHODCALLTYPE SetLibFlags( 
  2171.             /* [in] */ UINT uLibFlags) = 0;
  2172.         
  2173.         virtual HRESULT STDMETHODCALLTYPE SaveAllChanges( void) = 0;
  2174.         
  2175.     };
  2176.     
  2177. #else     /* C style interface */
  2178.  
  2179.     typedef struct ICreateTypeLibVtbl
  2180.     {
  2181.         BEGIN_INTERFACE
  2182.         
  2183.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2184.             ICreateTypeLib __RPC_FAR * This,
  2185.             /* [in] */ REFIID riid,
  2186.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2187.         
  2188.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2189.             ICreateTypeLib __RPC_FAR * This);
  2190.         
  2191.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2192.             ICreateTypeLib __RPC_FAR * This);
  2193.         
  2194.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateTypeInfo )( 
  2195.             ICreateTypeLib __RPC_FAR * This,
  2196.             /* [in] */ LPOLESTR szName,
  2197.             /* [in] */ TYPEKIND tkind,
  2198.             /* [out] */ ICreateTypeInfo __RPC_FAR *__RPC_FAR *ppCTInfo);
  2199.         
  2200.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetName )( 
  2201.             ICreateTypeLib __RPC_FAR * This,
  2202.             /* [in] */ LPOLESTR szName);
  2203.         
  2204.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVersion )( 
  2205.             ICreateTypeLib __RPC_FAR * This,
  2206.             /* [in] */ WORD wMajorVerNum,
  2207.             /* [in] */ WORD wMinorVerNum);
  2208.         
  2209.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetGuid )( 
  2210.             ICreateTypeLib __RPC_FAR * This,
  2211.             /* [in] */ REFGUID guid);
  2212.         
  2213.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDocString )( 
  2214.             ICreateTypeLib __RPC_FAR * This,
  2215.             /* [in] */ LPOLESTR szDoc);
  2216.         
  2217.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelpFileName )( 
  2218.             ICreateTypeLib __RPC_FAR * This,
  2219.             /* [in] */ LPOLESTR szHelpFileName);
  2220.         
  2221.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelpContext )( 
  2222.             ICreateTypeLib __RPC_FAR * This,
  2223.             /* [in] */ DWORD dwHelpContext);
  2224.         
  2225.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLcid )( 
  2226.             ICreateTypeLib __RPC_FAR * This,
  2227.             /* [in] */ LCID lcid);
  2228.         
  2229.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLibFlags )( 
  2230.             ICreateTypeLib __RPC_FAR * This,
  2231.             /* [in] */ UINT uLibFlags);
  2232.         
  2233.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveAllChanges )( 
  2234.             ICreateTypeLib __RPC_FAR * This);
  2235.         
  2236.         END_INTERFACE
  2237.     } ICreateTypeLibVtbl;
  2238.  
  2239.     interface ICreateTypeLib
  2240.     {
  2241.         CONST_VTBL struct ICreateTypeLibVtbl __RPC_FAR *lpVtbl;
  2242.     };
  2243.  
  2244.     
  2245.  
  2246. #ifdef COBJMACROS
  2247.  
  2248.  
  2249. #define ICreateTypeLib_QueryInterface(This,riid,ppvObject)    \
  2250.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2251.  
  2252. #define ICreateTypeLib_AddRef(This)    \
  2253.     (This)->lpVtbl -> AddRef(This)
  2254.  
  2255. #define ICreateTypeLib_Release(This)    \
  2256.     (This)->lpVtbl -> Release(This)
  2257.  
  2258.  
  2259. #define ICreateTypeLib_CreateTypeInfo(This,szName,tkind,ppCTInfo)    \
  2260.     (This)->lpVtbl -> CreateTypeInfo(This,szName,tkind,ppCTInfo)
  2261.  
  2262. #define ICreateTypeLib_SetName(This,szName)    \
  2263.     (This)->lpVtbl -> SetName(This,szName)
  2264.  
  2265. #define ICreateTypeLib_SetVersion(This,wMajorVerNum,wMinorVerNum)    \
  2266.     (This)->lpVtbl -> SetVersion(This,wMajorVerNum,wMinorVerNum)
  2267.  
  2268. #define ICreateTypeLib_SetGuid(This,guid)    \
  2269.     (This)->lpVtbl -> SetGuid(This,guid)
  2270.  
  2271. #define ICreateTypeLib_SetDocString(This,szDoc)    \
  2272.     (This)->lpVtbl -> SetDocString(This,szDoc)
  2273.  
  2274. #define ICreateTypeLib_SetHelpFileName(This,szHelpFileName)    \
  2275.     (This)->lpVtbl -> SetHelpFileName(This,szHelpFileName)
  2276.  
  2277. #define ICreateTypeLib_SetHelpContext(This,dwHelpContext)    \
  2278.     (This)->lpVtbl -> SetHelpContext(This,dwHelpContext)
  2279.  
  2280. #define ICreateTypeLib_SetLcid(This,lcid)    \
  2281.     (This)->lpVtbl -> SetLcid(This,lcid)
  2282.  
  2283. #define ICreateTypeLib_SetLibFlags(This,uLibFlags)    \
  2284.     (This)->lpVtbl -> SetLibFlags(This,uLibFlags)
  2285.  
  2286. #define ICreateTypeLib_SaveAllChanges(This)    \
  2287.     (This)->lpVtbl -> SaveAllChanges(This)
  2288.  
  2289. #endif /* COBJMACROS */
  2290.  
  2291.  
  2292. #endif     /* C style interface */
  2293.  
  2294.  
  2295.  
  2296. HRESULT STDMETHODCALLTYPE ICreateTypeLib_CreateTypeInfo_Proxy( 
  2297.     ICreateTypeLib __RPC_FAR * This,
  2298.     /* [in] */ LPOLESTR szName,
  2299.     /* [in] */ TYPEKIND tkind,
  2300.     /* [out] */ ICreateTypeInfo __RPC_FAR *__RPC_FAR *ppCTInfo);
  2301.  
  2302.  
  2303. void __RPC_STUB ICreateTypeLib_CreateTypeInfo_Stub(
  2304.     IRpcStubBuffer *This,
  2305.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2306.     PRPC_MESSAGE _pRpcMessage,
  2307.     DWORD *_pdwStubPhase);
  2308.  
  2309.  
  2310. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetName_Proxy( 
  2311.     ICreateTypeLib __RPC_FAR * This,
  2312.     /* [in] */ LPOLESTR szName);
  2313.  
  2314.  
  2315. void __RPC_STUB ICreateTypeLib_SetName_Stub(
  2316.     IRpcStubBuffer *This,
  2317.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2318.     PRPC_MESSAGE _pRpcMessage,
  2319.     DWORD *_pdwStubPhase);
  2320.  
  2321.  
  2322. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetVersion_Proxy( 
  2323.     ICreateTypeLib __RPC_FAR * This,
  2324.     /* [in] */ WORD wMajorVerNum,
  2325.     /* [in] */ WORD wMinorVerNum);
  2326.  
  2327.  
  2328. void __RPC_STUB ICreateTypeLib_SetVersion_Stub(
  2329.     IRpcStubBuffer *This,
  2330.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2331.     PRPC_MESSAGE _pRpcMessage,
  2332.     DWORD *_pdwStubPhase);
  2333.  
  2334.  
  2335. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetGuid_Proxy( 
  2336.     ICreateTypeLib __RPC_FAR * This,
  2337.     /* [in] */ REFGUID guid);
  2338.  
  2339.  
  2340. void __RPC_STUB ICreateTypeLib_SetGuid_Stub(
  2341.     IRpcStubBuffer *This,
  2342.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2343.     PRPC_MESSAGE _pRpcMessage,
  2344.     DWORD *_pdwStubPhase);
  2345.  
  2346.  
  2347. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetDocString_Proxy( 
  2348.     ICreateTypeLib __RPC_FAR * This,
  2349.     /* [in] */ LPOLESTR szDoc);
  2350.  
  2351.  
  2352. void __RPC_STUB ICreateTypeLib_SetDocString_Stub(
  2353.     IRpcStubBuffer *This,
  2354.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2355.     PRPC_MESSAGE _pRpcMessage,
  2356.     DWORD *_pdwStubPhase);
  2357.  
  2358.  
  2359. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetHelpFileName_Proxy( 
  2360.     ICreateTypeLib __RPC_FAR * This,
  2361.     /* [in] */ LPOLESTR szHelpFileName);
  2362.  
  2363.  
  2364. void __RPC_STUB ICreateTypeLib_SetHelpFileName_Stub(
  2365.     IRpcStubBuffer *This,
  2366.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2367.     PRPC_MESSAGE _pRpcMessage,
  2368.     DWORD *_pdwStubPhase);
  2369.  
  2370.  
  2371. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetHelpContext_Proxy( 
  2372.     ICreateTypeLib __RPC_FAR * This,
  2373.     /* [in] */ DWORD dwHelpContext);
  2374.  
  2375.  
  2376. void __RPC_STUB ICreateTypeLib_SetHelpContext_Stub(
  2377.     IRpcStubBuffer *This,
  2378.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2379.     PRPC_MESSAGE _pRpcMessage,
  2380.     DWORD *_pdwStubPhase);
  2381.  
  2382.  
  2383. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetLcid_Proxy( 
  2384.     ICreateTypeLib __RPC_FAR * This,
  2385.     /* [in] */ LCID lcid);
  2386.  
  2387.  
  2388. void __RPC_STUB ICreateTypeLib_SetLcid_Stub(
  2389.     IRpcStubBuffer *This,
  2390.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2391.     PRPC_MESSAGE _pRpcMessage,
  2392.     DWORD *_pdwStubPhase);
  2393.  
  2394.  
  2395. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SetLibFlags_Proxy( 
  2396.     ICreateTypeLib __RPC_FAR * This,
  2397.     /* [in] */ UINT uLibFlags);
  2398.  
  2399.  
  2400. void __RPC_STUB ICreateTypeLib_SetLibFlags_Stub(
  2401.     IRpcStubBuffer *This,
  2402.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2403.     PRPC_MESSAGE _pRpcMessage,
  2404.     DWORD *_pdwStubPhase);
  2405.  
  2406.  
  2407. HRESULT STDMETHODCALLTYPE ICreateTypeLib_SaveAllChanges_Proxy( 
  2408.     ICreateTypeLib __RPC_FAR * This);
  2409.  
  2410.  
  2411. void __RPC_STUB ICreateTypeLib_SaveAllChanges_Stub(
  2412.     IRpcStubBuffer *This,
  2413.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2414.     PRPC_MESSAGE _pRpcMessage,
  2415.     DWORD *_pdwStubPhase);
  2416.  
  2417.  
  2418.  
  2419. #endif     /* __ICreateTypeLib_INTERFACE_DEFINED__ */
  2420.  
  2421.  
  2422. #ifndef __ICreateTypeLib2_INTERFACE_DEFINED__
  2423. #define __ICreateTypeLib2_INTERFACE_DEFINED__
  2424.  
  2425. /* interface ICreateTypeLib2 */
  2426. /* [local][unique][uuid][object] */ 
  2427.  
  2428. typedef /* [unique] */ ICreateTypeLib2 __RPC_FAR *LPCREATETYPELIB2;
  2429.  
  2430.  
  2431. EXTERN_C const IID IID_ICreateTypeLib2;
  2432.  
  2433. #if defined(__cplusplus) && !defined(CINTERFACE)
  2434.     
  2435.     MIDL_INTERFACE("0002040F-0000-0000-C000-000000000046")
  2436.     ICreateTypeLib2 : public ICreateTypeLib
  2437.     {
  2438.     public:
  2439.         virtual HRESULT STDMETHODCALLTYPE DeleteTypeInfo( 
  2440.             /* [in] */ LPOLESTR szName) = 0;
  2441.         
  2442.         virtual HRESULT STDMETHODCALLTYPE SetCustData( 
  2443.             /* [in] */ REFGUID guid,
  2444.             /* [in] */ VARIANT __RPC_FAR *pVarVal) = 0;
  2445.         
  2446.         virtual HRESULT STDMETHODCALLTYPE SetHelpStringContext( 
  2447.             /* [in] */ ULONG dwHelpStringContext) = 0;
  2448.         
  2449.         virtual HRESULT STDMETHODCALLTYPE SetHelpStringDll( 
  2450.             /* [in] */ LPOLESTR szFileName) = 0;
  2451.         
  2452.     };
  2453.     
  2454. #else     /* C style interface */
  2455.  
  2456.     typedef struct ICreateTypeLib2Vtbl
  2457.     {
  2458.         BEGIN_INTERFACE
  2459.         
  2460.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2461.             ICreateTypeLib2 __RPC_FAR * This,
  2462.             /* [in] */ REFIID riid,
  2463.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2464.         
  2465.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2466.             ICreateTypeLib2 __RPC_FAR * This);
  2467.         
  2468.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2469.             ICreateTypeLib2 __RPC_FAR * This);
  2470.         
  2471.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateTypeInfo )( 
  2472.             ICreateTypeLib2 __RPC_FAR * This,
  2473.             /* [in] */ LPOLESTR szName,
  2474.             /* [in] */ TYPEKIND tkind,
  2475.             /* [out] */ ICreateTypeInfo __RPC_FAR *__RPC_FAR *ppCTInfo);
  2476.         
  2477.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetName )( 
  2478.             ICreateTypeLib2 __RPC_FAR * This,
  2479.             /* [in] */ LPOLESTR szName);
  2480.         
  2481.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetVersion )( 
  2482.             ICreateTypeLib2 __RPC_FAR * This,
  2483.             /* [in] */ WORD wMajorVerNum,
  2484.             /* [in] */ WORD wMinorVerNum);
  2485.         
  2486.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetGuid )( 
  2487.             ICreateTypeLib2 __RPC_FAR * This,
  2488.             /* [in] */ REFGUID guid);
  2489.         
  2490.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDocString )( 
  2491.             ICreateTypeLib2 __RPC_FAR * This,
  2492.             /* [in] */ LPOLESTR szDoc);
  2493.         
  2494.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelpFileName )( 
  2495.             ICreateTypeLib2 __RPC_FAR * This,
  2496.             /* [in] */ LPOLESTR szHelpFileName);
  2497.         
  2498.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelpContext )( 
  2499.             ICreateTypeLib2 __RPC_FAR * This,
  2500.             /* [in] */ DWORD dwHelpContext);
  2501.         
  2502.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLcid )( 
  2503.             ICreateTypeLib2 __RPC_FAR * This,
  2504.             /* [in] */ LCID lcid);
  2505.         
  2506.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLibFlags )( 
  2507.             ICreateTypeLib2 __RPC_FAR * This,
  2508.             /* [in] */ UINT uLibFlags);
  2509.         
  2510.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveAllChanges )( 
  2511.             ICreateTypeLib2 __RPC_FAR * This);
  2512.         
  2513.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteTypeInfo )( 
  2514.             ICreateTypeLib2 __RPC_FAR * This,
  2515.             /* [in] */ LPOLESTR szName);
  2516.         
  2517.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCustData )( 
  2518.             ICreateTypeLib2 __RPC_FAR * This,
  2519.             /* [in] */ REFGUID guid,
  2520.             /* [in] */ VARIANT __RPC_FAR *pVarVal);
  2521.         
  2522.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelpStringContext )( 
  2523.             ICreateTypeLib2 __RPC_FAR * This,
  2524.             /* [in] */ ULONG dwHelpStringContext);
  2525.         
  2526.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelpStringDll )( 
  2527.             ICreateTypeLib2 __RPC_FAR * This,
  2528.             /* [in] */ LPOLESTR szFileName);
  2529.         
  2530.         END_INTERFACE
  2531.     } ICreateTypeLib2Vtbl;
  2532.  
  2533.     interface ICreateTypeLib2
  2534.     {
  2535.         CONST_VTBL struct ICreateTypeLib2Vtbl __RPC_FAR *lpVtbl;
  2536.     };
  2537.  
  2538.     
  2539.  
  2540. #ifdef COBJMACROS
  2541.  
  2542.  
  2543. #define ICreateTypeLib2_QueryInterface(This,riid,ppvObject)    \
  2544.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2545.  
  2546. #define ICreateTypeLib2_AddRef(This)    \
  2547.     (This)->lpVtbl -> AddRef(This)
  2548.  
  2549. #define ICreateTypeLib2_Release(This)    \
  2550.     (This)->lpVtbl -> Release(This)
  2551.  
  2552.  
  2553. #define ICreateTypeLib2_CreateTypeInfo(This,szName,tkind,ppCTInfo)    \
  2554.     (This)->lpVtbl -> CreateTypeInfo(This,szName,tkind,ppCTInfo)
  2555.  
  2556. #define ICreateTypeLib2_SetName(This,szName)    \
  2557.     (This)->lpVtbl -> SetName(This,szName)
  2558.  
  2559. #define ICreateTypeLib2_SetVersion(This,wMajorVerNum,wMinorVerNum)    \
  2560.     (This)->lpVtbl -> SetVersion(This,wMajorVerNum,wMinorVerNum)
  2561.  
  2562. #define ICreateTypeLib2_SetGuid(This,guid)    \
  2563.     (This)->lpVtbl -> SetGuid(This,guid)
  2564.  
  2565. #define ICreateTypeLib2_SetDocString(This,szDoc)    \
  2566.     (This)->lpVtbl -> SetDocString(This,szDoc)
  2567.  
  2568. #define ICreateTypeLib2_SetHelpFileName(This,szHelpFileName)    \
  2569.     (This)->lpVtbl -> SetHelpFileName(This,szHelpFileName)
  2570.  
  2571. #define ICreateTypeLib2_SetHelpContext(This,dwHelpContext)    \
  2572.     (This)->lpVtbl -> SetHelpContext(This,dwHelpContext)
  2573.  
  2574. #define ICreateTypeLib2_SetLcid(This,lcid)    \
  2575.     (This)->lpVtbl -> SetLcid(This,lcid)
  2576.  
  2577. #define ICreateTypeLib2_SetLibFlags(This,uLibFlags)    \
  2578.     (This)->lpVtbl -> SetLibFlags(This,uLibFlags)
  2579.  
  2580. #define ICreateTypeLib2_SaveAllChanges(This)    \
  2581.     (This)->lpVtbl -> SaveAllChanges(This)
  2582.  
  2583.  
  2584. #define ICreateTypeLib2_DeleteTypeInfo(This,szName)    \
  2585.     (This)->lpVtbl -> DeleteTypeInfo(This,szName)
  2586.  
  2587. #define ICreateTypeLib2_SetCustData(This,guid,pVarVal)    \
  2588.     (This)->lpVtbl -> SetCustData(This,guid,pVarVal)
  2589.  
  2590. #define ICreateTypeLib2_SetHelpStringContext(This,dwHelpStringContext)    \
  2591.     (This)->lpVtbl -> SetHelpStringContext(This,dwHelpStringContext)
  2592.  
  2593. #define ICreateTypeLib2_SetHelpStringDll(This,szFileName)    \
  2594.     (This)->lpVtbl -> SetHelpStringDll(This,szFileName)
  2595.  
  2596. #endif /* COBJMACROS */
  2597.  
  2598.  
  2599. #endif     /* C style interface */
  2600.  
  2601.  
  2602.  
  2603. HRESULT STDMETHODCALLTYPE ICreateTypeLib2_DeleteTypeInfo_Proxy( 
  2604.     ICreateTypeLib2 __RPC_FAR * This,
  2605.     /* [in] */ LPOLESTR szName);
  2606.  
  2607.  
  2608. void __RPC_STUB ICreateTypeLib2_DeleteTypeInfo_Stub(
  2609.     IRpcStubBuffer *This,
  2610.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2611.     PRPC_MESSAGE _pRpcMessage,
  2612.     DWORD *_pdwStubPhase);
  2613.  
  2614.  
  2615. HRESULT STDMETHODCALLTYPE ICreateTypeLib2_SetCustData_Proxy( 
  2616.     ICreateTypeLib2 __RPC_FAR * This,
  2617.     /* [in] */ REFGUID guid,
  2618.     /* [in] */ VARIANT __RPC_FAR *pVarVal);
  2619.  
  2620.  
  2621. void __RPC_STUB ICreateTypeLib2_SetCustData_Stub(
  2622.     IRpcStubBuffer *This,
  2623.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2624.     PRPC_MESSAGE _pRpcMessage,
  2625.     DWORD *_pdwStubPhase);
  2626.  
  2627.  
  2628. HRESULT STDMETHODCALLTYPE ICreateTypeLib2_SetHelpStringContext_Proxy( 
  2629.     ICreateTypeLib2 __RPC_FAR * This,
  2630.     /* [in] */ ULONG dwHelpStringContext);
  2631.  
  2632.  
  2633. void __RPC_STUB ICreateTypeLib2_SetHelpStringContext_Stub(
  2634.     IRpcStubBuffer *This,
  2635.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2636.     PRPC_MESSAGE _pRpcMessage,
  2637.     DWORD *_pdwStubPhase);
  2638.  
  2639.  
  2640. HRESULT STDMETHODCALLTYPE ICreateTypeLib2_SetHelpStringDll_Proxy( 
  2641.     ICreateTypeLib2 __RPC_FAR * This,
  2642.     /* [in] */ LPOLESTR szFileName);
  2643.  
  2644.  
  2645. void __RPC_STUB ICreateTypeLib2_SetHelpStringDll_Stub(
  2646.     IRpcStubBuffer *This,
  2647.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2648.     PRPC_MESSAGE _pRpcMessage,
  2649.     DWORD *_pdwStubPhase);
  2650.  
  2651.  
  2652.  
  2653. #endif     /* __ICreateTypeLib2_INTERFACE_DEFINED__ */
  2654.  
  2655.  
  2656. #ifndef __IDispatch_INTERFACE_DEFINED__
  2657. #define __IDispatch_INTERFACE_DEFINED__
  2658.  
  2659. /* interface IDispatch */
  2660. /* [unique][uuid][object] */ 
  2661.  
  2662. typedef /* [unique] */ IDispatch __RPC_FAR *LPDISPATCH;
  2663.  
  2664. /* DISPID reserved to indicate an "unknown" name */
  2665. /* only reserved for data members (properties); reused as a method dispid below */
  2666. #define    DISPID_UNKNOWN    ( -1 )
  2667.  
  2668. /* DISPID reserved for the "value" property */
  2669. #define    DISPID_VALUE    ( 0 )
  2670.  
  2671. /* The following DISPID is reserved to indicate the param
  2672.  * that is the right-hand-side (or "put" value) of a PropertyPut
  2673.  */
  2674. #define    DISPID_PROPERTYPUT    ( -3 )
  2675.  
  2676. /* DISPID reserved for the standard "NewEnum" method */
  2677. #define    DISPID_NEWENUM    ( -4 )
  2678.  
  2679. /* DISPID reserved for the standard "Evaluate" method */
  2680. #define    DISPID_EVALUATE    ( -5 )
  2681.  
  2682. #define    DISPID_CONSTRUCTOR    ( -6 )
  2683.  
  2684. #define    DISPID_DESTRUCTOR    ( -7 )
  2685.  
  2686. #define    DISPID_COLLECT    ( -8 )
  2687.  
  2688. /* The range -500 through -999 is reserved for Controls */
  2689. /* The range 0x80010000 through 0x8001FFFF is reserved for Controls */
  2690. /* The range -5000 through -5499 is reserved for ActiveX Accessability */
  2691. /* The range -2000 through -2499 is reserved for VB5 */
  2692. /* The range -3900 through -3999 is reserved for Forms */
  2693. /* The range -5500 through -5550 is reserved for Forms */
  2694. /* The remainder of the negative DISPIDs are reserved for future use */
  2695.  
  2696. EXTERN_C const IID IID_IDispatch;
  2697.  
  2698. #if defined(__cplusplus) && !defined(CINTERFACE)
  2699.     
  2700.     MIDL_INTERFACE("00020400-0000-0000-C000-000000000046")
  2701.     IDispatch : public IUnknown
  2702.     {
  2703.     public:
  2704.         virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount( 
  2705.             /* [out] */ UINT __RPC_FAR *pctinfo) = 0;
  2706.         
  2707.         virtual HRESULT STDMETHODCALLTYPE GetTypeInfo( 
  2708.             /* [in] */ UINT iTInfo,
  2709.             /* [in] */ LCID lcid,
  2710.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo) = 0;
  2711.         
  2712.         virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames( 
  2713.             /* [in] */ REFIID riid,
  2714.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2715.             /* [in] */ UINT cNames,
  2716.             /* [in] */ LCID lcid,
  2717.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId) = 0;
  2718.         
  2719.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Invoke( 
  2720.             /* [in] */ DISPID dispIdMember,
  2721.             /* [in] */ REFIID riid,
  2722.             /* [in] */ LCID lcid,
  2723.             /* [in] */ WORD wFlags,
  2724.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2725.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2726.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2727.             /* [out] */ UINT __RPC_FAR *puArgErr) = 0;
  2728.         
  2729.     };
  2730.     
  2731. #else     /* C style interface */
  2732.  
  2733.     typedef struct IDispatchVtbl
  2734.     {
  2735.         BEGIN_INTERFACE
  2736.         
  2737.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2738.             IDispatch __RPC_FAR * This,
  2739.             /* [in] */ REFIID riid,
  2740.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2741.         
  2742.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2743.             IDispatch __RPC_FAR * This);
  2744.         
  2745.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2746.             IDispatch __RPC_FAR * This);
  2747.         
  2748.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  2749.             IDispatch __RPC_FAR * This,
  2750.             /* [out] */ UINT __RPC_FAR *pctinfo);
  2751.         
  2752.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  2753.             IDispatch __RPC_FAR * This,
  2754.             /* [in] */ UINT iTInfo,
  2755.             /* [in] */ LCID lcid,
  2756.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  2757.         
  2758.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  2759.             IDispatch __RPC_FAR * This,
  2760.             /* [in] */ REFIID riid,
  2761.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2762.             /* [in] */ UINT cNames,
  2763.             /* [in] */ LCID lcid,
  2764.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  2765.         
  2766.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  2767.             IDispatch __RPC_FAR * This,
  2768.             /* [in] */ DISPID dispIdMember,
  2769.             /* [in] */ REFIID riid,
  2770.             /* [in] */ LCID lcid,
  2771.             /* [in] */ WORD wFlags,
  2772.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2773.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2774.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2775.             /* [out] */ UINT __RPC_FAR *puArgErr);
  2776.         
  2777.         END_INTERFACE
  2778.     } IDispatchVtbl;
  2779.  
  2780.     interface IDispatch
  2781.     {
  2782.         CONST_VTBL struct IDispatchVtbl __RPC_FAR *lpVtbl;
  2783.     };
  2784.  
  2785.     
  2786.  
  2787. #ifdef COBJMACROS
  2788.  
  2789.  
  2790. #define IDispatch_QueryInterface(This,riid,ppvObject)    \
  2791.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2792.  
  2793. #define IDispatch_AddRef(This)    \
  2794.     (This)->lpVtbl -> AddRef(This)
  2795.  
  2796. #define IDispatch_Release(This)    \
  2797.     (This)->lpVtbl -> Release(This)
  2798.  
  2799.  
  2800. #define IDispatch_GetTypeInfoCount(This,pctinfo)    \
  2801.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2802.  
  2803. #define IDispatch_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  2804.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2805.  
  2806. #define IDispatch_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  2807.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2808.  
  2809. #define IDispatch_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  2810.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2811.  
  2812. #endif /* COBJMACROS */
  2813.  
  2814.  
  2815. #endif     /* C style interface */
  2816.  
  2817.  
  2818.  
  2819. HRESULT STDMETHODCALLTYPE IDispatch_GetTypeInfoCount_Proxy( 
  2820.     IDispatch __RPC_FAR * This,
  2821.     /* [out] */ UINT __RPC_FAR *pctinfo);
  2822.  
  2823.  
  2824. void __RPC_STUB IDispatch_GetTypeInfoCount_Stub(
  2825.     IRpcStubBuffer *This,
  2826.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2827.     PRPC_MESSAGE _pRpcMessage,
  2828.     DWORD *_pdwStubPhase);
  2829.  
  2830.  
  2831. HRESULT STDMETHODCALLTYPE IDispatch_GetTypeInfo_Proxy( 
  2832.     IDispatch __RPC_FAR * This,
  2833.     /* [in] */ UINT iTInfo,
  2834.     /* [in] */ LCID lcid,
  2835.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  2836.  
  2837.  
  2838. void __RPC_STUB IDispatch_GetTypeInfo_Stub(
  2839.     IRpcStubBuffer *This,
  2840.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2841.     PRPC_MESSAGE _pRpcMessage,
  2842.     DWORD *_pdwStubPhase);
  2843.  
  2844.  
  2845. HRESULT STDMETHODCALLTYPE IDispatch_GetIDsOfNames_Proxy( 
  2846.     IDispatch __RPC_FAR * This,
  2847.     /* [in] */ REFIID riid,
  2848.     /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2849.     /* [in] */ UINT cNames,
  2850.     /* [in] */ LCID lcid,
  2851.     /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  2852.  
  2853.  
  2854. void __RPC_STUB IDispatch_GetIDsOfNames_Stub(
  2855.     IRpcStubBuffer *This,
  2856.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2857.     PRPC_MESSAGE _pRpcMessage,
  2858.     DWORD *_pdwStubPhase);
  2859.  
  2860.  
  2861. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDispatch_RemoteInvoke_Proxy( 
  2862.     IDispatch __RPC_FAR * This,
  2863.     /* [in] */ DISPID dispIdMember,
  2864.     /* [in] */ REFIID riid,
  2865.     /* [in] */ LCID lcid,
  2866.     /* [in] */ DWORD dwFlags,
  2867.     /* [in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2868.     /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2869.     /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2870.     /* [out] */ UINT __RPC_FAR *pArgErr,
  2871.     /* [in] */ UINT cVarRef,
  2872.     /* [size_is][in] */ UINT __RPC_FAR *rgVarRefIdx,
  2873.     /* [size_is][out][in] */ VARIANTARG __RPC_FAR *rgVarRef);
  2874.  
  2875.  
  2876. void __RPC_STUB IDispatch_RemoteInvoke_Stub(
  2877.     IRpcStubBuffer *This,
  2878.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2879.     PRPC_MESSAGE _pRpcMessage,
  2880.     DWORD *_pdwStubPhase);
  2881.  
  2882.  
  2883.  
  2884. #endif     /* __IDispatch_INTERFACE_DEFINED__ */
  2885.  
  2886.  
  2887. #ifndef __IEnumVARIANT_INTERFACE_DEFINED__
  2888. #define __IEnumVARIANT_INTERFACE_DEFINED__
  2889.  
  2890. /* interface IEnumVARIANT */
  2891. /* [unique][uuid][object] */ 
  2892.  
  2893. typedef /* [unique] */ IEnumVARIANT __RPC_FAR *LPENUMVARIANT;
  2894.  
  2895.  
  2896. EXTERN_C const IID IID_IEnumVARIANT;
  2897.  
  2898. #if defined(__cplusplus) && !defined(CINTERFACE)
  2899.     
  2900.     MIDL_INTERFACE("00020404-0000-0000-C000-000000000046")
  2901.     IEnumVARIANT : public IUnknown
  2902.     {
  2903.     public:
  2904.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next( 
  2905.             /* [in] */ ULONG celt,
  2906.             /* [length_is][size_is][out] */ VARIANT __RPC_FAR *rgVar,
  2907.             /* [out] */ ULONG __RPC_FAR *pCeltFetched) = 0;
  2908.         
  2909.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  2910.             /* [in] */ ULONG celt) = 0;
  2911.         
  2912.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  2913.         
  2914.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  2915.             /* [out] */ IEnumVARIANT __RPC_FAR *__RPC_FAR *ppEnum) = 0;
  2916.         
  2917.     };
  2918.     
  2919. #else     /* C style interface */
  2920.  
  2921.     typedef struct IEnumVARIANTVtbl
  2922.     {
  2923.         BEGIN_INTERFACE
  2924.         
  2925.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2926.             IEnumVARIANT __RPC_FAR * This,
  2927.             /* [in] */ REFIID riid,
  2928.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2929.         
  2930.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2931.             IEnumVARIANT __RPC_FAR * This);
  2932.         
  2933.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2934.             IEnumVARIANT __RPC_FAR * This);
  2935.         
  2936.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
  2937.             IEnumVARIANT __RPC_FAR * This,
  2938.             /* [in] */ ULONG celt,
  2939.             /* [length_is][size_is][out] */ VARIANT __RPC_FAR *rgVar,
  2940.             /* [out] */ ULONG __RPC_FAR *pCeltFetched);
  2941.         
  2942.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )( 
  2943.             IEnumVARIANT __RPC_FAR * This,
  2944.             /* [in] */ ULONG celt);
  2945.         
  2946.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
  2947.             IEnumVARIANT __RPC_FAR * This);
  2948.         
  2949.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( 
  2950.             IEnumVARIANT __RPC_FAR * This,
  2951.             /* [out] */ IEnumVARIANT __RPC_FAR *__RPC_FAR *ppEnum);
  2952.         
  2953.         END_INTERFACE
  2954.     } IEnumVARIANTVtbl;
  2955.  
  2956.     interface IEnumVARIANT
  2957.     {
  2958.         CONST_VTBL struct IEnumVARIANTVtbl __RPC_FAR *lpVtbl;
  2959.     };
  2960.  
  2961.     
  2962.  
  2963. #ifdef COBJMACROS
  2964.  
  2965.  
  2966. #define IEnumVARIANT_QueryInterface(This,riid,ppvObject)    \
  2967.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2968.  
  2969. #define IEnumVARIANT_AddRef(This)    \
  2970.     (This)->lpVtbl -> AddRef(This)
  2971.  
  2972. #define IEnumVARIANT_Release(This)    \
  2973.     (This)->lpVtbl -> Release(This)
  2974.  
  2975.  
  2976. #define IEnumVARIANT_Next(This,celt,rgVar,pCeltFetched)    \
  2977.     (This)->lpVtbl -> Next(This,celt,rgVar,pCeltFetched)
  2978.  
  2979. #define IEnumVARIANT_Skip(This,celt)    \
  2980.     (This)->lpVtbl -> Skip(This,celt)
  2981.  
  2982. #define IEnumVARIANT_Reset(This)    \
  2983.     (This)->lpVtbl -> Reset(This)
  2984.  
  2985. #define IEnumVARIANT_Clone(This,ppEnum)    \
  2986.     (This)->lpVtbl -> Clone(This,ppEnum)
  2987.  
  2988. #endif /* COBJMACROS */
  2989.  
  2990.  
  2991. #endif     /* C style interface */
  2992.  
  2993.  
  2994.  
  2995. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumVARIANT_RemoteNext_Proxy( 
  2996.     IEnumVARIANT __RPC_FAR * This,
  2997.     /* [in] */ ULONG celt,
  2998.     /* [length_is][size_is][out] */ VARIANT __RPC_FAR *rgVar,
  2999.     /* [out] */ ULONG __RPC_FAR *pCeltFetched);
  3000.  
  3001.  
  3002. void __RPC_STUB IEnumVARIANT_RemoteNext_Stub(
  3003.     IRpcStubBuffer *This,
  3004.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3005.     PRPC_MESSAGE _pRpcMessage,
  3006.     DWORD *_pdwStubPhase);
  3007.  
  3008.  
  3009. HRESULT STDMETHODCALLTYPE IEnumVARIANT_Skip_Proxy( 
  3010.     IEnumVARIANT __RPC_FAR * This,
  3011.     /* [in] */ ULONG celt);
  3012.  
  3013.  
  3014. void __RPC_STUB IEnumVARIANT_Skip_Stub(
  3015.     IRpcStubBuffer *This,
  3016.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3017.     PRPC_MESSAGE _pRpcMessage,
  3018.     DWORD *_pdwStubPhase);
  3019.  
  3020.  
  3021. HRESULT STDMETHODCALLTYPE IEnumVARIANT_Reset_Proxy( 
  3022.     IEnumVARIANT __RPC_FAR * This);
  3023.  
  3024.  
  3025. void __RPC_STUB IEnumVARIANT_Reset_Stub(
  3026.     IRpcStubBuffer *This,
  3027.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3028.     PRPC_MESSAGE _pRpcMessage,
  3029.     DWORD *_pdwStubPhase);
  3030.  
  3031.  
  3032. HRESULT STDMETHODCALLTYPE IEnumVARIANT_Clone_Proxy( 
  3033.     IEnumVARIANT __RPC_FAR * This,
  3034.     /* [out] */ IEnumVARIANT __RPC_FAR *__RPC_FAR *ppEnum);
  3035.  
  3036.  
  3037. void __RPC_STUB IEnumVARIANT_Clone_Stub(
  3038.     IRpcStubBuffer *This,
  3039.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3040.     PRPC_MESSAGE _pRpcMessage,
  3041.     DWORD *_pdwStubPhase);
  3042.  
  3043.  
  3044.  
  3045. #endif     /* __IEnumVARIANT_INTERFACE_DEFINED__ */
  3046.  
  3047.  
  3048. #ifndef __ITypeComp_INTERFACE_DEFINED__
  3049. #define __ITypeComp_INTERFACE_DEFINED__
  3050.  
  3051. /* interface ITypeComp */
  3052. /* [unique][uuid][object] */ 
  3053.  
  3054. typedef /* [unique] */ ITypeComp __RPC_FAR *LPTYPECOMP;
  3055.  
  3056. typedef /* [v1_enum] */ 
  3057. enum tagDESCKIND
  3058.     {    DESCKIND_NONE    = 0,
  3059.     DESCKIND_FUNCDESC    = DESCKIND_NONE + 1,
  3060.     DESCKIND_VARDESC    = DESCKIND_FUNCDESC + 1,
  3061.     DESCKIND_TYPECOMP    = DESCKIND_VARDESC + 1,
  3062.     DESCKIND_IMPLICITAPPOBJ    = DESCKIND_TYPECOMP + 1,
  3063.     DESCKIND_MAX    = DESCKIND_IMPLICITAPPOBJ + 1
  3064.     }    DESCKIND;
  3065.  
  3066. typedef union tagBINDPTR
  3067.     {
  3068.     FUNCDESC __RPC_FAR *lpfuncdesc;
  3069.     VARDESC __RPC_FAR *lpvardesc;
  3070.     ITypeComp __RPC_FAR *lptcomp;
  3071.     }    BINDPTR;
  3072.  
  3073. typedef union tagBINDPTR __RPC_FAR *LPBINDPTR;
  3074.  
  3075.  
  3076. EXTERN_C const IID IID_ITypeComp;
  3077.  
  3078. #if defined(__cplusplus) && !defined(CINTERFACE)
  3079.     
  3080.     MIDL_INTERFACE("00020403-0000-0000-C000-000000000046")
  3081.     ITypeComp : public IUnknown
  3082.     {
  3083.     public:
  3084.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Bind( 
  3085.             /* [in] */ LPOLESTR szName,
  3086.             /* [in] */ ULONG lHashVal,
  3087.             /* [in] */ WORD wFlags,
  3088.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  3089.             /* [out] */ DESCKIND __RPC_FAR *pDescKind,
  3090.             /* [out] */ BINDPTR __RPC_FAR *pBindPtr) = 0;
  3091.         
  3092.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE BindType( 
  3093.             /* [in] */ LPOLESTR szName,
  3094.             /* [in] */ ULONG lHashVal,
  3095.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  3096.             /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp) = 0;
  3097.         
  3098.     };
  3099.     
  3100. #else     /* C style interface */
  3101.  
  3102.     typedef struct ITypeCompVtbl
  3103.     {
  3104.         BEGIN_INTERFACE
  3105.         
  3106.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3107.             ITypeComp __RPC_FAR * This,
  3108.             /* [in] */ REFIID riid,
  3109.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3110.         
  3111.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3112.             ITypeComp __RPC_FAR * This);
  3113.         
  3114.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3115.             ITypeComp __RPC_FAR * This);
  3116.         
  3117.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Bind )( 
  3118.             ITypeComp __RPC_FAR * This,
  3119.             /* [in] */ LPOLESTR szName,
  3120.             /* [in] */ ULONG lHashVal,
  3121.             /* [in] */ WORD wFlags,
  3122.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  3123.             /* [out] */ DESCKIND __RPC_FAR *pDescKind,
  3124.             /* [out] */ BINDPTR __RPC_FAR *pBindPtr);
  3125.         
  3126.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BindType )( 
  3127.             ITypeComp __RPC_FAR * This,
  3128.             /* [in] */ LPOLESTR szName,
  3129.             /* [in] */ ULONG lHashVal,
  3130.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  3131.             /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp);
  3132.         
  3133.         END_INTERFACE
  3134.     } ITypeCompVtbl;
  3135.  
  3136.     interface ITypeComp
  3137.     {
  3138.         CONST_VTBL struct ITypeCompVtbl __RPC_FAR *lpVtbl;
  3139.     };
  3140.  
  3141.     
  3142.  
  3143. #ifdef COBJMACROS
  3144.  
  3145.  
  3146. #define ITypeComp_QueryInterface(This,riid,ppvObject)    \
  3147.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3148.  
  3149. #define ITypeComp_AddRef(This)    \
  3150.     (This)->lpVtbl -> AddRef(This)
  3151.  
  3152. #define ITypeComp_Release(This)    \
  3153.     (This)->lpVtbl -> Release(This)
  3154.  
  3155.  
  3156. #define ITypeComp_Bind(This,szName,lHashVal,wFlags,ppTInfo,pDescKind,pBindPtr)    \
  3157.     (This)->lpVtbl -> Bind(This,szName,lHashVal,wFlags,ppTInfo,pDescKind,pBindPtr)
  3158.  
  3159. #define ITypeComp_BindType(This,szName,lHashVal,ppTInfo,ppTComp)    \
  3160.     (This)->lpVtbl -> BindType(This,szName,lHashVal,ppTInfo,ppTComp)
  3161.  
  3162. #endif /* COBJMACROS */
  3163.  
  3164.  
  3165. #endif     /* C style interface */
  3166.  
  3167.  
  3168.  
  3169. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeComp_RemoteBind_Proxy( 
  3170.     ITypeComp __RPC_FAR * This,
  3171.     /* [in] */ LPOLESTR szName,
  3172.     /* [in] */ ULONG lHashVal,
  3173.     /* [in] */ WORD wFlags,
  3174.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  3175.     /* [out] */ DESCKIND __RPC_FAR *pDescKind,
  3176.     /* [out] */ LPFUNCDESC __RPC_FAR *ppFuncDesc,
  3177.     /* [out] */ LPVARDESC __RPC_FAR *ppVarDesc,
  3178.     /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTypeComp,
  3179.     /* [out] */ CLEANLOCALSTORAGE __RPC_FAR *pDummy);
  3180.  
  3181.  
  3182. void __RPC_STUB ITypeComp_RemoteBind_Stub(
  3183.     IRpcStubBuffer *This,
  3184.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3185.     PRPC_MESSAGE _pRpcMessage,
  3186.     DWORD *_pdwStubPhase);
  3187.  
  3188.  
  3189. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeComp_RemoteBindType_Proxy( 
  3190.     ITypeComp __RPC_FAR * This,
  3191.     /* [in] */ LPOLESTR szName,
  3192.     /* [in] */ ULONG lHashVal,
  3193.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  3194.  
  3195.  
  3196. void __RPC_STUB ITypeComp_RemoteBindType_Stub(
  3197.     IRpcStubBuffer *This,
  3198.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3199.     PRPC_MESSAGE _pRpcMessage,
  3200.     DWORD *_pdwStubPhase);
  3201.  
  3202.  
  3203.  
  3204. #endif     /* __ITypeComp_INTERFACE_DEFINED__ */
  3205.  
  3206.  
  3207. #ifndef __ITypeInfo_INTERFACE_DEFINED__
  3208. #define __ITypeInfo_INTERFACE_DEFINED__
  3209.  
  3210. /* interface ITypeInfo */
  3211. /* [unique][uuid][object] */ 
  3212.  
  3213. typedef /* [unique] */ ITypeInfo __RPC_FAR *LPTYPEINFO;
  3214.  
  3215.  
  3216. EXTERN_C const IID IID_ITypeInfo;
  3217.  
  3218. #if defined(__cplusplus) && !defined(CINTERFACE)
  3219.     
  3220.     MIDL_INTERFACE("00020401-0000-0000-C000-000000000046")
  3221.     ITypeInfo : public IUnknown
  3222.     {
  3223.     public:
  3224.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetTypeAttr( 
  3225.             /* [out] */ TYPEATTR __RPC_FAR *__RPC_FAR *ppTypeAttr) = 0;
  3226.         
  3227.         virtual HRESULT STDMETHODCALLTYPE GetTypeComp( 
  3228.             /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp) = 0;
  3229.         
  3230.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetFuncDesc( 
  3231.             /* [in] */ UINT index,
  3232.             /* [out] */ FUNCDESC __RPC_FAR *__RPC_FAR *ppFuncDesc) = 0;
  3233.         
  3234.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetVarDesc( 
  3235.             /* [in] */ UINT index,
  3236.             /* [out] */ VARDESC __RPC_FAR *__RPC_FAR *ppVarDesc) = 0;
  3237.         
  3238.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetNames( 
  3239.             /* [in] */ MEMBERID memid,
  3240.             /* [length_is][size_is][out] */ BSTR __RPC_FAR *rgBstrNames,
  3241.             /* [in] */ UINT cMaxNames,
  3242.             /* [out] */ UINT __RPC_FAR *pcNames) = 0;
  3243.         
  3244.         virtual HRESULT STDMETHODCALLTYPE GetRefTypeOfImplType( 
  3245.             /* [in] */ UINT index,
  3246.             /* [out] */ HREFTYPE __RPC_FAR *pRefType) = 0;
  3247.         
  3248.         virtual HRESULT STDMETHODCALLTYPE GetImplTypeFlags( 
  3249.             /* [in] */ UINT index,
  3250.             /* [out] */ INT __RPC_FAR *pImplTypeFlags) = 0;
  3251.         
  3252.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetIDsOfNames( 
  3253.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  3254.             /* [in] */ UINT cNames,
  3255.             /* [size_is][out] */ MEMBERID __RPC_FAR *pMemId) = 0;
  3256.         
  3257.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Invoke( 
  3258.             /* [in] */ PVOID pvInstance,
  3259.             /* [in] */ MEMBERID memid,
  3260.             /* [in] */ WORD wFlags,
  3261.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  3262.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  3263.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  3264.             /* [out] */ UINT __RPC_FAR *puArgErr) = 0;
  3265.         
  3266.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDocumentation( 
  3267.             /* [in] */ MEMBERID memid,
  3268.             /* [out] */ BSTR __RPC_FAR *pBstrName,
  3269.             /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  3270.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  3271.             /* [out] */ BSTR __RPC_FAR *pBstrHelpFile) = 0;
  3272.         
  3273.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDllEntry( 
  3274.             /* [in] */ MEMBERID memid,
  3275.             /* [in] */ INVOKEKIND invKind,
  3276.             /* [out] */ BSTR __RPC_FAR *pBstrDllName,
  3277.             /* [out] */ BSTR __RPC_FAR *pBstrName,
  3278.             /* [out] */ WORD __RPC_FAR *pwOrdinal) = 0;
  3279.         
  3280.         virtual HRESULT STDMETHODCALLTYPE GetRefTypeInfo( 
  3281.             /* [in] */ HREFTYPE hRefType,
  3282.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo) = 0;
  3283.         
  3284.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddressOfMember( 
  3285.             /* [in] */ MEMBERID memid,
  3286.             /* [in] */ INVOKEKIND invKind,
  3287.             /* [out] */ PVOID __RPC_FAR *ppv) = 0;
  3288.         
  3289.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateInstance( 
  3290.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  3291.             /* [in] */ REFIID riid,
  3292.             /* [iid_is][out] */ PVOID __RPC_FAR *ppvObj) = 0;
  3293.         
  3294.         virtual HRESULT STDMETHODCALLTYPE GetMops( 
  3295.             /* [in] */ MEMBERID memid,
  3296.             /* [out] */ BSTR __RPC_FAR *pBstrMops) = 0;
  3297.         
  3298.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetContainingTypeLib( 
  3299.             /* [out] */ ITypeLib __RPC_FAR *__RPC_FAR *ppTLib,
  3300.             /* [out] */ UINT __RPC_FAR *pIndex) = 0;
  3301.         
  3302.         virtual /* [local] */ void STDMETHODCALLTYPE ReleaseTypeAttr( 
  3303.             /* [in] */ TYPEATTR __RPC_FAR *pTypeAttr) = 0;
  3304.         
  3305.         virtual /* [local] */ void STDMETHODCALLTYPE ReleaseFuncDesc( 
  3306.             /* [in] */ FUNCDESC __RPC_FAR *pFuncDesc) = 0;
  3307.         
  3308.         virtual /* [local] */ void STDMETHODCALLTYPE ReleaseVarDesc( 
  3309.             /* [in] */ VARDESC __RPC_FAR *pVarDesc) = 0;
  3310.         
  3311.     };
  3312.     
  3313. #else     /* C style interface */
  3314.  
  3315.     typedef struct ITypeInfoVtbl
  3316.     {
  3317.         BEGIN_INTERFACE
  3318.         
  3319.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3320.             ITypeInfo __RPC_FAR * This,
  3321.             /* [in] */ REFIID riid,
  3322.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3323.         
  3324.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3325.             ITypeInfo __RPC_FAR * This);
  3326.         
  3327.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3328.             ITypeInfo __RPC_FAR * This);
  3329.         
  3330.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeAttr )( 
  3331.             ITypeInfo __RPC_FAR * This,
  3332.             /* [out] */ TYPEATTR __RPC_FAR *__RPC_FAR *ppTypeAttr);
  3333.         
  3334.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeComp )( 
  3335.             ITypeInfo __RPC_FAR * This,
  3336.             /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp);
  3337.         
  3338.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFuncDesc )( 
  3339.             ITypeInfo __RPC_FAR * This,
  3340.             /* [in] */ UINT index,
  3341.             /* [out] */ FUNCDESC __RPC_FAR *__RPC_FAR *ppFuncDesc);
  3342.         
  3343.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVarDesc )( 
  3344.             ITypeInfo __RPC_FAR * This,
  3345.             /* [in] */ UINT index,
  3346.             /* [out] */ VARDESC __RPC_FAR *__RPC_FAR *ppVarDesc);
  3347.         
  3348.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNames )( 
  3349.             ITypeInfo __RPC_FAR * This,
  3350.             /* [in] */ MEMBERID memid,
  3351.             /* [length_is][size_is][out] */ BSTR __RPC_FAR *rgBstrNames,
  3352.             /* [in] */ UINT cMaxNames,
  3353.             /* [out] */ UINT __RPC_FAR *pcNames);
  3354.         
  3355.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRefTypeOfImplType )( 
  3356.             ITypeInfo __RPC_FAR * This,
  3357.             /* [in] */ UINT index,
  3358.             /* [out] */ HREFTYPE __RPC_FAR *pRefType);
  3359.         
  3360.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetImplTypeFlags )( 
  3361.             ITypeInfo __RPC_FAR * This,
  3362.             /* [in] */ UINT index,
  3363.             /* [out] */ INT __RPC_FAR *pImplTypeFlags);
  3364.         
  3365.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  3366.             ITypeInfo __RPC_FAR * This,
  3367.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  3368.             /* [in] */ UINT cNames,
  3369.             /* [size_is][out] */ MEMBERID __RPC_FAR *pMemId);
  3370.         
  3371.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  3372.             ITypeInfo __RPC_FAR * This,
  3373.             /* [in] */ PVOID pvInstance,
  3374.             /* [in] */ MEMBERID memid,
  3375.             /* [in] */ WORD wFlags,
  3376.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  3377.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  3378.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  3379.             /* [out] */ UINT __RPC_FAR *puArgErr);
  3380.         
  3381.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDocumentation )( 
  3382.             ITypeInfo __RPC_FAR * This,
  3383.             /* [in] */ MEMBERID memid,
  3384.             /* [out] */ BSTR __RPC_FAR *pBstrName,
  3385.             /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  3386.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  3387.             /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  3388.         
  3389.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDllEntry )( 
  3390.             ITypeInfo __RPC_FAR * This,
  3391.             /* [in] */ MEMBERID memid,
  3392.             /* [in] */ INVOKEKIND invKind,
  3393.             /* [out] */ BSTR __RPC_FAR *pBstrDllName,
  3394.             /* [out] */ BSTR __RPC_FAR *pBstrName,
  3395.             /* [out] */ WORD __RPC_FAR *pwOrdinal);
  3396.         
  3397.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRefTypeInfo )( 
  3398.             ITypeInfo __RPC_FAR * This,
  3399.             /* [in] */ HREFTYPE hRefType,
  3400.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  3401.         
  3402.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddressOfMember )( 
  3403.             ITypeInfo __RPC_FAR * This,
  3404.             /* [in] */ MEMBERID memid,
  3405.             /* [in] */ INVOKEKIND invKind,
  3406.             /* [out] */ PVOID __RPC_FAR *ppv);
  3407.         
  3408.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateInstance )( 
  3409.             ITypeInfo __RPC_FAR * This,
  3410.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  3411.             /* [in] */ REFIID riid,
  3412.             /* [iid_is][out] */ PVOID __RPC_FAR *ppvObj);
  3413.         
  3414.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMops )( 
  3415.             ITypeInfo __RPC_FAR * This,
  3416.             /* [in] */ MEMBERID memid,
  3417.             /* [out] */ BSTR __RPC_FAR *pBstrMops);
  3418.         
  3419.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetContainingTypeLib )( 
  3420.             ITypeInfo __RPC_FAR * This,
  3421.             /* [out] */ ITypeLib __RPC_FAR *__RPC_FAR *ppTLib,
  3422.             /* [out] */ UINT __RPC_FAR *pIndex);
  3423.         
  3424.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *ReleaseTypeAttr )( 
  3425.             ITypeInfo __RPC_FAR * This,
  3426.             /* [in] */ TYPEATTR __RPC_FAR *pTypeAttr);
  3427.         
  3428.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *ReleaseFuncDesc )( 
  3429.             ITypeInfo __RPC_FAR * This,
  3430.             /* [in] */ FUNCDESC __RPC_FAR *pFuncDesc);
  3431.         
  3432.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *ReleaseVarDesc )( 
  3433.             ITypeInfo __RPC_FAR * This,
  3434.             /* [in] */ VARDESC __RPC_FAR *pVarDesc);
  3435.         
  3436.         END_INTERFACE
  3437.     } ITypeInfoVtbl;
  3438.  
  3439.     interface ITypeInfo
  3440.     {
  3441.         CONST_VTBL struct ITypeInfoVtbl __RPC_FAR *lpVtbl;
  3442.     };
  3443.  
  3444.     
  3445.  
  3446. #ifdef COBJMACROS
  3447.  
  3448.  
  3449. #define ITypeInfo_QueryInterface(This,riid,ppvObject)    \
  3450.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3451.  
  3452. #define ITypeInfo_AddRef(This)    \
  3453.     (This)->lpVtbl -> AddRef(This)
  3454.  
  3455. #define ITypeInfo_Release(This)    \
  3456.     (This)->lpVtbl -> Release(This)
  3457.  
  3458.  
  3459. #define ITypeInfo_GetTypeAttr(This,ppTypeAttr)    \
  3460.     (This)->lpVtbl -> GetTypeAttr(This,ppTypeAttr)
  3461.  
  3462. #define ITypeInfo_GetTypeComp(This,ppTComp)    \
  3463.     (This)->lpVtbl -> GetTypeComp(This,ppTComp)
  3464.  
  3465. #define ITypeInfo_GetFuncDesc(This,index,ppFuncDesc)    \
  3466.     (This)->lpVtbl -> GetFuncDesc(This,index,ppFuncDesc)
  3467.  
  3468. #define ITypeInfo_GetVarDesc(This,index,ppVarDesc)    \
  3469.     (This)->lpVtbl -> GetVarDesc(This,index,ppVarDesc)
  3470.  
  3471. #define ITypeInfo_GetNames(This,memid,rgBstrNames,cMaxNames,pcNames)    \
  3472.     (This)->lpVtbl -> GetNames(This,memid,rgBstrNames,cMaxNames,pcNames)
  3473.  
  3474. #define ITypeInfo_GetRefTypeOfImplType(This,index,pRefType)    \
  3475.     (This)->lpVtbl -> GetRefTypeOfImplType(This,index,pRefType)
  3476.  
  3477. #define ITypeInfo_GetImplTypeFlags(This,index,pImplTypeFlags)    \
  3478.     (This)->lpVtbl -> GetImplTypeFlags(This,index,pImplTypeFlags)
  3479.  
  3480. #define ITypeInfo_GetIDsOfNames(This,rgszNames,cNames,pMemId)    \
  3481.     (This)->lpVtbl -> GetIDsOfNames(This,rgszNames,cNames,pMemId)
  3482.  
  3483. #define ITypeInfo_Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  3484.     (This)->lpVtbl -> Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3485.  
  3486. #define ITypeInfo_GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile)    \
  3487.     (This)->lpVtbl -> GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile)
  3488.  
  3489. #define ITypeInfo_GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal)    \
  3490.     (This)->lpVtbl -> GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal)
  3491.  
  3492. #define ITypeInfo_GetRefTypeInfo(This,hRefType,ppTInfo)    \
  3493.     (This)->lpVtbl -> GetRefTypeInfo(This,hRefType,ppTInfo)
  3494.  
  3495. #define ITypeInfo_AddressOfMember(This,memid,invKind,ppv)    \
  3496.     (This)->lpVtbl -> AddressOfMember(This,memid,invKind,ppv)
  3497.  
  3498. #define ITypeInfo_CreateInstance(This,pUnkOuter,riid,ppvObj)    \
  3499.     (This)->lpVtbl -> CreateInstance(This,pUnkOuter,riid,ppvObj)
  3500.  
  3501. #define ITypeInfo_GetMops(This,memid,pBstrMops)    \
  3502.     (This)->lpVtbl -> GetMops(This,memid,pBstrMops)
  3503.  
  3504. #define ITypeInfo_GetContainingTypeLib(This,ppTLib,pIndex)    \
  3505.     (This)->lpVtbl -> GetContainingTypeLib(This,ppTLib,pIndex)
  3506.  
  3507. #define ITypeInfo_ReleaseTypeAttr(This,pTypeAttr)    \
  3508.     (This)->lpVtbl -> ReleaseTypeAttr(This,pTypeAttr)
  3509.  
  3510. #define ITypeInfo_ReleaseFuncDesc(This,pFuncDesc)    \
  3511.     (This)->lpVtbl -> ReleaseFuncDesc(This,pFuncDesc)
  3512.  
  3513. #define ITypeInfo_ReleaseVarDesc(This,pVarDesc)    \
  3514.     (This)->lpVtbl -> ReleaseVarDesc(This,pVarDesc)
  3515.  
  3516. #endif /* COBJMACROS */
  3517.  
  3518.  
  3519. #endif     /* C style interface */
  3520.  
  3521.  
  3522.  
  3523. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetTypeAttr_Proxy( 
  3524.     ITypeInfo __RPC_FAR * This,
  3525.     /* [out] */ LPTYPEATTR __RPC_FAR *ppTypeAttr,
  3526.     /* [out] */ CLEANLOCALSTORAGE __RPC_FAR *pDummy);
  3527.  
  3528.  
  3529. void __RPC_STUB ITypeInfo_RemoteGetTypeAttr_Stub(
  3530.     IRpcStubBuffer *This,
  3531.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3532.     PRPC_MESSAGE _pRpcMessage,
  3533.     DWORD *_pdwStubPhase);
  3534.  
  3535.  
  3536. HRESULT STDMETHODCALLTYPE ITypeInfo_GetTypeComp_Proxy( 
  3537.     ITypeInfo __RPC_FAR * This,
  3538.     /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp);
  3539.  
  3540.  
  3541. void __RPC_STUB ITypeInfo_GetTypeComp_Stub(
  3542.     IRpcStubBuffer *This,
  3543.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3544.     PRPC_MESSAGE _pRpcMessage,
  3545.     DWORD *_pdwStubPhase);
  3546.  
  3547.  
  3548. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetFuncDesc_Proxy( 
  3549.     ITypeInfo __RPC_FAR * This,
  3550.     /* [in] */ UINT index,
  3551.     /* [out] */ LPFUNCDESC __RPC_FAR *ppFuncDesc,
  3552.     /* [out] */ CLEANLOCALSTORAGE __RPC_FAR *pDummy);
  3553.  
  3554.  
  3555. void __RPC_STUB ITypeInfo_RemoteGetFuncDesc_Stub(
  3556.     IRpcStubBuffer *This,
  3557.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3558.     PRPC_MESSAGE _pRpcMessage,
  3559.     DWORD *_pdwStubPhase);
  3560.  
  3561.  
  3562. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetVarDesc_Proxy( 
  3563.     ITypeInfo __RPC_FAR * This,
  3564.     /* [in] */ UINT index,
  3565.     /* [out] */ LPVARDESC __RPC_FAR *ppVarDesc,
  3566.     /* [out] */ CLEANLOCALSTORAGE __RPC_FAR *pDummy);
  3567.  
  3568.  
  3569. void __RPC_STUB ITypeInfo_RemoteGetVarDesc_Stub(
  3570.     IRpcStubBuffer *This,
  3571.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3572.     PRPC_MESSAGE _pRpcMessage,
  3573.     DWORD *_pdwStubPhase);
  3574.  
  3575.  
  3576. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetNames_Proxy( 
  3577.     ITypeInfo __RPC_FAR * This,
  3578.     /* [in] */ MEMBERID memid,
  3579.     /* [length_is][size_is][out] */ BSTR __RPC_FAR *rgBstrNames,
  3580.     /* [in] */ UINT cMaxNames,
  3581.     /* [out] */ UINT __RPC_FAR *pcNames);
  3582.  
  3583.  
  3584. void __RPC_STUB ITypeInfo_RemoteGetNames_Stub(
  3585.     IRpcStubBuffer *This,
  3586.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3587.     PRPC_MESSAGE _pRpcMessage,
  3588.     DWORD *_pdwStubPhase);
  3589.  
  3590.  
  3591. HRESULT STDMETHODCALLTYPE ITypeInfo_GetRefTypeOfImplType_Proxy( 
  3592.     ITypeInfo __RPC_FAR * This,
  3593.     /* [in] */ UINT index,
  3594.     /* [out] */ HREFTYPE __RPC_FAR *pRefType);
  3595.  
  3596.  
  3597. void __RPC_STUB ITypeInfo_GetRefTypeOfImplType_Stub(
  3598.     IRpcStubBuffer *This,
  3599.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3600.     PRPC_MESSAGE _pRpcMessage,
  3601.     DWORD *_pdwStubPhase);
  3602.  
  3603.  
  3604. HRESULT STDMETHODCALLTYPE ITypeInfo_GetImplTypeFlags_Proxy( 
  3605.     ITypeInfo __RPC_FAR * This,
  3606.     /* [in] */ UINT index,
  3607.     /* [out] */ INT __RPC_FAR *pImplTypeFlags);
  3608.  
  3609.  
  3610. void __RPC_STUB ITypeInfo_GetImplTypeFlags_Stub(
  3611.     IRpcStubBuffer *This,
  3612.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3613.     PRPC_MESSAGE _pRpcMessage,
  3614.     DWORD *_pdwStubPhase);
  3615.  
  3616.  
  3617. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_LocalGetIDsOfNames_Proxy( 
  3618.     ITypeInfo __RPC_FAR * This);
  3619.  
  3620.  
  3621. void __RPC_STUB ITypeInfo_LocalGetIDsOfNames_Stub(
  3622.     IRpcStubBuffer *This,
  3623.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3624.     PRPC_MESSAGE _pRpcMessage,
  3625.     DWORD *_pdwStubPhase);
  3626.  
  3627.  
  3628. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_LocalInvoke_Proxy( 
  3629.     ITypeInfo __RPC_FAR * This);
  3630.  
  3631.  
  3632. void __RPC_STUB ITypeInfo_LocalInvoke_Stub(
  3633.     IRpcStubBuffer *This,
  3634.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3635.     PRPC_MESSAGE _pRpcMessage,
  3636.     DWORD *_pdwStubPhase);
  3637.  
  3638.  
  3639. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetDocumentation_Proxy( 
  3640.     ITypeInfo __RPC_FAR * This,
  3641.     /* [in] */ MEMBERID memid,
  3642.     /* [in] */ DWORD refPtrFlags,
  3643.     /* [out] */ BSTR __RPC_FAR *pBstrName,
  3644.     /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  3645.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  3646.     /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  3647.  
  3648.  
  3649. void __RPC_STUB ITypeInfo_RemoteGetDocumentation_Stub(
  3650.     IRpcStubBuffer *This,
  3651.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3652.     PRPC_MESSAGE _pRpcMessage,
  3653.     DWORD *_pdwStubPhase);
  3654.  
  3655.  
  3656. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetDllEntry_Proxy( 
  3657.     ITypeInfo __RPC_FAR * This,
  3658.     /* [in] */ MEMBERID memid,
  3659.     /* [in] */ INVOKEKIND invKind,
  3660.     /* [in] */ DWORD refPtrFlags,
  3661.     /* [out] */ BSTR __RPC_FAR *pBstrDllName,
  3662.     /* [out] */ BSTR __RPC_FAR *pBstrName,
  3663.     /* [out] */ WORD __RPC_FAR *pwOrdinal);
  3664.  
  3665.  
  3666. void __RPC_STUB ITypeInfo_RemoteGetDllEntry_Stub(
  3667.     IRpcStubBuffer *This,
  3668.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3669.     PRPC_MESSAGE _pRpcMessage,
  3670.     DWORD *_pdwStubPhase);
  3671.  
  3672.  
  3673. HRESULT STDMETHODCALLTYPE ITypeInfo_GetRefTypeInfo_Proxy( 
  3674.     ITypeInfo __RPC_FAR * This,
  3675.     /* [in] */ HREFTYPE hRefType,
  3676.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  3677.  
  3678.  
  3679. void __RPC_STUB ITypeInfo_GetRefTypeInfo_Stub(
  3680.     IRpcStubBuffer *This,
  3681.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3682.     PRPC_MESSAGE _pRpcMessage,
  3683.     DWORD *_pdwStubPhase);
  3684.  
  3685.  
  3686. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_LocalAddressOfMember_Proxy( 
  3687.     ITypeInfo __RPC_FAR * This);
  3688.  
  3689.  
  3690. void __RPC_STUB ITypeInfo_LocalAddressOfMember_Stub(
  3691.     IRpcStubBuffer *This,
  3692.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3693.     PRPC_MESSAGE _pRpcMessage,
  3694.     DWORD *_pdwStubPhase);
  3695.  
  3696.  
  3697. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteCreateInstance_Proxy( 
  3698.     ITypeInfo __RPC_FAR * This,
  3699.     /* [in] */ REFIID riid,
  3700.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObj);
  3701.  
  3702.  
  3703. void __RPC_STUB ITypeInfo_RemoteCreateInstance_Stub(
  3704.     IRpcStubBuffer *This,
  3705.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3706.     PRPC_MESSAGE _pRpcMessage,
  3707.     DWORD *_pdwStubPhase);
  3708.  
  3709.  
  3710. HRESULT STDMETHODCALLTYPE ITypeInfo_GetMops_Proxy( 
  3711.     ITypeInfo __RPC_FAR * This,
  3712.     /* [in] */ MEMBERID memid,
  3713.     /* [out] */ BSTR __RPC_FAR *pBstrMops);
  3714.  
  3715.  
  3716. void __RPC_STUB ITypeInfo_GetMops_Stub(
  3717.     IRpcStubBuffer *This,
  3718.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3719.     PRPC_MESSAGE _pRpcMessage,
  3720.     DWORD *_pdwStubPhase);
  3721.  
  3722.  
  3723. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetContainingTypeLib_Proxy( 
  3724.     ITypeInfo __RPC_FAR * This,
  3725.     /* [out] */ ITypeLib __RPC_FAR *__RPC_FAR *ppTLib,
  3726.     /* [out] */ UINT __RPC_FAR *pIndex);
  3727.  
  3728.  
  3729. void __RPC_STUB ITypeInfo_RemoteGetContainingTypeLib_Stub(
  3730.     IRpcStubBuffer *This,
  3731.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3732.     PRPC_MESSAGE _pRpcMessage,
  3733.     DWORD *_pdwStubPhase);
  3734.  
  3735.  
  3736. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_LocalReleaseTypeAttr_Proxy( 
  3737.     ITypeInfo __RPC_FAR * This);
  3738.  
  3739.  
  3740. void __RPC_STUB ITypeInfo_LocalReleaseTypeAttr_Stub(
  3741.     IRpcStubBuffer *This,
  3742.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3743.     PRPC_MESSAGE _pRpcMessage,
  3744.     DWORD *_pdwStubPhase);
  3745.  
  3746.  
  3747. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_LocalReleaseFuncDesc_Proxy( 
  3748.     ITypeInfo __RPC_FAR * This);
  3749.  
  3750.  
  3751. void __RPC_STUB ITypeInfo_LocalReleaseFuncDesc_Stub(
  3752.     IRpcStubBuffer *This,
  3753.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3754.     PRPC_MESSAGE _pRpcMessage,
  3755.     DWORD *_pdwStubPhase);
  3756.  
  3757.  
  3758. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_LocalReleaseVarDesc_Proxy( 
  3759.     ITypeInfo __RPC_FAR * This);
  3760.  
  3761.  
  3762. void __RPC_STUB ITypeInfo_LocalReleaseVarDesc_Stub(
  3763.     IRpcStubBuffer *This,
  3764.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3765.     PRPC_MESSAGE _pRpcMessage,
  3766.     DWORD *_pdwStubPhase);
  3767.  
  3768.  
  3769.  
  3770. #endif     /* __ITypeInfo_INTERFACE_DEFINED__ */
  3771.  
  3772.  
  3773. #ifndef __ITypeInfo2_INTERFACE_DEFINED__
  3774. #define __ITypeInfo2_INTERFACE_DEFINED__
  3775.  
  3776. /* interface ITypeInfo2 */
  3777. /* [unique][uuid][object] */ 
  3778.  
  3779. typedef /* [unique] */ ITypeInfo2 __RPC_FAR *LPTYPEINFO2;
  3780.  
  3781.  
  3782. EXTERN_C const IID IID_ITypeInfo2;
  3783.  
  3784. #if defined(__cplusplus) && !defined(CINTERFACE)
  3785.     
  3786.     MIDL_INTERFACE("00020412-0000-0000-C000-000000000046")
  3787.     ITypeInfo2 : public ITypeInfo
  3788.     {
  3789.     public:
  3790.         virtual HRESULT STDMETHODCALLTYPE GetTypeKind( 
  3791.             /* [out] */ TYPEKIND __RPC_FAR *pTypeKind) = 0;
  3792.         
  3793.         virtual HRESULT STDMETHODCALLTYPE GetTypeFlags( 
  3794.             /* [out] */ ULONG __RPC_FAR *pTypeFlags) = 0;
  3795.         
  3796.         virtual HRESULT STDMETHODCALLTYPE GetFuncIndexOfMemId( 
  3797.             /* [in] */ MEMBERID memid,
  3798.             /* [in] */ INVOKEKIND invKind,
  3799.             /* [out] */ UINT __RPC_FAR *pFuncIndex) = 0;
  3800.         
  3801.         virtual HRESULT STDMETHODCALLTYPE GetVarIndexOfMemId( 
  3802.             /* [in] */ MEMBERID memid,
  3803.             /* [out] */ UINT __RPC_FAR *pVarIndex) = 0;
  3804.         
  3805.         virtual HRESULT STDMETHODCALLTYPE GetCustData( 
  3806.             /* [in] */ REFGUID guid,
  3807.             /* [out] */ VARIANT __RPC_FAR *pVarVal) = 0;
  3808.         
  3809.         virtual HRESULT STDMETHODCALLTYPE GetFuncCustData( 
  3810.             /* [in] */ UINT index,
  3811.             /* [in] */ REFGUID guid,
  3812.             /* [out] */ VARIANT __RPC_FAR *pVarVal) = 0;
  3813.         
  3814.         virtual HRESULT STDMETHODCALLTYPE GetParamCustData( 
  3815.             /* [in] */ UINT indexFunc,
  3816.             /* [in] */ UINT indexParam,
  3817.             /* [in] */ REFGUID guid,
  3818.             /* [out] */ VARIANT __RPC_FAR *pVarVal) = 0;
  3819.         
  3820.         virtual HRESULT STDMETHODCALLTYPE GetVarCustData( 
  3821.             /* [in] */ UINT index,
  3822.             /* [in] */ REFGUID guid,
  3823.             /* [out] */ VARIANT __RPC_FAR *pVarVal) = 0;
  3824.         
  3825.         virtual HRESULT STDMETHODCALLTYPE GetImplTypeCustData( 
  3826.             /* [in] */ UINT index,
  3827.             /* [in] */ REFGUID guid,
  3828.             /* [out] */ VARIANT __RPC_FAR *pVarVal) = 0;
  3829.         
  3830.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDocumentation2( 
  3831.             /* [in] */ MEMBERID memid,
  3832.             /* [in] */ LCID lcid,
  3833.             /* [out] */ BSTR __RPC_FAR *pbstrHelpString,
  3834.             /* [out] */ DWORD __RPC_FAR *pdwHelpStringContext,
  3835.             /* [out] */ BSTR __RPC_FAR *pbstrHelpStringDll) = 0;
  3836.         
  3837.         virtual HRESULT STDMETHODCALLTYPE GetAllCustData( 
  3838.             /* [out] */ CUSTDATA __RPC_FAR *pCustData) = 0;
  3839.         
  3840.         virtual HRESULT STDMETHODCALLTYPE GetAllFuncCustData( 
  3841.             /* [in] */ UINT index,
  3842.             /* [out] */ CUSTDATA __RPC_FAR *pCustData) = 0;
  3843.         
  3844.         virtual HRESULT STDMETHODCALLTYPE GetAllParamCustData( 
  3845.             /* [in] */ UINT indexFunc,
  3846.             /* [in] */ UINT indexParam,
  3847.             /* [out] */ CUSTDATA __RPC_FAR *pCustData) = 0;
  3848.         
  3849.         virtual HRESULT STDMETHODCALLTYPE GetAllVarCustData( 
  3850.             /* [in] */ UINT index,
  3851.             /* [out] */ CUSTDATA __RPC_FAR *pCustData) = 0;
  3852.         
  3853.         virtual HRESULT STDMETHODCALLTYPE GetAllImplTypeCustData( 
  3854.             /* [in] */ UINT index,
  3855.             /* [out] */ CUSTDATA __RPC_FAR *pCustData) = 0;
  3856.         
  3857.     };
  3858.     
  3859. #else     /* C style interface */
  3860.  
  3861.     typedef struct ITypeInfo2Vtbl
  3862.     {
  3863.         BEGIN_INTERFACE
  3864.         
  3865.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3866.             ITypeInfo2 __RPC_FAR * This,
  3867.             /* [in] */ REFIID riid,
  3868.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3869.         
  3870.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3871.             ITypeInfo2 __RPC_FAR * This);
  3872.         
  3873.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3874.             ITypeInfo2 __RPC_FAR * This);
  3875.         
  3876.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeAttr )( 
  3877.             ITypeInfo2 __RPC_FAR * This,
  3878.             /* [out] */ TYPEATTR __RPC_FAR *__RPC_FAR *ppTypeAttr);
  3879.         
  3880.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeComp )( 
  3881.             ITypeInfo2 __RPC_FAR * This,
  3882.             /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp);
  3883.         
  3884.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFuncDesc )( 
  3885.             ITypeInfo2 __RPC_FAR * This,
  3886.             /* [in] */ UINT index,
  3887.             /* [out] */ FUNCDESC __RPC_FAR *__RPC_FAR *ppFuncDesc);
  3888.         
  3889.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVarDesc )( 
  3890.             ITypeInfo2 __RPC_FAR * This,
  3891.             /* [in] */ UINT index,
  3892.             /* [out] */ VARDESC __RPC_FAR *__RPC_FAR *ppVarDesc);
  3893.         
  3894.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNames )( 
  3895.             ITypeInfo2 __RPC_FAR * This,
  3896.             /* [in] */ MEMBERID memid,
  3897.             /* [length_is][size_is][out] */ BSTR __RPC_FAR *rgBstrNames,
  3898.             /* [in] */ UINT cMaxNames,
  3899.             /* [out] */ UINT __RPC_FAR *pcNames);
  3900.         
  3901.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRefTypeOfImplType )( 
  3902.             ITypeInfo2 __RPC_FAR * This,
  3903.             /* [in] */ UINT index,
  3904.             /* [out] */ HREFTYPE __RPC_FAR *pRefType);
  3905.         
  3906.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetImplTypeFlags )( 
  3907.             ITypeInfo2 __RPC_FAR * This,
  3908.             /* [in] */ UINT index,
  3909.             /* [out] */ INT __RPC_FAR *pImplTypeFlags);
  3910.         
  3911.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  3912.             ITypeInfo2 __RPC_FAR * This,
  3913.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  3914.             /* [in] */ UINT cNames,
  3915.             /* [size_is][out] */ MEMBERID __RPC_FAR *pMemId);
  3916.         
  3917.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  3918.             ITypeInfo2 __RPC_FAR * This,
  3919.             /* [in] */ PVOID pvInstance,
  3920.             /* [in] */ MEMBERID memid,
  3921.             /* [in] */ WORD wFlags,
  3922.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  3923.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  3924.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  3925.             /* [out] */ UINT __RPC_FAR *puArgErr);
  3926.         
  3927.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDocumentation )( 
  3928.             ITypeInfo2 __RPC_FAR * This,
  3929.             /* [in] */ MEMBERID memid,
  3930.             /* [out] */ BSTR __RPC_FAR *pBstrName,
  3931.             /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  3932.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  3933.             /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  3934.         
  3935.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDllEntry )( 
  3936.             ITypeInfo2 __RPC_FAR * This,
  3937.             /* [in] */ MEMBERID memid,
  3938.             /* [in] */ INVOKEKIND invKind,
  3939.             /* [out] */ BSTR __RPC_FAR *pBstrDllName,
  3940.             /* [out] */ BSTR __RPC_FAR *pBstrName,
  3941.             /* [out] */ WORD __RPC_FAR *pwOrdinal);
  3942.         
  3943.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRefTypeInfo )( 
  3944.             ITypeInfo2 __RPC_FAR * This,
  3945.             /* [in] */ HREFTYPE hRefType,
  3946.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  3947.         
  3948.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddressOfMember )( 
  3949.             ITypeInfo2 __RPC_FAR * This,
  3950.             /* [in] */ MEMBERID memid,
  3951.             /* [in] */ INVOKEKIND invKind,
  3952.             /* [out] */ PVOID __RPC_FAR *ppv);
  3953.         
  3954.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateInstance )( 
  3955.             ITypeInfo2 __RPC_FAR * This,
  3956.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  3957.             /* [in] */ REFIID riid,
  3958.             /* [iid_is][out] */ PVOID __RPC_FAR *ppvObj);
  3959.         
  3960.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMops )( 
  3961.             ITypeInfo2 __RPC_FAR * This,
  3962.             /* [in] */ MEMBERID memid,
  3963.             /* [out] */ BSTR __RPC_FAR *pBstrMops);
  3964.         
  3965.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetContainingTypeLib )( 
  3966.             ITypeInfo2 __RPC_FAR * This,
  3967.             /* [out] */ ITypeLib __RPC_FAR *__RPC_FAR *ppTLib,
  3968.             /* [out] */ UINT __RPC_FAR *pIndex);
  3969.         
  3970.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *ReleaseTypeAttr )( 
  3971.             ITypeInfo2 __RPC_FAR * This,
  3972.             /* [in] */ TYPEATTR __RPC_FAR *pTypeAttr);
  3973.         
  3974.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *ReleaseFuncDesc )( 
  3975.             ITypeInfo2 __RPC_FAR * This,
  3976.             /* [in] */ FUNCDESC __RPC_FAR *pFuncDesc);
  3977.         
  3978.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *ReleaseVarDesc )( 
  3979.             ITypeInfo2 __RPC_FAR * This,
  3980.             /* [in] */ VARDESC __RPC_FAR *pVarDesc);
  3981.         
  3982.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeKind )( 
  3983.             ITypeInfo2 __RPC_FAR * This,
  3984.             /* [out] */ TYPEKIND __RPC_FAR *pTypeKind);
  3985.         
  3986.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeFlags )( 
  3987.             ITypeInfo2 __RPC_FAR * This,
  3988.             /* [out] */ ULONG __RPC_FAR *pTypeFlags);
  3989.         
  3990.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFuncIndexOfMemId )( 
  3991.             ITypeInfo2 __RPC_FAR * This,
  3992.             /* [in] */ MEMBERID memid,
  3993.             /* [in] */ INVOKEKIND invKind,
  3994.             /* [out] */ UINT __RPC_FAR *pFuncIndex);
  3995.         
  3996.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVarIndexOfMemId )( 
  3997.             ITypeInfo2 __RPC_FAR * This,
  3998.             /* [in] */ MEMBERID memid,
  3999.             /* [out] */ UINT __RPC_FAR *pVarIndex);
  4000.         
  4001.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCustData )( 
  4002.             ITypeInfo2 __RPC_FAR * This,
  4003.             /* [in] */ REFGUID guid,
  4004.             /* [out] */ VARIANT __RPC_FAR *pVarVal);
  4005.         
  4006.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFuncCustData )( 
  4007.             ITypeInfo2 __RPC_FAR * This,
  4008.             /* [in] */ UINT index,
  4009.             /* [in] */ REFGUID guid,
  4010.             /* [out] */ VARIANT __RPC_FAR *pVarVal);
  4011.         
  4012.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetParamCustData )( 
  4013.             ITypeInfo2 __RPC_FAR * This,
  4014.             /* [in] */ UINT indexFunc,
  4015.             /* [in] */ UINT indexParam,
  4016.             /* [in] */ REFGUID guid,
  4017.             /* [out] */ VARIANT __RPC_FAR *pVarVal);
  4018.         
  4019.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVarCustData )( 
  4020.             ITypeInfo2 __RPC_FAR * This,
  4021.             /* [in] */ UINT index,
  4022.             /* [in] */ REFGUID guid,
  4023.             /* [out] */ VARIANT __RPC_FAR *pVarVal);
  4024.         
  4025.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetImplTypeCustData )( 
  4026.             ITypeInfo2 __RPC_FAR * This,
  4027.             /* [in] */ UINT index,
  4028.             /* [in] */ REFGUID guid,
  4029.             /* [out] */ VARIANT __RPC_FAR *pVarVal);
  4030.         
  4031.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDocumentation2 )( 
  4032.             ITypeInfo2 __RPC_FAR * This,
  4033.             /* [in] */ MEMBERID memid,
  4034.             /* [in] */ LCID lcid,
  4035.             /* [out] */ BSTR __RPC_FAR *pbstrHelpString,
  4036.             /* [out] */ DWORD __RPC_FAR *pdwHelpStringContext,
  4037.             /* [out] */ BSTR __RPC_FAR *pbstrHelpStringDll);
  4038.         
  4039.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllCustData )( 
  4040.             ITypeInfo2 __RPC_FAR * This,
  4041.             /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4042.         
  4043.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllFuncCustData )( 
  4044.             ITypeInfo2 __RPC_FAR * This,
  4045.             /* [in] */ UINT index,
  4046.             /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4047.         
  4048.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllParamCustData )( 
  4049.             ITypeInfo2 __RPC_FAR * This,
  4050.             /* [in] */ UINT indexFunc,
  4051.             /* [in] */ UINT indexParam,
  4052.             /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4053.         
  4054.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllVarCustData )( 
  4055.             ITypeInfo2 __RPC_FAR * This,
  4056.             /* [in] */ UINT index,
  4057.             /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4058.         
  4059.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllImplTypeCustData )( 
  4060.             ITypeInfo2 __RPC_FAR * This,
  4061.             /* [in] */ UINT index,
  4062.             /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4063.         
  4064.         END_INTERFACE
  4065.     } ITypeInfo2Vtbl;
  4066.  
  4067.     interface ITypeInfo2
  4068.     {
  4069.         CONST_VTBL struct ITypeInfo2Vtbl __RPC_FAR *lpVtbl;
  4070.     };
  4071.  
  4072.     
  4073.  
  4074. #ifdef COBJMACROS
  4075.  
  4076.  
  4077. #define ITypeInfo2_QueryInterface(This,riid,ppvObject)    \
  4078.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4079.  
  4080. #define ITypeInfo2_AddRef(This)    \
  4081.     (This)->lpVtbl -> AddRef(This)
  4082.  
  4083. #define ITypeInfo2_Release(This)    \
  4084.     (This)->lpVtbl -> Release(This)
  4085.  
  4086.  
  4087. #define ITypeInfo2_GetTypeAttr(This,ppTypeAttr)    \
  4088.     (This)->lpVtbl -> GetTypeAttr(This,ppTypeAttr)
  4089.  
  4090. #define ITypeInfo2_GetTypeComp(This,ppTComp)    \
  4091.     (This)->lpVtbl -> GetTypeComp(This,ppTComp)
  4092.  
  4093. #define ITypeInfo2_GetFuncDesc(This,index,ppFuncDesc)    \
  4094.     (This)->lpVtbl -> GetFuncDesc(This,index,ppFuncDesc)
  4095.  
  4096. #define ITypeInfo2_GetVarDesc(This,index,ppVarDesc)    \
  4097.     (This)->lpVtbl -> GetVarDesc(This,index,ppVarDesc)
  4098.  
  4099. #define ITypeInfo2_GetNames(This,memid,rgBstrNames,cMaxNames,pcNames)    \
  4100.     (This)->lpVtbl -> GetNames(This,memid,rgBstrNames,cMaxNames,pcNames)
  4101.  
  4102. #define ITypeInfo2_GetRefTypeOfImplType(This,index,pRefType)    \
  4103.     (This)->lpVtbl -> GetRefTypeOfImplType(This,index,pRefType)
  4104.  
  4105. #define ITypeInfo2_GetImplTypeFlags(This,index,pImplTypeFlags)    \
  4106.     (This)->lpVtbl -> GetImplTypeFlags(This,index,pImplTypeFlags)
  4107.  
  4108. #define ITypeInfo2_GetIDsOfNames(This,rgszNames,cNames,pMemId)    \
  4109.     (This)->lpVtbl -> GetIDsOfNames(This,rgszNames,cNames,pMemId)
  4110.  
  4111. #define ITypeInfo2_Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  4112.     (This)->lpVtbl -> Invoke(This,pvInstance,memid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4113.  
  4114. #define ITypeInfo2_GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile)    \
  4115.     (This)->lpVtbl -> GetDocumentation(This,memid,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile)
  4116.  
  4117. #define ITypeInfo2_GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal)    \
  4118.     (This)->lpVtbl -> GetDllEntry(This,memid,invKind,pBstrDllName,pBstrName,pwOrdinal)
  4119.  
  4120. #define ITypeInfo2_GetRefTypeInfo(This,hRefType,ppTInfo)    \
  4121.     (This)->lpVtbl -> GetRefTypeInfo(This,hRefType,ppTInfo)
  4122.  
  4123. #define ITypeInfo2_AddressOfMember(This,memid,invKind,ppv)    \
  4124.     (This)->lpVtbl -> AddressOfMember(This,memid,invKind,ppv)
  4125.  
  4126. #define ITypeInfo2_CreateInstance(This,pUnkOuter,riid,ppvObj)    \
  4127.     (This)->lpVtbl -> CreateInstance(This,pUnkOuter,riid,ppvObj)
  4128.  
  4129. #define ITypeInfo2_GetMops(This,memid,pBstrMops)    \
  4130.     (This)->lpVtbl -> GetMops(This,memid,pBstrMops)
  4131.  
  4132. #define ITypeInfo2_GetContainingTypeLib(This,ppTLib,pIndex)    \
  4133.     (This)->lpVtbl -> GetContainingTypeLib(This,ppTLib,pIndex)
  4134.  
  4135. #define ITypeInfo2_ReleaseTypeAttr(This,pTypeAttr)    \
  4136.     (This)->lpVtbl -> ReleaseTypeAttr(This,pTypeAttr)
  4137.  
  4138. #define ITypeInfo2_ReleaseFuncDesc(This,pFuncDesc)    \
  4139.     (This)->lpVtbl -> ReleaseFuncDesc(This,pFuncDesc)
  4140.  
  4141. #define ITypeInfo2_ReleaseVarDesc(This,pVarDesc)    \
  4142.     (This)->lpVtbl -> ReleaseVarDesc(This,pVarDesc)
  4143.  
  4144.  
  4145. #define ITypeInfo2_GetTypeKind(This,pTypeKind)    \
  4146.     (This)->lpVtbl -> GetTypeKind(This,pTypeKind)
  4147.  
  4148. #define ITypeInfo2_GetTypeFlags(This,pTypeFlags)    \
  4149.     (This)->lpVtbl -> GetTypeFlags(This,pTypeFlags)
  4150.  
  4151. #define ITypeInfo2_GetFuncIndexOfMemId(This,memid,invKind,pFuncIndex)    \
  4152.     (This)->lpVtbl -> GetFuncIndexOfMemId(This,memid,invKind,pFuncIndex)
  4153.  
  4154. #define ITypeInfo2_GetVarIndexOfMemId(This,memid,pVarIndex)    \
  4155.     (This)->lpVtbl -> GetVarIndexOfMemId(This,memid,pVarIndex)
  4156.  
  4157. #define ITypeInfo2_GetCustData(This,guid,pVarVal)    \
  4158.     (This)->lpVtbl -> GetCustData(This,guid,pVarVal)
  4159.  
  4160. #define ITypeInfo2_GetFuncCustData(This,index,guid,pVarVal)    \
  4161.     (This)->lpVtbl -> GetFuncCustData(This,index,guid,pVarVal)
  4162.  
  4163. #define ITypeInfo2_GetParamCustData(This,indexFunc,indexParam,guid,pVarVal)    \
  4164.     (This)->lpVtbl -> GetParamCustData(This,indexFunc,indexParam,guid,pVarVal)
  4165.  
  4166. #define ITypeInfo2_GetVarCustData(This,index,guid,pVarVal)    \
  4167.     (This)->lpVtbl -> GetVarCustData(This,index,guid,pVarVal)
  4168.  
  4169. #define ITypeInfo2_GetImplTypeCustData(This,index,guid,pVarVal)    \
  4170.     (This)->lpVtbl -> GetImplTypeCustData(This,index,guid,pVarVal)
  4171.  
  4172. #define ITypeInfo2_GetDocumentation2(This,memid,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll)    \
  4173.     (This)->lpVtbl -> GetDocumentation2(This,memid,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll)
  4174.  
  4175. #define ITypeInfo2_GetAllCustData(This,pCustData)    \
  4176.     (This)->lpVtbl -> GetAllCustData(This,pCustData)
  4177.  
  4178. #define ITypeInfo2_GetAllFuncCustData(This,index,pCustData)    \
  4179.     (This)->lpVtbl -> GetAllFuncCustData(This,index,pCustData)
  4180.  
  4181. #define ITypeInfo2_GetAllParamCustData(This,indexFunc,indexParam,pCustData)    \
  4182.     (This)->lpVtbl -> GetAllParamCustData(This,indexFunc,indexParam,pCustData)
  4183.  
  4184. #define ITypeInfo2_GetAllVarCustData(This,index,pCustData)    \
  4185.     (This)->lpVtbl -> GetAllVarCustData(This,index,pCustData)
  4186.  
  4187. #define ITypeInfo2_GetAllImplTypeCustData(This,index,pCustData)    \
  4188.     (This)->lpVtbl -> GetAllImplTypeCustData(This,index,pCustData)
  4189.  
  4190. #endif /* COBJMACROS */
  4191.  
  4192.  
  4193. #endif     /* C style interface */
  4194.  
  4195.  
  4196.  
  4197. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetTypeKind_Proxy( 
  4198.     ITypeInfo2 __RPC_FAR * This,
  4199.     /* [out] */ TYPEKIND __RPC_FAR *pTypeKind);
  4200.  
  4201.  
  4202. void __RPC_STUB ITypeInfo2_GetTypeKind_Stub(
  4203.     IRpcStubBuffer *This,
  4204.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4205.     PRPC_MESSAGE _pRpcMessage,
  4206.     DWORD *_pdwStubPhase);
  4207.  
  4208.  
  4209. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetTypeFlags_Proxy( 
  4210.     ITypeInfo2 __RPC_FAR * This,
  4211.     /* [out] */ ULONG __RPC_FAR *pTypeFlags);
  4212.  
  4213.  
  4214. void __RPC_STUB ITypeInfo2_GetTypeFlags_Stub(
  4215.     IRpcStubBuffer *This,
  4216.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4217.     PRPC_MESSAGE _pRpcMessage,
  4218.     DWORD *_pdwStubPhase);
  4219.  
  4220.  
  4221. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetFuncIndexOfMemId_Proxy( 
  4222.     ITypeInfo2 __RPC_FAR * This,
  4223.     /* [in] */ MEMBERID memid,
  4224.     /* [in] */ INVOKEKIND invKind,
  4225.     /* [out] */ UINT __RPC_FAR *pFuncIndex);
  4226.  
  4227.  
  4228. void __RPC_STUB ITypeInfo2_GetFuncIndexOfMemId_Stub(
  4229.     IRpcStubBuffer *This,
  4230.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4231.     PRPC_MESSAGE _pRpcMessage,
  4232.     DWORD *_pdwStubPhase);
  4233.  
  4234.  
  4235. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetVarIndexOfMemId_Proxy( 
  4236.     ITypeInfo2 __RPC_FAR * This,
  4237.     /* [in] */ MEMBERID memid,
  4238.     /* [out] */ UINT __RPC_FAR *pVarIndex);
  4239.  
  4240.  
  4241. void __RPC_STUB ITypeInfo2_GetVarIndexOfMemId_Stub(
  4242.     IRpcStubBuffer *This,
  4243.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4244.     PRPC_MESSAGE _pRpcMessage,
  4245.     DWORD *_pdwStubPhase);
  4246.  
  4247.  
  4248. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetCustData_Proxy( 
  4249.     ITypeInfo2 __RPC_FAR * This,
  4250.     /* [in] */ REFGUID guid,
  4251.     /* [out] */ VARIANT __RPC_FAR *pVarVal);
  4252.  
  4253.  
  4254. void __RPC_STUB ITypeInfo2_GetCustData_Stub(
  4255.     IRpcStubBuffer *This,
  4256.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4257.     PRPC_MESSAGE _pRpcMessage,
  4258.     DWORD *_pdwStubPhase);
  4259.  
  4260.  
  4261. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetFuncCustData_Proxy( 
  4262.     ITypeInfo2 __RPC_FAR * This,
  4263.     /* [in] */ UINT index,
  4264.     /* [in] */ REFGUID guid,
  4265.     /* [out] */ VARIANT __RPC_FAR *pVarVal);
  4266.  
  4267.  
  4268. void __RPC_STUB ITypeInfo2_GetFuncCustData_Stub(
  4269.     IRpcStubBuffer *This,
  4270.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4271.     PRPC_MESSAGE _pRpcMessage,
  4272.     DWORD *_pdwStubPhase);
  4273.  
  4274.  
  4275. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetParamCustData_Proxy( 
  4276.     ITypeInfo2 __RPC_FAR * This,
  4277.     /* [in] */ UINT indexFunc,
  4278.     /* [in] */ UINT indexParam,
  4279.     /* [in] */ REFGUID guid,
  4280.     /* [out] */ VARIANT __RPC_FAR *pVarVal);
  4281.  
  4282.  
  4283. void __RPC_STUB ITypeInfo2_GetParamCustData_Stub(
  4284.     IRpcStubBuffer *This,
  4285.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4286.     PRPC_MESSAGE _pRpcMessage,
  4287.     DWORD *_pdwStubPhase);
  4288.  
  4289.  
  4290. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetVarCustData_Proxy( 
  4291.     ITypeInfo2 __RPC_FAR * This,
  4292.     /* [in] */ UINT index,
  4293.     /* [in] */ REFGUID guid,
  4294.     /* [out] */ VARIANT __RPC_FAR *pVarVal);
  4295.  
  4296.  
  4297. void __RPC_STUB ITypeInfo2_GetVarCustData_Stub(
  4298.     IRpcStubBuffer *This,
  4299.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4300.     PRPC_MESSAGE _pRpcMessage,
  4301.     DWORD *_pdwStubPhase);
  4302.  
  4303.  
  4304. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetImplTypeCustData_Proxy( 
  4305.     ITypeInfo2 __RPC_FAR * This,
  4306.     /* [in] */ UINT index,
  4307.     /* [in] */ REFGUID guid,
  4308.     /* [out] */ VARIANT __RPC_FAR *pVarVal);
  4309.  
  4310.  
  4311. void __RPC_STUB ITypeInfo2_GetImplTypeCustData_Stub(
  4312.     IRpcStubBuffer *This,
  4313.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4314.     PRPC_MESSAGE _pRpcMessage,
  4315.     DWORD *_pdwStubPhase);
  4316.  
  4317.  
  4318. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo2_RemoteGetDocumentation2_Proxy( 
  4319.     ITypeInfo2 __RPC_FAR * This,
  4320.     /* [in] */ MEMBERID memid,
  4321.     /* [in] */ LCID lcid,
  4322.     /* [in] */ DWORD refPtrFlags,
  4323.     /* [out] */ BSTR __RPC_FAR *pbstrHelpString,
  4324.     /* [out] */ DWORD __RPC_FAR *pdwHelpStringContext,
  4325.     /* [out] */ BSTR __RPC_FAR *pbstrHelpStringDll);
  4326.  
  4327.  
  4328. void __RPC_STUB ITypeInfo2_RemoteGetDocumentation2_Stub(
  4329.     IRpcStubBuffer *This,
  4330.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4331.     PRPC_MESSAGE _pRpcMessage,
  4332.     DWORD *_pdwStubPhase);
  4333.  
  4334.  
  4335. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllCustData_Proxy( 
  4336.     ITypeInfo2 __RPC_FAR * This,
  4337.     /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4338.  
  4339.  
  4340. void __RPC_STUB ITypeInfo2_GetAllCustData_Stub(
  4341.     IRpcStubBuffer *This,
  4342.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4343.     PRPC_MESSAGE _pRpcMessage,
  4344.     DWORD *_pdwStubPhase);
  4345.  
  4346.  
  4347. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllFuncCustData_Proxy( 
  4348.     ITypeInfo2 __RPC_FAR * This,
  4349.     /* [in] */ UINT index,
  4350.     /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4351.  
  4352.  
  4353. void __RPC_STUB ITypeInfo2_GetAllFuncCustData_Stub(
  4354.     IRpcStubBuffer *This,
  4355.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4356.     PRPC_MESSAGE _pRpcMessage,
  4357.     DWORD *_pdwStubPhase);
  4358.  
  4359.  
  4360. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllParamCustData_Proxy( 
  4361.     ITypeInfo2 __RPC_FAR * This,
  4362.     /* [in] */ UINT indexFunc,
  4363.     /* [in] */ UINT indexParam,
  4364.     /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4365.  
  4366.  
  4367. void __RPC_STUB ITypeInfo2_GetAllParamCustData_Stub(
  4368.     IRpcStubBuffer *This,
  4369.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4370.     PRPC_MESSAGE _pRpcMessage,
  4371.     DWORD *_pdwStubPhase);
  4372.  
  4373.  
  4374. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllVarCustData_Proxy( 
  4375.     ITypeInfo2 __RPC_FAR * This,
  4376.     /* [in] */ UINT index,
  4377.     /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4378.  
  4379.  
  4380. void __RPC_STUB ITypeInfo2_GetAllVarCustData_Stub(
  4381.     IRpcStubBuffer *This,
  4382.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4383.     PRPC_MESSAGE _pRpcMessage,
  4384.     DWORD *_pdwStubPhase);
  4385.  
  4386.  
  4387. HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllImplTypeCustData_Proxy( 
  4388.     ITypeInfo2 __RPC_FAR * This,
  4389.     /* [in] */ UINT index,
  4390.     /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4391.  
  4392.  
  4393. void __RPC_STUB ITypeInfo2_GetAllImplTypeCustData_Stub(
  4394.     IRpcStubBuffer *This,
  4395.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4396.     PRPC_MESSAGE _pRpcMessage,
  4397.     DWORD *_pdwStubPhase);
  4398.  
  4399.  
  4400.  
  4401. #endif     /* __ITypeInfo2_INTERFACE_DEFINED__ */
  4402.  
  4403.  
  4404. #ifndef __ITypeLib_INTERFACE_DEFINED__
  4405. #define __ITypeLib_INTERFACE_DEFINED__
  4406.  
  4407. /* interface ITypeLib */
  4408. /* [unique][uuid][object] */ 
  4409.  
  4410. typedef /* [v1_enum] */ 
  4411. enum tagSYSKIND
  4412.     {    SYS_WIN16    = 0,
  4413.     SYS_WIN32    = SYS_WIN16 + 1,
  4414.     SYS_MAC    = SYS_WIN32 + 1,
  4415.     SYS_WIN64    = SYS_WIN32
  4416.     }    SYSKIND;
  4417.  
  4418. typedef /* [v1_enum] */ 
  4419. enum tagLIBFLAGS
  4420.     {    LIBFLAG_FRESTRICTED    = 0x1,
  4421.     LIBFLAG_FCONTROL    = 0x2,
  4422.     LIBFLAG_FHIDDEN    = 0x4,
  4423.     LIBFLAG_FHASDISKIMAGE    = 0x8
  4424.     }    LIBFLAGS;
  4425.  
  4426. typedef /* [unique] */ ITypeLib __RPC_FAR *LPTYPELIB;
  4427.  
  4428. typedef struct tagTLIBATTR
  4429.     {
  4430.     GUID guid;
  4431.     LCID lcid;
  4432.     SYSKIND syskind;
  4433.     WORD wMajorVerNum;
  4434.     WORD wMinorVerNum;
  4435.     WORD wLibFlags;
  4436.     }    TLIBATTR;
  4437.  
  4438. typedef struct tagTLIBATTR __RPC_FAR *LPTLIBATTR;
  4439.  
  4440.  
  4441. EXTERN_C const IID IID_ITypeLib;
  4442.  
  4443. #if defined(__cplusplus) && !defined(CINTERFACE)
  4444.     
  4445.     MIDL_INTERFACE("00020402-0000-0000-C000-000000000046")
  4446.     ITypeLib : public IUnknown
  4447.     {
  4448.     public:
  4449.         virtual /* [local] */ UINT STDMETHODCALLTYPE GetTypeInfoCount( void) = 0;
  4450.         
  4451.         virtual HRESULT STDMETHODCALLTYPE GetTypeInfo( 
  4452.             /* [in] */ UINT index,
  4453.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo) = 0;
  4454.         
  4455.         virtual HRESULT STDMETHODCALLTYPE GetTypeInfoType( 
  4456.             /* [in] */ UINT index,
  4457.             /* [out] */ TYPEKIND __RPC_FAR *pTKind) = 0;
  4458.         
  4459.         virtual HRESULT STDMETHODCALLTYPE GetTypeInfoOfGuid( 
  4460.             /* [in] */ REFGUID guid,
  4461.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTinfo) = 0;
  4462.         
  4463.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetLibAttr( 
  4464.             /* [out] */ TLIBATTR __RPC_FAR *__RPC_FAR *ppTLibAttr) = 0;
  4465.         
  4466.         virtual HRESULT STDMETHODCALLTYPE GetTypeComp( 
  4467.             /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp) = 0;
  4468.         
  4469.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDocumentation( 
  4470.             /* [in] */ INT index,
  4471.             /* [out] */ BSTR __RPC_FAR *pBstrName,
  4472.             /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  4473.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  4474.             /* [out] */ BSTR __RPC_FAR *pBstrHelpFile) = 0;
  4475.         
  4476.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE IsName( 
  4477.             /* [out][in] */ LPOLESTR szNameBuf,
  4478.             /* [in] */ ULONG lHashVal,
  4479.             /* [out] */ BOOL __RPC_FAR *pfName) = 0;
  4480.         
  4481.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE FindName( 
  4482.             /* [out][in] */ LPOLESTR szNameBuf,
  4483.             /* [in] */ ULONG lHashVal,
  4484.             /* [length_is][size_is][out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  4485.             /* [length_is][size_is][out] */ MEMBERID __RPC_FAR *rgMemId,
  4486.             /* [out][in] */ USHORT __RPC_FAR *pcFound) = 0;
  4487.         
  4488.         virtual /* [local] */ void STDMETHODCALLTYPE ReleaseTLibAttr( 
  4489.             /* [in] */ TLIBATTR __RPC_FAR *pTLibAttr) = 0;
  4490.         
  4491.     };
  4492.     
  4493. #else     /* C style interface */
  4494.  
  4495.     typedef struct ITypeLibVtbl
  4496.     {
  4497.         BEGIN_INTERFACE
  4498.         
  4499.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4500.             ITypeLib __RPC_FAR * This,
  4501.             /* [in] */ REFIID riid,
  4502.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4503.         
  4504.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4505.             ITypeLib __RPC_FAR * This);
  4506.         
  4507.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4508.             ITypeLib __RPC_FAR * This);
  4509.         
  4510.         /* [local] */ UINT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  4511.             ITypeLib __RPC_FAR * This);
  4512.         
  4513.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  4514.             ITypeLib __RPC_FAR * This,
  4515.             /* [in] */ UINT index,
  4516.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  4517.         
  4518.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoType )( 
  4519.             ITypeLib __RPC_FAR * This,
  4520.             /* [in] */ UINT index,
  4521.             /* [out] */ TYPEKIND __RPC_FAR *pTKind);
  4522.         
  4523.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoOfGuid )( 
  4524.             ITypeLib __RPC_FAR * This,
  4525.             /* [in] */ REFGUID guid,
  4526.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTinfo);
  4527.         
  4528.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLibAttr )( 
  4529.             ITypeLib __RPC_FAR * This,
  4530.             /* [out] */ TLIBATTR __RPC_FAR *__RPC_FAR *ppTLibAttr);
  4531.         
  4532.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeComp )( 
  4533.             ITypeLib __RPC_FAR * This,
  4534.             /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp);
  4535.         
  4536.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDocumentation )( 
  4537.             ITypeLib __RPC_FAR * This,
  4538.             /* [in] */ INT index,
  4539.             /* [out] */ BSTR __RPC_FAR *pBstrName,
  4540.             /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  4541.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  4542.             /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  4543.         
  4544.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsName )( 
  4545.             ITypeLib __RPC_FAR * This,
  4546.             /* [out][in] */ LPOLESTR szNameBuf,
  4547.             /* [in] */ ULONG lHashVal,
  4548.             /* [out] */ BOOL __RPC_FAR *pfName);
  4549.         
  4550.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindName )( 
  4551.             ITypeLib __RPC_FAR * This,
  4552.             /* [out][in] */ LPOLESTR szNameBuf,
  4553.             /* [in] */ ULONG lHashVal,
  4554.             /* [length_is][size_is][out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  4555.             /* [length_is][size_is][out] */ MEMBERID __RPC_FAR *rgMemId,
  4556.             /* [out][in] */ USHORT __RPC_FAR *pcFound);
  4557.         
  4558.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *ReleaseTLibAttr )( 
  4559.             ITypeLib __RPC_FAR * This,
  4560.             /* [in] */ TLIBATTR __RPC_FAR *pTLibAttr);
  4561.         
  4562.         END_INTERFACE
  4563.     } ITypeLibVtbl;
  4564.  
  4565.     interface ITypeLib
  4566.     {
  4567.         CONST_VTBL struct ITypeLibVtbl __RPC_FAR *lpVtbl;
  4568.     };
  4569.  
  4570.     
  4571.  
  4572. #ifdef COBJMACROS
  4573.  
  4574.  
  4575. #define ITypeLib_QueryInterface(This,riid,ppvObject)    \
  4576.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4577.  
  4578. #define ITypeLib_AddRef(This)    \
  4579.     (This)->lpVtbl -> AddRef(This)
  4580.  
  4581. #define ITypeLib_Release(This)    \
  4582.     (This)->lpVtbl -> Release(This)
  4583.  
  4584.  
  4585. #define ITypeLib_GetTypeInfoCount(This)    \
  4586.     (This)->lpVtbl -> GetTypeInfoCount(This)
  4587.  
  4588. #define ITypeLib_GetTypeInfo(This,index,ppTInfo)    \
  4589.     (This)->lpVtbl -> GetTypeInfo(This,index,ppTInfo)
  4590.  
  4591. #define ITypeLib_GetTypeInfoType(This,index,pTKind)    \
  4592.     (This)->lpVtbl -> GetTypeInfoType(This,index,pTKind)
  4593.  
  4594. #define ITypeLib_GetTypeInfoOfGuid(This,guid,ppTinfo)    \
  4595.     (This)->lpVtbl -> GetTypeInfoOfGuid(This,guid,ppTinfo)
  4596.  
  4597. #define ITypeLib_GetLibAttr(This,ppTLibAttr)    \
  4598.     (This)->lpVtbl -> GetLibAttr(This,ppTLibAttr)
  4599.  
  4600. #define ITypeLib_GetTypeComp(This,ppTComp)    \
  4601.     (This)->lpVtbl -> GetTypeComp(This,ppTComp)
  4602.  
  4603. #define ITypeLib_GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile)    \
  4604.     (This)->lpVtbl -> GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile)
  4605.  
  4606. #define ITypeLib_IsName(This,szNameBuf,lHashVal,pfName)    \
  4607.     (This)->lpVtbl -> IsName(This,szNameBuf,lHashVal,pfName)
  4608.  
  4609. #define ITypeLib_FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound)    \
  4610.     (This)->lpVtbl -> FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound)
  4611.  
  4612. #define ITypeLib_ReleaseTLibAttr(This,pTLibAttr)    \
  4613.     (This)->lpVtbl -> ReleaseTLibAttr(This,pTLibAttr)
  4614.  
  4615. #endif /* COBJMACROS */
  4616.  
  4617.  
  4618. #endif     /* C style interface */
  4619.  
  4620.  
  4621.  
  4622. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_RemoteGetTypeInfoCount_Proxy( 
  4623.     ITypeLib __RPC_FAR * This,
  4624.     /* [out] */ UINT __RPC_FAR *pcTInfo);
  4625.  
  4626.  
  4627. void __RPC_STUB ITypeLib_RemoteGetTypeInfoCount_Stub(
  4628.     IRpcStubBuffer *This,
  4629.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4630.     PRPC_MESSAGE _pRpcMessage,
  4631.     DWORD *_pdwStubPhase);
  4632.  
  4633.  
  4634. HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeInfo_Proxy( 
  4635.     ITypeLib __RPC_FAR * This,
  4636.     /* [in] */ UINT index,
  4637.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  4638.  
  4639.  
  4640. void __RPC_STUB ITypeLib_GetTypeInfo_Stub(
  4641.     IRpcStubBuffer *This,
  4642.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4643.     PRPC_MESSAGE _pRpcMessage,
  4644.     DWORD *_pdwStubPhase);
  4645.  
  4646.  
  4647. HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeInfoType_Proxy( 
  4648.     ITypeLib __RPC_FAR * This,
  4649.     /* [in] */ UINT index,
  4650.     /* [out] */ TYPEKIND __RPC_FAR *pTKind);
  4651.  
  4652.  
  4653. void __RPC_STUB ITypeLib_GetTypeInfoType_Stub(
  4654.     IRpcStubBuffer *This,
  4655.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4656.     PRPC_MESSAGE _pRpcMessage,
  4657.     DWORD *_pdwStubPhase);
  4658.  
  4659.  
  4660. HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeInfoOfGuid_Proxy( 
  4661.     ITypeLib __RPC_FAR * This,
  4662.     /* [in] */ REFGUID guid,
  4663.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTinfo);
  4664.  
  4665.  
  4666. void __RPC_STUB ITypeLib_GetTypeInfoOfGuid_Stub(
  4667.     IRpcStubBuffer *This,
  4668.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4669.     PRPC_MESSAGE _pRpcMessage,
  4670.     DWORD *_pdwStubPhase);
  4671.  
  4672.  
  4673. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_RemoteGetLibAttr_Proxy( 
  4674.     ITypeLib __RPC_FAR * This,
  4675.     /* [out] */ LPTLIBATTR __RPC_FAR *ppTLibAttr,
  4676.     /* [out] */ CLEANLOCALSTORAGE __RPC_FAR *pDummy);
  4677.  
  4678.  
  4679. void __RPC_STUB ITypeLib_RemoteGetLibAttr_Stub(
  4680.     IRpcStubBuffer *This,
  4681.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4682.     PRPC_MESSAGE _pRpcMessage,
  4683.     DWORD *_pdwStubPhase);
  4684.  
  4685.  
  4686. HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeComp_Proxy( 
  4687.     ITypeLib __RPC_FAR * This,
  4688.     /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp);
  4689.  
  4690.  
  4691. void __RPC_STUB ITypeLib_GetTypeComp_Stub(
  4692.     IRpcStubBuffer *This,
  4693.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4694.     PRPC_MESSAGE _pRpcMessage,
  4695.     DWORD *_pdwStubPhase);
  4696.  
  4697.  
  4698. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_RemoteGetDocumentation_Proxy( 
  4699.     ITypeLib __RPC_FAR * This,
  4700.     /* [in] */ INT index,
  4701.     /* [in] */ DWORD refPtrFlags,
  4702.     /* [out] */ BSTR __RPC_FAR *pBstrName,
  4703.     /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  4704.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  4705.     /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  4706.  
  4707.  
  4708. void __RPC_STUB ITypeLib_RemoteGetDocumentation_Stub(
  4709.     IRpcStubBuffer *This,
  4710.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4711.     PRPC_MESSAGE _pRpcMessage,
  4712.     DWORD *_pdwStubPhase);
  4713.  
  4714.  
  4715. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_RemoteIsName_Proxy( 
  4716.     ITypeLib __RPC_FAR * This,
  4717.     /* [in] */ LPOLESTR szNameBuf,
  4718.     /* [in] */ ULONG lHashVal,
  4719.     /* [out] */ BOOL __RPC_FAR *pfName,
  4720.     /* [out] */ BSTR __RPC_FAR *pBstrLibName);
  4721.  
  4722.  
  4723. void __RPC_STUB ITypeLib_RemoteIsName_Stub(
  4724.     IRpcStubBuffer *This,
  4725.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4726.     PRPC_MESSAGE _pRpcMessage,
  4727.     DWORD *_pdwStubPhase);
  4728.  
  4729.  
  4730. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_RemoteFindName_Proxy( 
  4731.     ITypeLib __RPC_FAR * This,
  4732.     /* [in] */ LPOLESTR szNameBuf,
  4733.     /* [in] */ ULONG lHashVal,
  4734.     /* [length_is][size_is][out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  4735.     /* [length_is][size_is][out] */ MEMBERID __RPC_FAR *rgMemId,
  4736.     /* [out][in] */ USHORT __RPC_FAR *pcFound,
  4737.     /* [out] */ BSTR __RPC_FAR *pBstrLibName);
  4738.  
  4739.  
  4740. void __RPC_STUB ITypeLib_RemoteFindName_Stub(
  4741.     IRpcStubBuffer *This,
  4742.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4743.     PRPC_MESSAGE _pRpcMessage,
  4744.     DWORD *_pdwStubPhase);
  4745.  
  4746.  
  4747. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_LocalReleaseTLibAttr_Proxy( 
  4748.     ITypeLib __RPC_FAR * This);
  4749.  
  4750.  
  4751. void __RPC_STUB ITypeLib_LocalReleaseTLibAttr_Stub(
  4752.     IRpcStubBuffer *This,
  4753.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4754.     PRPC_MESSAGE _pRpcMessage,
  4755.     DWORD *_pdwStubPhase);
  4756.  
  4757.  
  4758.  
  4759. #endif     /* __ITypeLib_INTERFACE_DEFINED__ */
  4760.  
  4761.  
  4762. #ifndef __ITypeLib2_INTERFACE_DEFINED__
  4763. #define __ITypeLib2_INTERFACE_DEFINED__
  4764.  
  4765. /* interface ITypeLib2 */
  4766. /* [unique][uuid][object] */ 
  4767.  
  4768. typedef /* [unique] */ ITypeLib2 __RPC_FAR *LPTYPELIB2;
  4769.  
  4770.  
  4771. EXTERN_C const IID IID_ITypeLib2;
  4772.  
  4773. #if defined(__cplusplus) && !defined(CINTERFACE)
  4774.     
  4775.     MIDL_INTERFACE("00020411-0000-0000-C000-000000000046")
  4776.     ITypeLib2 : public ITypeLib
  4777.     {
  4778.     public:
  4779.         virtual HRESULT STDMETHODCALLTYPE GetCustData( 
  4780.             /* [in] */ REFGUID guid,
  4781.             /* [out] */ VARIANT __RPC_FAR *pVarVal) = 0;
  4782.         
  4783.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetLibStatistics( 
  4784.             /* [out] */ ULONG __RPC_FAR *pcUniqueNames,
  4785.             /* [out] */ ULONG __RPC_FAR *pcchUniqueNames) = 0;
  4786.         
  4787.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDocumentation2( 
  4788.             /* [in] */ INT index,
  4789.             /* [in] */ LCID lcid,
  4790.             /* [out] */ BSTR __RPC_FAR *pbstrHelpString,
  4791.             /* [out] */ DWORD __RPC_FAR *pdwHelpStringContext,
  4792.             /* [out] */ BSTR __RPC_FAR *pbstrHelpStringDll) = 0;
  4793.         
  4794.         virtual HRESULT STDMETHODCALLTYPE GetAllCustData( 
  4795.             /* [out] */ CUSTDATA __RPC_FAR *pCustData) = 0;
  4796.         
  4797.     };
  4798.     
  4799. #else     /* C style interface */
  4800.  
  4801.     typedef struct ITypeLib2Vtbl
  4802.     {
  4803.         BEGIN_INTERFACE
  4804.         
  4805.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4806.             ITypeLib2 __RPC_FAR * This,
  4807.             /* [in] */ REFIID riid,
  4808.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4809.         
  4810.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4811.             ITypeLib2 __RPC_FAR * This);
  4812.         
  4813.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4814.             ITypeLib2 __RPC_FAR * This);
  4815.         
  4816.         /* [local] */ UINT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  4817.             ITypeLib2 __RPC_FAR * This);
  4818.         
  4819.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  4820.             ITypeLib2 __RPC_FAR * This,
  4821.             /* [in] */ UINT index,
  4822.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  4823.         
  4824.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoType )( 
  4825.             ITypeLib2 __RPC_FAR * This,
  4826.             /* [in] */ UINT index,
  4827.             /* [out] */ TYPEKIND __RPC_FAR *pTKind);
  4828.         
  4829.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoOfGuid )( 
  4830.             ITypeLib2 __RPC_FAR * This,
  4831.             /* [in] */ REFGUID guid,
  4832.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTinfo);
  4833.         
  4834.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLibAttr )( 
  4835.             ITypeLib2 __RPC_FAR * This,
  4836.             /* [out] */ TLIBATTR __RPC_FAR *__RPC_FAR *ppTLibAttr);
  4837.         
  4838.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeComp )( 
  4839.             ITypeLib2 __RPC_FAR * This,
  4840.             /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp);
  4841.         
  4842.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDocumentation )( 
  4843.             ITypeLib2 __RPC_FAR * This,
  4844.             /* [in] */ INT index,
  4845.             /* [out] */ BSTR __RPC_FAR *pBstrName,
  4846.             /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  4847.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  4848.             /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  4849.         
  4850.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsName )( 
  4851.             ITypeLib2 __RPC_FAR * This,
  4852.             /* [out][in] */ LPOLESTR szNameBuf,
  4853.             /* [in] */ ULONG lHashVal,
  4854.             /* [out] */ BOOL __RPC_FAR *pfName);
  4855.         
  4856.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindName )( 
  4857.             ITypeLib2 __RPC_FAR * This,
  4858.             /* [out][in] */ LPOLESTR szNameBuf,
  4859.             /* [in] */ ULONG lHashVal,
  4860.             /* [length_is][size_is][out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  4861.             /* [length_is][size_is][out] */ MEMBERID __RPC_FAR *rgMemId,
  4862.             /* [out][in] */ USHORT __RPC_FAR *pcFound);
  4863.         
  4864.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *ReleaseTLibAttr )( 
  4865.             ITypeLib2 __RPC_FAR * This,
  4866.             /* [in] */ TLIBATTR __RPC_FAR *pTLibAttr);
  4867.         
  4868.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCustData )( 
  4869.             ITypeLib2 __RPC_FAR * This,
  4870.             /* [in] */ REFGUID guid,
  4871.             /* [out] */ VARIANT __RPC_FAR *pVarVal);
  4872.         
  4873.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLibStatistics )( 
  4874.             ITypeLib2 __RPC_FAR * This,
  4875.             /* [out] */ ULONG __RPC_FAR *pcUniqueNames,
  4876.             /* [out] */ ULONG __RPC_FAR *pcchUniqueNames);
  4877.         
  4878.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDocumentation2 )( 
  4879.             ITypeLib2 __RPC_FAR * This,
  4880.             /* [in] */ INT index,
  4881.             /* [in] */ LCID lcid,
  4882.             /* [out] */ BSTR __RPC_FAR *pbstrHelpString,
  4883.             /* [out] */ DWORD __RPC_FAR *pdwHelpStringContext,
  4884.             /* [out] */ BSTR __RPC_FAR *pbstrHelpStringDll);
  4885.         
  4886.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllCustData )( 
  4887.             ITypeLib2 __RPC_FAR * This,
  4888.             /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  4889.         
  4890.         END_INTERFACE
  4891.     } ITypeLib2Vtbl;
  4892.  
  4893.     interface ITypeLib2
  4894.     {
  4895.         CONST_VTBL struct ITypeLib2Vtbl __RPC_FAR *lpVtbl;
  4896.     };
  4897.  
  4898.     
  4899.  
  4900. #ifdef COBJMACROS
  4901.  
  4902.  
  4903. #define ITypeLib2_QueryInterface(This,riid,ppvObject)    \
  4904.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4905.  
  4906. #define ITypeLib2_AddRef(This)    \
  4907.     (This)->lpVtbl -> AddRef(This)
  4908.  
  4909. #define ITypeLib2_Release(This)    \
  4910.     (This)->lpVtbl -> Release(This)
  4911.  
  4912.  
  4913. #define ITypeLib2_GetTypeInfoCount(This)    \
  4914.     (This)->lpVtbl -> GetTypeInfoCount(This)
  4915.  
  4916. #define ITypeLib2_GetTypeInfo(This,index,ppTInfo)    \
  4917.     (This)->lpVtbl -> GetTypeInfo(This,index,ppTInfo)
  4918.  
  4919. #define ITypeLib2_GetTypeInfoType(This,index,pTKind)    \
  4920.     (This)->lpVtbl -> GetTypeInfoType(This,index,pTKind)
  4921.  
  4922. #define ITypeLib2_GetTypeInfoOfGuid(This,guid,ppTinfo)    \
  4923.     (This)->lpVtbl -> GetTypeInfoOfGuid(This,guid,ppTinfo)
  4924.  
  4925. #define ITypeLib2_GetLibAttr(This,ppTLibAttr)    \
  4926.     (This)->lpVtbl -> GetLibAttr(This,ppTLibAttr)
  4927.  
  4928. #define ITypeLib2_GetTypeComp(This,ppTComp)    \
  4929.     (This)->lpVtbl -> GetTypeComp(This,ppTComp)
  4930.  
  4931. #define ITypeLib2_GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile)    \
  4932.     (This)->lpVtbl -> GetDocumentation(This,index,pBstrName,pBstrDocString,pdwHelpContext,pBstrHelpFile)
  4933.  
  4934. #define ITypeLib2_IsName(This,szNameBuf,lHashVal,pfName)    \
  4935.     (This)->lpVtbl -> IsName(This,szNameBuf,lHashVal,pfName)
  4936.  
  4937. #define ITypeLib2_FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound)    \
  4938.     (This)->lpVtbl -> FindName(This,szNameBuf,lHashVal,ppTInfo,rgMemId,pcFound)
  4939.  
  4940. #define ITypeLib2_ReleaseTLibAttr(This,pTLibAttr)    \
  4941.     (This)->lpVtbl -> ReleaseTLibAttr(This,pTLibAttr)
  4942.  
  4943.  
  4944. #define ITypeLib2_GetCustData(This,guid,pVarVal)    \
  4945.     (This)->lpVtbl -> GetCustData(This,guid,pVarVal)
  4946.  
  4947. #define ITypeLib2_GetLibStatistics(This,pcUniqueNames,pcchUniqueNames)    \
  4948.     (This)->lpVtbl -> GetLibStatistics(This,pcUniqueNames,pcchUniqueNames)
  4949.  
  4950. #define ITypeLib2_GetDocumentation2(This,index,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll)    \
  4951.     (This)->lpVtbl -> GetDocumentation2(This,index,lcid,pbstrHelpString,pdwHelpStringContext,pbstrHelpStringDll)
  4952.  
  4953. #define ITypeLib2_GetAllCustData(This,pCustData)    \
  4954.     (This)->lpVtbl -> GetAllCustData(This,pCustData)
  4955.  
  4956. #endif /* COBJMACROS */
  4957.  
  4958.  
  4959. #endif     /* C style interface */
  4960.  
  4961.  
  4962.  
  4963. HRESULT STDMETHODCALLTYPE ITypeLib2_GetCustData_Proxy( 
  4964.     ITypeLib2 __RPC_FAR * This,
  4965.     /* [in] */ REFGUID guid,
  4966.     /* [out] */ VARIANT __RPC_FAR *pVarVal);
  4967.  
  4968.  
  4969. void __RPC_STUB ITypeLib2_GetCustData_Stub(
  4970.     IRpcStubBuffer *This,
  4971.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4972.     PRPC_MESSAGE _pRpcMessage,
  4973.     DWORD *_pdwStubPhase);
  4974.  
  4975.  
  4976. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib2_RemoteGetLibStatistics_Proxy( 
  4977.     ITypeLib2 __RPC_FAR * This,
  4978.     /* [out] */ ULONG __RPC_FAR *pcUniqueNames,
  4979.     /* [out] */ ULONG __RPC_FAR *pcchUniqueNames);
  4980.  
  4981.  
  4982. void __RPC_STUB ITypeLib2_RemoteGetLibStatistics_Stub(
  4983.     IRpcStubBuffer *This,
  4984.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4985.     PRPC_MESSAGE _pRpcMessage,
  4986.     DWORD *_pdwStubPhase);
  4987.  
  4988.  
  4989. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib2_RemoteGetDocumentation2_Proxy( 
  4990.     ITypeLib2 __RPC_FAR * This,
  4991.     /* [in] */ INT index,
  4992.     /* [in] */ LCID lcid,
  4993.     /* [in] */ DWORD refPtrFlags,
  4994.     /* [out] */ BSTR __RPC_FAR *pbstrHelpString,
  4995.     /* [out] */ DWORD __RPC_FAR *pdwHelpStringContext,
  4996.     /* [out] */ BSTR __RPC_FAR *pbstrHelpStringDll);
  4997.  
  4998.  
  4999. void __RPC_STUB ITypeLib2_RemoteGetDocumentation2_Stub(
  5000.     IRpcStubBuffer *This,
  5001.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5002.     PRPC_MESSAGE _pRpcMessage,
  5003.     DWORD *_pdwStubPhase);
  5004.  
  5005.  
  5006. HRESULT STDMETHODCALLTYPE ITypeLib2_GetAllCustData_Proxy( 
  5007.     ITypeLib2 __RPC_FAR * This,
  5008.     /* [out] */ CUSTDATA __RPC_FAR *pCustData);
  5009.  
  5010.  
  5011. void __RPC_STUB ITypeLib2_GetAllCustData_Stub(
  5012.     IRpcStubBuffer *This,
  5013.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5014.     PRPC_MESSAGE _pRpcMessage,
  5015.     DWORD *_pdwStubPhase);
  5016.  
  5017.  
  5018.  
  5019. #endif     /* __ITypeLib2_INTERFACE_DEFINED__ */
  5020.  
  5021.  
  5022. #ifndef __ITypeChangeEvents_INTERFACE_DEFINED__
  5023. #define __ITypeChangeEvents_INTERFACE_DEFINED__
  5024.  
  5025. /* interface ITypeChangeEvents */
  5026. /* [local][unique][uuid][object] */ 
  5027.  
  5028. typedef /* [unique] */ ITypeChangeEvents __RPC_FAR *LPTYPECHANGEEVENTS;
  5029.  
  5030. typedef 
  5031. enum tagCHANGEKIND
  5032.     {    CHANGEKIND_ADDMEMBER    = 0,
  5033.     CHANGEKIND_DELETEMEMBER    = CHANGEKIND_ADDMEMBER + 1,
  5034.     CHANGEKIND_SETNAMES    = CHANGEKIND_DELETEMEMBER + 1,
  5035.     CHANGEKIND_SETDOCUMENTATION    = CHANGEKIND_SETNAMES + 1,
  5036.     CHANGEKIND_GENERAL    = CHANGEKIND_SETDOCUMENTATION + 1,
  5037.     CHANGEKIND_INVALIDATE    = CHANGEKIND_GENERAL + 1,
  5038.     CHANGEKIND_CHANGEFAILED    = CHANGEKIND_INVALIDATE + 1,
  5039.     CHANGEKIND_MAX    = CHANGEKIND_CHANGEFAILED + 1
  5040.     }    CHANGEKIND;
  5041.  
  5042.  
  5043. EXTERN_C const IID IID_ITypeChangeEvents;
  5044.  
  5045. #if defined(__cplusplus) && !defined(CINTERFACE)
  5046.     
  5047.     MIDL_INTERFACE("00020410-0000-0000-C000-000000000046")
  5048.     ITypeChangeEvents : public IUnknown
  5049.     {
  5050.     public:
  5051.         virtual HRESULT STDMETHODCALLTYPE RequestTypeChange( 
  5052.             /* [in] */ CHANGEKIND changeKind,
  5053.             /* [in] */ ITypeInfo __RPC_FAR *pTInfoBefore,
  5054.             /* [in] */ LPOLESTR pStrName,
  5055.             /* [out] */ INT __RPC_FAR *pfCancel) = 0;
  5056.         
  5057.         virtual HRESULT STDMETHODCALLTYPE AfterTypeChange( 
  5058.             /* [in] */ CHANGEKIND changeKind,
  5059.             /* [in] */ ITypeInfo __RPC_FAR *pTInfoAfter,
  5060.             /* [in] */ LPOLESTR pStrName) = 0;
  5061.         
  5062.     };
  5063.     
  5064. #else     /* C style interface */
  5065.  
  5066.     typedef struct ITypeChangeEventsVtbl
  5067.     {
  5068.         BEGIN_INTERFACE
  5069.         
  5070.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5071.             ITypeChangeEvents __RPC_FAR * This,
  5072.             /* [in] */ REFIID riid,
  5073.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5074.         
  5075.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5076.             ITypeChangeEvents __RPC_FAR * This);
  5077.         
  5078.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5079.             ITypeChangeEvents __RPC_FAR * This);
  5080.         
  5081.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RequestTypeChange )( 
  5082.             ITypeChangeEvents __RPC_FAR * This,
  5083.             /* [in] */ CHANGEKIND changeKind,
  5084.             /* [in] */ ITypeInfo __RPC_FAR *pTInfoBefore,
  5085.             /* [in] */ LPOLESTR pStrName,
  5086.             /* [out] */ INT __RPC_FAR *pfCancel);
  5087.         
  5088.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AfterTypeChange )( 
  5089.             ITypeChangeEvents __RPC_FAR * This,
  5090.             /* [in] */ CHANGEKIND changeKind,
  5091.             /* [in] */ ITypeInfo __RPC_FAR *pTInfoAfter,
  5092.             /* [in] */ LPOLESTR pStrName);
  5093.         
  5094.         END_INTERFACE
  5095.     } ITypeChangeEventsVtbl;
  5096.  
  5097.     interface ITypeChangeEvents
  5098.     {
  5099.         CONST_VTBL struct ITypeChangeEventsVtbl __RPC_FAR *lpVtbl;
  5100.     };
  5101.  
  5102.     
  5103.  
  5104. #ifdef COBJMACROS
  5105.  
  5106.  
  5107. #define ITypeChangeEvents_QueryInterface(This,riid,ppvObject)    \
  5108.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5109.  
  5110. #define ITypeChangeEvents_AddRef(This)    \
  5111.     (This)->lpVtbl -> AddRef(This)
  5112.  
  5113. #define ITypeChangeEvents_Release(This)    \
  5114.     (This)->lpVtbl -> Release(This)
  5115.  
  5116.  
  5117. #define ITypeChangeEvents_RequestTypeChange(This,changeKind,pTInfoBefore,pStrName,pfCancel)    \
  5118.     (This)->lpVtbl -> RequestTypeChange(This,changeKind,pTInfoBefore,pStrName,pfCancel)
  5119.  
  5120. #define ITypeChangeEvents_AfterTypeChange(This,changeKind,pTInfoAfter,pStrName)    \
  5121.     (This)->lpVtbl -> AfterTypeChange(This,changeKind,pTInfoAfter,pStrName)
  5122.  
  5123. #endif /* COBJMACROS */
  5124.  
  5125.  
  5126. #endif     /* C style interface */
  5127.  
  5128.  
  5129.  
  5130. HRESULT STDMETHODCALLTYPE ITypeChangeEvents_RequestTypeChange_Proxy( 
  5131.     ITypeChangeEvents __RPC_FAR * This,
  5132.     /* [in] */ CHANGEKIND changeKind,
  5133.     /* [in] */ ITypeInfo __RPC_FAR *pTInfoBefore,
  5134.     /* [in] */ LPOLESTR pStrName,
  5135.     /* [out] */ INT __RPC_FAR *pfCancel);
  5136.  
  5137.  
  5138. void __RPC_STUB ITypeChangeEvents_RequestTypeChange_Stub(
  5139.     IRpcStubBuffer *This,
  5140.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5141.     PRPC_MESSAGE _pRpcMessage,
  5142.     DWORD *_pdwStubPhase);
  5143.  
  5144.  
  5145. HRESULT STDMETHODCALLTYPE ITypeChangeEvents_AfterTypeChange_Proxy( 
  5146.     ITypeChangeEvents __RPC_FAR * This,
  5147.     /* [in] */ CHANGEKIND changeKind,
  5148.     /* [in] */ ITypeInfo __RPC_FAR *pTInfoAfter,
  5149.     /* [in] */ LPOLESTR pStrName);
  5150.  
  5151.  
  5152. void __RPC_STUB ITypeChangeEvents_AfterTypeChange_Stub(
  5153.     IRpcStubBuffer *This,
  5154.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5155.     PRPC_MESSAGE _pRpcMessage,
  5156.     DWORD *_pdwStubPhase);
  5157.  
  5158.  
  5159.  
  5160. #endif     /* __ITypeChangeEvents_INTERFACE_DEFINED__ */
  5161.  
  5162.  
  5163. #ifndef __IErrorInfo_INTERFACE_DEFINED__
  5164. #define __IErrorInfo_INTERFACE_DEFINED__
  5165.  
  5166. /* interface IErrorInfo */
  5167. /* [unique][uuid][object] */ 
  5168.  
  5169. typedef /* [unique] */ IErrorInfo __RPC_FAR *LPERRORINFO;
  5170.  
  5171.  
  5172. EXTERN_C const IID IID_IErrorInfo;
  5173.  
  5174. #if defined(__cplusplus) && !defined(CINTERFACE)
  5175.     
  5176.     MIDL_INTERFACE("1CF2B120-547D-101B-8E65-08002B2BD119")
  5177.     IErrorInfo : public IUnknown
  5178.     {
  5179.     public:
  5180.         virtual HRESULT STDMETHODCALLTYPE GetGUID( 
  5181.             /* [out] */ GUID __RPC_FAR *pGUID) = 0;
  5182.         
  5183.         virtual HRESULT STDMETHODCALLTYPE GetSource( 
  5184.             /* [out] */ BSTR __RPC_FAR *pBstrSource) = 0;
  5185.         
  5186.         virtual HRESULT STDMETHODCALLTYPE GetDescription( 
  5187.             /* [out] */ BSTR __RPC_FAR *pBstrDescription) = 0;
  5188.         
  5189.         virtual HRESULT STDMETHODCALLTYPE GetHelpFile( 
  5190.             /* [out] */ BSTR __RPC_FAR *pBstrHelpFile) = 0;
  5191.         
  5192.         virtual HRESULT STDMETHODCALLTYPE GetHelpContext( 
  5193.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext) = 0;
  5194.         
  5195.     };
  5196.     
  5197. #else     /* C style interface */
  5198.  
  5199.     typedef struct IErrorInfoVtbl
  5200.     {
  5201.         BEGIN_INTERFACE
  5202.         
  5203.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5204.             IErrorInfo __RPC_FAR * This,
  5205.             /* [in] */ REFIID riid,
  5206.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5207.         
  5208.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5209.             IErrorInfo __RPC_FAR * This);
  5210.         
  5211.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5212.             IErrorInfo __RPC_FAR * This);
  5213.         
  5214.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetGUID )( 
  5215.             IErrorInfo __RPC_FAR * This,
  5216.             /* [out] */ GUID __RPC_FAR *pGUID);
  5217.         
  5218.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSource )( 
  5219.             IErrorInfo __RPC_FAR * This,
  5220.             /* [out] */ BSTR __RPC_FAR *pBstrSource);
  5221.         
  5222.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDescription )( 
  5223.             IErrorInfo __RPC_FAR * This,
  5224.             /* [out] */ BSTR __RPC_FAR *pBstrDescription);
  5225.         
  5226.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetHelpFile )( 
  5227.             IErrorInfo __RPC_FAR * This,
  5228.             /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  5229.         
  5230.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetHelpContext )( 
  5231.             IErrorInfo __RPC_FAR * This,
  5232.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext);
  5233.         
  5234.         END_INTERFACE
  5235.     } IErrorInfoVtbl;
  5236.  
  5237.     interface IErrorInfo
  5238.     {
  5239.         CONST_VTBL struct IErrorInfoVtbl __RPC_FAR *lpVtbl;
  5240.     };
  5241.  
  5242.     
  5243.  
  5244. #ifdef COBJMACROS
  5245.  
  5246.  
  5247. #define IErrorInfo_QueryInterface(This,riid,ppvObject)    \
  5248.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5249.  
  5250. #define IErrorInfo_AddRef(This)    \
  5251.     (This)->lpVtbl -> AddRef(This)
  5252.  
  5253. #define IErrorInfo_Release(This)    \
  5254.     (This)->lpVtbl -> Release(This)
  5255.  
  5256.  
  5257. #define IErrorInfo_GetGUID(This,pGUID)    \
  5258.     (This)->lpVtbl -> GetGUID(This,pGUID)
  5259.  
  5260. #define IErrorInfo_GetSource(This,pBstrSource)    \
  5261.     (This)->lpVtbl -> GetSource(This,pBstrSource)
  5262.  
  5263. #define IErrorInfo_GetDescription(This,pBstrDescription)    \
  5264.     (This)->lpVtbl -> GetDescription(This,pBstrDescription)
  5265.  
  5266. #define IErrorInfo_GetHelpFile(This,pBstrHelpFile)    \
  5267.     (This)->lpVtbl -> GetHelpFile(This,pBstrHelpFile)
  5268.  
  5269. #define IErrorInfo_GetHelpContext(This,pdwHelpContext)    \
  5270.     (This)->lpVtbl -> GetHelpContext(This,pdwHelpContext)
  5271.  
  5272. #endif /* COBJMACROS */
  5273.  
  5274.  
  5275. #endif     /* C style interface */
  5276.  
  5277.  
  5278.  
  5279. HRESULT STDMETHODCALLTYPE IErrorInfo_GetGUID_Proxy( 
  5280.     IErrorInfo __RPC_FAR * This,
  5281.     /* [out] */ GUID __RPC_FAR *pGUID);
  5282.  
  5283.  
  5284. void __RPC_STUB IErrorInfo_GetGUID_Stub(
  5285.     IRpcStubBuffer *This,
  5286.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5287.     PRPC_MESSAGE _pRpcMessage,
  5288.     DWORD *_pdwStubPhase);
  5289.  
  5290.  
  5291. HRESULT STDMETHODCALLTYPE IErrorInfo_GetSource_Proxy( 
  5292.     IErrorInfo __RPC_FAR * This,
  5293.     /* [out] */ BSTR __RPC_FAR *pBstrSource);
  5294.  
  5295.  
  5296. void __RPC_STUB IErrorInfo_GetSource_Stub(
  5297.     IRpcStubBuffer *This,
  5298.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5299.     PRPC_MESSAGE _pRpcMessage,
  5300.     DWORD *_pdwStubPhase);
  5301.  
  5302.  
  5303. HRESULT STDMETHODCALLTYPE IErrorInfo_GetDescription_Proxy( 
  5304.     IErrorInfo __RPC_FAR * This,
  5305.     /* [out] */ BSTR __RPC_FAR *pBstrDescription);
  5306.  
  5307.  
  5308. void __RPC_STUB IErrorInfo_GetDescription_Stub(
  5309.     IRpcStubBuffer *This,
  5310.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5311.     PRPC_MESSAGE _pRpcMessage,
  5312.     DWORD *_pdwStubPhase);
  5313.  
  5314.  
  5315. HRESULT STDMETHODCALLTYPE IErrorInfo_GetHelpFile_Proxy( 
  5316.     IErrorInfo __RPC_FAR * This,
  5317.     /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  5318.  
  5319.  
  5320. void __RPC_STUB IErrorInfo_GetHelpFile_Stub(
  5321.     IRpcStubBuffer *This,
  5322.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5323.     PRPC_MESSAGE _pRpcMessage,
  5324.     DWORD *_pdwStubPhase);
  5325.  
  5326.  
  5327. HRESULT STDMETHODCALLTYPE IErrorInfo_GetHelpContext_Proxy( 
  5328.     IErrorInfo __RPC_FAR * This,
  5329.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext);
  5330.  
  5331.  
  5332. void __RPC_STUB IErrorInfo_GetHelpContext_Stub(
  5333.     IRpcStubBuffer *This,
  5334.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5335.     PRPC_MESSAGE _pRpcMessage,
  5336.     DWORD *_pdwStubPhase);
  5337.  
  5338.  
  5339.  
  5340. #endif     /* __IErrorInfo_INTERFACE_DEFINED__ */
  5341.  
  5342.  
  5343. #ifndef __ICreateErrorInfo_INTERFACE_DEFINED__
  5344. #define __ICreateErrorInfo_INTERFACE_DEFINED__
  5345.  
  5346. /* interface ICreateErrorInfo */
  5347. /* [unique][uuid][object] */ 
  5348.  
  5349. typedef /* [unique] */ ICreateErrorInfo __RPC_FAR *LPCREATEERRORINFO;
  5350.  
  5351.  
  5352. EXTERN_C const IID IID_ICreateErrorInfo;
  5353.  
  5354. #if defined(__cplusplus) && !defined(CINTERFACE)
  5355.     
  5356.     MIDL_INTERFACE("22F03340-547D-101B-8E65-08002B2BD119")
  5357.     ICreateErrorInfo : public IUnknown
  5358.     {
  5359.     public:
  5360.         virtual HRESULT STDMETHODCALLTYPE SetGUID( 
  5361.             /* [in] */ REFGUID rguid) = 0;
  5362.         
  5363.         virtual HRESULT STDMETHODCALLTYPE SetSource( 
  5364.             /* [in] */ LPOLESTR szSource) = 0;
  5365.         
  5366.         virtual HRESULT STDMETHODCALLTYPE SetDescription( 
  5367.             /* [in] */ LPOLESTR szDescription) = 0;
  5368.         
  5369.         virtual HRESULT STDMETHODCALLTYPE SetHelpFile( 
  5370.             /* [in] */ LPOLESTR szHelpFile) = 0;
  5371.         
  5372.         virtual HRESULT STDMETHODCALLTYPE SetHelpContext( 
  5373.             /* [in] */ DWORD dwHelpContext) = 0;
  5374.         
  5375.     };
  5376.     
  5377. #else     /* C style interface */
  5378.  
  5379.     typedef struct ICreateErrorInfoVtbl
  5380.     {
  5381.         BEGIN_INTERFACE
  5382.         
  5383.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5384.             ICreateErrorInfo __RPC_FAR * This,
  5385.             /* [in] */ REFIID riid,
  5386.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5387.         
  5388.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5389.             ICreateErrorInfo __RPC_FAR * This);
  5390.         
  5391.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5392.             ICreateErrorInfo __RPC_FAR * This);
  5393.         
  5394.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetGUID )( 
  5395.             ICreateErrorInfo __RPC_FAR * This,
  5396.             /* [in] */ REFGUID rguid);
  5397.         
  5398.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSource )( 
  5399.             ICreateErrorInfo __RPC_FAR * This,
  5400.             /* [in] */ LPOLESTR szSource);
  5401.         
  5402.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDescription )( 
  5403.             ICreateErrorInfo __RPC_FAR * This,
  5404.             /* [in] */ LPOLESTR szDescription);
  5405.         
  5406.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelpFile )( 
  5407.             ICreateErrorInfo __RPC_FAR * This,
  5408.             /* [in] */ LPOLESTR szHelpFile);
  5409.         
  5410.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetHelpContext )( 
  5411.             ICreateErrorInfo __RPC_FAR * This,
  5412.             /* [in] */ DWORD dwHelpContext);
  5413.         
  5414.         END_INTERFACE
  5415.     } ICreateErrorInfoVtbl;
  5416.  
  5417.     interface ICreateErrorInfo
  5418.     {
  5419.         CONST_VTBL struct ICreateErrorInfoVtbl __RPC_FAR *lpVtbl;
  5420.     };
  5421.  
  5422.     
  5423.  
  5424. #ifdef COBJMACROS
  5425.  
  5426.  
  5427. #define ICreateErrorInfo_QueryInterface(This,riid,ppvObject)    \
  5428.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5429.  
  5430. #define ICreateErrorInfo_AddRef(This)    \
  5431.     (This)->lpVtbl -> AddRef(This)
  5432.  
  5433. #define ICreateErrorInfo_Release(This)    \
  5434.     (This)->lpVtbl -> Release(This)
  5435.  
  5436.  
  5437. #define ICreateErrorInfo_SetGUID(This,rguid)    \
  5438.     (This)->lpVtbl -> SetGUID(This,rguid)
  5439.  
  5440. #define ICreateErrorInfo_SetSource(This,szSource)    \
  5441.     (This)->lpVtbl -> SetSource(This,szSource)
  5442.  
  5443. #define ICreateErrorInfo_SetDescription(This,szDescription)    \
  5444.     (This)->lpVtbl -> SetDescription(This,szDescription)
  5445.  
  5446. #define ICreateErrorInfo_SetHelpFile(This,szHelpFile)    \
  5447.     (This)->lpVtbl -> SetHelpFile(This,szHelpFile)
  5448.  
  5449. #define ICreateErrorInfo_SetHelpContext(This,dwHelpContext)    \
  5450.     (This)->lpVtbl -> SetHelpContext(This,dwHelpContext)
  5451.  
  5452. #endif /* COBJMACROS */
  5453.  
  5454.  
  5455. #endif     /* C style interface */
  5456.  
  5457.  
  5458.  
  5459. HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetGUID_Proxy( 
  5460.     ICreateErrorInfo __RPC_FAR * This,
  5461.     /* [in] */ REFGUID rguid);
  5462.  
  5463.  
  5464. void __RPC_STUB ICreateErrorInfo_SetGUID_Stub(
  5465.     IRpcStubBuffer *This,
  5466.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5467.     PRPC_MESSAGE _pRpcMessage,
  5468.     DWORD *_pdwStubPhase);
  5469.  
  5470.  
  5471. HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetSource_Proxy( 
  5472.     ICreateErrorInfo __RPC_FAR * This,
  5473.     /* [in] */ LPOLESTR szSource);
  5474.  
  5475.  
  5476. void __RPC_STUB ICreateErrorInfo_SetSource_Stub(
  5477.     IRpcStubBuffer *This,
  5478.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5479.     PRPC_MESSAGE _pRpcMessage,
  5480.     DWORD *_pdwStubPhase);
  5481.  
  5482.  
  5483. HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetDescription_Proxy( 
  5484.     ICreateErrorInfo __RPC_FAR * This,
  5485.     /* [in] */ LPOLESTR szDescription);
  5486.  
  5487.  
  5488. void __RPC_STUB ICreateErrorInfo_SetDescription_Stub(
  5489.     IRpcStubBuffer *This,
  5490.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5491.     PRPC_MESSAGE _pRpcMessage,
  5492.     DWORD *_pdwStubPhase);
  5493.  
  5494.  
  5495. HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetHelpFile_Proxy( 
  5496.     ICreateErrorInfo __RPC_FAR * This,
  5497.     /* [in] */ LPOLESTR szHelpFile);
  5498.  
  5499.  
  5500. void __RPC_STUB ICreateErrorInfo_SetHelpFile_Stub(
  5501.     IRpcStubBuffer *This,
  5502.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5503.     PRPC_MESSAGE _pRpcMessage,
  5504.     DWORD *_pdwStubPhase);
  5505.  
  5506.  
  5507. HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetHelpContext_Proxy( 
  5508.     ICreateErrorInfo __RPC_FAR * This,
  5509.     /* [in] */ DWORD dwHelpContext);
  5510.  
  5511.  
  5512. void __RPC_STUB ICreateErrorInfo_SetHelpContext_Stub(
  5513.     IRpcStubBuffer *This,
  5514.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5515.     PRPC_MESSAGE _pRpcMessage,
  5516.     DWORD *_pdwStubPhase);
  5517.  
  5518.  
  5519.  
  5520. #endif     /* __ICreateErrorInfo_INTERFACE_DEFINED__ */
  5521.  
  5522.  
  5523. #ifndef __ISupportErrorInfo_INTERFACE_DEFINED__
  5524. #define __ISupportErrorInfo_INTERFACE_DEFINED__
  5525.  
  5526. /* interface ISupportErrorInfo */
  5527. /* [unique][uuid][object] */ 
  5528.  
  5529. typedef /* [unique] */ ISupportErrorInfo __RPC_FAR *LPSUPPORTERRORINFO;
  5530.  
  5531.  
  5532. EXTERN_C const IID IID_ISupportErrorInfo;
  5533.  
  5534. #if defined(__cplusplus) && !defined(CINTERFACE)
  5535.     
  5536.     MIDL_INTERFACE("DF0B3D60-548F-101B-8E65-08002B2BD119")
  5537.     ISupportErrorInfo : public IUnknown
  5538.     {
  5539.     public:
  5540.         virtual HRESULT STDMETHODCALLTYPE InterfaceSupportsErrorInfo( 
  5541.             /* [in] */ REFIID riid) = 0;
  5542.         
  5543.     };
  5544.     
  5545. #else     /* C style interface */
  5546.  
  5547.     typedef struct ISupportErrorInfoVtbl
  5548.     {
  5549.         BEGIN_INTERFACE
  5550.         
  5551.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5552.             ISupportErrorInfo __RPC_FAR * This,
  5553.             /* [in] */ REFIID riid,
  5554.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5555.         
  5556.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5557.             ISupportErrorInfo __RPC_FAR * This);
  5558.         
  5559.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5560.             ISupportErrorInfo __RPC_FAR * This);
  5561.         
  5562.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InterfaceSupportsErrorInfo )( 
  5563.             ISupportErrorInfo __RPC_FAR * This,
  5564.             /* [in] */ REFIID riid);
  5565.         
  5566.         END_INTERFACE
  5567.     } ISupportErrorInfoVtbl;
  5568.  
  5569.     interface ISupportErrorInfo
  5570.     {
  5571.         CONST_VTBL struct ISupportErrorInfoVtbl __RPC_FAR *lpVtbl;
  5572.     };
  5573.  
  5574.     
  5575.  
  5576. #ifdef COBJMACROS
  5577.  
  5578.  
  5579. #define ISupportErrorInfo_QueryInterface(This,riid,ppvObject)    \
  5580.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5581.  
  5582. #define ISupportErrorInfo_AddRef(This)    \
  5583.     (This)->lpVtbl -> AddRef(This)
  5584.  
  5585. #define ISupportErrorInfo_Release(This)    \
  5586.     (This)->lpVtbl -> Release(This)
  5587.  
  5588.  
  5589. #define ISupportErrorInfo_InterfaceSupportsErrorInfo(This,riid)    \
  5590.     (This)->lpVtbl -> InterfaceSupportsErrorInfo(This,riid)
  5591.  
  5592. #endif /* COBJMACROS */
  5593.  
  5594.  
  5595. #endif     /* C style interface */
  5596.  
  5597.  
  5598.  
  5599. HRESULT STDMETHODCALLTYPE ISupportErrorInfo_InterfaceSupportsErrorInfo_Proxy( 
  5600.     ISupportErrorInfo __RPC_FAR * This,
  5601.     /* [in] */ REFIID riid);
  5602.  
  5603.  
  5604. void __RPC_STUB ISupportErrorInfo_InterfaceSupportsErrorInfo_Stub(
  5605.     IRpcStubBuffer *This,
  5606.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5607.     PRPC_MESSAGE _pRpcMessage,
  5608.     DWORD *_pdwStubPhase);
  5609.  
  5610.  
  5611.  
  5612. #endif     /* __ISupportErrorInfo_INTERFACE_DEFINED__ */
  5613.  
  5614.  
  5615. #ifndef __ITypeFactory_INTERFACE_DEFINED__
  5616. #define __ITypeFactory_INTERFACE_DEFINED__
  5617.  
  5618. /* interface ITypeFactory */
  5619. /* [uuid][object] */ 
  5620.  
  5621.  
  5622. EXTERN_C const IID IID_ITypeFactory;
  5623.  
  5624. #if defined(__cplusplus) && !defined(CINTERFACE)
  5625.     
  5626.     MIDL_INTERFACE("0000002E-0000-0000-C000-000000000046")
  5627.     ITypeFactory : public IUnknown
  5628.     {
  5629.     public:
  5630.         virtual HRESULT STDMETHODCALLTYPE CreateFromTypeInfo( 
  5631.             /* [in] */ ITypeInfo __RPC_FAR *pTypeInfo,
  5632.             /* [in] */ REFIID riid,
  5633.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppv) = 0;
  5634.         
  5635.     };
  5636.     
  5637. #else     /* C style interface */
  5638.  
  5639.     typedef struct ITypeFactoryVtbl
  5640.     {
  5641.         BEGIN_INTERFACE
  5642.         
  5643.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5644.             ITypeFactory __RPC_FAR * This,
  5645.             /* [in] */ REFIID riid,
  5646.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5647.         
  5648.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5649.             ITypeFactory __RPC_FAR * This);
  5650.         
  5651.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5652.             ITypeFactory __RPC_FAR * This);
  5653.         
  5654.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateFromTypeInfo )( 
  5655.             ITypeFactory __RPC_FAR * This,
  5656.             /* [in] */ ITypeInfo __RPC_FAR *pTypeInfo,
  5657.             /* [in] */ REFIID riid,
  5658.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppv);
  5659.         
  5660.         END_INTERFACE
  5661.     } ITypeFactoryVtbl;
  5662.  
  5663.     interface ITypeFactory
  5664.     {
  5665.         CONST_VTBL struct ITypeFactoryVtbl __RPC_FAR *lpVtbl;
  5666.     };
  5667.  
  5668.     
  5669.  
  5670. #ifdef COBJMACROS
  5671.  
  5672.  
  5673. #define ITypeFactory_QueryInterface(This,riid,ppvObject)    \
  5674.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5675.  
  5676. #define ITypeFactory_AddRef(This)    \
  5677.     (This)->lpVtbl -> AddRef(This)
  5678.  
  5679. #define ITypeFactory_Release(This)    \
  5680.     (This)->lpVtbl -> Release(This)
  5681.  
  5682.  
  5683. #define ITypeFactory_CreateFromTypeInfo(This,pTypeInfo,riid,ppv)    \
  5684.     (This)->lpVtbl -> CreateFromTypeInfo(This,pTypeInfo,riid,ppv)
  5685.  
  5686. #endif /* COBJMACROS */
  5687.  
  5688.  
  5689. #endif     /* C style interface */
  5690.  
  5691.  
  5692.  
  5693. HRESULT STDMETHODCALLTYPE ITypeFactory_CreateFromTypeInfo_Proxy( 
  5694.     ITypeFactory __RPC_FAR * This,
  5695.     /* [in] */ ITypeInfo __RPC_FAR *pTypeInfo,
  5696.     /* [in] */ REFIID riid,
  5697.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppv);
  5698.  
  5699.  
  5700. void __RPC_STUB ITypeFactory_CreateFromTypeInfo_Stub(
  5701.     IRpcStubBuffer *This,
  5702.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5703.     PRPC_MESSAGE _pRpcMessage,
  5704.     DWORD *_pdwStubPhase);
  5705.  
  5706.  
  5707.  
  5708. #endif     /* __ITypeFactory_INTERFACE_DEFINED__ */
  5709.  
  5710.  
  5711. #ifndef __ITypeMarshal_INTERFACE_DEFINED__
  5712. #define __ITypeMarshal_INTERFACE_DEFINED__
  5713.  
  5714. /* interface ITypeMarshal */
  5715. /* [uuid][object][local] */ 
  5716.  
  5717.  
  5718. EXTERN_C const IID IID_ITypeMarshal;
  5719.  
  5720. #if defined(__cplusplus) && !defined(CINTERFACE)
  5721.     
  5722.     MIDL_INTERFACE("0000002D-0000-0000-C000-000000000046")
  5723.     ITypeMarshal : public IUnknown
  5724.     {
  5725.     public:
  5726.         virtual HRESULT STDMETHODCALLTYPE Size( 
  5727.             /* [in] */ PVOID pvType,
  5728.             /* [in] */ DWORD dwDestContext,
  5729.             /* [in] */ PVOID pvDestContext,
  5730.             /* [out] */ ULONG __RPC_FAR *pSize) = 0;
  5731.         
  5732.         virtual HRESULT STDMETHODCALLTYPE Marshal( 
  5733.             /* [in] */ PVOID pvType,
  5734.             /* [in] */ DWORD dwDestContext,
  5735.             /* [in] */ PVOID pvDestContext,
  5736.             /* [in] */ ULONG cbBufferLength,
  5737.             /* [out] */ BYTE __RPC_FAR *pBuffer,
  5738.             /* [out] */ ULONG __RPC_FAR *pcbWritten) = 0;
  5739.         
  5740.         virtual HRESULT STDMETHODCALLTYPE Unmarshal( 
  5741.             /* [out] */ PVOID pvType,
  5742.             /* [in] */ DWORD dwFlags,
  5743.             /* [in] */ ULONG cbBufferLength,
  5744.             /* [in] */ BYTE __RPC_FAR *pBuffer,
  5745.             /* [out] */ ULONG __RPC_FAR *pcbRead) = 0;
  5746.         
  5747.         virtual HRESULT STDMETHODCALLTYPE Free( 
  5748.             /* [in] */ PVOID pvType) = 0;
  5749.         
  5750.     };
  5751.     
  5752. #else     /* C style interface */
  5753.  
  5754.     typedef struct ITypeMarshalVtbl
  5755.     {
  5756.         BEGIN_INTERFACE
  5757.         
  5758.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5759.             ITypeMarshal __RPC_FAR * This,
  5760.             /* [in] */ REFIID riid,
  5761.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5762.         
  5763.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5764.             ITypeMarshal __RPC_FAR * This);
  5765.         
  5766.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5767.             ITypeMarshal __RPC_FAR * This);
  5768.         
  5769.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Size )( 
  5770.             ITypeMarshal __RPC_FAR * This,
  5771.             /* [in] */ PVOID pvType,
  5772.             /* [in] */ DWORD dwDestContext,
  5773.             /* [in] */ PVOID pvDestContext,
  5774.             /* [out] */ ULONG __RPC_FAR *pSize);
  5775.         
  5776.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Marshal )( 
  5777.             ITypeMarshal __RPC_FAR * This,
  5778.             /* [in] */ PVOID pvType,
  5779.             /* [in] */ DWORD dwDestContext,
  5780.             /* [in] */ PVOID pvDestContext,
  5781.             /* [in] */ ULONG cbBufferLength,
  5782.             /* [out] */ BYTE __RPC_FAR *pBuffer,
  5783.             /* [out] */ ULONG __RPC_FAR *pcbWritten);
  5784.         
  5785.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Unmarshal )( 
  5786.             ITypeMarshal __RPC_FAR * This,
  5787.             /* [out] */ PVOID pvType,
  5788.             /* [in] */ DWORD dwFlags,
  5789.             /* [in] */ ULONG cbBufferLength,
  5790.             /* [in] */ BYTE __RPC_FAR *pBuffer,
  5791.             /* [out] */ ULONG __RPC_FAR *pcbRead);
  5792.         
  5793.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Free )( 
  5794.             ITypeMarshal __RPC_FAR * This,
  5795.             /* [in] */ PVOID pvType);
  5796.         
  5797.         END_INTERFACE
  5798.     } ITypeMarshalVtbl;
  5799.  
  5800.     interface ITypeMarshal
  5801.     {
  5802.         CONST_VTBL struct ITypeMarshalVtbl __RPC_FAR *lpVtbl;
  5803.     };
  5804.  
  5805.     
  5806.  
  5807. #ifdef COBJMACROS
  5808.  
  5809.  
  5810. #define ITypeMarshal_QueryInterface(This,riid,ppvObject)    \
  5811.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5812.  
  5813. #define ITypeMarshal_AddRef(This)    \
  5814.     (This)->lpVtbl -> AddRef(This)
  5815.  
  5816. #define ITypeMarshal_Release(This)    \
  5817.     (This)->lpVtbl -> Release(This)
  5818.  
  5819.  
  5820. #define ITypeMarshal_Size(This,pvType,dwDestContext,pvDestContext,pSize)    \
  5821.     (This)->lpVtbl -> Size(This,pvType,dwDestContext,pvDestContext,pSize)
  5822.  
  5823. #define ITypeMarshal_Marshal(This,pvType,dwDestContext,pvDestContext,cbBufferLength,pBuffer,pcbWritten)    \
  5824.     (This)->lpVtbl -> Marshal(This,pvType,dwDestContext,pvDestContext,cbBufferLength,pBuffer,pcbWritten)
  5825.  
  5826. #define ITypeMarshal_Unmarshal(This,pvType,dwFlags,cbBufferLength,pBuffer,pcbRead)    \
  5827.     (This)->lpVtbl -> Unmarshal(This,pvType,dwFlags,cbBufferLength,pBuffer,pcbRead)
  5828.  
  5829. #define ITypeMarshal_Free(This,pvType)    \
  5830.     (This)->lpVtbl -> Free(This,pvType)
  5831.  
  5832. #endif /* COBJMACROS */
  5833.  
  5834.  
  5835. #endif     /* C style interface */
  5836.  
  5837.  
  5838.  
  5839. HRESULT STDMETHODCALLTYPE ITypeMarshal_Size_Proxy( 
  5840.     ITypeMarshal __RPC_FAR * This,
  5841.     /* [in] */ PVOID pvType,
  5842.     /* [in] */ DWORD dwDestContext,
  5843.     /* [in] */ PVOID pvDestContext,
  5844.     /* [out] */ ULONG __RPC_FAR *pSize);
  5845.  
  5846.  
  5847. void __RPC_STUB ITypeMarshal_Size_Stub(
  5848.     IRpcStubBuffer *This,
  5849.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5850.     PRPC_MESSAGE _pRpcMessage,
  5851.     DWORD *_pdwStubPhase);
  5852.  
  5853.  
  5854. HRESULT STDMETHODCALLTYPE ITypeMarshal_Marshal_Proxy( 
  5855.     ITypeMarshal __RPC_FAR * This,
  5856.     /* [in] */ PVOID pvType,
  5857.     /* [in] */ DWORD dwDestContext,
  5858.     /* [in] */ PVOID pvDestContext,
  5859.     /* [in] */ ULONG cbBufferLength,
  5860.     /* [out] */ BYTE __RPC_FAR *pBuffer,
  5861.     /* [out] */ ULONG __RPC_FAR *pcbWritten);
  5862.  
  5863.  
  5864. void __RPC_STUB ITypeMarshal_Marshal_Stub(
  5865.     IRpcStubBuffer *This,
  5866.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5867.     PRPC_MESSAGE _pRpcMessage,
  5868.     DWORD *_pdwStubPhase);
  5869.  
  5870.  
  5871. HRESULT STDMETHODCALLTYPE ITypeMarshal_Unmarshal_Proxy( 
  5872.     ITypeMarshal __RPC_FAR * This,
  5873.     /* [out] */ PVOID pvType,
  5874.     /* [in] */ DWORD dwFlags,
  5875.     /* [in] */ ULONG cbBufferLength,
  5876.     /* [in] */ BYTE __RPC_FAR *pBuffer,
  5877.     /* [out] */ ULONG __RPC_FAR *pcbRead);
  5878.  
  5879.  
  5880. void __RPC_STUB ITypeMarshal_Unmarshal_Stub(
  5881.     IRpcStubBuffer *This,
  5882.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5883.     PRPC_MESSAGE _pRpcMessage,
  5884.     DWORD *_pdwStubPhase);
  5885.  
  5886.  
  5887. HRESULT STDMETHODCALLTYPE ITypeMarshal_Free_Proxy( 
  5888.     ITypeMarshal __RPC_FAR * This,
  5889.     /* [in] */ PVOID pvType);
  5890.  
  5891.  
  5892. void __RPC_STUB ITypeMarshal_Free_Stub(
  5893.     IRpcStubBuffer *This,
  5894.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5895.     PRPC_MESSAGE _pRpcMessage,
  5896.     DWORD *_pdwStubPhase);
  5897.  
  5898.  
  5899.  
  5900. #endif     /* __ITypeMarshal_INTERFACE_DEFINED__ */
  5901.  
  5902.  
  5903. #ifndef __IRecordInfo_INTERFACE_DEFINED__
  5904. #define __IRecordInfo_INTERFACE_DEFINED__
  5905.  
  5906. /* interface IRecordInfo */
  5907. /* [uuid][object][local] */ 
  5908.  
  5909. typedef /* [unique] */ IRecordInfo __RPC_FAR *LPRECORDINFO;
  5910.  
  5911.  
  5912. EXTERN_C const IID IID_IRecordInfo;
  5913.  
  5914. #if defined(__cplusplus) && !defined(CINTERFACE)
  5915.     
  5916.     MIDL_INTERFACE("0000002F-0000-0000-C000-000000000046")
  5917.     IRecordInfo : public IUnknown
  5918.     {
  5919.     public:
  5920.         virtual HRESULT STDMETHODCALLTYPE RecordInit( 
  5921.             /* [out] */ PVOID pvNew) = 0;
  5922.         
  5923.         virtual HRESULT STDMETHODCALLTYPE RecordClear( 
  5924.             /* [in] */ PVOID pvExisting) = 0;
  5925.         
  5926.         virtual HRESULT STDMETHODCALLTYPE RecordCopy( 
  5927.             /* [in] */ PVOID pvExisting,
  5928.             /* [out] */ PVOID pvNew) = 0;
  5929.         
  5930.         virtual HRESULT STDMETHODCALLTYPE GetGuid( 
  5931.             /* [out] */ GUID __RPC_FAR *pguid) = 0;
  5932.         
  5933.         virtual HRESULT STDMETHODCALLTYPE GetName( 
  5934.             /* [out] */ BSTR __RPC_FAR *pbstrName) = 0;
  5935.         
  5936.         virtual HRESULT STDMETHODCALLTYPE GetSize( 
  5937.             /* [out] */ ULONG __RPC_FAR *pcbSize) = 0;
  5938.         
  5939.         virtual HRESULT STDMETHODCALLTYPE GetTypeInfo( 
  5940.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTypeInfo) = 0;
  5941.         
  5942.         virtual HRESULT STDMETHODCALLTYPE GetField( 
  5943.             /* [in] */ PVOID pvData,
  5944.             /* [in] */ LPCOLESTR szFieldName,
  5945.             /* [out] */ VARIANT __RPC_FAR *pvarField) = 0;
  5946.         
  5947.         virtual HRESULT STDMETHODCALLTYPE GetFieldNoCopy( 
  5948.             /* [in] */ PVOID pvData,
  5949.             /* [in] */ LPCOLESTR szFieldName,
  5950.             /* [out] */ VARIANT __RPC_FAR *pvarField,
  5951.             /* [out] */ PVOID __RPC_FAR *ppvDataCArray) = 0;
  5952.         
  5953.         virtual HRESULT STDMETHODCALLTYPE PutField( 
  5954.             /* [in] */ ULONG wFlags,
  5955.             /* [out][in] */ PVOID pvData,
  5956.             /* [in] */ LPCOLESTR szFieldName,
  5957.             /* [in] */ VARIANT __RPC_FAR *pvarField) = 0;
  5958.         
  5959.         virtual HRESULT STDMETHODCALLTYPE PutFieldNoCopy( 
  5960.             /* [in] */ ULONG wFlags,
  5961.             /* [out][in] */ PVOID pvData,
  5962.             /* [in] */ LPCOLESTR szFieldName,
  5963.             /* [in] */ VARIANT __RPC_FAR *pvarField) = 0;
  5964.         
  5965.         virtual HRESULT STDMETHODCALLTYPE GetFieldNames( 
  5966.             /* [out][in] */ ULONG __RPC_FAR *pcNames,
  5967.             /* [length_is][size_is][out] */ BSTR __RPC_FAR *rgBstrNames) = 0;
  5968.         
  5969.         virtual BOOL STDMETHODCALLTYPE IsMatchingType( 
  5970.             /* [in] */ IRecordInfo __RPC_FAR *pRecordInfo) = 0;
  5971.         
  5972.         virtual PVOID STDMETHODCALLTYPE RecordCreate( void) = 0;
  5973.         
  5974.         virtual HRESULT STDMETHODCALLTYPE RecordCreateCopy( 
  5975.             /* [in] */ PVOID pvSource,
  5976.             /* [out] */ PVOID __RPC_FAR *ppvDest) = 0;
  5977.         
  5978.         virtual HRESULT STDMETHODCALLTYPE RecordDestroy( 
  5979.             /* [in] */ PVOID pvRecord) = 0;
  5980.         
  5981.     };
  5982.     
  5983. #else     /* C style interface */
  5984.  
  5985.     typedef struct IRecordInfoVtbl
  5986.     {
  5987.         BEGIN_INTERFACE
  5988.         
  5989.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5990.             IRecordInfo __RPC_FAR * This,
  5991.             /* [in] */ REFIID riid,
  5992.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5993.         
  5994.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5995.             IRecordInfo __RPC_FAR * This);
  5996.         
  5997.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5998.             IRecordInfo __RPC_FAR * This);
  5999.         
  6000.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RecordInit )( 
  6001.             IRecordInfo __RPC_FAR * This,
  6002.             /* [out] */ PVOID pvNew);
  6003.         
  6004.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RecordClear )( 
  6005.             IRecordInfo __RPC_FAR * This,
  6006.             /* [in] */ PVOID pvExisting);
  6007.         
  6008.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RecordCopy )( 
  6009.             IRecordInfo __RPC_FAR * This,
  6010.             /* [in] */ PVOID pvExisting,
  6011.             /* [out] */ PVOID pvNew);
  6012.         
  6013.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetGuid )( 
  6014.             IRecordInfo __RPC_FAR * This,
  6015.             /* [out] */ GUID __RPC_FAR *pguid);
  6016.         
  6017.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetName )( 
  6018.             IRecordInfo __RPC_FAR * This,
  6019.             /* [out] */ BSTR __RPC_FAR *pbstrName);
  6020.         
  6021.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSize )( 
  6022.             IRecordInfo __RPC_FAR * This,
  6023.             /* [out] */ ULONG __RPC_FAR *pcbSize);
  6024.         
  6025.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  6026.             IRecordInfo __RPC_FAR * This,
  6027.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTypeInfo);
  6028.         
  6029.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetField )( 
  6030.             IRecordInfo __RPC_FAR * This,
  6031.             /* [in] */ PVOID pvData,
  6032.             /* [in] */ LPCOLESTR szFieldName,
  6033.             /* [out] */ VARIANT __RPC_FAR *pvarField);
  6034.         
  6035.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFieldNoCopy )( 
  6036.             IRecordInfo __RPC_FAR * This,
  6037.             /* [in] */ PVOID pvData,
  6038.             /* [in] */ LPCOLESTR szFieldName,
  6039.             /* [out] */ VARIANT __RPC_FAR *pvarField,
  6040.             /* [out] */ PVOID __RPC_FAR *ppvDataCArray);
  6041.         
  6042.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PutField )( 
  6043.             IRecordInfo __RPC_FAR * This,
  6044.             /* [in] */ ULONG wFlags,
  6045.             /* [out][in] */ PVOID pvData,
  6046.             /* [in] */ LPCOLESTR szFieldName,
  6047.             /* [in] */ VARIANT __RPC_FAR *pvarField);
  6048.         
  6049.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PutFieldNoCopy )( 
  6050.             IRecordInfo __RPC_FAR * This,
  6051.             /* [in] */ ULONG wFlags,
  6052.             /* [out][in] */ PVOID pvData,
  6053.             /* [in] */ LPCOLESTR szFieldName,
  6054.             /* [in] */ VARIANT __RPC_FAR *pvarField);
  6055.         
  6056.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFieldNames )( 
  6057.             IRecordInfo __RPC_FAR * This,
  6058.             /* [out][in] */ ULONG __RPC_FAR *pcNames,
  6059.             /* [length_is][size_is][out] */ BSTR __RPC_FAR *rgBstrNames);
  6060.         
  6061.         BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsMatchingType )( 
  6062.             IRecordInfo __RPC_FAR * This,
  6063.             /* [in] */ IRecordInfo __RPC_FAR *pRecordInfo);
  6064.         
  6065.         PVOID ( STDMETHODCALLTYPE __RPC_FAR *RecordCreate )( 
  6066.             IRecordInfo __RPC_FAR * This);
  6067.         
  6068.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RecordCreateCopy )( 
  6069.             IRecordInfo __RPC_FAR * This,
  6070.             /* [in] */ PVOID pvSource,
  6071.             /* [out] */ PVOID __RPC_FAR *ppvDest);
  6072.         
  6073.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RecordDestroy )( 
  6074.             IRecordInfo __RPC_FAR * This,
  6075.             /* [in] */ PVOID pvRecord);
  6076.         
  6077.         END_INTERFACE
  6078.     } IRecordInfoVtbl;
  6079.  
  6080.     interface IRecordInfo
  6081.     {
  6082.         CONST_VTBL struct IRecordInfoVtbl __RPC_FAR *lpVtbl;
  6083.     };
  6084.  
  6085.     
  6086.  
  6087. #ifdef COBJMACROS
  6088.  
  6089.  
  6090. #define IRecordInfo_QueryInterface(This,riid,ppvObject)    \
  6091.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6092.  
  6093. #define IRecordInfo_AddRef(This)    \
  6094.     (This)->lpVtbl -> AddRef(This)
  6095.  
  6096. #define IRecordInfo_Release(This)    \
  6097.     (This)->lpVtbl -> Release(This)
  6098.  
  6099.  
  6100. #define IRecordInfo_RecordInit(This,pvNew)    \
  6101.     (This)->lpVtbl -> RecordInit(This,pvNew)
  6102.  
  6103. #define IRecordInfo_RecordClear(This,pvExisting)    \
  6104.     (This)->lpVtbl -> RecordClear(This,pvExisting)
  6105.  
  6106. #define IRecordInfo_RecordCopy(This,pvExisting,pvNew)    \
  6107.     (This)->lpVtbl -> RecordCopy(This,pvExisting,pvNew)
  6108.  
  6109. #define IRecordInfo_GetGuid(This,pguid)    \
  6110.     (This)->lpVtbl -> GetGuid(This,pguid)
  6111.  
  6112. #define IRecordInfo_GetName(This,pbstrName)    \
  6113.     (This)->lpVtbl -> GetName(This,pbstrName)
  6114.  
  6115. #define IRecordInfo_GetSize(This,pcbSize)    \
  6116.     (This)->lpVtbl -> GetSize(This,pcbSize)
  6117.  
  6118. #define IRecordInfo_GetTypeInfo(This,ppTypeInfo)    \
  6119.     (This)->lpVtbl -> GetTypeInfo(This,ppTypeInfo)
  6120.  
  6121. #define IRecordInfo_GetField(This,pvData,szFieldName,pvarField)    \
  6122.     (This)->lpVtbl -> GetField(This,pvData,szFieldName,pvarField)
  6123.  
  6124. #define IRecordInfo_GetFieldNoCopy(This,pvData,szFieldName,pvarField,ppvDataCArray)    \
  6125.     (This)->lpVtbl -> GetFieldNoCopy(This,pvData,szFieldName,pvarField,ppvDataCArray)
  6126.  
  6127. #define IRecordInfo_PutField(This,wFlags,pvData,szFieldName,pvarField)    \
  6128.     (This)->lpVtbl -> PutField(This,wFlags,pvData,szFieldName,pvarField)
  6129.  
  6130. #define IRecordInfo_PutFieldNoCopy(This,wFlags,pvData,szFieldName,pvarField)    \
  6131.     (This)->lpVtbl -> PutFieldNoCopy(This,wFlags,pvData,szFieldName,pvarField)
  6132.  
  6133. #define IRecordInfo_GetFieldNames(This,pcNames,rgBstrNames)    \
  6134.     (This)->lpVtbl -> GetFieldNames(This,pcNames,rgBstrNames)
  6135.  
  6136. #define IRecordInfo_IsMatchingType(This,pRecordInfo)    \
  6137.     (This)->lpVtbl -> IsMatchingType(This,pRecordInfo)
  6138.  
  6139. #define IRecordInfo_RecordCreate(This)    \
  6140.     (This)->lpVtbl -> RecordCreate(This)
  6141.  
  6142. #define IRecordInfo_RecordCreateCopy(This,pvSource,ppvDest)    \
  6143.     (This)->lpVtbl -> RecordCreateCopy(This,pvSource,ppvDest)
  6144.  
  6145. #define IRecordInfo_RecordDestroy(This,pvRecord)    \
  6146.     (This)->lpVtbl -> RecordDestroy(This,pvRecord)
  6147.  
  6148. #endif /* COBJMACROS */
  6149.  
  6150.  
  6151. #endif     /* C style interface */
  6152.  
  6153.  
  6154.  
  6155. HRESULT STDMETHODCALLTYPE IRecordInfo_RecordInit_Proxy( 
  6156.     IRecordInfo __RPC_FAR * This,
  6157.     /* [out] */ PVOID pvNew);
  6158.  
  6159.  
  6160. void __RPC_STUB IRecordInfo_RecordInit_Stub(
  6161.     IRpcStubBuffer *This,
  6162.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6163.     PRPC_MESSAGE _pRpcMessage,
  6164.     DWORD *_pdwStubPhase);
  6165.  
  6166.  
  6167. HRESULT STDMETHODCALLTYPE IRecordInfo_RecordClear_Proxy( 
  6168.     IRecordInfo __RPC_FAR * This,
  6169.     /* [in] */ PVOID pvExisting);
  6170.  
  6171.  
  6172. void __RPC_STUB IRecordInfo_RecordClear_Stub(
  6173.     IRpcStubBuffer *This,
  6174.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6175.     PRPC_MESSAGE _pRpcMessage,
  6176.     DWORD *_pdwStubPhase);
  6177.  
  6178.  
  6179. HRESULT STDMETHODCALLTYPE IRecordInfo_RecordCopy_Proxy( 
  6180.     IRecordInfo __RPC_FAR * This,
  6181.     /* [in] */ PVOID pvExisting,
  6182.     /* [out] */ PVOID pvNew);
  6183.  
  6184.  
  6185. void __RPC_STUB IRecordInfo_RecordCopy_Stub(
  6186.     IRpcStubBuffer *This,
  6187.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6188.     PRPC_MESSAGE _pRpcMessage,
  6189.     DWORD *_pdwStubPhase);
  6190.  
  6191.  
  6192. HRESULT STDMETHODCALLTYPE IRecordInfo_GetGuid_Proxy( 
  6193.     IRecordInfo __RPC_FAR * This,
  6194.     /* [out] */ GUID __RPC_FAR *pguid);
  6195.  
  6196.  
  6197. void __RPC_STUB IRecordInfo_GetGuid_Stub(
  6198.     IRpcStubBuffer *This,
  6199.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6200.     PRPC_MESSAGE _pRpcMessage,
  6201.     DWORD *_pdwStubPhase);
  6202.  
  6203.  
  6204. HRESULT STDMETHODCALLTYPE IRecordInfo_GetName_Proxy( 
  6205.     IRecordInfo __RPC_FAR * This,
  6206.     /* [out] */ BSTR __RPC_FAR *pbstrName);
  6207.  
  6208.  
  6209. void __RPC_STUB IRecordInfo_GetName_Stub(
  6210.     IRpcStubBuffer *This,
  6211.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6212.     PRPC_MESSAGE _pRpcMessage,
  6213.     DWORD *_pdwStubPhase);
  6214.  
  6215.  
  6216. HRESULT STDMETHODCALLTYPE IRecordInfo_GetSize_Proxy( 
  6217.     IRecordInfo __RPC_FAR * This,
  6218.     /* [out] */ ULONG __RPC_FAR *pcbSize);
  6219.  
  6220.  
  6221. void __RPC_STUB IRecordInfo_GetSize_Stub(
  6222.     IRpcStubBuffer *This,
  6223.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6224.     PRPC_MESSAGE _pRpcMessage,
  6225.     DWORD *_pdwStubPhase);
  6226.  
  6227.  
  6228. HRESULT STDMETHODCALLTYPE IRecordInfo_GetTypeInfo_Proxy( 
  6229.     IRecordInfo __RPC_FAR * This,
  6230.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTypeInfo);
  6231.  
  6232.  
  6233. void __RPC_STUB IRecordInfo_GetTypeInfo_Stub(
  6234.     IRpcStubBuffer *This,
  6235.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6236.     PRPC_MESSAGE _pRpcMessage,
  6237.     DWORD *_pdwStubPhase);
  6238.  
  6239.  
  6240. HRESULT STDMETHODCALLTYPE IRecordInfo_GetField_Proxy( 
  6241.     IRecordInfo __RPC_FAR * This,
  6242.     /* [in] */ PVOID pvData,
  6243.     /* [in] */ LPCOLESTR szFieldName,
  6244.     /* [out] */ VARIANT __RPC_FAR *pvarField);
  6245.  
  6246.  
  6247. void __RPC_STUB IRecordInfo_GetField_Stub(
  6248.     IRpcStubBuffer *This,
  6249.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6250.     PRPC_MESSAGE _pRpcMessage,
  6251.     DWORD *_pdwStubPhase);
  6252.  
  6253.  
  6254. HRESULT STDMETHODCALLTYPE IRecordInfo_GetFieldNoCopy_Proxy( 
  6255.     IRecordInfo __RPC_FAR * This,
  6256.     /* [in] */ PVOID pvData,
  6257.     /* [in] */ LPCOLESTR szFieldName,
  6258.     /* [out] */ VARIANT __RPC_FAR *pvarField,
  6259.     /* [out] */ PVOID __RPC_FAR *ppvDataCArray);
  6260.  
  6261.  
  6262. void __RPC_STUB IRecordInfo_GetFieldNoCopy_Stub(
  6263.     IRpcStubBuffer *This,
  6264.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6265.     PRPC_MESSAGE _pRpcMessage,
  6266.     DWORD *_pdwStubPhase);
  6267.  
  6268.  
  6269. HRESULT STDMETHODCALLTYPE IRecordInfo_PutField_Proxy( 
  6270.     IRecordInfo __RPC_FAR * This,
  6271.     /* [in] */ ULONG wFlags,
  6272.     /* [out][in] */ PVOID pvData,
  6273.     /* [in] */ LPCOLESTR szFieldName,
  6274.     /* [in] */ VARIANT __RPC_FAR *pvarField);
  6275.  
  6276.  
  6277. void __RPC_STUB IRecordInfo_PutField_Stub(
  6278.     IRpcStubBuffer *This,
  6279.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6280.     PRPC_MESSAGE _pRpcMessage,
  6281.     DWORD *_pdwStubPhase);
  6282.  
  6283.  
  6284. HRESULT STDMETHODCALLTYPE IRecordInfo_PutFieldNoCopy_Proxy( 
  6285.     IRecordInfo __RPC_FAR * This,
  6286.     /* [in] */ ULONG wFlags,
  6287.     /* [out][in] */ PVOID pvData,
  6288.     /* [in] */ LPCOLESTR szFieldName,
  6289.     /* [in] */ VARIANT __RPC_FAR *pvarField);
  6290.  
  6291.  
  6292. void __RPC_STUB IRecordInfo_PutFieldNoCopy_Stub(
  6293.     IRpcStubBuffer *This,
  6294.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6295.     PRPC_MESSAGE _pRpcMessage,
  6296.     DWORD *_pdwStubPhase);
  6297.  
  6298.  
  6299. HRESULT STDMETHODCALLTYPE IRecordInfo_GetFieldNames_Proxy( 
  6300.     IRecordInfo __RPC_FAR * This,
  6301.     /* [out][in] */ ULONG __RPC_FAR *pcNames,
  6302.     /* [length_is][size_is][out] */ BSTR __RPC_FAR *rgBstrNames);
  6303.  
  6304.  
  6305. void __RPC_STUB IRecordInfo_GetFieldNames_Stub(
  6306.     IRpcStubBuffer *This,
  6307.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6308.     PRPC_MESSAGE _pRpcMessage,
  6309.     DWORD *_pdwStubPhase);
  6310.  
  6311.  
  6312. BOOL STDMETHODCALLTYPE IRecordInfo_IsMatchingType_Proxy( 
  6313.     IRecordInfo __RPC_FAR * This,
  6314.     /* [in] */ IRecordInfo __RPC_FAR *pRecordInfo);
  6315.  
  6316.  
  6317. void __RPC_STUB IRecordInfo_IsMatchingType_Stub(
  6318.     IRpcStubBuffer *This,
  6319.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6320.     PRPC_MESSAGE _pRpcMessage,
  6321.     DWORD *_pdwStubPhase);
  6322.  
  6323.  
  6324. PVOID STDMETHODCALLTYPE IRecordInfo_RecordCreate_Proxy( 
  6325.     IRecordInfo __RPC_FAR * This);
  6326.  
  6327.  
  6328. void __RPC_STUB IRecordInfo_RecordCreate_Stub(
  6329.     IRpcStubBuffer *This,
  6330.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6331.     PRPC_MESSAGE _pRpcMessage,
  6332.     DWORD *_pdwStubPhase);
  6333.  
  6334.  
  6335. HRESULT STDMETHODCALLTYPE IRecordInfo_RecordCreateCopy_Proxy( 
  6336.     IRecordInfo __RPC_FAR * This,
  6337.     /* [in] */ PVOID pvSource,
  6338.     /* [out] */ PVOID __RPC_FAR *ppvDest);
  6339.  
  6340.  
  6341. void __RPC_STUB IRecordInfo_RecordCreateCopy_Stub(
  6342.     IRpcStubBuffer *This,
  6343.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6344.     PRPC_MESSAGE _pRpcMessage,
  6345.     DWORD *_pdwStubPhase);
  6346.  
  6347.  
  6348. HRESULT STDMETHODCALLTYPE IRecordInfo_RecordDestroy_Proxy( 
  6349.     IRecordInfo __RPC_FAR * This,
  6350.     /* [in] */ PVOID pvRecord);
  6351.  
  6352.  
  6353. void __RPC_STUB IRecordInfo_RecordDestroy_Stub(
  6354.     IRpcStubBuffer *This,
  6355.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6356.     PRPC_MESSAGE _pRpcMessage,
  6357.     DWORD *_pdwStubPhase);
  6358.  
  6359.  
  6360.  
  6361. #endif     /* __IRecordInfo_INTERFACE_DEFINED__ */
  6362.  
  6363.  
  6364. #ifndef __IErrorLog_INTERFACE_DEFINED__
  6365. #define __IErrorLog_INTERFACE_DEFINED__
  6366.  
  6367. /* interface IErrorLog */
  6368. /* [unique][uuid][object] */ 
  6369.  
  6370. typedef IErrorLog __RPC_FAR *LPERRORLOG;
  6371.  
  6372.  
  6373. EXTERN_C const IID IID_IErrorLog;
  6374.  
  6375. #if defined(__cplusplus) && !defined(CINTERFACE)
  6376.     
  6377.     MIDL_INTERFACE("3127CA40-446E-11CE-8135-00AA004BB851")
  6378.     IErrorLog : public IUnknown
  6379.     {
  6380.     public:
  6381.         virtual HRESULT STDMETHODCALLTYPE AddError( 
  6382.             /* [in] */ LPCOLESTR pszPropName,
  6383.             /* [in] */ EXCEPINFO __RPC_FAR *pExcepInfo) = 0;
  6384.         
  6385.     };
  6386.     
  6387. #else     /* C style interface */
  6388.  
  6389.     typedef struct IErrorLogVtbl
  6390.     {
  6391.         BEGIN_INTERFACE
  6392.         
  6393.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6394.             IErrorLog __RPC_FAR * This,
  6395.             /* [in] */ REFIID riid,
  6396.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6397.         
  6398.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6399.             IErrorLog __RPC_FAR * This);
  6400.         
  6401.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6402.             IErrorLog __RPC_FAR * This);
  6403.         
  6404.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddError )( 
  6405.             IErrorLog __RPC_FAR * This,
  6406.             /* [in] */ LPCOLESTR pszPropName,
  6407.             /* [in] */ EXCEPINFO __RPC_FAR *pExcepInfo);
  6408.         
  6409.         END_INTERFACE
  6410.     } IErrorLogVtbl;
  6411.  
  6412.     interface IErrorLog
  6413.     {
  6414.         CONST_VTBL struct IErrorLogVtbl __RPC_FAR *lpVtbl;
  6415.     };
  6416.  
  6417.     
  6418.  
  6419. #ifdef COBJMACROS
  6420.  
  6421.  
  6422. #define IErrorLog_QueryInterface(This,riid,ppvObject)    \
  6423.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6424.  
  6425. #define IErrorLog_AddRef(This)    \
  6426.     (This)->lpVtbl -> AddRef(This)
  6427.  
  6428. #define IErrorLog_Release(This)    \
  6429.     (This)->lpVtbl -> Release(This)
  6430.  
  6431.  
  6432. #define IErrorLog_AddError(This,pszPropName,pExcepInfo)    \
  6433.     (This)->lpVtbl -> AddError(This,pszPropName,pExcepInfo)
  6434.  
  6435. #endif /* COBJMACROS */
  6436.  
  6437.  
  6438. #endif     /* C style interface */
  6439.  
  6440.  
  6441.  
  6442. HRESULT STDMETHODCALLTYPE IErrorLog_AddError_Proxy( 
  6443.     IErrorLog __RPC_FAR * This,
  6444.     /* [in] */ LPCOLESTR pszPropName,
  6445.     /* [in] */ EXCEPINFO __RPC_FAR *pExcepInfo);
  6446.  
  6447.  
  6448. void __RPC_STUB IErrorLog_AddError_Stub(
  6449.     IRpcStubBuffer *This,
  6450.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6451.     PRPC_MESSAGE _pRpcMessage,
  6452.     DWORD *_pdwStubPhase);
  6453.  
  6454.  
  6455.  
  6456. #endif     /* __IErrorLog_INTERFACE_DEFINED__ */
  6457.  
  6458.  
  6459. #ifndef __IPropertyBag_INTERFACE_DEFINED__
  6460. #define __IPropertyBag_INTERFACE_DEFINED__
  6461.  
  6462. /* interface IPropertyBag */
  6463. /* [unique][uuid][object] */ 
  6464.  
  6465. typedef IPropertyBag __RPC_FAR *LPPROPERTYBAG;
  6466.  
  6467.  
  6468. EXTERN_C const IID IID_IPropertyBag;
  6469.  
  6470. #if defined(__cplusplus) && !defined(CINTERFACE)
  6471.     
  6472.     MIDL_INTERFACE("55272A00-42CB-11CE-8135-00AA004BB851")
  6473.     IPropertyBag : public IUnknown
  6474.     {
  6475.     public:
  6476.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Read( 
  6477.             /* [in] */ LPCOLESTR pszPropName,
  6478.             /* [out][in] */ VARIANT __RPC_FAR *pVar,
  6479.             /* [in] */ IErrorLog __RPC_FAR *pErrorLog) = 0;
  6480.         
  6481.         virtual HRESULT STDMETHODCALLTYPE Write( 
  6482.             /* [in] */ LPCOLESTR pszPropName,
  6483.             /* [in] */ VARIANT __RPC_FAR *pVar) = 0;
  6484.         
  6485.     };
  6486.     
  6487. #else     /* C style interface */
  6488.  
  6489.     typedef struct IPropertyBagVtbl
  6490.     {
  6491.         BEGIN_INTERFACE
  6492.         
  6493.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6494.             IPropertyBag __RPC_FAR * This,
  6495.             /* [in] */ REFIID riid,
  6496.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6497.         
  6498.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6499.             IPropertyBag __RPC_FAR * This);
  6500.         
  6501.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6502.             IPropertyBag __RPC_FAR * This);
  6503.         
  6504.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Read )( 
  6505.             IPropertyBag __RPC_FAR * This,
  6506.             /* [in] */ LPCOLESTR pszPropName,
  6507.             /* [out][in] */ VARIANT __RPC_FAR *pVar,
  6508.             /* [in] */ IErrorLog __RPC_FAR *pErrorLog);
  6509.         
  6510.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Write )( 
  6511.             IPropertyBag __RPC_FAR * This,
  6512.             /* [in] */ LPCOLESTR pszPropName,
  6513.             /* [in] */ VARIANT __RPC_FAR *pVar);
  6514.         
  6515.         END_INTERFACE
  6516.     } IPropertyBagVtbl;
  6517.  
  6518.     interface IPropertyBag
  6519.     {
  6520.         CONST_VTBL struct IPropertyBagVtbl __RPC_FAR *lpVtbl;
  6521.     };
  6522.  
  6523.     
  6524.  
  6525. #ifdef COBJMACROS
  6526.  
  6527.  
  6528. #define IPropertyBag_QueryInterface(This,riid,ppvObject)    \
  6529.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6530.  
  6531. #define IPropertyBag_AddRef(This)    \
  6532.     (This)->lpVtbl -> AddRef(This)
  6533.  
  6534. #define IPropertyBag_Release(This)    \
  6535.     (This)->lpVtbl -> Release(This)
  6536.  
  6537.  
  6538. #define IPropertyBag_Read(This,pszPropName,pVar,pErrorLog)    \
  6539.     (This)->lpVtbl -> Read(This,pszPropName,pVar,pErrorLog)
  6540.  
  6541. #define IPropertyBag_Write(This,pszPropName,pVar)    \
  6542.     (This)->lpVtbl -> Write(This,pszPropName,pVar)
  6543.  
  6544. #endif /* COBJMACROS */
  6545.  
  6546.  
  6547. #endif     /* C style interface */
  6548.  
  6549.  
  6550.  
  6551. /* [call_as] */ HRESULT STDMETHODCALLTYPE IPropertyBag_RemoteRead_Proxy( 
  6552.     IPropertyBag __RPC_FAR * This,
  6553.     /* [in] */ LPCOLESTR pszPropName,
  6554.     /* [out] */ VARIANT __RPC_FAR *pVar,
  6555.     /* [in] */ IErrorLog __RPC_FAR *pErrorLog,
  6556.     /* [in] */ DWORD varType,
  6557.     /* [in] */ IUnknown __RPC_FAR *pUnkObj);
  6558.  
  6559.  
  6560. void __RPC_STUB IPropertyBag_RemoteRead_Stub(
  6561.     IRpcStubBuffer *This,
  6562.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6563.     PRPC_MESSAGE _pRpcMessage,
  6564.     DWORD *_pdwStubPhase);
  6565.  
  6566.  
  6567. HRESULT STDMETHODCALLTYPE IPropertyBag_Write_Proxy( 
  6568.     IPropertyBag __RPC_FAR * This,
  6569.     /* [in] */ LPCOLESTR pszPropName,
  6570.     /* [in] */ VARIANT __RPC_FAR *pVar);
  6571.  
  6572.  
  6573. void __RPC_STUB IPropertyBag_Write_Stub(
  6574.     IRpcStubBuffer *This,
  6575.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6576.     PRPC_MESSAGE _pRpcMessage,
  6577.     DWORD *_pdwStubPhase);
  6578.  
  6579.  
  6580.  
  6581. #endif     /* __IPropertyBag_INTERFACE_DEFINED__ */
  6582.  
  6583.  
  6584. /* interface __MIDL_itf_oaidl_0103 */
  6585. /* [local] */ 
  6586.  
  6587. #if ( _MSC_VER >= 800 )
  6588. #if _MSC_VER >= 1200
  6589. #pragma warning(pop)
  6590. #else
  6591. #pragma warning(default:4201) /* Nameless struct/union */
  6592. #endif
  6593. #endif
  6594.  
  6595.  
  6596. extern RPC_IF_HANDLE __MIDL_itf_oaidl_0103_v0_0_c_ifspec;
  6597. extern RPC_IF_HANDLE __MIDL_itf_oaidl_0103_v0_0_s_ifspec;
  6598.  
  6599. /* Additional Prototypes for ALL interfaces */
  6600.  
  6601. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long __RPC_FAR *, unsigned long            , BSTR __RPC_FAR * ); 
  6602. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  6603. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  6604. void                      __RPC_USER  BSTR_UserFree(     unsigned long __RPC_FAR *, BSTR __RPC_FAR * ); 
  6605.  
  6606. unsigned long             __RPC_USER  CLEANLOCALSTORAGE_UserSize(     unsigned long __RPC_FAR *, unsigned long            , CLEANLOCALSTORAGE __RPC_FAR * ); 
  6607. unsigned char __RPC_FAR * __RPC_USER  CLEANLOCALSTORAGE_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, CLEANLOCALSTORAGE __RPC_FAR * ); 
  6608. unsigned char __RPC_FAR * __RPC_USER  CLEANLOCALSTORAGE_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, CLEANLOCALSTORAGE __RPC_FAR * ); 
  6609. void                      __RPC_USER  CLEANLOCALSTORAGE_UserFree(     unsigned long __RPC_FAR *, CLEANLOCALSTORAGE __RPC_FAR * ); 
  6610.  
  6611. unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long __RPC_FAR *, unsigned long            , VARIANT __RPC_FAR * ); 
  6612. unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * ); 
  6613. unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * ); 
  6614. void                      __RPC_USER  VARIANT_UserFree(     unsigned long __RPC_FAR *, VARIANT __RPC_FAR * ); 
  6615.  
  6616. /* [local] */ HRESULT STDMETHODCALLTYPE IDispatch_Invoke_Proxy( 
  6617.     IDispatch __RPC_FAR * This,
  6618.     /* [in] */ DISPID dispIdMember,
  6619.     /* [in] */ REFIID riid,
  6620.     /* [in] */ LCID lcid,
  6621.     /* [in] */ WORD wFlags,
  6622.     /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  6623.     /* [out] */ VARIANT __RPC_FAR *pVarResult,
  6624.     /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  6625.     /* [out] */ UINT __RPC_FAR *puArgErr);
  6626.  
  6627.  
  6628. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDispatch_Invoke_Stub( 
  6629.     IDispatch __RPC_FAR * This,
  6630.     /* [in] */ DISPID dispIdMember,
  6631.     /* [in] */ REFIID riid,
  6632.     /* [in] */ LCID lcid,
  6633.     /* [in] */ DWORD dwFlags,
  6634.     /* [in] */ DISPPARAMS __RPC_FAR *pDispParams,
  6635.     /* [out] */ VARIANT __RPC_FAR *pVarResult,
  6636.     /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  6637.     /* [out] */ UINT __RPC_FAR *pArgErr,
  6638.     /* [in] */ UINT cVarRef,
  6639.     /* [size_is][in] */ UINT __RPC_FAR *rgVarRefIdx,
  6640.     /* [size_is][out][in] */ VARIANTARG __RPC_FAR *rgVarRef);
  6641.  
  6642. /* [local] */ HRESULT STDMETHODCALLTYPE IEnumVARIANT_Next_Proxy( 
  6643.     IEnumVARIANT __RPC_FAR * This,
  6644.     /* [in] */ ULONG celt,
  6645.     /* [length_is][size_is][out] */ VARIANT __RPC_FAR *rgVar,
  6646.     /* [out] */ ULONG __RPC_FAR *pCeltFetched);
  6647.  
  6648.  
  6649. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumVARIANT_Next_Stub( 
  6650.     IEnumVARIANT __RPC_FAR * This,
  6651.     /* [in] */ ULONG celt,
  6652.     /* [length_is][size_is][out] */ VARIANT __RPC_FAR *rgVar,
  6653.     /* [out] */ ULONG __RPC_FAR *pCeltFetched);
  6654.  
  6655. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeComp_Bind_Proxy( 
  6656.     ITypeComp __RPC_FAR * This,
  6657.     /* [in] */ LPOLESTR szName,
  6658.     /* [in] */ ULONG lHashVal,
  6659.     /* [in] */ WORD wFlags,
  6660.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  6661.     /* [out] */ DESCKIND __RPC_FAR *pDescKind,
  6662.     /* [out] */ BINDPTR __RPC_FAR *pBindPtr);
  6663.  
  6664.  
  6665. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeComp_Bind_Stub( 
  6666.     ITypeComp __RPC_FAR * This,
  6667.     /* [in] */ LPOLESTR szName,
  6668.     /* [in] */ ULONG lHashVal,
  6669.     /* [in] */ WORD wFlags,
  6670.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  6671.     /* [out] */ DESCKIND __RPC_FAR *pDescKind,
  6672.     /* [out] */ LPFUNCDESC __RPC_FAR *ppFuncDesc,
  6673.     /* [out] */ LPVARDESC __RPC_FAR *ppVarDesc,
  6674.     /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTypeComp,
  6675.     /* [out] */ CLEANLOCALSTORAGE __RPC_FAR *pDummy);
  6676.  
  6677. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeComp_BindType_Proxy( 
  6678.     ITypeComp __RPC_FAR * This,
  6679.     /* [in] */ LPOLESTR szName,
  6680.     /* [in] */ ULONG lHashVal,
  6681.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  6682.     /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *ppTComp);
  6683.  
  6684.  
  6685. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeComp_BindType_Stub( 
  6686.     ITypeComp __RPC_FAR * This,
  6687.     /* [in] */ LPOLESTR szName,
  6688.     /* [in] */ ULONG lHashVal,
  6689.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  6690.  
  6691. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetTypeAttr_Proxy( 
  6692.     ITypeInfo __RPC_FAR * This,
  6693.     /* [out] */ TYPEATTR __RPC_FAR *__RPC_FAR *ppTypeAttr);
  6694.  
  6695.  
  6696. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetTypeAttr_Stub( 
  6697.     ITypeInfo __RPC_FAR * This,
  6698.     /* [out] */ LPTYPEATTR __RPC_FAR *ppTypeAttr,
  6699.     /* [out] */ CLEANLOCALSTORAGE __RPC_FAR *pDummy);
  6700.  
  6701. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetFuncDesc_Proxy( 
  6702.     ITypeInfo __RPC_FAR * This,
  6703.     /* [in] */ UINT index,
  6704.     /* [out] */ FUNCDESC __RPC_FAR *__RPC_FAR *ppFuncDesc);
  6705.  
  6706.  
  6707. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetFuncDesc_Stub( 
  6708.     ITypeInfo __RPC_FAR * This,
  6709.     /* [in] */ UINT index,
  6710.     /* [out] */ LPFUNCDESC __RPC_FAR *ppFuncDesc,
  6711.     /* [out] */ CLEANLOCALSTORAGE __RPC_FAR *pDummy);
  6712.  
  6713. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetVarDesc_Proxy( 
  6714.     ITypeInfo __RPC_FAR * This,
  6715.     /* [in] */ UINT index,
  6716.     /* [out] */ VARDESC __RPC_FAR *__RPC_FAR *ppVarDesc);
  6717.  
  6718.  
  6719. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetVarDesc_Stub( 
  6720.     ITypeInfo __RPC_FAR * This,
  6721.     /* [in] */ UINT index,
  6722.     /* [out] */ LPVARDESC __RPC_FAR *ppVarDesc,
  6723.     /* [out] */ CLEANLOCALSTORAGE __RPC_FAR *pDummy);
  6724.  
  6725. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetNames_Proxy( 
  6726.     ITypeInfo __RPC_FAR * This,
  6727.     /* [in] */ MEMBERID memid,
  6728.     /* [length_is][size_is][out] */ BSTR __RPC_FAR *rgBstrNames,
  6729.     /* [in] */ UINT cMaxNames,
  6730.     /* [out] */ UINT __RPC_FAR *pcNames);
  6731.  
  6732.  
  6733. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetNames_Stub( 
  6734.     ITypeInfo __RPC_FAR * This,
  6735.     /* [in] */ MEMBERID memid,
  6736.     /* [length_is][size_is][out] */ BSTR __RPC_FAR *rgBstrNames,
  6737.     /* [in] */ UINT cMaxNames,
  6738.     /* [out] */ UINT __RPC_FAR *pcNames);
  6739.  
  6740. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetIDsOfNames_Proxy( 
  6741.     ITypeInfo __RPC_FAR * This,
  6742.     /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  6743.     /* [in] */ UINT cNames,
  6744.     /* [size_is][out] */ MEMBERID __RPC_FAR *pMemId);
  6745.  
  6746.  
  6747. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetIDsOfNames_Stub( 
  6748.     ITypeInfo __RPC_FAR * This);
  6749.  
  6750. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_Invoke_Proxy( 
  6751.     ITypeInfo __RPC_FAR * This,
  6752.     /* [in] */ PVOID pvInstance,
  6753.     /* [in] */ MEMBERID memid,
  6754.     /* [in] */ WORD wFlags,
  6755.     /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  6756.     /* [out] */ VARIANT __RPC_FAR *pVarResult,
  6757.     /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  6758.     /* [out] */ UINT __RPC_FAR *puArgErr);
  6759.  
  6760.  
  6761. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_Invoke_Stub( 
  6762.     ITypeInfo __RPC_FAR * This);
  6763.  
  6764. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetDocumentation_Proxy( 
  6765.     ITypeInfo __RPC_FAR * This,
  6766.     /* [in] */ MEMBERID memid,
  6767.     /* [out] */ BSTR __RPC_FAR *pBstrName,
  6768.     /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  6769.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  6770.     /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  6771.  
  6772.  
  6773. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetDocumentation_Stub( 
  6774.     ITypeInfo __RPC_FAR * This,
  6775.     /* [in] */ MEMBERID memid,
  6776.     /* [in] */ DWORD refPtrFlags,
  6777.     /* [out] */ BSTR __RPC_FAR *pBstrName,
  6778.     /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  6779.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  6780.     /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  6781.  
  6782. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetDllEntry_Proxy( 
  6783.     ITypeInfo __RPC_FAR * This,
  6784.     /* [in] */ MEMBERID memid,
  6785.     /* [in] */ INVOKEKIND invKind,
  6786.     /* [out] */ BSTR __RPC_FAR *pBstrDllName,
  6787.     /* [out] */ BSTR __RPC_FAR *pBstrName,
  6788.     /* [out] */ WORD __RPC_FAR *pwOrdinal);
  6789.  
  6790.  
  6791. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetDllEntry_Stub( 
  6792.     ITypeInfo __RPC_FAR * This,
  6793.     /* [in] */ MEMBERID memid,
  6794.     /* [in] */ INVOKEKIND invKind,
  6795.     /* [in] */ DWORD refPtrFlags,
  6796.     /* [out] */ BSTR __RPC_FAR *pBstrDllName,
  6797.     /* [out] */ BSTR __RPC_FAR *pBstrName,
  6798.     /* [out] */ WORD __RPC_FAR *pwOrdinal);
  6799.  
  6800. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_AddressOfMember_Proxy( 
  6801.     ITypeInfo __RPC_FAR * This,
  6802.     /* [in] */ MEMBERID memid,
  6803.     /* [in] */ INVOKEKIND invKind,
  6804.     /* [out] */ PVOID __RPC_FAR *ppv);
  6805.  
  6806.  
  6807. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_AddressOfMember_Stub( 
  6808.     ITypeInfo __RPC_FAR * This);
  6809.  
  6810. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_CreateInstance_Proxy( 
  6811.     ITypeInfo __RPC_FAR * This,
  6812.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  6813.     /* [in] */ REFIID riid,
  6814.     /* [iid_is][out] */ PVOID __RPC_FAR *ppvObj);
  6815.  
  6816.  
  6817. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_CreateInstance_Stub( 
  6818.     ITypeInfo __RPC_FAR * This,
  6819.     /* [in] */ REFIID riid,
  6820.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObj);
  6821.  
  6822. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetContainingTypeLib_Proxy( 
  6823.     ITypeInfo __RPC_FAR * This,
  6824.     /* [out] */ ITypeLib __RPC_FAR *__RPC_FAR *ppTLib,
  6825.     /* [out] */ UINT __RPC_FAR *pIndex);
  6826.  
  6827.  
  6828. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_GetContainingTypeLib_Stub( 
  6829.     ITypeInfo __RPC_FAR * This,
  6830.     /* [out] */ ITypeLib __RPC_FAR *__RPC_FAR *ppTLib,
  6831.     /* [out] */ UINT __RPC_FAR *pIndex);
  6832.  
  6833. /* [local] */ void STDMETHODCALLTYPE ITypeInfo_ReleaseTypeAttr_Proxy( 
  6834.     ITypeInfo __RPC_FAR * This,
  6835.     /* [in] */ TYPEATTR __RPC_FAR *pTypeAttr);
  6836.  
  6837.  
  6838. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_ReleaseTypeAttr_Stub( 
  6839.     ITypeInfo __RPC_FAR * This);
  6840.  
  6841. /* [local] */ void STDMETHODCALLTYPE ITypeInfo_ReleaseFuncDesc_Proxy( 
  6842.     ITypeInfo __RPC_FAR * This,
  6843.     /* [in] */ FUNCDESC __RPC_FAR *pFuncDesc);
  6844.  
  6845.  
  6846. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_ReleaseFuncDesc_Stub( 
  6847.     ITypeInfo __RPC_FAR * This);
  6848.  
  6849. /* [local] */ void STDMETHODCALLTYPE ITypeInfo_ReleaseVarDesc_Proxy( 
  6850.     ITypeInfo __RPC_FAR * This,
  6851.     /* [in] */ VARDESC __RPC_FAR *pVarDesc);
  6852.  
  6853.  
  6854. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_ReleaseVarDesc_Stub( 
  6855.     ITypeInfo __RPC_FAR * This);
  6856.  
  6857. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeInfo2_GetDocumentation2_Proxy( 
  6858.     ITypeInfo2 __RPC_FAR * This,
  6859.     /* [in] */ MEMBERID memid,
  6860.     /* [in] */ LCID lcid,
  6861.     /* [out] */ BSTR __RPC_FAR *pbstrHelpString,
  6862.     /* [out] */ DWORD __RPC_FAR *pdwHelpStringContext,
  6863.     /* [out] */ BSTR __RPC_FAR *pbstrHelpStringDll);
  6864.  
  6865.  
  6866. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo2_GetDocumentation2_Stub( 
  6867.     ITypeInfo2 __RPC_FAR * This,
  6868.     /* [in] */ MEMBERID memid,
  6869.     /* [in] */ LCID lcid,
  6870.     /* [in] */ DWORD refPtrFlags,
  6871.     /* [out] */ BSTR __RPC_FAR *pbstrHelpString,
  6872.     /* [out] */ DWORD __RPC_FAR *pdwHelpStringContext,
  6873.     /* [out] */ BSTR __RPC_FAR *pbstrHelpStringDll);
  6874.  
  6875. /* [local] */ UINT STDMETHODCALLTYPE ITypeLib_GetTypeInfoCount_Proxy( 
  6876.     ITypeLib __RPC_FAR * This);
  6877.  
  6878.  
  6879. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeInfoCount_Stub( 
  6880.     ITypeLib __RPC_FAR * This,
  6881.     /* [out] */ UINT __RPC_FAR *pcTInfo);
  6882.  
  6883. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeLib_GetLibAttr_Proxy( 
  6884.     ITypeLib __RPC_FAR * This,
  6885.     /* [out] */ TLIBATTR __RPC_FAR *__RPC_FAR *ppTLibAttr);
  6886.  
  6887.  
  6888. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_GetLibAttr_Stub( 
  6889.     ITypeLib __RPC_FAR * This,
  6890.     /* [out] */ LPTLIBATTR __RPC_FAR *ppTLibAttr,
  6891.     /* [out] */ CLEANLOCALSTORAGE __RPC_FAR *pDummy);
  6892.  
  6893. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeLib_GetDocumentation_Proxy( 
  6894.     ITypeLib __RPC_FAR * This,
  6895.     /* [in] */ INT index,
  6896.     /* [out] */ BSTR __RPC_FAR *pBstrName,
  6897.     /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  6898.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  6899.     /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  6900.  
  6901.  
  6902. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_GetDocumentation_Stub( 
  6903.     ITypeLib __RPC_FAR * This,
  6904.     /* [in] */ INT index,
  6905.     /* [in] */ DWORD refPtrFlags,
  6906.     /* [out] */ BSTR __RPC_FAR *pBstrName,
  6907.     /* [out] */ BSTR __RPC_FAR *pBstrDocString,
  6908.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  6909.     /* [out] */ BSTR __RPC_FAR *pBstrHelpFile);
  6910.  
  6911. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeLib_IsName_Proxy( 
  6912.     ITypeLib __RPC_FAR * This,
  6913.     /* [out][in] */ LPOLESTR szNameBuf,
  6914.     /* [in] */ ULONG lHashVal,
  6915.     /* [out] */ BOOL __RPC_FAR *pfName);
  6916.  
  6917.  
  6918. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_IsName_Stub( 
  6919.     ITypeLib __RPC_FAR * This,
  6920.     /* [in] */ LPOLESTR szNameBuf,
  6921.     /* [in] */ ULONG lHashVal,
  6922.     /* [out] */ BOOL __RPC_FAR *pfName,
  6923.     /* [out] */ BSTR __RPC_FAR *pBstrLibName);
  6924.  
  6925. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeLib_FindName_Proxy( 
  6926.     ITypeLib __RPC_FAR * This,
  6927.     /* [out][in] */ LPOLESTR szNameBuf,
  6928.     /* [in] */ ULONG lHashVal,
  6929.     /* [length_is][size_is][out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  6930.     /* [length_is][size_is][out] */ MEMBERID __RPC_FAR *rgMemId,
  6931.     /* [out][in] */ USHORT __RPC_FAR *pcFound);
  6932.  
  6933.  
  6934. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_FindName_Stub( 
  6935.     ITypeLib __RPC_FAR * This,
  6936.     /* [in] */ LPOLESTR szNameBuf,
  6937.     /* [in] */ ULONG lHashVal,
  6938.     /* [length_is][size_is][out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo,
  6939.     /* [length_is][size_is][out] */ MEMBERID __RPC_FAR *rgMemId,
  6940.     /* [out][in] */ USHORT __RPC_FAR *pcFound,
  6941.     /* [out] */ BSTR __RPC_FAR *pBstrLibName);
  6942.  
  6943. /* [local] */ void STDMETHODCALLTYPE ITypeLib_ReleaseTLibAttr_Proxy( 
  6944.     ITypeLib __RPC_FAR * This,
  6945.     /* [in] */ TLIBATTR __RPC_FAR *pTLibAttr);
  6946.  
  6947.  
  6948. /* [nocode][call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_ReleaseTLibAttr_Stub( 
  6949.     ITypeLib __RPC_FAR * This);
  6950.  
  6951. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeLib2_GetLibStatistics_Proxy( 
  6952.     ITypeLib2 __RPC_FAR * This,
  6953.     /* [out] */ ULONG __RPC_FAR *pcUniqueNames,
  6954.     /* [out] */ ULONG __RPC_FAR *pcchUniqueNames);
  6955.  
  6956.  
  6957. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib2_GetLibStatistics_Stub( 
  6958.     ITypeLib2 __RPC_FAR * This,
  6959.     /* [out] */ ULONG __RPC_FAR *pcUniqueNames,
  6960.     /* [out] */ ULONG __RPC_FAR *pcchUniqueNames);
  6961.  
  6962. /* [local] */ HRESULT STDMETHODCALLTYPE ITypeLib2_GetDocumentation2_Proxy( 
  6963.     ITypeLib2 __RPC_FAR * This,
  6964.     /* [in] */ INT index,
  6965.     /* [in] */ LCID lcid,
  6966.     /* [out] */ BSTR __RPC_FAR *pbstrHelpString,
  6967.     /* [out] */ DWORD __RPC_FAR *pdwHelpStringContext,
  6968.     /* [out] */ BSTR __RPC_FAR *pbstrHelpStringDll);
  6969.  
  6970.  
  6971. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib2_GetDocumentation2_Stub( 
  6972.     ITypeLib2 __RPC_FAR * This,
  6973.     /* [in] */ INT index,
  6974.     /* [in] */ LCID lcid,
  6975.     /* [in] */ DWORD refPtrFlags,
  6976.     /* [out] */ BSTR __RPC_FAR *pbstrHelpString,
  6977.     /* [out] */ DWORD __RPC_FAR *pdwHelpStringContext,
  6978.     /* [out] */ BSTR __RPC_FAR *pbstrHelpStringDll);
  6979.  
  6980. /* [local] */ HRESULT STDMETHODCALLTYPE IPropertyBag_Read_Proxy( 
  6981.     IPropertyBag __RPC_FAR * This,
  6982.     /* [in] */ LPCOLESTR pszPropName,
  6983.     /* [out][in] */ VARIANT __RPC_FAR *pVar,
  6984.     /* [in] */ IErrorLog __RPC_FAR *pErrorLog);
  6985.  
  6986.  
  6987. /* [call_as] */ HRESULT STDMETHODCALLTYPE IPropertyBag_Read_Stub( 
  6988.     IPropertyBag __RPC_FAR * This,
  6989.     /* [in] */ LPCOLESTR pszPropName,
  6990.     /* [out] */ VARIANT __RPC_FAR *pVar,
  6991.     /* [in] */ IErrorLog __RPC_FAR *pErrorLog,
  6992.     /* [in] */ DWORD varType,
  6993.     /* [in] */ IUnknown __RPC_FAR *pUnkObj);
  6994.  
  6995.  
  6996.  
  6997. /* end of Additional Prototypes */
  6998.  
  6999. #ifdef __cplusplus
  7000. }
  7001. #endif
  7002.  
  7003. #endif
  7004.  
  7005.  
  7006. #pragma option pop /*P_O_Pop*/
  7007.