Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 #ifndef _ADOCTINT_H_
      7 #define _ADOCTINT_H_
      8 
      9 #include <tchar.h>
     10 
     11 #ifndef __REQUIRED_RPCNDR_H_VERSION__
     12 #define __REQUIRED_RPCNDR_H_VERSION__ 440
     13 #endif
     14 #include "rpc.h"
     15 #include "rpcndr.h"
     16 #ifndef __m_adocat_h__
     17 #define __m_adocat_h__
     18 
     19 #ifndef ___ADOCollection_FWD_DEFINED__
     20 #define ___ADOCollection_FWD_DEFINED__
     21 typedef struct _ADOADOCollection _ADOCollection;
     22 typedef struct _ADOADOCollection _ADOADOCollection;
     23 #endif
     24 #ifndef ___ADODynaCollection_FWD_DEFINED__
     25 #define ___ADODynaCollection_FWD_DEFINED__
     26 typedef struct _ADODynaADOCollection _ADODynaCollection;
     27 #endif
     28 #ifndef ___Catalog_FWD_DEFINED__
     29 #define ___Catalog_FWD_DEFINED__
     30 typedef struct _ADOCatalog _Catalog;
     31 #endif
     32 #ifndef ___Table_FWD_DEFINED__
     33 #define ___Table_FWD_DEFINED__
     34 typedef struct _ADOTable _Table;
     35 #endif
     36 #ifndef ___Group25_FWD_DEFINED__
     37 #define ___Group25_FWD_DEFINED__
     38 typedef struct _Group25 _Group25;
     39 #endif
     40 #ifndef ___Group_FWD_DEFINED__
     41 #define ___Group_FWD_DEFINED__
     42 typedef struct _ADOGroup _Group;
     43 #endif
     44 #ifndef ___User25_FWD_DEFINED__
     45 #define ___User25_FWD_DEFINED__
     46 typedef struct _User25 _User25;
     47 #endif
     48 #ifndef ___User_FWD_DEFINED__
     49 #define ___User_FWD_DEFINED__
     50 typedef struct _ADOUser _User;
     51 #endif
     52 #ifndef ___Column_FWD_DEFINED__
     53 #define ___Column_FWD_DEFINED__
     54 typedef struct _ADOColumn _Column;
     55 #endif
     56 #ifndef ___Index_FWD_DEFINED__
     57 #define ___Index_FWD_DEFINED__
     58 typedef struct _ADOIndex _Index;
     59 #endif
     60 #ifndef ___Key_FWD_DEFINED__
     61 #define ___Key_FWD_DEFINED__
     62 typedef struct _ADOKey _Key;
     63 #endif
     64 #ifndef __View_FWD_DEFINED__
     65 #define __View_FWD_DEFINED__
     66 typedef struct ADOView View;
     67 #endif
     68 #ifndef __Procedure_FWD_DEFINED__
     69 #define __Procedure_FWD_DEFINED__
     70 typedef struct ADOProcedure Procedure;
     71 #endif
     72 #ifndef __Catalog_FWD_DEFINED__
     73 #define __Catalog_FWD_DEFINED__
     74 #ifdef __cplusplus
     75 typedef class ADOCatalog Catalog;
     76 #else
     77 typedef struct ADOCatalog Catalog;
     78 #endif
     79 #endif
     80 #ifndef __Table_FWD_DEFINED__
     81 #define __Table_FWD_DEFINED__
     82 #ifdef __cplusplus
     83 typedef class ADOTable Table;
     84 #else
     85 typedef struct ADOTable Table;
     86 #endif
     87 #endif
     88 #ifndef __Property_FWD_DEFINED__
     89 #define __Property_FWD_DEFINED__
     90 typedef struct ADOProperty Property;
     91 #endif
     92 #ifndef __Group_FWD_DEFINED__
     93 #define __Group_FWD_DEFINED__
     94 #ifdef __cplusplus
     95 typedef class ADOGroup Group;
     96 #else
     97 typedef struct ADOGroup Group;
     98 #endif
     99 #endif
    100 #ifndef __User_FWD_DEFINED__
    101 #define __User_FWD_DEFINED__
    102 #ifdef __cplusplus
    103 typedef class ADOUser User;
    104 #else
    105 typedef struct ADOUser User;
    106 #endif
    107 #endif
    108 #ifndef __Column_FWD_DEFINED__
    109 #define __Column_FWD_DEFINED__
    110 #ifdef __cplusplus
    111 typedef class ADOColumn Column;
    112 #else
    113 typedef struct ADOColumn Column;
    114 #endif
    115 #endif
    116 #ifndef __Index_FWD_DEFINED__
    117 #define __Index_FWD_DEFINED__
    118 #ifdef __cplusplus
    119 typedef class ADOIndex Index;
    120 #else
    121 typedef struct ADOIndex Index;
    122 #endif
    123 #endif
    124 #ifndef __Key_FWD_DEFINED__
    125 #define __Key_FWD_DEFINED__
    126 #ifdef __cplusplus
    127 typedef class ADOKey Key;
    128 #else
    129 typedef struct ADOKey Key;
    130 #endif
    131 #endif
    132 #ifndef __Tables_FWD_DEFINED__
    133 #define __Tables_FWD_DEFINED__
    134 typedef struct ADOTables Tables;
    135 #endif
    136 #ifndef __Columns_FWD_DEFINED__
    137 #define __Columns_FWD_DEFINED__
    138 typedef struct ADOColumns Columns;
    139 #endif
    140 #ifndef __Procedures_FWD_DEFINED__
    141 #define __Procedures_FWD_DEFINED__
    142 typedef struct ADOProcedures Procedures;
    143 #endif
    144 #ifndef __Views_FWD_DEFINED__
    145 #define __Views_FWD_DEFINED__
    146 typedef struct ADOViews Views;
    147 #endif
    148 #ifndef __Indexes_FWD_DEFINED__
    149 #define __Indexes_FWD_DEFINED__
    150 typedef struct ADOIndexes Indexes;
    151 #endif
    152 #ifndef __Keys_FWD_DEFINED__
    153 #define __Keys_FWD_DEFINED__
    154 typedef struct ADOKeys Keys;
    155 #endif
    156 #ifndef __Users_FWD_DEFINED__
    157 #define __Users_FWD_DEFINED__
    158 typedef struct ADOUsers Users;
    159 #endif
    160 #ifndef __Groups_FWD_DEFINED__
    161 #define __Groups_FWD_DEFINED__
    162 typedef struct ADOGroups Groups;
    163 #endif
    164 #ifndef __Properties_FWD_DEFINED__
    165 #define __Properties_FWD_DEFINED__
    166 typedef struct ADOProperties Properties;
    167 #endif
    168 
    169 #include "oaidl.h"
    170 #include "ocidl.h"
    171 #ifdef __cplusplus
    172 extern "C"{
    173 #endif
    174 
    175 #ifndef __MIDL_user_allocate_free_DEFINED__
    176 #define __MIDL_user_allocate_free_DEFINED__
    177   void *__RPC_API MIDL_user_allocate(size_t);
    178   void __RPC_API MIDL_user_free(void *);
    179 #endif
    180 
    181   typedef enum RuleEnum {
    182     adRINone = 0,adRICascade = 1,adRISetNull = 2,adRISetDefault = 3
    183   } RuleEnum;
    184 
    185   typedef enum KeyTypeEnum {
    186     adKeyPrimary = 1,adKeyForeign = 2,adKeyUnique = 3
    187   } KeyTypeEnum;
    188 
    189   typedef enum ActionEnum {
    190     adAccessGrant = 1,adAccessSet = 2,adAccessDeny = 3,adAccessRevoke = 4
    191   } ActionEnum;
    192 
    193   typedef enum ColumnAttributesEnum {
    194     adColFixed = 1,adColNullable = 2
    195   } ColumnAttributesEnum;
    196 
    197   typedef enum SortOrderEnum {
    198     adSortAscending = 1,adSortDescending = 2
    199   } SortOrderEnum;
    200 
    201   typedef enum RightsEnum {
    202     adRightNone = 0,adRightDrop = 0x100,adRightExclusive = 0x200,adRightReadDesign = 0x400,adRightWriteDesign = 0x800,
    203     adRightWithGrant = 0x1000,adRightReference = 0x2000,adRightCreate = 0x4000,adRightInsert = 0x8000,adRightDelete = 0x10000,
    204     adRightReadPermissions = 0x20000,adRightWritePermissions = 0x40000,adRightWriteOwner = 0x80000,adRightMaximumAllowed = 0x2000000,
    205     adRightFull = 0x10000000,adRightExecute = 0x20000000,adRightUpdate = 0x40000000,adRightRead = 0x80000000
    206   } RightsEnum;
    207 
    208 #ifdef _ADOINT_H_
    209   typedef class dummy dummy;
    210 #else
    211   typedef enum DataTypeEnum {
    212     adEmpty = 0,adTinyInt = 16,adSmallInt = 2,adInteger = 3,adBigInt = 20,adUnsignedTinyInt = 17,adUnsignedSmallInt = 18,adUnsignedInt = 19,
    213     adUnsignedBigInt = 21,adSingle = 4,adDouble = 5,adCurrency = 6,adDecimal = 14,adNumeric = 131,adBoolean = 11,adError = 10,adUserDefined = 132,
    214     adVariant = 12,adIDispatch = 9,adIUnknown = 13,adGUID = 72,adDate = 7,adDBDate = 133,adDBTime = 134,adDBTimeStamp = 135,adBSTR = 8,adChar = 129,
    215     adVarChar = 200,adLongVarChar = 201,adWChar = 130,adVarWChar = 202,adLongVarWChar = 203,adBinary = 128,adVarBinary = 204,adLongVarBinary = 205,
    216     adChapter = 136,adFileTime = 64,adPropVariant = 138,adVarNumeric = 139
    217   } DataTypeEnum;
    218 #endif
    219 
    220   typedef enum AllowNullsEnum {
    221     adIndexNullsAllow = 0,adIndexNullsDisallow = 1,adIndexNullsIgnore = 2,adIndexNullsIgnoreAny = 4
    222   } AllowNullsEnum;
    223 
    224   typedef enum ObjectTypeEnum {
    225     adPermObjProviderSpecific = -1,adPermObjTable = 1,adPermObjColumn = 2,adPermObjDatabase = 3,adPermObjProcedure = 4,adPermObjView = 5
    226   } ObjectTypeEnum;
    227 
    228   typedef enum InheritTypeEnum {
    229     adInheritNone = 0,adInheritObjects = 1,adInheritContainers = 2,adInheritBoth = 3,adInheritNoPropogate = 4
    230   } InheritTypeEnum;
    231 
    232   extern RPC_IF_HANDLE __MIDL_itf_AdoCat_0000_v0_0_c_ifspec;
    233   extern RPC_IF_HANDLE __MIDL_itf_AdoCat_0000_v0_0_s_ifspec;
    234 #ifndef __ADOX_LIBRARY_DEFINED__
    235 #define __ADOX_LIBRARY_DEFINED__
    236 
    237   EXTERN_C const IID LIBID_ADOX;
    238 #ifndef ___ADOCollection_INTERFACE_DEFINED__
    239 #define ___ADOCollection_INTERFACE_DEFINED__
    240   EXTERN_C const IID IID__ADOCollection;
    241 #if defined(__cplusplus) && !defined(CINTERFACE)
    242   struct _ADOADOCollection : public IDispatch {
    243   public:
    244     virtual HRESULT WINAPI get_Count(__LONG32 *c) = 0;
    245     virtual HRESULT WINAPI _NewEnum(IUnknown **ppvObject) = 0;
    246     virtual HRESULT WINAPI Refresh(void) = 0;
    247   };
    248 #else
    249   typedef struct _ADOCollectionVtbl {
    250     BEGIN_INTERFACE
    251       HRESULT (WINAPI *QueryInterface)(_ADOADOCollection *This,REFIID riid,void **ppvObject);
    252       ULONG (WINAPI *AddRef)(_ADOADOCollection *This);
    253       ULONG (WINAPI *Release)(_ADOADOCollection *This);
    254       HRESULT (WINAPI *GetTypeInfoCount)(_ADOADOCollection *This,UINT *pctinfo);
    255       HRESULT (WINAPI *GetTypeInfo)(_ADOADOCollection *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    256       HRESULT (WINAPI *GetIDsOfNames)(_ADOADOCollection *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    257       HRESULT (WINAPI *Invoke)(_ADOADOCollection *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    258       HRESULT (WINAPI *get_Count)(_ADOADOCollection *This,__LONG32 *c);
    259       HRESULT (WINAPI *_NewEnum)(_ADOADOCollection *This,IUnknown **ppvObject);
    260       HRESULT (WINAPI *Refresh)(_ADOADOCollection *This);
    261     END_INTERFACE
    262   } _ADOCollectionVtbl;
    263   struct _ADOCollection {
    264     CONST_VTBL struct _ADOCollectionVtbl *lpVtbl;
    265   };
    266 #ifdef COBJMACROS
    267 #define _ADOCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    268 #define _ADOCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
    269 #define _ADOCollection_Release(This) (This)->lpVtbl->Release(This)
    270 #define _ADOCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    271 #define _ADOCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    272 #define _ADOCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    273 #define _ADOCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    274 #define _Collection_get_Count(This,c) (This)->lpVtbl->get_Count(This,c)
    275 #define _ADOCollection__NewEnum(This,ppvObject) (This)->lpVtbl->_NewEnum(This,ppvObject)
    276 #define _ADOCollection_Refresh(This) (This)->lpVtbl->Refresh(This)
    277 #endif
    278 #endif
    279   HRESULT WINAPI _Collection_get_Count_Proxy(_ADOADOCollection *This,__LONG32 *c);
    280   void __RPC_STUB _Collection_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    281   HRESULT WINAPI _ADOCollection__NewEnum_Proxy(_ADOADOCollection *This,IUnknown **ppvObject);
    282   void __RPC_STUB _ADOCollection__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    283   HRESULT WINAPI _ADOCollection_Refresh_Proxy(_ADOADOCollection *This);
    284   void __RPC_STUB _ADOCollection_Refresh_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    285 #endif
    286 
    287 #ifndef ___ADODynaCollection_INTERFACE_DEFINED__
    288 #define ___ADODynaCollection_INTERFACE_DEFINED__
    289   EXTERN_C const IID IID__ADODynaCollection;
    290 #if defined(__cplusplus) && !defined(CINTERFACE)
    291   struct _ADODynaADOCollection : public _ADOCollection {
    292   public:
    293     virtual HRESULT WINAPI Append(IDispatch *Object) = 0;
    294     virtual HRESULT WINAPI Delete(VARIANT Item) = 0;
    295   };
    296 #else
    297   typedef struct _ADODynaCollectionVtbl {
    298     BEGIN_INTERFACE
    299       HRESULT (WINAPI *QueryInterface)(_ADODynaADOCollection *This,REFIID riid,void **ppvObject);
    300       ULONG (WINAPI *AddRef)(_ADODynaADOCollection *This);
    301       ULONG (WINAPI *Release)(_ADODynaADOCollection *This);
    302       HRESULT (WINAPI *GetTypeInfoCount)(_ADODynaADOCollection *This,UINT *pctinfo);
    303       HRESULT (WINAPI *GetTypeInfo)(_ADODynaADOCollection *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    304       HRESULT (WINAPI *GetIDsOfNames)(_ADODynaADOCollection *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    305       HRESULT (WINAPI *Invoke)(_ADODynaADOCollection *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    306       HRESULT (WINAPI *get_Count)(_ADODynaADOCollection *This,__LONG32 *c);
    307       HRESULT (WINAPI *_NewEnum)(_ADODynaADOCollection *This,IUnknown **ppvObject);
    308       HRESULT (WINAPI *Refresh)(_ADODynaADOCollection *This);
    309       HRESULT (WINAPI *Append)(_ADODynaADOCollection *This,IDispatch *Object);
    310       HRESULT (WINAPI *Delete)(_ADODynaADOCollection *This,VARIANT Item);
    311     END_INTERFACE
    312   } _ADODynaCollectionVtbl;
    313   struct _ADODynaCollection {
    314     CONST_VTBL struct _ADODynaCollectionVtbl *lpVtbl;
    315   };
    316 #ifdef COBJMACROS
    317 #define _ADODynaCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    318 #define _ADODynaCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
    319 #define _ADODynaCollection_Release(This) (This)->lpVtbl->Release(This)
    320 #define _ADODynaCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    321 #define _ADODynaCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    322 #define _ADODynaCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    323 #define _ADODynaCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    324 #define _DynaCollection_get_Count(This,c) (This)->lpVtbl->get_Count(This,c)
    325 #define _ADODynaCollection__NewEnum(This,ppvObject) (This)->lpVtbl->_NewEnum(This,ppvObject)
    326 #define _ADODynaCollection_Refresh(This) (This)->lpVtbl->Refresh(This)
    327 #define _ADODynaCollection_Append(This,Object) (This)->lpVtbl->Append(This,Object)
    328 #define _ADODynaCollection_Delete(This,Item) (This)->lpVtbl->Delete(This,Item)
    329 #endif
    330 #endif
    331   HRESULT WINAPI _ADODynaCollection_Append_Proxy(_ADODynaADOCollection *This,IDispatch *Object);
    332   void __RPC_STUB _ADODynaCollection_Append_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    333   HRESULT WINAPI _ADODynaCollection_Delete_Proxy(_ADODynaADOCollection *This,VARIANT Item);
    334   void __RPC_STUB _ADODynaCollection_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    335 #endif
    336 
    337 #ifndef ___Catalog_INTERFACE_DEFINED__
    338 #define ___Catalog_INTERFACE_DEFINED__
    339   EXTERN_C const IID IID__Catalog;
    340 #if defined(__cplusplus) && !defined(CINTERFACE)
    341   struct _ADOCatalog : public IDispatch {
    342   public:
    343     virtual HRESULT WINAPI get_Tables(ADOTables **ppvObject) = 0;
    344     virtual HRESULT WINAPI get_ActiveConnection(VARIANT *pVal) = 0;
    345     virtual HRESULT WINAPI put_ActiveConnection(VARIANT newVal) = 0;
    346     virtual HRESULT WINAPI putref_ActiveConnection(IDispatch *pCon) = 0;
    347     virtual HRESULT WINAPI get_Procedures(ADOProcedures **ppvObject) = 0;
    348     virtual HRESULT WINAPI get_Views(ADOViews **ppvObject) = 0;
    349     virtual HRESULT WINAPI get_Groups(ADOGroups **ppvObject) = 0;
    350     virtual HRESULT WINAPI get_Users(ADOUsers **ppvObject) = 0;
    351     virtual HRESULT WINAPI Create(BSTR ConnectString,VARIANT *Connection) = 0;
    352     virtual HRESULT WINAPI GetObjectOwner(BSTR ObjectName,ObjectTypeEnum ObjectType,VARIANT ObjectTypeId,BSTR *OwnerName) = 0;
    353     virtual HRESULT WINAPI SetObjectOwner(BSTR ObjectName,ObjectTypeEnum ObjectType,BSTR UserName,VARIANT ObjectTypeId) = 0;
    354   };
    355 #else
    356   typedef struct _CatalogVtbl {
    357     BEGIN_INTERFACE
    358       HRESULT (WINAPI *QueryInterface)(_ADOCatalog *This,REFIID riid,void **ppvObject);
    359       ULONG (WINAPI *AddRef)(_ADOCatalog *This);
    360       ULONG (WINAPI *Release)(_ADOCatalog *This);
    361       HRESULT (WINAPI *GetTypeInfoCount)(_ADOCatalog *This,UINT *pctinfo);
    362       HRESULT (WINAPI *GetTypeInfo)(_ADOCatalog *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    363       HRESULT (WINAPI *GetIDsOfNames)(_ADOCatalog *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    364       HRESULT (WINAPI *Invoke)(_ADOCatalog *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    365       HRESULT (WINAPI *get_Tables)(_ADOCatalog *This,ADOTables **ppvObject);
    366       HRESULT (WINAPI *get_ActiveConnection)(_ADOCatalog *This,VARIANT *pVal);
    367       HRESULT (WINAPI *put_ActiveConnection)(_ADOCatalog *This,VARIANT newVal);
    368       HRESULT (WINAPI *putref_ActiveConnection)(_ADOCatalog *This,IDispatch *pCon);
    369       HRESULT (WINAPI *get_Procedures)(_ADOCatalog *This,ADOProcedures **ppvObject);
    370       HRESULT (WINAPI *get_Views)(_ADOCatalog *This,ADOViews **ppvObject);
    371       HRESULT (WINAPI *get_Groups)(_ADOCatalog *This,ADOGroups **ppvObject);
    372       HRESULT (WINAPI *get_Users)(_ADOCatalog *This,ADOUsers **ppvObject);
    373       HRESULT (WINAPI *Create)(_ADOCatalog *This,BSTR ConnectString,VARIANT *Connection);
    374 
    375       HRESULT (WINAPI *GetObjectOwner)(_ADOCatalog *This,BSTR ObjectName,ObjectTypeEnum ObjectType,VARIANT ObjectTypeId,BSTR *OwnerName);
    376       HRESULT (WINAPI *SetObjectOwner)(_ADOCatalog *This,BSTR ObjectName,ObjectTypeEnum ObjectType,BSTR UserName,VARIANT ObjectTypeId);
    377     END_INTERFACE
    378   } _CatalogVtbl;
    379   struct _Catalog {
    380     CONST_VTBL struct _CatalogVtbl *lpVtbl;
    381   };
    382 #ifdef COBJMACROS
    383 #define _Catalog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    384 #define _Catalog_AddRef(This) (This)->lpVtbl->AddRef(This)
    385 #define _Catalog_Release(This) (This)->lpVtbl->Release(This)
    386 #define _Catalog_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    387 #define _Catalog_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    388 #define _Catalog_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    389 #define _Catalog_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    390 #define _Catalog_get_Tables(This,ppvObject) (This)->lpVtbl->get_Tables(This,ppvObject)
    391 #define _Catalog_get_ActiveConnection(This,pVal) (This)->lpVtbl->get_ActiveConnection(This,pVal)
    392 #define _Catalog_put_ActiveConnection(This,newVal) (This)->lpVtbl->put_ActiveConnection(This,newVal)
    393 #define _Catalog_putref_ActiveConnection(This,pCon) (This)->lpVtbl->putref_ActiveConnection(This,pCon)
    394 #define _Catalog_get_Procedures(This,ppvObject) (This)->lpVtbl->get_Procedures(This,ppvObject)
    395 #define _Catalog_get_Views(This,ppvObject) (This)->lpVtbl->get_Views(This,ppvObject)
    396 #define _Catalog_get_Groups(This,ppvObject) (This)->lpVtbl->get_Groups(This,ppvObject)
    397 #define _Catalog_get_Users(This,ppvObject) (This)->lpVtbl->get_Users(This,ppvObject)
    398 #define _Catalog_Create(This,ConnectString,Connection) (This)->lpVtbl->Create(This,ConnectString,Connection)
    399 #define _Catalog_GetObjectOwner(This,ObjectName,ObjectType,ObjectTypeId,OwnerName) (This)->lpVtbl->GetObjectOwner(This,ObjectName,ObjectType,ObjectTypeId,OwnerName)
    400 #define _Catalog_SetObjectOwner(This,ObjectName,ObjectType,UserName,ObjectTypeId) (This)->lpVtbl->SetObjectOwner(This,ObjectName,ObjectType,UserName,ObjectTypeId)
    401 #endif
    402 #endif
    403   HRESULT WINAPI _Catalog_get_Tables_Proxy(_ADOCatalog *This,ADOTables **ppvObject);
    404   void __RPC_STUB _Catalog_get_Tables_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    405   HRESULT WINAPI _Catalog_get_ActiveConnection_Proxy(_ADOCatalog *This,VARIANT *pVal);
    406   void __RPC_STUB _Catalog_get_ActiveConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    407   HRESULT WINAPI _Catalog_put_ActiveConnection_Proxy(_ADOCatalog *This,VARIANT newVal);
    408   void __RPC_STUB _Catalog_put_ActiveConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    409   HRESULT WINAPI _Catalog_putref_ActiveConnection_Proxy(_ADOCatalog *This,IDispatch *pCon);
    410   void __RPC_STUB _Catalog_putref_ActiveConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    411   HRESULT WINAPI _Catalog_get_Procedures_Proxy(_ADOCatalog *This,ADOProcedures **ppvObject);
    412   void __RPC_STUB _Catalog_get_Procedures_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    413   HRESULT WINAPI _Catalog_get_Views_Proxy(_ADOCatalog *This,ADOViews **ppvObject);
    414   void __RPC_STUB _Catalog_get_Views_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    415   HRESULT WINAPI _Catalog_get_Groups_Proxy(_ADOCatalog *This,ADOGroups **ppvObject);
    416   void __RPC_STUB _Catalog_get_Groups_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    417   HRESULT WINAPI _Catalog_get_Users_Proxy(_ADOCatalog *This,ADOUsers **ppvObject);
    418   void __RPC_STUB _Catalog_get_Users_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    419   HRESULT WINAPI _Catalog_Create_Proxy(_ADOCatalog *This,BSTR ConnectString,VARIANT *Connection);
    420   void __RPC_STUB _Catalog_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    421   HRESULT WINAPI _Catalog_GetObjectOwner_Proxy(_ADOCatalog *This,BSTR ObjectName,ObjectTypeEnum ObjectType,VARIANT ObjectTypeId,BSTR *OwnerName);
    422   void __RPC_STUB _Catalog_GetObjectOwner_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    423   HRESULT WINAPI _Catalog_SetObjectOwner_Proxy(_ADOCatalog *This,BSTR ObjectName,ObjectTypeEnum ObjectType,BSTR UserName,VARIANT ObjectTypeId);
    424   void __RPC_STUB _Catalog_SetObjectOwner_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    425 #endif
    426 
    427 #ifndef ___Table_INTERFACE_DEFINED__
    428 #define ___Table_INTERFACE_DEFINED__
    429   EXTERN_C const IID IID__Table;
    430 #if defined(__cplusplus) && !defined(CINTERFACE)
    431   struct _ADOTable : public IDispatch {
    432   public:
    433     virtual HRESULT WINAPI get_Columns(ADOColumns **ppvObject) = 0;
    434     virtual HRESULT WINAPI get_Name(BSTR *pVal) = 0;
    435     virtual HRESULT WINAPI put_Name(BSTR newVal) = 0;
    436     virtual HRESULT WINAPI get_Type(BSTR *pVal) = 0;
    437     virtual HRESULT WINAPI get_Indexes(ADOIndexes **ppvObject) = 0;
    438     virtual HRESULT WINAPI get_Keys(ADOKeys **ppvObject) = 0;
    439     virtual HRESULT WINAPI get_Properties(ADOProperties **ppvObject) = 0;
    440     virtual HRESULT WINAPI get_DateCreated(VARIANT *pVal) = 0;
    441     virtual HRESULT WINAPI get_DateModified(VARIANT *pVal) = 0;
    442     virtual HRESULT WINAPI get_ParentCatalog(_ADOCatalog **ppvObject) = 0;
    443     virtual HRESULT WINAPI put_ParentCatalog(_ADOCatalog *ppvObject) = 0;
    444     virtual HRESULT WINAPI putref_ParentCatalog(_ADOCatalog *ppvObject) = 0;
    445   };
    446 #else
    447   typedef struct _TableVtbl {
    448     BEGIN_INTERFACE
    449       HRESULT (WINAPI *QueryInterface)(_ADOTable *This,REFIID riid,void **ppvObject);
    450       ULONG (WINAPI *AddRef)(_ADOTable *This);
    451       ULONG (WINAPI *Release)(_ADOTable *This);
    452       HRESULT (WINAPI *GetTypeInfoCount)(_ADOTable *This,UINT *pctinfo);
    453       HRESULT (WINAPI *GetTypeInfo)(_ADOTable *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    454       HRESULT (WINAPI *GetIDsOfNames)(_ADOTable *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    455       HRESULT (WINAPI *Invoke)(_ADOTable *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    456       HRESULT (WINAPI *get_Columns)(_ADOTable *This,ADOColumns **ppvObject);
    457       HRESULT (WINAPI *get_Name)(_ADOTable *This,BSTR *pVal);
    458       HRESULT (WINAPI *put_Name)(_ADOTable *This,BSTR newVal);
    459       HRESULT (WINAPI *get_Type)(_ADOTable *This,BSTR *pVal);
    460       HRESULT (WINAPI *get_Indexes)(_ADOTable *This,ADOIndexes **ppvObject);
    461       HRESULT (WINAPI *get_Keys)(_ADOTable *This,ADOKeys **ppvObject);
    462       HRESULT (WINAPI *get_Properties)(_ADOTable *This,ADOProperties **ppvObject);
    463       HRESULT (WINAPI *get_DateCreated)(_ADOTable *This,VARIANT *pVal);
    464       HRESULT (WINAPI *get_DateModified)(_ADOTable *This,VARIANT *pVal);
    465       HRESULT (WINAPI *get_ParentCatalog)(_ADOTable *This,_ADOCatalog **ppvObject);
    466       HRESULT (WINAPI *put_ParentCatalog)(_ADOTable *This,_ADOCatalog *ppvObject);
    467       HRESULT (WINAPI *putref_ParentADOCatalog)(_ADOTable *This,_ADOCatalog *ppvObject);
    468     END_INTERFACE
    469   } _TableVtbl;
    470   struct _Table {
    471     CONST_VTBL struct _TableVtbl *lpVtbl;
    472   };
    473 #ifdef COBJMACROS
    474 #define _Table_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    475 #define _Table_AddRef(This) (This)->lpVtbl->AddRef(This)
    476 #define _Table_Release(This) (This)->lpVtbl->Release(This)
    477 #define _Table_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    478 #define _Table_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    479 #define _Table_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    480 #define _Table_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    481 #define _Table_get_Columns(This,ppvObject) (This)->lpVtbl->get_Columns(This,ppvObject)
    482 #define _Table_get_Name(This,pVal) (This)->lpVtbl->get_Name(This,pVal)
    483 #define _Table_put_Name(This,newVal) (This)->lpVtbl->put_Name(This,newVal)
    484 #define _Table_get_Type(This,pVal) (This)->lpVtbl->get_Type(This,pVal)
    485 #define _Table_get_Indexes(This,ppvObject) (This)->lpVtbl->get_Indexes(This,ppvObject)
    486 #define _Table_get_Keys(This,ppvObject) (This)->lpVtbl->get_Keys(This,ppvObject)
    487 #define _Table_get_Properties(This,ppvObject) (This)->lpVtbl->get_Properties(This,ppvObject)
    488 #define _Table_get_DateCreated(This,pVal) (This)->lpVtbl->get_DateCreated(This,pVal)
    489 #define _Table_get_DateModified(This,pVal) (This)->lpVtbl->get_DateModified(This,pVal)
    490 #define _Table_get_ParentCatalog(This,ppvObject) (This)->lpVtbl->get_ParentCatalog(This,ppvObject)
    491 #define _Table_put_ParentCatalog(This,ppvObject) (This)->lpVtbl->put_ParentCatalog(This,ppvObject)
    492 #define _Table_putref_ParentCatalog(This,ppvObject) (This)->lpVtbl->putref_ParentCatalog(This,ppvObject)
    493 #endif
    494 #endif
    495   HRESULT WINAPI _Table_get_Columns_Proxy(_ADOTable *This,ADOColumns **ppvObject);
    496   void __RPC_STUB _Table_get_Columns_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    497   HRESULT WINAPI _Table_get_Name_Proxy(_ADOTable *This,BSTR *pVal);
    498   void __RPC_STUB _Table_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    499   HRESULT WINAPI _Table_put_Name_Proxy(_ADOTable *This,BSTR newVal);
    500   void __RPC_STUB _Table_put_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    501   HRESULT WINAPI _Table_get_Type_Proxy(_ADOTable *This,BSTR *pVal);
    502   void __RPC_STUB _Table_get_Type_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    503   HRESULT WINAPI _Table_get_Indexes_Proxy(_ADOTable *This,ADOIndexes **ppvObject);
    504   void __RPC_STUB _Table_get_Indexes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    505   HRESULT WINAPI _Table_get_Keys_Proxy(_ADOTable *This,ADOKeys **ppvObject);
    506   void __RPC_STUB _Table_get_Keys_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    507   HRESULT WINAPI _Table_get_Properties_Proxy(_ADOTable *This,ADOProperties **ppvObject);
    508   void __RPC_STUB _Table_get_Properties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    509   HRESULT WINAPI _Table_get_DateCreated_Proxy(_ADOTable *This,VARIANT *pVal);
    510   void __RPC_STUB _Table_get_DateCreated_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    511   HRESULT WINAPI _Table_get_DateModified_Proxy(_ADOTable *This,VARIANT *pVal);
    512   void __RPC_STUB _Table_get_DateModified_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    513   HRESULT WINAPI _Table_get_ParentCatalog_Proxy(_ADOTable *This,_ADOCatalog **ppvObject);
    514   void __RPC_STUB _Table_get_ParentCatalog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    515   HRESULT WINAPI _Table_put_ParentCatalog_Proxy(_ADOTable *This,_ADOCatalog *ppvObject);
    516   void __RPC_STUB _Table_put_ParentCatalog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    517   HRESULT WINAPI _Table_putref_ParentCatalog_Proxy(_ADOTable *This,_ADOCatalog *ppvObject);
    518   void __RPC_STUB _Table_putref_ParentCatalog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    519 #endif
    520 
    521 #ifndef ___Group25_INTERFACE_DEFINED__
    522 #define ___Group25_INTERFACE_DEFINED__
    523   EXTERN_C const IID IID__Group25;
    524 #if defined(__cplusplus) && !defined(CINTERFACE)
    525   struct _Group25 : public IDispatch {
    526   public:
    527     virtual HRESULT WINAPI get_Name(BSTR *pVal) = 0;
    528     virtual HRESULT WINAPI put_Name(BSTR newVal) = 0;
    529     virtual HRESULT WINAPI GetPermissions(VARIANT Name,ObjectTypeEnum ObjectType,VARIANT ObjectTypeId,RightsEnum *Rights) = 0;
    530     virtual HRESULT WINAPI SetPermissions(VARIANT Name,ObjectTypeEnum ObjectType,ActionEnum Action,RightsEnum Rights,InheritTypeEnum Inherit,VARIANT ObjectTypeId) = 0;
    531     virtual HRESULT WINAPI get_Users(ADOUsers **ppvObject) = 0;
    532   };
    533 #else
    534   typedef struct _Group25Vtbl {
    535     BEGIN_INTERFACE
    536       HRESULT (WINAPI *QueryInterface)(_Group25 *This,REFIID riid,void **ppvObject);
    537       ULONG (WINAPI *AddRef)(_Group25 *This);
    538       ULONG (WINAPI *Release)(_Group25 *This);
    539       HRESULT (WINAPI *GetTypeInfoCount)(_Group25 *This,UINT *pctinfo);
    540       HRESULT (WINAPI *GetTypeInfo)(_Group25 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    541       HRESULT (WINAPI *GetIDsOfNames)(_Group25 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    542       HRESULT (WINAPI *Invoke)(_Group25 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    543       HRESULT (WINAPI *get_Name)(_Group25 *This,BSTR *pVal);
    544       HRESULT (WINAPI *put_Name)(_Group25 *This,BSTR newVal);
    545       HRESULT (WINAPI *GetPermissions)(_Group25 *This,VARIANT Name,ObjectTypeEnum ObjectType,VARIANT ObjectTypeId,RightsEnum *Rights);
    546       HRESULT (WINAPI *SetPermissions)(_Group25 *This,VARIANT Name,ObjectTypeEnum ObjectType,ActionEnum Action,RightsEnum Rights,InheritTypeEnum Inherit,VARIANT ObjectTypeId);
    547       HRESULT (WINAPI *get_Users)(_Group25 *This,ADOUsers **ppvObject);
    548     END_INTERFACE
    549   } _Group25Vtbl;
    550   struct _Group25 {
    551     CONST_VTBL struct _Group25Vtbl *lpVtbl;
    552   };
    553 #ifdef COBJMACROS
    554 #define _Group25_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    555 #define _Group25_AddRef(This) (This)->lpVtbl->AddRef(This)
    556 #define _Group25_Release(This) (This)->lpVtbl->Release(This)
    557 #define _Group25_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    558 #define _Group25_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    559 #define _Group25_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    560 #define _Group25_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    561 #define _Group25_get_Name(This,pVal) (This)->lpVtbl->get_Name(This,pVal)
    562 #define _Group25_put_Name(This,newVal) (This)->lpVtbl->put_Name(This,newVal)
    563 #define _Group25_GetPermissions(This,Name,ObjectType,ObjectTypeId,Rights) (This)->lpVtbl->GetPermissions(This,Name,ObjectType,ObjectTypeId,Rights)
    564 #define _Group25_SetPermissions(This,Name,ObjectType,Action,Rights,Inherit,ObjectTypeId) (This)->lpVtbl->SetPermissions(This,Name,ObjectType,Action,Rights,Inherit,ObjectTypeId)
    565 #define _Group25_get_Users(This,ppvObject) (This)->lpVtbl->get_Users(This,ppvObject)
    566 #endif
    567 #endif
    568   HRESULT WINAPI _Group25_get_Name_Proxy(_Group25 *This,BSTR *pVal);
    569   void __RPC_STUB _Group25_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    570   HRESULT WINAPI _Group25_put_Name_Proxy(_Group25 *This,BSTR newVal);
    571   void __RPC_STUB _Group25_put_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    572   HRESULT WINAPI _Group25_GetPermissions_Proxy(_Group25 *This,VARIANT Name,ObjectTypeEnum ObjectType,VARIANT ObjectTypeId,RightsEnum *Rights);
    573   void __RPC_STUB _Group25_GetPermissions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    574   HRESULT WINAPI _Group25_SetPermissions_Proxy(_Group25 *This,VARIANT Name,ObjectTypeEnum ObjectType,ActionEnum Action,RightsEnum Rights,InheritTypeEnum Inherit,VARIANT ObjectTypeId);
    575   void __RPC_STUB _Group25_SetPermissions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    576   HRESULT WINAPI _Group25_get_Users_Proxy(_Group25 *This,ADOUsers **ppvObject);
    577   void __RPC_STUB _Group25_get_Users_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    578 #endif
    579 
    580 #ifndef ___Group_INTERFACE_DEFINED__
    581 #define ___Group_INTERFACE_DEFINED__
    582   EXTERN_C const IID IID__Group;
    583 #if defined(__cplusplus) && !defined(CINTERFACE)
    584   struct _ADOGroup : public _Group25 {
    585   public:
    586     virtual HRESULT WINAPI get_Properties(ADOProperties **ppvObject) = 0;
    587     virtual HRESULT WINAPI get_ParentCatalog(_ADOCatalog **ppvObject) = 0;
    588     virtual HRESULT WINAPI put_ParentCatalog(_ADOCatalog *ppvObject) = 0;
    589     virtual HRESULT WINAPI putref_ParentCatalog(_ADOCatalog *ppvObject) = 0;
    590   };
    591 #else
    592   typedef struct _GroupVtbl {
    593     BEGIN_INTERFACE
    594       HRESULT (WINAPI *QueryInterface)(_ADOGroup *This,REFIID riid,void **ppvObject);
    595       ULONG (WINAPI *AddRef)(_ADOGroup *This);
    596       ULONG (WINAPI *Release)(_ADOGroup *This);
    597       HRESULT (WINAPI *GetTypeInfoCount)(_ADOGroup *This,UINT *pctinfo);
    598       HRESULT (WINAPI *GetTypeInfo)(_ADOGroup *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    599       HRESULT (WINAPI *GetIDsOfNames)(_ADOGroup *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    600       HRESULT (WINAPI *Invoke)(_ADOGroup *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    601       HRESULT (WINAPI *get_Name)(_ADOGroup *This,BSTR *pVal);
    602       HRESULT (WINAPI *put_Name)(_ADOGroup *This,BSTR newVal);
    603       HRESULT (WINAPI *GetPermissions)(_ADOGroup *This,VARIANT Name,ObjectTypeEnum ObjectType,VARIANT ObjectTypeId,RightsEnum *Rights);
    604       HRESULT (WINAPI *SetPermissions)(_ADOGroup *This,VARIANT Name,ObjectTypeEnum ObjectType,ActionEnum Action,RightsEnum Rights,InheritTypeEnum Inherit,VARIANT ObjectTypeId);
    605       HRESULT (WINAPI *get_Users)(_ADOGroup *This,ADOUsers **ppvObject);
    606       HRESULT (WINAPI *get_Properties)(_ADOGroup *This,ADOProperties **ppvObject);
    607       HRESULT (WINAPI *get_ParentCatalog)(_ADOGroup *This,_ADOCatalog **ppvObject);
    608       HRESULT (WINAPI *put_ParentCatalog)(_ADOGroup *This,_ADOCatalog *ppvObject);
    609       HRESULT (WINAPI *putref_ParentADOCatalog)(_ADOGroup *This,_ADOCatalog *ppvObject);
    610     END_INTERFACE
    611   } _GroupVtbl;
    612   struct _Group {
    613     CONST_VTBL struct _GroupVtbl *lpVtbl;
    614   };
    615 #ifdef COBJMACROS
    616 #define _Group_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    617 #define _Group_AddRef(This) (This)->lpVtbl->AddRef(This)
    618 #define _Group_Release(This) (This)->lpVtbl->Release(This)
    619 #define _Group_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    620 #define _Group_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    621 #define _Group_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    622 #define _Group_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    623 #define _Group_get_Name(This,pVal) (This)->lpVtbl->get_Name(This,pVal)
    624 #define _Group_put_Name(This,newVal) (This)->lpVtbl->put_Name(This,newVal)
    625 #define _Group_GetPermissions(This,Name,ObjectType,ObjectTypeId,Rights) (This)->lpVtbl->GetPermissions(This,Name,ObjectType,ObjectTypeId,Rights)
    626 #define _Group_SetPermissions(This,Name,ObjectType,Action,Rights,Inherit,ObjectTypeId) (This)->lpVtbl->SetPermissions(This,Name,ObjectType,Action,Rights,Inherit,ObjectTypeId)
    627 #define _Group_get_Users(This,ppvObject) (This)->lpVtbl->get_Users(This,ppvObject)
    628 #define _Group_get_Properties(This,ppvObject) (This)->lpVtbl->get_Properties(This,ppvObject)
    629 #define _Group_get_ParentCatalog(This,ppvObject) (This)->lpVtbl->get_ParentCatalog(This,ppvObject)
    630 #define _Group_put_ParentCatalog(This,ppvObject) (This)->lpVtbl->put_ParentCatalog(This,ppvObject)
    631 #define _Group_putref_ParentCatalog(This,ppvObject) (This)->lpVtbl->putref_ParentCatalog(This,ppvObject)
    632 #endif
    633 #endif
    634   HRESULT WINAPI _Group_get_Properties_Proxy(_ADOGroup *This,ADOProperties **ppvObject);
    635   void __RPC_STUB _Group_get_Properties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    636   HRESULT WINAPI _Group_get_ParentCatalog_Proxy(_ADOGroup *This,_ADOCatalog **ppvObject);
    637   void __RPC_STUB _Group_get_ParentCatalog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    638   HRESULT WINAPI _Group_put_ParentCatalog_Proxy(_ADOGroup *This,_ADOCatalog *ppvObject);
    639   void __RPC_STUB _Group_put_ParentCatalog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    640   HRESULT WINAPI _Group_putref_ParentCatalog_Proxy(_ADOGroup *This,_ADOCatalog *ppvObject);
    641   void __RPC_STUB _Group_putref_ParentCatalog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    642 #endif
    643 
    644 #ifndef ___User25_INTERFACE_DEFINED__
    645 #define ___User25_INTERFACE_DEFINED__
    646   EXTERN_C const IID IID__User25;
    647 #if defined(__cplusplus) && !defined(CINTERFACE)
    648   struct _User25 : public IDispatch {
    649   public:
    650     virtual HRESULT WINAPI get_Name(BSTR *pVal) = 0;
    651     virtual HRESULT WINAPI put_Name(BSTR newVal) = 0;
    652     virtual HRESULT WINAPI GetPermissions(VARIANT Name,ObjectTypeEnum ObjectType,VARIANT ObjectTypeId,RightsEnum *Rights) = 0;
    653     virtual HRESULT WINAPI SetPermissions(VARIANT Name,ObjectTypeEnum ObjectType,ActionEnum Action,RightsEnum Rights,InheritTypeEnum Inherit,VARIANT ObjectTypeId) = 0;
    654     virtual HRESULT WINAPI ChangePassword(BSTR OldPassword,BSTR NewPassword) = 0;
    655     virtual HRESULT WINAPI get_Groups(ADOGroups **ppvObject) = 0;
    656   };
    657 #else
    658   typedef struct _User25Vtbl {
    659     BEGIN_INTERFACE
    660       HRESULT (WINAPI *QueryInterface)(_User25 *This,REFIID riid,void **ppvObject);
    661       ULONG (WINAPI *AddRef)(_User25 *This);
    662       ULONG (WINAPI *Release)(_User25 *This);
    663       HRESULT (WINAPI *GetTypeInfoCount)(_User25 *This,UINT *pctinfo);
    664       HRESULT (WINAPI *GetTypeInfo)(_User25 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    665       HRESULT (WINAPI *GetIDsOfNames)(_User25 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    666       HRESULT (WINAPI *Invoke)(_User25 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    667       HRESULT (WINAPI *get_Name)(_User25 *This,BSTR *pVal);
    668       HRESULT (WINAPI *put_Name)(_User25 *This,BSTR newVal);
    669       HRESULT (WINAPI *GetPermissions)(_User25 *This,VARIANT Name,ObjectTypeEnum ObjectType,VARIANT ObjectTypeId,RightsEnum *Rights);
    670       HRESULT (WINAPI *SetPermissions)(_User25 *This,VARIANT Name,ObjectTypeEnum ObjectType,ActionEnum Action,RightsEnum Rights,InheritTypeEnum Inherit,VARIANT ObjectTypeId);
    671       HRESULT (WINAPI *ChangePassword)(_User25 *This,BSTR OldPassword,BSTR NewPassword);
    672       HRESULT (WINAPI *get_Groups)(_User25 *This,ADOGroups **ppvObject);
    673     END_INTERFACE
    674   } _User25Vtbl;
    675   struct _User25 {
    676     CONST_VTBL struct _User25Vtbl *lpVtbl;
    677   };
    678 #ifdef COBJMACROS
    679 #define _User25_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    680 #define _User25_AddRef(This) (This)->lpVtbl->AddRef(This)
    681 #define _User25_Release(This) (This)->lpVtbl->Release(This)
    682 #define _User25_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    683 #define _User25_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    684 #define _User25_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    685 #define _User25_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    686 #define _User25_get_Name(This,pVal) (This)->lpVtbl->get_Name(This,pVal)
    687 #define _User25_put_Name(This,newVal) (This)->lpVtbl->put_Name(This,newVal)
    688 #define _User25_GetPermissions(This,Name,ObjectType,ObjectTypeId,Rights) (This)->lpVtbl->GetPermissions(This,Name,ObjectType,ObjectTypeId,Rights)
    689 #define _User25_SetPermissions(This,Name,ObjectType,Action,Rights,Inherit,ObjectTypeId) (This)->lpVtbl->SetPermissions(This,Name,ObjectType,Action,Rights,Inherit,ObjectTypeId)
    690 #define _User25_ChangePassword(This,OldPassword,NewPassword) (This)->lpVtbl->ChangePassword(This,OldPassword,NewPassword)
    691 #define _User25_get_Groups(This,ppvObject) (This)->lpVtbl->get_Groups(This,ppvObject)
    692 #endif
    693 #endif
    694   HRESULT WINAPI _User25_get_Name_Proxy(_User25 *This,BSTR *pVal);
    695   void __RPC_STUB _User25_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    696   HRESULT WINAPI _User25_put_Name_Proxy(_User25 *This,BSTR newVal);
    697   void __RPC_STUB _User25_put_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    698   HRESULT WINAPI _User25_GetPermissions_Proxy(_User25 *This,VARIANT Name,ObjectTypeEnum ObjectType,VARIANT ObjectTypeId,RightsEnum *Rights);
    699   void __RPC_STUB _User25_GetPermissions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    700   HRESULT WINAPI _User25_SetPermissions_Proxy(_User25 *This,VARIANT Name,ObjectTypeEnum ObjectType,ActionEnum Action,RightsEnum Rights,InheritTypeEnum Inherit,VARIANT ObjectTypeId);
    701   void __RPC_STUB _User25_SetPermissions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    702   HRESULT WINAPI _User25_ChangePassword_Proxy(_User25 *This,BSTR OldPassword,BSTR NewPassword);
    703   void __RPC_STUB _User25_ChangePassword_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    704   HRESULT WINAPI _User25_get_Groups_Proxy(_User25 *This,ADOGroups **ppvObject);
    705   void __RPC_STUB _User25_get_Groups_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    706 #endif
    707 
    708 #ifndef ___User_INTERFACE_DEFINED__
    709 #define ___User_INTERFACE_DEFINED__
    710   EXTERN_C const IID IID__User;
    711 #if defined(__cplusplus) && !defined(CINTERFACE)
    712   struct _ADOUser : public _User25 {
    713   public:
    714     virtual HRESULT WINAPI get_Properties(ADOProperties **ppvObject) = 0;
    715     virtual HRESULT WINAPI get_ParentCatalog(_ADOCatalog **ppvObject) = 0;
    716     virtual HRESULT WINAPI put_ParentCatalog(_ADOCatalog *ppvObject) = 0;
    717     virtual HRESULT WINAPI putref_ParentCatalog(_ADOCatalog *ppvObject) = 0;
    718   };
    719 #else
    720   typedef struct _UserVtbl {
    721     BEGIN_INTERFACE
    722       HRESULT (WINAPI *QueryInterface)(_ADOUser *This,REFIID riid,void **ppvObject);
    723       ULONG (WINAPI *AddRef)(_ADOUser *This);
    724       ULONG (WINAPI *Release)(_ADOUser *This);
    725       HRESULT (WINAPI *GetTypeInfoCount)(_ADOUser *This,UINT *pctinfo);
    726       HRESULT (WINAPI *GetTypeInfo)(_ADOUser *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    727       HRESULT (WINAPI *GetIDsOfNames)(_ADOUser *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    728       HRESULT (WINAPI *Invoke)(_ADOUser *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    729       HRESULT (WINAPI *get_Name)(_ADOUser *This,BSTR *pVal);
    730       HRESULT (WINAPI *put_Name)(_ADOUser *This,BSTR newVal);
    731       HRESULT (WINAPI *GetPermissions)(_ADOUser *This,VARIANT Name,ObjectTypeEnum ObjectType,VARIANT ObjectTypeId,RightsEnum *Rights);
    732       HRESULT (WINAPI *SetPermissions)(_ADOUser *This,VARIANT Name,ObjectTypeEnum ObjectType,ActionEnum Action,RightsEnum Rights,InheritTypeEnum Inherit,VARIANT ObjectTypeId);
    733       HRESULT (WINAPI *ChangePassword)(_ADOUser *This,BSTR OldPassword,BSTR NewPassword);
    734       HRESULT (WINAPI *get_Groups)(_ADOUser *This,ADOGroups **ppvObject);
    735       HRESULT (WINAPI *get_Properties)(_ADOUser *This,ADOProperties **ppvObject);
    736       HRESULT (WINAPI *get_ParentCatalog)(_ADOUser *This,_ADOCatalog **ppvObject);
    737       HRESULT (WINAPI *put_ParentCatalog)(_ADOUser *This,_ADOCatalog *ppvObject);
    738       HRESULT (WINAPI *putref_ParentADOCatalog)(_ADOUser *This,_ADOCatalog *ppvObject);
    739     END_INTERFACE
    740   } _UserVtbl;
    741   struct _User {
    742     CONST_VTBL struct _UserVtbl *lpVtbl;
    743   };
    744 #ifdef COBJMACROS
    745 #define _User_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    746 #define _User_AddRef(This) (This)->lpVtbl->AddRef(This)
    747 #define _User_Release(This) (This)->lpVtbl->Release(This)
    748 #define _User_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    749 #define _User_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    750 #define _User_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    751 #define _User_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    752 #define _User_get_Name(This,pVal) (This)->lpVtbl->get_Name(This,pVal)
    753 #define _User_put_Name(This,newVal) (This)->lpVtbl->put_Name(This,newVal)
    754 #define _User_GetPermissions(This,Name,ObjectType,ObjectTypeId,Rights) (This)->lpVtbl->GetPermissions(This,Name,ObjectType,ObjectTypeId,Rights)
    755 #define _User_SetPermissions(This,Name,ObjectType,Action,Rights,Inherit,ObjectTypeId) (This)->lpVtbl->SetPermissions(This,Name,ObjectType,Action,Rights,Inherit,ObjectTypeId)
    756 #define _User_ChangePassword(This,OldPassword,NewPassword) (This)->lpVtbl->ChangePassword(This,OldPassword,NewPassword)
    757 #define _User_get_Groups(This,ppvObject) (This)->lpVtbl->get_Groups(This,ppvObject)
    758 #define _User_get_Properties(This,ppvObject) (This)->lpVtbl->get_Properties(This,ppvObject)
    759 #define _User_get_ParentCatalog(This,ppvObject) (This)->lpVtbl->get_ParentCatalog(This,ppvObject)
    760 #define _User_put_ParentCatalog(This,ppvObject) (This)->lpVtbl->put_ParentCatalog(This,ppvObject)
    761 #define _User_putref_ParentCatalog(This,ppvObject) (This)->lpVtbl->putref_ParentCatalog(This,ppvObject)
    762 #endif
    763 #endif
    764   HRESULT WINAPI _User_get_Properties_Proxy(_ADOUser *This,ADOProperties **ppvObject);
    765   void __RPC_STUB _User_get_Properties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    766   HRESULT WINAPI _User_get_ParentCatalog_Proxy(_ADOUser *This,_ADOCatalog **ppvObject);
    767   void __RPC_STUB _User_get_ParentCatalog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    768   HRESULT WINAPI _User_put_ParentCatalog_Proxy(_ADOUser *This,_ADOCatalog *ppvObject);
    769   void __RPC_STUB _User_put_ParentCatalog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    770   HRESULT WINAPI _User_putref_ParentCatalog_Proxy(_ADOUser *This,_ADOCatalog *ppvObject);
    771   void __RPC_STUB _User_putref_ParentCatalog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    772 #endif
    773 
    774 #ifndef ___Column_INTERFACE_DEFINED__
    775 #define ___Column_INTERFACE_DEFINED__
    776   EXTERN_C const IID IID__Column;
    777 #if defined(__cplusplus) && !defined(CINTERFACE)
    778   struct _ADOColumn : public IDispatch {
    779   public:
    780     virtual HRESULT WINAPI get_Name(BSTR *pVal) = 0;
    781     virtual HRESULT WINAPI put_Name(BSTR newVal) = 0;
    782     virtual HRESULT WINAPI get_Attributes(ColumnAttributesEnum *pVal) = 0;
    783     virtual HRESULT WINAPI put_Attributes(ColumnAttributesEnum newVal) = 0;
    784     virtual HRESULT WINAPI get_DefinedSize(__LONG32 *pVal) = 0;
    785     virtual HRESULT WINAPI put_DefinedSize(__LONG32 DefinedSize) = 0;
    786     virtual HRESULT WINAPI get_NumericScale(BYTE *pVal) = 0;
    787     virtual HRESULT WINAPI put_NumericScale(BYTE newVal) = 0;
    788     virtual HRESULT WINAPI get_Precision(__LONG32 *pVal) = 0;
    789     virtual HRESULT WINAPI put_Precision(__LONG32 newVal) = 0;
    790     virtual HRESULT WINAPI get_RelatedColumn(BSTR *pVal) = 0;
    791     virtual HRESULT WINAPI put_RelatedColumn(BSTR newVal) = 0;
    792     virtual HRESULT WINAPI get_SortOrder(SortOrderEnum *pVal) = 0;
    793     virtual HRESULT WINAPI put_SortOrder(SortOrderEnum newVal) = 0;
    794     virtual HRESULT WINAPI get_Type(DataTypeEnum *pVal) = 0;
    795     virtual HRESULT WINAPI put_Type(DataTypeEnum newVal) = 0;
    796     virtual HRESULT WINAPI get_Properties(ADOProperties **ppvObject) = 0;
    797     virtual HRESULT WINAPI get_ParentCatalog(_ADOCatalog **ppvObject) = 0;
    798     virtual HRESULT WINAPI put_ParentCatalog(_ADOCatalog *ppvObject) = 0;
    799     virtual HRESULT WINAPI putref_ParentCatalog(_ADOCatalog *ppvObject) = 0;
    800   };
    801 #else
    802   typedef struct _ColumnVtbl {
    803     BEGIN_INTERFACE
    804       HRESULT (WINAPI *QueryInterface)(_ADOColumn *This,REFIID riid,void **ppvObject);
    805       ULONG (WINAPI *AddRef)(_ADOColumn *This);
    806       ULONG (WINAPI *Release)(_ADOColumn *This);
    807       HRESULT (WINAPI *GetTypeInfoCount)(_ADOColumn *This,UINT *pctinfo);
    808       HRESULT (WINAPI *GetTypeInfo)(_ADOColumn *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    809       HRESULT (WINAPI *GetIDsOfNames)(_ADOColumn *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    810       HRESULT (WINAPI *Invoke)(_ADOColumn *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    811       HRESULT (WINAPI *get_Name)(_ADOColumn *This,BSTR *pVal);
    812       HRESULT (WINAPI *put_Name)(_ADOColumn *This,BSTR newVal);
    813       HRESULT (WINAPI *get_Attributes)(_ADOColumn *This,ColumnAttributesEnum *pVal);
    814       HRESULT (WINAPI *put_Attributes)(_ADOColumn *This,ColumnAttributesEnum newVal);
    815       HRESULT (WINAPI *get_DefinedSize)(_ADOColumn *This,__LONG32 *pVal);
    816       HRESULT (WINAPI *put_DefinedSize)(_ADOColumn *This,__LONG32 DefinedSize);
    817       HRESULT (WINAPI *get_NumericScale)(_ADOColumn *This,BYTE *pVal);
    818       HRESULT (WINAPI *put_NumericScale)(_ADOColumn *This,BYTE newVal);
    819       HRESULT (WINAPI *get_Precision)(_ADOColumn *This,__LONG32 *pVal);
    820       HRESULT (WINAPI *put_Precision)(_ADOColumn *This,__LONG32 newVal);
    821       HRESULT (WINAPI *get_RelatedColumn)(_ADOColumn *This,BSTR *pVal);
    822       HRESULT (WINAPI *put_RelatedColumn)(_ADOColumn *This,BSTR newVal);
    823       HRESULT (WINAPI *get_SortOrder)(_ADOColumn *This,SortOrderEnum *pVal);
    824       HRESULT (WINAPI *put_SortOrder)(_ADOColumn *This,SortOrderEnum newVal);
    825       HRESULT (WINAPI *get_Type)(_ADOColumn *This,DataTypeEnum *pVal);
    826       HRESULT (WINAPI *put_Type)(_ADOColumn *This,DataTypeEnum newVal);
    827       HRESULT (WINAPI *get_Properties)(_ADOColumn *This,ADOProperties **ppvObject);
    828       HRESULT (WINAPI *get_ParentCatalog)(_ADOColumn *This,_ADOCatalog **ppvObject);
    829       HRESULT (WINAPI *put_ParentCatalog)(_ADOColumn *This,_ADOCatalog *ppvObject);
    830       HRESULT (WINAPI *putref_ParentADOCatalog)(_ADOColumn *This,_ADOCatalog *ppvObject);
    831     END_INTERFACE
    832   } _ColumnVtbl;
    833   struct _Column {
    834     CONST_VTBL struct _ColumnVtbl *lpVtbl;
    835   };
    836 #ifdef COBJMACROS
    837 #define _Column_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    838 #define _Column_AddRef(This) (This)->lpVtbl->AddRef(This)
    839 #define _Column_Release(This) (This)->lpVtbl->Release(This)
    840 #define _Column_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    841 #define _Column_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    842 #define _Column_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    843 #define _Column_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    844 #define _Column_get_Name(This,pVal) (This)->lpVtbl->get_Name(This,pVal)
    845 #define _Column_put_Name(This,newVal) (This)->lpVtbl->put_Name(This,newVal)
    846 #define _Column_get_Attributes(This,pVal) (This)->lpVtbl->get_Attributes(This,pVal)
    847 #define _Column_put_Attributes(This,newVal) (This)->lpVtbl->put_Attributes(This,newVal)
    848 #define _Column_get_DefinedSize(This,pVal) (This)->lpVtbl->get_DefinedSize(This,pVal)
    849 #define _Column_put_DefinedSize(This,DefinedSize) (This)->lpVtbl->put_DefinedSize(This,DefinedSize)
    850 #define _Column_get_NumericScale(This,pVal) (This)->lpVtbl->get_NumericScale(This,pVal)
    851 #define _Column_put_NumericScale(This,newVal) (This)->lpVtbl->put_NumericScale(This,newVal)
    852 #define _Column_get_Precision(This,pVal) (This)->lpVtbl->get_Precision(This,pVal)
    853 #define _Column_put_Precision(This,newVal) (This)->lpVtbl->put_Precision(This,newVal)
    854 #define _Column_get_RelatedColumn(This,pVal) (This)->lpVtbl->get_RelatedColumn(This,pVal)
    855 #define _Column_put_RelatedColumn(This,newVal) (This)->lpVtbl->put_RelatedColumn(This,newVal)
    856 #define _Column_get_SortOrder(This,pVal) (This)->lpVtbl->get_SortOrder(This,pVal)
    857 #define _Column_put_SortOrder(This,newVal) (This)->lpVtbl->put_SortOrder(This,newVal)
    858 #define _Column_get_Type(This,pVal) (This)->lpVtbl->get_Type(This,pVal)
    859 #define _Column_put_Type(This,newVal) (This)->lpVtbl->put_Type(This,newVal)
    860 #define _Column_get_Properties(This,ppvObject) (This)->lpVtbl->get_Properties(This,ppvObject)
    861 #define _Column_get_ParentCatalog(This,ppvObject) (This)->lpVtbl->get_ParentCatalog(This,ppvObject)
    862 #define _Column_put_ParentCatalog(This,ppvObject) (This)->lpVtbl->put_ParentCatalog(This,ppvObject)
    863 #define _Column_putref_ParentCatalog(This,ppvObject) (This)->lpVtbl->putref_ParentCatalog(This,ppvObject)
    864 #endif
    865 #endif
    866   HRESULT WINAPI _Column_get_Name_Proxy(_ADOColumn *This,BSTR *pVal);
    867   void __RPC_STUB _Column_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    868   HRESULT WINAPI _Column_put_Name_Proxy(_ADOColumn *This,BSTR newVal);
    869   void __RPC_STUB _Column_put_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    870   HRESULT WINAPI _Column_get_Attributes_Proxy(_ADOColumn *This,ColumnAttributesEnum *pVal);
    871   void __RPC_STUB _Column_get_Attributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    872   HRESULT WINAPI _Column_put_Attributes_Proxy(_ADOColumn *This,ColumnAttributesEnum newVal);
    873   void __RPC_STUB _Column_put_Attributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    874   HRESULT WINAPI _Column_get_DefinedSize_Proxy(_ADOColumn *This,__LONG32 *pVal);
    875   void __RPC_STUB _Column_get_DefinedSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    876   HRESULT WINAPI _Column_put_DefinedSize_Proxy(_ADOColumn *This,__LONG32 DefinedSize);
    877   void __RPC_STUB _Column_put_DefinedSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    878   HRESULT WINAPI _Column_get_NumericScale_Proxy(_ADOColumn *This,BYTE *pVal);
    879   void __RPC_STUB _Column_get_NumericScale_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    880   HRESULT WINAPI _Column_put_NumericScale_Proxy(_ADOColumn *This,BYTE newVal);
    881   void __RPC_STUB _Column_put_NumericScale_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    882   HRESULT WINAPI _Column_get_Precision_Proxy(_ADOColumn *This,__LONG32 *pVal);
    883   void __RPC_STUB _Column_get_Precision_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    884   HRESULT WINAPI _Column_put_Precision_Proxy(_ADOColumn *This,__LONG32 newVal);
    885   void __RPC_STUB _Column_put_Precision_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    886   HRESULT WINAPI _Column_get_RelatedColumn_Proxy(_ADOColumn *This,BSTR *pVal);
    887   void __RPC_STUB _Column_get_RelatedColumn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    888   HRESULT WINAPI _Column_put_RelatedColumn_Proxy(_ADOColumn *This,BSTR newVal);
    889   void __RPC_STUB _Column_put_RelatedColumn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    890   HRESULT WINAPI _Column_get_SortOrder_Proxy(_ADOColumn *This,SortOrderEnum *pVal);
    891   void __RPC_STUB _Column_get_SortOrder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    892   HRESULT WINAPI _Column_put_SortOrder_Proxy(_ADOColumn *This,SortOrderEnum newVal);
    893   void __RPC_STUB _Column_put_SortOrder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    894   HRESULT WINAPI _Column_get_Type_Proxy(_ADOColumn *This,DataTypeEnum *pVal);
    895   void __RPC_STUB _Column_get_Type_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    896   HRESULT WINAPI _Column_put_Type_Proxy(_ADOColumn *This,DataTypeEnum newVal);
    897   void __RPC_STUB _Column_put_Type_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    898   HRESULT WINAPI _Column_get_Properties_Proxy(_ADOColumn *This,ADOProperties **ppvObject);
    899   void __RPC_STUB _Column_get_Properties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    900   HRESULT WINAPI _Column_get_ParentCatalog_Proxy(_ADOColumn *This,_ADOCatalog **ppvObject);
    901   void __RPC_STUB _Column_get_ParentCatalog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    902   HRESULT WINAPI _Column_put_ParentCatalog_Proxy(_ADOColumn *This,_ADOCatalog *ppvObject);
    903   void __RPC_STUB _Column_put_ParentCatalog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    904   HRESULT WINAPI _Column_putref_ParentCatalog_Proxy(_ADOColumn *This,_ADOCatalog *ppvObject);
    905   void __RPC_STUB _Column_putref_ParentCatalog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    906 #endif
    907 
    908 #ifndef ___Index_INTERFACE_DEFINED__
    909 #define ___Index_INTERFACE_DEFINED__
    910   EXTERN_C const IID IID__Index;
    911 #if defined(__cplusplus) && !defined(CINTERFACE)
    912   struct _ADOIndex : public IDispatch {
    913   public:
    914     virtual HRESULT WINAPI get_Name(BSTR *pVal) = 0;
    915     virtual HRESULT WINAPI put_Name(BSTR newVal) = 0;
    916     virtual HRESULT WINAPI get_Clustered(VARIANT_BOOL *pVal) = 0;
    917     virtual HRESULT WINAPI put_Clustered(VARIANT_BOOL newVal) = 0;
    918     virtual HRESULT WINAPI get_IndexNulls(AllowNullsEnum *pVal) = 0;
    919     virtual HRESULT WINAPI put_IndexNulls(AllowNullsEnum newVal) = 0;
    920     virtual HRESULT WINAPI get_PrimaryKey(VARIANT_BOOL *pVal) = 0;
    921     virtual HRESULT WINAPI put_PrimaryKey(VARIANT_BOOL newVal) = 0;
    922     virtual HRESULT WINAPI get_Unique(VARIANT_BOOL *pVal) = 0;
    923     virtual HRESULT WINAPI put_Unique(VARIANT_BOOL newVal) = 0;
    924     virtual HRESULT WINAPI get_Columns(ADOColumns **ppvObject) = 0;
    925     virtual HRESULT WINAPI get_Properties(ADOProperties **ppvObject) = 0;
    926   };
    927 #else
    928   typedef struct _IndexVtbl {
    929     BEGIN_INTERFACE
    930       HRESULT (WINAPI *QueryInterface)(_ADOIndex *This,REFIID riid,void **ppvObject);
    931       ULONG (WINAPI *AddRef)(_ADOIndex *This);
    932       ULONG (WINAPI *Release)(_ADOIndex *This);
    933       HRESULT (WINAPI *GetTypeInfoCount)(_ADOIndex *This,UINT *pctinfo);
    934       HRESULT (WINAPI *GetTypeInfo)(_ADOIndex *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    935       HRESULT (WINAPI *GetIDsOfNames)(_ADOIndex *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    936       HRESULT (WINAPI *Invoke)(_ADOIndex *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    937       HRESULT (WINAPI *get_Name)(_ADOIndex *This,BSTR *pVal);
    938       HRESULT (WINAPI *put_Name)(_ADOIndex *This,BSTR newVal);
    939       HRESULT (WINAPI *get_Clustered)(_ADOIndex *This,VARIANT_BOOL *pVal);
    940       HRESULT (WINAPI *put_Clustered)(_ADOIndex *This,VARIANT_BOOL newVal);
    941       HRESULT (WINAPI *get_IndexNulls)(_ADOIndex *This,AllowNullsEnum *pVal);
    942       HRESULT (WINAPI *put_IndexNulls)(_ADOIndex *This,AllowNullsEnum newVal);
    943       HRESULT (WINAPI *get_PrimaryKey)(_ADOIndex *This,VARIANT_BOOL *pVal);
    944       HRESULT (WINAPI *put_PrimaryKey)(_ADOIndex *This,VARIANT_BOOL newVal);
    945       HRESULT (WINAPI *get_Unique)(_ADOIndex *This,VARIANT_BOOL *pVal);
    946       HRESULT (WINAPI *put_Unique)(_ADOIndex *This,VARIANT_BOOL newVal);
    947       HRESULT (WINAPI *get_Columns)(_ADOIndex *This,ADOColumns **ppvObject);
    948       HRESULT (WINAPI *get_Properties)(_ADOIndex *This,ADOProperties **ppvObject);
    949     END_INTERFACE
    950   } _IndexVtbl;
    951   struct _Index {
    952     CONST_VTBL struct _IndexVtbl *lpVtbl;
    953   };
    954 #ifdef COBJMACROS
    955 #define _Index_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    956 #define _Index_AddRef(This) (This)->lpVtbl->AddRef(This)
    957 #define _Index_Release(This) (This)->lpVtbl->Release(This)
    958 #define _Index_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    959 #define _Index_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    960 #define _Index_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    961 #define _Index_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    962 #define _Index_get_Name(This,pVal) (This)->lpVtbl->get_Name(This,pVal)
    963 #define _Index_put_Name(This,newVal) (This)->lpVtbl->put_Name(This,newVal)
    964 #define _Index_get_Clustered(This,pVal) (This)->lpVtbl->get_Clustered(This,pVal)
    965 #define _Index_put_Clustered(This,newVal) (This)->lpVtbl->put_Clustered(This,newVal)
    966 #define _Index_get_IndexNulls(This,pVal) (This)->lpVtbl->get_IndexNulls(This,pVal)
    967 #define _Index_put_IndexNulls(This,newVal) (This)->lpVtbl->put_IndexNulls(This,newVal)
    968 #define _Index_get_PrimaryKey(This,pVal) (This)->lpVtbl->get_PrimaryKey(This,pVal)
    969 #define _Index_put_PrimaryKey(This,newVal) (This)->lpVtbl->put_PrimaryKey(This,newVal)
    970 #define _Index_get_Unique(This,pVal) (This)->lpVtbl->get_Unique(This,pVal)
    971 #define _Index_put_Unique(This,newVal) (This)->lpVtbl->put_Unique(This,newVal)
    972 #define _Index_get_Columns(This,ppvObject) (This)->lpVtbl->get_Columns(This,ppvObject)
    973 #define _Index_get_Properties(This,ppvObject) (This)->lpVtbl->get_Properties(This,ppvObject)
    974 #endif
    975 #endif
    976   HRESULT WINAPI _Index_get_Name_Proxy(_ADOIndex *This,BSTR *pVal);
    977   void __RPC_STUB _Index_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    978   HRESULT WINAPI _Index_put_Name_Proxy(_ADOIndex *This,BSTR newVal);
    979   void __RPC_STUB _Index_put_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    980   HRESULT WINAPI _Index_get_Clustered_Proxy(_ADOIndex *This,VARIANT_BOOL *pVal);
    981   void __RPC_STUB _Index_get_Clustered_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    982   HRESULT WINAPI _Index_put_Clustered_Proxy(_ADOIndex *This,VARIANT_BOOL newVal);
    983   void __RPC_STUB _Index_put_Clustered_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    984   HRESULT WINAPI _Index_get_IndexNulls_Proxy(_ADOIndex *This,AllowNullsEnum *pVal);
    985   void __RPC_STUB _Index_get_IndexNulls_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    986   HRESULT WINAPI _Index_put_IndexNulls_Proxy(_ADOIndex *This,AllowNullsEnum newVal);
    987   void __RPC_STUB _Index_put_IndexNulls_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    988   HRESULT WINAPI _Index_get_PrimaryKey_Proxy(_ADOIndex *This,VARIANT_BOOL *pVal);
    989   void __RPC_STUB _Index_get_PrimaryKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    990   HRESULT WINAPI _Index_put_PrimaryKey_Proxy(_ADOIndex *This,VARIANT_BOOL newVal);
    991   void __RPC_STUB _Index_put_PrimaryKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    992   HRESULT WINAPI _Index_get_Unique_Proxy(_ADOIndex *This,VARIANT_BOOL *pVal);
    993   void __RPC_STUB _Index_get_Unique_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    994   HRESULT WINAPI _Index_put_Unique_Proxy(_ADOIndex *This,VARIANT_BOOL newVal);
    995   void __RPC_STUB _Index_put_Unique_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    996   HRESULT WINAPI _Index_get_Columns_Proxy(_ADOIndex *This,ADOColumns **ppvObject);
    997   void __RPC_STUB _Index_get_Columns_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    998   HRESULT WINAPI _Index_get_Properties_Proxy(_ADOIndex *This,ADOProperties **ppvObject);
    999   void __RPC_STUB _Index_get_Properties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1000 #endif
   1001 
   1002 #ifndef ___Key_INTERFACE_DEFINED__
   1003 #define ___Key_INTERFACE_DEFINED__
   1004   EXTERN_C const IID IID__Key;
   1005 #if defined(__cplusplus) && !defined(CINTERFACE)
   1006   struct _ADOKey : public IDispatch {
   1007   public:
   1008     virtual HRESULT WINAPI get_Name(BSTR *pVal) = 0;
   1009     virtual HRESULT WINAPI put_Name(BSTR newVal) = 0;
   1010     virtual HRESULT WINAPI get_DeleteRule(RuleEnum *pVal) = 0;
   1011     virtual HRESULT WINAPI put_DeleteRule(RuleEnum newVal) = 0;
   1012     virtual HRESULT WINAPI get_Type(KeyTypeEnum *pVal) = 0;
   1013     virtual HRESULT WINAPI put_Type(KeyTypeEnum newVal) = 0;
   1014     virtual HRESULT WINAPI get_RelatedTable(BSTR *pVal) = 0;
   1015     virtual HRESULT WINAPI put_RelatedTable(BSTR newVal) = 0;
   1016     virtual HRESULT WINAPI get_UpdateRule(RuleEnum *pVal) = 0;
   1017     virtual HRESULT WINAPI put_UpdateRule(RuleEnum newVal) = 0;
   1018     virtual HRESULT WINAPI get_Columns(ADOColumns **ppvObject) = 0;
   1019   };
   1020 #else
   1021   typedef struct _KeyVtbl {
   1022     BEGIN_INTERFACE
   1023       HRESULT (WINAPI *QueryInterface)(_ADOKey *This,REFIID riid,void **ppvObject);
   1024       ULONG (WINAPI *AddRef)(_ADOKey *This);
   1025       ULONG (WINAPI *Release)(_ADOKey *This);
   1026       HRESULT (WINAPI *GetTypeInfoCount)(_ADOKey *This,UINT *pctinfo);
   1027       HRESULT (WINAPI *GetTypeInfo)(_ADOKey *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1028       HRESULT (WINAPI *GetIDsOfNames)(_ADOKey *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1029       HRESULT (WINAPI *Invoke)(_ADOKey *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1030       HRESULT (WINAPI *get_Name)(_ADOKey *This,BSTR *pVal);
   1031       HRESULT (WINAPI *put_Name)(_ADOKey *This,BSTR newVal);
   1032       HRESULT (WINAPI *get_DeleteRule)(_ADOKey *This,RuleEnum *pVal);
   1033       HRESULT (WINAPI *put_DeleteRule)(_ADOKey *This,RuleEnum newVal);
   1034       HRESULT (WINAPI *get_Type)(_ADOKey *This,KeyTypeEnum *pVal);
   1035       HRESULT (WINAPI *put_Type)(_ADOKey *This,KeyTypeEnum newVal);
   1036       HRESULT (WINAPI *get_RelatedTable)(_ADOKey *This,BSTR *pVal);
   1037       HRESULT (WINAPI *put_RelatedTable)(_ADOKey *This,BSTR newVal);
   1038       HRESULT (WINAPI *get_UpdateRule)(_ADOKey *This,RuleEnum *pVal);
   1039       HRESULT (WINAPI *put_UpdateRule)(_ADOKey *This,RuleEnum newVal);
   1040       HRESULT (WINAPI *get_Columns)(_ADOKey *This,ADOColumns **ppvObject);
   1041     END_INTERFACE
   1042   } _KeyVtbl;
   1043   struct _Key {
   1044     CONST_VTBL struct _KeyVtbl *lpVtbl;
   1045   };
   1046 #ifdef COBJMACROS
   1047 #define _Key_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1048 #define _Key_AddRef(This) (This)->lpVtbl->AddRef(This)
   1049 #define _Key_Release(This) (This)->lpVtbl->Release(This)
   1050 #define _Key_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1051 #define _Key_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1052 #define _Key_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1053 #define _Key_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1054 #define _Key_get_Name(This,pVal) (This)->lpVtbl->get_Name(This,pVal)
   1055 #define _Key_put_Name(This,newVal) (This)->lpVtbl->put_Name(This,newVal)
   1056 #define _Key_get_DeleteRule(This,pVal) (This)->lpVtbl->get_DeleteRule(This,pVal)
   1057 #define _Key_put_DeleteRule(This,newVal) (This)->lpVtbl->put_DeleteRule(This,newVal)
   1058 #define _Key_get_Type(This,pVal) (This)->lpVtbl->get_Type(This,pVal)
   1059 #define _Key_put_Type(This,newVal) (This)->lpVtbl->put_Type(This,newVal)
   1060 #define _Key_get_RelatedTable(This,pVal) (This)->lpVtbl->get_RelatedTable(This,pVal)
   1061 #define _Key_put_RelatedTable(This,newVal) (This)->lpVtbl->put_RelatedTable(This,newVal)
   1062 #define _Key_get_UpdateRule(This,pVal) (This)->lpVtbl->get_UpdateRule(This,pVal)
   1063 #define _Key_put_UpdateRule(This,newVal) (This)->lpVtbl->put_UpdateRule(This,newVal)
   1064 #define _Key_get_Columns(This,ppvObject) (This)->lpVtbl->get_Columns(This,ppvObject)
   1065 #endif
   1066 #endif
   1067   HRESULT WINAPI _Key_get_Name_Proxy(_ADOKey *This,BSTR *pVal);
   1068   void __RPC_STUB _Key_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1069   HRESULT WINAPI _Key_put_Name_Proxy(_ADOKey *This,BSTR newVal);
   1070   void __RPC_STUB _Key_put_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1071   HRESULT WINAPI _Key_get_DeleteRule_Proxy(_ADOKey *This,RuleEnum *pVal);
   1072   void __RPC_STUB _Key_get_DeleteRule_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1073   HRESULT WINAPI _Key_put_DeleteRule_Proxy(_ADOKey *This,RuleEnum newVal);
   1074   void __RPC_STUB _Key_put_DeleteRule_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1075   HRESULT WINAPI _Key_get_Type_Proxy(_ADOKey *This,KeyTypeEnum *pVal);
   1076   void __RPC_STUB _Key_get_Type_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1077   HRESULT WINAPI _Key_put_Type_Proxy(_ADOKey *This,KeyTypeEnum newVal);
   1078   void __RPC_STUB _Key_put_Type_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1079   HRESULT WINAPI _Key_get_RelatedTable_Proxy(_ADOKey *This,BSTR *pVal);
   1080   void __RPC_STUB _Key_get_RelatedTable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1081   HRESULT WINAPI _Key_put_RelatedTable_Proxy(_ADOKey *This,BSTR newVal);
   1082   void __RPC_STUB _Key_put_RelatedTable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1083   HRESULT WINAPI _Key_get_UpdateRule_Proxy(_ADOKey *This,RuleEnum *pVal);
   1084   void __RPC_STUB _Key_get_UpdateRule_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1085   HRESULT WINAPI _Key_put_UpdateRule_Proxy(_ADOKey *This,RuleEnum newVal);
   1086   void __RPC_STUB _Key_put_UpdateRule_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1087   HRESULT WINAPI _Key_get_Columns_Proxy(_ADOKey *This,ADOColumns **ppvObject);
   1088   void __RPC_STUB _Key_get_Columns_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1089 #endif
   1090 
   1091 #ifndef __View_INTERFACE_DEFINED__
   1092 #define __View_INTERFACE_DEFINED__
   1093   EXTERN_C const IID IID_View;
   1094 #if defined(__cplusplus) && !defined(CINTERFACE)
   1095   struct ADOView : public IDispatch {
   1096   public:
   1097     virtual HRESULT WINAPI get_Command(VARIANT *pVal) = 0;
   1098     virtual HRESULT WINAPI put_Command(VARIANT newVal) = 0;
   1099     virtual HRESULT WINAPI putref_Command(IDispatch *pComm) = 0;
   1100     virtual HRESULT WINAPI get_Name(BSTR *pVal) = 0;
   1101     virtual HRESULT WINAPI get_DateCreated(VARIANT *pVal) = 0;
   1102     virtual HRESULT WINAPI get_DateModified(VARIANT *pVal) = 0;
   1103   };
   1104 #else
   1105   typedef struct ViewVtbl {
   1106     BEGIN_INTERFACE
   1107       HRESULT (WINAPI *QueryInterface)(ADOView *This,REFIID riid,void **ppvObject);
   1108       ULONG (WINAPI *AddRef)(ADOView *This);
   1109       ULONG (WINAPI *Release)(ADOView *This);
   1110       HRESULT (WINAPI *GetTypeInfoCount)(ADOView *This,UINT *pctinfo);
   1111       HRESULT (WINAPI *GetTypeInfo)(ADOView *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1112       HRESULT (WINAPI *GetIDsOfNames)(ADOView *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1113       HRESULT (WINAPI *Invoke)(ADOView *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1114       HRESULT (WINAPI *get_Command)(ADOView *This,VARIANT *pVal);
   1115       HRESULT (WINAPI *put_Command)(ADOView *This,VARIANT newVal);
   1116       HRESULT (WINAPI *putref_Command)(ADOView *This,IDispatch *pComm);
   1117       HRESULT (WINAPI *get_Name)(ADOView *This,BSTR *pVal);
   1118       HRESULT (WINAPI *get_DateCreated)(ADOView *This,VARIANT *pVal);
   1119       HRESULT (WINAPI *get_DateModified)(ADOView *This,VARIANT *pVal);
   1120     END_INTERFACE
   1121   } ViewVtbl;
   1122   struct View {
   1123     CONST_VTBL struct ViewVtbl *lpVtbl;
   1124   };
   1125 #ifdef COBJMACROS
   1126 #define View_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1127 #define View_AddRef(This) (This)->lpVtbl->AddRef(This)
   1128 #define View_Release(This) (This)->lpVtbl->Release(This)
   1129 #define View_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1130 #define View_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1131 #define View_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1132 #define View_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1133 #define View_get_Command(This,pVal) (This)->lpVtbl->get_Command(This,pVal)
   1134 #define View_put_Command(This,newVal) (This)->lpVtbl->put_Command(This,newVal)
   1135 #define View_putref_Command(This,pComm) (This)->lpVtbl->putref_Command(This,pComm)
   1136 #define View_get_Name(This,pVal) (This)->lpVtbl->get_Name(This,pVal)
   1137 #define View_get_DateCreated(This,pVal) (This)->lpVtbl->get_DateCreated(This,pVal)
   1138 #define View_get_DateModified(This,pVal) (This)->lpVtbl->get_DateModified(This,pVal)
   1139 #endif
   1140 #endif
   1141   HRESULT WINAPI View_get_Command_Proxy(ADOView *This,VARIANT *pVal);
   1142   void __RPC_STUB View_get_Command_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1143   HRESULT WINAPI View_put_Command_Proxy(ADOView *This,VARIANT newVal);
   1144   void __RPC_STUB View_put_Command_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1145   HRESULT WINAPI View_putref_Command_Proxy(ADOView *This,IDispatch *pComm);
   1146   void __RPC_STUB View_putref_Command_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1147   HRESULT WINAPI View_get_Name_Proxy(ADOView *This,BSTR *pVal);
   1148   void __RPC_STUB View_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1149   HRESULT WINAPI View_get_DateCreated_Proxy(ADOView *This,VARIANT *pVal);
   1150   void __RPC_STUB View_get_DateCreated_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1151   HRESULT WINAPI View_get_DateModified_Proxy(ADOView *This,VARIANT *pVal);
   1152   void __RPC_STUB View_get_DateModified_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1153 #endif
   1154 
   1155 #ifndef __Procedure_INTERFACE_DEFINED__
   1156 #define __Procedure_INTERFACE_DEFINED__
   1157   EXTERN_C const IID IID_Procedure;
   1158 #if defined(__cplusplus) && !defined(CINTERFACE)
   1159   struct ADOProcedure : public IDispatch {
   1160   public:
   1161     virtual HRESULT WINAPI get_Command(VARIANT *pVar) = 0;
   1162     virtual HRESULT WINAPI put_Command(VARIANT newVal) = 0;
   1163     virtual HRESULT WINAPI putref_Command(IDispatch *pComm) = 0;
   1164     virtual HRESULT WINAPI get_Name(BSTR *pVal) = 0;
   1165     virtual HRESULT WINAPI get_DateCreated(VARIANT *pVal) = 0;
   1166     virtual HRESULT WINAPI get_DateModified(VARIANT *pVal) = 0;
   1167   };
   1168 #else
   1169   typedef struct ProcedureVtbl {
   1170     BEGIN_INTERFACE
   1171       HRESULT (WINAPI *QueryInterface)(ADOProcedure *This,REFIID riid,void **ppvObject);
   1172       ULONG (WINAPI *AddRef)(ADOProcedure *This);
   1173       ULONG (WINAPI *Release)(ADOProcedure *This);
   1174       HRESULT (WINAPI *GetTypeInfoCount)(ADOProcedure *This,UINT *pctinfo);
   1175       HRESULT (WINAPI *GetTypeInfo)(ADOProcedure *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1176       HRESULT (WINAPI *GetIDsOfNames)(ADOProcedure *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1177       HRESULT (WINAPI *Invoke)(ADOProcedure *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1178       HRESULT (WINAPI *get_Command)(ADOProcedure *This,VARIANT *pVar);
   1179       HRESULT (WINAPI *put_Command)(ADOProcedure *This,VARIANT newVal);
   1180       HRESULT (WINAPI *putref_Command)(ADOProcedure *This,IDispatch *pComm);
   1181       HRESULT (WINAPI *get_Name)(ADOProcedure *This,BSTR *pVal);
   1182       HRESULT (WINAPI *get_DateCreated)(ADOProcedure *This,VARIANT *pVal);
   1183       HRESULT (WINAPI *get_DateModified)(ADOProcedure *This,VARIANT *pVal);
   1184     END_INTERFACE
   1185   } ProcedureVtbl;
   1186   struct Procedure {
   1187     CONST_VTBL struct ProcedureVtbl *lpVtbl;
   1188   };
   1189 #ifdef COBJMACROS
   1190 #define Procedure_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1191 #define Procedure_AddRef(This) (This)->lpVtbl->AddRef(This)
   1192 #define Procedure_Release(This) (This)->lpVtbl->Release(This)
   1193 #define Procedure_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1194 #define Procedure_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1195 #define Procedure_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1196 #define Procedure_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1197 #define Procedure_get_Command(This,pVar) (This)->lpVtbl->get_Command(This,pVar)
   1198 #define Procedure_put_Command(This,newVal) (This)->lpVtbl->put_Command(This,newVal)
   1199 #define Procedure_putref_Command(This,pComm) (This)->lpVtbl->putref_Command(This,pComm)
   1200 #define Procedure_get_Name(This,pVal) (This)->lpVtbl->get_Name(This,pVal)
   1201 #define Procedure_get_DateCreated(This,pVal) (This)->lpVtbl->get_DateCreated(This,pVal)
   1202 #define Procedure_get_DateModified(This,pVal) (This)->lpVtbl->get_DateModified(This,pVal)
   1203 #endif
   1204 #endif
   1205   HRESULT WINAPI Procedure_get_Command_Proxy(ADOProcedure *This,VARIANT *pVar);
   1206   void __RPC_STUB Procedure_get_Command_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1207   HRESULT WINAPI Procedure_put_Command_Proxy(ADOProcedure *This,VARIANT newVal);
   1208   void __RPC_STUB Procedure_put_Command_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1209   HRESULT WINAPI Procedure_putref_Command_Proxy(ADOProcedure *This,IDispatch *pComm);
   1210   void __RPC_STUB Procedure_putref_Command_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1211   HRESULT WINAPI Procedure_get_Name_Proxy(ADOProcedure *This,BSTR *pVal);
   1212   void __RPC_STUB Procedure_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1213   HRESULT WINAPI Procedure_get_DateCreated_Proxy(ADOProcedure *This,VARIANT *pVal);
   1214   void __RPC_STUB Procedure_get_DateCreated_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1215   HRESULT WINAPI Procedure_get_DateModified_Proxy(ADOProcedure *This,VARIANT *pVal);
   1216   void __RPC_STUB Procedure_get_DateModified_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1217 #endif
   1218   EXTERN_C const CLSID CLSID_Catalog;
   1219 #ifdef __cplusplus
   1220   Catalog;
   1221 #endif
   1222   EXTERN_C const CLSID CLSID_Table;
   1223 #ifdef __cplusplus
   1224   Table;
   1225 #endif
   1226 
   1227 #ifndef __Property_INTERFACE_DEFINED__
   1228 #define __Property_INTERFACE_DEFINED__
   1229   EXTERN_C const IID IID_Property;
   1230 #if defined(__cplusplus) && !defined(CINTERFACE)
   1231   struct ADOProperty : public IDispatch {
   1232   public:
   1233     virtual HRESULT WINAPI get_Value(VARIANT *pval) = 0;
   1234     virtual HRESULT WINAPI put_Value(VARIANT val) = 0;
   1235     virtual HRESULT WINAPI get_Name(BSTR *pbstr) = 0;
   1236     virtual HRESULT WINAPI get_Type(DataTypeEnum *ptype) = 0;
   1237     virtual HRESULT WINAPI get_Attributes(__LONG32 *plAttributes) = 0;
   1238     virtual HRESULT WINAPI put_Attributes(__LONG32 lAttributes) = 0;
   1239   };
   1240 #else
   1241   typedef struct PropertyVtbl {
   1242     BEGIN_INTERFACE
   1243       HRESULT (WINAPI *QueryInterface)(ADOProperty *This,REFIID riid,void **ppvObject);
   1244       ULONG (WINAPI *AddRef)(ADOProperty *This);
   1245       ULONG (WINAPI *Release)(ADOProperty *This);
   1246       HRESULT (WINAPI *GetTypeInfoCount)(ADOProperty *This,UINT *pctinfo);
   1247       HRESULT (WINAPI *GetTypeInfo)(ADOProperty *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1248       HRESULT (WINAPI *GetIDsOfNames)(ADOProperty *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1249       HRESULT (WINAPI *Invoke)(ADOProperty *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1250       HRESULT (WINAPI *get_Value)(ADOProperty *This,VARIANT *pval);
   1251       HRESULT (WINAPI *put_Value)(ADOProperty *This,VARIANT val);
   1252       HRESULT (WINAPI *get_Name)(ADOProperty *This,BSTR *pbstr);
   1253       HRESULT (WINAPI *get_Type)(ADOProperty *This,DataTypeEnum *ptype);
   1254       HRESULT (WINAPI *get_Attributes)(ADOProperty *This,__LONG32 *plAttributes);
   1255       HRESULT (WINAPI *put_Attributes)(ADOProperty *This,__LONG32 lAttributes);
   1256     END_INTERFACE
   1257   } PropertyVtbl;
   1258   struct Property {
   1259     CONST_VTBL struct PropertyVtbl *lpVtbl;
   1260   };
   1261 #ifdef COBJMACROS
   1262 #define Property_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1263 #define Property_AddRef(This) (This)->lpVtbl->AddRef(This)
   1264 #define Property_Release(This) (This)->lpVtbl->Release(This)
   1265 #define Property_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1266 #define Property_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1267 #define Property_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1268 #define Property_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1269 #define Property_get_Value(This,pval) (This)->lpVtbl->get_Value(This,pval)
   1270 #define Property_put_Value(This,val) (This)->lpVtbl->put_Value(This,val)
   1271 #define Property_get_Name(This,pbstr) (This)->lpVtbl->get_Name(This,pbstr)
   1272 #define Property_get_Type(This,ptype) (This)->lpVtbl->get_Type(This,ptype)
   1273 #define Property_get_Attributes(This,plAttributes) (This)->lpVtbl->get_Attributes(This,plAttributes)
   1274 #define Property_put_Attributes(This,lAttributes) (This)->lpVtbl->put_Attributes(This,lAttributes)
   1275 #endif
   1276 #endif
   1277   HRESULT WINAPI Property_get_Value_Proxy(ADOProperty *This,VARIANT *pval);
   1278   void __RPC_STUB Property_get_Value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1279   HRESULT WINAPI Property_put_Value_Proxy(ADOProperty *This,VARIANT val);
   1280   void __RPC_STUB Property_put_Value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1281   HRESULT WINAPI Property_get_Name_Proxy(ADOProperty *This,BSTR *pbstr);
   1282   void __RPC_STUB Property_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1283   HRESULT WINAPI Property_get_Type_Proxy(ADOProperty *This,DataTypeEnum *ptype);
   1284   void __RPC_STUB Property_get_Type_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1285   HRESULT WINAPI Property_get_Attributes_Proxy(ADOProperty *This,__LONG32 *plAttributes);
   1286   void __RPC_STUB Property_get_Attributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1287   HRESULT WINAPI Property_put_Attributes_Proxy(ADOProperty *This,__LONG32 lAttributes);
   1288   void __RPC_STUB Property_put_Attributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1289 #endif
   1290   EXTERN_C const CLSID CLSID_Group;
   1291 #ifdef __cplusplus
   1292   Group;
   1293 #endif
   1294   EXTERN_C const CLSID CLSID_User;
   1295 #ifdef __cplusplus
   1296   User;
   1297 #endif
   1298   EXTERN_C const CLSID CLSID_Column;
   1299 #ifdef __cplusplus
   1300   Column;
   1301 #endif
   1302   EXTERN_C const CLSID CLSID_Index;
   1303 #ifdef __cplusplus
   1304   Index;
   1305 #endif
   1306   EXTERN_C const CLSID CLSID_Key;
   1307 #ifdef __cplusplus
   1308   Key;
   1309 #endif
   1310 
   1311 #ifndef __Tables_INTERFACE_DEFINED__
   1312 #define __Tables_INTERFACE_DEFINED__
   1313   EXTERN_C const IID IID_Tables;
   1314 #if defined(__cplusplus) && !defined(CINTERFACE)
   1315   struct ADOTables : public _ADOCollection {
   1316   public:
   1317     virtual HRESULT WINAPI get_Item(VARIANT Item,Table **ppvObject) = 0;
   1318     virtual HRESULT WINAPI Append(VARIANT Item) = 0;
   1319     virtual HRESULT WINAPI Delete(VARIANT Item) = 0;
   1320   };
   1321 #else
   1322   typedef struct TablesVtbl {
   1323     BEGIN_INTERFACE
   1324       HRESULT (WINAPI *QueryInterface)(ADOTables *This,REFIID riid,void **ppvObject);
   1325       ULONG (WINAPI *AddRef)(ADOTables *This);
   1326       ULONG (WINAPI *Release)(ADOTables *This);
   1327       HRESULT (WINAPI *GetTypeInfoCount)(ADOTables *This,UINT *pctinfo);
   1328       HRESULT (WINAPI *GetTypeInfo)(ADOTables *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1329       HRESULT (WINAPI *GetIDsOfNames)(ADOTables *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1330       HRESULT (WINAPI *Invoke)(ADOTables *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1331       HRESULT (WINAPI *get_Count)(ADOTables *This,__LONG32 *c);
   1332       HRESULT (WINAPI *_NewEnum)(ADOTables *This,IUnknown **ppvObject);
   1333       HRESULT (WINAPI *Refresh)(ADOTables *This);
   1334       HRESULT (WINAPI *get_Item)(ADOTables *This,VARIANT Item,Table **ppvObject);
   1335       HRESULT (WINAPI *Append)(ADOTables *This,VARIANT Item);
   1336       HRESULT (WINAPI *Delete)(ADOTables *This,VARIANT Item);
   1337     END_INTERFACE
   1338   } TablesVtbl;
   1339   struct Tables {
   1340     CONST_VTBL struct TablesVtbl *lpVtbl;
   1341   };
   1342 #ifdef COBJMACROS
   1343 #define Tables_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1344 #define Tables_AddRef(This) (This)->lpVtbl->AddRef(This)
   1345 #define Tables_Release(This) (This)->lpVtbl->Release(This)
   1346 #define Tables_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1347 #define Tables_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1348 #define Tables_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1349 #define Tables_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1350 #define Tables_get_Count(This,c) (This)->lpVtbl->get_Count(This,c)
   1351 #define Tables__NewEnum(This,ppvObject) (This)->lpVtbl->_NewEnum(This,ppvObject)
   1352 #define Tables_Refresh(This) (This)->lpVtbl->Refresh(This)
   1353 #define Tables_get_Item(This,Item,ppvObject) (This)->lpVtbl->get_Item(This,Item,ppvObject)
   1354 #define Tables_Append(This,Item) (This)->lpVtbl->Append(This,Item)
   1355 #define Tables_Delete(This,Item) (This)->lpVtbl->Delete(This,Item)
   1356 #endif
   1357 #endif
   1358   HRESULT WINAPI Tables_get_Item_Proxy(ADOTables *This,VARIANT Item,Table **ppvObject);
   1359   void __RPC_STUB Tables_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1360   HRESULT WINAPI Tables_Append_Proxy(ADOTables *This,VARIANT Item);
   1361   void __RPC_STUB Tables_Append_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1362   HRESULT WINAPI Tables_Delete_Proxy(ADOTables *This,VARIANT Item);
   1363   void __RPC_STUB Tables_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1364 #endif
   1365 
   1366 #ifndef __Columns_INTERFACE_DEFINED__
   1367 #define __Columns_INTERFACE_DEFINED__
   1368   EXTERN_C const IID IID_Columns;
   1369 #if defined(__cplusplus) && !defined(CINTERFACE)
   1370   struct ADOColumns : public _ADOCollection {
   1371   public:
   1372     virtual HRESULT WINAPI get_Item(VARIANT Item,Column **ppvObject) = 0;
   1373     virtual HRESULT WINAPI Append(VARIANT Item,DataTypeEnum Type = adVarWChar,__LONG32 DefinedSize = 0) = 0;
   1374     virtual HRESULT WINAPI Delete(VARIANT Item) = 0;
   1375   };
   1376 #else
   1377   typedef struct ColumnsVtbl {
   1378     BEGIN_INTERFACE
   1379       HRESULT (WINAPI *QueryInterface)(ADOColumns *This,REFIID riid,void **ppvObject);
   1380       ULONG (WINAPI *AddRef)(ADOColumns *This);
   1381       ULONG (WINAPI *Release)(ADOColumns *This);
   1382       HRESULT (WINAPI *GetTypeInfoCount)(ADOColumns *This,UINT *pctinfo);
   1383       HRESULT (WINAPI *GetTypeInfo)(ADOColumns *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1384       HRESULT (WINAPI *GetIDsOfNames)(ADOColumns *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1385       HRESULT (WINAPI *Invoke)(ADOColumns *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1386       HRESULT (WINAPI *get_Count)(ADOColumns *This,__LONG32 *c);
   1387       HRESULT (WINAPI *_NewEnum)(ADOColumns *This,IUnknown **ppvObject);
   1388       HRESULT (WINAPI *Refresh)(ADOColumns *This);
   1389       HRESULT (WINAPI *get_Item)(ADOColumns *This,VARIANT Item,Column **ppvObject);
   1390       HRESULT (WINAPI *Append)(ADOColumns *This,VARIANT Item,DataTypeEnum Type,__LONG32 DefinedSize);
   1391       HRESULT (WINAPI *Delete)(ADOColumns *This,VARIANT Item);
   1392     END_INTERFACE
   1393   } ColumnsVtbl;
   1394   struct Columns {
   1395     CONST_VTBL struct ColumnsVtbl *lpVtbl;
   1396   };
   1397 #ifdef COBJMACROS
   1398 #define Columns_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1399 #define Columns_AddRef(This) (This)->lpVtbl->AddRef(This)
   1400 #define Columns_Release(This) (This)->lpVtbl->Release(This)
   1401 #define Columns_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1402 #define Columns_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1403 #define Columns_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1404 #define Columns_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1405 #define Columns_get_Count(This,c) (This)->lpVtbl->get_Count(This,c)
   1406 #define Columns__NewEnum(This,ppvObject) (This)->lpVtbl->_NewEnum(This,ppvObject)
   1407 #define Columns_Refresh(This) (This)->lpVtbl->Refresh(This)
   1408 #define Columns_get_Item(This,Item,ppvObject) (This)->lpVtbl->get_Item(This,Item,ppvObject)
   1409 #define Columns_Append(This,Item,Type,DefinedSize) (This)->lpVtbl->Append(This,Item,Type,DefinedSize)
   1410 #define Columns_Delete(This,Item) (This)->lpVtbl->Delete(This,Item)
   1411 #endif
   1412 #endif
   1413   HRESULT WINAPI Columns_get_Item_Proxy(ADOColumns *This,VARIANT Item,Column **ppvObject);
   1414   void __RPC_STUB Columns_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1415   HRESULT WINAPI Columns_Append_Proxy(ADOColumns *This,VARIANT Item,DataTypeEnum Type,__LONG32 DefinedSize);
   1416   void __RPC_STUB Columns_Append_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1417   HRESULT WINAPI Columns_Delete_Proxy(ADOColumns *This,VARIANT Item);
   1418   void __RPC_STUB Columns_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1419 #endif
   1420 
   1421 #ifndef __Procedures_INTERFACE_DEFINED__
   1422 #define __Procedures_INTERFACE_DEFINED__
   1423   EXTERN_C const IID IID_Procedures;
   1424 #if defined(__cplusplus) && !defined(CINTERFACE)
   1425   struct ADOProcedures : public _ADOCollection {
   1426   public:
   1427     virtual HRESULT WINAPI get_Item(VARIANT Item,ADOProcedure **ppvObject) = 0;
   1428     virtual HRESULT WINAPI Append(BSTR Name,IDispatch *Command) = 0;
   1429     virtual HRESULT WINAPI Delete(VARIANT Item) = 0;
   1430   };
   1431 #else
   1432   typedef struct ProceduresVtbl {
   1433     BEGIN_INTERFACE
   1434       HRESULT (WINAPI *QueryInterface)(ADOProcedures *This,REFIID riid,void **ppvObject);
   1435       ULONG (WINAPI *AddRef)(ADOProcedures *This);
   1436       ULONG (WINAPI *Release)(ADOProcedures *This);
   1437       HRESULT (WINAPI *GetTypeInfoCount)(ADOProcedures *This,UINT *pctinfo);
   1438       HRESULT (WINAPI *GetTypeInfo)(ADOProcedures *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1439       HRESULT (WINAPI *GetIDsOfNames)(ADOProcedures *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1440       HRESULT (WINAPI *Invoke)(ADOProcedures *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1441       HRESULT (WINAPI *get_Count)(ADOProcedures *This,__LONG32 *c);
   1442       HRESULT (WINAPI *_NewEnum)(ADOProcedures *This,IUnknown **ppvObject);
   1443       HRESULT (WINAPI *Refresh)(ADOProcedures *This);
   1444       HRESULT (WINAPI *get_Item)(ADOProcedures *This,VARIANT Item,ADOProcedure **ppvObject);
   1445       HRESULT (WINAPI *Append)(ADOProcedures *This,BSTR Name,IDispatch *Command);
   1446       HRESULT (WINAPI *Delete)(ADOProcedures *This,VARIANT Item);
   1447     END_INTERFACE
   1448   } ProceduresVtbl;
   1449   struct Procedures {
   1450     CONST_VTBL struct ProceduresVtbl *lpVtbl;
   1451   };
   1452 #ifdef COBJMACROS
   1453 #define Procedures_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1454 #define Procedures_AddRef(This) (This)->lpVtbl->AddRef(This)
   1455 #define Procedures_Release(This) (This)->lpVtbl->Release(This)
   1456 #define Procedures_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1457 #define Procedures_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1458 #define Procedures_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1459 #define Procedures_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1460 #define Procedures_get_Count(This,c) (This)->lpVtbl->get_Count(This,c)
   1461 #define Procedures__NewEnum(This,ppvObject) (This)->lpVtbl->_NewEnum(This,ppvObject)
   1462 #define Procedures_Refresh(This) (This)->lpVtbl->Refresh(This)
   1463 #define Procedures_get_Item(This,Item,ppvObject) (This)->lpVtbl->get_Item(This,Item,ppvObject)
   1464 #define Procedures_Append(This,Name,Command) (This)->lpVtbl->Append(This,Name,Command)
   1465 #define Procedures_Delete(This,Item) (This)->lpVtbl->Delete(This,Item)
   1466 #endif
   1467 #endif
   1468   HRESULT WINAPI Procedures_get_Item_Proxy(ADOProcedures *This,VARIANT Item,ADOProcedure **ppvObject);
   1469   void __RPC_STUB Procedures_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1470   HRESULT WINAPI Procedures_Append_Proxy(ADOProcedures *This,BSTR Name,IDispatch *Command);
   1471   void __RPC_STUB Procedures_Append_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1472   HRESULT WINAPI Procedures_Delete_Proxy(ADOProcedures *This,VARIANT Item);
   1473   void __RPC_STUB Procedures_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1474 #endif
   1475 
   1476 #ifndef __Views_INTERFACE_DEFINED__
   1477 #define __Views_INTERFACE_DEFINED__
   1478   EXTERN_C const IID IID_Views;
   1479 #if defined(__cplusplus) && !defined(CINTERFACE)
   1480   struct ADOViews : public _ADOCollection {
   1481   public:
   1482     virtual HRESULT WINAPI get_Item(VARIANT Item,ADOView **ppvObject) = 0;
   1483     virtual HRESULT WINAPI Append(BSTR Name,IDispatch *Command) = 0;
   1484     virtual HRESULT WINAPI Delete(VARIANT Item) = 0;
   1485   };
   1486 #else
   1487   typedef struct ViewsVtbl {
   1488     BEGIN_INTERFACE
   1489       HRESULT (WINAPI *QueryInterface)(ADOViews *This,REFIID riid,void **ppvObject);
   1490       ULONG (WINAPI *AddRef)(ADOViews *This);
   1491       ULONG (WINAPI *Release)(ADOViews *This);
   1492       HRESULT (WINAPI *GetTypeInfoCount)(ADOViews *This,UINT *pctinfo);
   1493       HRESULT (WINAPI *GetTypeInfo)(ADOViews *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1494       HRESULT (WINAPI *GetIDsOfNames)(ADOViews *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1495       HRESULT (WINAPI *Invoke)(ADOViews *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1496       HRESULT (WINAPI *get_Count)(ADOViews *This,__LONG32 *c);
   1497       HRESULT (WINAPI *_NewEnum)(ADOViews *This,IUnknown **ppvObject);
   1498       HRESULT (WINAPI *Refresh)(ADOViews *This);
   1499       HRESULT (WINAPI *get_Item)(ADOViews *This,VARIANT Item,ADOView **ppvObject);
   1500       HRESULT (WINAPI *Append)(ADOViews *This,BSTR Name,IDispatch *Command);
   1501       HRESULT (WINAPI *Delete)(ADOViews *This,VARIANT Item);
   1502     END_INTERFACE
   1503   } ViewsVtbl;
   1504   struct Views {
   1505     CONST_VTBL struct ViewsVtbl *lpVtbl;
   1506   };
   1507 #ifdef COBJMACROS
   1508 #define Views_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1509 #define Views_AddRef(This) (This)->lpVtbl->AddRef(This)
   1510 #define Views_Release(This) (This)->lpVtbl->Release(This)
   1511 #define Views_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1512 #define Views_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1513 #define Views_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1514 #define Views_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1515 #define Views_get_Count(This,c) (This)->lpVtbl->get_Count(This,c)
   1516 #define Views__NewEnum(This,ppvObject) (This)->lpVtbl->_NewEnum(This,ppvObject)
   1517 #define Views_Refresh(This) (This)->lpVtbl->Refresh(This)
   1518 #define Views_get_Item(This,Item,ppvObject) (This)->lpVtbl->get_Item(This,Item,ppvObject)
   1519 #define Views_Append(This,Name,Command) (This)->lpVtbl->Append(This,Name,Command)
   1520 #define Views_Delete(This,Item) (This)->lpVtbl->Delete(This,Item)
   1521 #endif
   1522 #endif
   1523   HRESULT WINAPI Views_get_Item_Proxy(ADOViews *This,VARIANT Item,ADOView **ppvObject);
   1524   void __RPC_STUB Views_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1525   HRESULT WINAPI Views_Append_Proxy(ADOViews *This,BSTR Name,IDispatch *Command);
   1526   void __RPC_STUB Views_Append_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1527   HRESULT WINAPI Views_Delete_Proxy(ADOViews *This,VARIANT Item);
   1528   void __RPC_STUB Views_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1529 #endif
   1530 
   1531 #ifndef __Indexes_INTERFACE_DEFINED__
   1532 #define __Indexes_INTERFACE_DEFINED__
   1533   EXTERN_C const IID IID_Indexes;
   1534 #if defined(__cplusplus) && !defined(CINTERFACE)
   1535   struct ADOIndexes : public _ADOCollection {
   1536   public:
   1537     virtual HRESULT WINAPI get_Item(VARIANT Item,Index **ppvObject) = 0;
   1538     virtual HRESULT WINAPI Append(VARIANT Item,VARIANT columns) = 0;
   1539     virtual HRESULT WINAPI Delete(VARIANT Item) = 0;
   1540   };
   1541 #else
   1542   typedef struct IndexesVtbl {
   1543     BEGIN_INTERFACE
   1544       HRESULT (WINAPI *QueryInterface)(ADOIndexes *This,REFIID riid,void **ppvObject);
   1545       ULONG (WINAPI *AddRef)(ADOIndexes *This);
   1546       ULONG (WINAPI *Release)(ADOIndexes *This);
   1547       HRESULT (WINAPI *GetTypeInfoCount)(ADOIndexes *This,UINT *pctinfo);
   1548       HRESULT (WINAPI *GetTypeInfo)(ADOIndexes *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1549       HRESULT (WINAPI *GetIDsOfNames)(ADOIndexes *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1550       HRESULT (WINAPI *Invoke)(ADOIndexes *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1551       HRESULT (WINAPI *get_Count)(ADOIndexes *This,__LONG32 *c);
   1552       HRESULT (WINAPI *_NewEnum)(ADOIndexes *This,IUnknown **ppvObject);
   1553       HRESULT (WINAPI *Refresh)(ADOIndexes *This);
   1554       HRESULT (WINAPI *get_Item)(ADOIndexes *This,VARIANT Item,Index **ppvObject);
   1555       HRESULT (WINAPI *Append)(ADOIndexes *This,VARIANT Item,VARIANT columns);
   1556       HRESULT (WINAPI *Delete)(ADOIndexes *This,VARIANT Item);
   1557     END_INTERFACE
   1558   } IndexesVtbl;
   1559   struct Indexes {
   1560     CONST_VTBL struct IndexesVtbl *lpVtbl;
   1561   };
   1562 #ifdef COBJMACROS
   1563 #define Indexes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1564 #define Indexes_AddRef(This) (This)->lpVtbl->AddRef(This)
   1565 #define Indexes_Release(This) (This)->lpVtbl->Release(This)
   1566 #define Indexes_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1567 #define Indexes_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1568 #define Indexes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1569 #define Indexes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1570 #define Indexes_get_Count(This,c) (This)->lpVtbl->get_Count(This,c)
   1571 #define Indexes__NewEnum(This,ppvObject) (This)->lpVtbl->_NewEnum(This,ppvObject)
   1572 #define Indexes_Refresh(This) (This)->lpVtbl->Refresh(This)
   1573 #define Indexes_get_Item(This,Item,ppvObject) (This)->lpVtbl->get_Item(This,Item,ppvObject)
   1574 #define Indexes_Append(This,Item,columns) (This)->lpVtbl->Append(This,Item,columns)
   1575 #define Indexes_Delete(This,Item) (This)->lpVtbl->Delete(This,Item)
   1576 #endif
   1577 #endif
   1578   HRESULT WINAPI Indexes_get_Item_Proxy(ADOIndexes *This,VARIANT Item,Index **ppvObject);
   1579   void __RPC_STUB Indexes_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1580   HRESULT WINAPI Indexes_Append_Proxy(ADOIndexes *This,VARIANT Item,VARIANT columns);
   1581   void __RPC_STUB Indexes_Append_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1582   HRESULT WINAPI Indexes_Delete_Proxy(ADOIndexes *This,VARIANT Item);
   1583   void __RPC_STUB Indexes_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1584 #endif
   1585 
   1586 #ifndef __Keys_INTERFACE_DEFINED__
   1587 #define __Keys_INTERFACE_DEFINED__
   1588   EXTERN_C const IID IID_Keys;
   1589 #if defined(__cplusplus) && !defined(CINTERFACE)
   1590   struct ADOKeys : public _ADOCollection {
   1591   public:
   1592     virtual HRESULT WINAPI get_Item(VARIANT Item,Key **ppvObject) = 0;
   1593     virtual HRESULT WINAPI Append(VARIANT Item,KeyTypeEnum Type,VARIANT Column,BSTR RelatedADOTable = L"",BSTR RelatedADOColumn = L"") = 0;
   1594     virtual HRESULT WINAPI Delete(VARIANT Item) = 0;
   1595   };
   1596 #else
   1597   typedef struct KeysVtbl {
   1598     BEGIN_INTERFACE
   1599       HRESULT (WINAPI *QueryInterface)(ADOKeys *This,REFIID riid,void **ppvObject);
   1600       ULONG (WINAPI *AddRef)(ADOKeys *This);
   1601       ULONG (WINAPI *Release)(ADOKeys *This);
   1602       HRESULT (WINAPI *GetTypeInfoCount)(ADOKeys *This,UINT *pctinfo);
   1603       HRESULT (WINAPI *GetTypeInfo)(ADOKeys *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1604       HRESULT (WINAPI *GetIDsOfNames)(ADOKeys *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1605       HRESULT (WINAPI *Invoke)(ADOKeys *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1606       HRESULT (WINAPI *get_Count)(ADOKeys *This,__LONG32 *c);
   1607       HRESULT (WINAPI *_NewEnum)(ADOKeys *This,IUnknown **ppvObject);
   1608       HRESULT (WINAPI *Refresh)(ADOKeys *This);
   1609       HRESULT (WINAPI *get_Item)(ADOKeys *This,VARIANT Item,Key **ppvObject);
   1610       HRESULT (WINAPI *Append)(ADOKeys *This,VARIANT Item,KeyTypeEnum Type,VARIANT Column,BSTR RelatedTable,BSTR RelatedColumn);
   1611       HRESULT (WINAPI *Delete)(ADOKeys *This,VARIANT Item);
   1612     END_INTERFACE
   1613   } KeysVtbl;
   1614   struct Keys {
   1615     CONST_VTBL struct KeysVtbl *lpVtbl;
   1616   };
   1617 #ifdef COBJMACROS
   1618 #define Keys_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1619 #define Keys_AddRef(This) (This)->lpVtbl->AddRef(This)
   1620 #define Keys_Release(This) (This)->lpVtbl->Release(This)
   1621 #define Keys_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1622 #define Keys_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1623 #define Keys_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1624 #define Keys_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1625 #define Keys_get_Count(This,c) (This)->lpVtbl->get_Count(This,c)
   1626 #define Keys__NewEnum(This,ppvObject) (This)->lpVtbl->_NewEnum(This,ppvObject)
   1627 #define Keys_Refresh(This) (This)->lpVtbl->Refresh(This)
   1628 #define Keys_get_Item(This,Item,ppvObject) (This)->lpVtbl->get_Item(This,Item,ppvObject)
   1629 #define Keys_Append(This,Item,Type,Column,RelatedTable,RelatedColumn) (This)->lpVtbl->Append(This,Item,Type,Column,RelatedTable,RelatedColumn)
   1630 #define Keys_Delete(This,Item) (This)->lpVtbl->Delete(This,Item)
   1631 #endif
   1632 #endif
   1633   HRESULT WINAPI Keys_get_Item_Proxy(ADOKeys *This,VARIANT Item,Key **ppvObject);
   1634   void __RPC_STUB Keys_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1635   HRESULT WINAPI Keys_Append_Proxy(ADOKeys *This,VARIANT Item,KeyTypeEnum Type,VARIANT Column,BSTR RelatedTable,BSTR RelatedColumn);
   1636   void __RPC_STUB Keys_Append_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1637   HRESULT WINAPI Keys_Delete_Proxy(ADOKeys *This,VARIANT Item);
   1638   void __RPC_STUB Keys_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1639 #endif
   1640 
   1641 #ifndef __Users_INTERFACE_DEFINED__
   1642 #define __Users_INTERFACE_DEFINED__
   1643   EXTERN_C const IID IID_Users;
   1644 #if defined(__cplusplus) && !defined(CINTERFACE)
   1645   struct ADOUsers : public _ADOCollection {
   1646   public:
   1647     virtual HRESULT WINAPI get_Item(VARIANT Item,User **ppvObject) = 0;
   1648     virtual HRESULT WINAPI Append(VARIANT Item,BSTR Password = L"") = 0;
   1649     virtual HRESULT WINAPI Delete(VARIANT Item) = 0;
   1650   };
   1651 #else
   1652   typedef struct UsersVtbl {
   1653     BEGIN_INTERFACE
   1654       HRESULT (WINAPI *QueryInterface)(ADOUsers *This,REFIID riid,void **ppvObject);
   1655       ULONG (WINAPI *AddRef)(ADOUsers *This);
   1656       ULONG (WINAPI *Release)(ADOUsers *This);
   1657       HRESULT (WINAPI *GetTypeInfoCount)(ADOUsers *This,UINT *pctinfo);
   1658       HRESULT (WINAPI *GetTypeInfo)(ADOUsers *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1659       HRESULT (WINAPI *GetIDsOfNames)(ADOUsers *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1660       HRESULT (WINAPI *Invoke)(ADOUsers *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1661       HRESULT (WINAPI *get_Count)(ADOUsers *This,__LONG32 *c);
   1662       HRESULT (WINAPI *_NewEnum)(ADOUsers *This,IUnknown **ppvObject);
   1663       HRESULT (WINAPI *Refresh)(ADOUsers *This);
   1664       HRESULT (WINAPI *get_Item)(ADOUsers *This,VARIANT Item,User **ppvObject);
   1665       HRESULT (WINAPI *Append)(ADOUsers *This,VARIANT Item,BSTR Password);
   1666       HRESULT (WINAPI *Delete)(ADOUsers *This,VARIANT Item);
   1667     END_INTERFACE
   1668   } UsersVtbl;
   1669   struct Users {
   1670     CONST_VTBL struct UsersVtbl *lpVtbl;
   1671   };
   1672 
   1673 #ifdef COBJMACROS
   1674 #define Users_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1675 #define Users_AddRef(This) (This)->lpVtbl->AddRef(This)
   1676 #define Users_Release(This) (This)->lpVtbl->Release(This)
   1677 #define Users_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1678 #define Users_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1679 #define Users_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1680 #define Users_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1681 #define Users_get_Count(This,c) (This)->lpVtbl->get_Count(This,c)
   1682 #define Users__NewEnum(This,ppvObject) (This)->lpVtbl->_NewEnum(This,ppvObject)
   1683 #define Users_Refresh(This) (This)->lpVtbl->Refresh(This)
   1684 #define Users_get_Item(This,Item,ppvObject) (This)->lpVtbl->get_Item(This,Item,ppvObject)
   1685 #define Users_Append(This,Item,Password) (This)->lpVtbl->Append(This,Item,Password)
   1686 #define Users_Delete(This,Item) (This)->lpVtbl->Delete(This,Item)
   1687 #endif
   1688 #endif
   1689   HRESULT WINAPI Users_get_Item_Proxy(ADOUsers *This,VARIANT Item,User **ppvObject);
   1690   void __RPC_STUB Users_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1691   HRESULT WINAPI Users_Append_Proxy(ADOUsers *This,VARIANT Item,BSTR Password);
   1692   void __RPC_STUB Users_Append_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1693   HRESULT WINAPI Users_Delete_Proxy(ADOUsers *This,VARIANT Item);
   1694   void __RPC_STUB Users_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1695 #endif
   1696 
   1697 #ifndef __Groups_INTERFACE_DEFINED__
   1698 #define __Groups_INTERFACE_DEFINED__
   1699   EXTERN_C const IID IID_Groups;
   1700 #if defined(__cplusplus) && !defined(CINTERFACE)
   1701   struct ADOGroups : public _ADOCollection {
   1702   public:
   1703     virtual HRESULT WINAPI get_Item(VARIANT Item,Group **ppvObject) = 0;
   1704     virtual HRESULT WINAPI Append(VARIANT Item) = 0;
   1705     virtual HRESULT WINAPI Delete(VARIANT Item) = 0;
   1706   };
   1707 #else
   1708   typedef struct GroupsVtbl {
   1709     BEGIN_INTERFACE
   1710       HRESULT (WINAPI *QueryInterface)(ADOGroups *This,REFIID riid,void **ppvObject);
   1711       ULONG (WINAPI *AddRef)(ADOGroups *This);
   1712       ULONG (WINAPI *Release)(ADOGroups *This);
   1713       HRESULT (WINAPI *GetTypeInfoCount)(ADOGroups *This,UINT *pctinfo);
   1714       HRESULT (WINAPI *GetTypeInfo)(ADOGroups *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1715       HRESULT (WINAPI *GetIDsOfNames)(ADOGroups *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1716       HRESULT (WINAPI *Invoke)(ADOGroups *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1717       HRESULT (WINAPI *get_Count)(ADOGroups *This,__LONG32 *c);
   1718       HRESULT (WINAPI *_NewEnum)(ADOGroups *This,IUnknown **ppvObject);
   1719       HRESULT (WINAPI *Refresh)(ADOGroups *This);
   1720       HRESULT (WINAPI *get_Item)(ADOGroups *This,VARIANT Item,Group **ppvObject);
   1721       HRESULT (WINAPI *Append)(ADOGroups *This,VARIANT Item);
   1722       HRESULT (WINAPI *Delete)(ADOGroups *This,VARIANT Item);
   1723     END_INTERFACE
   1724   } GroupsVtbl;
   1725   struct Groups {
   1726     CONST_VTBL struct GroupsVtbl *lpVtbl;
   1727   };
   1728 #ifdef COBJMACROS
   1729 #define Groups_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1730 #define Groups_AddRef(This) (This)->lpVtbl->AddRef(This)
   1731 #define Groups_Release(This) (This)->lpVtbl->Release(This)
   1732 #define Groups_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1733 #define Groups_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1734 #define Groups_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1735 #define Groups_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1736 #define Groups_get_Count(This,c) (This)->lpVtbl->get_Count(This,c)
   1737 #define Groups__NewEnum(This,ppvObject) (This)->lpVtbl->_NewEnum(This,ppvObject)
   1738 #define Groups_Refresh(This) (This)->lpVtbl->Refresh(This)
   1739 #define Groups_get_Item(This,Item,ppvObject) (This)->lpVtbl->get_Item(This,Item,ppvObject)
   1740 #define Groups_Append(This,Item) (This)->lpVtbl->Append(This,Item)
   1741 #define Groups_Delete(This,Item) (This)->lpVtbl->Delete(This,Item)
   1742 #endif
   1743 #endif
   1744   HRESULT WINAPI Groups_get_Item_Proxy(ADOGroups *This,VARIANT Item,Group **ppvObject);
   1745   void __RPC_STUB Groups_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1746   HRESULT WINAPI Groups_Append_Proxy(ADOGroups *This,VARIANT Item);
   1747   void __RPC_STUB Groups_Append_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1748   HRESULT WINAPI Groups_Delete_Proxy(ADOGroups *This,VARIANT Item);
   1749   void __RPC_STUB Groups_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1750 #endif
   1751 
   1752 #ifndef __Properties_INTERFACE_DEFINED__
   1753 #define __Properties_INTERFACE_DEFINED__
   1754   EXTERN_C const IID IID_Properties;
   1755 #if defined(__cplusplus) && !defined(CINTERFACE)
   1756   struct ADOProperties : public _ADOCollection {
   1757   public:
   1758     virtual HRESULT WINAPI get_Item(VARIANT Item,ADOProperty **ppvObject) = 0;
   1759   };
   1760 #else
   1761   typedef struct PropertiesVtbl {
   1762     BEGIN_INTERFACE
   1763       HRESULT (WINAPI *QueryInterface)(ADOProperties *This,REFIID riid,void **ppvObject);
   1764       ULONG (WINAPI *AddRef)(ADOProperties *This);
   1765       ULONG (WINAPI *Release)(ADOProperties *This);
   1766       HRESULT (WINAPI *GetTypeInfoCount)(ADOProperties *This,UINT *pctinfo);
   1767       HRESULT (WINAPI *GetTypeInfo)(ADOProperties *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1768       HRESULT (WINAPI *GetIDsOfNames)(ADOProperties *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1769       HRESULT (WINAPI *Invoke)(ADOProperties *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1770       HRESULT (WINAPI *get_Count)(ADOProperties *This,__LONG32 *c);
   1771       HRESULT (WINAPI *_NewEnum)(ADOProperties *This,IUnknown **ppvObject);
   1772       HRESULT (WINAPI *Refresh)(ADOProperties *This);
   1773       HRESULT (WINAPI *get_Item)(ADOProperties *This,VARIANT Item,ADOProperty **ppvObject);
   1774     END_INTERFACE
   1775   } PropertiesVtbl;
   1776   struct Properties {
   1777     CONST_VTBL struct PropertiesVtbl *lpVtbl;
   1778   };
   1779 #ifdef COBJMACROS
   1780 #define Properties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1781 #define Properties_AddRef(This) (This)->lpVtbl->AddRef(This)
   1782 #define Properties_Release(This) (This)->lpVtbl->Release(This)
   1783 #define Properties_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1784 #define Properties_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1785 #define Properties_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1786 #define Properties_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1787 #define Properties_get_Count(This,c) (This)->lpVtbl->get_Count(This,c)
   1788 #define Properties__NewEnum(This,ppvObject) (This)->lpVtbl->_NewEnum(This,ppvObject)
   1789 #define Properties_Refresh(This) (This)->lpVtbl->Refresh(This)
   1790 #define Properties_get_Item(This,Item,ppvObject) (This)->lpVtbl->get_Item(This,Item,ppvObject)
   1791 #endif
   1792 #endif
   1793   HRESULT WINAPI Properties_get_Item_Proxy(ADOProperties *This,VARIANT Item,ADOProperty **ppvObject);
   1794   void __RPC_STUB Properties_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1795 #endif
   1796 #endif
   1797 
   1798 #ifdef __cplusplus
   1799 }
   1800 #endif
   1801 #endif
   1802 
   1803 #define ADOCatalog _ADOCatalog
   1804 #define ADOTable _ADOTable
   1805 #define ADOGroup _ADOGroup
   1806 #define ADOUser _ADOUser
   1807 #define ADOIndex _ADOIndex
   1808 #define ADOColumn _ADOColumn
   1809 #define ADOKey _ADOKey
   1810 #define ADOParameter _ADOParameter
   1811 #define ADOCollection _ADOCollection
   1812 #define ADODynaCollection _ADODynaCollection
   1813 #endif
   1814