home *** CD-ROM | disk | FTP | other *** search
/ OpenStep (Enterprise) / OpenStepENTCD.toast / OEDEV / DEV.Z / OAIDL.H < prev    next >
C/C++ Source or Header  |  1996-09-08  |  118KB  |  3,865 lines

  1. #if !defined(__TOPLEVEL_NEXT_COMMON_INCLUDE__)
  2. #define __TOPLEVEL_NEXT_COMMON_INCLUDE__
  3. #define __TOPLEVEL_OAIDL_H_ 
  4. #include <next_common_defines.h>
  5. #endif /* __TOPLEVEL_NEXT_COMMON_INCLUDE__ */
  6.  
  7. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  8.  
  9.  
  10. /* File created by MIDL compiler version 2.00.0102 */
  11. /* at Fri Apr 28 07:02:38 1995
  12.  */
  13. //@@MIDL_FILE_HEADING(  )
  14. #ifndef __RPCBASE_H__
  15. #include "rpcbase.h"
  16. #endif /* ___RPCBASE_H__ */
  17. #ifndef NORPC
  18. #ifndef __RPC_H__
  19. #include "rpc.h"
  20. #endif /* ___RPC_H__ */
  21. #ifndef __RPCNDR_H__
  22. #include "rpcndr.h"
  23. #endif /* __RPCNDR_H_ */
  24. #endif /* NORPC */
  25. #ifndef COM_NO_WINDOWS_H
  26. #ifndef _INC_WINDOWS
  27. #include "windows.h"
  28. #endif /* _INC_WINDOWS */
  29. #ifndef _OLE2_H_
  30. #include "ole2.h"
  31. #endif /* _OLE2_H_ */
  32. #endif /*COM_NO_WINDOWS_H*/
  33.  
  34. #ifndef __oaidl_h__
  35. #define __oaidl_h__
  36.  
  37. #ifdef __cplusplus
  38. extern "C"{
  39. #endif 
  40.  
  41. /* Forward Declarations */ 
  42.  
  43. #ifndef __ICreateTypeInfo_FWD_DEFINED__
  44. #define __ICreateTypeInfo_FWD_DEFINED__
  45. typedef interface ICreateTypeInfo ICreateTypeInfo;
  46. #endif     /* __ICreateTypeInfo_FWD_DEFINED__ */
  47.  
  48.  
  49. #ifndef __ICreateTypeLib_FWD_DEFINED__
  50. #define __ICreateTypeLib_FWD_DEFINED__
  51. typedef interface ICreateTypeLib ICreateTypeLib;
  52. #endif     /* __ICreateTypeLib_FWD_DEFINED__ */
  53.  
  54.  
  55. #ifndef __IDispatch_FWD_DEFINED__
  56. #define __IDispatch_FWD_DEFINED__
  57. typedef interface IDispatch IDispatch;
  58. #endif     /* __IDispatch_FWD_DEFINED__ */
  59.  
  60.  
  61. #ifndef __IEnumVARIANT_FWD_DEFINED__
  62. #define __IEnumVARIANT_FWD_DEFINED__
  63. typedef interface IEnumVARIANT IEnumVARIANT;
  64. #endif     /* __IEnumVARIANT_FWD_DEFINED__ */
  65.  
  66.  
  67. #ifndef __ITypeComp_FWD_DEFINED__
  68. #define __ITypeComp_FWD_DEFINED__
  69. typedef interface ITypeComp ITypeComp;
  70. #endif     /* __ITypeComp_FWD_DEFINED__ */
  71.  
  72.  
  73. #ifndef __ITypeInfo_FWD_DEFINED__
  74. #define __ITypeInfo_FWD_DEFINED__
  75. typedef interface ITypeInfo ITypeInfo;
  76. #endif     /* __ITypeInfo_FWD_DEFINED__ */
  77.  
  78.  
  79. #ifndef __ITypeLib_FWD_DEFINED__
  80. #define __ITypeLib_FWD_DEFINED__
  81. typedef interface ITypeLib ITypeLib;
  82. #endif     /* __ITypeLib_FWD_DEFINED__ */
  83.  
  84.  
  85. #ifndef __IErrorInfo_FWD_DEFINED__
  86. #define __IErrorInfo_FWD_DEFINED__
  87. typedef interface IErrorInfo IErrorInfo;
  88. #endif     /* __IErrorInfo_FWD_DEFINED__ */
  89.  
  90.  
  91. #ifndef __ICreateErrorInfo_FWD_DEFINED__
  92. #define __ICreateErrorInfo_FWD_DEFINED__
  93. typedef interface ICreateErrorInfo ICreateErrorInfo;
  94. #endif     /* __ICreateErrorInfo_FWD_DEFINED__ */
  95.  
  96.  
  97. #ifndef __ISupportErrorInfo_FWD_DEFINED__
  98. #define __ISupportErrorInfo_FWD_DEFINED__
  99. typedef interface ISupportErrorInfo ISupportErrorInfo;
  100. #endif     /* __ISupportErrorInfo_FWD_DEFINED__ */
  101.  
  102.  
  103. /* header files for imported files */
  104. #ifndef __objidl_h__
  105. #include "objidl.h"
  106. #endif /* __objidl_h__ */
  107.  
  108. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  109. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  110.  
  111. /****************************************
  112.  * Generated header for interface: __MIDL__intf_0000
  113.  * at Fri Apr 28 07:02:38 1995
  114.  * using MIDL 2.00.0102
  115.  ****************************************/
  116. /* [local] */ 
  117.  
  118.  
  119.             /* size is 0 */
  120.  
  121.             /* size is 0 */
  122.  
  123.             /* size is 0 */
  124.  
  125.             /* size is 0 */
  126.  
  127.             /* size is 0 */
  128.  
  129.  
  130. #ifndef NORPC
  131. extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_c_ifspec;
  132. extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_s_ifspec;
  133. #endif //NORPC
  134.  
  135. #ifndef __RemVariant_INTERFACE_DEFINED__
  136. #define __RemVariant_INTERFACE_DEFINED__
  137.  
  138. /****************************************
  139.  * Generated header for interface: RemVariant
  140.  * at Fri Apr 28 07:02:38 1995
  141.  * using MIDL 2.00.0102
  142.  ****************************************/
  143. /* [local][unique][version] */ 
  144.  
  145.  
  146. //+-------------------------------------------------------------------------
  147. //
  148. //  Microsoft Windows
  149. //  Copyright (C) Microsoft Corporation, 1992 - 1995.
  150. //
  151. //--------------------------------------------------------------------------
  152. /* XBSTR is for internal use only, it is subject to change */
  153.             /* size is 4 */
  154. typedef struct  tagXBSTR
  155.     {
  156.     ULONG cbSize;
  157.     /* [size_is] */ OLECHAR rgBstrData[ 1 ];
  158.     }    XBSTR;
  159.  
  160.             /* size is 4 */
  161. typedef OLECHAR __RPC_FAR *BSTR;
  162.  
  163.             /* size is 4 */
  164. typedef BSTR __RPC_FAR *LPBSTR;
  165.  
  166. #ifndef _tagBLOB_DEFINED
  167. #define _tagBLOB_DEFINED
  168. #define _BLOB_DEFINED
  169. #define _LPBLOB_DEFINED
  170.             /* size is 8 */
  171. typedef struct  tagBLOB
  172.     {
  173.     ULONG cbSize;
  174.     /* [size_is] */ BYTE __RPC_FAR *pBlobData;
  175.     }    BLOB;
  176.  
  177.             /* size is 4 */
  178. typedef struct tagBLOB __RPC_FAR *LPBLOB;
  179.  
  180. #endif
  181. #ifndef _tagCLIPDATA_DEFINED
  182. #define _tagCLIPDATA_DEFINED
  183. #define _CLIPDATA_DEFINED
  184.             /* size is 12 */
  185. typedef struct  tagCLIPDATA
  186.     {
  187.     ULONG cbSize;
  188.     long ulClipFmt;
  189.     /* [size_is] */ BYTE __RPC_FAR *pClipData;
  190.     }    CLIPDATA;
  191.  
  192. #endif
  193. #ifndef _tagSAFEARRAYBOUND_DEFINED
  194. #define _tagSAFEARRAYBOUND_DEFINED
  195. #define _SAFEARRAYBOUND_DEFINED
  196. #define _LPSAFEARRAYBOUND_DEFINED
  197.             /* size is 8 */
  198. typedef struct  tagSAFEARRAYBOUND
  199.     {
  200.     ULONG cElements;
  201.     LONG lLbound;
  202.     }    SAFEARRAYBOUND;
  203.  
  204.             /* size is 4 */
  205. typedef struct tagSAFEARRAYBOUND __RPC_FAR *LPSAFEARRAYBOUND;
  206.  
  207. #endif
  208. #ifndef _tagSAFEARRAY_DEFINED
  209. #define _tagSAFEARRAY_DEFINED
  210. #define _SAFEARRAY_DEFINED
  211. #define _LPSAFEARRAY_DEFINED
  212. #if 0
  213. /* the following is what RPC knows how to remote */
  214.             /* size is 16 */
  215. typedef struct  tagSAFEARRAY
  216.     {
  217.     unsigned short cDims;
  218.     unsigned short fFeatures;
  219.     unsigned long cbElements;
  220.     unsigned long cLocks;
  221.     BYTE __RPC_FAR *pvData;
  222.     /* [size_is] */ SAFEARRAYBOUND rgsabound[ 1 ];
  223.     }    SAFEARRAY;
  224.  
  225.             /* size is 4 */
  226. typedef struct tagSAFEARRAY __RPC_FAR *LPSAFEARRAY;
  227.  
  228. #else
  229. typedef struct FARSTRUCT tagSAFEARRAY {
  230.     unsigned short cDims;
  231.     unsigned short fFeatures;
  232. #if defined(_WIN32)
  233.     unsigned long cbElements;
  234.     unsigned long cLocks;
  235. #else
  236.     unsigned short cbElements;
  237.     unsigned short cLocks;
  238.     unsigned long handle;               // unused but kept for compatiblity
  239. #endif
  240.     void HUGEP* pvData;
  241.     SAFEARRAYBOUND rgsabound[1];
  242. } SAFEARRAY, FAR* LPSAFEARRAY;
  243. #endif
  244. #endif
  245.             /* size is 2 */
  246. #define    FADF_AUTO    ( 0x1 )
  247.  
  248.             /* size is 2 */
  249. #define    FADF_STATIC    ( 0x2 )
  250.  
  251.             /* size is 2 */
  252. #define    FADF_EMBEDDED    ( 0x4 )
  253.  
  254.             /* size is 2 */
  255. #define    FADF_FIXEDSIZE    ( 0x10 )
  256.  
  257.             /* size is 2 */
  258. #define    FADF_BSTR    ( 0x100 )
  259.  
  260.             /* size is 2 */
  261. #define    FADF_UNKNOWN    ( 0x200 )
  262.  
  263.             /* size is 2 */
  264. #define    FADF_DISPATCH    ( 0x400 )
  265.  
  266.             /* size is 2 */
  267. #define    FADF_VARIANT    ( 0x800 )
  268.  
  269.             /* size is 2 */
  270. #define    FADF_RESERVED    ( 0xf0e8 )
  271.  
  272.             /* size is 8 */
  273. typedef double DATE;
  274.  
  275. #ifndef _tagCY_DEFINED
  276. #define _tagCY_DEFINED
  277. #define _CY_DEFINED
  278. #if 0
  279. /* the following isn't the real definition of CY, but it is */
  280. /* what RPC knows how to remote */
  281.             /* size is 8 */
  282. typedef struct  tagCY
  283.     {
  284.     LONGLONG int64;
  285.     }    CY;
  286.  
  287. #else
  288. /* real definition that makes the C++ compiler happy */
  289. typedef union tagCY {
  290.     struct {         
  291. #ifdef _MAC          
  292.         long      Hi;
  293.         long Lo;     
  294. #else                
  295.         unsigned long Lo;
  296.         long      Hi;
  297. #endif               
  298.     } u;               
  299.     LONGLONG int64;  
  300. } CY;                
  301. #endif
  302. #endif
  303.             /* size is 8 */
  304. typedef CY CURRENCY;
  305.  
  306. /* 0 == FALSE, -1 == TRUE */
  307.             /* size is 2 */
  308. typedef short VARIANT_BOOL;
  309.  
  310. #ifndef VARIANT_TRUE
  311. #define VARIANT_TRUE ((VARIANT_BOOL)0xffff)
  312. #endif
  313. #ifndef VARIANT_FALSE
  314. #define VARIANT_FALSE ((VARIANT_BOOL)0)
  315. #endif
  316. #ifndef _VARENUM_DEFINED
  317. #define _VARENUM_DEFINED
  318. /*
  319.  * VARENUM usage key,
  320.  *
  321.  * * [V] - may appear in a VARIANT
  322.  * * [T] - may appear in a TYPEDESC
  323.  * * [P] - may appear in an OLE property set
  324.  * * [S] - may appear in a Safe Array
  325.  *
  326.  *
  327.  *  VT_EMPTY            [V]   [P]     nothing                     
  328.  *  VT_NULL             [V]           SQL style Null              
  329.  *  VT_I2               [V][T][P][S]  2 byte signed int           
  330.  *  VT_I4               [V][T][P][S]  4 byte signed int           
  331.  *  VT_R4               [V][T][P][S]  4 byte real                 
  332.  *  VT_R8               [V][T][P][S]  8 byte real                 
  333.  *  VT_CY               [V][T][P][S]  currency                    
  334.  *  VT_DATE             [V][T][P][S]  date                        
  335.  *  VT_BSTR             [V][T][P][S]  OLE Automation string       
  336.  *  VT_DISPATCH         [V][T]   [S]  IDispatch FAR*              
  337.  *  VT_ERROR            [V][T]   [S]  SCODE                       
  338.  *  VT_BOOL             [V][T][P][S]  True=-1, False=0            
  339.  *  VT_VARIANT          [V][T][P][S]  VARIANT FAR*                
  340.  *  VT_UNKNOWN          [V][T]   [S]  IUnknown FAR*               
  341.  *  VT_I1                  [T]        signed char                 
  342.  *  VT_UI1              [V][T]   [S]  unsigned char               
  343.  *  VT_UI2                 [T]        unsigned short              
  344.  *  VT_UI4                 [T]        unsigned short              
  345.  *  VT_I8                  [T][P]     signed 64-bit int           
  346.  *  VT_UI8                 [T]        unsigned 64-bit int         
  347.  *  VT_INT                 [T]        signed machine int          
  348.  *  VT_UINT                [T]        unsigned machine int        
  349.  *  VT_VOID                [T]        C style void                
  350.  *  VT_HRESULT             [T]                                    
  351.  *  VT_PTR                 [T]        pointer type                
  352.  *  VT_SAFEARRAY           [T]        (use VT_ARRAY in VARIANT)   
  353.  *  VT_CARRAY              [T]        C style array               
  354.  *  VT_USERDEFINED         [T]        user defined type           
  355.  *  VT_LPSTR               [T][P]     null terminated string      
  356.  *  VT_LPWSTR              [T][P]     wide null terminated string 
  357.  *  VT_FILETIME               [P]     FILETIME                    
  358.  *  VT_BLOB                   [P]     Length prefixed bytes       
  359.  *  VT_STREAM                 [P]     Name of the stream follows  
  360.  *  VT_STORAGE                [P]     Name of the storage follows 
  361.  *  VT_STREAMED_OBJECT        [P]     Stream contains an object   
  362.  *  VT_STORED_OBJECT          [P]     Storage contains an object  
  363.  *  VT_BLOB_OBJECT            [P]     Blob contains an object     
  364.  *  VT_CF                     [P]     Clipboard format            
  365.  *  VT_CLSID                  [P]     A Class ID                  
  366.  *  VT_VECTOR                 [P]     simple counted array        
  367.  *  VT_ARRAY            [V]           SAFEARRAY*                  
  368.  *  VT_BYREF            [V]                                       
  369.  */
  370.             /* size is 2 */
  371.  
  372. enum VARENUM
  373.     {    VT_EMPTY    = 0,
  374.     VT_NULL    = 1,
  375.     VT_I2    = 2,
  376.     VT_I4    = 3,
  377.     VT_R4    = 4,
  378.     VT_R8    = 5,
  379.     VT_CY    = 6,
  380.     VT_DATE    = 7,
  381.     VT_BSTR    = 8,
  382.     VT_DISPATCH    = 9,
  383.     VT_ERROR    = 10,
  384.     VT_BOOL    = 11,
  385.     VT_VARIANT    = 12,
  386.     VT_UNKNOWN    = 13,
  387.     VT_I1    = 16,
  388.     VT_UI1    = 17,
  389.     VT_UI2    = 18,
  390.     VT_UI4    = 19,
  391.     VT_I8    = 20,
  392.     VT_UI8    = 21,
  393.     VT_INT    = 22,
  394.     VT_UINT    = 23,
  395.     VT_VOID    = 24,
  396.     VT_HRESULT    = 25,
  397.     VT_PTR    = 26,
  398.     VT_SAFEARRAY    = 27,
  399.     VT_CARRAY    = 28,
  400.     VT_USERDEFINED    = 29,
  401.     VT_LPSTR    = 30,
  402.     VT_LPWSTR    = 31,
  403.     VT_FILETIME    = 64,
  404.     VT_BLOB    = 65,
  405.     VT_STREAM    = 66,
  406.     VT_STORAGE    = 67,
  407.     VT_STREAMED_OBJECT    = 68,
  408.     VT_STORED_OBJECT    = 69,
  409.     VT_BLOB_OBJECT    = 70,
  410.     VT_CF    = 71,
  411.     VT_CLSID    = 72
  412.     };
  413. #endif
  414.             /* size is 2 */
  415. #define    VT_VECTOR    ( 0x1000 )
  416.  
  417.             /* size is 2 */
  418. #define    VT_ARRAY    ( 0x2000 )
  419.  
  420.             /* size is 2 */
  421. #define    VT_BYREF    ( 0x4000 )
  422.  
  423.             /* size is 2 */
  424. #define    VT_RESERVED    ( 0x8000 )
  425.  
  426. #ifndef _VARTYPE_DEFINED
  427. #define _VARTYPE_DEFINED
  428.             /* size is 2 */
  429. typedef unsigned short VARTYPE;
  430.  
  431. #endif
  432.             /* size is 0 */
  433. typedef struct tagVARIANT VARIANT;
  434.  
  435. /* forward declare IDispatch */
  436. #ifndef __IDispatch_FWD_DEFINED__
  437. #define __IDispatch_FWD_DEFINED__
  438. typedef interface IDispatch IDispatch;
  439. #endif     /* __IDispatch_FWD_DEFINED__ */
  440. /* VARIANT STRUCTURE
  441.  *
  442.  *  VARTYPE vt;
  443.  *  unsigned short wReserved1;
  444.  *  unsigned short wReserved2;
  445.  *  unsigned short wReserved3;
  446.  *  union {
  447.  *    unsigned char        VT_UI1               
  448.  *    short                VT_I2                
  449.  *    long                 VT_I4                
  450.  *    float                VT_R4                
  451.  *    double               VT_R8                
  452.  *    VARIANT_BOOL         VT_BOOL              
  453.  *    SCODE                VT_ERROR             
  454.  *    CY                   VT_CY                
  455.  *    DATE                 VT_DATE              
  456.  *    BSTR                 VT_BSTR              
  457.  *    IUnknown FAR*        VT_UNKNOWN           
  458.  *    IDispatch FAR*       VT_DISPATCH          
  459.  *    SAFEARRAY FAR*       VT_ARRAY|*           
  460.  *    short FAR*           VT_BYREF|VT_I2       
  461.  *    long FAR*            VT_BYREF|VT_I4       
  462.  *    float FAR*           VT_BYREF|VT_R4       
  463.  *    double FAR*          VT_BYREF|VT_R8       
  464.  *    VARIANT_BOOL FAR*    VT_BYREF|VT_BOOL     
  465.  *    SCODE FAR*           VT_BYREF|VT_ERROR    
  466.  *    CY FAR*              VT_BYREF|VT_CY       
  467.  *    DATE FAR*            VT_BYREF|VT_DATE     
  468.  *    BSTR FAR*            VT_BYREF|VT_BSTR     
  469.  *    IUnknown FAR* FAR*   VT_BYREF|VT_UNKNOWN  
  470.  *    IDispatch FAR* FAR*  VT_BYREF|VT_DISPATCH 
  471.  *    SAFEARRAY FAR* FAR*  VT_BYREF|VT_ARRAY|*  
  472.  *    VARIANT FAR*         VT_BYREF|VT_VARIANT  
  473.  *    void FAR*            Generic ByRef        
  474.  */
  475. #ifndef _tagVARIANT_DEFINED
  476. #define _tagVARIANT_DEFINED
  477. #if 0
  478. /* the following is what RPC knows how to remote */
  479.             /* size is 16 */
  480. struct  tagVARIANT
  481.     {
  482.     VARTYPE vt;
  483.     WORD wReserved1;
  484.     WORD wReserved2;
  485.     WORD wReserved3;
  486.     /* [switch_is][switch_type] */ union 
  487.         {
  488.         /* [case] */ long lVal;
  489.         /* [case] */ unsigned char bVal;
  490.         /* [case] */ short iVal;
  491.         /* [case] */ float fltVal;
  492.         /* [case] */ double dblVal;
  493. #pragma warning(disable: 4237)
  494.         /* [case] */ VARIANT_BOOL bool; /* (obsolete) */
  495. #pragma warning(default: 4237)
  496.         /* [case] */ VARIANT_BOOL boolVal;
  497.         /* [case] */ SCODE scode;
  498.         /* [case] */ CY cyVal;
  499.         /* [case] */ DATE date;
  500.         /* [case] */ BSTR bstrVal;
  501.         /* [case] */ IUnknown __RPC_FAR *punkVal;
  502.         /* [case] */ SAFEARRAY __RPC_FAR *parray;
  503.         /* [case] */ unsigned char __RPC_FAR *pbVal;
  504.         /* [case] */ short __RPC_FAR *piVal;
  505.         /* [case] */ long __RPC_FAR *plVal;
  506.         /* [case] */ float __RPC_FAR *pfltVal;
  507.         /* [case] */ double __RPC_FAR *pdblVal;
  508.         /* [case] */ VARIANT_BOOL __RPC_FAR *pbool;
  509.         /* [case] */ SCODE __RPC_FAR *pscode;
  510.         /* [case] */ CY __RPC_FAR *pcyVal;
  511.         /* [case] */ DATE __RPC_FAR *pdate;
  512.         /* [case] */ BSTR __RPC_FAR *pbstrVal;
  513.         /* [case] */ IUnknown __RPC_FAR *__RPC_FAR *ppunkVal;
  514.         /* [case] */ SAFEARRAY __RPC_FAR *__RPC_FAR *pparray;
  515.         /* [case] */ VARIANT __RPC_FAR *pvarVal;
  516.         /* [case] */ long __RPC_FAR *byref;
  517.         }    ;
  518.     };
  519. #endif
  520. struct tagVARIANT{
  521.     VARTYPE vt;
  522.     WORD wReserved1;
  523.     WORD wReserved2;
  524.     WORD wReserved3;
  525.     union
  526.     {
  527.       long          lVal;           /* VT_I4                */
  528.       unsigned char bVal;           /* VT_UI1               */
  529.       short         iVal;           /* VT_I2                */
  530.       float         fltVal;         /* VT_R4                */
  531.       double        dblVal;         /* VT_R8                */
  532. #pragma warning(disable: 4237)
  533.       VARIANT_BOOL  bool;           /* (obsolete)           */
  534. #pragma warning(default: 4237)
  535.       VARIANT_BOOL  boolVal;        /* VT_BOOL              */
  536.       SCODE         scode;          /* VT_ERROR             */
  537.       CY            cyVal;          /* VT_CY                */
  538.       DATE          date;           /* VT_DATE              */
  539.       BSTR          bstrVal;        /* VT_BSTR              */
  540.       IUnknown      *punkVal;       /* VT_UNKNOWN           */
  541.       IDispatch     *pdispVal;      /* VT_DISPATCH          */
  542.       SAFEARRAY     *parray;        /* VT_ARRAY|*           */
  543.       unsigned char *pbVal;         /* VT_BYREF|VT_UI1      */
  544.       short         *piVal;         /* VT_BYREF|VT_I2       */
  545.       long          *plVal;         /* VT_BYREF|VT_I4       */
  546.       float         *pfltVal;       /* VT_BYREF|VT_R4       */
  547.       double        *pdblVal;       /* VT_BYREF|VT_R8       */
  548.       VARIANT_BOOL  *pbool;         /* VT_BYREF|VT_BOOL     */
  549.       SCODE         *pscode;        /* VT_BYREF|VT_ERROR    */
  550.       CY            *pcyVal;        /* VT_BYREF|VT_CY       */
  551.       DATE          *pdate;         /* VT_BYREF|VT_DATE     */
  552.       BSTR          *pbstrVal;      /* VT_BYREF|VT_BSTR     */
  553.       IUnknown      **ppunkVal;     /* VT_BYREF|VT_UNKNOWN  */
  554.       IDispatch     **ppdispVal;    /* VT_BYREF|VT_DISPATCH */
  555.       SAFEARRAY     **pparray;      /* VT_BYREF|VT_ARRAY|*  */
  556.       VARIANT       *pvarVal;       /* VT_BYREF|VT_VARIANT  */
  557.       void     * byref;             /* Generic ByRef        */
  558.     }
  559. #if(defined(NONAMELESSUNION))
  560.     u
  561. #endif
  562.      ;
  563. };
  564. #endif
  565. #ifndef _LPVARIANT_DEFINED
  566. #define _LPVARIANT_DEFINED
  567.             /* size is 4 */
  568. typedef struct tagVARIANT __RPC_FAR *LPVARIANT;
  569.  
  570. #endif
  571. #ifndef _VARIANTARG_DEFINED
  572. #define _VARIANTARG_DEFINED
  573.             /* size is 16 */
  574. typedef struct tagVARIANT VARIANTARG;
  575.  
  576. #endif
  577. #ifndef _LPVARIANTARG_DEFINED
  578. #define _LPVARIANTARG_DEFINED
  579.             /* size is 4 */
  580. typedef struct tagVARIANT __RPC_FAR *LPVARIANTARG;
  581.  
  582. #endif
  583. #ifndef _DISPID_DEFINED
  584. #define _DISPID_DEFINED
  585.             /* size is 4 */
  586. typedef LONG DISPID;
  587.  
  588. #endif
  589. #ifndef _MEMBERID_DEFINED
  590. #define _MEMBERID_DEFINED
  591.             /* size is 4 */
  592. typedef DISPID MEMBERID;
  593.  
  594. #endif
  595. #ifndef _HREFTYPE_DEFINED
  596. #define _HREFTYPE_DEFINED
  597.             /* size is 4 */
  598. typedef DWORD HREFTYPE;
  599.  
  600. #endif
  601.             /* size is 4 */
  602. typedef ULONG PROPID;
  603.  
  604.             /* size is 2 */
  605. typedef /* [transmit] */ 
  606. enum tagTYPEKIND
  607.     {    TKIND_ENUM    = 0,
  608.     TKIND_RECORD    = TKIND_ENUM + 1,
  609.     TKIND_MODULE    = TKIND_RECORD + 1,
  610.     TKIND_INTERFACE    = TKIND_MODULE + 1,
  611.     TKIND_DISPATCH    = TKIND_INTERFACE + 1,
  612.     TKIND_COCLASS    = TKIND_DISPATCH + 1,
  613.     TKIND_ALIAS    = TKIND_COCLASS + 1,
  614.     TKIND_UNION    = TKIND_ALIAS + 1,
  615.     TKIND_MAX    = TKIND_UNION + 1
  616.     }    TYPEKIND;
  617.  
  618. #define TYPEKIND_to_xmit(pEnum, ppLong) *(ppLong) = (long *) (pEnum)
  619. #define TYPEKIND_from_xmit(pLong, pEnum) *(pEnum) = (TYPEKIND) *(pLong)
  620. #define TYPEKIND_free_inst(pEnum) 
  621. #define TYPEKIND_free_xmit(pLong) 
  622. #ifndef _tagTYPEDESC_DEFINED
  623. #define _tagTYPEDESC_DEFINED
  624. #define _TYPEDESC_DEFINED
  625. /* VT_PTR - lptdesc, the pointed at type */
  626. /* VT_CARRAY - lpadesc */
  627. /* VT_USERDEFINED - hreftype, used to get the UDT typeinfo */
  628.             /* size is 6 */
  629. typedef struct  tagTYPEDESC
  630.     {
  631.     /* [switch_is][switch_type] */ union 
  632.         {
  633.         /* [case] */ struct tagTYPEDESC __RPC_FAR *lptdesc;
  634.         /* [case] */ struct tagARRAYDESC __RPC_FAR *lpadesc;
  635.         /* [case] */ HREFTYPE hreftype;
  636.         } u;
  637.     VARTYPE vt;
  638.     }    TYPEDESC;
  639.  
  640. #endif
  641. #ifndef _tagARRAYDESC_DEFINED
  642. #define _tagARRAYDESC_DEFINED
  643. #define _ARRAYDESC_DEFINED
  644. #if 0
  645.             /* size is 8 */
  646. typedef struct  tagARRAYDESC
  647.     {
  648.     TYPEDESC tdescElem;
  649.     USHORT cDims;
  650.     /* [size_is] */ SAFEARRAYBOUND rgbounds[ 1 ];
  651.     }    ARRAYDESC;
  652.  
  653. #else
  654. typedef struct tagARRAYDESC {
  655.     TYPEDESC tdescElem;     /* element type */
  656.     USHORT cDims;       /* dimension count */
  657.     SAFEARRAYBOUND rgbounds[1]; /* variable length array of bounds */
  658. } ARRAYDESC;
  659. #endif
  660. #endif
  661. #ifndef _tagIDLDESC_DEFINED
  662. #define _tagIDLDESC_DEFINED
  663. #define _IDLDESC_DEFINED
  664. #define _LPIDLDESC_DEFINED
  665. #ifdef _WIN32
  666.             /* size is 6 */
  667. typedef struct  tagIDLDESC
  668.     {
  669.     unsigned long dwReserved;
  670.     unsigned short wIDLFlags;
  671.     }    IDLDESC;
  672.  
  673.             /* size is 4 */
  674. typedef struct tagIDLDESC __RPC_FAR *LPIDLDESC;
  675.  
  676. #else
  677. typedef struct FARSTRUCT tagIDLDESC {
  678. #if defined(_WIN32)
  679.     unsigned long dwReserved;
  680. #else
  681.     BSTR bstrIDLInfo;           /* reserved, but original name retained for
  682.                                    compatibilty */
  683. #endif
  684.     unsigned short wIDLFlags;   /* IN, OUT, etc */
  685. } IDLDESC, FAR* LPIDLDESC;
  686. #endif
  687. #endif
  688. #ifndef _tagELEMDESC_DEFINED
  689. #define _tagELEMDESC_DEFINED
  690. #define _ELEMDESC_DEFINED
  691. #define _LPELEMDESC_DEFINED
  692.             /* size is 14 */
  693. typedef struct  tagELEMDESC
  694.     {
  695.     TYPEDESC tdesc;
  696.     IDLDESC idldesc;
  697.     }    ELEMDESC;
  698.  
  699.             /* size is 4 */
  700. typedef struct tagELEMDESC __RPC_FAR *LPELEMDESC;
  701.  
  702. #endif
  703. #ifndef _tagTYPEATTR_DEFINED
  704. #define _tagTYPEATTR_DEFINED
  705. #define _TYPEATTR_DEFINED
  706. #define _LPTYPEATTR_DEFINED
  707.             /* size is 74 */
  708. typedef struct  tagTYPEATTR
  709.     {
  710.     GUID guid;
  711.     LCID lcid;
  712.     DWORD dwReserved;
  713.     MEMBERID memidConstructor;
  714.     MEMBERID memidDestructor;
  715.     LPOLESTR lpstrSchema;
  716.     ULONG cbSizeInstance;
  717.     TYPEKIND typekind;
  718.     WORD cFuncs;
  719.     WORD cVars;
  720.     WORD cImplTypes;
  721.     WORD cbSizeVft;
  722.     WORD cbAlignment;
  723.     WORD wTypeFlags;
  724.     WORD wMajorVerNum;
  725.     WORD wMinorVerNum;
  726.     TYPEDESC tdescAlias;
  727.     IDLDESC idldescType;
  728.     }    TYPEATTR;
  729.  
  730.             /* size is 4 */
  731. typedef struct tagTYPEATTR __RPC_FAR *LPTYPEATTR;
  732.  
  733. #endif
  734.             /* size is 16 */
  735. typedef struct  tagDISPPARAMS
  736.     {
  737.     /* [size_is] */ VARIANTARG __RPC_FAR *rgvarg;
  738.     /* [size_is] */ DISPID __RPC_FAR *rgdispidNamedArgs;
  739.     UINT cArgs;
  740.     UINT cNamedArgs;
  741.     }    DISPPARAMS;
  742.  
  743.             /* size is 24 */
  744. typedef struct  tagRemEXCEPINFO
  745.     {
  746.     WORD wCode;
  747.     WORD wReserved;
  748.     DWORD dwHelpContext;
  749.     DWORD scode;
  750.     DWORD cSource;
  751.     DWORD cDescription;
  752.     DWORD cHelpFile;
  753.     /* [size_is] */ OLECHAR strings[ 1 ];
  754.     }    RemEXCEPINFO;
  755.  
  756. #if 0
  757.             /* size is 32 */
  758. typedef /* [transmit] */ struct  tagEXCEPINFO
  759.     {
  760.     WORD wCode;
  761.     WORD wReserved;
  762.     BSTR bstrSource;
  763.     BSTR bstrDescription;
  764.     BSTR bstrHelpFile;
  765.     DWORD dwHelpContext;
  766.     /* [unique] */ void __RPC_FAR *pvReserved;
  767.     HRESULT ( __stdcall __RPC_FAR *pfnDeferredFillIn )( 
  768.         struct tagEXCEPINFO __RPC_FAR *__MIDL_0004);
  769.     SCODE scode;
  770.     }    EXCEPINFO;
  771.  
  772.             /* size is 4 */
  773. typedef /* [transmit] */ struct tagEXCEPINFO __RPC_FAR *LPEXCEPINFO;
  774.  
  775. #else
  776. typedef struct tagEXCEPINFO {
  777.     WORD wCode;
  778.     WORD wReserved;
  779.     BSTR bstrSource;
  780.     BSTR bstrDescription;
  781.     BSTR bstrHelpFile;
  782.     DWORD dwHelpContext;
  783.     void __RPC_FAR * pvReserved;
  784.     HRESULT (__stdcall __RPC_FAR * pfnDeferredFillIn)(struct tagEXCEPINFO __RPC_FAR *);
  785.     SCODE scode;
  786. }  EXCEPINFO, __RPC_FAR * LPEXCEPINFO;
  787. #endif
  788.             /* size is 2 */
  789. typedef /* [transmit] */ 
  790. enum tagCALLCONV
  791.     {    CC_CDECL    = 1,
  792.     CC_MSCPASCAL    = CC_CDECL + 1,
  793.     CC_PASCAL    = CC_MSCPASCAL,
  794.     CC_MACPASCAL    = CC_PASCAL + 1,
  795.     CC_STDCALL    = CC_MACPASCAL + 1,
  796.     CC_RESERVED    = CC_STDCALL + 1,
  797.     CC_SYSCALL    = CC_RESERVED + 1,
  798.     CC_MPWCDECL    = CC_SYSCALL + 1,
  799.     CC_MPWPASCAL    = CC_MPWCDECL + 1,
  800.     CC_MAX    = CC_MPWPASCAL + 1
  801.     }    CALLCONV;
  802.  
  803. #define CALLCONV_to_xmit(pEnum, ppLong) *(ppLong) = (long *) (pEnum)
  804. #define CALLCONV_from_xmit(pLong, pEnum) *(pEnum) = (CALLCONV) *(pLong)
  805. #define CALLCONV_free_inst(pEnum) 
  806. #define CALLCONV_free_xmit(pLong) 
  807.             /* size is 2 */
  808. typedef /* [transmit] */ 
  809. enum tagFUNCKIND
  810.     {    FUNC_VIRTUAL    = 0,
  811.     FUNC_PUREVIRTUAL    = FUNC_VIRTUAL + 1,
  812.     FUNC_NONVIRTUAL    = FUNC_PUREVIRTUAL + 1,
  813.     FUNC_STATIC    = FUNC_NONVIRTUAL + 1,
  814.     FUNC_DISPATCH    = FUNC_STATIC + 1
  815.     }    FUNCKIND;
  816.  
  817. #define FUNCKIND_to_xmit(pEnum, ppLong) *(ppLong) = (long *) (pEnum)
  818. #define FUNCKIND_from_xmit(pLong, pEnum) *(pEnum) = (FUNCKIND) *(pLong)
  819. #define FUNCKIND_free_inst(pEnum) 
  820. #define FUNCKIND_free_xmit(pLong) 
  821.             /* size is 2 */
  822. typedef /* [transmit] */ 
  823. enum tagINVOKEKIND
  824.     {    INVOKE_FUNC    = 1,
  825.     INVOKE_PROPERTYGET    = 2,
  826.     INVOKE_PROPERTYPUT    = 4,
  827.     INVOKE_PROPERTYPUTREF    = 8
  828.     }    INVOKEKIND;
  829.  
  830. #define INVOKEKIND_to_xmit(pEnum, ppLong) *(ppLong) = (long *) (pEnum)
  831. #define INVOKEKIND_from_xmit(pLong, pEnum) *(pEnum) = (INVOKEKIND) *(pLong)
  832. #define INVOKEKIND_free_inst(pEnum) 
  833. #define INVOKEKIND_free_xmit(pLong) 
  834.             /* size is 44 */
  835. typedef struct  tagFUNCDESC
  836.     {
  837.     MEMBERID memid;
  838.     /* [size_is] */ SCODE __RPC_FAR *lprgscode;
  839.     /* [size_is] */ ELEMDESC __RPC_FAR *lprgelemdescParam;
  840.     FUNCKIND funckind;
  841.     INVOKEKIND invkind;
  842.     CALLCONV callconv;
  843.     SHORT cParams;
  844.     SHORT cParamsOpt;
  845.     SHORT oVft;
  846.     SHORT cScodes;
  847.     ELEMDESC elemdescFunc;
  848.     WORD wFuncFlags;
  849.     }    FUNCDESC;
  850.  
  851.             /* size is 4 */
  852. typedef struct tagFUNCDESC __RPC_FAR *LPFUNCDESC;
  853.  
  854.             /* size is 2 */
  855. typedef /* [transmit] */ 
  856. enum tagVARKIND
  857.     {    VAR_PERINSTANCE    = 0,
  858.     VAR_STATIC    = VAR_PERINSTANCE + 1,
  859.     VAR_CONST    = VAR_STATIC + 1,
  860.     VAR_DISPATCH    = VAR_CONST + 1
  861.     }    VARKIND;
  862.  
  863. #define VARKIND_to_xmit(pEnum, ppLong) *(ppLong) = (long *) (pEnum)
  864. #define VARKIND_from_xmit(pLong, pEnum) *(pEnum) = (VARKIND) *(pLong)
  865. #define VARKIND_free_inst(pEnum) 
  866. #define VARKIND_free_xmit(pLong) 
  867.             /* size is 2 */
  868. #define    IMPLTYPEFLAG_FDEFAULT    ( 0x1 )
  869.  
  870.             /* size is 2 */
  871. #define    IMPLTYPEFLAG_FSOURCE    ( 0x2 )
  872.  
  873.             /* size is 2 */
  874. #define    IMPLTYPEFLAG_FRESTRICTED    ( 0x4 )
  875.  
  876.             /* size is 30 */
  877. typedef struct  tagVARDESC
  878.     {
  879.     MEMBERID memid;
  880.     LPOLESTR lpstrSchema;
  881.     /* [switch_is][switch_type] */ union 
  882.         {
  883.         /* [case] */ ULONG oInst;
  884.         /* [case] */ VARIANT __RPC_FAR *lpvarValue;
  885.         } u;
  886.     ELEMDESC elemdescVar;
  887.     WORD wVarFlags;
  888.     VARKIND varkind;
  889.     }    VARDESC;
  890.  
  891.             /* size is 4 */
  892. typedef struct tagVARDESC __RPC_FAR *LPVARDESC;
  893.  
  894. #ifndef _tagTYPEFLAGS_DEFINED
  895. #define _tagTYPEFLAGS_DEFINED
  896. #define _TYPEFLAGS_DEFINED
  897.             /* size is 2 */
  898. typedef 
  899. enum tagTYPEFLAGS
  900.     {    TYPEFLAG_FAPPOBJECT    = 0x1,
  901.     TYPEFLAG_FCANCREATE    = 0x2,
  902.     TYPEFLAG_FLICENSED    = 0x4,
  903.     TYPEFLAG_FPREDECLID    = 0x8,
  904.     TYPEFLAG_FHIDDEN    = 0x10,
  905.     TYPEFLAG_FCONTROL    = 0x20,
  906.     TYPEFLAG_FDUAL    = 0x40,
  907.     TYPEFLAG_FNONEXTENSIBLE    = 0x80,
  908.     TYPEFLAG_FOLEAUTOMATION    = 0x100,
  909.     TYPEFLAG_FRESTRICTED    = 0x200
  910.     }    TYPEFLAGS;
  911.  
  912. #endif
  913. #ifndef _tagFUNCFLAGS_DEFINED
  914. #define _tagFUNCFLAGS_DEFINED
  915. #define _FUNCFLAGS_DEFINED
  916.             /* size is 2 */
  917. typedef 
  918. enum tagFUNCFLAGS
  919.     {    FUNCFLAG_FRESTRICTED    = 1,
  920.     FUNCFLAG_FSOURCE    = 0x2,
  921.     FUNCFLAG_FBINDABLE    = 0x4,
  922.     FUNCFLAG_FREQUESTEDIT    = 0x8,
  923.     FUNCFLAG_FDISPLAYBIND    = 0x10,
  924.     FUNCFLAG_FDEFAULTBIND    = 0x20,
  925.     FUNCFLAG_FHIDDEN    = 0x40,
  926.     FUNCFLAG_FUSESGETLASTERROR    = 0x80
  927.     }    FUNCFLAGS;
  928.  
  929. #endif
  930. #ifndef _tagVARFLAGS_DEFINED
  931. #define _tagVARFLAGS_DEFINED
  932. #define _VARFLAGS_DEFINED
  933.             /* size is 2 */
  934. typedef 
  935. enum tagVARFLAGS
  936.     {    VARFLAG_FREADONLY    = 1,
  937.     VARFLAG_FSOURCE    = 0x2,
  938.     VARFLAG_FBINDABLE    = 0x4,
  939.     VARFLAG_FREQUESTEDIT    = 0x8,
  940.     VARFLAG_FDISPLAYBIND    = 0x10,
  941.     VARFLAG_FDEFAULTBIND    = 0x20,
  942.     VARFLAG_FHIDDEN    = 0x40
  943.     }    VARFLAGS;
  944.  
  945. #endif
  946.  
  947. #ifndef NORPC
  948. extern RPC_IF_HANDLE RemVariant_v0_1_c_ifspec;
  949. extern RPC_IF_HANDLE RemVariant_v0_1_s_ifspec;
  950. #endif // NORPC
  951. #endif /* __RemVariant_INTERFACE_DEFINED__ */
  952.  
  953. #ifndef __ICreateTypeInfo_INTERFACE_DEFINED__
  954. #define __ICreateTypeInfo_INTERFACE_DEFINED__
  955.  
  956. /****************************************
  957.  * Generated header for interface: ICreateTypeInfo
  958.  * at Fri Apr 28 07:02:38 1995
  959.  * using MIDL 2.00.0102
  960.  ****************************************/
  961. /* [local][unique][uuid][object] */ 
  962.  
  963.  
  964.             /* size is 4 */
  965. typedef /* [unique] */ ICreateTypeInfo __RPC_FAR *LPCREATETYPEINFO;
  966.  
  967.  
  968. EXTERN_C const IID IID_ICreateTypeInfo;
  969.  
  970. #if defined(__cplusplus) && !defined(CINTERFACE)
  971.     
  972.     interface ICreateTypeInfo : public IUnknown
  973.     {
  974.     public:
  975.         virtual HRESULT __stdcall SetGuid( 
  976.             /* [in] */ REFGUID guid) = 0;
  977.         
  978.         virtual HRESULT __stdcall SetTypeFlags( 
  979.             /* [in] */ UINT uTypeFlags) = 0;
  980.         
  981.         virtual HRESULT __stdcall SetDocString( 
  982.             /* [in] */ LPOLESTR lpstrDoc) = 0;
  983.         
  984.         virtual HRESULT __stdcall SetHelpContext( 
  985.             /* [in] */ DWORD dwHelpContext) = 0;
  986.         
  987.         virtual HRESULT __stdcall SetVersion( 
  988.             /* [in] */ WORD wMajorVerNum,
  989.             /* [in] */ WORD wMinorVerNum) = 0;
  990.         
  991.         virtual HRESULT __stdcall AddRefTypeInfo( 
  992.             /* [in] */ ITypeInfo __RPC_FAR *ptinfo,
  993.             /* [in] */ HREFTYPE __RPC_FAR *phreftype) = 0;
  994.         
  995.         virtual HRESULT __stdcall AddFuncDesc( 
  996.             /* [in] */ UINT index,
  997.             /* [in] */ FUNCDESC __RPC_FAR *pfuncdesc) = 0;
  998.         
  999.         virtual HRESULT __stdcall AddImplType( 
  1000.             /* [in] */ UINT index,
  1001.             /* [in] */ HREFTYPE hreftype) = 0;
  1002.         
  1003.         virtual HRESULT __stdcall SetImplTypeFlags( 
  1004.             /* [in] */ UINT index,
  1005.             /* [in] */ INT impltypeflags) = 0;
  1006.         
  1007.         virtual HRESULT __stdcall SetAlignment( 
  1008.             /* [in] */ WORD cbAlignment) = 0;
  1009.         
  1010.         virtual HRESULT __stdcall SetSchema( 
  1011.             /* [in] */ LPOLESTR lpstrSchema) = 0;
  1012.         
  1013.         virtual HRESULT __stdcall AddVarDesc( 
  1014.             /* [in] */ UINT index,
  1015.             /* [in] */ VARDESC __RPC_FAR *pvardesc) = 0;
  1016.         
  1017.         virtual HRESULT __stdcall SetFuncAndParamNames( 
  1018.             /* [in] */ UINT index,
  1019.             /* [in][size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1020.             /* [in] */ UINT cNames) = 0;
  1021.         
  1022.         virtual HRESULT __stdcall SetVarName( 
  1023.             /* [in] */ UINT index,
  1024.             /* [in] */ LPOLESTR szName) = 0;
  1025.         
  1026.         virtual HRESULT __stdcall SetTypeDescAlias( 
  1027.             /* [in] */ TYPEDESC __RPC_FAR *ptdescAlias) = 0;
  1028.         
  1029.         virtual HRESULT __stdcall DefineFuncAsDllEntry( 
  1030.             /* [in] */ UINT index,
  1031.             /* [in] */ LPOLESTR szDllName,
  1032.             /* [in] */ LPOLESTR szProcName) = 0;
  1033.         
  1034.         virtual HRESULT __stdcall SetFuncDocString( 
  1035.             /* [in] */ UINT index,
  1036.             /* [in] */ LPOLESTR szDocString) = 0;
  1037.         
  1038.         virtual HRESULT __stdcall SetVarDocString( 
  1039.             /* [in] */ UINT index,
  1040.             /* [in] */ LPOLESTR szDocString) = 0;
  1041.         
  1042.         virtual HRESULT __stdcall SetFuncHelpContext( 
  1043.             /* [in] */ UINT index,
  1044.             /* [in] */ DWORD dwHelpContext) = 0;
  1045.         
  1046.         virtual HRESULT __stdcall SetVarHelpContext( 
  1047.             /* [in] */ UINT index,
  1048.             /* [in] */ DWORD dwHelpContext) = 0;
  1049.         
  1050.         virtual HRESULT __stdcall SetMops( 
  1051.             /* [in] */ UINT index,
  1052.             /* [in] */ BSTR bstrMops) = 0;
  1053.         
  1054.         virtual HRESULT __stdcall SetTypeIdldesc( 
  1055.             /* [in] */ IDLDESC __RPC_FAR *pidldesc) = 0;
  1056.         
  1057.         virtual HRESULT __stdcall LayOut( void) = 0;
  1058.         
  1059.     };
  1060.     
  1061. #else     /* C style interface */
  1062.  
  1063.     typedef struct ICreateTypeInfoVtbl
  1064.     {
  1065.         
  1066.         HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  1067.             ICreateTypeInfo __RPC_FAR * This,
  1068.             /* [in] */ REFIID riid,
  1069.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1070.         
  1071.         ULONG ( __stdcall __RPC_FAR *AddRef )( 
  1072.             ICreateTypeInfo __RPC_FAR * This);
  1073.         
  1074.         ULONG ( __stdcall __RPC_FAR *Release )( 
  1075.             ICreateTypeInfo __RPC_FAR * This);
  1076.         
  1077.         HRESULT ( __stdcall __RPC_FAR *SetGuid )( 
  1078.             ICreateTypeInfo __RPC_FAR * This,
  1079.             /* [in] */ REFGUID guid);
  1080.         
  1081.         HRESULT ( __stdcall __RPC_FAR *SetTypeFlags )( 
  1082.             ICreateTypeInfo __RPC_FAR * This,
  1083.             /* [in] */ UINT uTypeFlags);
  1084.         
  1085.         HRESULT ( __stdcall __RPC_FAR *SetDocString )( 
  1086.             ICreateTypeInfo __RPC_FAR * This,
  1087.             /* [in] */ LPOLESTR lpstrDoc);
  1088.         
  1089.         HRESULT ( __stdcall __RPC_FAR *SetHelpContext )( 
  1090.             ICreateTypeInfo __RPC_FAR * This,
  1091.             /* [in] */ DWORD dwHelpContext);
  1092.         
  1093.         HRESULT ( __stdcall __RPC_FAR *SetVersion )( 
  1094.             ICreateTypeInfo __RPC_FAR * This,
  1095.             /* [in] */ WORD wMajorVerNum,
  1096.             /* [in] */ WORD wMinorVerNum);
  1097.         
  1098.         HRESULT ( __stdcall __RPC_FAR *AddRefTypeInfo )( 
  1099.             ICreateTypeInfo __RPC_FAR * This,
  1100.             /* [in] */ ITypeInfo __RPC_FAR *ptinfo,
  1101.             /* [in] */ HREFTYPE __RPC_FAR *phreftype);
  1102.         
  1103.         HRESULT ( __stdcall __RPC_FAR *AddFuncDesc )( 
  1104.             ICreateTypeInfo __RPC_FAR * This,
  1105.             /* [in] */ UINT index,
  1106.             /* [in] */ FUNCDESC __RPC_FAR *pfuncdesc);
  1107.         
  1108.         HRESULT ( __stdcall __RPC_FAR *AddImplType )( 
  1109.             ICreateTypeInfo __RPC_FAR * This,
  1110.             /* [in] */ UINT index,
  1111.             /* [in] */ HREFTYPE hreftype);
  1112.         
  1113.         HRESULT ( __stdcall __RPC_FAR *SetImplTypeFlags )( 
  1114.             ICreateTypeInfo __RPC_FAR * This,
  1115.             /* [in] */ UINT index,
  1116.             /* [in] */ INT impltypeflags);
  1117.         
  1118.         HRESULT ( __stdcall __RPC_FAR *SetAlignment )( 
  1119.             ICreateTypeInfo __RPC_FAR * This,
  1120.             /* [in] */ WORD cbAlignment);
  1121.         
  1122.         HRESULT ( __stdcall __RPC_FAR *SetSchema )( 
  1123.             ICreateTypeInfo __RPC_FAR * This,
  1124.             /* [in] */ LPOLESTR lpstrSchema);
  1125.         
  1126.         HRESULT ( __stdcall __RPC_FAR *AddVarDesc )( 
  1127.             ICreateTypeInfo __RPC_FAR * This,
  1128.             /* [in] */ UINT index,
  1129.             /* [in] */ VARDESC __RPC_FAR *pvardesc);
  1130.         
  1131.         HRESULT ( __stdcall __RPC_FAR *SetFuncAndParamNames )( 
  1132.             ICreateTypeInfo __RPC_FAR * This,
  1133.             /* [in] */ UINT index,
  1134.             /* [in][size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1135.             /* [in] */ UINT cNames);
  1136.         
  1137.         HRESULT ( __stdcall __RPC_FAR *SetVarName )( 
  1138.             ICreateTypeInfo __RPC_FAR * This,
  1139.             /* [in] */ UINT index,
  1140.             /* [in] */ LPOLESTR szName);
  1141.         
  1142.         HRESULT ( __stdcall __RPC_FAR *SetTypeDescAlias )( 
  1143.             ICreateTypeInfo __RPC_FAR * This,
  1144.             /* [in] */ TYPEDESC __RPC_FAR *ptdescAlias);
  1145.         
  1146.         HRESULT ( __stdcall __RPC_FAR *DefineFuncAsDllEntry )( 
  1147.             ICreateTypeInfo __RPC_FAR * This,
  1148.             /* [in] */ UINT index,
  1149.             /* [in] */ LPOLESTR szDllName,
  1150.             /* [in] */ LPOLESTR szProcName);
  1151.         
  1152.         HRESULT ( __stdcall __RPC_FAR *SetFuncDocString )( 
  1153.             ICreateTypeInfo __RPC_FAR * This,
  1154.             /* [in] */ UINT index,
  1155.             /* [in] */ LPOLESTR szDocString);
  1156.         
  1157.         HRESULT ( __stdcall __RPC_FAR *SetVarDocString )( 
  1158.             ICreateTypeInfo __RPC_FAR * This,
  1159.             /* [in] */ UINT index,
  1160.             /* [in] */ LPOLESTR szDocString);
  1161.         
  1162.         HRESULT ( __stdcall __RPC_FAR *SetFuncHelpContext )( 
  1163.             ICreateTypeInfo __RPC_FAR * This,
  1164.             /* [in] */ UINT index,
  1165.             /* [in] */ DWORD dwHelpContext);
  1166.         
  1167.         HRESULT ( __stdcall __RPC_FAR *SetVarHelpContext )( 
  1168.             ICreateTypeInfo __RPC_FAR * This,
  1169.             /* [in] */ UINT index,
  1170.             /* [in] */ DWORD dwHelpContext);
  1171.         
  1172.         HRESULT ( __stdcall __RPC_FAR *SetMops )( 
  1173.             ICreateTypeInfo __RPC_FAR * This,
  1174.             /* [in] */ UINT index,
  1175.             /* [in] */ BSTR bstrMops);
  1176.         
  1177.         HRESULT ( __stdcall __RPC_FAR *SetTypeIdldesc )( 
  1178.             ICreateTypeInfo __RPC_FAR * This,
  1179.             /* [in] */ IDLDESC __RPC_FAR *pidldesc);
  1180.         
  1181.         HRESULT ( __stdcall __RPC_FAR *LayOut )( 
  1182.             ICreateTypeInfo __RPC_FAR * This);
  1183.         
  1184.     } ICreateTypeInfoVtbl;
  1185.  
  1186.     interface ICreateTypeInfo
  1187.     {
  1188.         CONST_VTBL struct ICreateTypeInfoVtbl __RPC_FAR *lpVtbl;
  1189.     };
  1190.  
  1191.     
  1192.  
  1193. #ifdef COBJMACROS
  1194.  
  1195.  
  1196. #define ICreateTypeInfo_QueryInterface(This,riid,ppvObject)    \
  1197.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1198.  
  1199. #define ICreateTypeInfo_AddRef(This)    \
  1200.     (This)->lpVtbl -> AddRef(This)
  1201.  
  1202. #define ICreateTypeInfo_Release(This)    \
  1203.     (This)->lpVtbl -> Release(This)
  1204.  
  1205.  
  1206. #define ICreateTypeInfo_SetGuid(This,guid)    \
  1207.     (This)->lpVtbl -> SetGuid(This,guid)
  1208.  
  1209. #define ICreateTypeInfo_SetTypeFlags(This,uTypeFlags)    \
  1210.     (This)->lpVtbl -> SetTypeFlags(This,uTypeFlags)
  1211.  
  1212. #define ICreateTypeInfo_SetDocString(This,lpstrDoc)    \
  1213.     (This)->lpVtbl -> SetDocString(This,lpstrDoc)
  1214.  
  1215. #define ICreateTypeInfo_SetHelpContext(This,dwHelpContext)    \
  1216.     (This)->lpVtbl -> SetHelpContext(This,dwHelpContext)
  1217.  
  1218. #define ICreateTypeInfo_SetVersion(This,wMajorVerNum,wMinorVerNum)    \
  1219.     (This)->lpVtbl -> SetVersion(This,wMajorVerNum,wMinorVerNum)
  1220.  
  1221. #define ICreateTypeInfo_AddRefTypeInfo(This,ptinfo,phreftype)    \
  1222.     (This)->lpVtbl -> AddRefTypeInfo(This,ptinfo,phreftype)
  1223.  
  1224. #define ICreateTypeInfo_AddFuncDesc(This,index,pfuncdesc)    \
  1225.     (This)->lpVtbl -> AddFuncDesc(This,index,pfuncdesc)
  1226.  
  1227. #define ICreateTypeInfo_AddImplType(This,index,hreftype)    \
  1228.     (This)->lpVtbl -> AddImplType(This,index,hreftype)
  1229.  
  1230. #define ICreateTypeInfo_SetImplTypeFlags(This,index,impltypeflags)    \
  1231.     (This)->lpVtbl -> SetImplTypeFlags(This,index,impltypeflags)
  1232.  
  1233. #define ICreateTypeInfo_SetAlignment(This,cbAlignment)    \
  1234.     (This)->lpVtbl -> SetAlignment(This,cbAlignment)
  1235.  
  1236. #define ICreateTypeInfo_SetSchema(This,lpstrSchema)    \
  1237.     (This)->lpVtbl -> SetSchema(This,lpstrSchema)
  1238.  
  1239. #define ICreateTypeInfo_AddVarDesc(This,index,pvardesc)    \
  1240.     (This)->lpVtbl -> AddVarDesc(This,index,pvardesc)
  1241.  
  1242. #define ICreateTypeInfo_SetFuncAndParamNames(This,index,rgszNames,cNames)    \
  1243.     (This)->lpVtbl -> SetFuncAndParamNames(This,index,rgszNames,cNames)
  1244.  
  1245. #define ICreateTypeInfo_SetVarName(This,index,szName)    \
  1246.     (This)->lpVtbl -> SetVarName(This,index,szName)
  1247.  
  1248. #define ICreateTypeInfo_SetTypeDescAlias(This,ptdescAlias)    \
  1249.     (This)->lpVtbl -> SetTypeDescAlias(This,ptdescAlias)
  1250.  
  1251. #define ICreateTypeInfo_DefineFuncAsDllEntry(This,index,szDllName,szProcName)    \
  1252.     (This)->lpVtbl -> DefineFuncAsDllEntry(This,index,szDllName,szProcName)
  1253.  
  1254. #define ICreateTypeInfo_SetFuncDocString(This,index,szDocString)    \
  1255.     (This)->lpVtbl -> SetFuncDocString(This,index,szDocString)
  1256.  
  1257. #define ICreateTypeInfo_SetVarDocString(This,index,szDocString)    \
  1258.     (This)->lpVtbl -> SetVarDocString(This,index,szDocString)
  1259.  
  1260. #define ICreateTypeInfo_SetFuncHelpContext(This,index,dwHelpContext)    \
  1261.     (This)->lpVtbl -> SetFuncHelpContext(This,index,dwHelpContext)
  1262.  
  1263. #define ICreateTypeInfo_SetVarHelpContext(This,index,dwHelpContext)    \
  1264.     (This)->lpVtbl -> SetVarHelpContext(This,index,dwHelpContext)
  1265.  
  1266. #define ICreateTypeInfo_SetMops(This,index,bstrMops)    \
  1267.     (This)->lpVtbl -> SetMops(This,index,bstrMops)
  1268.  
  1269. #define ICreateTypeInfo_SetTypeIdldesc(This,pidldesc)    \
  1270.     (This)->lpVtbl -> SetTypeIdldesc(This,pidldesc)
  1271.  
  1272. #define ICreateTypeInfo_LayOut(This)    \
  1273.     (This)->lpVtbl -> LayOut(This)
  1274.  
  1275. #endif /* COBJMACROS */
  1276.  
  1277.  
  1278. #endif     /* C style interface */
  1279.  
  1280. #ifndef NOPROXYSTUB
  1281.  
  1282. HRESULT __stdcall ICreateTypeInfo_SetGuid_Proxy( 
  1283.     ICreateTypeInfo __RPC_FAR * This,
  1284.     /* [in] */ REFGUID guid);
  1285.  
  1286.  
  1287. void __RPC_STUB ICreateTypeInfo_SetGuid_Stub(
  1288.     IRpcStubBuffer *This,
  1289.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1290.     PRPC_MESSAGE _pRpcMessage,
  1291.     DWORD *_pdwStubPhase);
  1292.  
  1293.  
  1294. HRESULT __stdcall ICreateTypeInfo_SetTypeFlags_Proxy( 
  1295.     ICreateTypeInfo __RPC_FAR * This,
  1296.     /* [in] */ UINT uTypeFlags);
  1297.  
  1298.  
  1299. void __RPC_STUB ICreateTypeInfo_SetTypeFlags_Stub(
  1300.     IRpcStubBuffer *This,
  1301.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1302.     PRPC_MESSAGE _pRpcMessage,
  1303.     DWORD *_pdwStubPhase);
  1304.  
  1305.  
  1306. HRESULT __stdcall ICreateTypeInfo_SetDocString_Proxy( 
  1307.     ICreateTypeInfo __RPC_FAR * This,
  1308.     /* [in] */ LPOLESTR lpstrDoc);
  1309.  
  1310.  
  1311. void __RPC_STUB ICreateTypeInfo_SetDocString_Stub(
  1312.     IRpcStubBuffer *This,
  1313.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1314.     PRPC_MESSAGE _pRpcMessage,
  1315.     DWORD *_pdwStubPhase);
  1316.  
  1317.  
  1318. HRESULT __stdcall ICreateTypeInfo_SetHelpContext_Proxy( 
  1319.     ICreateTypeInfo __RPC_FAR * This,
  1320.     /* [in] */ DWORD dwHelpContext);
  1321.  
  1322.  
  1323. void __RPC_STUB ICreateTypeInfo_SetHelpContext_Stub(
  1324.     IRpcStubBuffer *This,
  1325.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1326.     PRPC_MESSAGE _pRpcMessage,
  1327.     DWORD *_pdwStubPhase);
  1328.  
  1329.  
  1330. HRESULT __stdcall ICreateTypeInfo_SetVersion_Proxy( 
  1331.     ICreateTypeInfo __RPC_FAR * This,
  1332.     /* [in] */ WORD wMajorVerNum,
  1333.     /* [in] */ WORD wMinorVerNum);
  1334.  
  1335.  
  1336. void __RPC_STUB ICreateTypeInfo_SetVersion_Stub(
  1337.     IRpcStubBuffer *This,
  1338.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1339.     PRPC_MESSAGE _pRpcMessage,
  1340.     DWORD *_pdwStubPhase);
  1341.  
  1342.  
  1343. HRESULT __stdcall ICreateTypeInfo_AddRefTypeInfo_Proxy( 
  1344.     ICreateTypeInfo __RPC_FAR * This,
  1345.     /* [in] */ ITypeInfo __RPC_FAR *ptinfo,
  1346.     /* [in] */ HREFTYPE __RPC_FAR *phreftype);
  1347.  
  1348.  
  1349. void __RPC_STUB ICreateTypeInfo_AddRefTypeInfo_Stub(
  1350.     IRpcStubBuffer *This,
  1351.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1352.     PRPC_MESSAGE _pRpcMessage,
  1353.     DWORD *_pdwStubPhase);
  1354.  
  1355.  
  1356. HRESULT __stdcall ICreateTypeInfo_AddFuncDesc_Proxy( 
  1357.     ICreateTypeInfo __RPC_FAR * This,
  1358.     /* [in] */ UINT index,
  1359.     /* [in] */ FUNCDESC __RPC_FAR *pfuncdesc);
  1360.  
  1361.  
  1362. void __RPC_STUB ICreateTypeInfo_AddFuncDesc_Stub(
  1363.     IRpcStubBuffer *This,
  1364.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1365.     PRPC_MESSAGE _pRpcMessage,
  1366.     DWORD *_pdwStubPhase);
  1367.  
  1368.  
  1369. HRESULT __stdcall ICreateTypeInfo_AddImplType_Proxy( 
  1370.     ICreateTypeInfo __RPC_FAR * This,
  1371.     /* [in] */ UINT index,
  1372.     /* [in] */ HREFTYPE hreftype);
  1373.  
  1374.  
  1375. void __RPC_STUB ICreateTypeInfo_AddImplType_Stub(
  1376.     IRpcStubBuffer *This,
  1377.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1378.     PRPC_MESSAGE _pRpcMessage,
  1379.     DWORD *_pdwStubPhase);
  1380.  
  1381.  
  1382. HRESULT __stdcall ICreateTypeInfo_SetImplTypeFlags_Proxy( 
  1383.     ICreateTypeInfo __RPC_FAR * This,
  1384.     /* [in] */ UINT index,
  1385.     /* [in] */ INT impltypeflags);
  1386.  
  1387.  
  1388. void __RPC_STUB ICreateTypeInfo_SetImplTypeFlags_Stub(
  1389.     IRpcStubBuffer *This,
  1390.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1391.     PRPC_MESSAGE _pRpcMessage,
  1392.     DWORD *_pdwStubPhase);
  1393.  
  1394.  
  1395. HRESULT __stdcall ICreateTypeInfo_SetAlignment_Proxy( 
  1396.     ICreateTypeInfo __RPC_FAR * This,
  1397.     /* [in] */ WORD cbAlignment);
  1398.  
  1399.  
  1400. void __RPC_STUB ICreateTypeInfo_SetAlignment_Stub(
  1401.     IRpcStubBuffer *This,
  1402.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1403.     PRPC_MESSAGE _pRpcMessage,
  1404.     DWORD *_pdwStubPhase);
  1405.  
  1406.  
  1407. HRESULT __stdcall ICreateTypeInfo_SetSchema_Proxy( 
  1408.     ICreateTypeInfo __RPC_FAR * This,
  1409.     /* [in] */ LPOLESTR lpstrSchema);
  1410.  
  1411.  
  1412. void __RPC_STUB ICreateTypeInfo_SetSchema_Stub(
  1413.     IRpcStubBuffer *This,
  1414.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1415.     PRPC_MESSAGE _pRpcMessage,
  1416.     DWORD *_pdwStubPhase);
  1417.  
  1418.  
  1419. HRESULT __stdcall ICreateTypeInfo_AddVarDesc_Proxy( 
  1420.     ICreateTypeInfo __RPC_FAR * This,
  1421.     /* [in] */ UINT index,
  1422.     /* [in] */ VARDESC __RPC_FAR *pvardesc);
  1423.  
  1424.  
  1425. void __RPC_STUB ICreateTypeInfo_AddVarDesc_Stub(
  1426.     IRpcStubBuffer *This,
  1427.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1428.     PRPC_MESSAGE _pRpcMessage,
  1429.     DWORD *_pdwStubPhase);
  1430.  
  1431.  
  1432. HRESULT __stdcall ICreateTypeInfo_SetFuncAndParamNames_Proxy( 
  1433.     ICreateTypeInfo __RPC_FAR * This,
  1434.     /* [in] */ UINT index,
  1435.     /* [in][size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1436.     /* [in] */ UINT cNames);
  1437.  
  1438.  
  1439. void __RPC_STUB ICreateTypeInfo_SetFuncAndParamNames_Stub(
  1440.     IRpcStubBuffer *This,
  1441.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1442.     PRPC_MESSAGE _pRpcMessage,
  1443.     DWORD *_pdwStubPhase);
  1444.  
  1445.  
  1446. HRESULT __stdcall ICreateTypeInfo_SetVarName_Proxy( 
  1447.     ICreateTypeInfo __RPC_FAR * This,
  1448.     /* [in] */ UINT index,
  1449.     /* [in] */ LPOLESTR szName);
  1450.  
  1451.  
  1452. void __RPC_STUB ICreateTypeInfo_SetVarName_Stub(
  1453.     IRpcStubBuffer *This,
  1454.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1455.     PRPC_MESSAGE _pRpcMessage,
  1456.     DWORD *_pdwStubPhase);
  1457.  
  1458.  
  1459. HRESULT __stdcall ICreateTypeInfo_SetTypeDescAlias_Proxy( 
  1460.     ICreateTypeInfo __RPC_FAR * This,
  1461.     /* [in] */ TYPEDESC __RPC_FAR *ptdescAlias);
  1462.  
  1463.  
  1464. void __RPC_STUB ICreateTypeInfo_SetTypeDescAlias_Stub(
  1465.     IRpcStubBuffer *This,
  1466.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1467.     PRPC_MESSAGE _pRpcMessage,
  1468.     DWORD *_pdwStubPhase);
  1469.  
  1470.  
  1471. HRESULT __stdcall ICreateTypeInfo_DefineFuncAsDllEntry_Proxy( 
  1472.     ICreateTypeInfo __RPC_FAR * This,
  1473.     /* [in] */ UINT index,
  1474.     /* [in] */ LPOLESTR szDllName,
  1475.     /* [in] */ LPOLESTR szProcName);
  1476.  
  1477.  
  1478. void __RPC_STUB ICreateTypeInfo_DefineFuncAsDllEntry_Stub(
  1479.     IRpcStubBuffer *This,
  1480.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1481.     PRPC_MESSAGE _pRpcMessage,
  1482.     DWORD *_pdwStubPhase);
  1483.  
  1484.  
  1485. HRESULT __stdcall ICreateTypeInfo_SetFuncDocString_Proxy( 
  1486.     ICreateTypeInfo __RPC_FAR * This,
  1487.     /* [in] */ UINT index,
  1488.     /* [in] */ LPOLESTR szDocString);
  1489.  
  1490.  
  1491. void __RPC_STUB ICreateTypeInfo_SetFuncDocString_Stub(
  1492.     IRpcStubBuffer *This,
  1493.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1494.     PRPC_MESSAGE _pRpcMessage,
  1495.     DWORD *_pdwStubPhase);
  1496.  
  1497.  
  1498. HRESULT __stdcall ICreateTypeInfo_SetVarDocString_Proxy( 
  1499.     ICreateTypeInfo __RPC_FAR * This,
  1500.     /* [in] */ UINT index,
  1501.     /* [in] */ LPOLESTR szDocString);
  1502.  
  1503.  
  1504. void __RPC_STUB ICreateTypeInfo_SetVarDocString_Stub(
  1505.     IRpcStubBuffer *This,
  1506.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1507.     PRPC_MESSAGE _pRpcMessage,
  1508.     DWORD *_pdwStubPhase);
  1509.  
  1510.  
  1511. HRESULT __stdcall ICreateTypeInfo_SetFuncHelpContext_Proxy( 
  1512.     ICreateTypeInfo __RPC_FAR * This,
  1513.     /* [in] */ UINT index,
  1514.     /* [in] */ DWORD dwHelpContext);
  1515.  
  1516.  
  1517. void __RPC_STUB ICreateTypeInfo_SetFuncHelpContext_Stub(
  1518.     IRpcStubBuffer *This,
  1519.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1520.     PRPC_MESSAGE _pRpcMessage,
  1521.     DWORD *_pdwStubPhase);
  1522.  
  1523.  
  1524. HRESULT __stdcall ICreateTypeInfo_SetVarHelpContext_Proxy( 
  1525.     ICreateTypeInfo __RPC_FAR * This,
  1526.     /* [in] */ UINT index,
  1527.     /* [in] */ DWORD dwHelpContext);
  1528.  
  1529.  
  1530. void __RPC_STUB ICreateTypeInfo_SetVarHelpContext_Stub(
  1531.     IRpcStubBuffer *This,
  1532.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1533.     PRPC_MESSAGE _pRpcMessage,
  1534.     DWORD *_pdwStubPhase);
  1535.  
  1536.  
  1537. HRESULT __stdcall ICreateTypeInfo_SetMops_Proxy( 
  1538.     ICreateTypeInfo __RPC_FAR * This,
  1539.     /* [in] */ UINT index,
  1540.     /* [in] */ BSTR bstrMops);
  1541.  
  1542.  
  1543. void __RPC_STUB ICreateTypeInfo_SetMops_Stub(
  1544.     IRpcStubBuffer *This,
  1545.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1546.     PRPC_MESSAGE _pRpcMessage,
  1547.     DWORD *_pdwStubPhase);
  1548.  
  1549.  
  1550. HRESULT __stdcall ICreateTypeInfo_SetTypeIdldesc_Proxy( 
  1551.     ICreateTypeInfo __RPC_FAR * This,
  1552.     /* [in] */ IDLDESC __RPC_FAR *pidldesc);
  1553.  
  1554.  
  1555. void __RPC_STUB ICreateTypeInfo_SetTypeIdldesc_Stub(
  1556.     IRpcStubBuffer *This,
  1557.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1558.     PRPC_MESSAGE _pRpcMessage,
  1559.     DWORD *_pdwStubPhase);
  1560.  
  1561.  
  1562. HRESULT __stdcall ICreateTypeInfo_LayOut_Proxy( 
  1563.     ICreateTypeInfo __RPC_FAR * This);
  1564.  
  1565.  
  1566. void __RPC_STUB ICreateTypeInfo_LayOut_Stub(
  1567.     IRpcStubBuffer *This,
  1568.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1569.     PRPC_MESSAGE _pRpcMessage,
  1570.     DWORD *_pdwStubPhase);
  1571.  
  1572. #endif // NOPROXYSTUB
  1573.  
  1574. #endif     /* __ICreateTypeInfo_INTERFACE_DEFINED__ */
  1575.  
  1576.  
  1577. #ifndef __ICreateTypeLib_INTERFACE_DEFINED__
  1578. #define __ICreateTypeLib_INTERFACE_DEFINED__
  1579.  
  1580. /****************************************
  1581.  * Generated header for interface: ICreateTypeLib
  1582.  * at Fri Apr 28 07:02:38 1995
  1583.  * using MIDL 2.00.0102
  1584.  ****************************************/
  1585. /* [local][unique][uuid][object] */ 
  1586.  
  1587.  
  1588.             /* size is 4 */
  1589. typedef /* [unique] */ ICreateTypeLib __RPC_FAR *LPCREATETYPELIB;
  1590.  
  1591.  
  1592. EXTERN_C const IID IID_ICreateTypeLib;
  1593.  
  1594. #if defined(__cplusplus) && !defined(CINTERFACE)
  1595.     
  1596.     interface ICreateTypeLib : public IUnknown
  1597.     {
  1598.     public:
  1599.         virtual HRESULT __stdcall CreateTypeInfo( 
  1600.             /* [in] */ LPOLESTR szName,
  1601.             /* [in] */ TYPEKIND tkind,
  1602.             /* [out] */ ICreateTypeInfo __RPC_FAR *__RPC_FAR *lplpictinfo) = 0;
  1603.         
  1604.         virtual HRESULT __stdcall SetName( 
  1605.             LPOLESTR szName) = 0;
  1606.         
  1607.         virtual HRESULT __stdcall SetVersion( 
  1608.             /* [in] */ WORD wMajorVerNum,
  1609.             /* [in] */ WORD wMinorVerNum) = 0;
  1610.         
  1611.         virtual HRESULT __stdcall SetGuid( 
  1612.             /* [in] */ REFGUID guid) = 0;
  1613.         
  1614.         virtual HRESULT __stdcall SetDocString( 
  1615.             /* [in] */ LPOLESTR szDoc) = 0;
  1616.         
  1617.         virtual HRESULT __stdcall SetHelpFileName( 
  1618.             /* [in] */ LPOLESTR szHelpFileName) = 0;
  1619.         
  1620.         virtual HRESULT __stdcall SetHelpContext( 
  1621.             /* [in] */ DWORD dwHelpContext) = 0;
  1622.         
  1623.         virtual HRESULT __stdcall SetLcid( 
  1624.             /* [in] */ LCID lcid) = 0;
  1625.         
  1626.         virtual HRESULT __stdcall SetLibFlags( 
  1627.             /* [in] */ UINT uLibFlags) = 0;
  1628.         
  1629.         virtual HRESULT __stdcall SaveAllChanges( void) = 0;
  1630.         
  1631.     };
  1632.     
  1633. #else     /* C style interface */
  1634.  
  1635.     typedef struct ICreateTypeLibVtbl
  1636.     {
  1637.         
  1638.         HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  1639.             ICreateTypeLib __RPC_FAR * This,
  1640.             /* [in] */ REFIID riid,
  1641.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1642.         
  1643.         ULONG ( __stdcall __RPC_FAR *AddRef )( 
  1644.             ICreateTypeLib __RPC_FAR * This);
  1645.         
  1646.         ULONG ( __stdcall __RPC_FAR *Release )( 
  1647.             ICreateTypeLib __RPC_FAR * This);
  1648.         
  1649.         HRESULT ( __stdcall __RPC_FAR *CreateTypeInfo )( 
  1650.             ICreateTypeLib __RPC_FAR * This,
  1651.             /* [in] */ LPOLESTR szName,
  1652.             /* [in] */ TYPEKIND tkind,
  1653.             /* [out] */ ICreateTypeInfo __RPC_FAR *__RPC_FAR *lplpictinfo);
  1654.         
  1655.         HRESULT ( __stdcall __RPC_FAR *SetName )( 
  1656.             ICreateTypeLib __RPC_FAR * This,
  1657.             LPOLESTR szName);
  1658.         
  1659.         HRESULT ( __stdcall __RPC_FAR *SetVersion )( 
  1660.             ICreateTypeLib __RPC_FAR * This,
  1661.             /* [in] */ WORD wMajorVerNum,
  1662.             /* [in] */ WORD wMinorVerNum);
  1663.         
  1664.         HRESULT ( __stdcall __RPC_FAR *SetGuid )( 
  1665.             ICreateTypeLib __RPC_FAR * This,
  1666.             /* [in] */ REFGUID guid);
  1667.         
  1668.         HRESULT ( __stdcall __RPC_FAR *SetDocString )( 
  1669.             ICreateTypeLib __RPC_FAR * This,
  1670.             /* [in] */ LPOLESTR szDoc);
  1671.         
  1672.         HRESULT ( __stdcall __RPC_FAR *SetHelpFileName )( 
  1673.             ICreateTypeLib __RPC_FAR * This,
  1674.             /* [in] */ LPOLESTR szHelpFileName);
  1675.         
  1676.         HRESULT ( __stdcall __RPC_FAR *SetHelpContext )( 
  1677.             ICreateTypeLib __RPC_FAR * This,
  1678.             /* [in] */ DWORD dwHelpContext);
  1679.         
  1680.         HRESULT ( __stdcall __RPC_FAR *SetLcid )( 
  1681.             ICreateTypeLib __RPC_FAR * This,
  1682.             /* [in] */ LCID lcid);
  1683.         
  1684.         HRESULT ( __stdcall __RPC_FAR *SetLibFlags )( 
  1685.             ICreateTypeLib __RPC_FAR * This,
  1686.             /* [in] */ UINT uLibFlags);
  1687.         
  1688.         HRESULT ( __stdcall __RPC_FAR *SaveAllChanges )( 
  1689.             ICreateTypeLib __RPC_FAR * This);
  1690.         
  1691.     } ICreateTypeLibVtbl;
  1692.  
  1693.     interface ICreateTypeLib
  1694.     {
  1695.         CONST_VTBL struct ICreateTypeLibVtbl __RPC_FAR *lpVtbl;
  1696.     };
  1697.  
  1698.     
  1699.  
  1700. #ifdef COBJMACROS
  1701.  
  1702.  
  1703. #define ICreateTypeLib_QueryInterface(This,riid,ppvObject)    \
  1704.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1705.  
  1706. #define ICreateTypeLib_AddRef(This)    \
  1707.     (This)->lpVtbl -> AddRef(This)
  1708.  
  1709. #define ICreateTypeLib_Release(This)    \
  1710.     (This)->lpVtbl -> Release(This)
  1711.  
  1712.  
  1713. #define ICreateTypeLib_CreateTypeInfo(This,szName,tkind,lplpictinfo)    \
  1714.     (This)->lpVtbl -> CreateTypeInfo(This,szName,tkind,lplpictinfo)
  1715.  
  1716. #define ICreateTypeLib_SetName(This,szName)    \
  1717.     (This)->lpVtbl -> SetName(This,szName)
  1718.  
  1719. #define ICreateTypeLib_SetVersion(This,wMajorVerNum,wMinorVerNum)    \
  1720.     (This)->lpVtbl -> SetVersion(This,wMajorVerNum,wMinorVerNum)
  1721.  
  1722. #define ICreateTypeLib_SetGuid(This,guid)    \
  1723.     (This)->lpVtbl -> SetGuid(This,guid)
  1724.  
  1725. #define ICreateTypeLib_SetDocString(This,szDoc)    \
  1726.     (This)->lpVtbl -> SetDocString(This,szDoc)
  1727.  
  1728. #define ICreateTypeLib_SetHelpFileName(This,szHelpFileName)    \
  1729.     (This)->lpVtbl -> SetHelpFileName(This,szHelpFileName)
  1730.  
  1731. #define ICreateTypeLib_SetHelpContext(This,dwHelpContext)    \
  1732.     (This)->lpVtbl -> SetHelpContext(This,dwHelpContext)
  1733.  
  1734. #define ICreateTypeLib_SetLcid(This,lcid)    \
  1735.     (This)->lpVtbl -> SetLcid(This,lcid)
  1736.  
  1737. #define ICreateTypeLib_SetLibFlags(This,uLibFlags)    \
  1738.     (This)->lpVtbl -> SetLibFlags(This,uLibFlags)
  1739.  
  1740. #define ICreateTypeLib_SaveAllChanges(This)    \
  1741.     (This)->lpVtbl -> SaveAllChanges(This)
  1742.  
  1743. #endif /* COBJMACROS */
  1744.  
  1745.  
  1746. #endif     /* C style interface */
  1747.  
  1748. #ifndef NOPROXYSTUB
  1749.  
  1750. HRESULT __stdcall ICreateTypeLib_CreateTypeInfo_Proxy( 
  1751.     ICreateTypeLib __RPC_FAR * This,
  1752.     /* [in] */ LPOLESTR szName,
  1753.     /* [in] */ TYPEKIND tkind,
  1754.     /* [out] */ ICreateTypeInfo __RPC_FAR *__RPC_FAR *lplpictinfo);
  1755.  
  1756.  
  1757. void __RPC_STUB ICreateTypeLib_CreateTypeInfo_Stub(
  1758.     IRpcStubBuffer *This,
  1759.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1760.     PRPC_MESSAGE _pRpcMessage,
  1761.     DWORD *_pdwStubPhase);
  1762.  
  1763.  
  1764. HRESULT __stdcall ICreateTypeLib_SetName_Proxy( 
  1765.     ICreateTypeLib __RPC_FAR * This,
  1766.     LPOLESTR szName);
  1767.  
  1768.  
  1769. void __RPC_STUB ICreateTypeLib_SetName_Stub(
  1770.     IRpcStubBuffer *This,
  1771.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1772.     PRPC_MESSAGE _pRpcMessage,
  1773.     DWORD *_pdwStubPhase);
  1774.  
  1775.  
  1776. HRESULT __stdcall ICreateTypeLib_SetVersion_Proxy( 
  1777.     ICreateTypeLib __RPC_FAR * This,
  1778.     /* [in] */ WORD wMajorVerNum,
  1779.     /* [in] */ WORD wMinorVerNum);
  1780.  
  1781.  
  1782. void __RPC_STUB ICreateTypeLib_SetVersion_Stub(
  1783.     IRpcStubBuffer *This,
  1784.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1785.     PRPC_MESSAGE _pRpcMessage,
  1786.     DWORD *_pdwStubPhase);
  1787.  
  1788.  
  1789. HRESULT __stdcall ICreateTypeLib_SetGuid_Proxy( 
  1790.     ICreateTypeLib __RPC_FAR * This,
  1791.     /* [in] */ REFGUID guid);
  1792.  
  1793.  
  1794. void __RPC_STUB ICreateTypeLib_SetGuid_Stub(
  1795.     IRpcStubBuffer *This,
  1796.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1797.     PRPC_MESSAGE _pRpcMessage,
  1798.     DWORD *_pdwStubPhase);
  1799.  
  1800.  
  1801. HRESULT __stdcall ICreateTypeLib_SetDocString_Proxy( 
  1802.     ICreateTypeLib __RPC_FAR * This,
  1803.     /* [in] */ LPOLESTR szDoc);
  1804.  
  1805.  
  1806. void __RPC_STUB ICreateTypeLib_SetDocString_Stub(
  1807.     IRpcStubBuffer *This,
  1808.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1809.     PRPC_MESSAGE _pRpcMessage,
  1810.     DWORD *_pdwStubPhase);
  1811.  
  1812.  
  1813. HRESULT __stdcall ICreateTypeLib_SetHelpFileName_Proxy( 
  1814.     ICreateTypeLib __RPC_FAR * This,
  1815.     /* [in] */ LPOLESTR szHelpFileName);
  1816.  
  1817.  
  1818. void __RPC_STUB ICreateTypeLib_SetHelpFileName_Stub(
  1819.     IRpcStubBuffer *This,
  1820.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1821.     PRPC_MESSAGE _pRpcMessage,
  1822.     DWORD *_pdwStubPhase);
  1823.  
  1824.  
  1825. HRESULT __stdcall ICreateTypeLib_SetHelpContext_Proxy( 
  1826.     ICreateTypeLib __RPC_FAR * This,
  1827.     /* [in] */ DWORD dwHelpContext);
  1828.  
  1829.  
  1830. void __RPC_STUB ICreateTypeLib_SetHelpContext_Stub(
  1831.     IRpcStubBuffer *This,
  1832.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1833.     PRPC_MESSAGE _pRpcMessage,
  1834.     DWORD *_pdwStubPhase);
  1835.  
  1836.  
  1837. HRESULT __stdcall ICreateTypeLib_SetLcid_Proxy( 
  1838.     ICreateTypeLib __RPC_FAR * This,
  1839.     /* [in] */ LCID lcid);
  1840.  
  1841.  
  1842. void __RPC_STUB ICreateTypeLib_SetLcid_Stub(
  1843.     IRpcStubBuffer *This,
  1844.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1845.     PRPC_MESSAGE _pRpcMessage,
  1846.     DWORD *_pdwStubPhase);
  1847.  
  1848.  
  1849. HRESULT __stdcall ICreateTypeLib_SetLibFlags_Proxy( 
  1850.     ICreateTypeLib __RPC_FAR * This,
  1851.     /* [in] */ UINT uLibFlags);
  1852.  
  1853.  
  1854. void __RPC_STUB ICreateTypeLib_SetLibFlags_Stub(
  1855.     IRpcStubBuffer *This,
  1856.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1857.     PRPC_MESSAGE _pRpcMessage,
  1858.     DWORD *_pdwStubPhase);
  1859.  
  1860.  
  1861. HRESULT __stdcall ICreateTypeLib_SaveAllChanges_Proxy( 
  1862.     ICreateTypeLib __RPC_FAR * This);
  1863.  
  1864.  
  1865. void __RPC_STUB ICreateTypeLib_SaveAllChanges_Stub(
  1866.     IRpcStubBuffer *This,
  1867.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1868.     PRPC_MESSAGE _pRpcMessage,
  1869.     DWORD *_pdwStubPhase);
  1870.  
  1871. #endif // NOPROXYSTUB
  1872.  
  1873. #endif     /* __ICreateTypeLib_INTERFACE_DEFINED__ */
  1874.  
  1875.  
  1876. #ifndef __IDispatch_INTERFACE_DEFINED__
  1877. #define __IDispatch_INTERFACE_DEFINED__
  1878.  
  1879. /****************************************
  1880.  * Generated header for interface: IDispatch
  1881.  * at Fri Apr 28 07:02:38 1995
  1882.  * using MIDL 2.00.0102
  1883.  ****************************************/
  1884. /* [local][unique][uuid][object] */ 
  1885.  
  1886.  
  1887.             /* size is 4 */
  1888. typedef /* [unique] */ IDispatch __RPC_FAR *LPDISPATCH;
  1889.  
  1890. /* DISPID reserved to indicate an "unknown" name */
  1891. /* only reserved for data members (properties); reused as a method dispid below */
  1892.             /* size is 4 */
  1893. #define    DISPID_UNKNOWN    ( -1 )
  1894.  
  1895. /* DISPID reserved for the "value" property */
  1896.             /* size is 4 */
  1897. #define    DISPID_VALUE    ( 0 )
  1898.  
  1899. /* The following DISPID is reserved to indicate the param
  1900.  * that is the right-hand-side (or "put" value) of a PropertyPut
  1901.  */
  1902.             /* size is 4 */
  1903. #define    DISPID_PROPERTYPUT    ( -3 )
  1904.  
  1905. /* DISPID reserved for the standard "NewEnum" method */
  1906.             /* size is 4 */
  1907. #define    DISPID_NEWENUM    ( -4 )
  1908.  
  1909. /* DISPID reserved for the standard "Evaluate" method */
  1910.             /* size is 4 */
  1911. #define    DISPID_EVALUATE    ( -5 )
  1912.  
  1913.             /* size is 4 */
  1914. #define    DISPID_CONSTRUCTOR    ( -6 )
  1915.  
  1916.             /* size is 4 */
  1917. #define    DISPID_DESTRUCTOR    ( -7 )
  1918.  
  1919.             /* size is 4 */
  1920. #define    DISPID_COLLECT    ( -8 )
  1921.  
  1922. /* The range -500 through -999 is reserved for Controls */
  1923. /* The range 0x80010000 through 0x8001FFFF is reserved for Controls */
  1924. /* The remainder of the negative DISPIDs are reserved for future use */
  1925.  
  1926. EXTERN_C const IID IID_IDispatch;
  1927.  
  1928. #if defined(__cplusplus) && !defined(CINTERFACE)
  1929.     
  1930.     interface IDispatch : public IUnknown
  1931.     {
  1932.     public:
  1933.         virtual HRESULT __stdcall GetTypeInfoCount( 
  1934.             /* [out] */ UINT __RPC_FAR *pctinfo) = 0;
  1935.         
  1936.         virtual HRESULT __stdcall GetTypeInfo( 
  1937.             /* [in] */ UINT itinfo,
  1938.             /* [in] */ LCID lcid,
  1939.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *pptinfo) = 0;
  1940.         
  1941.         virtual HRESULT __stdcall GetIDsOfNames( 
  1942.             /* [in] */ REFIID riid,
  1943.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1944.             /* [in] */ UINT cNames,
  1945.             /* [in] */ LCID lcid,
  1946.             /* [size_is][out][in] */ DISPID __RPC_FAR *rgdispid) = 0;
  1947.         
  1948.         virtual HRESULT __stdcall Invoke( 
  1949.             /* [in] */ DISPID dispidMember,
  1950.             /* [in] */ REFIID riid,
  1951.             /* [in] */ LCID lcid,
  1952.             /* [in] */ WORD wFlags,
  1953.             /* [unique][in] */ DISPPARAMS __RPC_FAR *pdispparams,
  1954.             /* [unique][out][in] */ VARIANT __RPC_FAR *pvarResult,
  1955.             /* [out] */ EXCEPINFO __RPC_FAR *pexcepinfo,
  1956.             /* [out] */ UINT __RPC_FAR *puArgErr) = 0;
  1957.         
  1958.     };
  1959.     
  1960. #else     /* C style interface */
  1961.  
  1962.     typedef struct IDispatchVtbl
  1963.     {
  1964.         
  1965.         HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  1966.             IDispatch __RPC_FAR * This,
  1967.             /* [in] */ REFIID riid,
  1968.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1969.         
  1970.         ULONG ( __stdcall __RPC_FAR *AddRef )( 
  1971.             IDispatch __RPC_FAR * This);
  1972.         
  1973.         ULONG ( __stdcall __RPC_FAR *Release )( 
  1974.             IDispatch __RPC_FAR * This);
  1975.         
  1976.         HRESULT ( __stdcall __RPC_FAR *GetTypeInfoCount )( 
  1977.             IDispatch __RPC_FAR * This,
  1978.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1979.         
  1980.         HRESULT ( __stdcall __RPC_FAR *GetTypeInfo )( 
  1981.             IDispatch __RPC_FAR * This,
  1982.             /* [in] */ UINT itinfo,
  1983.             /* [in] */ LCID lcid,
  1984.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *pptinfo);
  1985.         
  1986.         HRESULT ( __stdcall __RPC_FAR *GetIDsOfNames )( 
  1987.             IDispatch __RPC_FAR * This,
  1988.             /* [in] */ REFIID riid,
  1989.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1990.             /* [in] */ UINT cNames,
  1991.             /* [in] */ LCID lcid,
  1992.             /* [size_is][out][in] */ DISPID __RPC_FAR *rgdispid);
  1993.         
  1994.         HRESULT ( __stdcall __RPC_FAR *Invoke )( 
  1995.             IDispatch __RPC_FAR * This,
  1996.             /* [in] */ DISPID dispidMember,
  1997.             /* [in] */ REFIID riid,
  1998.             /* [in] */ LCID lcid,
  1999.             /* [in] */ WORD wFlags,
  2000.             /* [unique][in] */ DISPPARAMS __RPC_FAR *pdispparams,
  2001.             /* [unique][out][in] */ VARIANT __RPC_FAR *pvarResult,
  2002.             /* [out] */ EXCEPINFO __RPC_FAR *pexcepinfo,
  2003.             /* [out] */ UINT __RPC_FAR *puArgErr);
  2004.         
  2005.     } IDispatchVtbl;
  2006.  
  2007.     interface IDispatch
  2008.     {
  2009.         CONST_VTBL struct IDispatchVtbl __RPC_FAR *lpVtbl;
  2010.     };
  2011.  
  2012.     
  2013.  
  2014. #ifdef COBJMACROS
  2015.  
  2016.  
  2017. #define IDispatch_QueryInterface(This,riid,ppvObject)    \
  2018.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2019.  
  2020. #define IDispatch_AddRef(This)    \
  2021.     (This)->lpVtbl -> AddRef(This)
  2022.  
  2023. #define IDispatch_Release(This)    \
  2024.     (This)->lpVtbl -> Release(This)
  2025.  
  2026.  
  2027. #define IDispatch_GetTypeInfoCount(This,pctinfo)    \
  2028.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2029.  
  2030. #define IDispatch_GetTypeInfo(This,itinfo,lcid,pptinfo)    \
  2031.     (This)->lpVtbl -> GetTypeInfo(This,itinfo,lcid,pptinfo)
  2032.  
  2033. #define IDispatch_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgdispid)    \
  2034.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgdispid)
  2035.  
  2036. #define IDispatch_Invoke(This,dispidMember,riid,lcid,wFlags,pdispparams,pvarResult,pexcepinfo,puArgErr)    \
  2037.     (This)->lpVtbl -> Invoke(This,dispidMember,riid,lcid,wFlags,pdispparams,pvarResult,pexcepinfo,puArgErr)
  2038.  
  2039. #endif /* COBJMACROS */
  2040.  
  2041.  
  2042. #endif     /* C style interface */
  2043.  
  2044. #ifndef NOPROXYSTUB
  2045.  
  2046. HRESULT __stdcall IDispatch_GetTypeInfoCount_Proxy( 
  2047.     IDispatch __RPC_FAR * This,
  2048.     /* [out] */ UINT __RPC_FAR *pctinfo);
  2049.  
  2050.  
  2051. void __RPC_STUB IDispatch_GetTypeInfoCount_Stub(
  2052.     IRpcStubBuffer *This,
  2053.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2054.     PRPC_MESSAGE _pRpcMessage,
  2055.     DWORD *_pdwStubPhase);
  2056.  
  2057.  
  2058. HRESULT __stdcall IDispatch_GetTypeInfo_Proxy( 
  2059.     IDispatch __RPC_FAR * This,
  2060.     /* [in] */ UINT itinfo,
  2061.     /* [in] */ LCID lcid,
  2062.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *pptinfo);
  2063.  
  2064.  
  2065. void __RPC_STUB IDispatch_GetTypeInfo_Stub(
  2066.     IRpcStubBuffer *This,
  2067.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2068.     PRPC_MESSAGE _pRpcMessage,
  2069.     DWORD *_pdwStubPhase);
  2070.  
  2071.  
  2072. HRESULT __stdcall IDispatch_GetIDsOfNames_Proxy( 
  2073.     IDispatch __RPC_FAR * This,
  2074.     /* [in] */ REFIID riid,
  2075.     /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2076.     /* [in] */ UINT cNames,
  2077.     /* [in] */ LCID lcid,
  2078.     /* [size_is][out][in] */ DISPID __RPC_FAR *rgdispid);
  2079.  
  2080.  
  2081. void __RPC_STUB IDispatch_GetIDsOfNames_Stub(
  2082.     IRpcStubBuffer *This,
  2083.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2084.     PRPC_MESSAGE _pRpcMessage,
  2085.     DWORD *_pdwStubPhase);
  2086.  
  2087.  
  2088. HRESULT __stdcall IDispatch_Invoke_Proxy( 
  2089.     IDispatch __RPC_FAR * This,
  2090.     /* [in] */ DISPID dispidMember,
  2091.     /* [in] */ REFIID riid,
  2092.     /* [in] */ LCID lcid,
  2093.     /* [in] */ WORD wFlags,
  2094.     /* [unique][in] */ DISPPARAMS __RPC_FAR *pdispparams,
  2095.     /* [unique][out][in] */ VARIANT __RPC_FAR *pvarResult,
  2096.     /* [out] */ EXCEPINFO __RPC_FAR *pexcepinfo,
  2097.     /* [out] */ UINT __RPC_FAR *puArgErr);
  2098.  
  2099.  
  2100. void __RPC_STUB IDispatch_Invoke_Stub(
  2101.     IRpcStubBuffer *This,
  2102.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2103.     PRPC_MESSAGE _pRpcMessage,
  2104.     DWORD *_pdwStubPhase);
  2105.  
  2106. #endif // NOPROXYSTUB
  2107.  
  2108. #endif     /* __IDispatch_INTERFACE_DEFINED__ */
  2109.  
  2110.  
  2111. #ifndef __IEnumVARIANT_INTERFACE_DEFINED__
  2112. #define __IEnumVARIANT_INTERFACE_DEFINED__
  2113.  
  2114. /****************************************
  2115.  * Generated header for interface: IEnumVARIANT
  2116.  * at Fri Apr 28 07:02:38 1995
  2117.  * using MIDL 2.00.0102
  2118.  ****************************************/
  2119. /* [unique][uuid][local][object] */ 
  2120.  
  2121.  
  2122.             /* size is 4 */
  2123. typedef /* [unique] */ IEnumVARIANT __RPC_FAR *LPENUMVARIANT;
  2124.  
  2125.  
  2126. EXTERN_C const IID IID_IEnumVARIANT;
  2127.  
  2128. #if defined(__cplusplus) && !defined(CINTERFACE)
  2129.     
  2130.     interface IEnumVARIANT : public IUnknown
  2131.     {
  2132.     public:
  2133.         virtual HRESULT __stdcall Next( 
  2134.             /* [in] */ unsigned long celt,
  2135.             /* [out] */ VARIANT __RPC_FAR *rgvar,
  2136.             /* [out] */ unsigned long __RPC_FAR *pceltFetched) = 0;
  2137.         
  2138.         virtual HRESULT __stdcall Skip( 
  2139.             /* [in] */ unsigned long celt) = 0;
  2140.         
  2141.         virtual HRESULT __stdcall Reset( void) = 0;
  2142.         
  2143.         virtual HRESULT __stdcall Clone( 
  2144.             /* [out] */ IEnumVARIANT __RPC_FAR *__RPC_FAR *ppenum) = 0;
  2145.         
  2146.     };
  2147.     
  2148. #else     /* C style interface */
  2149.  
  2150.     typedef struct IEnumVARIANTVtbl
  2151.     {
  2152.         
  2153.         HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  2154.             IEnumVARIANT __RPC_FAR * This,
  2155.             /* [in] */ REFIID riid,
  2156.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2157.         
  2158.         ULONG ( __stdcall __RPC_FAR *AddRef )( 
  2159.             IEnumVARIANT __RPC_FAR * This);
  2160.         
  2161.         ULONG ( __stdcall __RPC_FAR *Release )( 
  2162.             IEnumVARIANT __RPC_FAR * This);
  2163.         
  2164.         HRESULT ( __stdcall __RPC_FAR *Next )( 
  2165.             IEnumVARIANT __RPC_FAR * This,
  2166.             /* [in] */ unsigned long celt,
  2167.             /* [out] */ VARIANT __RPC_FAR *rgvar,
  2168.             /* [out] */ unsigned long __RPC_FAR *pceltFetched);
  2169.         
  2170.         HRESULT ( __stdcall __RPC_FAR *Skip )( 
  2171.             IEnumVARIANT __RPC_FAR * This,
  2172.             /* [in] */ unsigned long celt);
  2173.         
  2174.         HRESULT ( __stdcall __RPC_FAR *Reset )( 
  2175.             IEnumVARIANT __RPC_FAR * This);
  2176.         
  2177.         HRESULT ( __stdcall __RPC_FAR *Clone )( 
  2178.             IEnumVARIANT __RPC_FAR * This,
  2179.             /* [out] */ IEnumVARIANT __RPC_FAR *__RPC_FAR *ppenum);
  2180.         
  2181.     } IEnumVARIANTVtbl;
  2182.  
  2183.     interface IEnumVARIANT
  2184.     {
  2185.         CONST_VTBL struct IEnumVARIANTVtbl __RPC_FAR *lpVtbl;
  2186.     };
  2187.  
  2188.     
  2189.  
  2190. #ifdef COBJMACROS
  2191.  
  2192.  
  2193. #define IEnumVARIANT_QueryInterface(This,riid,ppvObject)    \
  2194.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2195.  
  2196. #define IEnumVARIANT_AddRef(This)    \
  2197.     (This)->lpVtbl -> AddRef(This)
  2198.  
  2199. #define IEnumVARIANT_Release(This)    \
  2200.     (This)->lpVtbl -> Release(This)
  2201.  
  2202.  
  2203. #define IEnumVARIANT_Next(This,celt,rgvar,pceltFetched)    \
  2204.     (This)->lpVtbl -> Next(This,celt,rgvar,pceltFetched)
  2205.  
  2206. #define IEnumVARIANT_Skip(This,celt)    \
  2207.     (This)->lpVtbl -> Skip(This,celt)
  2208.  
  2209. #define IEnumVARIANT_Reset(This)    \
  2210.     (This)->lpVtbl -> Reset(This)
  2211.  
  2212. #define IEnumVARIANT_Clone(This,ppenum)    \
  2213.     (This)->lpVtbl -> Clone(This,ppenum)
  2214.  
  2215. #endif /* COBJMACROS */
  2216.  
  2217.  
  2218. #endif     /* C style interface */
  2219.  
  2220. #ifndef NOPROXYSTUB
  2221.  
  2222. HRESULT __stdcall IEnumVARIANT_Next_Proxy( 
  2223.     IEnumVARIANT __RPC_FAR * This,
  2224.     /* [in] */ unsigned long celt,
  2225.     /* [out] */ VARIANT __RPC_FAR *rgvar,
  2226.     /* [out] */ unsigned long __RPC_FAR *pceltFetched);
  2227.  
  2228.  
  2229. void __RPC_STUB IEnumVARIANT_Next_Stub(
  2230.     IRpcStubBuffer *This,
  2231.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2232.     PRPC_MESSAGE _pRpcMessage,
  2233.     DWORD *_pdwStubPhase);
  2234.  
  2235.  
  2236. HRESULT __stdcall IEnumVARIANT_Skip_Proxy( 
  2237.     IEnumVARIANT __RPC_FAR * This,
  2238.     /* [in] */ unsigned long celt);
  2239.  
  2240.  
  2241. void __RPC_STUB IEnumVARIANT_Skip_Stub(
  2242.     IRpcStubBuffer *This,
  2243.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2244.     PRPC_MESSAGE _pRpcMessage,
  2245.     DWORD *_pdwStubPhase);
  2246.  
  2247.  
  2248. HRESULT __stdcall IEnumVARIANT_Reset_Proxy( 
  2249.     IEnumVARIANT __RPC_FAR * This);
  2250.  
  2251.  
  2252. void __RPC_STUB IEnumVARIANT_Reset_Stub(
  2253.     IRpcStubBuffer *This,
  2254.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2255.     PRPC_MESSAGE _pRpcMessage,
  2256.     DWORD *_pdwStubPhase);
  2257.  
  2258.  
  2259. HRESULT __stdcall IEnumVARIANT_Clone_Proxy( 
  2260.     IEnumVARIANT __RPC_FAR * This,
  2261.     /* [out] */ IEnumVARIANT __RPC_FAR *__RPC_FAR *ppenum);
  2262.  
  2263.  
  2264. void __RPC_STUB IEnumVARIANT_Clone_Stub(
  2265.     IRpcStubBuffer *This,
  2266.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2267.     PRPC_MESSAGE _pRpcMessage,
  2268.     DWORD *_pdwStubPhase);
  2269.  
  2270. #endif // NOPROXYSTUB
  2271.  
  2272. #endif     /* __IEnumVARIANT_INTERFACE_DEFINED__ */
  2273.  
  2274.  
  2275. #ifndef __ITypeComp_INTERFACE_DEFINED__
  2276. #define __ITypeComp_INTERFACE_DEFINED__
  2277.  
  2278. /****************************************
  2279.  * Generated header for interface: ITypeComp
  2280.  * at Fri Apr 28 07:02:38 1995
  2281.  * using MIDL 2.00.0102
  2282.  ****************************************/
  2283. /* [local][unique][uuid][object] */ 
  2284.  
  2285.  
  2286.             /* size is 4 */
  2287. typedef /* [unique] */ ITypeComp __RPC_FAR *LPTYPECOMP;
  2288.  
  2289.             /* size is 2 */
  2290. typedef /* [v1_enum] */ 
  2291. enum tagDESCKIND
  2292.     {    DESCKIND_NONE    = 0,
  2293.     DESCKIND_FUNCDESC    = DESCKIND_NONE + 1,
  2294.     DESCKIND_VARDESC    = DESCKIND_FUNCDESC + 1,
  2295.     DESCKIND_TYPECOMP    = DESCKIND_VARDESC + 1,
  2296.     DESCKIND_IMPLICITAPPOBJ    = DESCKIND_TYPECOMP + 1,
  2297.     DESCKIND_MAX    = DESCKIND_IMPLICITAPPOBJ + 1
  2298.     }    DESCKIND;
  2299.  
  2300. #define DESCKIND_to_xmit(pEnum, ppLong) *(ppLong) = (long *) (pEnum)
  2301. #define DESCKIND_from_xmit(pLong, pEnum) *(pEnum) = (DESCKIND) *(pLong)
  2302. #define DESCKIND_free_inst(pEnum) 
  2303. #define DESCKIND_free_xmit(pLong) 
  2304.             /* size is 4 */
  2305. /* [switch_type] */ union tagBINDPTR
  2306.     {
  2307.     /* [case] */ FUNCDESC __RPC_FAR *lpfuncdesc;
  2308.     /* [case] */ VARDESC __RPC_FAR *lpvardesc;
  2309.     /* [case][unique] */ ITypeComp __RPC_FAR *lptcomp;
  2310.     /* [default] */  /* Empty union arm */ 
  2311.     };
  2312.             /* size is 4 */
  2313. typedef union tagBINDPTR BINDPTR;
  2314.  
  2315.             /* size is 4 */
  2316. typedef BINDPTR __RPC_FAR *LPBINDPTR;
  2317.  
  2318.  
  2319. EXTERN_C const IID IID_ITypeComp;
  2320.  
  2321. #if defined(__cplusplus) && !defined(CINTERFACE)
  2322.     
  2323.     interface ITypeComp : public IUnknown
  2324.     {
  2325.     public:
  2326.         virtual HRESULT __stdcall Bind( 
  2327.             /* [in] */ LPOLESTR szName,
  2328.             /* [in] */ ULONG lHashVal,
  2329.             /* [in] */ WORD fFlags,
  2330.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *pptinfo,
  2331.             /* [out] */ DESCKIND __RPC_FAR *pdesckind,
  2332.             /* [switch_is][out] */ BINDPTR __RPC_FAR *pbindptr) = 0;
  2333.         
  2334.         virtual HRESULT __stdcall BindType( 
  2335.             /* [in] */ LPOLESTR szName,
  2336.             /* [in] */ ULONG lHashVal,
  2337.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *pptinfo,
  2338.             /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *pptcomp) = 0;
  2339.         
  2340.     };
  2341.     
  2342. #else     /* C style interface */
  2343.  
  2344.     typedef struct ITypeCompVtbl
  2345.     {
  2346.         
  2347.         HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  2348.             ITypeComp __RPC_FAR * This,
  2349.             /* [in] */ REFIID riid,
  2350.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2351.         
  2352.         ULONG ( __stdcall __RPC_FAR *AddRef )( 
  2353.             ITypeComp __RPC_FAR * This);
  2354.         
  2355.         ULONG ( __stdcall __RPC_FAR *Release )( 
  2356.             ITypeComp __RPC_FAR * This);
  2357.         
  2358.         HRESULT ( __stdcall __RPC_FAR *Bind )( 
  2359.             ITypeComp __RPC_FAR * This,
  2360.             /* [in] */ LPOLESTR szName,
  2361.             /* [in] */ ULONG lHashVal,
  2362.             /* [in] */ WORD fFlags,
  2363.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *pptinfo,
  2364.             /* [out] */ DESCKIND __RPC_FAR *pdesckind,
  2365.             /* [switch_is][out] */ BINDPTR __RPC_FAR *pbindptr);
  2366.         
  2367.         HRESULT ( __stdcall __RPC_FAR *BindType )( 
  2368.             ITypeComp __RPC_FAR * This,
  2369.             /* [in] */ LPOLESTR szName,
  2370.             /* [in] */ ULONG lHashVal,
  2371.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *pptinfo,
  2372.             /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *pptcomp);
  2373.         
  2374.     } ITypeCompVtbl;
  2375.  
  2376.     interface ITypeComp
  2377.     {
  2378.         CONST_VTBL struct ITypeCompVtbl __RPC_FAR *lpVtbl;
  2379.     };
  2380.  
  2381.     
  2382.  
  2383. #ifdef COBJMACROS
  2384.  
  2385.  
  2386. #define ITypeComp_QueryInterface(This,riid,ppvObject)    \
  2387.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2388.  
  2389. #define ITypeComp_AddRef(This)    \
  2390.     (This)->lpVtbl -> AddRef(This)
  2391.  
  2392. #define ITypeComp_Release(This)    \
  2393.     (This)->lpVtbl -> Release(This)
  2394.  
  2395.  
  2396. #define ITypeComp_Bind(This,szName,lHashVal,fFlags,pptinfo,pdesckind,pbindptr)    \
  2397.     (This)->lpVtbl -> Bind(This,szName,lHashVal,fFlags,pptinfo,pdesckind,pbindptr)
  2398.  
  2399. #define ITypeComp_BindType(This,szName,lHashVal,pptinfo,pptcomp)    \
  2400.     (This)->lpVtbl -> BindType(This,szName,lHashVal,pptinfo,pptcomp)
  2401.  
  2402. #endif /* COBJMACROS */
  2403.  
  2404.  
  2405. #endif     /* C style interface */
  2406.  
  2407. #ifndef NOPROXYSTUB
  2408.  
  2409. HRESULT __stdcall ITypeComp_Bind_Proxy( 
  2410.     ITypeComp __RPC_FAR * This,
  2411.     /* [in] */ LPOLESTR szName,
  2412.     /* [in] */ ULONG lHashVal,
  2413.     /* [in] */ WORD fFlags,
  2414.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *pptinfo,
  2415.     /* [out] */ DESCKIND __RPC_FAR *pdesckind,
  2416.     /* [switch_is][out] */ BINDPTR __RPC_FAR *pbindptr);
  2417.  
  2418.  
  2419. void __RPC_STUB ITypeComp_Bind_Stub(
  2420.     IRpcStubBuffer *This,
  2421.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2422.     PRPC_MESSAGE _pRpcMessage,
  2423.     DWORD *_pdwStubPhase);
  2424.  
  2425.  
  2426. HRESULT __stdcall ITypeComp_BindType_Proxy( 
  2427.     ITypeComp __RPC_FAR * This,
  2428.     /* [in] */ LPOLESTR szName,
  2429.     /* [in] */ ULONG lHashVal,
  2430.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *pptinfo,
  2431.     /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *pptcomp);
  2432.  
  2433.  
  2434. void __RPC_STUB ITypeComp_BindType_Stub(
  2435.     IRpcStubBuffer *This,
  2436.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2437.     PRPC_MESSAGE _pRpcMessage,
  2438.     DWORD *_pdwStubPhase);
  2439.  
  2440. #endif // NOPROXYSTUB
  2441.  
  2442. #endif     /* __ITypeComp_INTERFACE_DEFINED__ */
  2443.  
  2444.  
  2445. #ifndef __ITypeInfo_INTERFACE_DEFINED__
  2446. #define __ITypeInfo_INTERFACE_DEFINED__
  2447.  
  2448. /****************************************
  2449.  * Generated header for interface: ITypeInfo
  2450.  * at Fri Apr 28 07:02:38 1995
  2451.  * using MIDL 2.00.0102
  2452.  ****************************************/
  2453. /* [local][unique][uuid][object] */ 
  2454.  
  2455.  
  2456.             /* size is 4 */
  2457. typedef /* [unique] */ ITypeInfo __RPC_FAR *LPTYPEINFO;
  2458.  
  2459.  
  2460. EXTERN_C const IID IID_ITypeInfo;
  2461.  
  2462. #if defined(__cplusplus) && !defined(CINTERFACE)
  2463.     
  2464.     interface ITypeInfo : public IUnknown
  2465.     {
  2466.     public:
  2467.         virtual HRESULT __stdcall GetTypeAttr( 
  2468.             /* [out] */ TYPEATTR __RPC_FAR *__RPC_FAR *pptypeattr) = 0;
  2469.         
  2470.         virtual HRESULT __stdcall GetTypeComp( 
  2471.             /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *pptcomp) = 0;
  2472.         
  2473.         virtual HRESULT __stdcall GetFuncDesc( 
  2474.             /* [in] */ UINT index,
  2475.             /* [out] */ FUNCDESC __RPC_FAR *__RPC_FAR *pppfuncdesc) = 0;
  2476.         
  2477.         virtual HRESULT __stdcall GetVarDesc( 
  2478.             /* [in] */ UINT index,
  2479.             /* [out] */ VARDESC __RPC_FAR *__RPC_FAR *ppvardesc) = 0;
  2480.         
  2481.         virtual HRESULT __stdcall GetNames( 
  2482.             /* [in] */ MEMBERID memid,
  2483.             /* [length_is][size_is][out] */ BSTR __RPC_FAR *rgbstrNames,
  2484.             /* [in] */ UINT cMaxNames,
  2485.             /* [out] */ UINT __RPC_FAR *pcNames) = 0;
  2486.         
  2487.         virtual HRESULT __stdcall GetRefTypeOfImplType( 
  2488.             /* [in] */ UINT index,
  2489.             /* [out] */ HREFTYPE __RPC_FAR *hpreftype) = 0;
  2490.         
  2491.         virtual HRESULT __stdcall GetImplTypeFlags( 
  2492.             /* [in] */ UINT index,
  2493.             /* [out] */ INT __RPC_FAR *pimpltypeflags) = 0;
  2494.         
  2495.         virtual HRESULT __stdcall GetIDsOfNames( 
  2496.             /* [size_is][in] */ OLECHAR __RPC_FAR *__RPC_FAR *rglpszNames,
  2497.             /* [in] */ UINT cNames,
  2498.             /* [size_is][out] */ MEMBERID __RPC_FAR *rgmemid) = 0;
  2499.         
  2500.         virtual HRESULT __stdcall Invoke( 
  2501.             /* [unique][in] */ void __RPC_FAR *pvInstance,
  2502.             /* [in] */ MEMBERID memid,
  2503.             /* [in] */ WORD wFlags,
  2504.             /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  2505.             /* [out] */ VARIANT __RPC_FAR *pvarResult,
  2506.             /* [out] */ EXCEPINFO __RPC_FAR *pexcepinfo,
  2507.             /* [out] */ UINT __RPC_FAR *puArgErr) = 0;
  2508.         
  2509.         virtual HRESULT __stdcall GetDocumentation( 
  2510.             /* [in] */ MEMBERID memid,
  2511.             /* [out] */ BSTR __RPC_FAR *pbstrName,
  2512.             /* [out] */ BSTR __RPC_FAR *pbstrDocString,
  2513.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  2514.             /* [out] */ BSTR __RPC_FAR *pbstrHelpFile) = 0;
  2515.         
  2516.         virtual HRESULT __stdcall GetDllEntry( 
  2517.             /* [in] */ MEMBERID memid,
  2518.             /* [in] */ INVOKEKIND invkind,
  2519.             /* [out] */ BSTR __RPC_FAR *pbstrDllName,
  2520.             /* [out] */ BSTR __RPC_FAR *pbstrName,
  2521.             /* [out] */ WORD __RPC_FAR *pwOrdinal) = 0;
  2522.         
  2523.         virtual HRESULT __stdcall GetRefTypeInfo( 
  2524.             /* [in] */ HREFTYPE hreftype,
  2525.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *pptinfo) = 0;
  2526.         
  2527.         virtual HRESULT __stdcall AddressOfMember( 
  2528.             /* [in] */ MEMBERID memid,
  2529.             /* [in] */ INVOKEKIND invkind,
  2530.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppv) = 0;
  2531.         
  2532.         virtual HRESULT __stdcall CreateInstance( 
  2533.             /* [in] */ IUnknown __RPC_FAR *puncOuter,
  2534.             /* [in] */ REFIID riid,
  2535.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObj) = 0;
  2536.         
  2537.         virtual HRESULT __stdcall GetMops( 
  2538.             /* [in] */ MEMBERID memid,
  2539.             /* [out] */ BSTR __RPC_FAR *pbstrMops) = 0;
  2540.         
  2541.         virtual HRESULT __stdcall GetContainingTypeLib( 
  2542.             /* [out] */ ITypeLib __RPC_FAR *__RPC_FAR *pptlib,
  2543.             /* [out] */ UINT __RPC_FAR *pindex) = 0;
  2544.         
  2545.         virtual void __stdcall ReleaseTypeAttr( 
  2546.             /* [in] */ TYPEATTR __RPC_FAR *ptypeattr) = 0;
  2547.         
  2548.         virtual void __stdcall ReleaseFuncDesc( 
  2549.             /* [in] */ FUNCDESC __RPC_FAR *pfuncdesc) = 0;
  2550.         
  2551.         virtual void __stdcall ReleaseVarDesc( 
  2552.             /* [in] */ VARDESC __RPC_FAR *pvardesc) = 0;
  2553.         
  2554.     };
  2555.     
  2556. #else     /* C style interface */
  2557.  
  2558.     typedef struct ITypeInfoVtbl
  2559.     {
  2560.         
  2561.         HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  2562.             ITypeInfo __RPC_FAR * This,
  2563.             /* [in] */ REFIID riid,
  2564.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2565.         
  2566.         ULONG ( __stdcall __RPC_FAR *AddRef )( 
  2567.             ITypeInfo __RPC_FAR * This);
  2568.         
  2569.         ULONG ( __stdcall __RPC_FAR *Release )( 
  2570.             ITypeInfo __RPC_FAR * This);
  2571.         
  2572.         HRESULT ( __stdcall __RPC_FAR *GetTypeAttr )( 
  2573.             ITypeInfo __RPC_FAR * This,
  2574.             /* [out] */ TYPEATTR __RPC_FAR *__RPC_FAR *pptypeattr);
  2575.         
  2576.         HRESULT ( __stdcall __RPC_FAR *GetTypeComp )( 
  2577.             ITypeInfo __RPC_FAR * This,
  2578.             /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *pptcomp);
  2579.         
  2580.         HRESULT ( __stdcall __RPC_FAR *GetFuncDesc )( 
  2581.             ITypeInfo __RPC_FAR * This,
  2582.             /* [in] */ UINT index,
  2583.             /* [out] */ FUNCDESC __RPC_FAR *__RPC_FAR *pppfuncdesc);
  2584.         
  2585.         HRESULT ( __stdcall __RPC_FAR *GetVarDesc )( 
  2586.             ITypeInfo __RPC_FAR * This,
  2587.             /* [in] */ UINT index,
  2588.             /* [out] */ VARDESC __RPC_FAR *__RPC_FAR *ppvardesc);
  2589.         
  2590.         HRESULT ( __stdcall __RPC_FAR *GetNames )( 
  2591.             ITypeInfo __RPC_FAR * This,
  2592.             /* [in] */ MEMBERID memid,
  2593.             /* [length_is][size_is][out] */ BSTR __RPC_FAR *rgbstrNames,
  2594.             /* [in] */ UINT cMaxNames,
  2595.             /* [out] */ UINT __RPC_FAR *pcNames);
  2596.         
  2597.         HRESULT ( __stdcall __RPC_FAR *GetRefTypeOfImplType )( 
  2598.             ITypeInfo __RPC_FAR * This,
  2599.             /* [in] */ UINT index,
  2600.             /* [out] */ HREFTYPE __RPC_FAR *hpreftype);
  2601.         
  2602.         HRESULT ( __stdcall __RPC_FAR *GetImplTypeFlags )( 
  2603.             ITypeInfo __RPC_FAR * This,
  2604.             /* [in] */ UINT index,
  2605.             /* [out] */ INT __RPC_FAR *pimpltypeflags);
  2606.         
  2607.         HRESULT ( __stdcall __RPC_FAR *GetIDsOfNames )( 
  2608.             ITypeInfo __RPC_FAR * This,
  2609.             /* [size_is][in] */ OLECHAR __RPC_FAR *__RPC_FAR *rglpszNames,
  2610.             /* [in] */ UINT cNames,
  2611.             /* [size_is][out] */ MEMBERID __RPC_FAR *rgmemid);
  2612.         
  2613.         HRESULT ( __stdcall __RPC_FAR *Invoke )( 
  2614.             ITypeInfo __RPC_FAR * This,
  2615.             /* [unique][in] */ void __RPC_FAR *pvInstance,
  2616.             /* [in] */ MEMBERID memid,
  2617.             /* [in] */ WORD wFlags,
  2618.             /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  2619.             /* [out] */ VARIANT __RPC_FAR *pvarResult,
  2620.             /* [out] */ EXCEPINFO __RPC_FAR *pexcepinfo,
  2621.             /* [out] */ UINT __RPC_FAR *puArgErr);
  2622.         
  2623.         HRESULT ( __stdcall __RPC_FAR *GetDocumentation )( 
  2624.             ITypeInfo __RPC_FAR * This,
  2625.             /* [in] */ MEMBERID memid,
  2626.             /* [out] */ BSTR __RPC_FAR *pbstrName,
  2627.             /* [out] */ BSTR __RPC_FAR *pbstrDocString,
  2628.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  2629.             /* [out] */ BSTR __RPC_FAR *pbstrHelpFile);
  2630.         
  2631.         HRESULT ( __stdcall __RPC_FAR *GetDllEntry )( 
  2632.             ITypeInfo __RPC_FAR * This,
  2633.             /* [in] */ MEMBERID memid,
  2634.             /* [in] */ INVOKEKIND invkind,
  2635.             /* [out] */ BSTR __RPC_FAR *pbstrDllName,
  2636.             /* [out] */ BSTR __RPC_FAR *pbstrName,
  2637.             /* [out] */ WORD __RPC_FAR *pwOrdinal);
  2638.         
  2639.         HRESULT ( __stdcall __RPC_FAR *GetRefTypeInfo )( 
  2640.             ITypeInfo __RPC_FAR * This,
  2641.             /* [in] */ HREFTYPE hreftype,
  2642.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *pptinfo);
  2643.         
  2644.         HRESULT ( __stdcall __RPC_FAR *AddressOfMember )( 
  2645.             ITypeInfo __RPC_FAR * This,
  2646.             /* [in] */ MEMBERID memid,
  2647.             /* [in] */ INVOKEKIND invkind,
  2648.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppv);
  2649.         
  2650.         HRESULT ( __stdcall __RPC_FAR *CreateInstance )( 
  2651.             ITypeInfo __RPC_FAR * This,
  2652.             /* [in] */ IUnknown __RPC_FAR *puncOuter,
  2653.             /* [in] */ REFIID riid,
  2654.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObj);
  2655.         
  2656.         HRESULT ( __stdcall __RPC_FAR *GetMops )( 
  2657.             ITypeInfo __RPC_FAR * This,
  2658.             /* [in] */ MEMBERID memid,
  2659.             /* [out] */ BSTR __RPC_FAR *pbstrMops);
  2660.         
  2661.         HRESULT ( __stdcall __RPC_FAR *GetContainingTypeLib )( 
  2662.             ITypeInfo __RPC_FAR * This,
  2663.             /* [out] */ ITypeLib __RPC_FAR *__RPC_FAR *pptlib,
  2664.             /* [out] */ UINT __RPC_FAR *pindex);
  2665.         
  2666.         void ( __stdcall __RPC_FAR *ReleaseTypeAttr )( 
  2667.             ITypeInfo __RPC_FAR * This,
  2668.             /* [in] */ TYPEATTR __RPC_FAR *ptypeattr);
  2669.         
  2670.         void ( __stdcall __RPC_FAR *ReleaseFuncDesc )( 
  2671.             ITypeInfo __RPC_FAR * This,
  2672.             /* [in] */ FUNCDESC __RPC_FAR *pfuncdesc);
  2673.         
  2674.         void ( __stdcall __RPC_FAR *ReleaseVarDesc )( 
  2675.             ITypeInfo __RPC_FAR * This,
  2676.             /* [in] */ VARDESC __RPC_FAR *pvardesc);
  2677.         
  2678.     } ITypeInfoVtbl;
  2679.  
  2680.     interface ITypeInfo
  2681.     {
  2682.         CONST_VTBL struct ITypeInfoVtbl __RPC_FAR *lpVtbl;
  2683.     };
  2684.  
  2685.     
  2686.  
  2687. #ifdef COBJMACROS
  2688.  
  2689.  
  2690. #define ITypeInfo_QueryInterface(This,riid,ppvObject)    \
  2691.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2692.  
  2693. #define ITypeInfo_AddRef(This)    \
  2694.     (This)->lpVtbl -> AddRef(This)
  2695.  
  2696. #define ITypeInfo_Release(This)    \
  2697.     (This)->lpVtbl -> Release(This)
  2698.  
  2699.  
  2700. #define ITypeInfo_GetTypeAttr(This,pptypeattr)    \
  2701.     (This)->lpVtbl -> GetTypeAttr(This,pptypeattr)
  2702.  
  2703. #define ITypeInfo_GetTypeComp(This,pptcomp)    \
  2704.     (This)->lpVtbl -> GetTypeComp(This,pptcomp)
  2705.  
  2706. #define ITypeInfo_GetFuncDesc(This,index,pppfuncdesc)    \
  2707.     (This)->lpVtbl -> GetFuncDesc(This,index,pppfuncdesc)
  2708.  
  2709. #define ITypeInfo_GetVarDesc(This,index,ppvardesc)    \
  2710.     (This)->lpVtbl -> GetVarDesc(This,index,ppvardesc)
  2711.  
  2712. #define ITypeInfo_GetNames(This,memid,rgbstrNames,cMaxNames,pcNames)    \
  2713.     (This)->lpVtbl -> GetNames(This,memid,rgbstrNames,cMaxNames,pcNames)
  2714.  
  2715. #define ITypeInfo_GetRefTypeOfImplType(This,index,hpreftype)    \
  2716.     (This)->lpVtbl -> GetRefTypeOfImplType(This,index,hpreftype)
  2717.  
  2718. #define ITypeInfo_GetImplTypeFlags(This,index,pimpltypeflags)    \
  2719.     (This)->lpVtbl -> GetImplTypeFlags(This,index,pimpltypeflags)
  2720.  
  2721. #define ITypeInfo_GetIDsOfNames(This,rglpszNames,cNames,rgmemid)    \
  2722.     (This)->lpVtbl -> GetIDsOfNames(This,rglpszNames,cNames,rgmemid)
  2723.  
  2724. #define ITypeInfo_Invoke(This,pvInstance,memid,wFlags,pdispparams,pvarResult,pexcepinfo,puArgErr)    \
  2725.     (This)->lpVtbl -> Invoke(This,pvInstance,memid,wFlags,pdispparams,pvarResult,pexcepinfo,puArgErr)
  2726.  
  2727. #define ITypeInfo_GetDocumentation(This,memid,pbstrName,pbstrDocString,pdwHelpContext,pbstrHelpFile)    \
  2728.     (This)->lpVtbl -> GetDocumentation(This,memid,pbstrName,pbstrDocString,pdwHelpContext,pbstrHelpFile)
  2729.  
  2730. #define ITypeInfo_GetDllEntry(This,memid,invkind,pbstrDllName,pbstrName,pwOrdinal)    \
  2731.     (This)->lpVtbl -> GetDllEntry(This,memid,invkind,pbstrDllName,pbstrName,pwOrdinal)
  2732.  
  2733. #define ITypeInfo_GetRefTypeInfo(This,hreftype,pptinfo)    \
  2734.     (This)->lpVtbl -> GetRefTypeInfo(This,hreftype,pptinfo)
  2735.  
  2736. #define ITypeInfo_AddressOfMember(This,memid,invkind,ppv)    \
  2737.     (This)->lpVtbl -> AddressOfMember(This,memid,invkind,ppv)
  2738.  
  2739. #define ITypeInfo_CreateInstance(This,puncOuter,riid,ppvObj)    \
  2740.     (This)->lpVtbl -> CreateInstance(This,puncOuter,riid,ppvObj)
  2741.  
  2742. #define ITypeInfo_GetMops(This,memid,pbstrMops)    \
  2743.     (This)->lpVtbl -> GetMops(This,memid,pbstrMops)
  2744.  
  2745. #define ITypeInfo_GetContainingTypeLib(This,pptlib,pindex)    \
  2746.     (This)->lpVtbl -> GetContainingTypeLib(This,pptlib,pindex)
  2747.  
  2748. #define ITypeInfo_ReleaseTypeAttr(This,ptypeattr)    \
  2749.     (This)->lpVtbl -> ReleaseTypeAttr(This,ptypeattr)
  2750.  
  2751. #define ITypeInfo_ReleaseFuncDesc(This,pfuncdesc)    \
  2752.     (This)->lpVtbl -> ReleaseFuncDesc(This,pfuncdesc)
  2753.  
  2754. #define ITypeInfo_ReleaseVarDesc(This,pvardesc)    \
  2755.     (This)->lpVtbl -> ReleaseVarDesc(This,pvardesc)
  2756.  
  2757. #endif /* COBJMACROS */
  2758.  
  2759.  
  2760. #endif     /* C style interface */
  2761.  
  2762. #ifndef NOPROXYSTUB
  2763.  
  2764. HRESULT __stdcall ITypeInfo_GetTypeAttr_Proxy( 
  2765.     ITypeInfo __RPC_FAR * This,
  2766.     /* [out] */ TYPEATTR __RPC_FAR *__RPC_FAR *pptypeattr);
  2767.  
  2768.  
  2769. void __RPC_STUB ITypeInfo_GetTypeAttr_Stub(
  2770.     IRpcStubBuffer *This,
  2771.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2772.     PRPC_MESSAGE _pRpcMessage,
  2773.     DWORD *_pdwStubPhase);
  2774.  
  2775.  
  2776. HRESULT __stdcall ITypeInfo_GetTypeComp_Proxy( 
  2777.     ITypeInfo __RPC_FAR * This,
  2778.     /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *pptcomp);
  2779.  
  2780.  
  2781. void __RPC_STUB ITypeInfo_GetTypeComp_Stub(
  2782.     IRpcStubBuffer *This,
  2783.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2784.     PRPC_MESSAGE _pRpcMessage,
  2785.     DWORD *_pdwStubPhase);
  2786.  
  2787.  
  2788. HRESULT __stdcall ITypeInfo_GetFuncDesc_Proxy( 
  2789.     ITypeInfo __RPC_FAR * This,
  2790.     /* [in] */ UINT index,
  2791.     /* [out] */ FUNCDESC __RPC_FAR *__RPC_FAR *pppfuncdesc);
  2792.  
  2793.  
  2794. void __RPC_STUB ITypeInfo_GetFuncDesc_Stub(
  2795.     IRpcStubBuffer *This,
  2796.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2797.     PRPC_MESSAGE _pRpcMessage,
  2798.     DWORD *_pdwStubPhase);
  2799.  
  2800.  
  2801. HRESULT __stdcall ITypeInfo_GetVarDesc_Proxy( 
  2802.     ITypeInfo __RPC_FAR * This,
  2803.     /* [in] */ UINT index,
  2804.     /* [out] */ VARDESC __RPC_FAR *__RPC_FAR *ppvardesc);
  2805.  
  2806.  
  2807. void __RPC_STUB ITypeInfo_GetVarDesc_Stub(
  2808.     IRpcStubBuffer *This,
  2809.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2810.     PRPC_MESSAGE _pRpcMessage,
  2811.     DWORD *_pdwStubPhase);
  2812.  
  2813.  
  2814. HRESULT __stdcall ITypeInfo_GetNames_Proxy( 
  2815.     ITypeInfo __RPC_FAR * This,
  2816.     /* [in] */ MEMBERID memid,
  2817.     /* [length_is][size_is][out] */ BSTR __RPC_FAR *rgbstrNames,
  2818.     /* [in] */ UINT cMaxNames,
  2819.     /* [out] */ UINT __RPC_FAR *pcNames);
  2820.  
  2821.  
  2822. void __RPC_STUB ITypeInfo_GetNames_Stub(
  2823.     IRpcStubBuffer *This,
  2824.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2825.     PRPC_MESSAGE _pRpcMessage,
  2826.     DWORD *_pdwStubPhase);
  2827.  
  2828.  
  2829. HRESULT __stdcall ITypeInfo_GetRefTypeOfImplType_Proxy( 
  2830.     ITypeInfo __RPC_FAR * This,
  2831.     /* [in] */ UINT index,
  2832.     /* [out] */ HREFTYPE __RPC_FAR *hpreftype);
  2833.  
  2834.  
  2835. void __RPC_STUB ITypeInfo_GetRefTypeOfImplType_Stub(
  2836.     IRpcStubBuffer *This,
  2837.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2838.     PRPC_MESSAGE _pRpcMessage,
  2839.     DWORD *_pdwStubPhase);
  2840.  
  2841.  
  2842. HRESULT __stdcall ITypeInfo_GetImplTypeFlags_Proxy( 
  2843.     ITypeInfo __RPC_FAR * This,
  2844.     /* [in] */ UINT index,
  2845.     /* [out] */ INT __RPC_FAR *pimpltypeflags);
  2846.  
  2847.  
  2848. void __RPC_STUB ITypeInfo_GetImplTypeFlags_Stub(
  2849.     IRpcStubBuffer *This,
  2850.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2851.     PRPC_MESSAGE _pRpcMessage,
  2852.     DWORD *_pdwStubPhase);
  2853.  
  2854.  
  2855. HRESULT __stdcall ITypeInfo_GetIDsOfNames_Proxy( 
  2856.     ITypeInfo __RPC_FAR * This,
  2857.     /* [size_is][in] */ OLECHAR __RPC_FAR *__RPC_FAR *rglpszNames,
  2858.     /* [in] */ UINT cNames,
  2859.     /* [size_is][out] */ MEMBERID __RPC_FAR *rgmemid);
  2860.  
  2861.  
  2862. void __RPC_STUB ITypeInfo_GetIDsOfNames_Stub(
  2863.     IRpcStubBuffer *This,
  2864.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2865.     PRPC_MESSAGE _pRpcMessage,
  2866.     DWORD *_pdwStubPhase);
  2867.  
  2868.  
  2869. HRESULT __stdcall ITypeInfo_Invoke_Proxy( 
  2870.     ITypeInfo __RPC_FAR * This,
  2871.     /* [unique][in] */ void __RPC_FAR *pvInstance,
  2872.     /* [in] */ MEMBERID memid,
  2873.     /* [in] */ WORD wFlags,
  2874.     /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  2875.     /* [out] */ VARIANT __RPC_FAR *pvarResult,
  2876.     /* [out] */ EXCEPINFO __RPC_FAR *pexcepinfo,
  2877.     /* [out] */ UINT __RPC_FAR *puArgErr);
  2878.  
  2879.  
  2880. void __RPC_STUB ITypeInfo_Invoke_Stub(
  2881.     IRpcStubBuffer *This,
  2882.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2883.     PRPC_MESSAGE _pRpcMessage,
  2884.     DWORD *_pdwStubPhase);
  2885.  
  2886.  
  2887. HRESULT __stdcall ITypeInfo_GetDocumentation_Proxy( 
  2888.     ITypeInfo __RPC_FAR * This,
  2889.     /* [in] */ MEMBERID memid,
  2890.     /* [out] */ BSTR __RPC_FAR *pbstrName,
  2891.     /* [out] */ BSTR __RPC_FAR *pbstrDocString,
  2892.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  2893.     /* [out] */ BSTR __RPC_FAR *pbstrHelpFile);
  2894.  
  2895.  
  2896. void __RPC_STUB ITypeInfo_GetDocumentation_Stub(
  2897.     IRpcStubBuffer *This,
  2898.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2899.     PRPC_MESSAGE _pRpcMessage,
  2900.     DWORD *_pdwStubPhase);
  2901.  
  2902.  
  2903. HRESULT __stdcall ITypeInfo_GetDllEntry_Proxy( 
  2904.     ITypeInfo __RPC_FAR * This,
  2905.     /* [in] */ MEMBERID memid,
  2906.     /* [in] */ INVOKEKIND invkind,
  2907.     /* [out] */ BSTR __RPC_FAR *pbstrDllName,
  2908.     /* [out] */ BSTR __RPC_FAR *pbstrName,
  2909.     /* [out] */ WORD __RPC_FAR *pwOrdinal);
  2910.  
  2911.  
  2912. void __RPC_STUB ITypeInfo_GetDllEntry_Stub(
  2913.     IRpcStubBuffer *This,
  2914.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2915.     PRPC_MESSAGE _pRpcMessage,
  2916.     DWORD *_pdwStubPhase);
  2917.  
  2918.  
  2919. HRESULT __stdcall ITypeInfo_GetRefTypeInfo_Proxy( 
  2920.     ITypeInfo __RPC_FAR * This,
  2921.     /* [in] */ HREFTYPE hreftype,
  2922.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *pptinfo);
  2923.  
  2924.  
  2925. void __RPC_STUB ITypeInfo_GetRefTypeInfo_Stub(
  2926.     IRpcStubBuffer *This,
  2927.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2928.     PRPC_MESSAGE _pRpcMessage,
  2929.     DWORD *_pdwStubPhase);
  2930.  
  2931.  
  2932. HRESULT __stdcall ITypeInfo_AddressOfMember_Proxy( 
  2933.     ITypeInfo __RPC_FAR * This,
  2934.     /* [in] */ MEMBERID memid,
  2935.     /* [in] */ INVOKEKIND invkind,
  2936.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppv);
  2937.  
  2938.  
  2939. void __RPC_STUB ITypeInfo_AddressOfMember_Stub(
  2940.     IRpcStubBuffer *This,
  2941.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2942.     PRPC_MESSAGE _pRpcMessage,
  2943.     DWORD *_pdwStubPhase);
  2944.  
  2945.  
  2946. HRESULT __stdcall ITypeInfo_CreateInstance_Proxy( 
  2947.     ITypeInfo __RPC_FAR * This,
  2948.     /* [in] */ IUnknown __RPC_FAR *puncOuter,
  2949.     /* [in] */ REFIID riid,
  2950.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObj);
  2951.  
  2952.  
  2953. void __RPC_STUB ITypeInfo_CreateInstance_Stub(
  2954.     IRpcStubBuffer *This,
  2955.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2956.     PRPC_MESSAGE _pRpcMessage,
  2957.     DWORD *_pdwStubPhase);
  2958.  
  2959.  
  2960. HRESULT __stdcall ITypeInfo_GetMops_Proxy( 
  2961.     ITypeInfo __RPC_FAR * This,
  2962.     /* [in] */ MEMBERID memid,
  2963.     /* [out] */ BSTR __RPC_FAR *pbstrMops);
  2964.  
  2965.  
  2966. void __RPC_STUB ITypeInfo_GetMops_Stub(
  2967.     IRpcStubBuffer *This,
  2968.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2969.     PRPC_MESSAGE _pRpcMessage,
  2970.     DWORD *_pdwStubPhase);
  2971.  
  2972.  
  2973. HRESULT __stdcall ITypeInfo_GetContainingTypeLib_Proxy( 
  2974.     ITypeInfo __RPC_FAR * This,
  2975.     /* [out] */ ITypeLib __RPC_FAR *__RPC_FAR *pptlib,
  2976.     /* [out] */ UINT __RPC_FAR *pindex);
  2977.  
  2978.  
  2979. void __RPC_STUB ITypeInfo_GetContainingTypeLib_Stub(
  2980.     IRpcStubBuffer *This,
  2981.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2982.     PRPC_MESSAGE _pRpcMessage,
  2983.     DWORD *_pdwStubPhase);
  2984.  
  2985.  
  2986. void __stdcall ITypeInfo_ReleaseTypeAttr_Proxy( 
  2987.     ITypeInfo __RPC_FAR * This,
  2988.     /* [in] */ TYPEATTR __RPC_FAR *ptypeattr);
  2989.  
  2990.  
  2991. void __RPC_STUB ITypeInfo_ReleaseTypeAttr_Stub(
  2992.     IRpcStubBuffer *This,
  2993.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2994.     PRPC_MESSAGE _pRpcMessage,
  2995.     DWORD *_pdwStubPhase);
  2996.  
  2997.  
  2998. void __stdcall ITypeInfo_ReleaseFuncDesc_Proxy( 
  2999.     ITypeInfo __RPC_FAR * This,
  3000.     /* [in] */ FUNCDESC __RPC_FAR *pfuncdesc);
  3001.  
  3002.  
  3003. void __RPC_STUB ITypeInfo_ReleaseFuncDesc_Stub(
  3004.     IRpcStubBuffer *This,
  3005.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3006.     PRPC_MESSAGE _pRpcMessage,
  3007.     DWORD *_pdwStubPhase);
  3008.  
  3009.  
  3010. void __stdcall ITypeInfo_ReleaseVarDesc_Proxy( 
  3011.     ITypeInfo __RPC_FAR * This,
  3012.     /* [in] */ VARDESC __RPC_FAR *pvardesc);
  3013.  
  3014.  
  3015. void __RPC_STUB ITypeInfo_ReleaseVarDesc_Stub(
  3016.     IRpcStubBuffer *This,
  3017.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3018.     PRPC_MESSAGE _pRpcMessage,
  3019.     DWORD *_pdwStubPhase);
  3020.  
  3021. #endif // NOPROXYSTUB
  3022.  
  3023. #endif     /* __ITypeInfo_INTERFACE_DEFINED__ */
  3024.  
  3025.  
  3026. #ifndef __ITypeLib_INTERFACE_DEFINED__
  3027. #define __ITypeLib_INTERFACE_DEFINED__
  3028.  
  3029. /****************************************
  3030.  * Generated header for interface: ITypeLib
  3031.  * at Fri Apr 28 07:02:38 1995
  3032.  * using MIDL 2.00.0102
  3033.  ****************************************/
  3034. /* [local][unique][uuid][object] */ 
  3035.  
  3036.  
  3037.             /* size is 2 */
  3038. typedef /* [transmit] */ 
  3039. enum tagSYSKIND
  3040.     {    SYS_WIN16    = 0,
  3041.     SYS_WIN32    = SYS_WIN16 + 1,
  3042.     SYS_MAC    = SYS_WIN32 + 1
  3043.     }    SYSKIND;
  3044.  
  3045.             /* size is 2 */
  3046. typedef /* [transmit] */ 
  3047. enum tagLIBFLAGS
  3048.     {    LIBFLAG_FRESTRICTED    = 0x1,
  3049.     LIBFLAG_FCONTROL    = 0x2,
  3050.     LIBFLAG_FHIDDEN    = 0x4
  3051.     }    LIBFLAGS;
  3052.  
  3053. #define SYSKIND_to_xmit(pEnum, ppLong) *(ppLong) = (long *) (pEnum)
  3054. #define SYSKIND_from_xmit(pLong, pEnum) *(pEnum) = (SYSKIND) *(pLong)
  3055. #define SYSKIND_free_inst(pEnum) 
  3056. #define SYSKIND_free_xmit(pLong) 
  3057.             /* size is 4 */
  3058. typedef /* [unique] */ ITypeLib __RPC_FAR *LPTYPELIB;
  3059.  
  3060.             /* size is 28 */
  3061. typedef struct  tagTLIBATTR
  3062.     {
  3063.     GUID guid;
  3064.     LCID lcid;
  3065.     SYSKIND syskind;
  3066.     WORD wMajorVerNum;
  3067.     WORD wMinorVerNum;
  3068.     WORD wLibFlags;
  3069.     }    TLIBATTR;
  3070.  
  3071.             /* size is 4 */
  3072. typedef TLIBATTR __RPC_FAR *LPTLIBATTR;
  3073.  
  3074.  
  3075. EXTERN_C const IID IID_ITypeLib;
  3076.  
  3077. #if defined(__cplusplus) && !defined(CINTERFACE)
  3078.     
  3079.     interface ITypeLib : public IUnknown
  3080.     {
  3081.     public:
  3082.         virtual UINT __stdcall GetTypeInfoCount( void) = 0;
  3083.         
  3084.         virtual HRESULT __stdcall GetTypeInfo( 
  3085.             /* [in] */ UINT index,
  3086.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppitinfo) = 0;
  3087.         
  3088.         virtual HRESULT __stdcall GetTypeInfoType( 
  3089.             /* [in] */ UINT index,
  3090.             /* [out] */ TYPEKIND __RPC_FAR *ptkind) = 0;
  3091.         
  3092.         virtual HRESULT __stdcall GetTypeInfoOfGuid( 
  3093.             /* [in] */ REFGUID guid,
  3094.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *pptinfo) = 0;
  3095.         
  3096.         virtual HRESULT __stdcall GetLibAttr( 
  3097.             /* [out] */ TLIBATTR __RPC_FAR *__RPC_FAR *pptlibattr) = 0;
  3098.         
  3099.         virtual HRESULT __stdcall GetTypeComp( 
  3100.             /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *pptcomp) = 0;
  3101.         
  3102.         virtual HRESULT __stdcall GetDocumentation( 
  3103.             /* [in] */ INT index,
  3104.             /* [out] */ BSTR __RPC_FAR *pbstrName,
  3105.             /* [out] */ BSTR __RPC_FAR *pbstrDocString,
  3106.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  3107.             /* [out] */ BSTR __RPC_FAR *pbstrHelpFile) = 0;
  3108.         
  3109.         virtual HRESULT __stdcall IsName( 
  3110.             /* [in] */ LPOLESTR szNameBuf,
  3111.             /* [in] */ ULONG lHashVal,
  3112.             /* [out] */ BOOL __RPC_FAR *pfName) = 0;
  3113.         
  3114.         virtual HRESULT __stdcall FindName( 
  3115.             /* [in] */ LPOLESTR szNameBuf,
  3116.             /* [in] */ ULONG lHashVal,
  3117.             /* [length_is][size_is][out] */ ITypeInfo __RPC_FAR *__RPC_FAR *rgptinfo,
  3118.             /* [length_is][size_is][out] */ MEMBERID __RPC_FAR *rgmemid,
  3119.             /* [out][in] */ USHORT __RPC_FAR *pcFound) = 0;
  3120.         
  3121.         virtual void __stdcall ReleaseTLibAttr( 
  3122.             /* [in] */ TLIBATTR __RPC_FAR *ptlibattr) = 0;
  3123.         
  3124.     };
  3125.     
  3126. #else     /* C style interface */
  3127.  
  3128.     typedef struct ITypeLibVtbl
  3129.     {
  3130.         
  3131.         HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  3132.             ITypeLib __RPC_FAR * This,
  3133.             /* [in] */ REFIID riid,
  3134.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3135.         
  3136.         ULONG ( __stdcall __RPC_FAR *AddRef )( 
  3137.             ITypeLib __RPC_FAR * This);
  3138.         
  3139.         ULONG ( __stdcall __RPC_FAR *Release )( 
  3140.             ITypeLib __RPC_FAR * This);
  3141.         
  3142.         UINT ( __stdcall __RPC_FAR *GetTypeInfoCount )( 
  3143.             ITypeLib __RPC_FAR * This);
  3144.         
  3145.         HRESULT ( __stdcall __RPC_FAR *GetTypeInfo )( 
  3146.             ITypeLib __RPC_FAR * This,
  3147.             /* [in] */ UINT index,
  3148.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppitinfo);
  3149.         
  3150.         HRESULT ( __stdcall __RPC_FAR *GetTypeInfoType )( 
  3151.             ITypeLib __RPC_FAR * This,
  3152.             /* [in] */ UINT index,
  3153.             /* [out] */ TYPEKIND __RPC_FAR *ptkind);
  3154.         
  3155.         HRESULT ( __stdcall __RPC_FAR *GetTypeInfoOfGuid )( 
  3156.             ITypeLib __RPC_FAR * This,
  3157.             /* [in] */ REFGUID guid,
  3158.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *pptinfo);
  3159.         
  3160.         HRESULT ( __stdcall __RPC_FAR *GetLibAttr )( 
  3161.             ITypeLib __RPC_FAR * This,
  3162.             /* [out] */ TLIBATTR __RPC_FAR *__RPC_FAR *pptlibattr);
  3163.         
  3164.         HRESULT ( __stdcall __RPC_FAR *GetTypeComp )( 
  3165.             ITypeLib __RPC_FAR * This,
  3166.             /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *pptcomp);
  3167.         
  3168.         HRESULT ( __stdcall __RPC_FAR *GetDocumentation )( 
  3169.             ITypeLib __RPC_FAR * This,
  3170.             /* [in] */ INT index,
  3171.             /* [out] */ BSTR __RPC_FAR *pbstrName,
  3172.             /* [out] */ BSTR __RPC_FAR *pbstrDocString,
  3173.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  3174.             /* [out] */ BSTR __RPC_FAR *pbstrHelpFile);
  3175.         
  3176.         HRESULT ( __stdcall __RPC_FAR *IsName )( 
  3177.             ITypeLib __RPC_FAR * This,
  3178.             /* [in] */ LPOLESTR szNameBuf,
  3179.             /* [in] */ ULONG lHashVal,
  3180.             /* [out] */ BOOL __RPC_FAR *pfName);
  3181.         
  3182.         HRESULT ( __stdcall __RPC_FAR *FindName )( 
  3183.             ITypeLib __RPC_FAR * This,
  3184.             /* [in] */ LPOLESTR szNameBuf,
  3185.             /* [in] */ ULONG lHashVal,
  3186.             /* [length_is][size_is][out] */ ITypeInfo __RPC_FAR *__RPC_FAR *rgptinfo,
  3187.             /* [length_is][size_is][out] */ MEMBERID __RPC_FAR *rgmemid,
  3188.             /* [out][in] */ USHORT __RPC_FAR *pcFound);
  3189.         
  3190.         void ( __stdcall __RPC_FAR *ReleaseTLibAttr )( 
  3191.             ITypeLib __RPC_FAR * This,
  3192.             /* [in] */ TLIBATTR __RPC_FAR *ptlibattr);
  3193.         
  3194.     } ITypeLibVtbl;
  3195.  
  3196.     interface ITypeLib
  3197.     {
  3198.         CONST_VTBL struct ITypeLibVtbl __RPC_FAR *lpVtbl;
  3199.     };
  3200.  
  3201.     
  3202.  
  3203. #ifdef COBJMACROS
  3204.  
  3205.  
  3206. #define ITypeLib_QueryInterface(This,riid,ppvObject)    \
  3207.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3208.  
  3209. #define ITypeLib_AddRef(This)    \
  3210.     (This)->lpVtbl -> AddRef(This)
  3211.  
  3212. #define ITypeLib_Release(This)    \
  3213.     (This)->lpVtbl -> Release(This)
  3214.  
  3215.  
  3216. #define ITypeLib_GetTypeInfoCount(This)    \
  3217.     (This)->lpVtbl -> GetTypeInfoCount(This)
  3218.  
  3219. #define ITypeLib_GetTypeInfo(This,index,ppitinfo)    \
  3220.     (This)->lpVtbl -> GetTypeInfo(This,index,ppitinfo)
  3221.  
  3222. #define ITypeLib_GetTypeInfoType(This,index,ptkind)    \
  3223.     (This)->lpVtbl -> GetTypeInfoType(This,index,ptkind)
  3224.  
  3225. #define ITypeLib_GetTypeInfoOfGuid(This,guid,pptinfo)    \
  3226.     (This)->lpVtbl -> GetTypeInfoOfGuid(This,guid,pptinfo)
  3227.  
  3228. #define ITypeLib_GetLibAttr(This,pptlibattr)    \
  3229.     (This)->lpVtbl -> GetLibAttr(This,pptlibattr)
  3230.  
  3231. #define ITypeLib_GetTypeComp(This,pptcomp)    \
  3232.     (This)->lpVtbl -> GetTypeComp(This,pptcomp)
  3233.  
  3234. #define ITypeLib_GetDocumentation(This,index,pbstrName,pbstrDocString,pdwHelpContext,pbstrHelpFile)    \
  3235.     (This)->lpVtbl -> GetDocumentation(This,index,pbstrName,pbstrDocString,pdwHelpContext,pbstrHelpFile)
  3236.  
  3237. #define ITypeLib_IsName(This,szNameBuf,lHashVal,pfName)    \
  3238.     (This)->lpVtbl -> IsName(This,szNameBuf,lHashVal,pfName)
  3239.  
  3240. #define ITypeLib_FindName(This,szNameBuf,lHashVal,rgptinfo,rgmemid,pcFound)    \
  3241.     (This)->lpVtbl -> FindName(This,szNameBuf,lHashVal,rgptinfo,rgmemid,pcFound)
  3242.  
  3243. #define ITypeLib_ReleaseTLibAttr(This,ptlibattr)    \
  3244.     (This)->lpVtbl -> ReleaseTLibAttr(This,ptlibattr)
  3245.  
  3246. #endif /* COBJMACROS */
  3247.  
  3248.  
  3249. #endif     /* C style interface */
  3250.  
  3251. #ifndef NOPROXYSTUB
  3252.  
  3253. UINT __stdcall ITypeLib_GetTypeInfoCount_Proxy( 
  3254.     ITypeLib __RPC_FAR * This);
  3255.  
  3256.  
  3257. void __RPC_STUB ITypeLib_GetTypeInfoCount_Stub(
  3258.     IRpcStubBuffer *This,
  3259.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3260.     PRPC_MESSAGE _pRpcMessage,
  3261.     DWORD *_pdwStubPhase);
  3262.  
  3263.  
  3264. HRESULT __stdcall ITypeLib_GetTypeInfo_Proxy( 
  3265.     ITypeLib __RPC_FAR * This,
  3266.     /* [in] */ UINT index,
  3267.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppitinfo);
  3268.  
  3269.  
  3270. void __RPC_STUB ITypeLib_GetTypeInfo_Stub(
  3271.     IRpcStubBuffer *This,
  3272.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3273.     PRPC_MESSAGE _pRpcMessage,
  3274.     DWORD *_pdwStubPhase);
  3275.  
  3276.  
  3277. HRESULT __stdcall ITypeLib_GetTypeInfoType_Proxy( 
  3278.     ITypeLib __RPC_FAR * This,
  3279.     /* [in] */ UINT index,
  3280.     /* [out] */ TYPEKIND __RPC_FAR *ptkind);
  3281.  
  3282.  
  3283. void __RPC_STUB ITypeLib_GetTypeInfoType_Stub(
  3284.     IRpcStubBuffer *This,
  3285.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3286.     PRPC_MESSAGE _pRpcMessage,
  3287.     DWORD *_pdwStubPhase);
  3288.  
  3289.  
  3290. HRESULT __stdcall ITypeLib_GetTypeInfoOfGuid_Proxy( 
  3291.     ITypeLib __RPC_FAR * This,
  3292.     /* [in] */ REFGUID guid,
  3293.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *pptinfo);
  3294.  
  3295.  
  3296. void __RPC_STUB ITypeLib_GetTypeInfoOfGuid_Stub(
  3297.     IRpcStubBuffer *This,
  3298.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3299.     PRPC_MESSAGE _pRpcMessage,
  3300.     DWORD *_pdwStubPhase);
  3301.  
  3302.  
  3303. HRESULT __stdcall ITypeLib_GetLibAttr_Proxy( 
  3304.     ITypeLib __RPC_FAR * This,
  3305.     /* [out] */ TLIBATTR __RPC_FAR *__RPC_FAR *pptlibattr);
  3306.  
  3307.  
  3308. void __RPC_STUB ITypeLib_GetLibAttr_Stub(
  3309.     IRpcStubBuffer *This,
  3310.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3311.     PRPC_MESSAGE _pRpcMessage,
  3312.     DWORD *_pdwStubPhase);
  3313.  
  3314.  
  3315. HRESULT __stdcall ITypeLib_GetTypeComp_Proxy( 
  3316.     ITypeLib __RPC_FAR * This,
  3317.     /* [out] */ ITypeComp __RPC_FAR *__RPC_FAR *pptcomp);
  3318.  
  3319.  
  3320. void __RPC_STUB ITypeLib_GetTypeComp_Stub(
  3321.     IRpcStubBuffer *This,
  3322.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3323.     PRPC_MESSAGE _pRpcMessage,
  3324.     DWORD *_pdwStubPhase);
  3325.  
  3326.  
  3327. HRESULT __stdcall ITypeLib_GetDocumentation_Proxy( 
  3328.     ITypeLib __RPC_FAR * This,
  3329.     /* [in] */ INT index,
  3330.     /* [out] */ BSTR __RPC_FAR *pbstrName,
  3331.     /* [out] */ BSTR __RPC_FAR *pbstrDocString,
  3332.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  3333.     /* [out] */ BSTR __RPC_FAR *pbstrHelpFile);
  3334.  
  3335.  
  3336. void __RPC_STUB ITypeLib_GetDocumentation_Stub(
  3337.     IRpcStubBuffer *This,
  3338.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3339.     PRPC_MESSAGE _pRpcMessage,
  3340.     DWORD *_pdwStubPhase);
  3341.  
  3342.  
  3343. HRESULT __stdcall ITypeLib_IsName_Proxy( 
  3344.     ITypeLib __RPC_FAR * This,
  3345.     /* [in] */ LPOLESTR szNameBuf,
  3346.     /* [in] */ ULONG lHashVal,
  3347.     /* [out] */ BOOL __RPC_FAR *pfName);
  3348.  
  3349.  
  3350. void __RPC_STUB ITypeLib_IsName_Stub(
  3351.     IRpcStubBuffer *This,
  3352.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3353.     PRPC_MESSAGE _pRpcMessage,
  3354.     DWORD *_pdwStubPhase);
  3355.  
  3356.  
  3357. HRESULT __stdcall ITypeLib_FindName_Proxy( 
  3358.     ITypeLib __RPC_FAR * This,
  3359.     /* [in] */ LPOLESTR szNameBuf,
  3360.     /* [in] */ ULONG lHashVal,
  3361.     /* [length_is][size_is][out] */ ITypeInfo __RPC_FAR *__RPC_FAR *rgptinfo,
  3362.     /* [length_is][size_is][out] */ MEMBERID __RPC_FAR *rgmemid,
  3363.     /* [out][in] */ USHORT __RPC_FAR *pcFound);
  3364.  
  3365.  
  3366. void __RPC_STUB ITypeLib_FindName_Stub(
  3367.     IRpcStubBuffer *This,
  3368.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3369.     PRPC_MESSAGE _pRpcMessage,
  3370.     DWORD *_pdwStubPhase);
  3371.  
  3372.  
  3373. void __stdcall ITypeLib_ReleaseTLibAttr_Proxy( 
  3374.     ITypeLib __RPC_FAR * This,
  3375.     /* [in] */ TLIBATTR __RPC_FAR *ptlibattr);
  3376.  
  3377.  
  3378. void __RPC_STUB ITypeLib_ReleaseTLibAttr_Stub(
  3379.     IRpcStubBuffer *This,
  3380.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3381.     PRPC_MESSAGE _pRpcMessage,
  3382.     DWORD *_pdwStubPhase);
  3383.  
  3384. #endif // NOPROXYSTUB
  3385.  
  3386. #endif     /* __ITypeLib_INTERFACE_DEFINED__ */
  3387.  
  3388.  
  3389. #ifndef __IErrorInfo_INTERFACE_DEFINED__
  3390. #define __IErrorInfo_INTERFACE_DEFINED__
  3391.  
  3392. /****************************************
  3393.  * Generated header for interface: IErrorInfo
  3394.  * at Fri Apr 28 07:02:38 1995
  3395.  * using MIDL 2.00.0102
  3396.  ****************************************/
  3397. /* [local][unique][uuid][object] */ 
  3398.  
  3399.  
  3400.             /* size is 4 */
  3401. typedef /* [unique] */ IErrorInfo __RPC_FAR *LPERRORINFO;
  3402.  
  3403.  
  3404. EXTERN_C const IID IID_IErrorInfo;
  3405.  
  3406. #if defined(__cplusplus) && !defined(CINTERFACE)
  3407.     
  3408.     interface IErrorInfo : public IUnknown
  3409.     {
  3410.     public:
  3411.         virtual HRESULT __stdcall GetGUID( 
  3412.             /* [out] */ GUID __RPC_FAR *pguid) = 0;
  3413.         
  3414.         virtual HRESULT __stdcall GetSource( 
  3415.             /* [out] */ BSTR __RPC_FAR *pbstrSource) = 0;
  3416.         
  3417.         virtual HRESULT __stdcall GetDescription( 
  3418.             /* [out] */ BSTR __RPC_FAR *pbstrDescription) = 0;
  3419.         
  3420.         virtual HRESULT __stdcall GetHelpFile( 
  3421.             /* [out] */ BSTR __RPC_FAR *pbstrHelpFile) = 0;
  3422.         
  3423.         virtual HRESULT __stdcall GetHelpContext( 
  3424.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext) = 0;
  3425.         
  3426.     };
  3427.     
  3428. #else     /* C style interface */
  3429.  
  3430.     typedef struct IErrorInfoVtbl
  3431.     {
  3432.         
  3433.         HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  3434.             IErrorInfo __RPC_FAR * This,
  3435.             /* [in] */ REFIID riid,
  3436.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3437.         
  3438.         ULONG ( __stdcall __RPC_FAR *AddRef )( 
  3439.             IErrorInfo __RPC_FAR * This);
  3440.         
  3441.         ULONG ( __stdcall __RPC_FAR *Release )( 
  3442.             IErrorInfo __RPC_FAR * This);
  3443.         
  3444.         HRESULT ( __stdcall __RPC_FAR *GetGUID )( 
  3445.             IErrorInfo __RPC_FAR * This,
  3446.             /* [out] */ GUID __RPC_FAR *pguid);
  3447.         
  3448.         HRESULT ( __stdcall __RPC_FAR *GetSource )( 
  3449.             IErrorInfo __RPC_FAR * This,
  3450.             /* [out] */ BSTR __RPC_FAR *pbstrSource);
  3451.         
  3452.         HRESULT ( __stdcall __RPC_FAR *GetDescription )( 
  3453.             IErrorInfo __RPC_FAR * This,
  3454.             /* [out] */ BSTR __RPC_FAR *pbstrDescription);
  3455.         
  3456.         HRESULT ( __stdcall __RPC_FAR *GetHelpFile )( 
  3457.             IErrorInfo __RPC_FAR * This,
  3458.             /* [out] */ BSTR __RPC_FAR *pbstrHelpFile);
  3459.         
  3460.         HRESULT ( __stdcall __RPC_FAR *GetHelpContext )( 
  3461.             IErrorInfo __RPC_FAR * This,
  3462.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext);
  3463.         
  3464.     } IErrorInfoVtbl;
  3465.  
  3466.     interface IErrorInfo
  3467.     {
  3468.         CONST_VTBL struct IErrorInfoVtbl __RPC_FAR *lpVtbl;
  3469.     };
  3470.  
  3471.     
  3472.  
  3473. #ifdef COBJMACROS
  3474.  
  3475.  
  3476. #define IErrorInfo_QueryInterface(This,riid,ppvObject)    \
  3477.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3478.  
  3479. #define IErrorInfo_AddRef(This)    \
  3480.     (This)->lpVtbl -> AddRef(This)
  3481.  
  3482. #define IErrorInfo_Release(This)    \
  3483.     (This)->lpVtbl -> Release(This)
  3484.  
  3485.  
  3486. #define IErrorInfo_GetGUID(This,pguid)    \
  3487.     (This)->lpVtbl -> GetGUID(This,pguid)
  3488.  
  3489. #define IErrorInfo_GetSource(This,pbstrSource)    \
  3490.     (This)->lpVtbl -> GetSource(This,pbstrSource)
  3491.  
  3492. #define IErrorInfo_GetDescription(This,pbstrDescription)    \
  3493.     (This)->lpVtbl -> GetDescription(This,pbstrDescription)
  3494.  
  3495. #define IErrorInfo_GetHelpFile(This,pbstrHelpFile)    \
  3496.     (This)->lpVtbl -> GetHelpFile(This,pbstrHelpFile)
  3497.  
  3498. #define IErrorInfo_GetHelpContext(This,pdwHelpContext)    \
  3499.     (This)->lpVtbl -> GetHelpContext(This,pdwHelpContext)
  3500.  
  3501. #endif /* COBJMACROS */
  3502.  
  3503.  
  3504. #endif     /* C style interface */
  3505.  
  3506. #ifndef NOPROXYSTUB
  3507.  
  3508. HRESULT __stdcall IErrorInfo_GetGUID_Proxy( 
  3509.     IErrorInfo __RPC_FAR * This,
  3510.     /* [out] */ GUID __RPC_FAR *pguid);
  3511.  
  3512.  
  3513. void __RPC_STUB IErrorInfo_GetGUID_Stub(
  3514.     IRpcStubBuffer *This,
  3515.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3516.     PRPC_MESSAGE _pRpcMessage,
  3517.     DWORD *_pdwStubPhase);
  3518.  
  3519.  
  3520. HRESULT __stdcall IErrorInfo_GetSource_Proxy( 
  3521.     IErrorInfo __RPC_FAR * This,
  3522.     /* [out] */ BSTR __RPC_FAR *pbstrSource);
  3523.  
  3524.  
  3525. void __RPC_STUB IErrorInfo_GetSource_Stub(
  3526.     IRpcStubBuffer *This,
  3527.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3528.     PRPC_MESSAGE _pRpcMessage,
  3529.     DWORD *_pdwStubPhase);
  3530.  
  3531.  
  3532. HRESULT __stdcall IErrorInfo_GetDescription_Proxy( 
  3533.     IErrorInfo __RPC_FAR * This,
  3534.     /* [out] */ BSTR __RPC_FAR *pbstrDescription);
  3535.  
  3536.  
  3537. void __RPC_STUB IErrorInfo_GetDescription_Stub(
  3538.     IRpcStubBuffer *This,
  3539.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3540.     PRPC_MESSAGE _pRpcMessage,
  3541.     DWORD *_pdwStubPhase);
  3542.  
  3543.  
  3544. HRESULT __stdcall IErrorInfo_GetHelpFile_Proxy( 
  3545.     IErrorInfo __RPC_FAR * This,
  3546.     /* [out] */ BSTR __RPC_FAR *pbstrHelpFile);
  3547.  
  3548.  
  3549. void __RPC_STUB IErrorInfo_GetHelpFile_Stub(
  3550.     IRpcStubBuffer *This,
  3551.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3552.     PRPC_MESSAGE _pRpcMessage,
  3553.     DWORD *_pdwStubPhase);
  3554.  
  3555.  
  3556. HRESULT __stdcall IErrorInfo_GetHelpContext_Proxy( 
  3557.     IErrorInfo __RPC_FAR * This,
  3558.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext);
  3559.  
  3560.  
  3561. void __RPC_STUB IErrorInfo_GetHelpContext_Stub(
  3562.     IRpcStubBuffer *This,
  3563.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3564.     PRPC_MESSAGE _pRpcMessage,
  3565.     DWORD *_pdwStubPhase);
  3566.  
  3567. #endif // NOPROXYSTUB
  3568.  
  3569. #endif     /* __IErrorInfo_INTERFACE_DEFINED__ */
  3570.  
  3571.  
  3572. #ifndef __ICreateErrorInfo_INTERFACE_DEFINED__
  3573. #define __ICreateErrorInfo_INTERFACE_DEFINED__
  3574.  
  3575. /****************************************
  3576.  * Generated header for interface: ICreateErrorInfo
  3577.  * at Fri Apr 28 07:02:38 1995
  3578.  * using MIDL 2.00.0102
  3579.  ****************************************/
  3580. /* [local][unique][uuid][object] */ 
  3581.  
  3582.  
  3583.             /* size is 4 */
  3584. typedef /* [unique] */ ICreateErrorInfo __RPC_FAR *LPCREATEERRORINFO;
  3585.  
  3586.  
  3587. EXTERN_C const IID IID_ICreateErrorInfo;
  3588.  
  3589. #if defined(__cplusplus) && !defined(CINTERFACE)
  3590.     
  3591.     interface ICreateErrorInfo : public IUnknown
  3592.     {
  3593.     public:
  3594.         virtual HRESULT __stdcall SetGUID( 
  3595.             /* [in] */ REFGUID rguid) = 0;
  3596.         
  3597.         virtual HRESULT __stdcall SetSource( 
  3598.             /* [in] */ LPOLESTR szSource) = 0;
  3599.         
  3600.         virtual HRESULT __stdcall SetDescription( 
  3601.             /* [in] */ LPOLESTR szDescription) = 0;
  3602.         
  3603.         virtual HRESULT __stdcall SetHelpFile( 
  3604.             /* [in] */ LPOLESTR szHelpFile) = 0;
  3605.         
  3606.         virtual HRESULT __stdcall SetHelpContext( 
  3607.             /* [in] */ DWORD dwHelpContext) = 0;
  3608.         
  3609.     };
  3610.     
  3611. #else     /* C style interface */
  3612.  
  3613.     typedef struct ICreateErrorInfoVtbl
  3614.     {
  3615.         
  3616.         HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  3617.             ICreateErrorInfo __RPC_FAR * This,
  3618.             /* [in] */ REFIID riid,
  3619.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3620.         
  3621.         ULONG ( __stdcall __RPC_FAR *AddRef )( 
  3622.             ICreateErrorInfo __RPC_FAR * This);
  3623.         
  3624.         ULONG ( __stdcall __RPC_FAR *Release )( 
  3625.             ICreateErrorInfo __RPC_FAR * This);
  3626.         
  3627.         HRESULT ( __stdcall __RPC_FAR *SetGUID )( 
  3628.             ICreateErrorInfo __RPC_FAR * This,
  3629.             /* [in] */ REFGUID rguid);
  3630.         
  3631.         HRESULT ( __stdcall __RPC_FAR *SetSource )( 
  3632.             ICreateErrorInfo __RPC_FAR * This,
  3633.             /* [in] */ LPOLESTR szSource);
  3634.         
  3635.         HRESULT ( __stdcall __RPC_FAR *SetDescription )( 
  3636.             ICreateErrorInfo __RPC_FAR * This,
  3637.             /* [in] */ LPOLESTR szDescription);
  3638.         
  3639.         HRESULT ( __stdcall __RPC_FAR *SetHelpFile )( 
  3640.             ICreateErrorInfo __RPC_FAR * This,
  3641.             /* [in] */ LPOLESTR szHelpFile);
  3642.         
  3643.         HRESULT ( __stdcall __RPC_FAR *SetHelpContext )( 
  3644.             ICreateErrorInfo __RPC_FAR * This,
  3645.             /* [in] */ DWORD dwHelpContext);
  3646.         
  3647.     } ICreateErrorInfoVtbl;
  3648.  
  3649.     interface ICreateErrorInfo
  3650.     {
  3651.         CONST_VTBL struct ICreateErrorInfoVtbl __RPC_FAR *lpVtbl;
  3652.     };
  3653.  
  3654.     
  3655.  
  3656. #ifdef COBJMACROS
  3657.  
  3658.  
  3659. #define ICreateErrorInfo_QueryInterface(This,riid,ppvObject)    \
  3660.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3661.  
  3662. #define ICreateErrorInfo_AddRef(This)    \
  3663.     (This)->lpVtbl -> AddRef(This)
  3664.  
  3665. #define ICreateErrorInfo_Release(This)    \
  3666.     (This)->lpVtbl -> Release(This)
  3667.  
  3668.  
  3669. #define ICreateErrorInfo_SetGUID(This,rguid)    \
  3670.     (This)->lpVtbl -> SetGUID(This,rguid)
  3671.  
  3672. #define ICreateErrorInfo_SetSource(This,szSource)    \
  3673.     (This)->lpVtbl -> SetSource(This,szSource)
  3674.  
  3675. #define ICreateErrorInfo_SetDescription(This,szDescription)    \
  3676.     (This)->lpVtbl -> SetDescription(This,szDescription)
  3677.  
  3678. #define ICreateErrorInfo_SetHelpFile(This,szHelpFile)    \
  3679.     (This)->lpVtbl -> SetHelpFile(This,szHelpFile)
  3680.  
  3681. #define ICreateErrorInfo_SetHelpContext(This,dwHelpContext)    \
  3682.     (This)->lpVtbl -> SetHelpContext(This,dwHelpContext)
  3683.  
  3684. #endif /* COBJMACROS */
  3685.  
  3686.  
  3687. #endif     /* C style interface */
  3688.  
  3689. #ifndef NOPROXYSTUB
  3690.  
  3691. HRESULT __stdcall ICreateErrorInfo_SetGUID_Proxy( 
  3692.     ICreateErrorInfo __RPC_FAR * This,
  3693.     /* [in] */ REFGUID rguid);
  3694.  
  3695.  
  3696. void __RPC_STUB ICreateErrorInfo_SetGUID_Stub(
  3697.     IRpcStubBuffer *This,
  3698.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3699.     PRPC_MESSAGE _pRpcMessage,
  3700.     DWORD *_pdwStubPhase);
  3701.  
  3702.  
  3703. HRESULT __stdcall ICreateErrorInfo_SetSource_Proxy( 
  3704.     ICreateErrorInfo __RPC_FAR * This,
  3705.     /* [in] */ LPOLESTR szSource);
  3706.  
  3707.  
  3708. void __RPC_STUB ICreateErrorInfo_SetSource_Stub(
  3709.     IRpcStubBuffer *This,
  3710.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3711.     PRPC_MESSAGE _pRpcMessage,
  3712.     DWORD *_pdwStubPhase);
  3713.  
  3714.  
  3715. HRESULT __stdcall ICreateErrorInfo_SetDescription_Proxy( 
  3716.     ICreateErrorInfo __RPC_FAR * This,
  3717.     /* [in] */ LPOLESTR szDescription);
  3718.  
  3719.  
  3720. void __RPC_STUB ICreateErrorInfo_SetDescription_Stub(
  3721.     IRpcStubBuffer *This,
  3722.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3723.     PRPC_MESSAGE _pRpcMessage,
  3724.     DWORD *_pdwStubPhase);
  3725.  
  3726.  
  3727. HRESULT __stdcall ICreateErrorInfo_SetHelpFile_Proxy( 
  3728.     ICreateErrorInfo __RPC_FAR * This,
  3729.     /* [in] */ LPOLESTR szHelpFile);
  3730.  
  3731.  
  3732. void __RPC_STUB ICreateErrorInfo_SetHelpFile_Stub(
  3733.     IRpcStubBuffer *This,
  3734.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3735.     PRPC_MESSAGE _pRpcMessage,
  3736.     DWORD *_pdwStubPhase);
  3737.  
  3738.  
  3739. HRESULT __stdcall ICreateErrorInfo_SetHelpContext_Proxy( 
  3740.     ICreateErrorInfo __RPC_FAR * This,
  3741.     /* [in] */ DWORD dwHelpContext);
  3742.  
  3743.  
  3744. void __RPC_STUB ICreateErrorInfo_SetHelpContext_Stub(
  3745.     IRpcStubBuffer *This,
  3746.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3747.     PRPC_MESSAGE _pRpcMessage,
  3748.     DWORD *_pdwStubPhase);
  3749.  
  3750. #endif // NOPROXYSTUB
  3751.  
  3752. #endif     /* __ICreateErrorInfo_INTERFACE_DEFINED__ */
  3753.  
  3754.  
  3755. #ifndef __ISupportErrorInfo_INTERFACE_DEFINED__
  3756. #define __ISupportErrorInfo_INTERFACE_DEFINED__
  3757.  
  3758. /****************************************
  3759.  * Generated header for interface: ISupportErrorInfo
  3760.  * at Fri Apr 28 07:02:38 1995
  3761.  * using MIDL 2.00.0102
  3762.  ****************************************/
  3763. /* [local][unique][uuid][object] */ 
  3764.  
  3765.  
  3766.             /* size is 4 */
  3767. typedef /* [unique] */ ISupportErrorInfo __RPC_FAR *LPSUPPORTERRORINFO;
  3768.  
  3769.  
  3770. EXTERN_C const IID IID_ISupportErrorInfo;
  3771.  
  3772. #if defined(__cplusplus) && !defined(CINTERFACE)
  3773.     
  3774.     interface ISupportErrorInfo : public IUnknown
  3775.     {
  3776.     public:
  3777.         virtual HRESULT __stdcall InterfaceSupportsErrorInfo( 
  3778.             /* [in] */ REFIID riid) = 0;
  3779.         
  3780.     };
  3781.     
  3782. #else     /* C style interface */
  3783.  
  3784.     typedef struct ISupportErrorInfoVtbl
  3785.     {
  3786.         
  3787.         HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  3788.             ISupportErrorInfo __RPC_FAR * This,
  3789.             /* [in] */ REFIID riid,
  3790.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3791.         
  3792.         ULONG ( __stdcall __RPC_FAR *AddRef )( 
  3793.             ISupportErrorInfo __RPC_FAR * This);
  3794.         
  3795.         ULONG ( __stdcall __RPC_FAR *Release )( 
  3796.             ISupportErrorInfo __RPC_FAR * This);
  3797.         
  3798.         HRESULT ( __stdcall __RPC_FAR *InterfaceSupportsErrorInfo )( 
  3799.             ISupportErrorInfo __RPC_FAR * This,
  3800.             /* [in] */ REFIID riid);
  3801.         
  3802.     } ISupportErrorInfoVtbl;
  3803.  
  3804.     interface ISupportErrorInfo
  3805.     {
  3806.         CONST_VTBL struct ISupportErrorInfoVtbl __RPC_FAR *lpVtbl;
  3807.     };
  3808.  
  3809.     
  3810.  
  3811. #ifdef COBJMACROS
  3812.  
  3813.  
  3814. #define ISupportErrorInfo_QueryInterface(This,riid,ppvObject)    \
  3815.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3816.  
  3817. #define ISupportErrorInfo_AddRef(This)    \
  3818.     (This)->lpVtbl -> AddRef(This)
  3819.  
  3820. #define ISupportErrorInfo_Release(This)    \
  3821.     (This)->lpVtbl -> Release(This)
  3822.  
  3823.  
  3824. #define ISupportErrorInfo_InterfaceSupportsErrorInfo(This,riid)    \
  3825.     (This)->lpVtbl -> InterfaceSupportsErrorInfo(This,riid)
  3826.  
  3827. #endif /* COBJMACROS */
  3828.  
  3829.  
  3830. #endif     /* C style interface */
  3831.  
  3832. #ifndef NOPROXYSTUB
  3833.  
  3834. HRESULT __stdcall ISupportErrorInfo_InterfaceSupportsErrorInfo_Proxy( 
  3835.     ISupportErrorInfo __RPC_FAR * This,
  3836.     /* [in] */ REFIID riid);
  3837.  
  3838.  
  3839. void __RPC_STUB ISupportErrorInfo_InterfaceSupportsErrorInfo_Stub(
  3840.     IRpcStubBuffer *This,
  3841.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3842.     PRPC_MESSAGE _pRpcMessage,
  3843.     DWORD *_pdwStubPhase);
  3844.  
  3845. #endif // NOPROXYSTUB
  3846.  
  3847. #endif     /* __ISupportErrorInfo_INTERFACE_DEFINED__ */
  3848.  
  3849.  
  3850. /* Additional Prototypes for ALL interfaces */
  3851.  
  3852. /* end of Additional Prototypes */
  3853.  
  3854. #ifdef __cplusplus
  3855. }
  3856. #endif
  3857.  
  3858. #endif
  3859.  
  3860. #if defined(__TOPLEVEL_OAIDL_H_)
  3861. #undef __TOPLEVEL_NEXT_COMMON_INCLUDE__
  3862. #undef __TOPLEVEL_OAIDL_H_
  3863. #include <next_common_undefines.h>
  3864. #endif /* __TOPLEVEL_OAIDL_H_ */
  3865.