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 __REQUIRED_RPCNDR_H_VERSION__
7#define __REQUIRED_RPCNDR_H_VERSION__ 440
8#endif
9
10#include "rpc.h"
11#include "rpcndr.h"
12
13#ifndef __RPCNDR_H_VERSION__
14#error This stub requires an updated version of <rpcndr.h>
15#endif
16
17#ifndef COM_NO_WINDOWS_H
18#include "windows.h"
19#include "ole2.h"
20#endif
21
22#ifndef __oledbdep_h__
23#define __oledbdep_h__
24
25#ifndef __IRowsetNextRowset_FWD_DEFINED__
26#define __IRowsetNextRowset_FWD_DEFINED__
27typedef struct IRowsetNextRowset IRowsetNextRowset;
28#endif
29
30#ifndef __IRowsetNewRowAfter_FWD_DEFINED__
31#define __IRowsetNewRowAfter_FWD_DEFINED__
32typedef struct IRowsetNewRowAfter IRowsetNewRowAfter;
33#endif
34
35#ifndef __IRowsetWithParameters_FWD_DEFINED__
36#define __IRowsetWithParameters_FWD_DEFINED__
37typedef struct IRowsetWithParameters IRowsetWithParameters;
38#endif
39
40#ifndef __IRowsetAsynch_FWD_DEFINED__
41#define __IRowsetAsynch_FWD_DEFINED__
42typedef struct IRowsetAsynch IRowsetAsynch;
43#endif
44
45#ifndef __IRowsetKeys_FWD_DEFINED__
46#define __IRowsetKeys_FWD_DEFINED__
47typedef struct IRowsetKeys IRowsetKeys;
48#endif
49
50#ifndef __IRowsetWatchAll_FWD_DEFINED__
51#define __IRowsetWatchAll_FWD_DEFINED__
52typedef struct IRowsetWatchAll IRowsetWatchAll;
53#endif
54
55#ifndef __IRowsetWatchNotify_FWD_DEFINED__
56#define __IRowsetWatchNotify_FWD_DEFINED__
57typedef struct IRowsetWatchNotify IRowsetWatchNotify;
58#endif
59
60#ifndef __IRowsetWatchRegion_FWD_DEFINED__
61#define __IRowsetWatchRegion_FWD_DEFINED__
62typedef struct IRowsetWatchRegion IRowsetWatchRegion;
63#endif
64
65#ifndef __IRowsetCopyRows_FWD_DEFINED__
66#define __IRowsetCopyRows_FWD_DEFINED__
67typedef struct IRowsetCopyRows IRowsetCopyRows;
68#endif
69
70#ifndef __IReadData_FWD_DEFINED__
71#define __IReadData_FWD_DEFINED__
72typedef struct IReadData IReadData;
73#endif
74
75#ifndef __ICommandCost_FWD_DEFINED__
76#define __ICommandCost_FWD_DEFINED__
77typedef struct ICommandCost ICommandCost;
78#endif
79
80#ifndef __ICommandValidate_FWD_DEFINED__
81#define __ICommandValidate_FWD_DEFINED__
82typedef struct ICommandValidate ICommandValidate;
83#endif
84
85#ifndef __ITableRename_FWD_DEFINED__
86#define __ITableRename_FWD_DEFINED__
87typedef struct ITableRename ITableRename;
88#endif
89
90#ifndef __IDBSchemaCommand_FWD_DEFINED__
91#define __IDBSchemaCommand_FWD_DEFINED__
92typedef struct IDBSchemaCommand IDBSchemaCommand;
93#endif
94
95#ifndef __IProvideMoniker_FWD_DEFINED__
96#define __IProvideMoniker_FWD_DEFINED__
97typedef struct IProvideMoniker IProvideMoniker;
98#endif
99
100#include "oledb.h"
101
102#ifdef __cplusplus
103extern "C" {
104#endif
105
106#ifndef __MIDL_user_allocate_free_DEFINED__
107#define __MIDL_user_allocate_free_DEFINED__
108  void *__RPC_API MIDL_user_allocate(size_t);
109  void __RPC_API MIDL_user_free(void *);
110#endif
111
112#ifdef _WIN64
113#include <pshpack8.h>
114#else
115#include <pshpack2.h>
116#endif
117
118  extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_v0_0_c_ifspec;
119  extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_v0_0_s_ifspec;
120
121#ifndef __DBStructureDefinitionsDep_INTERFACE_DEFINED__
122#define __DBStructureDefinitionsDep_INTERFACE_DEFINED__
123
124#undef OLEDBDECLSPEC
125#define OLEDBDECLSPEC __declspec(selectany)
126
127#ifdef DBINITCONSTANTS
128  extern const OLEDBDECLSPEC GUID DB_PROPERTY_CHECK_OPTION = {0xc8b5220b,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
129  extern const OLEDBDECLSPEC GUID DB_PROPERTY_CONSTRAINT_CHECK_DEFERRED = {0xc8b521f0,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
130  extern const OLEDBDECLSPEC GUID DB_PROPERTY_DROP_CASCADE = {0xc8b521f3,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
131  extern const OLEDBDECLSPEC GUID DB_PROPERTY_UNIQUE = {0xc8b521f5,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
132  extern const OLEDBDECLSPEC GUID DB_PROPERTY_ON_COMMIT_PRESERVE_ROWS = {0xc8b52230,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
133  extern const OLEDBDECLSPEC GUID DB_PROPERTY_PRIMARY = {0xc8b521fc,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
134  extern const OLEDBDECLSPEC GUID DB_PROPERTY_CLUSTERED = {0xc8b521ff,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
135  extern const OLEDBDECLSPEC GUID DB_PROPERTY_NONCLUSTERED = {0xc8b52200,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
136  extern const OLEDBDECLSPEC GUID DB_PROPERTY_BTREE = {0xc8b52201,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
137  extern const OLEDBDECLSPEC GUID DB_PROPERTY_HASH = {0xc8b52202,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
138  extern const OLEDBDECLSPEC GUID DB_PROPERTY_FILLFACTOR = {0xc8b52203,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
139  extern const OLEDBDECLSPEC GUID DB_PROPERTY_INITIALSIZE = {0xc8b52204,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
140  extern const OLEDBDECLSPEC GUID DB_PROPERTY_DISALLOWNULL = {0xc8b52205,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
141  extern const OLEDBDECLSPEC GUID DB_PROPERTY_IGNORENULL = {0xc8b52206,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
142  extern const OLEDBDECLSPEC GUID DB_PROPERTY_IGNOREANYNULL = {0xc8b52207,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
143  extern const OLEDBDECLSPEC GUID DB_PROPERTY_SORTBOOKMARKS = {0xc8b52208,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
144  extern const OLEDBDECLSPEC GUID DB_PROPERTY_AUTOMATICUPDATE = {0xc8b52209,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
145  extern const OLEDBDECLSPEC GUID DB_PROPERTY_EXPLICITUPDATE = {0xc8b5220a,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
146#else
147  extern const GUID DB_PROPERTY_CHECK_OPTION;
148  extern const GUID DB_PROPERTY_CONSTRAINT_CHECK_DEFERRED;
149  extern const GUID DB_PROPERTY_DROP_CASCADE;
150  extern const GUID DB_PROPERTY_ON_COMMIT_PRESERVE_ROWS;
151  extern const GUID DB_PROPERTY_UNIQUE;
152  extern const GUID DB_PROPERTY_PRIMARY;
153  extern const GUID DB_PROPERTY_CLUSTERED;
154  extern const GUID DB_PROPERTY_NONCLUSTERED;
155  extern const GUID DB_PROPERTY_BTREE;
156  extern const GUID DB_PROPERTY_HASH;
157  extern const GUID DB_PROPERTY_FILLFACTOR;
158  extern const GUID DB_PROPERTY_INITIALSIZE;
159  extern const GUID DB_PROPERTY_DISALLOWNULL;
160  extern const GUID DB_PROPERTY_IGNORENULL;
161  extern const GUID DB_PROPERTY_IGNOREANYNULL;
162  extern const GUID DB_PROPERTY_SORTBOOKMARKS;
163  extern const GUID DB_PROPERTY_AUTOMATICUPDATE;
164  extern const GUID DB_PROPERTY_EXPLICITUPDATE;
165#endif
166
167  enum DBPROPENUM25_DEPRECATED {
168    DBPROP_ICommandCost = 0x8d,DBPROP_ICommandTree = 0x8e,DBPROP_ICommandValidate = 0x8f,DBPROP_IDBSchemaCommand = 0x90,
169    DBPROP_IProvideMoniker = 0x7d,DBPROP_IQuery = 0x92,DBPROP_IReadData = 0x93,DBPROP_IRowsetAsynch = 0x94,DBPROP_IRowsetCopyRows = 0x95,
170    DBPROP_IRowsetKeys = 0x97,DBPROP_IRowsetNewRowAfter = 0x98,DBPROP_IRowsetNextRowset = 0x99,DBPROP_IRowsetWatchAll = 0x9b,
171    DBPROP_IRowsetWatchNotify = 0x9c,DBPROP_IRowsetWatchRegion = 0x9d,DBPROP_IRowsetWithParameters = 0x9e
172  };
173
174  enum DBREASONENUM25 {
175    DBREASON_ROWSET_ROWSADDED = DBREASON_ROW_ASYNCHINSERT + 1,
176    DBREASON_ROWSET_POPULATIONCOMPLETE,DBREASON_ROWSET_POPULATIONSTOPPED
177  };
178
179  extern RPC_IF_HANDLE DBStructureDefinitionsDep_v0_0_c_ifspec;
180  extern RPC_IF_HANDLE DBStructureDefinitionsDep_v0_0_s_ifspec;
181#endif
182
183#ifndef __IRowsetNextRowset_INTERFACE_DEFINED__
184#define __IRowsetNextRowset_INTERFACE_DEFINED__
185  EXTERN_C const IID IID_IRowsetNextRowset;
186#if defined(__cplusplus) && !defined(CINTERFACE)
187  struct IRowsetNextRowset : public IUnknown {
188  public:
189    virtual HRESULT WINAPI GetNextRowset(IUnknown *pUnkOuter,REFIID riid,IUnknown **ppNextRowset) = 0;
190  };
191#else
192  typedef struct IRowsetNextRowsetVtbl {
193    BEGIN_INTERFACE
194      HRESULT (WINAPI *QueryInterface)(IRowsetNextRowset *This,REFIID riid,void **ppvObject);
195      ULONG (WINAPI *AddRef)(IRowsetNextRowset *This);
196      ULONG (WINAPI *Release)(IRowsetNextRowset *This);
197      HRESULT (WINAPI *GetNextRowset)(IRowsetNextRowset *This,IUnknown *pUnkOuter,REFIID riid,IUnknown **ppNextRowset);
198    END_INTERFACE
199  } IRowsetNextRowsetVtbl;
200  struct IRowsetNextRowset {
201    CONST_VTBL struct IRowsetNextRowsetVtbl *lpVtbl;
202  };
203#ifdef COBJMACROS
204#define IRowsetNextRowset_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
205#define IRowsetNextRowset_AddRef(This) (This)->lpVtbl->AddRef(This)
206#define IRowsetNextRowset_Release(This) (This)->lpVtbl->Release(This)
207#define IRowsetNextRowset_GetNextRowset(This,pUnkOuter,riid,ppNextRowset) (This)->lpVtbl->GetNextRowset(This,pUnkOuter,riid,ppNextRowset)
208#endif
209#endif
210  HRESULT WINAPI IRowsetNextRowset_GetNextRowset_Proxy(IRowsetNextRowset *This,IUnknown *pUnkOuter,REFIID riid,IUnknown **ppNextRowset);
211  void __RPC_STUB IRowsetNextRowset_GetNextRowset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
212#endif
213
214#ifndef __IRowsetNewRowAfter_INTERFACE_DEFINED__
215#define __IRowsetNewRowAfter_INTERFACE_DEFINED__
216  EXTERN_C const IID IID_IRowsetNewRowAfter;
217#if defined(__cplusplus) && !defined(CINTERFACE)
218  struct IRowsetNewRowAfter : public IUnknown {
219  public:
220    virtual HRESULT WINAPI SetNewDataAfter(HCHAPTER hChapter,ULONG cbbmPrevious,const BYTE *pbmPrevious,HACCESSOR hAccessor,BYTE *pData,HROW *phRow) = 0;
221  };
222#else
223  typedef struct IRowsetNewRowAfterVtbl {
224    BEGIN_INTERFACE
225      HRESULT (WINAPI *QueryInterface)(IRowsetNewRowAfter *This,REFIID riid,void **ppvObject);
226      ULONG (WINAPI *AddRef)(IRowsetNewRowAfter *This);
227      ULONG (WINAPI *Release)(IRowsetNewRowAfter *This);
228      HRESULT (WINAPI *SetNewDataAfter)(IRowsetNewRowAfter *This,HCHAPTER hChapter,ULONG cbbmPrevious,const BYTE *pbmPrevious,HACCESSOR hAccessor,BYTE *pData,HROW *phRow);
229    END_INTERFACE
230  } IRowsetNewRowAfterVtbl;
231  struct IRowsetNewRowAfter {
232    CONST_VTBL struct IRowsetNewRowAfterVtbl *lpVtbl;
233  };
234#ifdef COBJMACROS
235#define IRowsetNewRowAfter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
236#define IRowsetNewRowAfter_AddRef(This) (This)->lpVtbl->AddRef(This)
237#define IRowsetNewRowAfter_Release(This) (This)->lpVtbl->Release(This)
238#define IRowsetNewRowAfter_SetNewDataAfter(This,hChapter,cbbmPrevious,pbmPrevious,hAccessor,pData,phRow) (This)->lpVtbl->SetNewDataAfter(This,hChapter,cbbmPrevious,pbmPrevious,hAccessor,pData,phRow)
239#endif
240#endif
241  HRESULT WINAPI IRowsetNewRowAfter_SetNewDataAfter_Proxy(IRowsetNewRowAfter *This,HCHAPTER hChapter,ULONG cbbmPrevious,const BYTE *pbmPrevious,HACCESSOR hAccessor,BYTE *pData,HROW *phRow);
242  void __RPC_STUB IRowsetNewRowAfter_SetNewDataAfter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
243#endif
244
245#ifndef __IRowsetWithParameters_INTERFACE_DEFINED__
246#define __IRowsetWithParameters_INTERFACE_DEFINED__
247  EXTERN_C const IID IID_IRowsetWithParameters;
248#if defined(__cplusplus) && !defined(CINTERFACE)
249  struct IRowsetWithParameters : public IUnknown {
250  public:
251    virtual HRESULT WINAPI GetParameterInfo(DB_UPARAMS *pcParams,DBPARAMINFO **prgParamInfo,OLECHAR **ppNamesBuffer) = 0;
252    virtual HRESULT WINAPI Requery(DBPARAMS *pParams,ULONG *pulErrorParam,HCHAPTER *phReserved) = 0;
253  };
254#else
255  typedef struct IRowsetWithParametersVtbl {
256    BEGIN_INTERFACE
257      HRESULT (WINAPI *QueryInterface)(IRowsetWithParameters *This,REFIID riid,void **ppvObject);
258      ULONG (WINAPI *AddRef)(IRowsetWithParameters *This);
259      ULONG (WINAPI *Release)(IRowsetWithParameters *This);
260      HRESULT (WINAPI *GetParameterInfo)(IRowsetWithParameters *This,DB_UPARAMS *pcParams,DBPARAMINFO **prgParamInfo,OLECHAR **ppNamesBuffer);
261      HRESULT (WINAPI *Requery)(IRowsetWithParameters *This,DBPARAMS *pParams,ULONG *pulErrorParam,HCHAPTER *phReserved);
262    END_INTERFACE
263  } IRowsetWithParametersVtbl;
264  struct IRowsetWithParameters {
265    CONST_VTBL struct IRowsetWithParametersVtbl *lpVtbl;
266  };
267#ifdef COBJMACROS
268#define IRowsetWithParameters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
269#define IRowsetWithParameters_AddRef(This) (This)->lpVtbl->AddRef(This)
270#define IRowsetWithParameters_Release(This) (This)->lpVtbl->Release(This)
271#define IRowsetWithParameters_GetParameterInfo(This,pcParams,prgParamInfo,ppNamesBuffer) (This)->lpVtbl->GetParameterInfo(This,pcParams,prgParamInfo,ppNamesBuffer)
272#define IRowsetWithParameters_Requery(This,pParams,pulErrorParam,phReserved) (This)->lpVtbl->Requery(This,pParams,pulErrorParam,phReserved)
273#endif
274#endif
275  HRESULT WINAPI IRowsetWithParameters_GetParameterInfo_Proxy(IRowsetWithParameters *This,DB_UPARAMS *pcParams,DBPARAMINFO **prgParamInfo,OLECHAR **ppNamesBuffer);
276  void __RPC_STUB IRowsetWithParameters_GetParameterInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
277  HRESULT WINAPI IRowsetWithParameters_Requery_Proxy(IRowsetWithParameters *This,DBPARAMS *pParams,ULONG *pulErrorParam,HCHAPTER *phReserved);
278  void __RPC_STUB IRowsetWithParameters_Requery_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
279#endif
280
281#ifndef __IRowsetAsynch_INTERFACE_DEFINED__
282#define __IRowsetAsynch_INTERFACE_DEFINED__
283  EXTERN_C const IID IID_IRowsetAsynch;
284#if defined(__cplusplus) && !defined(CINTERFACE)
285  struct IRowsetAsynch : public IUnknown {
286  public:
287    virtual HRESULT WINAPI RatioFinished(DBCOUNTITEM *pulDenominator,DBCOUNTITEM *pulNumerator,DBCOUNTITEM *pcRows,WINBOOL *pfNewRows) = 0;
288    virtual HRESULT WINAPI Stop(void) = 0;
289  };
290#else
291  typedef struct IRowsetAsynchVtbl {
292    BEGIN_INTERFACE
293      HRESULT (WINAPI *QueryInterface)(IRowsetAsynch *This,REFIID riid,void **ppvObject);
294      ULONG (WINAPI *AddRef)(IRowsetAsynch *This);
295      ULONG (WINAPI *Release)(IRowsetAsynch *This);
296      HRESULT (WINAPI *RatioFinished)(IRowsetAsynch *This,DBCOUNTITEM *pulDenominator,DBCOUNTITEM *pulNumerator,DBCOUNTITEM *pcRows,WINBOOL *pfNewRows);
297      HRESULT (WINAPI *Stop)(IRowsetAsynch *This);
298    END_INTERFACE
299  } IRowsetAsynchVtbl;
300  struct IRowsetAsynch {
301    CONST_VTBL struct IRowsetAsynchVtbl *lpVtbl;
302  };
303#ifdef COBJMACROS
304#define IRowsetAsynch_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
305#define IRowsetAsynch_AddRef(This) (This)->lpVtbl->AddRef(This)
306#define IRowsetAsynch_Release(This) (This)->lpVtbl->Release(This)
307#define IRowsetAsynch_RatioFinished(This,pulDenominator,pulNumerator,pcRows,pfNewRows) (This)->lpVtbl->RatioFinished(This,pulDenominator,pulNumerator,pcRows,pfNewRows)
308#define IRowsetAsynch_Stop(This) (This)->lpVtbl->Stop(This)
309#endif
310#endif
311  HRESULT WINAPI IRowsetAsynch_RatioFinished_Proxy(IRowsetAsynch *This,DBCOUNTITEM *pulDenominator,DBCOUNTITEM *pulNumerator,DBCOUNTITEM *pcRows,WINBOOL *pfNewRows);
312  void __RPC_STUB IRowsetAsynch_RatioFinished_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
313  HRESULT WINAPI IRowsetAsynch_Stop_Proxy(IRowsetAsynch *This);
314  void __RPC_STUB IRowsetAsynch_Stop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
315#endif
316
317#ifndef __IRowsetKeys_INTERFACE_DEFINED__
318#define __IRowsetKeys_INTERFACE_DEFINED__
319  EXTERN_C const IID IID_IRowsetKeys;
320#if defined(__cplusplus) && !defined(CINTERFACE)
321  struct IRowsetKeys : public IUnknown {
322  public:
323    virtual HRESULT WINAPI ListKeys(DBORDINAL *pcColumns,DBORDINAL **prgColumns) = 0;
324  };
325#else
326  typedef struct IRowsetKeysVtbl {
327    BEGIN_INTERFACE
328      HRESULT (WINAPI *QueryInterface)(IRowsetKeys *This,REFIID riid,void **ppvObject);
329      ULONG (WINAPI *AddRef)(IRowsetKeys *This);
330      ULONG (WINAPI *Release)(IRowsetKeys *This);
331      HRESULT (WINAPI *ListKeys)(IRowsetKeys *This,DBORDINAL *pcColumns,DBORDINAL **prgColumns);
332    END_INTERFACE
333  } IRowsetKeysVtbl;
334  struct IRowsetKeys {
335    CONST_VTBL struct IRowsetKeysVtbl *lpVtbl;
336  };
337#ifdef COBJMACROS
338#define IRowsetKeys_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
339#define IRowsetKeys_AddRef(This) (This)->lpVtbl->AddRef(This)
340#define IRowsetKeys_Release(This) (This)->lpVtbl->Release(This)
341#define IRowsetKeys_ListKeys(This,pcColumns,prgColumns) (This)->lpVtbl->ListKeys(This,pcColumns,prgColumns)
342#endif
343#endif
344  HRESULT WINAPI IRowsetKeys_ListKeys_Proxy(IRowsetKeys *This,DBORDINAL *pcColumns,DBORDINAL **prgColumns);
345  void __RPC_STUB IRowsetKeys_ListKeys_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
346#endif
347
348#ifndef __IRowsetWatchAll_INTERFACE_DEFINED__
349#define __IRowsetWatchAll_INTERFACE_DEFINED__
350  EXTERN_C const IID IID_IRowsetWatchAll;
351#if defined(__cplusplus) && !defined(CINTERFACE)
352  struct IRowsetWatchAll : public IUnknown {
353  public:
354    virtual HRESULT WINAPI Acknowledge(void) = 0;
355    virtual HRESULT WINAPI Start(void) = 0;
356    virtual HRESULT WINAPI StopWatching(void) = 0;
357  };
358#else
359  typedef struct IRowsetWatchAllVtbl {
360    BEGIN_INTERFACE
361      HRESULT (WINAPI *QueryInterface)(IRowsetWatchAll *This,REFIID riid,void **ppvObject);
362      ULONG (WINAPI *AddRef)(IRowsetWatchAll *This);
363      ULONG (WINAPI *Release)(IRowsetWatchAll *This);
364      HRESULT (WINAPI *Acknowledge)(IRowsetWatchAll *This);
365      HRESULT (WINAPI *Start)(IRowsetWatchAll *This);
366      HRESULT (WINAPI *StopWatching)(IRowsetWatchAll *This);
367    END_INTERFACE
368  } IRowsetWatchAllVtbl;
369  struct IRowsetWatchAll {
370    CONST_VTBL struct IRowsetWatchAllVtbl *lpVtbl;
371  };
372#ifdef COBJMACROS
373#define IRowsetWatchAll_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
374#define IRowsetWatchAll_AddRef(This) (This)->lpVtbl->AddRef(This)
375#define IRowsetWatchAll_Release(This) (This)->lpVtbl->Release(This)
376#define IRowsetWatchAll_Acknowledge(This) (This)->lpVtbl->Acknowledge(This)
377#define IRowsetWatchAll_Start(This) (This)->lpVtbl->Start(This)
378#define IRowsetWatchAll_StopWatching(This) (This)->lpVtbl->StopWatching(This)
379#endif
380#endif
381  HRESULT WINAPI IRowsetWatchAll_Acknowledge_Proxy(IRowsetWatchAll *This);
382  void __RPC_STUB IRowsetWatchAll_Acknowledge_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
383  HRESULT WINAPI IRowsetWatchAll_Start_Proxy(IRowsetWatchAll *This);
384  void __RPC_STUB IRowsetWatchAll_Start_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
385  HRESULT WINAPI IRowsetWatchAll_StopWatching_Proxy(IRowsetWatchAll *This);
386  void __RPC_STUB IRowsetWatchAll_StopWatching_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
387#endif
388
389#ifndef __IRowsetWatchNotify_INTERFACE_DEFINED__
390#define __IRowsetWatchNotify_INTERFACE_DEFINED__
391  typedef DWORD DBWATCHNOTIFY;
392
393  enum DBWATCHNOTIFYENUM {
394    DBWATCHNOTIFY_ROWSCHANGED = 1,DBWATCHNOTIFY_QUERYDONE = 2,DBWATCHNOTIFY_QUERYREEXECUTED = 3
395  };
396
397  EXTERN_C const IID IID_IRowsetWatchNotify;
398#if defined(__cplusplus) && !defined(CINTERFACE)
399  struct IRowsetWatchNotify : public IUnknown {
400  public:
401    virtual HRESULT WINAPI OnChange(IRowset *pRowset,DBWATCHNOTIFY eChangeReason) = 0;
402  };
403#else
404  typedef struct IRowsetWatchNotifyVtbl {
405    BEGIN_INTERFACE
406      HRESULT (WINAPI *QueryInterface)(IRowsetWatchNotify *This,REFIID riid,void **ppvObject);
407      ULONG (WINAPI *AddRef)(IRowsetWatchNotify *This);
408      ULONG (WINAPI *Release)(IRowsetWatchNotify *This);
409      HRESULT (WINAPI *OnChange)(IRowsetWatchNotify *This,IRowset *pRowset,DBWATCHNOTIFY eChangeReason);
410    END_INTERFACE
411  } IRowsetWatchNotifyVtbl;
412  struct IRowsetWatchNotify {
413    CONST_VTBL struct IRowsetWatchNotifyVtbl *lpVtbl;
414  };
415#ifdef COBJMACROS
416#define IRowsetWatchNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
417#define IRowsetWatchNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
418#define IRowsetWatchNotify_Release(This) (This)->lpVtbl->Release(This)
419#define IRowsetWatchNotify_OnChange(This,pRowset,eChangeReason) (This)->lpVtbl->OnChange(This,pRowset,eChangeReason)
420#endif
421#endif
422  HRESULT WINAPI IRowsetWatchNotify_OnChange_Proxy(IRowsetWatchNotify *This,IRowset *pRowset,DBWATCHNOTIFY eChangeReason);
423  void __RPC_STUB IRowsetWatchNotify_OnChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
424#endif
425
426#ifndef __IRowsetWatchRegion_INTERFACE_DEFINED__
427#define __IRowsetWatchRegion_INTERFACE_DEFINED__
428  typedef DWORD DBWATCHMODE;
429
430  enum DBWATCHMODEENUM {
431    DBWATCHMODE_ALL = 0x1,DBWATCHMODE_EXTEND = 0x2,DBWATCHMODE_MOVE = 0x4,DBWATCHMODE_COUNT = 0x8
432  };
433  typedef DWORD DBROWCHANGEKIND;
434
435  enum DBROWCHANGEKINDENUM {
436    DBROWCHANGEKIND_INSERT = 0,
437    DBROWCHANGEKIND_DELETE,DBROWCHANGEKIND_UPDATE,DBROWCHANGEKIND_COUNT
438  };
439
440  typedef struct tagDBROWWATCHRANGE {
441    HWATCHREGION hRegion;
442    DBROWCHANGEKIND eChangeKind;
443    HROW hRow;
444    DBCOUNTITEM iRow;
445  } DBROWWATCHCHANGE;
446
447  EXTERN_C const IID IID_IRowsetWatchRegion;
448#if defined(__cplusplus) && !defined(CINTERFACE)
449  struct IRowsetWatchRegion : public IRowsetWatchAll {
450  public:
451    virtual HRESULT WINAPI CreateWatchRegion(DBWATCHMODE dwWatchMode,HWATCHREGION *phRegion) = 0;
452    virtual HRESULT WINAPI ChangeWatchMode(HWATCHREGION hRegion,DBWATCHMODE dwWatchMode) = 0;
453    virtual HRESULT WINAPI DeleteWatchRegion(HWATCHREGION hRegion) = 0;
454    virtual HRESULT WINAPI GetWatchRegionInfo(HWATCHREGION hRegion,DBWATCHMODE *pdwWatchMode,HCHAPTER *phChapter,DBBKMARK *pcbBookmark,BYTE **ppBookmark,DBROWCOUNT *pcRows) = 0;
455    virtual HRESULT WINAPI Refresh(DBCOUNTITEM *pcChangesObtained,DBROWWATCHCHANGE **prgChanges) = 0;
456    virtual HRESULT WINAPI ShrinkWatchRegion(HWATCHREGION hRegion,HCHAPTER hChapter,DBBKMARK cbBookmark,BYTE *pBookmark,DBROWCOUNT cRows) = 0;
457  };
458#else
459  typedef struct IRowsetWatchRegionVtbl {
460    BEGIN_INTERFACE
461      HRESULT (WINAPI *QueryInterface)(IRowsetWatchRegion *This,REFIID riid,void **ppvObject);
462      ULONG (WINAPI *AddRef)(IRowsetWatchRegion *This);
463      ULONG (WINAPI *Release)(IRowsetWatchRegion *This);
464      HRESULT (WINAPI *Acknowledge)(IRowsetWatchRegion *This);
465      HRESULT (WINAPI *Start)(IRowsetWatchRegion *This);
466      HRESULT (WINAPI *StopWatching)(IRowsetWatchRegion *This);
467      HRESULT (WINAPI *CreateWatchRegion)(IRowsetWatchRegion *This,DBWATCHMODE dwWatchMode,HWATCHREGION *phRegion);
468      HRESULT (WINAPI *ChangeWatchMode)(IRowsetWatchRegion *This,HWATCHREGION hRegion,DBWATCHMODE dwWatchMode);
469      HRESULT (WINAPI *DeleteWatchRegion)(IRowsetWatchRegion *This,HWATCHREGION hRegion);
470      HRESULT (WINAPI *GetWatchRegionInfo)(IRowsetWatchRegion *This,HWATCHREGION hRegion,DBWATCHMODE *pdwWatchMode,HCHAPTER *phChapter,DBBKMARK *pcbBookmark,BYTE **ppBookmark,DBROWCOUNT *pcRows);
471      HRESULT (WINAPI *Refresh)(IRowsetWatchRegion *This,DBCOUNTITEM *pcChangesObtained,DBROWWATCHCHANGE **prgChanges);
472      HRESULT (WINAPI *ShrinkWatchRegion)(IRowsetWatchRegion *This,HWATCHREGION hRegion,HCHAPTER hChapter,DBBKMARK cbBookmark,BYTE *pBookmark,DBROWCOUNT cRows);
473    END_INTERFACE
474  } IRowsetWatchRegionVtbl;
475  struct IRowsetWatchRegion {
476    CONST_VTBL struct IRowsetWatchRegionVtbl *lpVtbl;
477  };
478#ifdef COBJMACROS
479#define IRowsetWatchRegion_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
480#define IRowsetWatchRegion_AddRef(This) (This)->lpVtbl->AddRef(This)
481#define IRowsetWatchRegion_Release(This) (This)->lpVtbl->Release(This)
482#define IRowsetWatchRegion_Acknowledge(This) (This)->lpVtbl->Acknowledge(This)
483#define IRowsetWatchRegion_Start(This) (This)->lpVtbl->Start(This)
484#define IRowsetWatchRegion_StopWatching(This) (This)->lpVtbl->StopWatching(This)
485#define IRowsetWatchRegion_CreateWatchRegion(This,dwWatchMode,phRegion) (This)->lpVtbl->CreateWatchRegion(This,dwWatchMode,phRegion)
486#define IRowsetWatchRegion_ChangeWatchMode(This,hRegion,dwWatchMode) (This)->lpVtbl->ChangeWatchMode(This,hRegion,dwWatchMode)
487#define IRowsetWatchRegion_DeleteWatchRegion(This,hRegion) (This)->lpVtbl->DeleteWatchRegion(This,hRegion)
488#define IRowsetWatchRegion_GetWatchRegionInfo(This,hRegion,pdwWatchMode,phChapter,pcbBookmark,ppBookmark,pcRows) (This)->lpVtbl->GetWatchRegionInfo(This,hRegion,pdwWatchMode,phChapter,pcbBookmark,ppBookmark,pcRows)
489#define IRowsetWatchRegion_Refresh(This,pcChangesObtained,prgChanges) (This)->lpVtbl->Refresh(This,pcChangesObtained,prgChanges)
490#define IRowsetWatchRegion_ShrinkWatchRegion(This,hRegion,hChapter,cbBookmark,pBookmark,cRows) (This)->lpVtbl->ShrinkWatchRegion(This,hRegion,hChapter,cbBookmark,pBookmark,cRows)
491#endif
492#endif
493  HRESULT WINAPI IRowsetWatchRegion_CreateWatchRegion_Proxy(IRowsetWatchRegion *This,DBWATCHMODE dwWatchMode,HWATCHREGION *phRegion);
494  void __RPC_STUB IRowsetWatchRegion_CreateWatchRegion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
495  HRESULT WINAPI IRowsetWatchRegion_ChangeWatchMode_Proxy(IRowsetWatchRegion *This,HWATCHREGION hRegion,DBWATCHMODE dwWatchMode);
496  void __RPC_STUB IRowsetWatchRegion_ChangeWatchMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
497  HRESULT WINAPI IRowsetWatchRegion_DeleteWatchRegion_Proxy(IRowsetWatchRegion *This,HWATCHREGION hRegion);
498  void __RPC_STUB IRowsetWatchRegion_DeleteWatchRegion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
499  HRESULT WINAPI IRowsetWatchRegion_GetWatchRegionInfo_Proxy(IRowsetWatchRegion *This,HWATCHREGION hRegion,DBWATCHMODE *pdwWatchMode,HCHAPTER *phChapter,DBBKMARK *pcbBookmark,BYTE **ppBookmark,DBROWCOUNT *pcRows);
500  void __RPC_STUB IRowsetWatchRegion_GetWatchRegionInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
501  HRESULT WINAPI IRowsetWatchRegion_Refresh_Proxy(IRowsetWatchRegion *This,DBCOUNTITEM *pcChangesObtained,DBROWWATCHCHANGE **prgChanges);
502  void __RPC_STUB IRowsetWatchRegion_Refresh_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
503  HRESULT WINAPI IRowsetWatchRegion_ShrinkWatchRegion_Proxy(IRowsetWatchRegion *This,HWATCHREGION hRegion,HCHAPTER hChapter,DBBKMARK cbBookmark,BYTE *pBookmark,DBROWCOUNT cRows);
504  void __RPC_STUB IRowsetWatchRegion_ShrinkWatchRegion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
505#endif
506
507#ifndef __IRowsetCopyRows_INTERFACE_DEFINED__
508#define __IRowsetCopyRows_INTERFACE_DEFINED__
509  typedef WORD HSOURCE;
510
511  EXTERN_C const IID IID_IRowsetCopyRows;
512#if defined(__cplusplus) && !defined(CINTERFACE)
513  struct IRowsetCopyRows : public IUnknown {
514  public:
515    virtual HRESULT WINAPI CloseSource(HSOURCE hSourceID) = 0;
516    virtual HRESULT WINAPI CopyByHROWS(HSOURCE hSourceID,HCHAPTER hReserved,DBROWCOUNT cRows,const HROW rghRows[],ULONG bFlags) = 0;
517    virtual HRESULT WINAPI CopyRows(HSOURCE hSourceID,HCHAPTER hReserved,DBROWCOUNT cRows,ULONG bFlags,DBCOUNTITEM *pcRowsCopied) = 0;
518    virtual HRESULT WINAPI DefineSource(const IRowset *pRowsetSource,const DBORDINAL cColIds,const DB_LORDINAL rgSourceColumns[],const DB_LORDINAL rgTargetColumns[],HSOURCE *phSourceID) = 0;
519  };
520#else
521  typedef struct IRowsetCopyRowsVtbl {
522    BEGIN_INTERFACE
523      HRESULT (WINAPI *QueryInterface)(IRowsetCopyRows *This,REFIID riid,void **ppvObject);
524      ULONG (WINAPI *AddRef)(IRowsetCopyRows *This);
525      ULONG (WINAPI *Release)(IRowsetCopyRows *This);
526      HRESULT (WINAPI *CloseSource)(IRowsetCopyRows *This,HSOURCE hSourceID);
527      HRESULT (WINAPI *CopyByHROWS)(IRowsetCopyRows *This,HSOURCE hSourceID,HCHAPTER hReserved,DBROWCOUNT cRows,const HROW rghRows[],ULONG bFlags);
528      HRESULT (WINAPI *CopyRows)(IRowsetCopyRows *This,HSOURCE hSourceID,HCHAPTER hReserved,DBROWCOUNT cRows,ULONG bFlags,DBCOUNTITEM *pcRowsCopied);
529      HRESULT (WINAPI *DefineSource)(IRowsetCopyRows *This,const IRowset *pRowsetSource,const DBORDINAL cColIds,const DB_LORDINAL rgSourceColumns[],const DB_LORDINAL rgTargetColumns[],HSOURCE *phSourceID);
530    END_INTERFACE
531  } IRowsetCopyRowsVtbl;
532  struct IRowsetCopyRows {
533    CONST_VTBL struct IRowsetCopyRowsVtbl *lpVtbl;
534  };
535#ifdef COBJMACROS
536#define IRowsetCopyRows_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
537#define IRowsetCopyRows_AddRef(This) (This)->lpVtbl->AddRef(This)
538#define IRowsetCopyRows_Release(This) (This)->lpVtbl->Release(This)
539#define IRowsetCopyRows_CloseSource(This,hSourceID) (This)->lpVtbl->CloseSource(This,hSourceID)
540#define IRowsetCopyRows_CopyByHROWS(This,hSourceID,hReserved,cRows,rghRows,bFlags) (This)->lpVtbl->CopyByHROWS(This,hSourceID,hReserved,cRows,rghRows,bFlags)
541#define IRowsetCopyRows_CopyRows(This,hSourceID,hReserved,cRows,bFlags,pcRowsCopied) (This)->lpVtbl->CopyRows(This,hSourceID,hReserved,cRows,bFlags,pcRowsCopied)
542#define IRowsetCopyRows_DefineSource(This,pRowsetSource,cColIds,rgSourceColumns,rgTargetColumns,phSourceID) (This)->lpVtbl->DefineSource(This,pRowsetSource,cColIds,rgSourceColumns,rgTargetColumns,phSourceID)
543#endif
544#endif
545  HRESULT WINAPI IRowsetCopyRows_CloseSource_Proxy(IRowsetCopyRows *This,HSOURCE hSourceID);
546  void __RPC_STUB IRowsetCopyRows_CloseSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
547  HRESULT WINAPI IRowsetCopyRows_CopyByHROWS_Proxy(IRowsetCopyRows *This,HSOURCE hSourceID,HCHAPTER hReserved,DBROWCOUNT cRows,const HROW rghRows[],ULONG bFlags);
548  void __RPC_STUB IRowsetCopyRows_CopyByHROWS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
549  HRESULT WINAPI IRowsetCopyRows_CopyRows_Proxy(IRowsetCopyRows *This,HSOURCE hSourceID,HCHAPTER hReserved,DBROWCOUNT cRows,ULONG bFlags,DBCOUNTITEM *pcRowsCopied);
550  void __RPC_STUB IRowsetCopyRows_CopyRows_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
551  HRESULT WINAPI IRowsetCopyRows_DefineSource_Proxy(IRowsetCopyRows *This,const IRowset *pRowsetSource,const DBORDINAL cColIds,const DB_LORDINAL rgSourceColumns[],const DB_LORDINAL rgTargetColumns[],HSOURCE *phSourceID);
552  void __RPC_STUB IRowsetCopyRows_DefineSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
553#endif
554
555#ifndef __IReadData_INTERFACE_DEFINED__
556#define __IReadData_INTERFACE_DEFINED__
557  EXTERN_C const IID IID_IReadData;
558#if defined(__cplusplus) && !defined(CINTERFACE)
559  struct IReadData : public IUnknown {
560  public:
561    virtual HRESULT WINAPI ReadData(HCHAPTER hChapter,DBBKMARK cbBookmark,const BYTE *pBookmark,DBROWOFFSET lRowsOffset,HACCESSOR hAccessor,DBROWCOUNT cRows,DBCOUNTITEM *pcRowsObtained,BYTE **ppFixedData,DBLENGTH *pcbVariableTotal,BYTE **ppVariableData) = 0;
562    virtual HRESULT WINAPI ReleaseChapter(HCHAPTER hChapter) = 0;
563  };
564#else
565  typedef struct IReadDataVtbl {
566    BEGIN_INTERFACE
567      HRESULT (WINAPI *QueryInterface)(IReadData *This,REFIID riid,void **ppvObject);
568      ULONG (WINAPI *AddRef)(IReadData *This);
569      ULONG (WINAPI *Release)(IReadData *This);
570      HRESULT (WINAPI *ReadData)(IReadData *This,HCHAPTER hChapter,DBBKMARK cbBookmark,const BYTE *pBookmark,DBROWOFFSET lRowsOffset,HACCESSOR hAccessor,DBROWCOUNT cRows,DBCOUNTITEM *pcRowsObtained,BYTE **ppFixedData,DBLENGTH *pcbVariableTotal,BYTE **ppVariableData);
571      HRESULT (WINAPI *ReleaseChapter)(IReadData *This,HCHAPTER hChapter);
572    END_INTERFACE
573  } IReadDataVtbl;
574  struct IReadData {
575    CONST_VTBL struct IReadDataVtbl *lpVtbl;
576  };
577#ifdef COBJMACROS
578#define IReadData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
579#define IReadData_AddRef(This) (This)->lpVtbl->AddRef(This)
580#define IReadData_Release(This) (This)->lpVtbl->Release(This)
581#define IReadData_ReadData(This,hChapter,cbBookmark,pBookmark,lRowsOffset,hAccessor,cRows,pcRowsObtained,ppFixedData,pcbVariableTotal,ppVariableData) (This)->lpVtbl->ReadData(This,hChapter,cbBookmark,pBookmark,lRowsOffset,hAccessor,cRows,pcRowsObtained,ppFixedData,pcbVariableTotal,ppVariableData)
582#define IReadData_ReleaseChapter(This,hChapter) (This)->lpVtbl->ReleaseChapter(This,hChapter)
583#endif
584#endif
585  HRESULT WINAPI IReadData_ReadData_Proxy(IReadData *This,HCHAPTER hChapter,DBBKMARK cbBookmark,const BYTE *pBookmark,DBROWOFFSET lRowsOffset,HACCESSOR hAccessor,DBROWCOUNT cRows,DBCOUNTITEM *pcRowsObtained,BYTE **ppFixedData,DBLENGTH *pcbVariableTotal,BYTE **ppVariableData);
586  void __RPC_STUB IReadData_ReadData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
587  HRESULT WINAPI IReadData_ReleaseChapter_Proxy(IReadData *This,HCHAPTER hChapter);
588  void __RPC_STUB IReadData_ReleaseChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
589#endif
590
591#ifndef __ICommandCost_INTERFACE_DEFINED__
592#define __ICommandCost_INTERFACE_DEFINED__
593
594  typedef DWORD DBRESOURCEKIND;
595
596  enum DBRESOURCEKINDENUM {
597    DBRESOURCE_INVALID = 0,DBRESOURCE_TOTAL = 1,DBRESOURCE_CPU = 2,DBRESOURCE_MEMORY = 3,DBRESOURCE_DISK = 4,DBRESOURCE_NETWORK = 5,
598    DBRESOURCE_RESPONSE = 6,DBRESOURCE_ROWS = 7,DBRESOURCE_OTHER = 8
599  };
600  typedef DWORD DBCOSTUNIT;
601
602  enum DBCOSTUNITENUM {
603    DBUNIT_INVALID = 0,DBUNIT_WEIGHT = 0x1,DBUNIT_PERCENT = 0x2,DBUNIT_MAXIMUM = 0x4,DBUNIT_MINIMUM = 0x8,DBUNIT_MICRO_SECOND = 0x10,
604    DBUNIT_MILLI_SECOND = 0x20,DBUNIT_SECOND = 0x40,DBUNIT_MINUTE = 0x80,DBUNIT_HOUR = 0x100,DBUNIT_BYTE = 0x200,DBUNIT_KILO_BYTE = 0x400,
605    DBUNIT_MEGA_BYTE = 0x800,DBUNIT_GIGA_BYTE = 0x1000,DBUNIT_NUM_MSGS = 0x2000,DBUNIT_NUM_LOCKS = 0x4000,DBUNIT_NUM_ROWS = 0x8000,
606    DBUNIT_OTHER = 0x10000
607  };
608
609  typedef struct tagDBCOST {
610    DBRESOURCEKIND eKind;
611    DBCOSTUNIT dwUnits;
612    LONG lValue;
613  } DBCOST;
614
615  typedef DWORD DBEXECLIMITS;
616
617  enum DBEXECLIMITSENUM {
618    DBEXECLIMITS_ABORT = 1,DBEXECLIMITS_STOP = 2,DBEXECLIMITS_SUSPEND = 3
619  };
620
621  EXTERN_C const IID IID_ICommandCost;
622#if defined(__cplusplus) && !defined(CINTERFACE)
623  struct ICommandCost : public IUnknown {
624  public:
625    virtual HRESULT WINAPI GetAccumulatedCost(LPCOLESTR pwszRowsetName,ULONG *pcCostLimits,DBCOST **prgCostLimits) = 0;
626    virtual HRESULT WINAPI GetCostEstimate(LPCOLESTR pwszRowsetName,ULONG *pcCostEstimates,DBCOST *prgCostEstimates) = 0;
627    virtual HRESULT WINAPI GetCostGoals(LPCOLESTR pwszRowsetName,ULONG *pcCostGoals,DBCOST *prgCostGoals) = 0;
628    virtual HRESULT WINAPI GetCostLimits(LPCOLESTR pwszRowsetName,ULONG *pcCostLimits,DBCOST *prgCostLimits) = 0;
629    virtual HRESULT WINAPI SetCostGoals(LPCOLESTR pwszRowsetName,ULONG cCostGoals,const DBCOST rgCostGoals[]) = 0;
630    virtual HRESULT WINAPI SetCostLimits(LPCOLESTR pwszRowsetName,ULONG cCostLimits,DBCOST *prgCostLimits,DBEXECLIMITS dwExecutionFlags) = 0;
631  };
632#else
633  typedef struct ICommandCostVtbl {
634    BEGIN_INTERFACE
635      HRESULT (WINAPI *QueryInterface)(ICommandCost *This,REFIID riid,void **ppvObject);
636      ULONG (WINAPI *AddRef)(ICommandCost *This);
637      ULONG (WINAPI *Release)(ICommandCost *This);
638      HRESULT (WINAPI *GetAccumulatedCost)(ICommandCost *This,LPCOLESTR pwszRowsetName,ULONG *pcCostLimits,DBCOST **prgCostLimits);
639      HRESULT (WINAPI *GetCostEstimate)(ICommandCost *This,LPCOLESTR pwszRowsetName,ULONG *pcCostEstimates,DBCOST *prgCostEstimates);
640      HRESULT (WINAPI *GetCostGoals)(ICommandCost *This,LPCOLESTR pwszRowsetName,ULONG *pcCostGoals,DBCOST *prgCostGoals);
641      HRESULT (WINAPI *GetCostLimits)(ICommandCost *This,LPCOLESTR pwszRowsetName,ULONG *pcCostLimits,DBCOST *prgCostLimits);
642      HRESULT (WINAPI *SetCostGoals)(ICommandCost *This,LPCOLESTR pwszRowsetName,ULONG cCostGoals,const DBCOST rgCostGoals[]);
643      HRESULT (WINAPI *SetCostLimits)(ICommandCost *This,LPCOLESTR pwszRowsetName,ULONG cCostLimits,DBCOST *prgCostLimits,DBEXECLIMITS dwExecutionFlags);
644    END_INTERFACE
645  } ICommandCostVtbl;
646  struct ICommandCost {
647    CONST_VTBL struct ICommandCostVtbl *lpVtbl;
648  };
649#ifdef COBJMACROS
650#define ICommandCost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
651#define ICommandCost_AddRef(This) (This)->lpVtbl->AddRef(This)
652#define ICommandCost_Release(This) (This)->lpVtbl->Release(This)
653#define ICommandCost_GetAccumulatedCost(This,pwszRowsetName,pcCostLimits,prgCostLimits) (This)->lpVtbl->GetAccumulatedCost(This,pwszRowsetName,pcCostLimits,prgCostLimits)
654#define ICommandCost_GetCostEstimate(This,pwszRowsetName,pcCostEstimates,prgCostEstimates) (This)->lpVtbl->GetCostEstimate(This,pwszRowsetName,pcCostEstimates,prgCostEstimates)
655#define ICommandCost_GetCostGoals(This,pwszRowsetName,pcCostGoals,prgCostGoals) (This)->lpVtbl->GetCostGoals(This,pwszRowsetName,pcCostGoals,prgCostGoals)
656#define ICommandCost_GetCostLimits(This,pwszRowsetName,pcCostLimits,prgCostLimits) (This)->lpVtbl->GetCostLimits(This,pwszRowsetName,pcCostLimits,prgCostLimits)
657#define ICommandCost_SetCostGoals(This,pwszRowsetName,cCostGoals,rgCostGoals) (This)->lpVtbl->SetCostGoals(This,pwszRowsetName,cCostGoals,rgCostGoals)
658#define ICommandCost_SetCostLimits(This,pwszRowsetName,cCostLimits,prgCostLimits,dwExecutionFlags) (This)->lpVtbl->SetCostLimits(This,pwszRowsetName,cCostLimits,prgCostLimits,dwExecutionFlags)
659#endif
660#endif
661  HRESULT WINAPI ICommandCost_GetAccumulatedCost_Proxy(ICommandCost *This,LPCOLESTR pwszRowsetName,ULONG *pcCostLimits,DBCOST **prgCostLimits);
662  void __RPC_STUB ICommandCost_GetAccumulatedCost_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
663  HRESULT WINAPI ICommandCost_GetCostEstimate_Proxy(ICommandCost *This,LPCOLESTR pwszRowsetName,ULONG *pcCostEstimates,DBCOST *prgCostEstimates);
664  void __RPC_STUB ICommandCost_GetCostEstimate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
665  HRESULT WINAPI ICommandCost_GetCostGoals_Proxy(ICommandCost *This,LPCOLESTR pwszRowsetName,ULONG *pcCostGoals,DBCOST *prgCostGoals);
666  void __RPC_STUB ICommandCost_GetCostGoals_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
667  HRESULT WINAPI ICommandCost_GetCostLimits_Proxy(ICommandCost *This,LPCOLESTR pwszRowsetName,ULONG *pcCostLimits,DBCOST *prgCostLimits);
668  void __RPC_STUB ICommandCost_GetCostLimits_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
669  HRESULT WINAPI ICommandCost_SetCostGoals_Proxy(ICommandCost *This,LPCOLESTR pwszRowsetName,ULONG cCostGoals,const DBCOST rgCostGoals[]);
670  void __RPC_STUB ICommandCost_SetCostGoals_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
671  HRESULT WINAPI ICommandCost_SetCostLimits_Proxy(ICommandCost *This,LPCOLESTR pwszRowsetName,ULONG cCostLimits,DBCOST *prgCostLimits,DBEXECLIMITS dwExecutionFlags);
672  void __RPC_STUB ICommandCost_SetCostLimits_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
673#endif
674
675#ifndef __ICommandValidate_INTERFACE_DEFINED__
676#define __ICommandValidate_INTERFACE_DEFINED__
677  EXTERN_C const IID IID_ICommandValidate;
678#if defined(__cplusplus) && !defined(CINTERFACE)
679  struct ICommandValidate : public IUnknown {
680  public:
681    virtual HRESULT WINAPI ValidateCompletely(void) = 0;
682    virtual HRESULT WINAPI ValidateSyntax(void) = 0;
683  };
684#else
685  typedef struct ICommandValidateVtbl {
686    BEGIN_INTERFACE
687      HRESULT (WINAPI *QueryInterface)(ICommandValidate *This,REFIID riid,void **ppvObject);
688      ULONG (WINAPI *AddRef)(ICommandValidate *This);
689      ULONG (WINAPI *Release)(ICommandValidate *This);
690      HRESULT (WINAPI *ValidateCompletely)(ICommandValidate *This);
691      HRESULT (WINAPI *ValidateSyntax)(ICommandValidate *This);
692    END_INTERFACE
693  } ICommandValidateVtbl;
694  struct ICommandValidate {
695    CONST_VTBL struct ICommandValidateVtbl *lpVtbl;
696  };
697#ifdef COBJMACROS
698#define ICommandValidate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
699#define ICommandValidate_AddRef(This) (This)->lpVtbl->AddRef(This)
700#define ICommandValidate_Release(This) (This)->lpVtbl->Release(This)
701#define ICommandValidate_ValidateCompletely(This) (This)->lpVtbl->ValidateCompletely(This)
702#define ICommandValidate_ValidateSyntax(This) (This)->lpVtbl->ValidateSyntax(This)
703#endif
704#endif
705  HRESULT WINAPI ICommandValidate_ValidateCompletely_Proxy(ICommandValidate *This);
706  void __RPC_STUB ICommandValidate_ValidateCompletely_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
707  HRESULT WINAPI ICommandValidate_ValidateSyntax_Proxy(ICommandValidate *This);
708  void __RPC_STUB ICommandValidate_ValidateSyntax_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
709#endif
710
711#ifndef __ITableRename_INTERFACE_DEFINED__
712#define __ITableRename_INTERFACE_DEFINED__
713  EXTERN_C const IID IID_ITableRename;
714#if defined(__cplusplus) && !defined(CINTERFACE)
715  struct ITableRename : public IUnknown {
716  public:
717    virtual HRESULT WINAPI RenameColumn(DBID *pTableId,DBID *pOldColumnId,DBID *pNewColumnId) = 0;
718    virtual HRESULT WINAPI RenameTable(DBID *pOldTableId,DBID *pOldIndexId,DBID *pNewTableId,DBID *pNewIndexId) = 0;
719  };
720#else
721  typedef struct ITableRenameVtbl {
722    BEGIN_INTERFACE
723      HRESULT (WINAPI *QueryInterface)(ITableRename *This,REFIID riid,void **ppvObject);
724      ULONG (WINAPI *AddRef)(ITableRename *This);
725      ULONG (WINAPI *Release)(ITableRename *This);
726      HRESULT (WINAPI *RenameColumn)(ITableRename *This,DBID *pTableId,DBID *pOldColumnId,DBID *pNewColumnId);
727      HRESULT (WINAPI *RenameTable)(ITableRename *This,DBID *pOldTableId,DBID *pOldIndexId,DBID *pNewTableId,DBID *pNewIndexId);
728    END_INTERFACE
729  } ITableRenameVtbl;
730  struct ITableRename {
731    CONST_VTBL struct ITableRenameVtbl *lpVtbl;
732  };
733#ifdef COBJMACROS
734#define ITableRename_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
735#define ITableRename_AddRef(This) (This)->lpVtbl->AddRef(This)
736#define ITableRename_Release(This) (This)->lpVtbl->Release(This)
737#define ITableRename_RenameColumn(This,pTableId,pOldColumnId,pNewColumnId) (This)->lpVtbl->RenameColumn(This,pTableId,pOldColumnId,pNewColumnId)
738#define ITableRename_RenameTable(This,pOldTableId,pOldIndexId,pNewTableId,pNewIndexId) (This)->lpVtbl->RenameTable(This,pOldTableId,pOldIndexId,pNewTableId,pNewIndexId)
739#endif
740#endif
741  HRESULT WINAPI ITableRename_RenameColumn_Proxy(ITableRename *This,DBID *pTableId,DBID *pOldColumnId,DBID *pNewColumnId);
742  void __RPC_STUB ITableRename_RenameColumn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
743  HRESULT WINAPI ITableRename_RenameTable_Proxy(ITableRename *This,DBID *pOldTableId,DBID *pOldIndexId,DBID *pNewTableId,DBID *pNewIndexId);
744  void __RPC_STUB ITableRename_RenameTable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
745#endif
746
747#ifndef __IDBSchemaCommand_INTERFACE_DEFINED__
748#define __IDBSchemaCommand_INTERFACE_DEFINED__
749  EXTERN_C const IID IID_IDBSchemaCommand;
750#if defined(__cplusplus) && !defined(CINTERFACE)
751  struct IDBSchemaCommand : public IUnknown {
752  public:
753    virtual HRESULT WINAPI GetCommand(IUnknown *pUnkOuter,REFGUID rguidSchema,ICommand **ppCommand) = 0;
754    virtual HRESULT WINAPI GetSchemas(ULONG *pcSchemas,GUID **prgSchemas) = 0;
755  };
756#else
757  typedef struct IDBSchemaCommandVtbl {
758    BEGIN_INTERFACE
759      HRESULT (WINAPI *QueryInterface)(IDBSchemaCommand *This,REFIID riid,void **ppvObject);
760      ULONG (WINAPI *AddRef)(IDBSchemaCommand *This);
761      ULONG (WINAPI *Release)(IDBSchemaCommand *This);
762      HRESULT (WINAPI *GetCommand)(IDBSchemaCommand *This,IUnknown *pUnkOuter,REFGUID rguidSchema,ICommand **ppCommand);
763      HRESULT (WINAPI *GetSchemas)(IDBSchemaCommand *This,ULONG *pcSchemas,GUID **prgSchemas);
764    END_INTERFACE
765  } IDBSchemaCommandVtbl;
766  struct IDBSchemaCommand {
767    CONST_VTBL struct IDBSchemaCommandVtbl *lpVtbl;
768  };
769#ifdef COBJMACROS
770#define IDBSchemaCommand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
771#define IDBSchemaCommand_AddRef(This) (This)->lpVtbl->AddRef(This)
772#define IDBSchemaCommand_Release(This) (This)->lpVtbl->Release(This)
773#define IDBSchemaCommand_GetCommand(This,pUnkOuter,rguidSchema,ppCommand) (This)->lpVtbl->GetCommand(This,pUnkOuter,rguidSchema,ppCommand)
774#define IDBSchemaCommand_GetSchemas(This,pcSchemas,prgSchemas) (This)->lpVtbl->GetSchemas(This,pcSchemas,prgSchemas)
775#endif
776#endif
777  HRESULT WINAPI IDBSchemaCommand_GetCommand_Proxy(IDBSchemaCommand *This,IUnknown *pUnkOuter,REFGUID rguidSchema,ICommand **ppCommand);
778  void __RPC_STUB IDBSchemaCommand_GetCommand_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
779  HRESULT WINAPI IDBSchemaCommand_GetSchemas_Proxy(IDBSchemaCommand *This,ULONG *pcSchemas,GUID **prgSchemas);
780  void __RPC_STUB IDBSchemaCommand_GetSchemas_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
781#endif
782
783#ifndef __IProvideMoniker_INTERFACE_DEFINED__
784#define __IProvideMoniker_INTERFACE_DEFINED__
785  EXTERN_C const IID IID_IProvideMoniker;
786#if defined(__cplusplus) && !defined(CINTERFACE)
787  struct IProvideMoniker : public IUnknown {
788  public:
789    virtual HRESULT WINAPI GetMoniker(IMoniker **ppIMoniker) = 0;
790  };
791#else
792  typedef struct IProvideMonikerVtbl {
793    BEGIN_INTERFACE
794      HRESULT (WINAPI *QueryInterface)(IProvideMoniker *This,REFIID riid,void **ppvObject);
795      ULONG (WINAPI *AddRef)(IProvideMoniker *This);
796      ULONG (WINAPI *Release)(IProvideMoniker *This);
797      HRESULT (WINAPI *GetMoniker)(IProvideMoniker *This,IMoniker **ppIMoniker);
798    END_INTERFACE
799  } IProvideMonikerVtbl;
800  struct IProvideMoniker {
801    CONST_VTBL struct IProvideMonikerVtbl *lpVtbl;
802  };
803#ifdef COBJMACROS
804#define IProvideMoniker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
805#define IProvideMoniker_AddRef(This) (This)->lpVtbl->AddRef(This)
806#define IProvideMoniker_Release(This) (This)->lpVtbl->Release(This)
807#define IProvideMoniker_GetMoniker(This,ppIMoniker) (This)->lpVtbl->GetMoniker(This,ppIMoniker)
808#endif
809#endif
810  HRESULT WINAPI IProvideMoniker_GetMoniker_Proxy(IProvideMoniker *This,IMoniker **ppIMoniker);
811  void __RPC_STUB IProvideMoniker_GetMoniker_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
812#endif
813
814#include <poppack.h>
815  extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0372_v0_0_c_ifspec;
816  extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0372_v0_0_s_ifspec;
817
818#ifdef __cplusplus
819}
820#endif
821#endif
822