OleDbDep.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:71k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for oledbdep.idl:
  5.     Oicf, W1, ..., env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __oledbdep_h__
  27. #define __oledbdep_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __IRowsetNextRowset_FWD_DEFINED__
  33. #define __IRowsetNextRowset_FWD_DEFINED__
  34. typedef interface IRowsetNextRowset IRowsetNextRowset;
  35. #endif  /* __IRowsetNextRowset_FWD_DEFINED__ */
  36. #ifndef __IRowsetNewRowAfter_FWD_DEFINED__
  37. #define __IRowsetNewRowAfter_FWD_DEFINED__
  38. typedef interface IRowsetNewRowAfter IRowsetNewRowAfter;
  39. #endif  /* __IRowsetNewRowAfter_FWD_DEFINED__ */
  40. #ifndef __IRowsetWithParameters_FWD_DEFINED__
  41. #define __IRowsetWithParameters_FWD_DEFINED__
  42. typedef interface IRowsetWithParameters IRowsetWithParameters;
  43. #endif  /* __IRowsetWithParameters_FWD_DEFINED__ */
  44. #ifndef __IRowsetAsynch_FWD_DEFINED__
  45. #define __IRowsetAsynch_FWD_DEFINED__
  46. typedef interface IRowsetAsynch IRowsetAsynch;
  47. #endif  /* __IRowsetAsynch_FWD_DEFINED__ */
  48. #ifndef __IRowsetKeys_FWD_DEFINED__
  49. #define __IRowsetKeys_FWD_DEFINED__
  50. typedef interface IRowsetKeys IRowsetKeys;
  51. #endif  /* __IRowsetKeys_FWD_DEFINED__ */
  52. #ifndef __IRowsetWatchAll_FWD_DEFINED__
  53. #define __IRowsetWatchAll_FWD_DEFINED__
  54. typedef interface IRowsetWatchAll IRowsetWatchAll;
  55. #endif  /* __IRowsetWatchAll_FWD_DEFINED__ */
  56. #ifndef __IRowsetWatchNotify_FWD_DEFINED__
  57. #define __IRowsetWatchNotify_FWD_DEFINED__
  58. typedef interface IRowsetWatchNotify IRowsetWatchNotify;
  59. #endif  /* __IRowsetWatchNotify_FWD_DEFINED__ */
  60. #ifndef __IRowsetWatchRegion_FWD_DEFINED__
  61. #define __IRowsetWatchRegion_FWD_DEFINED__
  62. typedef interface IRowsetWatchRegion IRowsetWatchRegion;
  63. #endif  /* __IRowsetWatchRegion_FWD_DEFINED__ */
  64. #ifndef __IRowsetCopyRows_FWD_DEFINED__
  65. #define __IRowsetCopyRows_FWD_DEFINED__
  66. typedef interface IRowsetCopyRows IRowsetCopyRows;
  67. #endif  /* __IRowsetCopyRows_FWD_DEFINED__ */
  68. #ifndef __IReadData_FWD_DEFINED__
  69. #define __IReadData_FWD_DEFINED__
  70. typedef interface IReadData IReadData;
  71. #endif  /* __IReadData_FWD_DEFINED__ */
  72. #ifndef __ICommandCost_FWD_DEFINED__
  73. #define __ICommandCost_FWD_DEFINED__
  74. typedef interface ICommandCost ICommandCost;
  75. #endif  /* __ICommandCost_FWD_DEFINED__ */
  76. #ifndef __ICommandValidate_FWD_DEFINED__
  77. #define __ICommandValidate_FWD_DEFINED__
  78. typedef interface ICommandValidate ICommandValidate;
  79. #endif  /* __ICommandValidate_FWD_DEFINED__ */
  80. #ifndef __ITableRename_FWD_DEFINED__
  81. #define __ITableRename_FWD_DEFINED__
  82. typedef interface ITableRename ITableRename;
  83. #endif  /* __ITableRename_FWD_DEFINED__ */
  84. #ifndef __IDBSchemaCommand_FWD_DEFINED__
  85. #define __IDBSchemaCommand_FWD_DEFINED__
  86. typedef interface IDBSchemaCommand IDBSchemaCommand;
  87. #endif  /* __IDBSchemaCommand_FWD_DEFINED__ */
  88. #ifndef __IProvideMoniker_FWD_DEFINED__
  89. #define __IProvideMoniker_FWD_DEFINED__
  90. typedef interface IProvideMoniker IProvideMoniker;
  91. #endif  /* __IProvideMoniker_FWD_DEFINED__ */
  92. /* header files for imported files */
  93. #include "oledb.h"
  94. #ifdef __cplusplus
  95. extern "C"{
  96. #endif 
  97. void * __RPC_USER MIDL_user_allocate(size_t);
  98. void __RPC_USER MIDL_user_free( void * ); 
  99. /* interface __MIDL_itf_oledbdep_0000 */
  100. /* [local] */ 
  101. //-----------------------------------------------------------------------------
  102. // File: .C or .H file generated by oledbdep.idl 
  103. //
  104. // Copyright: Copyright (c) 1998-1999 Microsoft Corporation
  105. //
  106. // Contents:  .C or .H file generated by oledbdep.idl
  107. //
  108. // Comments:  Microsoft OLE DB
  109. //
  110. //-----------------------------------------------------------------------------
  111. #ifdef _WIN64
  112. #include <pshpack8.h> // 8-byte structure packing
  113. #else
  114. #include <pshpack2.h> // 2-byte structure packing
  115. #endif
  116. extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_v0_0_c_ifspec;
  117. extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_v0_0_s_ifspec;
  118. #ifndef __DBStructureDefinitionsDep_INTERFACE_DEFINED__
  119. #define __DBStructureDefinitionsDep_INTERFACE_DEFINED__
  120. /* interface DBStructureDefinitionsDep */
  121. /* [auto_handle][unique][uuid] */ 
  122. #ifndef UNALIGNED
  123. #if defined(_MIPS_) || defined(_ALPHA_) || defined(_PPC_)
  124. #define UNALIGNED __unaligned
  125. #else
  126. #define UNALIGNED
  127. #endif
  128. #endif //UNALIGNED
  129. #undef OLEDBDECLSPEC
  130. #if _MSC_VER >= 1100
  131. #define OLEDBDECLSPEC __declspec(selectany)
  132. #else
  133. #define OLEDBDECLSPEC 
  134. #endif //_MSC_VER
  135. #ifdef DBINITCONSTANTS
  136. extern const OLEDBDECLSPEC GUID DB_PROPERTY_CHECK_OPTION               = {0xc8b5220b,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  137. extern const OLEDBDECLSPEC GUID DB_PROPERTY_CONSTRAINT_CHECK_DEFERRED  = {0xc8b521f0,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  138. extern const OLEDBDECLSPEC GUID DB_PROPERTY_DROP_CASCADE               = {0xc8b521f3,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  139. extern const OLEDBDECLSPEC GUID DB_PROPERTY_UNIQUE                     = {0xc8b521f5,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  140. extern const OLEDBDECLSPEC GUID DB_PROPERTY_ON_COMMIT_PRESERVE_ROWS    = {0xc8b52230,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  141. extern const OLEDBDECLSPEC GUID DB_PROPERTY_PRIMARY                    = {0xc8b521fc,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  142. extern const OLEDBDECLSPEC GUID DB_PROPERTY_CLUSTERED                  = {0xc8b521ff,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  143. extern const OLEDBDECLSPEC GUID DB_PROPERTY_NONCLUSTERED               = {0xc8b52200,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  144. extern const OLEDBDECLSPEC GUID DB_PROPERTY_BTREE                      = {0xc8b52201,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  145. extern const OLEDBDECLSPEC GUID DB_PROPERTY_HASH                       = {0xc8b52202,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  146. extern const OLEDBDECLSPEC GUID DB_PROPERTY_FILLFACTOR                 = {0xc8b52203,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  147. extern const OLEDBDECLSPEC GUID DB_PROPERTY_INITIALSIZE                = {0xc8b52204,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  148. extern const OLEDBDECLSPEC GUID DB_PROPERTY_DISALLOWNULL               = {0xc8b52205,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  149. extern const OLEDBDECLSPEC GUID DB_PROPERTY_IGNORENULL                 = {0xc8b52206,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  150. extern const OLEDBDECLSPEC GUID DB_PROPERTY_IGNOREANYNULL              = {0xc8b52207,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  151. extern const OLEDBDECLSPEC GUID DB_PROPERTY_SORTBOOKMARKS              = {0xc8b52208,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  152. extern const OLEDBDECLSPEC GUID DB_PROPERTY_AUTOMATICUPDATE            = {0xc8b52209,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  153. extern const OLEDBDECLSPEC GUID DB_PROPERTY_EXPLICITUPDATE             = {0xc8b5220a,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  154. #else // !DBINITCONSTANTS
  155. extern const GUID DB_PROPERTY_CHECK_OPTION;
  156. extern const GUID DB_PROPERTY_CONSTRAINT_CHECK_DEFERRED;
  157. extern const GUID DB_PROPERTY_DROP_CASCADE;
  158. extern const GUID DB_PROPERTY_ON_COMMIT_PRESERVE_ROWS;
  159. extern const GUID DB_PROPERTY_UNIQUE;
  160. extern const GUID DB_PROPERTY_PRIMARY;
  161. extern const GUID DB_PROPERTY_CLUSTERED;
  162. extern const GUID DB_PROPERTY_NONCLUSTERED;
  163. extern const GUID DB_PROPERTY_BTREE;
  164. extern const GUID DB_PROPERTY_HASH;
  165. extern const GUID DB_PROPERTY_FILLFACTOR;
  166. extern const GUID DB_PROPERTY_INITIALSIZE;
  167. extern const GUID DB_PROPERTY_DISALLOWNULL;
  168. extern const GUID DB_PROPERTY_IGNORENULL;
  169. extern const GUID DB_PROPERTY_IGNOREANYNULL;
  170. extern const GUID DB_PROPERTY_SORTBOOKMARKS;
  171. extern const GUID DB_PROPERTY_AUTOMATICUPDATE;
  172. extern const GUID DB_PROPERTY_EXPLICITUPDATE;
  173. #endif // DBINITCONSTANTS
  174. enum DBPROPENUM25_DEPRECATED
  175.     { DBPROP_ICommandCost = 0x8dL,
  176. DBPROP_ICommandTree = 0x8eL,
  177. DBPROP_ICommandValidate = 0x8fL,
  178. DBPROP_IDBSchemaCommand = 0x90L,
  179. DBPROP_IProvideMoniker = 0x7dL,
  180. DBPROP_IQuery = 0x92L,
  181. DBPROP_IReadData = 0x93L,
  182. DBPROP_IRowsetAsynch = 0x94L,
  183. DBPROP_IRowsetCopyRows = 0x95L,
  184. DBPROP_IRowsetKeys = 0x97L,
  185. DBPROP_IRowsetNewRowAfter = 0x98L,
  186. DBPROP_IRowsetNextRowset = 0x99L,
  187. DBPROP_IRowsetWatchAll = 0x9bL,
  188. DBPROP_IRowsetWatchNotify = 0x9cL,
  189. DBPROP_IRowsetWatchRegion = 0x9dL,
  190. DBPROP_IRowsetWithParameters = 0x9eL
  191.     } ;
  192. enum DBREASONENUM25
  193.     { DBREASON_ROWSET_ROWSADDED = DBREASON_ROW_ASYNCHINSERT + 1,
  194. DBREASON_ROWSET_POPULATIONCOMPLETE = DBREASON_ROWSET_ROWSADDED + 1,
  195. DBREASON_ROWSET_POPULATIONSTOPPED = DBREASON_ROWSET_POPULATIONCOMPLETE + 1
  196.     } ;
  197. extern RPC_IF_HANDLE DBStructureDefinitionsDep_v0_0_c_ifspec;
  198. extern RPC_IF_HANDLE DBStructureDefinitionsDep_v0_0_s_ifspec;
  199. #endif /* __DBStructureDefinitionsDep_INTERFACE_DEFINED__ */
  200. #ifndef __IRowsetNextRowset_INTERFACE_DEFINED__
  201. #define __IRowsetNextRowset_INTERFACE_DEFINED__
  202. /* interface IRowsetNextRowset */
  203. /* [unique][uuid][object][local] */ 
  204. EXTERN_C const IID IID_IRowsetNextRowset;
  205. #if defined(__cplusplus) && !defined(CINTERFACE)
  206.     
  207.     MIDL_INTERFACE("0c733a72-2a1c-11ce-ade5-00aa0044773d")
  208.     IRowsetNextRowset : public IUnknown
  209.     {
  210.     public:
  211.         virtual HRESULT STDMETHODCALLTYPE GetNextRowset( 
  212.             /* [in] */ IUnknown *pUnkOuter,
  213.             /* [in] */ REFIID riid,
  214.             /* [iid_is][out] */ IUnknown **ppNextRowset) = 0;
  215.         
  216.     };
  217.     
  218. #else  /* C style interface */
  219.     typedef struct IRowsetNextRowsetVtbl
  220.     {
  221.         BEGIN_INTERFACE
  222.         
  223.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  224.             IRowsetNextRowset * This,
  225.             /* [in] */ REFIID riid,
  226.             /* [iid_is][out] */ void **ppvObject);
  227.         
  228.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  229.             IRowsetNextRowset * This);
  230.         
  231.         ULONG ( STDMETHODCALLTYPE *Release )( 
  232.             IRowsetNextRowset * This);
  233.         
  234.         HRESULT ( STDMETHODCALLTYPE *GetNextRowset )( 
  235.             IRowsetNextRowset * This,
  236.             /* [in] */ IUnknown *pUnkOuter,
  237.             /* [in] */ REFIID riid,
  238.             /* [iid_is][out] */ IUnknown **ppNextRowset);
  239.         
  240.         END_INTERFACE
  241.     } IRowsetNextRowsetVtbl;
  242.     interface IRowsetNextRowset
  243.     {
  244.         CONST_VTBL struct IRowsetNextRowsetVtbl *lpVtbl;
  245.     };
  246.     
  247. #ifdef COBJMACROS
  248. #define IRowsetNextRowset_QueryInterface(This,riid,ppvObject)
  249.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  250. #define IRowsetNextRowset_AddRef(This)
  251.     (This)->lpVtbl -> AddRef(This)
  252. #define IRowsetNextRowset_Release(This)
  253.     (This)->lpVtbl -> Release(This)
  254. #define IRowsetNextRowset_GetNextRowset(This,pUnkOuter,riid,ppNextRowset)
  255.     (This)->lpVtbl -> GetNextRowset(This,pUnkOuter,riid,ppNextRowset)
  256. #endif /* COBJMACROS */
  257. #endif  /* C style interface */
  258. HRESULT STDMETHODCALLTYPE IRowsetNextRowset_GetNextRowset_Proxy( 
  259.     IRowsetNextRowset * This,
  260.     /* [in] */ IUnknown *pUnkOuter,
  261.     /* [in] */ REFIID riid,
  262.     /* [iid_is][out] */ IUnknown **ppNextRowset);
  263. void __RPC_STUB IRowsetNextRowset_GetNextRowset_Stub(
  264.     IRpcStubBuffer *This,
  265.     IRpcChannelBuffer *_pRpcChannelBuffer,
  266.     PRPC_MESSAGE _pRpcMessage,
  267.     DWORD *_pdwStubPhase);
  268. #endif  /* __IRowsetNextRowset_INTERFACE_DEFINED__ */
  269. #ifndef __IRowsetNewRowAfter_INTERFACE_DEFINED__
  270. #define __IRowsetNewRowAfter_INTERFACE_DEFINED__
  271. /* interface IRowsetNewRowAfter */
  272. /* [unique][uuid][object][local] */ 
  273. EXTERN_C const IID IID_IRowsetNewRowAfter;
  274. #if defined(__cplusplus) && !defined(CINTERFACE)
  275.     
  276.     MIDL_INTERFACE("0c733a71-2a1c-11ce-ade5-00aa0044773d")
  277.     IRowsetNewRowAfter : public IUnknown
  278.     {
  279.     public:
  280.         virtual HRESULT STDMETHODCALLTYPE SetNewDataAfter( 
  281.             /* [in] */ HCHAPTER hChapter,
  282.             /* [in] */ ULONG cbbmPrevious,
  283.             /* [size_is][in] */ const BYTE *pbmPrevious,
  284.             /* [in] */ HACCESSOR hAccessor,
  285.             /* [in] */ BYTE *pData,
  286.             /* [out] */ HROW *phRow) = 0;
  287.         
  288.     };
  289.     
  290. #else  /* C style interface */
  291.     typedef struct IRowsetNewRowAfterVtbl
  292.     {
  293.         BEGIN_INTERFACE
  294.         
  295.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  296.             IRowsetNewRowAfter * This,
  297.             /* [in] */ REFIID riid,
  298.             /* [iid_is][out] */ void **ppvObject);
  299.         
  300.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  301.             IRowsetNewRowAfter * This);
  302.         
  303.         ULONG ( STDMETHODCALLTYPE *Release )( 
  304.             IRowsetNewRowAfter * This);
  305.         
  306.         HRESULT ( STDMETHODCALLTYPE *SetNewDataAfter )( 
  307.             IRowsetNewRowAfter * This,
  308.             /* [in] */ HCHAPTER hChapter,
  309.             /* [in] */ ULONG cbbmPrevious,
  310.             /* [size_is][in] */ const BYTE *pbmPrevious,
  311.             /* [in] */ HACCESSOR hAccessor,
  312.             /* [in] */ BYTE *pData,
  313.             /* [out] */ HROW *phRow);
  314.         
  315.         END_INTERFACE
  316.     } IRowsetNewRowAfterVtbl;
  317.     interface IRowsetNewRowAfter
  318.     {
  319.         CONST_VTBL struct IRowsetNewRowAfterVtbl *lpVtbl;
  320.     };
  321.     
  322. #ifdef COBJMACROS
  323. #define IRowsetNewRowAfter_QueryInterface(This,riid,ppvObject)
  324.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  325. #define IRowsetNewRowAfter_AddRef(This)
  326.     (This)->lpVtbl -> AddRef(This)
  327. #define IRowsetNewRowAfter_Release(This)
  328.     (This)->lpVtbl -> Release(This)
  329. #define IRowsetNewRowAfter_SetNewDataAfter(This,hChapter,cbbmPrevious,pbmPrevious,hAccessor,pData,phRow)
  330.     (This)->lpVtbl -> SetNewDataAfter(This,hChapter,cbbmPrevious,pbmPrevious,hAccessor,pData,phRow)
  331. #endif /* COBJMACROS */
  332. #endif  /* C style interface */
  333. HRESULT STDMETHODCALLTYPE IRowsetNewRowAfter_SetNewDataAfter_Proxy( 
  334.     IRowsetNewRowAfter * This,
  335.     /* [in] */ HCHAPTER hChapter,
  336.     /* [in] */ ULONG cbbmPrevious,
  337.     /* [size_is][in] */ const BYTE *pbmPrevious,
  338.     /* [in] */ HACCESSOR hAccessor,
  339.     /* [in] */ BYTE *pData,
  340.     /* [out] */ HROW *phRow);
  341. void __RPC_STUB IRowsetNewRowAfter_SetNewDataAfter_Stub(
  342.     IRpcStubBuffer *This,
  343.     IRpcChannelBuffer *_pRpcChannelBuffer,
  344.     PRPC_MESSAGE _pRpcMessage,
  345.     DWORD *_pdwStubPhase);
  346. #endif  /* __IRowsetNewRowAfter_INTERFACE_DEFINED__ */
  347. #ifndef __IRowsetWithParameters_INTERFACE_DEFINED__
  348. #define __IRowsetWithParameters_INTERFACE_DEFINED__
  349. /* interface IRowsetWithParameters */
  350. /* [unique][uuid][object][local] */ 
  351. EXTERN_C const IID IID_IRowsetWithParameters;
  352. #if defined(__cplusplus) && !defined(CINTERFACE)
  353.     
  354.     MIDL_INTERFACE("0c733a6e-2a1c-11ce-ade5-00aa0044773d")
  355.     IRowsetWithParameters : public IUnknown
  356.     {
  357.     public:
  358.         virtual HRESULT STDMETHODCALLTYPE GetParameterInfo( 
  359.             /* [out][in] */ DB_UPARAMS *pcParams,
  360.             /* [size_is][size_is][out] */ DBPARAMINFO **prgParamInfo,
  361.             /* [out] */ OLECHAR **ppNamesBuffer) = 0;
  362.         
  363.         virtual HRESULT STDMETHODCALLTYPE Requery( 
  364.             /* [in] */ DBPARAMS *pParams,
  365.             /* [out] */ ULONG *pulErrorParam,
  366.             /* [out] */ HCHAPTER *phReserved) = 0;
  367.         
  368.     };
  369.     
  370. #else  /* C style interface */
  371.     typedef struct IRowsetWithParametersVtbl
  372.     {
  373.         BEGIN_INTERFACE
  374.         
  375.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  376.             IRowsetWithParameters * This,
  377.             /* [in] */ REFIID riid,
  378.             /* [iid_is][out] */ void **ppvObject);
  379.         
  380.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  381.             IRowsetWithParameters * This);
  382.         
  383.         ULONG ( STDMETHODCALLTYPE *Release )( 
  384.             IRowsetWithParameters * This);
  385.         
  386.         HRESULT ( STDMETHODCALLTYPE *GetParameterInfo )( 
  387.             IRowsetWithParameters * This,
  388.             /* [out][in] */ DB_UPARAMS *pcParams,
  389.             /* [size_is][size_is][out] */ DBPARAMINFO **prgParamInfo,
  390.             /* [out] */ OLECHAR **ppNamesBuffer);
  391.         
  392.         HRESULT ( STDMETHODCALLTYPE *Requery )( 
  393.             IRowsetWithParameters * This,
  394.             /* [in] */ DBPARAMS *pParams,
  395.             /* [out] */ ULONG *pulErrorParam,
  396.             /* [out] */ HCHAPTER *phReserved);
  397.         
  398.         END_INTERFACE
  399.     } IRowsetWithParametersVtbl;
  400.     interface IRowsetWithParameters
  401.     {
  402.         CONST_VTBL struct IRowsetWithParametersVtbl *lpVtbl;
  403.     };
  404.     
  405. #ifdef COBJMACROS
  406. #define IRowsetWithParameters_QueryInterface(This,riid,ppvObject)
  407.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  408. #define IRowsetWithParameters_AddRef(This)
  409.     (This)->lpVtbl -> AddRef(This)
  410. #define IRowsetWithParameters_Release(This)
  411.     (This)->lpVtbl -> Release(This)
  412. #define IRowsetWithParameters_GetParameterInfo(This,pcParams,prgParamInfo,ppNamesBuffer)
  413.     (This)->lpVtbl -> GetParameterInfo(This,pcParams,prgParamInfo,ppNamesBuffer)
  414. #define IRowsetWithParameters_Requery(This,pParams,pulErrorParam,phReserved)
  415.     (This)->lpVtbl -> Requery(This,pParams,pulErrorParam,phReserved)
  416. #endif /* COBJMACROS */
  417. #endif  /* C style interface */
  418. HRESULT STDMETHODCALLTYPE IRowsetWithParameters_GetParameterInfo_Proxy( 
  419.     IRowsetWithParameters * This,
  420.     /* [out][in] */ DB_UPARAMS *pcParams,
  421.     /* [size_is][size_is][out] */ DBPARAMINFO **prgParamInfo,
  422.     /* [out] */ OLECHAR **ppNamesBuffer);
  423. void __RPC_STUB IRowsetWithParameters_GetParameterInfo_Stub(
  424.     IRpcStubBuffer *This,
  425.     IRpcChannelBuffer *_pRpcChannelBuffer,
  426.     PRPC_MESSAGE _pRpcMessage,
  427.     DWORD *_pdwStubPhase);
  428. HRESULT STDMETHODCALLTYPE IRowsetWithParameters_Requery_Proxy( 
  429.     IRowsetWithParameters * This,
  430.     /* [in] */ DBPARAMS *pParams,
  431.     /* [out] */ ULONG *pulErrorParam,
  432.     /* [out] */ HCHAPTER *phReserved);
  433. void __RPC_STUB IRowsetWithParameters_Requery_Stub(
  434.     IRpcStubBuffer *This,
  435.     IRpcChannelBuffer *_pRpcChannelBuffer,
  436.     PRPC_MESSAGE _pRpcMessage,
  437.     DWORD *_pdwStubPhase);
  438. #endif  /* __IRowsetWithParameters_INTERFACE_DEFINED__ */
  439. #ifndef __IRowsetAsynch_INTERFACE_DEFINED__
  440. #define __IRowsetAsynch_INTERFACE_DEFINED__
  441. /* interface IRowsetAsynch */
  442. /* [unique][uuid][object][local] */ 
  443. EXTERN_C const IID IID_IRowsetAsynch;
  444. #if defined(__cplusplus) && !defined(CINTERFACE)
  445.     
  446.     MIDL_INTERFACE("0c733a0f-2a1c-11ce-ade5-00aa0044773d")
  447.     IRowsetAsynch : public IUnknown
  448.     {
  449.     public:
  450.         virtual HRESULT STDMETHODCALLTYPE RatioFinished( 
  451.             /* [out] */ DBCOUNTITEM *pulDenominator,
  452.             /* [out] */ DBCOUNTITEM *pulNumerator,
  453.             /* [out] */ DBCOUNTITEM *pcRows,
  454.             /* [out] */ BOOL *pfNewRows) = 0;
  455.         
  456.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  457.         
  458.     };
  459.     
  460. #else  /* C style interface */
  461.     typedef struct IRowsetAsynchVtbl
  462.     {
  463.         BEGIN_INTERFACE
  464.         
  465.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  466.             IRowsetAsynch * This,
  467.             /* [in] */ REFIID riid,
  468.             /* [iid_is][out] */ void **ppvObject);
  469.         
  470.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  471.             IRowsetAsynch * This);
  472.         
  473.         ULONG ( STDMETHODCALLTYPE *Release )( 
  474.             IRowsetAsynch * This);
  475.         
  476.         HRESULT ( STDMETHODCALLTYPE *RatioFinished )( 
  477.             IRowsetAsynch * This,
  478.             /* [out] */ DBCOUNTITEM *pulDenominator,
  479.             /* [out] */ DBCOUNTITEM *pulNumerator,
  480.             /* [out] */ DBCOUNTITEM *pcRows,
  481.             /* [out] */ BOOL *pfNewRows);
  482.         
  483.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  484.             IRowsetAsynch * This);
  485.         
  486.         END_INTERFACE
  487.     } IRowsetAsynchVtbl;
  488.     interface IRowsetAsynch
  489.     {
  490.         CONST_VTBL struct IRowsetAsynchVtbl *lpVtbl;
  491.     };
  492.     
  493. #ifdef COBJMACROS
  494. #define IRowsetAsynch_QueryInterface(This,riid,ppvObject)
  495.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  496. #define IRowsetAsynch_AddRef(This)
  497.     (This)->lpVtbl -> AddRef(This)
  498. #define IRowsetAsynch_Release(This)
  499.     (This)->lpVtbl -> Release(This)
  500. #define IRowsetAsynch_RatioFinished(This,pulDenominator,pulNumerator,pcRows,pfNewRows)
  501.     (This)->lpVtbl -> RatioFinished(This,pulDenominator,pulNumerator,pcRows,pfNewRows)
  502. #define IRowsetAsynch_Stop(This)
  503.     (This)->lpVtbl -> Stop(This)
  504. #endif /* COBJMACROS */
  505. #endif  /* C style interface */
  506. HRESULT STDMETHODCALLTYPE IRowsetAsynch_RatioFinished_Proxy( 
  507.     IRowsetAsynch * This,
  508.     /* [out] */ DBCOUNTITEM *pulDenominator,
  509.     /* [out] */ DBCOUNTITEM *pulNumerator,
  510.     /* [out] */ DBCOUNTITEM *pcRows,
  511.     /* [out] */ BOOL *pfNewRows);
  512. void __RPC_STUB IRowsetAsynch_RatioFinished_Stub(
  513.     IRpcStubBuffer *This,
  514.     IRpcChannelBuffer *_pRpcChannelBuffer,
  515.     PRPC_MESSAGE _pRpcMessage,
  516.     DWORD *_pdwStubPhase);
  517. HRESULT STDMETHODCALLTYPE IRowsetAsynch_Stop_Proxy( 
  518.     IRowsetAsynch * This);
  519. void __RPC_STUB IRowsetAsynch_Stop_Stub(
  520.     IRpcStubBuffer *This,
  521.     IRpcChannelBuffer *_pRpcChannelBuffer,
  522.     PRPC_MESSAGE _pRpcMessage,
  523.     DWORD *_pdwStubPhase);
  524. #endif  /* __IRowsetAsynch_INTERFACE_DEFINED__ */
  525. #ifndef __IRowsetKeys_INTERFACE_DEFINED__
  526. #define __IRowsetKeys_INTERFACE_DEFINED__
  527. /* interface IRowsetKeys */
  528. /* [unique][uuid][object][local] */ 
  529. EXTERN_C const IID IID_IRowsetKeys;
  530. #if defined(__cplusplus) && !defined(CINTERFACE)
  531.     
  532.     MIDL_INTERFACE("0c733a12-2a1c-11ce-ade5-00aa0044773d")
  533.     IRowsetKeys : public IUnknown
  534.     {
  535.     public:
  536.         virtual HRESULT STDMETHODCALLTYPE ListKeys( 
  537.             /* [out][in] */ DBORDINAL *pcColumns,
  538.             /* [size_is][size_is][out] */ DBORDINAL **prgColumns) = 0;
  539.         
  540.     };
  541.     
  542. #else  /* C style interface */
  543.     typedef struct IRowsetKeysVtbl
  544.     {
  545.         BEGIN_INTERFACE
  546.         
  547.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  548.             IRowsetKeys * This,
  549.             /* [in] */ REFIID riid,
  550.             /* [iid_is][out] */ void **ppvObject);
  551.         
  552.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  553.             IRowsetKeys * This);
  554.         
  555.         ULONG ( STDMETHODCALLTYPE *Release )( 
  556.             IRowsetKeys * This);
  557.         
  558.         HRESULT ( STDMETHODCALLTYPE *ListKeys )( 
  559.             IRowsetKeys * This,
  560.             /* [out][in] */ DBORDINAL *pcColumns,
  561.             /* [size_is][size_is][out] */ DBORDINAL **prgColumns);
  562.         
  563.         END_INTERFACE
  564.     } IRowsetKeysVtbl;
  565.     interface IRowsetKeys
  566.     {
  567.         CONST_VTBL struct IRowsetKeysVtbl *lpVtbl;
  568.     };
  569.     
  570. #ifdef COBJMACROS
  571. #define IRowsetKeys_QueryInterface(This,riid,ppvObject)
  572.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  573. #define IRowsetKeys_AddRef(This)
  574.     (This)->lpVtbl -> AddRef(This)
  575. #define IRowsetKeys_Release(This)
  576.     (This)->lpVtbl -> Release(This)
  577. #define IRowsetKeys_ListKeys(This,pcColumns,prgColumns)
  578.     (This)->lpVtbl -> ListKeys(This,pcColumns,prgColumns)
  579. #endif /* COBJMACROS */
  580. #endif  /* C style interface */
  581. HRESULT STDMETHODCALLTYPE IRowsetKeys_ListKeys_Proxy( 
  582.     IRowsetKeys * This,
  583.     /* [out][in] */ DBORDINAL *pcColumns,
  584.     /* [size_is][size_is][out] */ DBORDINAL **prgColumns);
  585. void __RPC_STUB IRowsetKeys_ListKeys_Stub(
  586.     IRpcStubBuffer *This,
  587.     IRpcChannelBuffer *_pRpcChannelBuffer,
  588.     PRPC_MESSAGE _pRpcMessage,
  589.     DWORD *_pdwStubPhase);
  590. #endif  /* __IRowsetKeys_INTERFACE_DEFINED__ */
  591. #ifndef __IRowsetWatchAll_INTERFACE_DEFINED__
  592. #define __IRowsetWatchAll_INTERFACE_DEFINED__
  593. /* interface IRowsetWatchAll */
  594. /* [unique][uuid][object][local] */ 
  595. EXTERN_C const IID IID_IRowsetWatchAll;
  596. #if defined(__cplusplus) && !defined(CINTERFACE)
  597.     
  598.     MIDL_INTERFACE("0c733a73-2a1c-11ce-ade5-00aa0044773d")
  599.     IRowsetWatchAll : public IUnknown
  600.     {
  601.     public:
  602.         virtual HRESULT STDMETHODCALLTYPE Acknowledge( void) = 0;
  603.         
  604.         virtual HRESULT STDMETHODCALLTYPE Start( void) = 0;
  605.         
  606.         virtual HRESULT STDMETHODCALLTYPE StopWatching( void) = 0;
  607.         
  608.     };
  609.     
  610. #else  /* C style interface */
  611.     typedef struct IRowsetWatchAllVtbl
  612.     {
  613.         BEGIN_INTERFACE
  614.         
  615.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  616.             IRowsetWatchAll * This,
  617.             /* [in] */ REFIID riid,
  618.             /* [iid_is][out] */ void **ppvObject);
  619.         
  620.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  621.             IRowsetWatchAll * This);
  622.         
  623.         ULONG ( STDMETHODCALLTYPE *Release )( 
  624.             IRowsetWatchAll * This);
  625.         
  626.         HRESULT ( STDMETHODCALLTYPE *Acknowledge )( 
  627.             IRowsetWatchAll * This);
  628.         
  629.         HRESULT ( STDMETHODCALLTYPE *Start )( 
  630.             IRowsetWatchAll * This);
  631.         
  632.         HRESULT ( STDMETHODCALLTYPE *StopWatching )( 
  633.             IRowsetWatchAll * This);
  634.         
  635.         END_INTERFACE
  636.     } IRowsetWatchAllVtbl;
  637.     interface IRowsetWatchAll
  638.     {
  639.         CONST_VTBL struct IRowsetWatchAllVtbl *lpVtbl;
  640.     };
  641.     
  642. #ifdef COBJMACROS
  643. #define IRowsetWatchAll_QueryInterface(This,riid,ppvObject)
  644.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  645. #define IRowsetWatchAll_AddRef(This)
  646.     (This)->lpVtbl -> AddRef(This)
  647. #define IRowsetWatchAll_Release(This)
  648.     (This)->lpVtbl -> Release(This)
  649. #define IRowsetWatchAll_Acknowledge(This)
  650.     (This)->lpVtbl -> Acknowledge(This)
  651. #define IRowsetWatchAll_Start(This)
  652.     (This)->lpVtbl -> Start(This)
  653. #define IRowsetWatchAll_StopWatching(This)
  654.     (This)->lpVtbl -> StopWatching(This)
  655. #endif /* COBJMACROS */
  656. #endif  /* C style interface */
  657. HRESULT STDMETHODCALLTYPE IRowsetWatchAll_Acknowledge_Proxy( 
  658.     IRowsetWatchAll * This);
  659. void __RPC_STUB IRowsetWatchAll_Acknowledge_Stub(
  660.     IRpcStubBuffer *This,
  661.     IRpcChannelBuffer *_pRpcChannelBuffer,
  662.     PRPC_MESSAGE _pRpcMessage,
  663.     DWORD *_pdwStubPhase);
  664. HRESULT STDMETHODCALLTYPE IRowsetWatchAll_Start_Proxy( 
  665.     IRowsetWatchAll * This);
  666. void __RPC_STUB IRowsetWatchAll_Start_Stub(
  667.     IRpcStubBuffer *This,
  668.     IRpcChannelBuffer *_pRpcChannelBuffer,
  669.     PRPC_MESSAGE _pRpcMessage,
  670.     DWORD *_pdwStubPhase);
  671. HRESULT STDMETHODCALLTYPE IRowsetWatchAll_StopWatching_Proxy( 
  672.     IRowsetWatchAll * This);
  673. void __RPC_STUB IRowsetWatchAll_StopWatching_Stub(
  674.     IRpcStubBuffer *This,
  675.     IRpcChannelBuffer *_pRpcChannelBuffer,
  676.     PRPC_MESSAGE _pRpcMessage,
  677.     DWORD *_pdwStubPhase);
  678. #endif  /* __IRowsetWatchAll_INTERFACE_DEFINED__ */
  679. #ifndef __IRowsetWatchNotify_INTERFACE_DEFINED__
  680. #define __IRowsetWatchNotify_INTERFACE_DEFINED__
  681. /* interface IRowsetWatchNotify */
  682. /* [unique][uuid][object][local] */ 
  683. typedef DWORD DBWATCHNOTIFY;
  684. enum DBWATCHNOTIFYENUM
  685.     { DBWATCHNOTIFY_ROWSCHANGED = 1,
  686. DBWATCHNOTIFY_QUERYDONE = 2,
  687. DBWATCHNOTIFY_QUERYREEXECUTED = 3
  688.     } ;
  689. EXTERN_C const IID IID_IRowsetWatchNotify;
  690. #if defined(__cplusplus) && !defined(CINTERFACE)
  691.     
  692.     MIDL_INTERFACE("0c733a44-2a1c-11ce-ade5-00aa0044773d")
  693.     IRowsetWatchNotify : public IUnknown
  694.     {
  695.     public:
  696.         virtual HRESULT STDMETHODCALLTYPE OnChange( 
  697.             /* [in] */ IRowset *pRowset,
  698.             /* [in] */ DBWATCHNOTIFY eChangeReason) = 0;
  699.         
  700.     };
  701.     
  702. #else  /* C style interface */
  703.     typedef struct IRowsetWatchNotifyVtbl
  704.     {
  705.         BEGIN_INTERFACE
  706.         
  707.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  708.             IRowsetWatchNotify * This,
  709.             /* [in] */ REFIID riid,
  710.             /* [iid_is][out] */ void **ppvObject);
  711.         
  712.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  713.             IRowsetWatchNotify * This);
  714.         
  715.         ULONG ( STDMETHODCALLTYPE *Release )( 
  716.             IRowsetWatchNotify * This);
  717.         
  718.         HRESULT ( STDMETHODCALLTYPE *OnChange )( 
  719.             IRowsetWatchNotify * This,
  720.             /* [in] */ IRowset *pRowset,
  721.             /* [in] */ DBWATCHNOTIFY eChangeReason);
  722.         
  723.         END_INTERFACE
  724.     } IRowsetWatchNotifyVtbl;
  725.     interface IRowsetWatchNotify
  726.     {
  727.         CONST_VTBL struct IRowsetWatchNotifyVtbl *lpVtbl;
  728.     };
  729.     
  730. #ifdef COBJMACROS
  731. #define IRowsetWatchNotify_QueryInterface(This,riid,ppvObject)
  732.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  733. #define IRowsetWatchNotify_AddRef(This)
  734.     (This)->lpVtbl -> AddRef(This)
  735. #define IRowsetWatchNotify_Release(This)
  736.     (This)->lpVtbl -> Release(This)
  737. #define IRowsetWatchNotify_OnChange(This,pRowset,eChangeReason)
  738.     (This)->lpVtbl -> OnChange(This,pRowset,eChangeReason)
  739. #endif /* COBJMACROS */
  740. #endif  /* C style interface */
  741. HRESULT STDMETHODCALLTYPE IRowsetWatchNotify_OnChange_Proxy( 
  742.     IRowsetWatchNotify * This,
  743.     /* [in] */ IRowset *pRowset,
  744.     /* [in] */ DBWATCHNOTIFY eChangeReason);
  745. void __RPC_STUB IRowsetWatchNotify_OnChange_Stub(
  746.     IRpcStubBuffer *This,
  747.     IRpcChannelBuffer *_pRpcChannelBuffer,
  748.     PRPC_MESSAGE _pRpcMessage,
  749.     DWORD *_pdwStubPhase);
  750. #endif  /* __IRowsetWatchNotify_INTERFACE_DEFINED__ */
  751. #ifndef __IRowsetWatchRegion_INTERFACE_DEFINED__
  752. #define __IRowsetWatchRegion_INTERFACE_DEFINED__
  753. /* interface IRowsetWatchRegion */
  754. /* [unique][uuid][object][local] */ 
  755. typedef DWORD DBWATCHMODE;
  756. enum DBWATCHMODEENUM
  757.     { DBWATCHMODE_ALL = 0x1,
  758. DBWATCHMODE_EXTEND = 0x2,
  759. DBWATCHMODE_MOVE = 0x4,
  760. DBWATCHMODE_COUNT = 0x8
  761.     } ;
  762. typedef DWORD DBROWCHANGEKIND;
  763. enum DBROWCHANGEKINDENUM
  764.     { DBROWCHANGEKIND_INSERT = 0,
  765. DBROWCHANGEKIND_DELETE = DBROWCHANGEKIND_INSERT + 1,
  766. DBROWCHANGEKIND_UPDATE = DBROWCHANGEKIND_DELETE + 1,
  767. DBROWCHANGEKIND_COUNT = DBROWCHANGEKIND_UPDATE + 1
  768.     } ;
  769. typedef struct tagDBROWWATCHRANGE
  770.     {
  771.     HWATCHREGION hRegion;
  772.     DBROWCHANGEKIND eChangeKind;
  773.     HROW hRow;
  774.     DBCOUNTITEM iRow;
  775.     }  DBROWWATCHCHANGE;
  776. EXTERN_C const IID IID_IRowsetWatchRegion;
  777. #if defined(__cplusplus) && !defined(CINTERFACE)
  778.     
  779.     MIDL_INTERFACE("0c733a45-2a1c-11ce-ade5-00aa0044773d")
  780.     IRowsetWatchRegion : public IRowsetWatchAll
  781.     {
  782.     public:
  783.         virtual HRESULT STDMETHODCALLTYPE CreateWatchRegion( 
  784.             /* [in] */ DBWATCHMODE dwWatchMode,
  785.             /* [out] */ HWATCHREGION *phRegion) = 0;
  786.         
  787.         virtual HRESULT STDMETHODCALLTYPE ChangeWatchMode( 
  788.             /* [in] */ HWATCHREGION hRegion,
  789.             /* [in] */ DBWATCHMODE dwWatchMode) = 0;
  790.         
  791.         virtual HRESULT STDMETHODCALLTYPE DeleteWatchRegion( 
  792.             /* [in] */ HWATCHREGION hRegion) = 0;
  793.         
  794.         virtual HRESULT STDMETHODCALLTYPE GetWatchRegionInfo( 
  795.             /* [in] */ HWATCHREGION hRegion,
  796.             /* [out] */ DBWATCHMODE *pdwWatchMode,
  797.             /* [out] */ HCHAPTER *phChapter,
  798.             /* [out][in] */ DBBKMARK *pcbBookmark,
  799.             /* [size_is][size_is][out] */ BYTE **ppBookmark,
  800.             /* [out] */ DBROWCOUNT *pcRows) = 0;
  801.         
  802.         virtual HRESULT STDMETHODCALLTYPE Refresh( 
  803.             /* [out][in] */ DBCOUNTITEM *pcChangesObtained,
  804.             /* [size_is][size_is][out] */ DBROWWATCHCHANGE **prgChanges) = 0;
  805.         
  806.         virtual HRESULT STDMETHODCALLTYPE ShrinkWatchRegion( 
  807.             /* [in] */ HWATCHREGION hRegion,
  808.             /* [in] */ HCHAPTER hChapter,
  809.             /* [in] */ DBBKMARK cbBookmark,
  810.             /* [size_is][in] */ BYTE *pBookmark,
  811.             /* [in] */ DBROWCOUNT cRows) = 0;
  812.         
  813.     };
  814.     
  815. #else  /* C style interface */
  816.     typedef struct IRowsetWatchRegionVtbl
  817.     {
  818.         BEGIN_INTERFACE
  819.         
  820.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  821.             IRowsetWatchRegion * This,
  822.             /* [in] */ REFIID riid,
  823.             /* [iid_is][out] */ void **ppvObject);
  824.         
  825.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  826.             IRowsetWatchRegion * This);
  827.         
  828.         ULONG ( STDMETHODCALLTYPE *Release )( 
  829.             IRowsetWatchRegion * This);
  830.         
  831.         HRESULT ( STDMETHODCALLTYPE *Acknowledge )( 
  832.             IRowsetWatchRegion * This);
  833.         
  834.         HRESULT ( STDMETHODCALLTYPE *Start )( 
  835.             IRowsetWatchRegion * This);
  836.         
  837.         HRESULT ( STDMETHODCALLTYPE *StopWatching )( 
  838.             IRowsetWatchRegion * This);
  839.         
  840.         HRESULT ( STDMETHODCALLTYPE *CreateWatchRegion )( 
  841.             IRowsetWatchRegion * This,
  842.             /* [in] */ DBWATCHMODE dwWatchMode,
  843.             /* [out] */ HWATCHREGION *phRegion);
  844.         
  845.         HRESULT ( STDMETHODCALLTYPE *ChangeWatchMode )( 
  846.             IRowsetWatchRegion * This,
  847.             /* [in] */ HWATCHREGION hRegion,
  848.             /* [in] */ DBWATCHMODE dwWatchMode);
  849.         
  850.         HRESULT ( STDMETHODCALLTYPE *DeleteWatchRegion )( 
  851.             IRowsetWatchRegion * This,
  852.             /* [in] */ HWATCHREGION hRegion);
  853.         
  854.         HRESULT ( STDMETHODCALLTYPE *GetWatchRegionInfo )( 
  855.             IRowsetWatchRegion * This,
  856.             /* [in] */ HWATCHREGION hRegion,
  857.             /* [out] */ DBWATCHMODE *pdwWatchMode,
  858.             /* [out] */ HCHAPTER *phChapter,
  859.             /* [out][in] */ DBBKMARK *pcbBookmark,
  860.             /* [size_is][size_is][out] */ BYTE **ppBookmark,
  861.             /* [out] */ DBROWCOUNT *pcRows);
  862.         
  863.         HRESULT ( STDMETHODCALLTYPE *Refresh )( 
  864.             IRowsetWatchRegion * This,
  865.             /* [out][in] */ DBCOUNTITEM *pcChangesObtained,
  866.             /* [size_is][size_is][out] */ DBROWWATCHCHANGE **prgChanges);
  867.         
  868.         HRESULT ( STDMETHODCALLTYPE *ShrinkWatchRegion )( 
  869.             IRowsetWatchRegion * This,
  870.             /* [in] */ HWATCHREGION hRegion,
  871.             /* [in] */ HCHAPTER hChapter,
  872.             /* [in] */ DBBKMARK cbBookmark,
  873.             /* [size_is][in] */ BYTE *pBookmark,
  874.             /* [in] */ DBROWCOUNT cRows);
  875.         
  876.         END_INTERFACE
  877.     } IRowsetWatchRegionVtbl;
  878.     interface IRowsetWatchRegion
  879.     {
  880.         CONST_VTBL struct IRowsetWatchRegionVtbl *lpVtbl;
  881.     };
  882.     
  883. #ifdef COBJMACROS
  884. #define IRowsetWatchRegion_QueryInterface(This,riid,ppvObject)
  885.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  886. #define IRowsetWatchRegion_AddRef(This)
  887.     (This)->lpVtbl -> AddRef(This)
  888. #define IRowsetWatchRegion_Release(This)
  889.     (This)->lpVtbl -> Release(This)
  890. #define IRowsetWatchRegion_Acknowledge(This)
  891.     (This)->lpVtbl -> Acknowledge(This)
  892. #define IRowsetWatchRegion_Start(This)
  893.     (This)->lpVtbl -> Start(This)
  894. #define IRowsetWatchRegion_StopWatching(This)
  895.     (This)->lpVtbl -> StopWatching(This)
  896. #define IRowsetWatchRegion_CreateWatchRegion(This,dwWatchMode,phRegion)
  897.     (This)->lpVtbl -> CreateWatchRegion(This,dwWatchMode,phRegion)
  898. #define IRowsetWatchRegion_ChangeWatchMode(This,hRegion,dwWatchMode)
  899.     (This)->lpVtbl -> ChangeWatchMode(This,hRegion,dwWatchMode)
  900. #define IRowsetWatchRegion_DeleteWatchRegion(This,hRegion)
  901.     (This)->lpVtbl -> DeleteWatchRegion(This,hRegion)
  902. #define IRowsetWatchRegion_GetWatchRegionInfo(This,hRegion,pdwWatchMode,phChapter,pcbBookmark,ppBookmark,pcRows)
  903.     (This)->lpVtbl -> GetWatchRegionInfo(This,hRegion,pdwWatchMode,phChapter,pcbBookmark,ppBookmark,pcRows)
  904. #define IRowsetWatchRegion_Refresh(This,pcChangesObtained,prgChanges)
  905.     (This)->lpVtbl -> Refresh(This,pcChangesObtained,prgChanges)
  906. #define IRowsetWatchRegion_ShrinkWatchRegion(This,hRegion,hChapter,cbBookmark,pBookmark,cRows)
  907.     (This)->lpVtbl -> ShrinkWatchRegion(This,hRegion,hChapter,cbBookmark,pBookmark,cRows)
  908. #endif /* COBJMACROS */
  909. #endif  /* C style interface */
  910. HRESULT STDMETHODCALLTYPE IRowsetWatchRegion_CreateWatchRegion_Proxy( 
  911.     IRowsetWatchRegion * This,
  912.     /* [in] */ DBWATCHMODE dwWatchMode,
  913.     /* [out] */ HWATCHREGION *phRegion);
  914. void __RPC_STUB IRowsetWatchRegion_CreateWatchRegion_Stub(
  915.     IRpcStubBuffer *This,
  916.     IRpcChannelBuffer *_pRpcChannelBuffer,
  917.     PRPC_MESSAGE _pRpcMessage,
  918.     DWORD *_pdwStubPhase);
  919. HRESULT STDMETHODCALLTYPE IRowsetWatchRegion_ChangeWatchMode_Proxy( 
  920.     IRowsetWatchRegion * This,
  921.     /* [in] */ HWATCHREGION hRegion,
  922.     /* [in] */ DBWATCHMODE dwWatchMode);
  923. void __RPC_STUB IRowsetWatchRegion_ChangeWatchMode_Stub(
  924.     IRpcStubBuffer *This,
  925.     IRpcChannelBuffer *_pRpcChannelBuffer,
  926.     PRPC_MESSAGE _pRpcMessage,
  927.     DWORD *_pdwStubPhase);
  928. HRESULT STDMETHODCALLTYPE IRowsetWatchRegion_DeleteWatchRegion_Proxy( 
  929.     IRowsetWatchRegion * This,
  930.     /* [in] */ HWATCHREGION hRegion);
  931. void __RPC_STUB IRowsetWatchRegion_DeleteWatchRegion_Stub(
  932.     IRpcStubBuffer *This,
  933.     IRpcChannelBuffer *_pRpcChannelBuffer,
  934.     PRPC_MESSAGE _pRpcMessage,
  935.     DWORD *_pdwStubPhase);
  936. HRESULT STDMETHODCALLTYPE IRowsetWatchRegion_GetWatchRegionInfo_Proxy( 
  937.     IRowsetWatchRegion * This,
  938.     /* [in] */ HWATCHREGION hRegion,
  939.     /* [out] */ DBWATCHMODE *pdwWatchMode,
  940.     /* [out] */ HCHAPTER *phChapter,
  941.     /* [out][in] */ DBBKMARK *pcbBookmark,
  942.     /* [size_is][size_is][out] */ BYTE **ppBookmark,
  943.     /* [out] */ DBROWCOUNT *pcRows);
  944. void __RPC_STUB IRowsetWatchRegion_GetWatchRegionInfo_Stub(
  945.     IRpcStubBuffer *This,
  946.     IRpcChannelBuffer *_pRpcChannelBuffer,
  947.     PRPC_MESSAGE _pRpcMessage,
  948.     DWORD *_pdwStubPhase);
  949. HRESULT STDMETHODCALLTYPE IRowsetWatchRegion_Refresh_Proxy( 
  950.     IRowsetWatchRegion * This,
  951.     /* [out][in] */ DBCOUNTITEM *pcChangesObtained,
  952.     /* [size_is][size_is][out] */ DBROWWATCHCHANGE **prgChanges);
  953. void __RPC_STUB IRowsetWatchRegion_Refresh_Stub(
  954.     IRpcStubBuffer *This,
  955.     IRpcChannelBuffer *_pRpcChannelBuffer,
  956.     PRPC_MESSAGE _pRpcMessage,
  957.     DWORD *_pdwStubPhase);
  958. HRESULT STDMETHODCALLTYPE IRowsetWatchRegion_ShrinkWatchRegion_Proxy( 
  959.     IRowsetWatchRegion * This,
  960.     /* [in] */ HWATCHREGION hRegion,
  961.     /* [in] */ HCHAPTER hChapter,
  962.     /* [in] */ DBBKMARK cbBookmark,
  963.     /* [size_is][in] */ BYTE *pBookmark,
  964.     /* [in] */ DBROWCOUNT cRows);
  965. void __RPC_STUB IRowsetWatchRegion_ShrinkWatchRegion_Stub(
  966.     IRpcStubBuffer *This,
  967.     IRpcChannelBuffer *_pRpcChannelBuffer,
  968.     PRPC_MESSAGE _pRpcMessage,
  969.     DWORD *_pdwStubPhase);
  970. #endif  /* __IRowsetWatchRegion_INTERFACE_DEFINED__ */
  971. #ifndef __IRowsetCopyRows_INTERFACE_DEFINED__
  972. #define __IRowsetCopyRows_INTERFACE_DEFINED__
  973. /* interface IRowsetCopyRows */
  974. /* [unique][uuid][object][local] */ 
  975. typedef WORD HSOURCE;
  976. EXTERN_C const IID IID_IRowsetCopyRows;
  977. #if defined(__cplusplus) && !defined(CINTERFACE)
  978.     
  979.     MIDL_INTERFACE("0c733a6b-2a1c-11ce-ade5-00aa0044773d")
  980.     IRowsetCopyRows : public IUnknown
  981.     {
  982.     public:
  983.         virtual HRESULT STDMETHODCALLTYPE CloseSource( 
  984.             /* [in] */ HSOURCE hSourceID) = 0;
  985.         
  986.         virtual HRESULT STDMETHODCALLTYPE CopyByHROWS( 
  987.             /* [in] */ HSOURCE hSourceID,
  988.             /* [in] */ HCHAPTER hReserved,
  989.             /* [in] */ DBROWCOUNT cRows,
  990.             /* [size_is][in] */ const HROW rghRows[  ],
  991.             /* [in] */ ULONG bFlags) = 0;
  992.         
  993.         virtual HRESULT STDMETHODCALLTYPE CopyRows( 
  994.             /* [in] */ HSOURCE hSourceID,
  995.             /* [in] */ HCHAPTER hReserved,
  996.             /* [in] */ DBROWCOUNT cRows,
  997.             /* [in] */ ULONG bFlags,
  998.             /* [out] */ DBCOUNTITEM *pcRowsCopied) = 0;
  999.         
  1000.         virtual HRESULT STDMETHODCALLTYPE DefineSource( 
  1001.             /* [in] */ const IRowset *pRowsetSource,
  1002.             /* [in] */ const DBORDINAL cColIds,
  1003.             /* [size_is][in] */ const DB_LORDINAL rgSourceColumns[  ],
  1004.             /* [size_is][in] */ const DB_LORDINAL rgTargetColumns[  ],
  1005.             /* [out] */ HSOURCE *phSourceID) = 0;
  1006.         
  1007.     };
  1008.     
  1009. #else  /* C style interface */
  1010.     typedef struct IRowsetCopyRowsVtbl
  1011.     {
  1012.         BEGIN_INTERFACE
  1013.         
  1014.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1015.             IRowsetCopyRows * This,
  1016.             /* [in] */ REFIID riid,
  1017.             /* [iid_is][out] */ void **ppvObject);
  1018.         
  1019.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1020.             IRowsetCopyRows * This);
  1021.         
  1022.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1023.             IRowsetCopyRows * This);
  1024.         
  1025.         HRESULT ( STDMETHODCALLTYPE *CloseSource )( 
  1026.             IRowsetCopyRows * This,
  1027.             /* [in] */ HSOURCE hSourceID);
  1028.         
  1029.         HRESULT ( STDMETHODCALLTYPE *CopyByHROWS )( 
  1030.             IRowsetCopyRows * This,
  1031.             /* [in] */ HSOURCE hSourceID,
  1032.             /* [in] */ HCHAPTER hReserved,
  1033.             /* [in] */ DBROWCOUNT cRows,
  1034.             /* [size_is][in] */ const HROW rghRows[  ],
  1035.             /* [in] */ ULONG bFlags);
  1036.         
  1037.         HRESULT ( STDMETHODCALLTYPE *CopyRows )( 
  1038.             IRowsetCopyRows * This,
  1039.             /* [in] */ HSOURCE hSourceID,
  1040.             /* [in] */ HCHAPTER hReserved,
  1041.             /* [in] */ DBROWCOUNT cRows,
  1042.             /* [in] */ ULONG bFlags,
  1043.             /* [out] */ DBCOUNTITEM *pcRowsCopied);
  1044.         
  1045.         HRESULT ( STDMETHODCALLTYPE *DefineSource )( 
  1046.             IRowsetCopyRows * This,
  1047.             /* [in] */ const IRowset *pRowsetSource,
  1048.             /* [in] */ const DBORDINAL cColIds,
  1049.             /* [size_is][in] */ const DB_LORDINAL rgSourceColumns[  ],
  1050.             /* [size_is][in] */ const DB_LORDINAL rgTargetColumns[  ],
  1051.             /* [out] */ HSOURCE *phSourceID);
  1052.         
  1053.         END_INTERFACE
  1054.     } IRowsetCopyRowsVtbl;
  1055.     interface IRowsetCopyRows
  1056.     {
  1057.         CONST_VTBL struct IRowsetCopyRowsVtbl *lpVtbl;
  1058.     };
  1059.     
  1060. #ifdef COBJMACROS
  1061. #define IRowsetCopyRows_QueryInterface(This,riid,ppvObject)
  1062.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1063. #define IRowsetCopyRows_AddRef(This)
  1064.     (This)->lpVtbl -> AddRef(This)
  1065. #define IRowsetCopyRows_Release(This)
  1066.     (This)->lpVtbl -> Release(This)
  1067. #define IRowsetCopyRows_CloseSource(This,hSourceID)
  1068.     (This)->lpVtbl -> CloseSource(This,hSourceID)
  1069. #define IRowsetCopyRows_CopyByHROWS(This,hSourceID,hReserved,cRows,rghRows,bFlags)
  1070.     (This)->lpVtbl -> CopyByHROWS(This,hSourceID,hReserved,cRows,rghRows,bFlags)
  1071. #define IRowsetCopyRows_CopyRows(This,hSourceID,hReserved,cRows,bFlags,pcRowsCopied)
  1072.     (This)->lpVtbl -> CopyRows(This,hSourceID,hReserved,cRows,bFlags,pcRowsCopied)
  1073. #define IRowsetCopyRows_DefineSource(This,pRowsetSource,cColIds,rgSourceColumns,rgTargetColumns,phSourceID)
  1074.     (This)->lpVtbl -> DefineSource(This,pRowsetSource,cColIds,rgSourceColumns,rgTargetColumns,phSourceID)
  1075. #endif /* COBJMACROS */
  1076. #endif  /* C style interface */
  1077. HRESULT STDMETHODCALLTYPE IRowsetCopyRows_CloseSource_Proxy( 
  1078.     IRowsetCopyRows * This,
  1079.     /* [in] */ HSOURCE hSourceID);
  1080. void __RPC_STUB IRowsetCopyRows_CloseSource_Stub(
  1081.     IRpcStubBuffer *This,
  1082.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1083.     PRPC_MESSAGE _pRpcMessage,
  1084.     DWORD *_pdwStubPhase);
  1085. HRESULT STDMETHODCALLTYPE IRowsetCopyRows_CopyByHROWS_Proxy( 
  1086.     IRowsetCopyRows * This,
  1087.     /* [in] */ HSOURCE hSourceID,
  1088.     /* [in] */ HCHAPTER hReserved,
  1089.     /* [in] */ DBROWCOUNT cRows,
  1090.     /* [size_is][in] */ const HROW rghRows[  ],
  1091.     /* [in] */ ULONG bFlags);
  1092. void __RPC_STUB IRowsetCopyRows_CopyByHROWS_Stub(
  1093.     IRpcStubBuffer *This,
  1094.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1095.     PRPC_MESSAGE _pRpcMessage,
  1096.     DWORD *_pdwStubPhase);
  1097. HRESULT STDMETHODCALLTYPE IRowsetCopyRows_CopyRows_Proxy( 
  1098.     IRowsetCopyRows * This,
  1099.     /* [in] */ HSOURCE hSourceID,
  1100.     /* [in] */ HCHAPTER hReserved,
  1101.     /* [in] */ DBROWCOUNT cRows,
  1102.     /* [in] */ ULONG bFlags,
  1103.     /* [out] */ DBCOUNTITEM *pcRowsCopied);
  1104. void __RPC_STUB IRowsetCopyRows_CopyRows_Stub(
  1105.     IRpcStubBuffer *This,
  1106.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1107.     PRPC_MESSAGE _pRpcMessage,
  1108.     DWORD *_pdwStubPhase);
  1109. HRESULT STDMETHODCALLTYPE IRowsetCopyRows_DefineSource_Proxy( 
  1110.     IRowsetCopyRows * This,
  1111.     /* [in] */ const IRowset *pRowsetSource,
  1112.     /* [in] */ const DBORDINAL cColIds,
  1113.     /* [size_is][in] */ const DB_LORDINAL rgSourceColumns[  ],
  1114.     /* [size_is][in] */ const DB_LORDINAL rgTargetColumns[  ],
  1115.     /* [out] */ HSOURCE *phSourceID);
  1116. void __RPC_STUB IRowsetCopyRows_DefineSource_Stub(
  1117.     IRpcStubBuffer *This,
  1118.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1119.     PRPC_MESSAGE _pRpcMessage,
  1120.     DWORD *_pdwStubPhase);
  1121. #endif  /* __IRowsetCopyRows_INTERFACE_DEFINED__ */
  1122. #ifndef __IReadData_INTERFACE_DEFINED__
  1123. #define __IReadData_INTERFACE_DEFINED__
  1124. /* interface IReadData */
  1125. /* [unique][uuid][object][local] */ 
  1126. EXTERN_C const IID IID_IReadData;
  1127. #if defined(__cplusplus) && !defined(CINTERFACE)
  1128.     
  1129.     MIDL_INTERFACE("0c733a6a-2a1c-11ce-ade5-00aa0044773d")
  1130.     IReadData : public IUnknown
  1131.     {
  1132.     public:
  1133.         virtual HRESULT STDMETHODCALLTYPE ReadData( 
  1134.             /* [in] */ HCHAPTER hChapter,
  1135.             /* [in] */ DBBKMARK cbBookmark,
  1136.             /* [size_is][in] */ const BYTE *pBookmark,
  1137.             /* [in] */ DBROWOFFSET lRowsOffset,
  1138.             /* [in] */ HACCESSOR hAccessor,
  1139.             /* [in] */ DBROWCOUNT cRows,
  1140.             /* [out] */ DBCOUNTITEM *pcRowsObtained,
  1141.             /* [out][in] */ BYTE **ppFixedData,
  1142.             /* [out][in] */ DBLENGTH *pcbVariableTotal,
  1143.             /* [out][in] */ BYTE **ppVariableData) = 0;
  1144.         
  1145.         virtual HRESULT STDMETHODCALLTYPE ReleaseChapter( 
  1146.             /* [in] */ HCHAPTER hChapter) = 0;
  1147.         
  1148.     };
  1149.     
  1150. #else  /* C style interface */
  1151.     typedef struct IReadDataVtbl
  1152.     {
  1153.         BEGIN_INTERFACE
  1154.         
  1155.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1156.             IReadData * This,
  1157.             /* [in] */ REFIID riid,
  1158.             /* [iid_is][out] */ void **ppvObject);
  1159.         
  1160.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1161.             IReadData * This);
  1162.         
  1163.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1164.             IReadData * This);
  1165.         
  1166.         HRESULT ( STDMETHODCALLTYPE *ReadData )( 
  1167.             IReadData * This,
  1168.             /* [in] */ HCHAPTER hChapter,
  1169.             /* [in] */ DBBKMARK cbBookmark,
  1170.             /* [size_is][in] */ const BYTE *pBookmark,
  1171.             /* [in] */ DBROWOFFSET lRowsOffset,
  1172.             /* [in] */ HACCESSOR hAccessor,
  1173.             /* [in] */ DBROWCOUNT cRows,
  1174.             /* [out] */ DBCOUNTITEM *pcRowsObtained,
  1175.             /* [out][in] */ BYTE **ppFixedData,
  1176.             /* [out][in] */ DBLENGTH *pcbVariableTotal,
  1177.             /* [out][in] */ BYTE **ppVariableData);
  1178.         
  1179.         HRESULT ( STDMETHODCALLTYPE *ReleaseChapter )( 
  1180.             IReadData * This,
  1181.             /* [in] */ HCHAPTER hChapter);
  1182.         
  1183.         END_INTERFACE
  1184.     } IReadDataVtbl;
  1185.     interface IReadData
  1186.     {
  1187.         CONST_VTBL struct IReadDataVtbl *lpVtbl;
  1188.     };
  1189.     
  1190. #ifdef COBJMACROS
  1191. #define IReadData_QueryInterface(This,riid,ppvObject)
  1192.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1193. #define IReadData_AddRef(This)
  1194.     (This)->lpVtbl -> AddRef(This)
  1195. #define IReadData_Release(This)
  1196.     (This)->lpVtbl -> Release(This)
  1197. #define IReadData_ReadData(This,hChapter,cbBookmark,pBookmark,lRowsOffset,hAccessor,cRows,pcRowsObtained,ppFixedData,pcbVariableTotal,ppVariableData)
  1198.     (This)->lpVtbl -> ReadData(This,hChapter,cbBookmark,pBookmark,lRowsOffset,hAccessor,cRows,pcRowsObtained,ppFixedData,pcbVariableTotal,ppVariableData)
  1199. #define IReadData_ReleaseChapter(This,hChapter)
  1200.     (This)->lpVtbl -> ReleaseChapter(This,hChapter)
  1201. #endif /* COBJMACROS */
  1202. #endif  /* C style interface */
  1203. HRESULT STDMETHODCALLTYPE IReadData_ReadData_Proxy( 
  1204.     IReadData * This,
  1205.     /* [in] */ HCHAPTER hChapter,
  1206.     /* [in] */ DBBKMARK cbBookmark,
  1207.     /* [size_is][in] */ const BYTE *pBookmark,
  1208.     /* [in] */ DBROWOFFSET lRowsOffset,
  1209.     /* [in] */ HACCESSOR hAccessor,
  1210.     /* [in] */ DBROWCOUNT cRows,
  1211.     /* [out] */ DBCOUNTITEM *pcRowsObtained,
  1212.     /* [out][in] */ BYTE **ppFixedData,
  1213.     /* [out][in] */ DBLENGTH *pcbVariableTotal,
  1214.     /* [out][in] */ BYTE **ppVariableData);
  1215. void __RPC_STUB IReadData_ReadData_Stub(
  1216.     IRpcStubBuffer *This,
  1217.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1218.     PRPC_MESSAGE _pRpcMessage,
  1219.     DWORD *_pdwStubPhase);
  1220. HRESULT STDMETHODCALLTYPE IReadData_ReleaseChapter_Proxy( 
  1221.     IReadData * This,
  1222.     /* [in] */ HCHAPTER hChapter);
  1223. void __RPC_STUB IReadData_ReleaseChapter_Stub(
  1224.     IRpcStubBuffer *This,
  1225.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1226.     PRPC_MESSAGE _pRpcMessage,
  1227.     DWORD *_pdwStubPhase);
  1228. #endif  /* __IReadData_INTERFACE_DEFINED__ */
  1229. #ifndef __ICommandCost_INTERFACE_DEFINED__
  1230. #define __ICommandCost_INTERFACE_DEFINED__
  1231. /* interface ICommandCost */
  1232. /* [unique][uuid][object][local] */ 
  1233. typedef DWORD DBRESOURCEKIND;
  1234. enum DBRESOURCEKINDENUM
  1235.     { DBRESOURCE_INVALID = 0,
  1236. DBRESOURCE_TOTAL = 1,
  1237. DBRESOURCE_CPU = 2,
  1238. DBRESOURCE_MEMORY = 3,
  1239. DBRESOURCE_DISK = 4,
  1240. DBRESOURCE_NETWORK = 5,
  1241. DBRESOURCE_RESPONSE = 6,
  1242. DBRESOURCE_ROWS = 7,
  1243. DBRESOURCE_OTHER = 8
  1244.     } ;
  1245. typedef DWORD DBCOSTUNIT;
  1246. enum DBCOSTUNITENUM
  1247.     { DBUNIT_INVALID = 0,
  1248. DBUNIT_WEIGHT = 0x1,
  1249. DBUNIT_PERCENT = 0x2,
  1250. DBUNIT_MAXIMUM = 0x4,
  1251. DBUNIT_MINIMUM = 0x8,
  1252. DBUNIT_MICRO_SECOND = 0x10,
  1253. DBUNIT_MILLI_SECOND = 0x20,
  1254. DBUNIT_SECOND = 0x40,
  1255. DBUNIT_MINUTE = 0x80,
  1256. DBUNIT_HOUR = 0x100,
  1257. DBUNIT_BYTE = 0x200,
  1258. DBUNIT_KILO_BYTE = 0x400,
  1259. DBUNIT_MEGA_BYTE = 0x800,
  1260. DBUNIT_GIGA_BYTE = 0x1000,
  1261. DBUNIT_NUM_MSGS = 0x2000,
  1262. DBUNIT_NUM_LOCKS = 0x4000,
  1263. DBUNIT_NUM_ROWS = 0x8000,
  1264. DBUNIT_OTHER = 0x10000
  1265.     } ;
  1266. typedef struct tagDBCOST
  1267.     {
  1268.     DBRESOURCEKIND eKind;
  1269.     DBCOSTUNIT dwUnits;
  1270.     LONG lValue;
  1271.     }  DBCOST;
  1272. typedef DWORD DBEXECLIMITS;
  1273. enum DBEXECLIMITSENUM
  1274.     { DBEXECLIMITS_ABORT = 1,
  1275. DBEXECLIMITS_STOP = 2,
  1276. DBEXECLIMITS_SUSPEND = 3
  1277.     } ;
  1278. EXTERN_C const IID IID_ICommandCost;
  1279. #if defined(__cplusplus) && !defined(CINTERFACE)
  1280.     
  1281.     MIDL_INTERFACE("0c733a4e-2a1c-11ce-ade5-00aa0044773d")
  1282.     ICommandCost : public IUnknown
  1283.     {
  1284.     public:
  1285.         virtual HRESULT STDMETHODCALLTYPE GetAccumulatedCost( 
  1286.             /* [in] */ LPCOLESTR pwszRowsetName,
  1287.             /* [out][in] */ ULONG *pcCostLimits,
  1288.             /* [size_is][size_is][out] */ DBCOST **prgCostLimits) = 0;
  1289.         
  1290.         virtual HRESULT STDMETHODCALLTYPE GetCostEstimate( 
  1291.             /* [in] */ LPCOLESTR pwszRowsetName,
  1292.             /* [out] */ ULONG *pcCostEstimates,
  1293.             /* [out] */ DBCOST *prgCostEstimates) = 0;
  1294.         
  1295.         virtual HRESULT STDMETHODCALLTYPE GetCostGoals( 
  1296.             /* [in] */ LPCOLESTR pwszRowsetName,
  1297.             /* [out] */ ULONG *pcCostGoals,
  1298.             /* [out] */ DBCOST *prgCostGoals) = 0;
  1299.         
  1300.         virtual HRESULT STDMETHODCALLTYPE GetCostLimits( 
  1301.             /* [in] */ LPCOLESTR pwszRowsetName,
  1302.             /* [out] */ ULONG *pcCostLimits,
  1303.             /* [out] */ DBCOST *prgCostLimits) = 0;
  1304.         
  1305.         virtual HRESULT STDMETHODCALLTYPE SetCostGoals( 
  1306.             /* [in] */ LPCOLESTR pwszRowsetName,
  1307.             /* [in] */ ULONG cCostGoals,
  1308.             /* [size_is][in] */ const DBCOST rgCostGoals[  ]) = 0;
  1309.         
  1310.         virtual HRESULT STDMETHODCALLTYPE SetCostLimits( 
  1311.             /* [in] */ LPCOLESTR pwszRowsetName,
  1312.             /* [in] */ ULONG cCostLimits,
  1313.             /* [in] */ DBCOST *prgCostLimits,
  1314.             /* [in] */ DBEXECLIMITS dwExecutionFlags) = 0;
  1315.         
  1316.     };
  1317.     
  1318. #else  /* C style interface */
  1319.     typedef struct ICommandCostVtbl
  1320.     {
  1321.         BEGIN_INTERFACE
  1322.         
  1323.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1324.             ICommandCost * This,
  1325.             /* [in] */ REFIID riid,
  1326.             /* [iid_is][out] */ void **ppvObject);
  1327.         
  1328.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1329.             ICommandCost * This);
  1330.         
  1331.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1332.             ICommandCost * This);
  1333.         
  1334.         HRESULT ( STDMETHODCALLTYPE *GetAccumulatedCost )( 
  1335.             ICommandCost * This,
  1336.             /* [in] */ LPCOLESTR pwszRowsetName,
  1337.             /* [out][in] */ ULONG *pcCostLimits,
  1338.             /* [size_is][size_is][out] */ DBCOST **prgCostLimits);
  1339.         
  1340.         HRESULT ( STDMETHODCALLTYPE *GetCostEstimate )( 
  1341.             ICommandCost * This,
  1342.             /* [in] */ LPCOLESTR pwszRowsetName,
  1343.             /* [out] */ ULONG *pcCostEstimates,
  1344.             /* [out] */ DBCOST *prgCostEstimates);
  1345.         
  1346.         HRESULT ( STDMETHODCALLTYPE *GetCostGoals )( 
  1347.             ICommandCost * This,
  1348.             /* [in] */ LPCOLESTR pwszRowsetName,
  1349.             /* [out] */ ULONG *pcCostGoals,
  1350.             /* [out] */ DBCOST *prgCostGoals);
  1351.         
  1352.         HRESULT ( STDMETHODCALLTYPE *GetCostLimits )( 
  1353.             ICommandCost * This,
  1354.             /* [in] */ LPCOLESTR pwszRowsetName,
  1355.             /* [out] */ ULONG *pcCostLimits,
  1356.             /* [out] */ DBCOST *prgCostLimits);
  1357.         
  1358.         HRESULT ( STDMETHODCALLTYPE *SetCostGoals )( 
  1359.             ICommandCost * This,
  1360.             /* [in] */ LPCOLESTR pwszRowsetName,
  1361.             /* [in] */ ULONG cCostGoals,
  1362.             /* [size_is][in] */ const DBCOST rgCostGoals[  ]);
  1363.         
  1364.         HRESULT ( STDMETHODCALLTYPE *SetCostLimits )( 
  1365.             ICommandCost * This,
  1366.             /* [in] */ LPCOLESTR pwszRowsetName,
  1367.             /* [in] */ ULONG cCostLimits,
  1368.             /* [in] */ DBCOST *prgCostLimits,
  1369.             /* [in] */ DBEXECLIMITS dwExecutionFlags);
  1370.         
  1371.         END_INTERFACE
  1372.     } ICommandCostVtbl;
  1373.     interface ICommandCost
  1374.     {
  1375.         CONST_VTBL struct ICommandCostVtbl *lpVtbl;
  1376.     };
  1377.     
  1378. #ifdef COBJMACROS
  1379. #define ICommandCost_QueryInterface(This,riid,ppvObject)
  1380.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1381. #define ICommandCost_AddRef(This)
  1382.     (This)->lpVtbl -> AddRef(This)
  1383. #define ICommandCost_Release(This)
  1384.     (This)->lpVtbl -> Release(This)
  1385. #define ICommandCost_GetAccumulatedCost(This,pwszRowsetName,pcCostLimits,prgCostLimits)
  1386.     (This)->lpVtbl -> GetAccumulatedCost(This,pwszRowsetName,pcCostLimits,prgCostLimits)
  1387. #define ICommandCost_GetCostEstimate(This,pwszRowsetName,pcCostEstimates,prgCostEstimates)
  1388.     (This)->lpVtbl -> GetCostEstimate(This,pwszRowsetName,pcCostEstimates,prgCostEstimates)
  1389. #define ICommandCost_GetCostGoals(This,pwszRowsetName,pcCostGoals,prgCostGoals)
  1390.     (This)->lpVtbl -> GetCostGoals(This,pwszRowsetName,pcCostGoals,prgCostGoals)
  1391. #define ICommandCost_GetCostLimits(This,pwszRowsetName,pcCostLimits,prgCostLimits)
  1392.     (This)->lpVtbl -> GetCostLimits(This,pwszRowsetName,pcCostLimits,prgCostLimits)
  1393. #define ICommandCost_SetCostGoals(This,pwszRowsetName,cCostGoals,rgCostGoals)
  1394.     (This)->lpVtbl -> SetCostGoals(This,pwszRowsetName,cCostGoals,rgCostGoals)
  1395. #define ICommandCost_SetCostLimits(This,pwszRowsetName,cCostLimits,prgCostLimits,dwExecutionFlags)
  1396.     (This)->lpVtbl -> SetCostLimits(This,pwszRowsetName,cCostLimits,prgCostLimits,dwExecutionFlags)
  1397. #endif /* COBJMACROS */
  1398. #endif  /* C style interface */
  1399. HRESULT STDMETHODCALLTYPE ICommandCost_GetAccumulatedCost_Proxy( 
  1400.     ICommandCost * This,
  1401.     /* [in] */ LPCOLESTR pwszRowsetName,
  1402.     /* [out][in] */ ULONG *pcCostLimits,
  1403.     /* [size_is][size_is][out] */ DBCOST **prgCostLimits);
  1404. void __RPC_STUB ICommandCost_GetAccumulatedCost_Stub(
  1405.     IRpcStubBuffer *This,
  1406.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1407.     PRPC_MESSAGE _pRpcMessage,
  1408.     DWORD *_pdwStubPhase);
  1409. HRESULT STDMETHODCALLTYPE ICommandCost_GetCostEstimate_Proxy( 
  1410.     ICommandCost * This,
  1411.     /* [in] */ LPCOLESTR pwszRowsetName,
  1412.     /* [out] */ ULONG *pcCostEstimates,
  1413.     /* [out] */ DBCOST *prgCostEstimates);
  1414. void __RPC_STUB ICommandCost_GetCostEstimate_Stub(
  1415.     IRpcStubBuffer *This,
  1416.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1417.     PRPC_MESSAGE _pRpcMessage,
  1418.     DWORD *_pdwStubPhase);
  1419. HRESULT STDMETHODCALLTYPE ICommandCost_GetCostGoals_Proxy( 
  1420.     ICommandCost * This,
  1421.     /* [in] */ LPCOLESTR pwszRowsetName,
  1422.     /* [out] */ ULONG *pcCostGoals,
  1423.     /* [out] */ DBCOST *prgCostGoals);
  1424. void __RPC_STUB ICommandCost_GetCostGoals_Stub(
  1425.     IRpcStubBuffer *This,
  1426.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1427.     PRPC_MESSAGE _pRpcMessage,
  1428.     DWORD *_pdwStubPhase);
  1429. HRESULT STDMETHODCALLTYPE ICommandCost_GetCostLimits_Proxy( 
  1430.     ICommandCost * This,
  1431.     /* [in] */ LPCOLESTR pwszRowsetName,
  1432.     /* [out] */ ULONG *pcCostLimits,
  1433.     /* [out] */ DBCOST *prgCostLimits);
  1434. void __RPC_STUB ICommandCost_GetCostLimits_Stub(
  1435.     IRpcStubBuffer *This,
  1436.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1437.     PRPC_MESSAGE _pRpcMessage,
  1438.     DWORD *_pdwStubPhase);
  1439. HRESULT STDMETHODCALLTYPE ICommandCost_SetCostGoals_Proxy( 
  1440.     ICommandCost * This,
  1441.     /* [in] */ LPCOLESTR pwszRowsetName,
  1442.     /* [in] */ ULONG cCostGoals,
  1443.     /* [size_is][in] */ const DBCOST rgCostGoals[  ]);
  1444. void __RPC_STUB ICommandCost_SetCostGoals_Stub(
  1445.     IRpcStubBuffer *This,
  1446.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1447.     PRPC_MESSAGE _pRpcMessage,
  1448.     DWORD *_pdwStubPhase);
  1449. HRESULT STDMETHODCALLTYPE ICommandCost_SetCostLimits_Proxy( 
  1450.     ICommandCost * This,
  1451.     /* [in] */ LPCOLESTR pwszRowsetName,
  1452.     /* [in] */ ULONG cCostLimits,
  1453.     /* [in] */ DBCOST *prgCostLimits,
  1454.     /* [in] */ DBEXECLIMITS dwExecutionFlags);
  1455. void __RPC_STUB ICommandCost_SetCostLimits_Stub(
  1456.     IRpcStubBuffer *This,
  1457.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1458.     PRPC_MESSAGE _pRpcMessage,
  1459.     DWORD *_pdwStubPhase);
  1460. #endif  /* __ICommandCost_INTERFACE_DEFINED__ */
  1461. #ifndef __ICommandValidate_INTERFACE_DEFINED__
  1462. #define __ICommandValidate_INTERFACE_DEFINED__
  1463. /* interface ICommandValidate */
  1464. /* [unique][uuid][object][local] */ 
  1465. EXTERN_C const IID IID_ICommandValidate;
  1466. #if defined(__cplusplus) && !defined(CINTERFACE)
  1467.     
  1468.     MIDL_INTERFACE("0c733a18-2a1c-11ce-ade5-00aa0044773d")
  1469.     ICommandValidate : public IUnknown
  1470.     {
  1471.     public:
  1472.         virtual HRESULT STDMETHODCALLTYPE ValidateCompletely( void) = 0;
  1473.         
  1474.         virtual HRESULT STDMETHODCALLTYPE ValidateSyntax( void) = 0;
  1475.         
  1476.     };
  1477.     
  1478. #else  /* C style interface */
  1479.     typedef struct ICommandValidateVtbl
  1480.     {
  1481.         BEGIN_INTERFACE
  1482.         
  1483.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1484.             ICommandValidate * This,
  1485.             /* [in] */ REFIID riid,
  1486.             /* [iid_is][out] */ void **ppvObject);
  1487.         
  1488.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1489.             ICommandValidate * This);
  1490.         
  1491.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1492.             ICommandValidate * This);
  1493.         
  1494.         HRESULT ( STDMETHODCALLTYPE *ValidateCompletely )( 
  1495.             ICommandValidate * This);
  1496.         
  1497.         HRESULT ( STDMETHODCALLTYPE *ValidateSyntax )( 
  1498.             ICommandValidate * This);
  1499.         
  1500.         END_INTERFACE
  1501.     } ICommandValidateVtbl;
  1502.     interface ICommandValidate
  1503.     {
  1504.         CONST_VTBL struct ICommandValidateVtbl *lpVtbl;
  1505.     };
  1506.     
  1507. #ifdef COBJMACROS
  1508. #define ICommandValidate_QueryInterface(This,riid,ppvObject)
  1509.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1510. #define ICommandValidate_AddRef(This)
  1511.     (This)->lpVtbl -> AddRef(This)
  1512. #define ICommandValidate_Release(This)
  1513.     (This)->lpVtbl -> Release(This)
  1514. #define ICommandValidate_ValidateCompletely(This)
  1515.     (This)->lpVtbl -> ValidateCompletely(This)
  1516. #define ICommandValidate_ValidateSyntax(This)
  1517.     (This)->lpVtbl -> ValidateSyntax(This)
  1518. #endif /* COBJMACROS */
  1519. #endif  /* C style interface */
  1520. HRESULT STDMETHODCALLTYPE ICommandValidate_ValidateCompletely_Proxy( 
  1521.     ICommandValidate * This);
  1522. void __RPC_STUB ICommandValidate_ValidateCompletely_Stub(
  1523.     IRpcStubBuffer *This,
  1524.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1525.     PRPC_MESSAGE _pRpcMessage,
  1526.     DWORD *_pdwStubPhase);
  1527. HRESULT STDMETHODCALLTYPE ICommandValidate_ValidateSyntax_Proxy( 
  1528.     ICommandValidate * This);
  1529. void __RPC_STUB ICommandValidate_ValidateSyntax_Stub(
  1530.     IRpcStubBuffer *This,
  1531.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1532.     PRPC_MESSAGE _pRpcMessage,
  1533.     DWORD *_pdwStubPhase);
  1534. #endif  /* __ICommandValidate_INTERFACE_DEFINED__ */
  1535. #ifndef __ITableRename_INTERFACE_DEFINED__
  1536. #define __ITableRename_INTERFACE_DEFINED__
  1537. /* interface ITableRename */
  1538. /* [unique][uuid][object][local] */ 
  1539. EXTERN_C const IID IID_ITableRename;
  1540. #if defined(__cplusplus) && !defined(CINTERFACE)
  1541.     
  1542.     MIDL_INTERFACE("0c733a77-2a1c-11ce-ade5-00aa0044773d")
  1543.     ITableRename : public IUnknown
  1544.     {
  1545.     public:
  1546.         virtual HRESULT STDMETHODCALLTYPE RenameColumn( 
  1547.             /* [in] */ DBID *pTableId,
  1548.             /* [in] */ DBID *pOldColumnId,
  1549.             /* [in] */ DBID *pNewColumnId) = 0;
  1550.         
  1551.         virtual HRESULT STDMETHODCALLTYPE RenameTable( 
  1552.             /* [in] */ DBID *pOldTableId,
  1553.             /* [in] */ DBID *pOldIndexId,
  1554.             /* [in] */ DBID *pNewTableId,
  1555.             /* [in] */ DBID *pNewIndexId) = 0;
  1556.         
  1557.     };
  1558.     
  1559. #else  /* C style interface */
  1560.     typedef struct ITableRenameVtbl
  1561.     {
  1562.         BEGIN_INTERFACE
  1563.         
  1564.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1565.             ITableRename * This,
  1566.             /* [in] */ REFIID riid,
  1567.             /* [iid_is][out] */ void **ppvObject);
  1568.         
  1569.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1570.             ITableRename * This);
  1571.         
  1572.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1573.             ITableRename * This);
  1574.         
  1575.         HRESULT ( STDMETHODCALLTYPE *RenameColumn )( 
  1576.             ITableRename * This,
  1577.             /* [in] */ DBID *pTableId,
  1578.             /* [in] */ DBID *pOldColumnId,
  1579.             /* [in] */ DBID *pNewColumnId);
  1580.         
  1581.         HRESULT ( STDMETHODCALLTYPE *RenameTable )( 
  1582.             ITableRename * This,
  1583.             /* [in] */ DBID *pOldTableId,
  1584.             /* [in] */ DBID *pOldIndexId,
  1585.             /* [in] */ DBID *pNewTableId,
  1586.             /* [in] */ DBID *pNewIndexId);
  1587.         
  1588.         END_INTERFACE
  1589.     } ITableRenameVtbl;
  1590.     interface ITableRename
  1591.     {
  1592.         CONST_VTBL struct ITableRenameVtbl *lpVtbl;
  1593.     };
  1594.     
  1595. #ifdef COBJMACROS
  1596. #define ITableRename_QueryInterface(This,riid,ppvObject)
  1597.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1598. #define ITableRename_AddRef(This)
  1599.     (This)->lpVtbl -> AddRef(This)
  1600. #define ITableRename_Release(This)
  1601.     (This)->lpVtbl -> Release(This)
  1602. #define ITableRename_RenameColumn(This,pTableId,pOldColumnId,pNewColumnId)
  1603.     (This)->lpVtbl -> RenameColumn(This,pTableId,pOldColumnId,pNewColumnId)
  1604. #define ITableRename_RenameTable(This,pOldTableId,pOldIndexId,pNewTableId,pNewIndexId)
  1605.     (This)->lpVtbl -> RenameTable(This,pOldTableId,pOldIndexId,pNewTableId,pNewIndexId)
  1606. #endif /* COBJMACROS */
  1607. #endif  /* C style interface */
  1608. HRESULT STDMETHODCALLTYPE ITableRename_RenameColumn_Proxy( 
  1609.     ITableRename * This,
  1610.     /* [in] */ DBID *pTableId,
  1611.     /* [in] */ DBID *pOldColumnId,
  1612.     /* [in] */ DBID *pNewColumnId);
  1613. void __RPC_STUB ITableRename_RenameColumn_Stub(
  1614.     IRpcStubBuffer *This,
  1615.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1616.     PRPC_MESSAGE _pRpcMessage,
  1617.     DWORD *_pdwStubPhase);
  1618. HRESULT STDMETHODCALLTYPE ITableRename_RenameTable_Proxy( 
  1619.     ITableRename * This,
  1620.     /* [in] */ DBID *pOldTableId,
  1621.     /* [in] */ DBID *pOldIndexId,
  1622.     /* [in] */ DBID *pNewTableId,
  1623.     /* [in] */ DBID *pNewIndexId);
  1624. void __RPC_STUB ITableRename_RenameTable_Stub(
  1625.     IRpcStubBuffer *This,
  1626.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1627.     PRPC_MESSAGE _pRpcMessage,
  1628.     DWORD *_pdwStubPhase);
  1629. #endif  /* __ITableRename_INTERFACE_DEFINED__ */
  1630. #ifndef __IDBSchemaCommand_INTERFACE_DEFINED__
  1631. #define __IDBSchemaCommand_INTERFACE_DEFINED__
  1632. /* interface IDBSchemaCommand */
  1633. /* [unique][uuid][object][local] */ 
  1634. EXTERN_C const IID IID_IDBSchemaCommand;
  1635. #if defined(__cplusplus) && !defined(CINTERFACE)
  1636.     
  1637.     MIDL_INTERFACE("0c733a50-2a1c-11ce-ade5-00aa0044773d")
  1638.     IDBSchemaCommand : public IUnknown
  1639.     {
  1640.     public:
  1641.         virtual HRESULT STDMETHODCALLTYPE GetCommand( 
  1642.             /* [in] */ IUnknown *pUnkOuter,
  1643.             /* [in] */ REFGUID rguidSchema,
  1644.             /* [out] */ ICommand **ppCommand) = 0;
  1645.         
  1646.         virtual HRESULT STDMETHODCALLTYPE GetSchemas( 
  1647.             /* [out][in] */ ULONG *pcSchemas,
  1648.             /* [size_is][size_is][out] */ GUID **prgSchemas) = 0;
  1649.         
  1650.     };
  1651.     
  1652. #else  /* C style interface */
  1653.     typedef struct IDBSchemaCommandVtbl
  1654.     {
  1655.         BEGIN_INTERFACE
  1656.         
  1657.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1658.             IDBSchemaCommand * This,
  1659.             /* [in] */ REFIID riid,
  1660.             /* [iid_is][out] */ void **ppvObject);
  1661.         
  1662.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1663.             IDBSchemaCommand * This);
  1664.         
  1665.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1666.             IDBSchemaCommand * This);
  1667.         
  1668.         HRESULT ( STDMETHODCALLTYPE *GetCommand )( 
  1669.             IDBSchemaCommand * This,
  1670.             /* [in] */ IUnknown *pUnkOuter,
  1671.             /* [in] */ REFGUID rguidSchema,
  1672.             /* [out] */ ICommand **ppCommand);
  1673.         
  1674.         HRESULT ( STDMETHODCALLTYPE *GetSchemas )( 
  1675.             IDBSchemaCommand * This,
  1676.             /* [out][in] */ ULONG *pcSchemas,
  1677.             /* [size_is][size_is][out] */ GUID **prgSchemas);
  1678.         
  1679.         END_INTERFACE
  1680.     } IDBSchemaCommandVtbl;
  1681.     interface IDBSchemaCommand
  1682.     {
  1683.         CONST_VTBL struct IDBSchemaCommandVtbl *lpVtbl;
  1684.     };
  1685.     
  1686. #ifdef COBJMACROS
  1687. #define IDBSchemaCommand_QueryInterface(This,riid,ppvObject)
  1688.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1689. #define IDBSchemaCommand_AddRef(This)
  1690.     (This)->lpVtbl -> AddRef(This)
  1691. #define IDBSchemaCommand_Release(This)
  1692.     (This)->lpVtbl -> Release(This)
  1693. #define IDBSchemaCommand_GetCommand(This,pUnkOuter,rguidSchema,ppCommand)
  1694.     (This)->lpVtbl -> GetCommand(This,pUnkOuter,rguidSchema,ppCommand)
  1695. #define IDBSchemaCommand_GetSchemas(This,pcSchemas,prgSchemas)
  1696.     (This)->lpVtbl -> GetSchemas(This,pcSchemas,prgSchemas)
  1697. #endif /* COBJMACROS */
  1698. #endif  /* C style interface */
  1699. HRESULT STDMETHODCALLTYPE IDBSchemaCommand_GetCommand_Proxy( 
  1700.     IDBSchemaCommand * This,
  1701.     /* [in] */ IUnknown *pUnkOuter,
  1702.     /* [in] */ REFGUID rguidSchema,
  1703.     /* [out] */ ICommand **ppCommand);
  1704. void __RPC_STUB IDBSchemaCommand_GetCommand_Stub(
  1705.     IRpcStubBuffer *This,
  1706.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1707.     PRPC_MESSAGE _pRpcMessage,
  1708.     DWORD *_pdwStubPhase);
  1709. HRESULT STDMETHODCALLTYPE IDBSchemaCommand_GetSchemas_Proxy( 
  1710.     IDBSchemaCommand * This,
  1711.     /* [out][in] */ ULONG *pcSchemas,
  1712.     /* [size_is][size_is][out] */ GUID **prgSchemas);
  1713. void __RPC_STUB IDBSchemaCommand_GetSchemas_Stub(
  1714.     IRpcStubBuffer *This,
  1715.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1716.     PRPC_MESSAGE _pRpcMessage,
  1717.     DWORD *_pdwStubPhase);
  1718. #endif  /* __IDBSchemaCommand_INTERFACE_DEFINED__ */
  1719. #ifndef __IProvideMoniker_INTERFACE_DEFINED__
  1720. #define __IProvideMoniker_INTERFACE_DEFINED__
  1721. /* interface IProvideMoniker */
  1722. /* [unique][uuid][object][local] */ 
  1723. EXTERN_C const IID IID_IProvideMoniker;
  1724. #if defined(__cplusplus) && !defined(CINTERFACE)
  1725.     
  1726.     MIDL_INTERFACE("0c733a4d-2a1c-11ce-ade5-00aa0044773d")
  1727.     IProvideMoniker : public IUnknown
  1728.     {
  1729.     public:
  1730.         virtual HRESULT STDMETHODCALLTYPE GetMoniker( 
  1731.             /* [out] */ IMoniker **ppIMoniker) = 0;
  1732.         
  1733.     };
  1734.     
  1735. #else  /* C style interface */
  1736.     typedef struct IProvideMonikerVtbl
  1737.     {
  1738.         BEGIN_INTERFACE
  1739.         
  1740.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1741.             IProvideMoniker * This,
  1742.             /* [in] */ REFIID riid,
  1743.             /* [iid_is][out] */ void **ppvObject);
  1744.         
  1745.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1746.             IProvideMoniker * This);
  1747.         
  1748.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1749.             IProvideMoniker * This);
  1750.         
  1751.         HRESULT ( STDMETHODCALLTYPE *GetMoniker )( 
  1752.             IProvideMoniker * This,
  1753.             /* [out] */ IMoniker **ppIMoniker);
  1754.         
  1755.         END_INTERFACE
  1756.     } IProvideMonikerVtbl;
  1757.     interface IProvideMoniker
  1758.     {
  1759.         CONST_VTBL struct IProvideMonikerVtbl *lpVtbl;
  1760.     };
  1761.     
  1762. #ifdef COBJMACROS
  1763. #define IProvideMoniker_QueryInterface(This,riid,ppvObject)
  1764.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1765. #define IProvideMoniker_AddRef(This)
  1766.     (This)->lpVtbl -> AddRef(This)
  1767. #define IProvideMoniker_Release(This)
  1768.     (This)->lpVtbl -> Release(This)
  1769. #define IProvideMoniker_GetMoniker(This,ppIMoniker)
  1770.     (This)->lpVtbl -> GetMoniker(This,ppIMoniker)
  1771. #endif /* COBJMACROS */
  1772. #endif  /* C style interface */
  1773. HRESULT STDMETHODCALLTYPE IProvideMoniker_GetMoniker_Proxy( 
  1774.     IProvideMoniker * This,
  1775.     /* [out] */ IMoniker **ppIMoniker);
  1776. void __RPC_STUB IProvideMoniker_GetMoniker_Stub(
  1777.     IRpcStubBuffer *This,
  1778.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1779.     PRPC_MESSAGE _pRpcMessage,
  1780.     DWORD *_pdwStubPhase);
  1781. #endif  /* __IProvideMoniker_INTERFACE_DEFINED__ */
  1782. /* interface __MIDL_itf_oledbdep_0366 */
  1783. /* [local] */ 
  1784. // IID_IRowsetExactScroll = {0x0c733a7f,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  1785. // IID_IRowsetNextRowset = {0x0c733a72,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  1786. // IID_IRowsetNewRowAfter = {0x0c733a71,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  1787. // IID_IRowsetWithParameters     = {0x0c733a6e,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  1788. // IID_IRowsetAsynch     = {0x0c733a0f,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  1789. // IID_IRowsetKeys = {0x0c733a12,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  1790. // IID_IRowsetWatchAll = {0x0c733a73,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  1791. // IID_IRowsetWatchNotify = {0x0c733a44,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  1792. // IID_IRowsetWatchRegion = {0x0c733a45,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  1793. // IID_IRowsetCopyRows = {0x0c733a6b,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  1794. // IID_IReadData     = {0x0c733a6a,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  1795. // IID_ICommandCost = {0x0c733a4e,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  1796. // IID_ICommandTree = {0x0c733a87,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  1797. // IID_ICommandValidate = {0x0c733a18,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  1798. // IID_IQuery = {0x0c733a51,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  1799. // IID_ITableRename = {0x0c733a77,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  1800. // IID_IDBSchemaCommand = {0x0c733a50,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  1801. // IID_IProvideMoniker = {0x0c733a4d,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  1802. #include <poppack.h> // restore original structure packing
  1803. extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0366_v0_0_c_ifspec;
  1804. extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0366_v0_0_s_ifspec;
  1805. /* Additional Prototypes for ALL interfaces */
  1806. /* end of Additional Prototypes */
  1807. #ifdef __cplusplus
  1808. }
  1809. #endif
  1810. #endif