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