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