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