home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1996 December / PCWKCD1296.iso / vjplusb / activex / inetsdk / include / oaidl.h < prev    next >
C/C++ Source or Header  |  1996-07-15  |  197KB  |  5,972 lines

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