home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / sdk / winh / oaidl.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-07-11  |  113.5 KB  |  3,827 lines

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