home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / cb / setup / cbuilder / data.z / OAIDL.H < prev    next >
C/C++ Source or Header  |  1997-02-28  |  198KB  |  5,982 lines

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