Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

17008 lines
551 KiB

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2. /* File created by MIDL compiler version 6.00.0361 */
  3. /* Compiler settings for oledb.idl:
  4. Oicf, W1, ..., env=Win32 (32b run)
  5. protocol : dce , ms_ext, c_ext, robust
  6. error checks: allocation ref bounds_check enum stub_data
  7. VC __declspec() decoration level:
  8. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  9. DECLSPEC_UUID(), MIDL_INTERFACE()
  10. */
  11. //@@MIDL_FILE_HEADING( )
  12. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  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__ 475
  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 __oledb_h__
  27. #define __oledb_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IAccessor_FWD_DEFINED__
  33. #define __IAccessor_FWD_DEFINED__
  34. typedef interface IAccessor IAccessor;
  35. #endif /* __IAccessor_FWD_DEFINED__ */
  36. #ifndef __IRowset_FWD_DEFINED__
  37. #define __IRowset_FWD_DEFINED__
  38. typedef interface IRowset IRowset;
  39. #endif /* __IRowset_FWD_DEFINED__ */
  40. #ifndef __IRowsetInfo_FWD_DEFINED__
  41. #define __IRowsetInfo_FWD_DEFINED__
  42. typedef interface IRowsetInfo IRowsetInfo;
  43. #endif /* __IRowsetInfo_FWD_DEFINED__ */
  44. #ifndef __IRowsetLocate_FWD_DEFINED__
  45. #define __IRowsetLocate_FWD_DEFINED__
  46. typedef interface IRowsetLocate IRowsetLocate;
  47. #endif /* __IRowsetLocate_FWD_DEFINED__ */
  48. #ifndef __IRowsetResynch_FWD_DEFINED__
  49. #define __IRowsetResynch_FWD_DEFINED__
  50. typedef interface IRowsetResynch IRowsetResynch;
  51. #endif /* __IRowsetResynch_FWD_DEFINED__ */
  52. #ifndef __IRowsetScroll_FWD_DEFINED__
  53. #define __IRowsetScroll_FWD_DEFINED__
  54. typedef interface IRowsetScroll IRowsetScroll;
  55. #endif /* __IRowsetScroll_FWD_DEFINED__ */
  56. #ifndef __IChapteredRowset_FWD_DEFINED__
  57. #define __IChapteredRowset_FWD_DEFINED__
  58. typedef interface IChapteredRowset IChapteredRowset;
  59. #endif /* __IChapteredRowset_FWD_DEFINED__ */
  60. #ifndef __IRowsetFind_FWD_DEFINED__
  61. #define __IRowsetFind_FWD_DEFINED__
  62. typedef interface IRowsetFind IRowsetFind;
  63. #endif /* __IRowsetFind_FWD_DEFINED__ */
  64. #ifndef __IRowPosition_FWD_DEFINED__
  65. #define __IRowPosition_FWD_DEFINED__
  66. typedef interface IRowPosition IRowPosition;
  67. #endif /* __IRowPosition_FWD_DEFINED__ */
  68. #ifndef __IRowPositionChange_FWD_DEFINED__
  69. #define __IRowPositionChange_FWD_DEFINED__
  70. typedef interface IRowPositionChange IRowPositionChange;
  71. #endif /* __IRowPositionChange_FWD_DEFINED__ */
  72. #ifndef __IViewRowset_FWD_DEFINED__
  73. #define __IViewRowset_FWD_DEFINED__
  74. typedef interface IViewRowset IViewRowset;
  75. #endif /* __IViewRowset_FWD_DEFINED__ */
  76. #ifndef __IViewChapter_FWD_DEFINED__
  77. #define __IViewChapter_FWD_DEFINED__
  78. typedef interface IViewChapter IViewChapter;
  79. #endif /* __IViewChapter_FWD_DEFINED__ */
  80. #ifndef __IViewSort_FWD_DEFINED__
  81. #define __IViewSort_FWD_DEFINED__
  82. typedef interface IViewSort IViewSort;
  83. #endif /* __IViewSort_FWD_DEFINED__ */
  84. #ifndef __IViewFilter_FWD_DEFINED__
  85. #define __IViewFilter_FWD_DEFINED__
  86. typedef interface IViewFilter IViewFilter;
  87. #endif /* __IViewFilter_FWD_DEFINED__ */
  88. #ifndef __IRowsetView_FWD_DEFINED__
  89. #define __IRowsetView_FWD_DEFINED__
  90. typedef interface IRowsetView IRowsetView;
  91. #endif /* __IRowsetView_FWD_DEFINED__ */
  92. #ifndef __IRowsetExactScroll_FWD_DEFINED__
  93. #define __IRowsetExactScroll_FWD_DEFINED__
  94. typedef interface IRowsetExactScroll IRowsetExactScroll;
  95. #endif /* __IRowsetExactScroll_FWD_DEFINED__ */
  96. #ifndef __IRowsetChange_FWD_DEFINED__
  97. #define __IRowsetChange_FWD_DEFINED__
  98. typedef interface IRowsetChange IRowsetChange;
  99. #endif /* __IRowsetChange_FWD_DEFINED__ */
  100. #ifndef __IRowsetUpdate_FWD_DEFINED__
  101. #define __IRowsetUpdate_FWD_DEFINED__
  102. typedef interface IRowsetUpdate IRowsetUpdate;
  103. #endif /* __IRowsetUpdate_FWD_DEFINED__ */
  104. #ifndef __IRowsetIdentity_FWD_DEFINED__
  105. #define __IRowsetIdentity_FWD_DEFINED__
  106. typedef interface IRowsetIdentity IRowsetIdentity;
  107. #endif /* __IRowsetIdentity_FWD_DEFINED__ */
  108. #ifndef __IRowsetNotify_FWD_DEFINED__
  109. #define __IRowsetNotify_FWD_DEFINED__
  110. typedef interface IRowsetNotify IRowsetNotify;
  111. #endif /* __IRowsetNotify_FWD_DEFINED__ */
  112. #ifndef __IRowsetIndex_FWD_DEFINED__
  113. #define __IRowsetIndex_FWD_DEFINED__
  114. typedef interface IRowsetIndex IRowsetIndex;
  115. #endif /* __IRowsetIndex_FWD_DEFINED__ */
  116. #ifndef __ICommand_FWD_DEFINED__
  117. #define __ICommand_FWD_DEFINED__
  118. typedef interface ICommand ICommand;
  119. #endif /* __ICommand_FWD_DEFINED__ */
  120. #ifndef __IMultipleResults_FWD_DEFINED__
  121. #define __IMultipleResults_FWD_DEFINED__
  122. typedef interface IMultipleResults IMultipleResults;
  123. #endif /* __IMultipleResults_FWD_DEFINED__ */
  124. #ifndef __IConvertType_FWD_DEFINED__
  125. #define __IConvertType_FWD_DEFINED__
  126. typedef interface IConvertType IConvertType;
  127. #endif /* __IConvertType_FWD_DEFINED__ */
  128. #ifndef __ICommandPrepare_FWD_DEFINED__
  129. #define __ICommandPrepare_FWD_DEFINED__
  130. typedef interface ICommandPrepare ICommandPrepare;
  131. #endif /* __ICommandPrepare_FWD_DEFINED__ */
  132. #ifndef __ICommandProperties_FWD_DEFINED__
  133. #define __ICommandProperties_FWD_DEFINED__
  134. typedef interface ICommandProperties ICommandProperties;
  135. #endif /* __ICommandProperties_FWD_DEFINED__ */
  136. #ifndef __ICommandText_FWD_DEFINED__
  137. #define __ICommandText_FWD_DEFINED__
  138. typedef interface ICommandText ICommandText;
  139. #endif /* __ICommandText_FWD_DEFINED__ */
  140. #ifndef __ICommandWithParameters_FWD_DEFINED__
  141. #define __ICommandWithParameters_FWD_DEFINED__
  142. typedef interface ICommandWithParameters ICommandWithParameters;
  143. #endif /* __ICommandWithParameters_FWD_DEFINED__ */
  144. #ifndef __IColumnsRowset_FWD_DEFINED__
  145. #define __IColumnsRowset_FWD_DEFINED__
  146. typedef interface IColumnsRowset IColumnsRowset;
  147. #endif /* __IColumnsRowset_FWD_DEFINED__ */
  148. #ifndef __IColumnsInfo_FWD_DEFINED__
  149. #define __IColumnsInfo_FWD_DEFINED__
  150. typedef interface IColumnsInfo IColumnsInfo;
  151. #endif /* __IColumnsInfo_FWD_DEFINED__ */
  152. #ifndef __IDBCreateCommand_FWD_DEFINED__
  153. #define __IDBCreateCommand_FWD_DEFINED__
  154. typedef interface IDBCreateCommand IDBCreateCommand;
  155. #endif /* __IDBCreateCommand_FWD_DEFINED__ */
  156. #ifndef __IDBCreateSession_FWD_DEFINED__
  157. #define __IDBCreateSession_FWD_DEFINED__
  158. typedef interface IDBCreateSession IDBCreateSession;
  159. #endif /* __IDBCreateSession_FWD_DEFINED__ */
  160. #ifndef __ISourcesRowset_FWD_DEFINED__
  161. #define __ISourcesRowset_FWD_DEFINED__
  162. typedef interface ISourcesRowset ISourcesRowset;
  163. #endif /* __ISourcesRowset_FWD_DEFINED__ */
  164. #ifndef __IDBProperties_FWD_DEFINED__
  165. #define __IDBProperties_FWD_DEFINED__
  166. typedef interface IDBProperties IDBProperties;
  167. #endif /* __IDBProperties_FWD_DEFINED__ */
  168. #ifndef __IDBInitialize_FWD_DEFINED__
  169. #define __IDBInitialize_FWD_DEFINED__
  170. typedef interface IDBInitialize IDBInitialize;
  171. #endif /* __IDBInitialize_FWD_DEFINED__ */
  172. #ifndef __IDBInfo_FWD_DEFINED__
  173. #define __IDBInfo_FWD_DEFINED__
  174. typedef interface IDBInfo IDBInfo;
  175. #endif /* __IDBInfo_FWD_DEFINED__ */
  176. #ifndef __IDBDataSourceAdmin_FWD_DEFINED__
  177. #define __IDBDataSourceAdmin_FWD_DEFINED__
  178. typedef interface IDBDataSourceAdmin IDBDataSourceAdmin;
  179. #endif /* __IDBDataSourceAdmin_FWD_DEFINED__ */
  180. #ifndef __IDBAsynchNotify_FWD_DEFINED__
  181. #define __IDBAsynchNotify_FWD_DEFINED__
  182. typedef interface IDBAsynchNotify IDBAsynchNotify;
  183. #endif /* __IDBAsynchNotify_FWD_DEFINED__ */
  184. #ifndef __IDBAsynchStatus_FWD_DEFINED__
  185. #define __IDBAsynchStatus_FWD_DEFINED__
  186. typedef interface IDBAsynchStatus IDBAsynchStatus;
  187. #endif /* __IDBAsynchStatus_FWD_DEFINED__ */
  188. #ifndef __ISessionProperties_FWD_DEFINED__
  189. #define __ISessionProperties_FWD_DEFINED__
  190. typedef interface ISessionProperties ISessionProperties;
  191. #endif /* __ISessionProperties_FWD_DEFINED__ */
  192. #ifndef __IIndexDefinition_FWD_DEFINED__
  193. #define __IIndexDefinition_FWD_DEFINED__
  194. typedef interface IIndexDefinition IIndexDefinition;
  195. #endif /* __IIndexDefinition_FWD_DEFINED__ */
  196. #ifndef __ITableDefinition_FWD_DEFINED__
  197. #define __ITableDefinition_FWD_DEFINED__
  198. typedef interface ITableDefinition ITableDefinition;
  199. #endif /* __ITableDefinition_FWD_DEFINED__ */
  200. #ifndef __IOpenRowset_FWD_DEFINED__
  201. #define __IOpenRowset_FWD_DEFINED__
  202. typedef interface IOpenRowset IOpenRowset;
  203. #endif /* __IOpenRowset_FWD_DEFINED__ */
  204. #ifndef __IDBSchemaRowset_FWD_DEFINED__
  205. #define __IDBSchemaRowset_FWD_DEFINED__
  206. typedef interface IDBSchemaRowset IDBSchemaRowset;
  207. #endif /* __IDBSchemaRowset_FWD_DEFINED__ */
  208. #ifndef __IMDDataset_FWD_DEFINED__
  209. #define __IMDDataset_FWD_DEFINED__
  210. typedef interface IMDDataset IMDDataset;
  211. #endif /* __IMDDataset_FWD_DEFINED__ */
  212. #ifndef __IMDFind_FWD_DEFINED__
  213. #define __IMDFind_FWD_DEFINED__
  214. typedef interface IMDFind IMDFind;
  215. #endif /* __IMDFind_FWD_DEFINED__ */
  216. #ifndef __IMDRangeRowset_FWD_DEFINED__
  217. #define __IMDRangeRowset_FWD_DEFINED__
  218. typedef interface IMDRangeRowset IMDRangeRowset;
  219. #endif /* __IMDRangeRowset_FWD_DEFINED__ */
  220. #ifndef __IAlterTable_FWD_DEFINED__
  221. #define __IAlterTable_FWD_DEFINED__
  222. typedef interface IAlterTable IAlterTable;
  223. #endif /* __IAlterTable_FWD_DEFINED__ */
  224. #ifndef __IAlterIndex_FWD_DEFINED__
  225. #define __IAlterIndex_FWD_DEFINED__
  226. typedef interface IAlterIndex IAlterIndex;
  227. #endif /* __IAlterIndex_FWD_DEFINED__ */
  228. #ifndef __IRowsetChapterMember_FWD_DEFINED__
  229. #define __IRowsetChapterMember_FWD_DEFINED__
  230. typedef interface IRowsetChapterMember IRowsetChapterMember;
  231. #endif /* __IRowsetChapterMember_FWD_DEFINED__ */
  232. #ifndef __ICommandPersist_FWD_DEFINED__
  233. #define __ICommandPersist_FWD_DEFINED__
  234. typedef interface ICommandPersist ICommandPersist;
  235. #endif /* __ICommandPersist_FWD_DEFINED__ */
  236. #ifndef __IRowsetRefresh_FWD_DEFINED__
  237. #define __IRowsetRefresh_FWD_DEFINED__
  238. typedef interface IRowsetRefresh IRowsetRefresh;
  239. #endif /* __IRowsetRefresh_FWD_DEFINED__ */
  240. #ifndef __IParentRowset_FWD_DEFINED__
  241. #define __IParentRowset_FWD_DEFINED__
  242. typedef interface IParentRowset IParentRowset;
  243. #endif /* __IParentRowset_FWD_DEFINED__ */
  244. #ifndef __IErrorRecords_FWD_DEFINED__
  245. #define __IErrorRecords_FWD_DEFINED__
  246. typedef interface IErrorRecords IErrorRecords;
  247. #endif /* __IErrorRecords_FWD_DEFINED__ */
  248. #ifndef __IErrorLookup_FWD_DEFINED__
  249. #define __IErrorLookup_FWD_DEFINED__
  250. typedef interface IErrorLookup IErrorLookup;
  251. #endif /* __IErrorLookup_FWD_DEFINED__ */
  252. #ifndef __ISQLErrorInfo_FWD_DEFINED__
  253. #define __ISQLErrorInfo_FWD_DEFINED__
  254. typedef interface ISQLErrorInfo ISQLErrorInfo;
  255. #endif /* __ISQLErrorInfo_FWD_DEFINED__ */
  256. #ifndef __IGetDataSource_FWD_DEFINED__
  257. #define __IGetDataSource_FWD_DEFINED__
  258. typedef interface IGetDataSource IGetDataSource;
  259. #endif /* __IGetDataSource_FWD_DEFINED__ */
  260. #ifndef __ITransactionLocal_FWD_DEFINED__
  261. #define __ITransactionLocal_FWD_DEFINED__
  262. typedef interface ITransactionLocal ITransactionLocal;
  263. #endif /* __ITransactionLocal_FWD_DEFINED__ */
  264. #ifndef __ITransactionJoin_FWD_DEFINED__
  265. #define __ITransactionJoin_FWD_DEFINED__
  266. typedef interface ITransactionJoin ITransactionJoin;
  267. #endif /* __ITransactionJoin_FWD_DEFINED__ */
  268. #ifndef __ITransactionObject_FWD_DEFINED__
  269. #define __ITransactionObject_FWD_DEFINED__
  270. typedef interface ITransactionObject ITransactionObject;
  271. #endif /* __ITransactionObject_FWD_DEFINED__ */
  272. #ifndef __ITrusteeAdmin_FWD_DEFINED__
  273. #define __ITrusteeAdmin_FWD_DEFINED__
  274. typedef interface ITrusteeAdmin ITrusteeAdmin;
  275. #endif /* __ITrusteeAdmin_FWD_DEFINED__ */
  276. #ifndef __ITrusteeGroupAdmin_FWD_DEFINED__
  277. #define __ITrusteeGroupAdmin_FWD_DEFINED__
  278. typedef interface ITrusteeGroupAdmin ITrusteeGroupAdmin;
  279. #endif /* __ITrusteeGroupAdmin_FWD_DEFINED__ */
  280. #ifndef __IObjectAccessControl_FWD_DEFINED__
  281. #define __IObjectAccessControl_FWD_DEFINED__
  282. typedef interface IObjectAccessControl IObjectAccessControl;
  283. #endif /* __IObjectAccessControl_FWD_DEFINED__ */
  284. #ifndef __ISecurityInfo_FWD_DEFINED__
  285. #define __ISecurityInfo_FWD_DEFINED__
  286. typedef interface ISecurityInfo ISecurityInfo;
  287. #endif /* __ISecurityInfo_FWD_DEFINED__ */
  288. #ifndef __ITableCreation_FWD_DEFINED__
  289. #define __ITableCreation_FWD_DEFINED__
  290. typedef interface ITableCreation ITableCreation;
  291. #endif /* __ITableCreation_FWD_DEFINED__ */
  292. #ifndef __ITableDefinitionWithConstraints_FWD_DEFINED__
  293. #define __ITableDefinitionWithConstraints_FWD_DEFINED__
  294. typedef interface ITableDefinitionWithConstraints ITableDefinitionWithConstraints;
  295. #endif /* __ITableDefinitionWithConstraints_FWD_DEFINED__ */
  296. #ifndef __IRow_FWD_DEFINED__
  297. #define __IRow_FWD_DEFINED__
  298. typedef interface IRow IRow;
  299. #endif /* __IRow_FWD_DEFINED__ */
  300. #ifndef __IRowChange_FWD_DEFINED__
  301. #define __IRowChange_FWD_DEFINED__
  302. typedef interface IRowChange IRowChange;
  303. #endif /* __IRowChange_FWD_DEFINED__ */
  304. #ifndef __IRowSchemaChange_FWD_DEFINED__
  305. #define __IRowSchemaChange_FWD_DEFINED__
  306. typedef interface IRowSchemaChange IRowSchemaChange;
  307. #endif /* __IRowSchemaChange_FWD_DEFINED__ */
  308. #ifndef __IGetRow_FWD_DEFINED__
  309. #define __IGetRow_FWD_DEFINED__
  310. typedef interface IGetRow IGetRow;
  311. #endif /* __IGetRow_FWD_DEFINED__ */
  312. #ifndef __IBindResource_FWD_DEFINED__
  313. #define __IBindResource_FWD_DEFINED__
  314. typedef interface IBindResource IBindResource;
  315. #endif /* __IBindResource_FWD_DEFINED__ */
  316. #ifndef __IScopedOperations_FWD_DEFINED__
  317. #define __IScopedOperations_FWD_DEFINED__
  318. typedef interface IScopedOperations IScopedOperations;
  319. #endif /* __IScopedOperations_FWD_DEFINED__ */
  320. #ifndef __ICreateRow_FWD_DEFINED__
  321. #define __ICreateRow_FWD_DEFINED__
  322. typedef interface ICreateRow ICreateRow;
  323. #endif /* __ICreateRow_FWD_DEFINED__ */
  324. #ifndef __IDBBinderProperties_FWD_DEFINED__
  325. #define __IDBBinderProperties_FWD_DEFINED__
  326. typedef interface IDBBinderProperties IDBBinderProperties;
  327. #endif /* __IDBBinderProperties_FWD_DEFINED__ */
  328. #ifndef __IColumnsInfo2_FWD_DEFINED__
  329. #define __IColumnsInfo2_FWD_DEFINED__
  330. typedef interface IColumnsInfo2 IColumnsInfo2;
  331. #endif /* __IColumnsInfo2_FWD_DEFINED__ */
  332. #ifndef __IRegisterProvider_FWD_DEFINED__
  333. #define __IRegisterProvider_FWD_DEFINED__
  334. typedef interface IRegisterProvider IRegisterProvider;
  335. #endif /* __IRegisterProvider_FWD_DEFINED__ */
  336. #ifndef __IGetSession_FWD_DEFINED__
  337. #define __IGetSession_FWD_DEFINED__
  338. typedef interface IGetSession IGetSession;
  339. #endif /* __IGetSession_FWD_DEFINED__ */
  340. #ifndef __IGetSourceRow_FWD_DEFINED__
  341. #define __IGetSourceRow_FWD_DEFINED__
  342. typedef interface IGetSourceRow IGetSourceRow;
  343. #endif /* __IGetSourceRow_FWD_DEFINED__ */
  344. #ifndef __IRowsetCurrentIndex_FWD_DEFINED__
  345. #define __IRowsetCurrentIndex_FWD_DEFINED__
  346. typedef interface IRowsetCurrentIndex IRowsetCurrentIndex;
  347. #endif /* __IRowsetCurrentIndex_FWD_DEFINED__ */
  348. #ifndef __ICommandStream_FWD_DEFINED__
  349. #define __ICommandStream_FWD_DEFINED__
  350. typedef interface ICommandStream ICommandStream;
  351. #endif /* __ICommandStream_FWD_DEFINED__ */
  352. #ifndef __IRowsetBookmark_FWD_DEFINED__
  353. #define __IRowsetBookmark_FWD_DEFINED__
  354. typedef interface IRowsetBookmark IRowsetBookmark;
  355. #endif /* __IRowsetBookmark_FWD_DEFINED__ */
  356. /* header files for imported files */
  357. #include "wtypes.h"
  358. #include "oaidl.h"
  359. #include "ocidl.h"
  360. #include "propidl.h"
  361. #include "transact.h"
  362. #ifdef __cplusplus
  363. extern "C"{
  364. #endif
  365. void * __RPC_USER MIDL_user_allocate(size_t);
  366. void __RPC_USER MIDL_user_free( void * );
  367. /* interface __MIDL_itf_oledb_0000 */
  368. /* [local] */
  369. //+---------------------------------------------------------------------------
  370. //
  371. // Microsoft OLE DB
  372. // Copyright (C) Microsoft Corporation, 1994 - 1999.
  373. //
  374. //----------------------------------------------------------------------------
  375. #ifdef _WIN64
  376. #include <pshpack8.h> // 8-byte structure packing
  377. #else
  378. #include <pshpack2.h> // 2-byte structure packing
  379. #endif
  380. //
  381. // OLEDBVER
  382. // OLE DB version number is 2.7 (0x0270); to force a particular version,
  383. // #define OLEDBVER as required before including this file.
  384. //
  385. // If OLEDBVER is not defined, assume version 2.7
  386. #ifndef OLEDBVER
  387. #define OLEDBVER 0x0270
  388. #endif
  389. #ifdef _WIN64
  390. // Length of a non-character object, size
  391. typedef ULONGLONG DBLENGTH;
  392. // Offset within a rowset
  393. typedef LONGLONG DBROWOFFSET;
  394. // Number of rows
  395. typedef LONGLONG DBROWCOUNT;
  396. typedef ULONGLONG DBCOUNTITEM;
  397. // Ordinal (column number, etc.)
  398. typedef ULONGLONG DBORDINAL;
  399. typedef LONGLONG DB_LORDINAL;
  400. // Bookmarks
  401. typedef ULONGLONG DBBKMARK;
  402. // Offset in the buffer
  403. typedef ULONGLONG DBBYTEOFFSET;
  404. // Reference count of each row/accessor handle
  405. typedef ULONG DBREFCOUNT;
  406. // Parameters
  407. typedef ULONGLONG DB_UPARAMS;
  408. typedef LONGLONG DB_LPARAMS;
  409. // hash values corresponding to the elements (bookmarks)
  410. typedef DWORDLONG DBHASHVALUE;
  411. // For reserve
  412. typedef DWORDLONG DB_DWRESERVE;
  413. typedef LONGLONG DB_LRESERVE;
  414. typedef ULONGLONG DB_URESERVE;
  415. #else //_WIN64
  416. // Length of a non-character object, size
  417. typedef ULONG DBLENGTH;
  418. // Offset within a rowset
  419. typedef LONG DBROWOFFSET;
  420. // Number of rows
  421. typedef LONG DBROWCOUNT;
  422. typedef ULONG DBCOUNTITEM;
  423. // Ordinal (column number, etc.)
  424. typedef ULONG DBORDINAL;
  425. typedef LONG DB_LORDINAL;
  426. // Bookmarks
  427. typedef ULONG DBBKMARK;
  428. // Offset in the buffer
  429. typedef ULONG DBBYTEOFFSET;
  430. // Reference count of each row handle
  431. typedef ULONG DBREFCOUNT;
  432. // Parameters
  433. typedef ULONG DB_UPARAMS;
  434. typedef LONG DB_LPARAMS;
  435. // hash values corresponding to the elements (bookmarks)
  436. typedef DWORD DBHASHVALUE;
  437. // For reserve
  438. typedef DWORD DB_DWRESERVE;
  439. typedef LONG DB_LRESERVE;
  440. typedef ULONG DB_URESERVE;
  441. #endif // _WIN64
  442. extern RPC_IF_HANDLE __MIDL_itf_oledb_0000_v0_0_c_ifspec;
  443. extern RPC_IF_HANDLE __MIDL_itf_oledb_0000_v0_0_s_ifspec;
  444. #ifndef __DBStructureDefinitions_INTERFACE_DEFINED__
  445. #define __DBStructureDefinitions_INTERFACE_DEFINED__
  446. /* interface DBStructureDefinitions */
  447. /* [auto_handle][unique][uuid] */
  448. #ifndef UNALIGNED
  449. #if defined(_MIPS_) || defined(_ALPHA_) || defined(_PPC_)
  450. #define UNALIGNED __unaligned
  451. #else
  452. #define UNALIGNED
  453. #endif
  454. #endif //UNALIGNED
  455. #undef OLEDBDECLSPEC
  456. #if _MSC_VER >= 1100 && (!defined(SHx) || (defined(SHx) && _MSC_VER >= 1200))
  457. #define OLEDBDECLSPEC __declspec(selectany)
  458. #else
  459. #define OLEDBDECLSPEC
  460. #endif //_MSC_VER
  461. typedef DWORD DBKIND;
  462. enum DBKINDENUM
  463. { DBKIND_GUID_NAME = 0,
  464. DBKIND_GUID_PROPID = DBKIND_GUID_NAME + 1,
  465. DBKIND_NAME = DBKIND_GUID_PROPID + 1,
  466. DBKIND_PGUID_NAME = DBKIND_NAME + 1,
  467. DBKIND_PGUID_PROPID = DBKIND_PGUID_NAME + 1,
  468. DBKIND_PROPID = DBKIND_PGUID_PROPID + 1,
  469. DBKIND_GUID = DBKIND_PROPID + 1
  470. } ;
  471. typedef struct tagDBID
  472. {
  473. /* [switch_is][switch_type] */ union
  474. {
  475. /* [case()] */ GUID guid;
  476. /* [case()] */ GUID *pguid;
  477. /* [default] */ /* Empty union arm */
  478. } uGuid;
  479. DBKIND eKind;
  480. /* [switch_is][switch_type] */ union
  481. {
  482. /* [case()] */ LPOLESTR pwszName;
  483. /* [case()] */ ULONG ulPropid;
  484. /* [default] */ /* Empty union arm */
  485. } uName;
  486. } DBID;
  487. typedef struct tagDB_NUMERIC
  488. {
  489. BYTE precision;
  490. BYTE scale;
  491. BYTE sign;
  492. BYTE val[ 16 ];
  493. } DB_NUMERIC;
  494. #ifndef _ULONGLONG_
  495. typedef hyper LONGLONG;
  496. typedef MIDL_uhyper ULONGLONG;
  497. typedef LONGLONG __RPC_FAR *PLONGLONG;
  498. typedef ULONGLONG __RPC_FAR *PULONGLONG;
  499. #endif // _ULONGLONG_
  500. #ifndef DECIMAL_NEG
  501. #ifndef DECIMAL_SETZERO
  502. typedef struct tagDEC {
  503. USHORT wReserved;
  504. union {
  505. struct {
  506. BYTE scale;
  507. BYTE sign;
  508. };
  509. USHORT signscale;
  510. };
  511. ULONG Hi32;
  512. union {
  513. struct {
  514. #ifdef _MAC
  515. ULONG Mid32;
  516. ULONG Lo32;
  517. #else
  518. ULONG Lo32;
  519. ULONG Mid32;
  520. #endif
  521. };
  522. ULONGLONG Lo64;
  523. };
  524. } DECIMAL;
  525. #define DECIMAL_NEG ((BYTE)0x80)
  526. #define DECIMAL_SETZERO(dec) {(dec).Lo64 = 0; (dec).Hi32 = 0; (dec).signscale = 0;}
  527. #endif // DECIMAL_SETZERO
  528. #endif // DECIMAL_NEG
  529. typedef struct tagDBVECTOR
  530. {
  531. DBLENGTH size;
  532. /* [size_is] */ void *ptr;
  533. } DBVECTOR;
  534. typedef struct tagDBDATE
  535. {
  536. SHORT year;
  537. USHORT month;
  538. USHORT day;
  539. } DBDATE;
  540. typedef struct tagDBTIME
  541. {
  542. USHORT hour;
  543. USHORT minute;
  544. USHORT second;
  545. } DBTIME;
  546. typedef struct tagDBTIMESTAMP
  547. {
  548. SHORT year;
  549. USHORT month;
  550. USHORT day;
  551. USHORT hour;
  552. USHORT minute;
  553. USHORT second;
  554. ULONG fraction;
  555. } DBTIMESTAMP;
  556. //@@@+ V2.0
  557. #if( OLEDBVER >= 0x0200 )
  558. #if !defined(_WINBASE_) && !defined(_FILETIME_)
  559. #define _FILETIME_
  560. typedef struct _FILETIME {
  561. DWORD dwLowDateTime;
  562. DWORD dwHighDateTime;
  563. } FILETIME;
  564. #endif // !_FILETIME
  565. typedef signed char SBYTE;
  566. typedef struct tagDB_VARNUMERIC
  567. {
  568. BYTE precision;
  569. SBYTE scale;
  570. BYTE sign;
  571. BYTE val[ 1 ];
  572. } DB_VARNUMERIC;
  573. #endif // OLEDBVER >= 0x0200
  574. //@@@- V2.0
  575. //@@@+ V2.1
  576. #if( OLEDBVER >= 0x0210 )
  577. typedef struct _SEC_OBJECT_ELEMENT
  578. {
  579. GUID guidObjectType;
  580. DBID ObjectID;
  581. } SEC_OBJECT_ELEMENT;
  582. typedef struct _SEC_OBJECT
  583. {
  584. DWORD cObjects;
  585. /* [size_is] */ SEC_OBJECT_ELEMENT *prgObjects;
  586. } SEC_OBJECT;
  587. typedef struct tagDBIMPLICITSESSION
  588. {
  589. IUnknown *pUnkOuter;
  590. IID *piid;
  591. IUnknown *pSession;
  592. } DBIMPLICITSESSION;
  593. #endif // OLEDBVER >= 0x0210
  594. //@@@- V2.1
  595. typedef WORD DBTYPE;
  596. enum DBTYPEENUM
  597. { DBTYPE_EMPTY = 0,
  598. DBTYPE_NULL = 1,
  599. DBTYPE_I2 = 2,
  600. DBTYPE_I4 = 3,
  601. DBTYPE_R4 = 4,
  602. DBTYPE_R8 = 5,
  603. DBTYPE_CY = 6,
  604. DBTYPE_DATE = 7,
  605. DBTYPE_BSTR = 8,
  606. DBTYPE_IDISPATCH = 9,
  607. DBTYPE_ERROR = 10,
  608. DBTYPE_BOOL = 11,
  609. DBTYPE_VARIANT = 12,
  610. DBTYPE_IUNKNOWN = 13,
  611. DBTYPE_DECIMAL = 14,
  612. DBTYPE_UI1 = 17,
  613. DBTYPE_ARRAY = 0x2000,
  614. DBTYPE_BYREF = 0x4000,
  615. DBTYPE_I1 = 16,
  616. DBTYPE_UI2 = 18,
  617. DBTYPE_UI4 = 19,
  618. DBTYPE_I8 = 20,
  619. DBTYPE_UI8 = 21,
  620. DBTYPE_GUID = 72,
  621. DBTYPE_VECTOR = 0x1000,
  622. DBTYPE_RESERVED = 0x8000,
  623. DBTYPE_BYTES = 128,
  624. DBTYPE_STR = 129,
  625. DBTYPE_WSTR = 130,
  626. DBTYPE_NUMERIC = 131,
  627. DBTYPE_UDT = 132,
  628. DBTYPE_DBDATE = 133,
  629. DBTYPE_DBTIME = 134,
  630. DBTYPE_DBTIMESTAMP = 135
  631. } ;
  632. // Introduce some new DBTYPTE value to support 64bits ColumnsRowset
  633. #ifdef _WIN64
  634. #define DBTYPEFOR_DBLENGTH DBTYPE_UI8
  635. #define DBTYPEFOR_DBROWCOUNT DBTYPE_I8
  636. #define DBTYPEFOR_DBORDINAL DBTYPE_UI8
  637. #else
  638. #define DBTYPEFOR_DBLENGTH DBTYPE_UI4
  639. #define DBTYPEFOR_DBROWCOUNT DBTYPE_I4
  640. #define DBTYPEFOR_DBORDINAL DBTYPE_UI4
  641. #endif
  642. //@@@+ V1.5
  643. #if( OLEDBVER >= 0x0150 )
  644. enum DBTYPEENUM15
  645. { DBTYPE_HCHAPTER = 136
  646. } ;
  647. #endif // OLEDBVER >= 0x0150
  648. //@@@- V1.5
  649. //@@@+ V2.0
  650. #if( OLEDBVER >= 0x0200 )
  651. enum DBTYPEENUM20
  652. { DBTYPE_FILETIME = 64,
  653. DBTYPE_PROPVARIANT = 138,
  654. DBTYPE_VARNUMERIC = 139
  655. } ;
  656. #endif // OLEDBVER >= 0x0200
  657. //@@@- V2.0
  658. typedef DWORD DBPART;
  659. enum DBPARTENUM
  660. { DBPART_INVALID = 0,
  661. DBPART_VALUE = 0x1,
  662. DBPART_LENGTH = 0x2,
  663. DBPART_STATUS = 0x4
  664. } ;
  665. typedef DWORD DBPARAMIO;
  666. enum DBPARAMIOENUM
  667. { DBPARAMIO_NOTPARAM = 0,
  668. DBPARAMIO_INPUT = 0x1,
  669. DBPARAMIO_OUTPUT = 0x2
  670. } ;
  671. //@@@+ V1.5
  672. #if( OLEDBVER >= 0x0150 )
  673. typedef DWORD DBBINDFLAG;
  674. enum DBBINDFLAGENUM
  675. { DBBINDFLAG_HTML = 0x1
  676. } ;
  677. #endif // OLEDBVER >= 0x0150
  678. //@@@- V1.5
  679. typedef DWORD DBMEMOWNER;
  680. enum DBMEMOWNERENUM
  681. { DBMEMOWNER_CLIENTOWNED = 0,
  682. DBMEMOWNER_PROVIDEROWNED = 0x1
  683. } ;
  684. typedef struct tagDBOBJECT
  685. {
  686. DWORD dwFlags;
  687. IID iid;
  688. } DBOBJECT;
  689. typedef DWORD DBSTATUS;
  690. enum DBSTATUSENUM
  691. { DBSTATUS_S_OK = 0,
  692. DBSTATUS_E_BADACCESSOR = 1,
  693. DBSTATUS_E_CANTCONVERTVALUE = 2,
  694. DBSTATUS_S_ISNULL = 3,
  695. DBSTATUS_S_TRUNCATED = 4,
  696. DBSTATUS_E_SIGNMISMATCH = 5,
  697. DBSTATUS_E_DATAOVERFLOW = 6,
  698. DBSTATUS_E_CANTCREATE = 7,
  699. DBSTATUS_E_UNAVAILABLE = 8,
  700. DBSTATUS_E_PERMISSIONDENIED = 9,
  701. DBSTATUS_E_INTEGRITYVIOLATION = 10,
  702. DBSTATUS_E_SCHEMAVIOLATION = 11,
  703. DBSTATUS_E_BADSTATUS = 12,
  704. DBSTATUS_S_DEFAULT = 13
  705. } ;
  706. //@@@+ V2.0
  707. #if( OLEDBVER >= 0x0200 )
  708. enum DBSTATUSENUM20
  709. { MDSTATUS_S_CELLEMPTY = 14,
  710. DBSTATUS_S_IGNORE = 15
  711. } ;
  712. #endif // OLEDBVER >= 0x0200
  713. //@@@- V2.0
  714. //@@@+ V2.1
  715. #if( OLEDBVER >= 0x0210 )
  716. enum DBSTATUSENUM21
  717. { DBSTATUS_E_DOESNOTEXIST = 16,
  718. DBSTATUS_E_INVALIDURL = 17,
  719. DBSTATUS_E_RESOURCELOCKED = 18,
  720. DBSTATUS_E_RESOURCEEXISTS = 19,
  721. DBSTATUS_E_CANNOTCOMPLETE = 20,
  722. DBSTATUS_E_VOLUMENOTFOUND = 21,
  723. DBSTATUS_E_OUTOFSPACE = 22,
  724. DBSTATUS_S_CANNOTDELETESOURCE = 23,
  725. DBSTATUS_E_READONLY = 24,
  726. DBSTATUS_E_RESOURCEOUTOFSCOPE = 25,
  727. DBSTATUS_S_ALREADYEXISTS = 26
  728. } ;
  729. typedef DWORD DBBINDURLFLAG;
  730. enum DBBINDURLFLAGENUM
  731. { DBBINDURLFLAG_READ = 0x1L,
  732. DBBINDURLFLAG_WRITE = 0x2L,
  733. DBBINDURLFLAG_READWRITE = 0x3L,
  734. DBBINDURLFLAG_SHARE_DENY_READ = 0x4L,
  735. DBBINDURLFLAG_SHARE_DENY_WRITE = 0x8L,
  736. DBBINDURLFLAG_SHARE_EXCLUSIVE = 0xcL,
  737. DBBINDURLFLAG_SHARE_DENY_NONE = 0x10L,
  738. DBBINDURLFLAG_ASYNCHRONOUS = 0x1000L,
  739. DBBINDURLFLAG_COLLECTION = 0x2000L,
  740. DBBINDURLFLAG_DELAYFETCHSTREAM = 0x4000L,
  741. DBBINDURLFLAG_DELAYFETCHCOLUMNS = 0x8000L,
  742. DBBINDURLFLAG_RECURSIVE = 0x400000L,
  743. DBBINDURLFLAG_OUTPUT = 0x800000L,
  744. DBBINDURLFLAG_WAITFORINIT = 0x1000000L,
  745. DBBINDURLFLAG_OPENIFEXISTS = 0x2000000L,
  746. DBBINDURLFLAG_OVERWRITE = 0x4000000L,
  747. DBBINDURLFLAG_ISSTRUCTUREDDOCUMENT = 0x8000000L
  748. } ;
  749. typedef DWORD DBBINDURLSTATUS;
  750. enum DBBINDURLSTATUSENUM
  751. { DBBINDURLSTATUS_S_OK = 0L,
  752. DBBINDURLSTATUS_S_DENYNOTSUPPORTED = 0x1L,
  753. DBBINDURLSTATUS_S_DENYTYPENOTSUPPORTED = 0x4L,
  754. DBBINDURLSTATUS_S_REDIRECTED = 0x8L
  755. } ;
  756. #endif // OLEDBVER >= 0x0210
  757. //@@@- V2.1
  758. //@@@+ V2.5
  759. #if( OLEDBVER >= 0x0250 )
  760. enum DBSTATUSENUM25
  761. { DBSTATUS_E_CANCELED = 27,
  762. DBSTATUS_E_NOTCOLLECTION = 28
  763. } ;
  764. #endif // OLEDBVER >= 0x0250
  765. //@@@- V2.5
  766. typedef struct tagDBBINDEXT
  767. {
  768. /* [size_is] */ BYTE *pExtension;
  769. DBCOUNTITEM ulExtension;
  770. } DBBINDEXT;
  771. typedef struct tagDBBINDING
  772. {
  773. DBORDINAL iOrdinal;
  774. DBBYTEOFFSET obValue;
  775. DBBYTEOFFSET obLength;
  776. DBBYTEOFFSET obStatus;
  777. ITypeInfo *pTypeInfo;
  778. DBOBJECT *pObject;
  779. DBBINDEXT *pBindExt;
  780. DBPART dwPart;
  781. DBMEMOWNER dwMemOwner;
  782. DBPARAMIO eParamIO;
  783. DBLENGTH cbMaxLen;
  784. DWORD dwFlags;
  785. DBTYPE wType;
  786. BYTE bPrecision;
  787. BYTE bScale;
  788. } DBBINDING;
  789. typedef DWORD DBROWSTATUS;
  790. enum DBROWSTATUSENUM
  791. { DBROWSTATUS_S_OK = 0,
  792. DBROWSTATUS_S_MULTIPLECHANGES = 2,
  793. DBROWSTATUS_S_PENDINGCHANGES = 3,
  794. DBROWSTATUS_E_CANCELED = 4,
  795. DBROWSTATUS_E_CANTRELEASE = 6,
  796. DBROWSTATUS_E_CONCURRENCYVIOLATION = 7,
  797. DBROWSTATUS_E_DELETED = 8,
  798. DBROWSTATUS_E_PENDINGINSERT = 9,
  799. DBROWSTATUS_E_NEWLYINSERTED = 10,
  800. DBROWSTATUS_E_INTEGRITYVIOLATION = 11,
  801. DBROWSTATUS_E_INVALID = 12,
  802. DBROWSTATUS_E_MAXPENDCHANGESEXCEEDED = 13,
  803. DBROWSTATUS_E_OBJECTOPEN = 14,
  804. DBROWSTATUS_E_OUTOFMEMORY = 15,
  805. DBROWSTATUS_E_PERMISSIONDENIED = 16,
  806. DBROWSTATUS_E_LIMITREACHED = 17,
  807. DBROWSTATUS_E_SCHEMAVIOLATION = 18,
  808. DBROWSTATUS_E_FAIL = 19
  809. } ;
  810. //@@@+ V2.0
  811. #if( OLEDBVER >= 0x0200 )
  812. enum DBROWSTATUSENUM20
  813. { DBROWSTATUS_S_NOCHANGE = 20
  814. } ;
  815. #endif // OLEDBVER >= 0x0200
  816. //@@@- V2.0
  817. //@@@+ V2.6
  818. #if( OLEDBVER >= 0x0260 )
  819. enum DBSTATUSENUM26
  820. { DBSTATUS_S_ROWSETCOLUMN = 29
  821. } ;
  822. #endif // OLEDBVER >= 0x0260
  823. //@@@- V2.6
  824. typedef ULONG_PTR HACCESSOR;
  825. #define DB_NULL_HACCESSOR 0x00 // deprecated; use DB_INVALID_HACCESSOR instead
  826. #define DB_INVALID_HACCESSOR 0x00
  827. typedef ULONG_PTR HROW;
  828. #define DB_NULL_HROW 0x00
  829. typedef ULONG_PTR HWATCHREGION;
  830. #define DBWATCHREGION_NULL NULL
  831. typedef ULONG_PTR HCHAPTER;
  832. #define DB_NULL_HCHAPTER 0x00
  833. #define DB_INVALID_HCHAPTER 0x00 // deprecated; use DB_NULL_HCHAPTER instead
  834. typedef struct tagDBFAILUREINFO
  835. {
  836. HROW hRow;
  837. DBORDINAL iColumn;
  838. HRESULT failure;
  839. } DBFAILUREINFO;
  840. typedef DWORD DBCOLUMNFLAGS;
  841. enum DBCOLUMNFLAGSENUM
  842. { DBCOLUMNFLAGS_ISBOOKMARK = 0x1,
  843. DBCOLUMNFLAGS_MAYDEFER = 0x2,
  844. DBCOLUMNFLAGS_WRITE = 0x4,
  845. DBCOLUMNFLAGS_WRITEUNKNOWN = 0x8,
  846. DBCOLUMNFLAGS_ISFIXEDLENGTH = 0x10,
  847. DBCOLUMNFLAGS_ISNULLABLE = 0x20,
  848. DBCOLUMNFLAGS_MAYBENULL = 0x40,
  849. DBCOLUMNFLAGS_ISLONG = 0x80,
  850. DBCOLUMNFLAGS_ISROWID = 0x100,
  851. DBCOLUMNFLAGS_ISROWVER = 0x200,
  852. DBCOLUMNFLAGS_CACHEDEFERRED = 0x1000
  853. } ;
  854. //@@@+ V2.0
  855. #if( OLEDBVER >= 0x0200 )
  856. enum DBCOLUMNFLAGSENUM20
  857. { DBCOLUMNFLAGS_SCALEISNEGATIVE = 0x4000,
  858. DBCOLUMNFLAGS_RESERVED = 0x8000
  859. } ;
  860. #endif // OLEDBVER >= 0x0200
  861. //@@@- V2.0
  862. //@@@+ deprecated
  863. #ifdef deprecated
  864. //@@@+ V2.0
  865. #if( OLEDBVER >= 0x0200 )
  866. enum DBCOLUMNFLAGSDEPRECATED
  867. { DBCOLUMNFLAGS_KEYCOLUMN = 0x8000
  868. } ;
  869. #endif // OLEDBVER >= 0x0200
  870. //@@@- V2.0
  871. #endif // deprecated
  872. //@@@- deprecated
  873. //@@@+ V1.5
  874. #if( OLEDBVER >= 0x0150 )
  875. enum DBCOLUMNFLAGS15ENUM
  876. { DBCOLUMNFLAGS_ISCHAPTER = 0x2000
  877. } ;
  878. #endif // OLEDBVER >= 0x0150
  879. //@@@- V1.5
  880. //@@@+ V2.1
  881. #if( OLEDBVER >= 0x0210 )
  882. enum DBCOLUMNFLAGSENUM21
  883. { DBCOLUMNFLAGS_ISROWURL = 0x10000,
  884. DBCOLUMNFLAGS_ISDEFAULTSTREAM = 0x20000,
  885. DBCOLUMNFLAGS_ISCOLLECTION = 0x40000
  886. } ;
  887. #endif // OLEDBVER >= 0x0210
  888. //@@@- V2.1
  889. //@@@+ V2.6
  890. #if( OLEDBVER >= 0x0260 )
  891. enum DBCOLUMNFLAGSENUM26
  892. { DBCOLUMNFLAGS_ISSTREAM = 0x80000,
  893. DBCOLUMNFLAGS_ISROWSET = 0x100000,
  894. DBCOLUMNFLAGS_ISROW = 0x200000,
  895. DBCOLUMNFLAGS_ROWSPECIFICCOLUMN = 0x400000
  896. } ;
  897. enum DBTABLESTATISTICSTYPE26
  898. { DBSTAT_HISTOGRAM = 0x1,
  899. DBSTAT_COLUMN_CARDINALITY = 0x2,
  900. DBSTAT_TUPLE_CARDINALITY = 0x4
  901. } ;
  902. #endif // OLEDBVER >= 0x0260
  903. //@@@- V2.6
  904. typedef struct tagDBCOLUMNINFO
  905. {
  906. LPOLESTR pwszName;
  907. ITypeInfo *pTypeInfo;
  908. DBORDINAL iOrdinal;
  909. DBCOLUMNFLAGS dwFlags;
  910. DBLENGTH ulColumnSize;
  911. DBTYPE wType;
  912. BYTE bPrecision;
  913. BYTE bScale;
  914. DBID columnid;
  915. } DBCOLUMNINFO;
  916. typedef
  917. enum tagDBBOOKMARK
  918. { DBBMK_INVALID = 0,
  919. DBBMK_FIRST = DBBMK_INVALID + 1,
  920. DBBMK_LAST = DBBMK_FIRST + 1
  921. } DBBOOKMARK;
  922. #define STD_BOOKMARKLENGTH 1
  923. #ifdef __cplusplus
  924. inline BOOL IsEqualGUIDBase(const GUID &rguid1, const GUID &rguid2)
  925. { return !memcmp(&(rguid1.Data2), &(rguid2.Data2), sizeof(GUID) - sizeof(rguid1.Data1)); }
  926. #else // !__cplusplus
  927. #define IsEqualGuidBase(rguid1, rguid2) (!memcmp(&((rguid1).Data2), &((rguid2).Data2), sizeof(GUID) - sizeof((rguid1).Data1)))
  928. #endif // __cplusplus
  929. #ifdef _WIN64
  930. #define DB_INVALIDCOLUMN _UI64_MAX
  931. #else
  932. #define DB_INVALIDCOLUMN ULONG_MAX
  933. #endif // _WIN64
  934. #define DBCIDGUID {0x0C733A81L,0x2A1C,0x11CE,{0xAD,0xE5,0x00,0xAA,0x00,0x44,0x77,0x3D}}
  935. #define DB_NULLGUID {0x00000000L,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}
  936. #ifdef DBINITCONSTANTS
  937. extern const OLEDBDECLSPEC DBID DB_NULLID = {DB_NULLGUID, 0, (LPOLESTR)0};
  938. extern const OLEDBDECLSPEC DBID DBCOLUMN_IDNAME = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)2};
  939. extern const OLEDBDECLSPEC DBID DBCOLUMN_NAME = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)3};
  940. extern const OLEDBDECLSPEC DBID DBCOLUMN_NUMBER = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)4};
  941. extern const OLEDBDECLSPEC DBID DBCOLUMN_TYPE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)5};
  942. extern const OLEDBDECLSPEC DBID DBCOLUMN_PRECISION = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)7};
  943. extern const OLEDBDECLSPEC DBID DBCOLUMN_SCALE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)8};
  944. extern const OLEDBDECLSPEC DBID DBCOLUMN_FLAGS = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)9};
  945. extern const OLEDBDECLSPEC DBID DBCOLUMN_BASECOLUMNNAME = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)10};
  946. extern const OLEDBDECLSPEC DBID DBCOLUMN_BASETABLENAME = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)11};
  947. extern const OLEDBDECLSPEC DBID DBCOLUMN_COLLATINGSEQUENCE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)12};
  948. extern const OLEDBDECLSPEC DBID DBCOLUMN_COMPUTEMODE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)13};
  949. extern const OLEDBDECLSPEC DBID DBCOLUMN_DEFAULTVALUE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)14};
  950. extern const OLEDBDECLSPEC DBID DBCOLUMN_DOMAINNAME = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)15};
  951. extern const OLEDBDECLSPEC DBID DBCOLUMN_HASDEFAULT = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)16};
  952. extern const OLEDBDECLSPEC DBID DBCOLUMN_ISAUTOINCREMENT = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)17};
  953. extern const OLEDBDECLSPEC DBID DBCOLUMN_ISCASESENSITIVE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)18};
  954. extern const OLEDBDECLSPEC DBID DBCOLUMN_ISSEARCHABLE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)20};
  955. extern const OLEDBDECLSPEC DBID DBCOLUMN_ISUNIQUE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)21};
  956. extern const OLEDBDECLSPEC DBID DBCOLUMN_BASECATALOGNAME = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)23};
  957. extern const OLEDBDECLSPEC DBID DBCOLUMN_BASESCHEMANAME = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)24};
  958. extern const OLEDBDECLSPEC DBID DBCOLUMN_GUID = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)29};
  959. extern const OLEDBDECLSPEC DBID DBCOLUMN_PROPID = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)30};
  960. extern const OLEDBDECLSPEC DBID DBCOLUMN_TYPEINFO = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)31};
  961. extern const OLEDBDECLSPEC DBID DBCOLUMN_DOMAINCATALOG = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)32};
  962. extern const OLEDBDECLSPEC DBID DBCOLUMN_DOMAINSCHEMA = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)33};
  963. extern const OLEDBDECLSPEC DBID DBCOLUMN_DATETIMEPRECISION = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)34};
  964. extern const OLEDBDECLSPEC DBID DBCOLUMN_NUMERICPRECISIONRADIX = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)35};
  965. extern const OLEDBDECLSPEC DBID DBCOLUMN_OCTETLENGTH = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)36};
  966. extern const OLEDBDECLSPEC DBID DBCOLUMN_COLUMNSIZE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)37};
  967. extern const OLEDBDECLSPEC DBID DBCOLUMN_CLSID = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)38};
  968. //@@@+ V1.5
  969. #if( OLEDBVER >= 0x0150 )
  970. extern const OLEDBDECLSPEC DBID DBCOLUMN_MAYSORT = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)39};
  971. #endif // OLEDBVER >= 0x0150
  972. //@@@- V1.5
  973. #else // !DBINITCONSTANTS
  974. extern const DBID DB_NULLID;
  975. extern const DBID DBCOLUMN_IDNAME;
  976. extern const DBID DBCOLUMN_NAME;
  977. extern const DBID DBCOLUMN_NUMBER;
  978. extern const DBID DBCOLUMN_TYPE;
  979. extern const DBID DBCOLUMN_PRECISION;
  980. extern const DBID DBCOLUMN_SCALE;
  981. extern const DBID DBCOLUMN_FLAGS;
  982. extern const DBID DBCOLUMN_BASECOLUMNNAME;
  983. extern const DBID DBCOLUMN_BASETABLENAME;
  984. extern const DBID DBCOLUMN_COLLATINGSEQUENCE;
  985. extern const DBID DBCOLUMN_COMPUTEMODE;
  986. extern const DBID DBCOLUMN_DEFAULTVALUE;
  987. extern const DBID DBCOLUMN_DOMAINNAME;
  988. extern const DBID DBCOLUMN_HASDEFAULT;
  989. extern const DBID DBCOLUMN_ISAUTOINCREMENT;
  990. extern const DBID DBCOLUMN_ISCASESENSITIVE;
  991. extern const DBID DBCOLUMN_ISSEARCHABLE;
  992. extern const DBID DBCOLUMN_ISUNIQUE;
  993. extern const DBID DBCOLUMN_BASECATALOGNAME;
  994. extern const DBID DBCOLUMN_BASESCHEMANAME;
  995. extern const DBID DBCOLUMN_GUID;
  996. extern const DBID DBCOLUMN_PROPID;
  997. extern const DBID DBCOLUMN_TYPEINFO;
  998. extern const DBID DBCOLUMN_DOMAINCATALOG;
  999. extern const DBID DBCOLUMN_DOMAINSCHEMA;
  1000. extern const DBID DBCOLUMN_DATETIMEPRECISION;
  1001. extern const DBID DBCOLUMN_NUMERICPRECISIONRADIX;
  1002. extern const DBID DBCOLUMN_OCTETLENGTH;
  1003. extern const DBID DBCOLUMN_COLUMNSIZE;
  1004. extern const DBID DBCOLUMN_CLSID;
  1005. //@@@+ V1.5
  1006. #if( OLEDBVER >= 0x0150 )
  1007. extern const DBID DBCOLUMN_MAYSORT;
  1008. #endif // OLEDBVER >= 0x0150
  1009. //@@@- V1.5
  1010. #endif // DBINITCONSTANTS
  1011. #ifdef DBINITCONSTANTS
  1012. //@@@+ V2.6
  1013. #if( OLEDBVER >= 0x0260 )
  1014. extern const OLEDBDECLSPEC GUID MDSCHEMA_FUNCTIONS = {0xa07ccd07,0x8148,0x11d0,{0x87,0xbb,0x00,0xc0,0x4f,0xc3,0x39,0x42}};
  1015. extern const OLEDBDECLSPEC GUID MDSCHEMA_ACTIONS = {0xa07ccd08,0x8148,0x11d0,{0x87,0xbb,0x00,0xc0,0x4f,0xc3,0x39,0x42}};
  1016. extern const OLEDBDECLSPEC GUID MDSCHEMA_COMMANDS = {0xa07ccd09,0x8148,0x11d0,{0x87,0xbb,0x00,0xc0,0x4f,0xc3,0x39,0x42}};
  1017. extern const OLEDBDECLSPEC GUID MDSCHEMA_SETS = {0xa07ccd0b,0x8148,0x11d0,{0x87,0xbb,0x00,0xc0,0x4f,0xc3,0x39,0x42}};
  1018. #endif // OLEDBVER >= 0x0260
  1019. //@@@- V2.6
  1020. //@@@+ V2.0
  1021. #if( OLEDBVER >= 0x0200 )
  1022. extern const OLEDBDECLSPEC GUID DBSCHEMA_TABLES_INFO = {0xc8b522e0,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1023. extern const OLEDBDECLSPEC GUID MDGUID_MDX = {0xa07cccd0,0x8148,0x11d0,{0x87,0xbb,0x00,0xc0,0x4f,0xc3,0x39,0x42}};
  1024. extern const OLEDBDECLSPEC GUID DBGUID_MDX = {0xa07cccd0,0x8148,0x11d0,{0x87,0xbb,0x00,0xc0,0x4f,0xc3,0x39,0x42}};
  1025. extern const OLEDBDECLSPEC GUID MDSCHEMA_CUBES = {0xc8b522d8,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1026. extern const OLEDBDECLSPEC GUID MDSCHEMA_DIMENSIONS = {0xc8b522d9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1027. extern const OLEDBDECLSPEC GUID MDSCHEMA_HIERARCHIES = {0xc8b522da,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1028. extern const OLEDBDECLSPEC GUID MDSCHEMA_LEVELS = {0xc8b522db,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1029. extern const OLEDBDECLSPEC GUID MDSCHEMA_MEASURES = {0xc8b522dc,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1030. extern const OLEDBDECLSPEC GUID MDSCHEMA_PROPERTIES = {0xc8b522dd,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1031. extern const OLEDBDECLSPEC GUID MDSCHEMA_MEMBERS = {0xc8b522de,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1032. extern const OLEDBDECLSPEC DBID DBCOLUMN_BASETABLEVERSION = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)40};
  1033. extern const OLEDBDECLSPEC DBID DBCOLUMN_KEYCOLUMN = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)41};
  1034. #endif // OLEDBVER >= 0x0200
  1035. //@@@- V2.0
  1036. //@@@+ V2.1
  1037. #if( OLEDBVER >= 0x0210 )
  1038. #define DBGUID_ROWURL {0x0C733AB6L,0x2A1C,0x11CE,{0xAD,0xE5,0x00,0xAA,0x00,0x44,0x77,0x3D}}
  1039. #define DBGUID_ROWDEFAULTSTREAM {0x0C733AB7L,0x2A1C,0x11CE,{0xAD,0xE5,0x00,0xAA,0x00,0x44,0x77,0x3D}}
  1040. extern const OLEDBDECLSPEC GUID DBPROPSET_TRUSTEE = {0xc8b522e1,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1041. extern const OLEDBDECLSPEC GUID DBOBJECT_TABLE = {0xc8b522e2,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1042. extern const OLEDBDECLSPEC GUID DBOBJECT_COLUMN = {0xc8b522e4,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1043. extern const OLEDBDECLSPEC GUID DBOBJECT_DATABASE = {0xc8b522e5,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1044. extern const OLEDBDECLSPEC GUID DBOBJECT_PROCEDURE = {0xc8b522e6,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1045. extern const OLEDBDECLSPEC GUID DBOBJECT_VIEW = {0xc8b522e7,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1046. extern const OLEDBDECLSPEC GUID DBOBJECT_SCHEMA = {0xc8b522e8,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1047. extern const OLEDBDECLSPEC GUID DBOBJECT_DOMAIN = {0xc8b522e9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1048. extern const OLEDBDECLSPEC GUID DBOBJECT_COLLATION = {0xc8b522ea,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1049. extern const OLEDBDECLSPEC GUID DBOBJECT_TRUSTEE = {0xc8b522eb,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1050. extern const OLEDBDECLSPEC GUID DBOBJECT_SCHEMAROWSET = {0xc8b522ec,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1051. extern const OLEDBDECLSPEC GUID DBOBJECT_CHARACTERSET = {0xc8b522ed,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1052. extern const OLEDBDECLSPEC GUID DBOBJECT_TRANSLATION = {0xc8b522ee,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1053. extern const OLEDBDECLSPEC GUID DBSCHEMA_TRUSTEE = {0xc8b522ef,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1054. extern const OLEDBDECLSPEC GUID DBPROPSET_COLUMNALL = {0xc8b522f0,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1055. extern const OLEDBDECLSPEC GUID DBPROPSET_INDEXALL = {0xc8b522f1,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1056. extern const OLEDBDECLSPEC GUID DBPROPSET_TABLEALL = {0xc8b522f2,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1057. extern const OLEDBDECLSPEC GUID DBPROPSET_TRUSTEEALL = {0xc8b522f3,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1058. extern const OLEDBDECLSPEC GUID DBPROPSET_CONSTRAINTALL = {0xc8b522fa,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1059. extern const OLEDBDECLSPEC GUID DBGUID_DSO = {0xc8b522f4,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1060. extern const OLEDBDECLSPEC GUID DBGUID_SESSION = {0xc8b522f5,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1061. extern const OLEDBDECLSPEC GUID DBGUID_ROWSET = {0xc8b522f6,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1062. extern const OLEDBDECLSPEC GUID DBGUID_ROW = {0xc8b522f7,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1063. extern const OLEDBDECLSPEC GUID DBGUID_COMMAND = {0xc8b522f8,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1064. extern const OLEDBDECLSPEC GUID DBGUID_STREAM = {0xc8b522f9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1065. extern const OLEDBDECLSPEC DBID DBROWCOL_ROWURL = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)0};
  1066. extern const OLEDBDECLSPEC DBID DBROWCOL_PARSENAME = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)2};
  1067. extern const OLEDBDECLSPEC DBID DBROWCOL_PARENTNAME = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)3};
  1068. extern const OLEDBDECLSPEC DBID DBROWCOL_ABSOLUTEPARSENAME = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)4};
  1069. extern const OLEDBDECLSPEC DBID DBROWCOL_ISHIDDEN = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)5};
  1070. extern const OLEDBDECLSPEC DBID DBROWCOL_ISREADONLY = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)6};
  1071. extern const OLEDBDECLSPEC DBID DBROWCOL_CONTENTTYPE = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)7};
  1072. extern const OLEDBDECLSPEC DBID DBROWCOL_CONTENTCLASS = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)8};
  1073. extern const OLEDBDECLSPEC DBID DBROWCOL_CONTENTLANGUAGE = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)9};
  1074. extern const OLEDBDECLSPEC DBID DBROWCOL_CREATIONTIME = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)10};
  1075. extern const OLEDBDECLSPEC DBID DBROWCOL_LASTACCESSTIME = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)11};
  1076. extern const OLEDBDECLSPEC DBID DBROWCOL_LASTWRITETIME = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)12};
  1077. extern const OLEDBDECLSPEC DBID DBROWCOL_STREAMSIZE = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)13};
  1078. extern const OLEDBDECLSPEC DBID DBROWCOL_ISCOLLECTION = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)14};
  1079. extern const OLEDBDECLSPEC DBID DBROWCOL_ISSTRUCTUREDDOCUMENT = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)15};
  1080. extern const OLEDBDECLSPEC DBID DBROWCOL_DEFAULTDOCUMENT = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)16};
  1081. extern const OLEDBDECLSPEC DBID DBROWCOL_DISPLAYNAME = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)17};
  1082. extern const OLEDBDECLSPEC DBID DBROWCOL_ISROOT = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)18};
  1083. extern const OLEDBDECLSPEC DBID DBROWCOL_DEFAULTSTREAM = {DBGUID_ROWDEFAULTSTREAM, DBKIND_GUID_PROPID, (LPOLESTR)0};
  1084. extern const OLEDBDECLSPEC GUID DBGUID_CONTAINEROBJECT = {0xc8b522fb,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1085. #endif // OLEDBVER >= 0x0210
  1086. //@@@- V2.1
  1087. extern const OLEDBDECLSPEC GUID DBSCHEMA_ASSERTIONS = {0xc8b52210,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1088. extern const OLEDBDECLSPEC GUID DBSCHEMA_CATALOGS = {0xc8b52211,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1089. extern const OLEDBDECLSPEC GUID DBSCHEMA_CHARACTER_SETS = {0xc8b52212,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1090. extern const OLEDBDECLSPEC GUID DBSCHEMA_COLLATIONS = {0xc8b52213,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1091. extern const OLEDBDECLSPEC GUID DBSCHEMA_COLUMNS = {0xc8b52214,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1092. extern const OLEDBDECLSPEC GUID DBSCHEMA_CHECK_CONSTRAINTS = {0xc8b52215,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1093. extern const OLEDBDECLSPEC GUID DBSCHEMA_CONSTRAINT_COLUMN_USAGE = {0xc8b52216,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1094. extern const OLEDBDECLSPEC GUID DBSCHEMA_CONSTRAINT_TABLE_USAGE = {0xc8b52217,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1095. extern const OLEDBDECLSPEC GUID DBSCHEMA_KEY_COLUMN_USAGE = {0xc8b52218,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1096. extern const OLEDBDECLSPEC GUID DBSCHEMA_REFERENTIAL_CONSTRAINTS = {0xc8b52219,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1097. extern const OLEDBDECLSPEC GUID DBSCHEMA_TABLE_CONSTRAINTS = {0xc8b5221a,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1098. extern const OLEDBDECLSPEC GUID DBSCHEMA_COLUMN_DOMAIN_USAGE = {0xc8b5221b,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1099. extern const OLEDBDECLSPEC GUID DBSCHEMA_INDEXES = {0xc8b5221e,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1100. extern const OLEDBDECLSPEC GUID DBSCHEMA_COLUMN_PRIVILEGES = {0xc8b52221,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1101. extern const OLEDBDECLSPEC GUID DBSCHEMA_TABLE_PRIVILEGES = {0xc8b52222,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1102. extern const OLEDBDECLSPEC GUID DBSCHEMA_USAGE_PRIVILEGES = {0xc8b52223,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1103. extern const OLEDBDECLSPEC GUID DBSCHEMA_PROCEDURES = {0xc8b52224,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1104. extern const OLEDBDECLSPEC GUID DBSCHEMA_SCHEMATA = {0xc8b52225,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1105. extern const OLEDBDECLSPEC GUID DBSCHEMA_SQL_LANGUAGES = {0xc8b52226,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1106. extern const OLEDBDECLSPEC GUID DBSCHEMA_STATISTICS = {0xc8b52227,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1107. extern const OLEDBDECLSPEC GUID DBSCHEMA_TABLES = {0xc8b52229,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1108. extern const OLEDBDECLSPEC GUID DBSCHEMA_TRANSLATIONS = {0xc8b5222a,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1109. extern const OLEDBDECLSPEC GUID DBSCHEMA_PROVIDER_TYPES = {0xc8b5222c,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1110. extern const OLEDBDECLSPEC GUID DBSCHEMA_VIEWS = {0xc8b5222d,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1111. extern const OLEDBDECLSPEC GUID DBSCHEMA_VIEW_COLUMN_USAGE = {0xc8b5222e,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1112. extern const OLEDBDECLSPEC GUID DBSCHEMA_VIEW_TABLE_USAGE = {0xc8b5222f,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1113. extern const OLEDBDECLSPEC GUID DBSCHEMA_PROCEDURE_PARAMETERS = {0xc8b522b8,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1114. extern const OLEDBDECLSPEC GUID DBSCHEMA_FOREIGN_KEYS = {0xc8b522c4,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1115. extern const OLEDBDECLSPEC GUID DBSCHEMA_PRIMARY_KEYS = {0xc8b522c5,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1116. extern const OLEDBDECLSPEC GUID DBSCHEMA_PROCEDURE_COLUMNS = {0xc8b522c9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1117. extern const OLEDBDECLSPEC GUID DBCOL_SELFCOLUMNS = {0xc8b52231,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1118. extern const OLEDBDECLSPEC GUID DBCOL_SPECIALCOL = {0xc8b52232,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1119. extern const OLEDBDECLSPEC GUID PSGUID_QUERY = {0x49691c90,0x7e17,0x101a,{0xa9,0x1c,0x08,0x00,0x2b,0x2e,0xcd,0xa9}};
  1120. extern const OLEDBDECLSPEC GUID DBPROPSET_COLUMN = {0xc8b522b9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1121. extern const OLEDBDECLSPEC GUID DBPROPSET_DATASOURCE = {0xc8b522ba,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1122. extern const OLEDBDECLSPEC GUID DBPROPSET_DATASOURCEINFO = {0xc8b522bb,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1123. extern const OLEDBDECLSPEC GUID DBPROPSET_DBINIT = {0xc8b522bc,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1124. extern const OLEDBDECLSPEC GUID DBPROPSET_INDEX = {0xc8b522bd,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1125. extern const OLEDBDECLSPEC GUID DBPROPSET_ROWSET = {0xc8b522be,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1126. extern const OLEDBDECLSPEC GUID DBPROPSET_TABLE = {0xc8b522bf,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1127. extern const OLEDBDECLSPEC GUID DBPROPSET_DATASOURCEALL = {0xc8b522c0,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1128. extern const OLEDBDECLSPEC GUID DBPROPSET_DATASOURCEINFOALL = {0xc8b522c1,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1129. extern const OLEDBDECLSPEC GUID DBPROPSET_ROWSETALL = {0xc8b522c2,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1130. extern const OLEDBDECLSPEC GUID DBPROPSET_SESSION = {0xc8b522c6,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1131. extern const OLEDBDECLSPEC GUID DBPROPSET_SESSIONALL = {0xc8b522c7,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1132. extern const OLEDBDECLSPEC GUID DBPROPSET_DBINITALL = {0xc8b522ca,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1133. extern const OLEDBDECLSPEC GUID DBPROPSET_PROPERTIESINERROR = {0xc8b522d4,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1134. //@@@+ V1.5
  1135. #if( OLEDBVER >= 0x0150 )
  1136. extern const OLEDBDECLSPEC GUID DBPROPSET_VIEW = {0xc8b522df,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1137. #endif // OLEDBVER >= 0x0150
  1138. //@@@- V1.5
  1139. //@@@+ V2.5
  1140. #if( OLEDBVER >= 0x0250 )
  1141. extern const OLEDBDECLSPEC GUID DBPROPSET_VIEWALL = {0xc8b522fc,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1142. #endif // OLEDBVER >= 0x0250
  1143. //@@@- V2.5
  1144. //@@@+ V2.6
  1145. #if( OLEDBVER >= 0x0260 )
  1146. extern const OLEDBDECLSPEC GUID DBPROPSET_STREAM = {0xc8b522fd,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1147. extern const OLEDBDECLSPEC GUID DBPROPSET_STREAMALL = {0xc8b522fe,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1148. extern const OLEDBDECLSPEC GUID DBSCHEMA_TABLE_STATISTICS = {0xc8b522ff,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1149. extern const OLEDBDECLSPEC GUID DBSCHEMA_CHECK_CONSTRAINTS_BY_TABLE = {0xc8b52301,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1150. extern const OLEDBDECLSPEC GUID DBGUID_HISTOGRAM_ROWSET = {0xc8b52300,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1151. extern const OLEDBDECLSPEC DBID DBCOLUMN_DERIVEDCOLUMNNAME = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)43};
  1152. #endif // OLEDBVER >= 0x0260
  1153. //@@@- V2.6
  1154. // DBGUID_DBSQL is deprecated; use DBGUID_DEFAULT instead
  1155. extern const OLEDBDECLSPEC GUID DBGUID_DBSQL = {0xc8b521fb,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1156. extern const OLEDBDECLSPEC GUID DBGUID_DEFAULT = {0xc8b521fb,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1157. extern const OLEDBDECLSPEC GUID DBGUID_SQL = {0xc8b522d7,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1158. #else // !DBINITCONSTANTS
  1159. //@@@+ V2.0
  1160. #if( OLEDBVER >= 0x0200 )
  1161. extern const GUID DBSCHEMA_TABLES_INFO;
  1162. extern const GUID MDGUID_MDX;
  1163. extern const GUID DBGUID_MDX;
  1164. extern const GUID MDSCHEMA_CUBES;
  1165. extern const GUID MDSCHEMA_DIMENSIONS;
  1166. extern const GUID MDSCHEMA_HIERARCHIES;
  1167. extern const GUID MDSCHEMA_LEVELS;
  1168. extern const GUID MDSCHEMA_MEASURES;
  1169. extern const GUID MDSCHEMA_PROPERTIES;
  1170. extern const GUID MDSCHEMA_MEMBERS;
  1171. extern const DBID DBCOLUMN_BASETABLEVERSION;
  1172. extern const DBID DBCOLUMN_KEYCOLUMN;
  1173. #endif // OLEDBVER >= 0x0200
  1174. //@@@- V2.0
  1175. //@@@+ V2.1
  1176. #if( OLEDBVER >= 0x0210 )
  1177. extern const GUID DBPROPSET_TRUSTEE;
  1178. extern const GUID DBOBJECT_TABLE;
  1179. extern const GUID DBOBJECT_COLUMN;
  1180. extern const GUID DBOBJECT_DATABASE;
  1181. extern const GUID DBOBJECT_PROCEDURE;
  1182. extern const GUID DBOBJECT_VIEW;
  1183. extern const GUID DBOBJECT_SCHEMA;
  1184. extern const GUID DBOBJECT_DOMAIN;
  1185. extern const GUID DBOBJECT_COLLATION;
  1186. extern const GUID DBOBJECT_TRUSTEE;
  1187. extern const GUID DBOBJECT_SCHEMAROWSET;
  1188. extern const GUID DBOBJECT_CHARACTERSET;
  1189. extern const GUID DBOBJECT_TRANSLATION;
  1190. extern const GUID DBSCHEMA_TRUSTEE;
  1191. extern const GUID DBPROPSET_COLUMNALL;
  1192. extern const GUID DBPROPSET_INDEXALL;
  1193. extern const GUID DBPROPSET_TABLEALL;
  1194. extern const GUID DBPROPSET_TRUSTEEALL;
  1195. extern const GUID DBPROPSET_CONSTRAINTALL;
  1196. extern const GUID DBGUID_DSO;
  1197. extern const GUID DBGUID_SESSION;
  1198. extern const GUID DBGUID_ROWSET;
  1199. extern const GUID DBGUID_ROW;
  1200. extern const GUID DBGUID_COMMAND;
  1201. extern const GUID DBGUID_STREAM;
  1202. extern const DBID DBROWCOL_ROWURL;
  1203. extern const DBID DBROWCOL_PARSENAME;
  1204. extern const DBID DBROWCOL_PARENTNAME;
  1205. extern const DBID DBROWCOL_ABSOLUTEPARSENAME;
  1206. extern const DBID DBROWCOL_ISHIDDEN;
  1207. extern const DBID DBROWCOL_ISREADONLY;
  1208. extern const DBID DBROWCOL_CONTENTTYPE;
  1209. extern const DBID DBROWCOL_CONTENTCLASS;
  1210. extern const DBID DBROWCOL_CONTENTLANGUAGE;
  1211. extern const DBID DBROWCOL_CREATIONTIME;
  1212. extern const DBID DBROWCOL_LASTACCESSTIME;
  1213. extern const DBID DBROWCOL_LASTWRITETIME;
  1214. extern const DBID DBROWCOL_STREAMSIZE;
  1215. extern const DBID DBROWCOL_ISCOLLECTION;
  1216. extern const DBID DBROWCOL_ISSTRUCTUREDDOCUMENT;
  1217. extern const DBID DBROWCOL_DEFAULTDOCUMENT;
  1218. extern const DBID DBROWCOL_DISPLAYNAME;
  1219. extern const DBID DBROWCOL_ISROOT;
  1220. extern const DBID DBROWCOL_DEFAULTSTREAM;
  1221. extern const GUID DBGUID_CONTAINEROBJECT;
  1222. #endif // OLEDBVER >= 0x0210
  1223. //@@@- V2.1
  1224. extern const GUID DBSCHEMA_ASSERTIONS;
  1225. extern const GUID DBSCHEMA_CATALOGS;
  1226. extern const GUID DBSCHEMA_CHARACTER_SETS;
  1227. extern const GUID DBSCHEMA_COLLATIONS;
  1228. extern const GUID DBSCHEMA_COLUMNS;
  1229. extern const GUID DBSCHEMA_CHECK_CONSTRAINTS;
  1230. extern const GUID DBSCHEMA_CONSTRAINT_COLUMN_USAGE;
  1231. extern const GUID DBSCHEMA_CONSTRAINT_TABLE_USAGE;
  1232. extern const GUID DBSCHEMA_KEY_COLUMN_USAGE;
  1233. extern const GUID DBSCHEMA_REFERENTIAL_CONSTRAINTS;
  1234. extern const GUID DBSCHEMA_TABLE_CONSTRAINTS;
  1235. extern const GUID DBSCHEMA_COLUMN_DOMAIN_USAGE;
  1236. extern const GUID DBSCHEMA_INDEXES;
  1237. extern const GUID DBSCHEMA_COLUMN_PRIVILEGES;
  1238. extern const GUID DBSCHEMA_TABLE_PRIVILEGES;
  1239. extern const GUID DBSCHEMA_USAGE_PRIVILEGES;
  1240. extern const GUID DBSCHEMA_PROCEDURES;
  1241. extern const GUID DBSCHEMA_SCHEMATA;
  1242. extern const GUID DBSCHEMA_SQL_LANGUAGES;
  1243. extern const GUID DBSCHEMA_STATISTICS;
  1244. extern const GUID DBSCHEMA_TABLES;
  1245. extern const GUID DBSCHEMA_TRANSLATIONS;
  1246. extern const GUID DBSCHEMA_PROVIDER_TYPES;
  1247. extern const GUID DBSCHEMA_VIEWS;
  1248. extern const GUID DBSCHEMA_VIEW_COLUMN_USAGE;
  1249. extern const GUID DBSCHEMA_VIEW_TABLE_USAGE;
  1250. extern const GUID DBSCHEMA_PROCEDURE_PARAMETERS;
  1251. extern const GUID DBSCHEMA_FOREIGN_KEYS;
  1252. extern const GUID DBSCHEMA_PRIMARY_KEYS;
  1253. extern const GUID DBSCHEMA_PROCEDURE_COLUMNS;
  1254. extern const GUID DBCOL_SELFCOLUMNS;
  1255. extern const GUID DBCOL_SPECIALCOL;
  1256. extern const GUID PSGUID_QUERY;
  1257. extern const GUID DBPROPSET_COLUMN;
  1258. extern const GUID DBPROPSET_DATASOURCE;
  1259. extern const GUID DBPROPSET_DATASOURCEINFO;
  1260. extern const GUID DBPROPSET_DBINIT;
  1261. extern const GUID DBPROPSET_INDEX;
  1262. extern const GUID DBPROPSET_ROWSET;
  1263. extern const GUID DBPROPSET_TABLE;
  1264. extern const GUID DBPROPSET_DATASOURCEALL;
  1265. extern const GUID DBPROPSET_DATASOURCEINFOALL;
  1266. extern const GUID DBPROPSET_ROWSETALL;
  1267. extern const GUID DBPROPSET_SESSION;
  1268. extern const GUID DBPROPSET_SESSIONALL;
  1269. extern const GUID DBPROPSET_DBINITALL;
  1270. extern const GUID DBPROPSET_PROPERTIESINERROR;
  1271. //@@@+ V1.5
  1272. #if( OLEDBVER >= 0x0150 )
  1273. extern const GUID DBPROPSET_VIEW;
  1274. #endif // OLEDBVER >= 0x0150
  1275. //@@@- V1.5
  1276. //@@@+ V2.5
  1277. #if( OLEDBVER >= 0x0250 )
  1278. extern const GUID DBPROPSET_VIEWALL;
  1279. #endif // OLEDBVER >= 0x0250
  1280. //@@@- V2.5
  1281. //@@@+ V2.6
  1282. #if( OLEDBVER >= 0x0260 )
  1283. extern const GUID DBPROPSET_STREAM;
  1284. extern const GUID DBPROPSET_STREAMALL;
  1285. extern const GUID DBSCHEMA_TABLE_STATISTICS;
  1286. extern const GUID DBSCHEMA_CHECK_CONSTRAINTS_BY_TABLE;
  1287. extern const GUID DBGUID_HISTOGRAM_ROWSET;
  1288. extern const DBID DBCOLUMN_DERIVEDCOLUMNNAME;
  1289. extern const GUID MDSCHEMA_FUNCTIONS;
  1290. extern const GUID MDSCHEMA_ACTIONS;
  1291. extern const GUID MDSCHEMA_COMMANDS;
  1292. extern const GUID MDSCHEMA_SETS;
  1293. #endif // OLEDBVER >= 0x0260
  1294. //@@@- V2.6
  1295. // DBGUID_DBSQL is deprecated; use DBGUID_DEFAULT instead
  1296. extern const GUID DBGUID_DBSQL;
  1297. extern const GUID DBGUID_DEFAULT;
  1298. extern const GUID DBGUID_SQL;
  1299. #endif // DBINITCONSTANTS
  1300. enum DBPROPENUM
  1301. { DBPROP_ABORTPRESERVE = 0x2L,
  1302. DBPROP_ACTIVESESSIONS = 0x3L,
  1303. DBPROP_APPENDONLY = 0xbbL,
  1304. DBPROP_ASYNCTXNABORT = 0xa8L,
  1305. DBPROP_ASYNCTXNCOMMIT = 0x4L,
  1306. DBPROP_AUTH_CACHE_AUTHINFO = 0x5L,
  1307. DBPROP_AUTH_ENCRYPT_PASSWORD = 0x6L,
  1308. DBPROP_AUTH_INTEGRATED = 0x7L,
  1309. DBPROP_AUTH_MASK_PASSWORD = 0x8L,
  1310. DBPROP_AUTH_PASSWORD = 0x9L,
  1311. DBPROP_AUTH_PERSIST_ENCRYPTED = 0xaL,
  1312. DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO = 0xbL,
  1313. DBPROP_AUTH_USERID = 0xcL,
  1314. DBPROP_BLOCKINGSTORAGEOBJECTS = 0xdL,
  1315. DBPROP_BOOKMARKS = 0xeL,
  1316. DBPROP_BOOKMARKSKIPPED = 0xfL,
  1317. DBPROP_BOOKMARKTYPE = 0x10L,
  1318. DBPROP_BYREFACCESSORS = 0x78L,
  1319. DBPROP_CACHEDEFERRED = 0x11L,
  1320. DBPROP_CANFETCHBACKWARDS = 0x12L,
  1321. DBPROP_CANHOLDROWS = 0x13L,
  1322. DBPROP_CANSCROLLBACKWARDS = 0x15L,
  1323. DBPROP_CATALOGLOCATION = 0x16L,
  1324. DBPROP_CATALOGTERM = 0x17L,
  1325. DBPROP_CATALOGUSAGE = 0x18L,
  1326. DBPROP_CHANGEINSERTEDROWS = 0xbcL,
  1327. DBPROP_COL_AUTOINCREMENT = 0x1aL,
  1328. DBPROP_COL_DEFAULT = 0x1bL,
  1329. DBPROP_COL_DESCRIPTION = 0x1cL,
  1330. DBPROP_COL_FIXEDLENGTH = 0xa7L,
  1331. DBPROP_COL_NULLABLE = 0x1dL,
  1332. DBPROP_COL_PRIMARYKEY = 0x1eL,
  1333. DBPROP_COL_UNIQUE = 0x1fL,
  1334. DBPROP_COLUMNDEFINITION = 0x20L,
  1335. DBPROP_COLUMNRESTRICT = 0x21L,
  1336. DBPROP_COMMANDTIMEOUT = 0x22L,
  1337. DBPROP_COMMITPRESERVE = 0x23L,
  1338. DBPROP_CONCATNULLBEHAVIOR = 0x24L,
  1339. DBPROP_CURRENTCATALOG = 0x25L,
  1340. DBPROP_DATASOURCENAME = 0x26L,
  1341. DBPROP_DATASOURCEREADONLY = 0x27L,
  1342. DBPROP_DBMSNAME = 0x28L,
  1343. DBPROP_DBMSVER = 0x29L,
  1344. DBPROP_DEFERRED = 0x2aL,
  1345. DBPROP_DELAYSTORAGEOBJECTS = 0x2bL,
  1346. DBPROP_DSOTHREADMODEL = 0xa9L,
  1347. DBPROP_GROUPBY = 0x2cL,
  1348. DBPROP_HETEROGENEOUSTABLES = 0x2dL,
  1349. DBPROP_IAccessor = 0x79L,
  1350. DBPROP_IColumnsInfo = 0x7aL,
  1351. DBPROP_IColumnsRowset = 0x7bL,
  1352. DBPROP_IConnectionPointContainer = 0x7cL,
  1353. DBPROP_IConvertType = 0xc2L,
  1354. DBPROP_IRowset = 0x7eL,
  1355. DBPROP_IRowsetChange = 0x7fL,
  1356. DBPROP_IRowsetIdentity = 0x80L,
  1357. DBPROP_IRowsetIndex = 0x9fL,
  1358. DBPROP_IRowsetInfo = 0x81L,
  1359. DBPROP_IRowsetLocate = 0x82L,
  1360. DBPROP_IRowsetResynch = 0x84L,
  1361. DBPROP_IRowsetScroll = 0x85L,
  1362. DBPROP_IRowsetUpdate = 0x86L,
  1363. DBPROP_ISupportErrorInfo = 0x87L,
  1364. DBPROP_ILockBytes = 0x88L,
  1365. DBPROP_ISequentialStream = 0x89L,
  1366. DBPROP_IStorage = 0x8aL,
  1367. DBPROP_IStream = 0x8bL,
  1368. DBPROP_IDENTIFIERCASE = 0x2eL,
  1369. DBPROP_IMMOBILEROWS = 0x2fL,
  1370. DBPROP_INDEX_AUTOUPDATE = 0x30L,
  1371. DBPROP_INDEX_CLUSTERED = 0x31L,
  1372. DBPROP_INDEX_FILLFACTOR = 0x32L,
  1373. DBPROP_INDEX_INITIALSIZE = 0x33L,
  1374. DBPROP_INDEX_NULLCOLLATION = 0x34L,
  1375. DBPROP_INDEX_NULLS = 0x35L,
  1376. DBPROP_INDEX_PRIMARYKEY = 0x36L,
  1377. DBPROP_INDEX_SORTBOOKMARKS = 0x37L,
  1378. DBPROP_INDEX_TEMPINDEX = 0xa3L,
  1379. DBPROP_INDEX_TYPE = 0x38L,
  1380. DBPROP_INDEX_UNIQUE = 0x39L,
  1381. DBPROP_INIT_DATASOURCE = 0x3bL,
  1382. DBPROP_INIT_HWND = 0x3cL,
  1383. DBPROP_INIT_IMPERSONATION_LEVEL = 0x3dL,
  1384. DBPROP_INIT_LCID = 0xbaL,
  1385. DBPROP_INIT_LOCATION = 0x3eL,
  1386. DBPROP_INIT_MODE = 0x3fL,
  1387. DBPROP_INIT_PROMPT = 0x40L,
  1388. DBPROP_INIT_PROTECTION_LEVEL = 0x41L,
  1389. DBPROP_INIT_PROVIDERSTRING = 0xa0L,
  1390. DBPROP_INIT_TIMEOUT = 0x42L,
  1391. DBPROP_LITERALBOOKMARKS = 0x43L,
  1392. DBPROP_LITERALIDENTITY = 0x44L,
  1393. DBPROP_MAXINDEXSIZE = 0x46L,
  1394. DBPROP_MAXOPENROWS = 0x47L,
  1395. DBPROP_MAXPENDINGROWS = 0x48L,
  1396. DBPROP_MAXROWS = 0x49L,
  1397. DBPROP_MAXROWSIZE = 0x4aL,
  1398. DBPROP_MAXROWSIZEINCLUDESBLOB = 0x4bL,
  1399. DBPROP_MAXTABLESINSELECT = 0x4cL,
  1400. DBPROP_MAYWRITECOLUMN = 0x4dL,
  1401. DBPROP_MEMORYUSAGE = 0x4eL,
  1402. DBPROP_MULTIPLEPARAMSETS = 0xbfL,
  1403. DBPROP_MULTIPLERESULTS = 0xc4L,
  1404. DBPROP_MULTIPLESTORAGEOBJECTS = 0x50L,
  1405. DBPROP_MULTITABLEUPDATE = 0x51L,
  1406. DBPROP_NOTIFICATIONGRANULARITY = 0xc6L,
  1407. DBPROP_NOTIFICATIONPHASES = 0x52L,
  1408. DBPROP_NOTIFYCOLUMNSET = 0xabL,
  1409. DBPROP_NOTIFYROWDELETE = 0xadL,
  1410. DBPROP_NOTIFYROWFIRSTCHANGE = 0xaeL,
  1411. DBPROP_NOTIFYROWINSERT = 0xafL,
  1412. DBPROP_NOTIFYROWRESYNCH = 0xb1L,
  1413. DBPROP_NOTIFYROWSETCHANGED = 0xd3L,
  1414. DBPROP_NOTIFYROWSETRELEASE = 0xb2L,
  1415. DBPROP_NOTIFYROWSETFETCHPOSITIONCHANGE = 0xb3L,
  1416. DBPROP_NOTIFYROWUNDOCHANGE = 0xb4L,
  1417. DBPROP_NOTIFYROWUNDODELETE = 0xb5L,
  1418. DBPROP_NOTIFYROWUNDOINSERT = 0xb6L,
  1419. DBPROP_NOTIFYROWUPDATE = 0xb7L,
  1420. DBPROP_NULLCOLLATION = 0x53L,
  1421. DBPROP_OLEOBJECTS = 0x54L,
  1422. DBPROP_ORDERBYCOLUMNSINSELECT = 0x55L,
  1423. DBPROP_ORDEREDBOOKMARKS = 0x56L,
  1424. DBPROP_OTHERINSERT = 0x57L,
  1425. DBPROP_OTHERUPDATEDELETE = 0x58L,
  1426. DBPROP_OUTPUTPARAMETERAVAILABILITY = 0xb8L,
  1427. DBPROP_OWNINSERT = 0x59L,
  1428. DBPROP_OWNUPDATEDELETE = 0x5aL,
  1429. DBPROP_PERSISTENTIDTYPE = 0xb9L,
  1430. DBPROP_PREPAREABORTBEHAVIOR = 0x5bL,
  1431. DBPROP_PREPARECOMMITBEHAVIOR = 0x5cL,
  1432. DBPROP_PROCEDURETERM = 0x5dL,
  1433. DBPROP_PROVIDERNAME = 0x60L,
  1434. DBPROP_PROVIDEROLEDBVER = 0x61L,
  1435. DBPROP_PROVIDERVER = 0x62L,
  1436. DBPROP_QUICKRESTART = 0x63L,
  1437. DBPROP_QUOTEDIDENTIFIERCASE = 0x64L,
  1438. DBPROP_REENTRANTEVENTS = 0x65L,
  1439. DBPROP_REMOVEDELETED = 0x66L,
  1440. DBPROP_REPORTMULTIPLECHANGES = 0x67L,
  1441. DBPROP_RETURNPENDINGINSERTS = 0xbdL,
  1442. DBPROP_ROWRESTRICT = 0x68L,
  1443. DBPROP_ROWSETCONVERSIONSONCOMMAND = 0xc0L,
  1444. DBPROP_ROWTHREADMODEL = 0x69L,
  1445. DBPROP_SCHEMATERM = 0x6aL,
  1446. DBPROP_SCHEMAUSAGE = 0x6bL,
  1447. DBPROP_SERVERCURSOR = 0x6cL,
  1448. DBPROP_SESS_AUTOCOMMITISOLEVELS = 0xbeL,
  1449. DBPROP_SQLSUPPORT = 0x6dL,
  1450. DBPROP_STRONGIDENTITY = 0x77L,
  1451. DBPROP_STRUCTUREDSTORAGE = 0x6fL,
  1452. DBPROP_SUBQUERIES = 0x70L,
  1453. DBPROP_SUPPORTEDTXNDDL = 0xa1L,
  1454. DBPROP_SUPPORTEDTXNISOLEVELS = 0x71L,
  1455. DBPROP_SUPPORTEDTXNISORETAIN = 0x72L,
  1456. DBPROP_TABLETERM = 0x73L,
  1457. DBPROP_TBL_TEMPTABLE = 0x8cL,
  1458. DBPROP_TRANSACTEDOBJECT = 0x74L,
  1459. DBPROP_UPDATABILITY = 0x75L,
  1460. DBPROP_USERNAME = 0x76L
  1461. } ;
  1462. //@@@+ V1.5
  1463. #if( OLEDBVER >= 0x0150 )
  1464. enum DBPROPENUM15
  1465. { DBPROP_FILTERCOMPAREOPS = 0xd1L,
  1466. DBPROP_FINDCOMPAREOPS = 0xd2L,
  1467. DBPROP_IChapteredRowset = 0xcaL,
  1468. DBPROP_IDBAsynchStatus = 0xcbL,
  1469. DBPROP_IRowsetFind = 0xccL,
  1470. DBPROP_IRowsetView = 0xd4L,
  1471. DBPROP_IViewChapter = 0xd5L,
  1472. DBPROP_IViewFilter = 0xd6L,
  1473. DBPROP_IViewRowset = 0xd7L,
  1474. DBPROP_IViewSort = 0xd8L,
  1475. DBPROP_INIT_ASYNCH = 0xc8L,
  1476. DBPROP_MAXOPENCHAPTERS = 0xc7L,
  1477. DBPROP_MAXORSINFILTER = 0xcdL,
  1478. DBPROP_MAXSORTCOLUMNS = 0xceL,
  1479. DBPROP_ROWSET_ASYNCH = 0xc9L,
  1480. DBPROP_SORTONINDEX = 0xcfL
  1481. } ;
  1482. #endif // OLEDBVER >= 0x0150
  1483. //@@@- V1.5
  1484. //@@@+ V2.0
  1485. #if( OLEDBVER >= 0x0200 )
  1486. #define DBPROP_PROVIDERFILENAME DBPROP_PROVIDERNAME
  1487. #define DBPROP_SERVER_NAME DBPROP_SERVERNAME
  1488. enum DBPROPENUM20
  1489. { DBPROP_IMultipleResults = 0xd9L,
  1490. DBPROP_DATASOURCE_TYPE = 0xfbL,
  1491. MDPROP_AXES = 0xfcL,
  1492. MDPROP_FLATTENING_SUPPORT = 0xfdL,
  1493. MDPROP_MDX_JOINCUBES = 0xfeL,
  1494. MDPROP_NAMED_LEVELS = 0xffL,
  1495. MDPROP_RANGEROWSET = 0x100L,
  1496. MDPROP_MDX_SLICER = 0xdaL,
  1497. MDPROP_MDX_CUBEQUALIFICATION = 0xdbL,
  1498. MDPROP_MDX_OUTERREFERENCE = 0xdcL,
  1499. MDPROP_MDX_QUERYBYPROPERTY = 0xddL,
  1500. MDPROP_MDX_CASESUPPORT = 0xdeL,
  1501. MDPROP_MDX_STRING_COMPOP = 0xe0L,
  1502. MDPROP_MDX_DESCFLAGS = 0xe1L,
  1503. MDPROP_MDX_SET_FUNCTIONS = 0xe2L,
  1504. MDPROP_MDX_MEMBER_FUNCTIONS = 0xe3L,
  1505. MDPROP_MDX_NUMERIC_FUNCTIONS = 0xe4L,
  1506. MDPROP_MDX_FORMULAS = 0xe5L,
  1507. MDPROP_AGGREGATECELL_UPDATE = 0xe6L,
  1508. MDPROP_MDX_AGGREGATECELL_UPDATE = MDPROP_AGGREGATECELL_UPDATE,
  1509. MDPROP_MDX_OBJQUALIFICATION = 0x105L,
  1510. MDPROP_MDX_NONMEASURE_EXPRESSIONS = 0x106L,
  1511. DBPROP_ACCESSORDER = 0xe7L,
  1512. DBPROP_BOOKMARKINFO = 0xe8L,
  1513. DBPROP_INIT_CATALOG = 0xe9L,
  1514. DBPROP_ROW_BULKOPS = 0xeaL,
  1515. DBPROP_PROVIDERFRIENDLYNAME = 0xebL,
  1516. DBPROP_LOCKMODE = 0xecL,
  1517. DBPROP_MULTIPLECONNECTIONS = 0xedL,
  1518. DBPROP_UNIQUEROWS = 0xeeL,
  1519. DBPROP_SERVERDATAONINSERT = 0xefL,
  1520. DBPROP_STORAGEFLAGS = 0xf0L,
  1521. DBPROP_CONNECTIONSTATUS = 0xf4L,
  1522. DBPROP_ALTERCOLUMN = 0xf5L,
  1523. DBPROP_COLUMNLCID = 0xf6L,
  1524. DBPROP_RESETDATASOURCE = 0xf7L,
  1525. DBPROP_INIT_OLEDBSERVICES = 0xf8L,
  1526. DBPROP_IRowsetRefresh = 0xf9L,
  1527. DBPROP_SERVERNAME = 0xfaL,
  1528. DBPROP_IParentRowset = 0x101L,
  1529. DBPROP_HIDDENCOLUMNS = 0x102L,
  1530. DBPROP_PROVIDERMEMORY = 0x103L,
  1531. DBPROP_CLIENTCURSOR = 0x104L
  1532. } ;
  1533. #endif // OLEDBVER >= 0x0200
  1534. //@@@- V2.0
  1535. //@@@+ V2.1
  1536. #if( OLEDBVER >= 0x0210 )
  1537. enum DBPROPENUM21
  1538. { DBPROP_TRUSTEE_USERNAME = 0xf1L,
  1539. DBPROP_TRUSTEE_AUTHENTICATION = 0xf2L,
  1540. DBPROP_TRUSTEE_NEWAUTHENTICATION = 0xf3L,
  1541. DBPROP_IRow = 0x107L,
  1542. DBPROP_IRowChange = 0x108L,
  1543. DBPROP_IRowSchemaChange = 0x109L,
  1544. DBPROP_IGetRow = 0x10aL,
  1545. DBPROP_IScopedOperations = 0x10bL,
  1546. DBPROP_IBindResource = 0x10cL,
  1547. DBPROP_ICreateRow = 0x10dL,
  1548. DBPROP_INIT_BINDFLAGS = 0x10eL,
  1549. DBPROP_INIT_LOCKOWNER = 0x10fL,
  1550. DBPROP_GENERATEURL = 0x111L,
  1551. DBPROP_IDBBinderProperties = 0x112L,
  1552. DBPROP_IColumnsInfo2 = 0x113L,
  1553. DBPROP_IRegisterProvider = 0x114L,
  1554. DBPROP_IGetSession = 0x115L,
  1555. DBPROP_IGetSourceRow = 0x116L,
  1556. DBPROP_IRowsetCurrentIndex = 0x117L,
  1557. DBPROP_OPENROWSETSUPPORT = 0x118L,
  1558. DBPROP_COL_ISLONG = 0x119L
  1559. } ;
  1560. #endif // OLEDBVER >= 0x0210
  1561. //@@@- V2.1
  1562. //@@@+ V2.5
  1563. #if( OLEDBVER >= 0x0250 )
  1564. enum DBPROPENUM25
  1565. { DBPROP_COL_SEED = 0x11aL,
  1566. DBPROP_COL_INCREMENT = 0x11bL,
  1567. DBPROP_INIT_GENERALTIMEOUT = 0x11cL,
  1568. DBPROP_COMSERVICES = 0x11dL
  1569. } ;
  1570. #endif // OLEDBVER >= 0x0250
  1571. //@@@- V2.5
  1572. //@@@+ V2.6
  1573. #if( OLEDBVER >= 0x0260 )
  1574. enum DBPROPENUM26
  1575. { DBPROP_OUTPUTSTREAM = 0x11eL,
  1576. DBPROP_OUTPUTENCODING = 0x11fL,
  1577. DBPROP_TABLESTATISTICS = 0x120L,
  1578. DBPROP_SKIPROWCOUNTRESULTS = 0x123L,
  1579. DBPROP_IRowsetBookmark = 0x124L,
  1580. MDPROP_VISUALMODE = 0x125L
  1581. } ;
  1582. #endif // OLEDBVER >= 0x0260
  1583. //@@@- V2.6
  1584. //@@@+ deprecated
  1585. #ifdef deprecated
  1586. enum DBPROPENUMDEPRECATED
  1587. { DBPROP_IRowsetExactScroll = 0x9aL,
  1588. DBPROP_MARSHALLABLE = 0xc5L,
  1589. DBPROP_FILTEROPS = 0xd0L
  1590. } ;
  1591. #endif // deprecated
  1592. //@@@- deprecated
  1593. #define DBPROPVAL_BMK_NUMERIC 0x00000001L
  1594. #define DBPROPVAL_BMK_KEY 0x00000002L
  1595. #define DBPROPVAL_CL_START 0x00000001L
  1596. #define DBPROPVAL_CL_END 0x00000002L
  1597. #define DBPROPVAL_CU_DML_STATEMENTS 0x00000001L
  1598. #define DBPROPVAL_CU_TABLE_DEFINITION 0x00000002L
  1599. #define DBPROPVAL_CU_INDEX_DEFINITION 0x00000004L
  1600. #define DBPROPVAL_CU_PRIVILEGE_DEFINITION 0x00000008L
  1601. #define DBPROPVAL_CD_NOTNULL 0x00000001L
  1602. #define DBPROPVAL_CB_NULL 0x00000001L
  1603. #define DBPROPVAL_CB_NON_NULL 0x00000002L
  1604. #define DBPROPVAL_FU_NOT_SUPPORTED 0x00000001L
  1605. #define DBPROPVAL_FU_COLUMN 0x00000002L
  1606. #define DBPROPVAL_FU_TABLE 0x00000004L
  1607. #define DBPROPVAL_FU_CATALOG 0x00000008L
  1608. #define DBPROPVAL_GB_NOT_SUPPORTED 0x00000001L
  1609. #define DBPROPVAL_GB_EQUALS_SELECT 0x00000002L
  1610. #define DBPROPVAL_GB_CONTAINS_SELECT 0x00000004L
  1611. #define DBPROPVAL_GB_NO_RELATION 0x00000008L
  1612. #define DBPROPVAL_HT_DIFFERENT_CATALOGS 0x00000001L
  1613. #define DBPROPVAL_HT_DIFFERENT_PROVIDERS 0x00000002L
  1614. #define DBPROPVAL_IC_UPPER 0x00000001L
  1615. #define DBPROPVAL_IC_LOWER 0x00000002L
  1616. #define DBPROPVAL_IC_SENSITIVE 0x00000004L
  1617. #define DBPROPVAL_IC_MIXED 0x00000008L
  1618. //@@@+ deprecated
  1619. #ifdef deprecated
  1620. #define DBPROPVAL_LM_NONE 0x00000001L
  1621. #define DBPROPVAL_LM_READ 0x00000002L
  1622. #define DBPROPVAL_LM_INTENT 0x00000004L
  1623. #define DBPROPVAL_LM_RITE 0x00000008L
  1624. #endif // deprecated
  1625. //@@@- deprecated
  1626. #define DBPROPVAL_NP_OKTODO 0x00000001L
  1627. #define DBPROPVAL_NP_ABOUTTODO 0x00000002L
  1628. #define DBPROPVAL_NP_SYNCHAFTER 0x00000004L
  1629. #define DBPROPVAL_NP_FAILEDTODO 0x00000008L
  1630. #define DBPROPVAL_NP_DIDEVENT 0x00000010L
  1631. #define DBPROPVAL_NC_END 0x00000001L
  1632. #define DBPROPVAL_NC_HIGH 0x00000002L
  1633. #define DBPROPVAL_NC_LOW 0x00000004L
  1634. #define DBPROPVAL_NC_START 0x00000008L
  1635. #define DBPROPVAL_OO_BLOB 0x00000001L
  1636. #define DBPROPVAL_OO_IPERSIST 0x00000002L
  1637. #define DBPROPVAL_CB_DELETE 0x00000001L
  1638. #define DBPROPVAL_CB_PRESERVE 0x00000002L
  1639. #define DBPROPVAL_SU_DML_STATEMENTS 0x00000001L
  1640. #define DBPROPVAL_SU_TABLE_DEFINITION 0x00000002L
  1641. #define DBPROPVAL_SU_INDEX_DEFINITION 0x00000004L
  1642. #define DBPROPVAL_SU_PRIVILEGE_DEFINITION 0x00000008L
  1643. #define DBPROPVAL_SQ_CORRELATEDSUBQUERIES 0x00000001L
  1644. #define DBPROPVAL_SQ_COMPARISON 0x00000002L
  1645. #define DBPROPVAL_SQ_EXISTS 0x00000004L
  1646. #define DBPROPVAL_SQ_IN 0x00000008L
  1647. #define DBPROPVAL_SQ_QUANTIFIED 0x00000010L
  1648. #define DBPROPVAL_SQ_TABLE 0x00000020L
  1649. #define DBPROPVAL_SS_ISEQUENTIALSTREAM 0x00000001L
  1650. #define DBPROPVAL_SS_ISTREAM 0x00000002L
  1651. #define DBPROPVAL_SS_ISTORAGE 0x00000004L
  1652. #define DBPROPVAL_SS_ILOCKBYTES 0x00000008L
  1653. #define DBPROPVAL_TI_CHAOS 0x00000010L
  1654. #define DBPROPVAL_TI_READUNCOMMITTED 0x00000100L
  1655. #define DBPROPVAL_TI_BROWSE 0x00000100L
  1656. #define DBPROPVAL_TI_CURSORSTABILITY 0x00001000L
  1657. #define DBPROPVAL_TI_READCOMMITTED 0x00001000L
  1658. #define DBPROPVAL_TI_REPEATABLEREAD 0x00010000L
  1659. #define DBPROPVAL_TI_SERIALIZABLE 0x00100000L
  1660. #define DBPROPVAL_TI_ISOLATED 0x00100000L
  1661. #define DBPROPVAL_TR_COMMIT_DC 0x00000001L
  1662. #define DBPROPVAL_TR_COMMIT 0x00000002L
  1663. #define DBPROPVAL_TR_COMMIT_NO 0x00000004L
  1664. #define DBPROPVAL_TR_ABORT_DC 0x00000008L
  1665. #define DBPROPVAL_TR_ABORT 0x00000010L
  1666. #define DBPROPVAL_TR_ABORT_NO 0x00000020L
  1667. #define DBPROPVAL_TR_DONTCARE 0x00000040L
  1668. #define DBPROPVAL_TR_BOTH 0x00000080L
  1669. #define DBPROPVAL_TR_NONE 0x00000100L
  1670. #define DBPROPVAL_TR_OPTIMISTIC 0x00000200L
  1671. #define DBPROPVAL_RT_FREETHREAD 0x00000001L
  1672. #define DBPROPVAL_RT_APTMTTHREAD 0x00000002L
  1673. #define DBPROPVAL_RT_SINGLETHREAD 0x00000004L
  1674. #define DBPROPVAL_UP_CHANGE 0x00000001L
  1675. #define DBPROPVAL_UP_DELETE 0x00000002L
  1676. #define DBPROPVAL_UP_INSERT 0x00000004L
  1677. #define DBPROPVAL_SQL_NONE 0x00000000L
  1678. #define DBPROPVAL_SQL_ODBC_MINIMUM 0x00000001L
  1679. #define DBPROPVAL_SQL_ODBC_CORE 0x00000002L
  1680. #define DBPROPVAL_SQL_ODBC_EXTENDED 0x00000004L
  1681. #define DBPROPVAL_SQL_ANSI89_IEF 0x00000008L
  1682. #define DBPROPVAL_SQL_ANSI92_ENTRY 0x00000010L
  1683. #define DBPROPVAL_SQL_FIPS_TRANSITIONAL 0x00000020L
  1684. #define DBPROPVAL_SQL_ANSI92_INTERMEDIATE 0x00000040L
  1685. #define DBPROPVAL_SQL_ANSI92_FULL 0x00000080L
  1686. #define DBPROPVAL_SQL_ESCAPECLAUSES 0x00000100L
  1687. #define DBPROPVAL_IT_BTREE 0x00000001L
  1688. #define DBPROPVAL_IT_HASH 0x00000002L
  1689. #define DBPROPVAL_IT_CONTENT 0x00000003L
  1690. #define DBPROPVAL_IT_OTHER 0x00000004L
  1691. #define DBPROPVAL_IN_DISALLOWNULL 0x00000001L
  1692. #define DBPROPVAL_IN_IGNORENULL 0x00000002L
  1693. #define DBPROPVAL_IN_IGNOREANYNULL 0x00000004L
  1694. #define DBPROPVAL_TC_NONE 0x00000000L
  1695. #define DBPROPVAL_TC_DML 0x00000001L
  1696. #define DBPROPVAL_TC_DDL_COMMIT 0x00000002L
  1697. #define DBPROPVAL_TC_DDL_IGNORE 0x00000004L
  1698. #define DBPROPVAL_TC_ALL 0x00000008L
  1699. #define DBPROPVAL_NP_OKTODO 0x00000001L
  1700. #define DBPROPVAL_NP_ABOUTTODO 0x00000002L
  1701. #define DBPROPVAL_NP_SYNCHAFTER 0x00000004L
  1702. #define DBPROPVAL_OA_NOTSUPPORTED 0x00000001L
  1703. #define DBPROPVAL_OA_ATEXECUTE 0x00000002L
  1704. #define DBPROPVAL_OA_ATROWRELEASE 0x00000004L
  1705. #define DBPROPVAL_MR_NOTSUPPORTED 0x00000000L
  1706. #define DBPROPVAL_MR_SUPPORTED 0x00000001L
  1707. #define DBPROPVAL_MR_CONCURRENT 0x00000002L
  1708. #define DBPROPVAL_PT_GUID_NAME 0x00000001L
  1709. #define DBPROPVAL_PT_GUID_PROPID 0x00000002L
  1710. #define DBPROPVAL_PT_NAME 0x00000004L
  1711. #define DBPROPVAL_PT_GUID 0x00000008L
  1712. #define DBPROPVAL_PT_PROPID 0x00000010L
  1713. #define DBPROPVAL_PT_PGUID_NAME 0x00000020L
  1714. #define DBPROPVAL_PT_PGUID_PROPID 0x00000040L
  1715. #define DBPROPVAL_NT_SINGLEROW 0x00000001L
  1716. #define DBPROPVAL_NT_MULTIPLEROWS 0x00000002L
  1717. //@@@+ V1.5
  1718. #if( OLEDBVER >= 0x0150 )
  1719. #define DBPROPVAL_ASYNCH_INITIALIZE 0x00000001L
  1720. #define DBPROPVAL_ASYNCH_SEQUENTIALPOPULATION 0x00000002L
  1721. #define DBPROPVAL_ASYNCH_RANDOMPOPULATION 0x00000004L
  1722. #define DBPROPVAL_OP_EQUAL 0x00000001L
  1723. #define DBPROPVAL_OP_RELATIVE 0x00000002L
  1724. #define DBPROPVAL_OP_STRING 0x00000004L
  1725. #define DBPROPVAL_CO_EQUALITY 0x00000001L
  1726. #define DBPROPVAL_CO_STRING 0x00000002L
  1727. #define DBPROPVAL_CO_CASESENSITIVE 0x00000004L
  1728. #define DBPROPVAL_CO_CASEINSENSITIVE 0x00000008L
  1729. #endif // OLEDBVER >= 0x0150
  1730. //@@@- V1.5
  1731. //@@@+ V2.0
  1732. #if( OLEDBVER >= 0x0200 )
  1733. #define DBPROPVAL_CO_CONTAINS 0x00000010L
  1734. #define DBPROPVAL_CO_BEGINSWITH 0x00000020L
  1735. #define DBPROPVAL_ASYNCH_BACKGROUNDPOPULATION 0x00000008L
  1736. #define DBPROPVAL_ASYNCH_PREPOPULATE 0x00000010L
  1737. #define DBPROPVAL_ASYNCH_POPULATEONDEMAND 0x00000020L
  1738. #define DBPROPVAL_LM_NONE 0x00000001L
  1739. #define DBPROPVAL_LM_SINGLEROW 0x00000002L
  1740. #define DBPROPVAL_SQL_SUBMINIMUM 0x00000200L
  1741. #define DBPROPVAL_DST_TDP 0x00000001L
  1742. #define DBPROPVAL_DST_MDP 0x00000002L
  1743. #define DBPROPVAL_DST_TDPANDMDP 0x00000003L
  1744. #define MDPROPVAL_AU_UNSUPPORTED 0x00000000L
  1745. #define MDPROPVAL_AU_UNCHANGED 0x00000001L
  1746. #define MDPROPVAL_AU_UNKNOWN 0x00000002L
  1747. #define MDPROPVAL_MF_WITH_CALCMEMBERS 0x00000001L
  1748. #define MDPROPVAL_MF_WITH_NAMEDSETS 0x00000002L
  1749. #define MDPROPVAL_MF_CREATE_CALCMEMBERS 0x00000004L
  1750. #define MDPROPVAL_MF_CREATE_NAMEDSETS 0x00000008L
  1751. #define MDPROPVAL_MF_SCOPE_SESSION 0x00000010L
  1752. #define MDPROPVAL_MF_SCOPE_GLOBAL 0x00000020L
  1753. #define MDPROPVAL_MMF_COUSIN 0x00000001L
  1754. #define MDPROPVAL_MMF_PARALLELPERIOD 0x00000002L
  1755. #define MDPROPVAL_MMF_OPENINGPERIOD 0x00000004L
  1756. #define MDPROPVAL_MMF_CLOSINGPERIOD 0x00000008L
  1757. #define MDPROPVAL_MNF_MEDIAN 0x00000001L
  1758. #define MDPROPVAL_MNF_VAR 0x00000002L
  1759. #define MDPROPVAL_MNF_STDDEV 0x00000004L
  1760. #define MDPROPVAL_MNF_RANK 0x00000008L
  1761. #define MDPROPVAL_MNF_AGGREGATE 0x00000010L
  1762. #define MDPROPVAL_MNF_COVARIANCE 0x00000020L
  1763. #define MDPROPVAL_MNF_CORRELATION 0x00000040L
  1764. #define MDPROPVAL_MNF_LINREGSLOPE 0x00000080L
  1765. #define MDPROPVAL_MNF_LINREGVARIANCE 0x00000100L
  1766. #define MDPROPVAL_MNF_LINREG2 0x00000200L
  1767. #define MDPROPVAL_MNF_LINREGPOINT 0x00000400L
  1768. #define MDPROPVAL_MNF_DRILLDOWNLEVEL 0x00000800L
  1769. #define MDPROPVAL_MNF_DRILLDOWNMEMBERTOP 0x00001000L
  1770. #define MDPROPVAL_MNF_DRILLDOWNMEMBERBOTTOM 0x00002000L
  1771. #define MDPROPVAL_MNF_DRILLDOWNLEVELTOP 0x00004000L
  1772. #define MDPROPVAL_MNF_DRILLDOWNLEVELBOTTOM 0x00008000L
  1773. #define MDPROPVAL_MNF_DRILLUPMEMBER 0x00010000L
  1774. #define MDPROPVAL_MNF_DRILLUPLEVEL 0x00020000L
  1775. #define MDPROPVAL_MMF_COUSIN 0x00000001L
  1776. #define MDPROPVAL_MMF_PARALLELPERIOD 0x00000002L
  1777. #define MDPROPVAL_MMF_OPENINGPERIOD 0x00000004L
  1778. #define MDPROPVAL_MMF_CLOSINGPERIOD 0x00000008L
  1779. #define MDPROPVAL_MSF_TOPPERCENT 0x00000001L
  1780. #define MDPROPVAL_MSF_BOTTOMPERCENT 0x00000002L
  1781. #define MDPROPVAL_MSF_TOPSUM 0x00000004L
  1782. #define MDPROPVAL_MSF_BOTTOMSUM 0x00000008L
  1783. #define MDPROPVAL_MSF_PERIODSTODATE 0x00000010L
  1784. #define MDPROPVAL_MSF_LASTPERIODS 0x00000020L
  1785. #define MDPROPVAL_MSF_YTD 0x00000040L
  1786. #define MDPROPVAL_MSF_QTD 0x00000080L
  1787. #define MDPROPVAL_MSF_MTD 0x00000100L
  1788. #define MDPROPVAL_MSF_WTD 0x00000200L
  1789. #define MDPROPVAL_MSF_DRILLDOWNMEMBBER 0x00000400L
  1790. #define MDPROPVAL_MSF_DRILLDOWNLEVEL 0x00000800L
  1791. #define MDPROPVAL_MSF_DRILLDOWNMEMBERTOP 0x00001000L
  1792. #define MDPROPVAL_MSF_DRILLDOWNMEMBERBOTTOM 0x00002000L
  1793. #define MDPROPVAL_MSF_DRILLDOWNLEVELTOP 0x00004000L
  1794. #define MDPROPVAL_MSF_DRILLDOWNLEVELBOTTOM 0x00008000L
  1795. #define MDPROPVAL_MSF_DRILLUPMEMBER 0x00010000L
  1796. #define MDPROPVAL_MSF_DRILLUPLEVEL 0x00020000L
  1797. #define MDPROPVAL_MSF_TOGGLEDRILLSTATE 0x00040000L
  1798. // values for MDPROP_MDX_DESCFLAGS
  1799. #define MDPROPVAL_MD_SELF 0x00000001L
  1800. #define MDPROPVAL_MD_BEFORE 0x00000002L
  1801. #define MDPROPVAL_MD_AFTER 0x00000004L
  1802. // values for MDPROP_MDX_STRING_COMPOP
  1803. #define MDPROPVAL_MSC_LESSTHAN 0x00000001L
  1804. #define MDPROPVAL_MSC_GREATERTHAN 0x00000002L
  1805. #define MDPROPVAL_MSC_LESSTHANEQUAL 0x00000004L
  1806. #define MDPROPVAL_MSC_GREATERTHANEQUAL 0x00000008L
  1807. #define MDPROPVAL_MC_SINGLECASE 0x00000001L
  1808. #define MDPROPVAL_MC_SEARCHEDCASE 0x00000002L
  1809. #define MDPROPVAL_MOQ_OUTERREFERENCE 0x00000001L
  1810. #define MDPROPVAL_MOQ_DATASOURCE_CUBE 0x00000001L
  1811. #define MDPROPVAL_MOQ_CATALOG_CUBE 0x00000002L
  1812. #define MDPROPVAL_MOQ_SCHEMA_CUBE 0x00000004L
  1813. #define MDPROPVAL_MOQ_CUBE_DIM 0x00000008L
  1814. #define MDPROPVAL_MOQ_DIM_HIER 0x00000010L
  1815. #define MDPROPVAL_MOQ_DIMHIER_LEVEL 0x00000020L
  1816. #define MDPROPVAL_MOQ_LEVEL_MEMBER 0x00000040L
  1817. #define MDPROPVAL_MOQ_MEMBER_MEMBER 0x00000080L
  1818. #define MDPROPVAL_MOQ_DIMHIER_MEMBER 0x00000100L
  1819. #define MDPROPVAL_FS_FULL_SUPPORT 0x00000001L
  1820. #define MDPROPVAL_FS_GENERATED_COLUMN 0x00000002L
  1821. #define MDPROPVAL_FS_GENERATED_DIMENSION 0x00000003L
  1822. #define MDPROPVAL_FS_NO_SUPPORT 0x00000004L
  1823. #define MDPROPVAL_NL_NAMEDLEVELS 0x00000001L
  1824. #define MDPROPVAL_NL_NUMBEREDLEVELS 0x00000002L
  1825. #define MDPROPVAL_MJC_SINGLECUBE 0x00000001L
  1826. #define MDPROPVAL_MJC_MULTICUBES 0x00000002L
  1827. #define MDPROPVAL_MJC_IMPLICITCUBE 0x00000004L
  1828. #define MDPROPVAL_RR_NORANGEROWSET 0x00000001L
  1829. #define MDPROPVAL_RR_READONLY 0x00000002L
  1830. #define MDPROPVAL_RR_UPDATE 0x00000004L
  1831. #define MDPROPVAL_MS_MULTIPLETUPLES 0x00000001L
  1832. #define MDPROPVAL_MS_SINGLETUPLE 0x00000002L
  1833. #define MDPROPVAL_NME_ALLDIMENSIONS 0x00000000L
  1834. #define MDPROPVAL_NME_MEASURESONLY 0x00000001L
  1835. #define DBPROPVAL_AO_SEQUENTIAL 0x00000000L
  1836. #define DBPROPVAL_AO_SEQUENTIALSTORAGEOBJECTS 0x00000001L
  1837. #define DBPROPVAL_AO_RANDOM 0x00000002L
  1838. #define DBPROPVAL_BD_ROWSET 0x00000000L
  1839. #define DBPROPVAL_BD_INTRANSACTION 0x00000001L
  1840. #define DBPROPVAL_BD_XTRANSACTION 0x00000002L
  1841. #define DBPROPVAL_BD_REORGANIZATION 0x00000003L
  1842. #define BMK_DURABILITY_ROWSET DBPROPVAL_BD_ROWSET
  1843. #define BMK_DURABILITY_INTRANSACTION DBPROPVAL_BD_INTRANSACTION
  1844. #define BMK_DURABILITY_XTRANSACTION DBPROPVAL_BD_XTRANSACTION
  1845. #define BMK_DURABILITY_REORGANIZATION DBPROPVAL_BD_REORGANIZATION
  1846. #define DBPROPVAL_BO_NOLOG 0x00000000L
  1847. #define DBPROPVAL_BO_NOINDEXUPDATE 0x00000001L
  1848. #define DBPROPVAL_BO_REFINTEGRITY 0x00000002L
  1849. #if !defined(_WINBASE_)
  1850. #define OF_READ 0x00000000
  1851. #define OF_WRITE 0x00000001
  1852. #define OF_READWRITE 0x00000002
  1853. #define OF_SHARE_COMPAT 0x00000000
  1854. #define OF_SHARE_EXCLUSIVE 0x00000010
  1855. #define OF_SHARE_DENY_WRITE 0x00000020
  1856. #define OF_SHARE_DENY_READ 0x00000030
  1857. #define OF_SHARE_DENY_NONE 0x00000040
  1858. #define OF_PARSE 0x00000100
  1859. #define OF_DELETE 0x00000200
  1860. #define OF_VERIFY 0x00000400
  1861. #define OF_CANCEL 0x00000800
  1862. #define OF_CREATE 0x00001000
  1863. #define OF_PROMPT 0x00002000
  1864. #define OF_EXIST 0x00004000
  1865. #define OF_REOPEN 0x00008000
  1866. #endif // !_WINBASE_
  1867. #define DBPROPVAL_STGM_READ OF_READ
  1868. #define DBPROPVAL_STGM_WRITE OF_WRITE
  1869. #define DBPROPVAL_STGM_READWRITE OF_READWRITE
  1870. #define DBPROPVAL_STGM_SHARE_DENY_NONE OF_SHARE_DENY_NONE
  1871. #define DBPROPVAL_STGM_SHARE_DENY_READ OF_SHARE_DENY_READ
  1872. #define DBPROPVAL_STGM_SHARE_DENY_WRITE OF_SHARE_DENY_WRITE
  1873. #define DBPROPVAL_STGM_SHARE_EXCLUSIVE OF_SHARE_EXCLUSIVE
  1874. #define DBPROPVAL_STGM_DIRECT 0x00010000
  1875. #define DBPROPVAL_STGM_TRANSACTED 0x00020000
  1876. #define DBPROPVAL_STGM_CREATE OF_CREATE
  1877. #define DBPROPVAL_STGM_CONVERT 0x00040000
  1878. #define DBPROPVAL_STGM_FAILIFTHERE 0x00080000
  1879. #define DBPROPVAL_STGM_PRIORITY 0x00100000
  1880. #define DBPROPVAL_STGM_DELETEONRELEASE 0x00200000
  1881. #define DBPROPVAL_GB_COLLATE 0x00000010L
  1882. #define DBPROPVAL_CS_UNINITIALIZED 0x00000000L
  1883. #define DBPROPVAL_CS_INITIALIZED 0x00000001L
  1884. #define DBPROPVAL_CS_COMMUNICATIONFAILURE 0x00000002L
  1885. #define DBPROPVAL_RD_RESETALL 0xffffffffL
  1886. #define DBPROPVAL_OS_RESOURCEPOOLING 0x00000001L
  1887. #define DBPROPVAL_OS_TXNENLISTMENT 0x00000002L
  1888. #define DBPROPVAL_OS_CLIENTCURSOR 0x00000004L
  1889. #define DBPROPVAL_OS_ENABLEALL 0xffffffffL
  1890. #define DBPROPVAL_BI_CROSSROWSET 0x00000001L
  1891. #endif // OLEDBVER >= 0x0200
  1892. //@@@- V2.0
  1893. //@@@+ V2.1
  1894. #if( OLEDBVER >= 0x0210 )
  1895. #define MDPROPVAL_NL_SCHEMAONLY 0x00000004L
  1896. #define DBPROPVAL_OS_DISABLEALL 0x00000000L
  1897. #define DBPROPVAL_OO_ROWOBJECT 0x00000004L
  1898. #define DBPROPVAL_OO_SCOPED 0x00000008L
  1899. #define DBPROPVAL_OO_DIRECTBIND 0x00000010L
  1900. #define DBPROPVAL_DST_DOCSOURCE 0x00000004L
  1901. #define DBPROPVAL_GU_NOTSUPPORTED 0x00000001L
  1902. #define DBPROPVAL_GU_SUFFIX 0x00000002L
  1903. #define DB_BINDFLAGS_DELAYFETCHCOLUMNS 0x00000001L
  1904. #define DB_BINDFLAGS_DELAYFETCHSTREAM 0x00000002L
  1905. #define DB_BINDFLAGS_RECURSIVE 0x00000004L
  1906. #define DB_BINDFLAGS_OUTPUT 0x00000008L
  1907. #define DB_BINDFLAGS_COLLECTION 0x00000010L
  1908. #define DB_BINDFLAGS_OPENIFEXISTS 0x00000020L
  1909. #define DB_BINDFLAGS_OVERWRITE 0x00000040L
  1910. #define DB_BINDFLAGS_ISSTRUCTUREDDOCUMENT 0x00000080L
  1911. #define DBPROPVAL_ORS_TABLE 0x00000000L
  1912. #define DBPROPVAL_ORS_INDEX 0x00000001L
  1913. #define DBPROPVAL_ORS_INTEGRATEDINDEX 0x00000002L
  1914. #define DBPROPVAL_TC_DDL_LOCK 0x00000010L
  1915. #define DBPROPVAL_ORS_STOREDPROC 0x00000004L
  1916. #define DBPROPVAL_IN_ALLOWNULL 0x00000000L
  1917. #endif // OLEDBVER >= 0x0210
  1918. //@@@- V2.1
  1919. //@@@+ V2.5
  1920. #if( OLEDBVER >= 0x0250 )
  1921. #define DBPROPVAL_OO_SINGLETON 0x00000020L
  1922. #define DBPROPVAL_OS_AGR_AFTERSESSION 0x00000008L
  1923. #define DBPROPVAL_CM_TRANSACTIONS 0x00000001L
  1924. #endif // OLEDBVER >= 0x0250
  1925. //@@@- V2.5
  1926. //@@@+ V2.6
  1927. #if( OLEDBVER >= 0x0260 )
  1928. #define DBPROPVAL_TS_CARDINALITY 0x00000001L
  1929. #define DBPROPVAL_TS_HISTOGRAM 0x00000002L
  1930. #define DBPROPVAL_ORS_HISTOGRAM 0x00000008L
  1931. #define MDPROPVAL_VISUAL_MODE_DEFAULT 0x00000000L
  1932. #define MDPROPVAL_VISUAL_MODE_VISUAL 0x00000001L
  1933. #define MDPROPVAL_VISUAL_MODE_VISUAL_OFF 0x00000002L
  1934. #endif // OLEDBVER >= 0x0260
  1935. //@@@- V2.6
  1936. #define DB_IMP_LEVEL_ANONYMOUS 0x00
  1937. #define DB_IMP_LEVEL_IDENTIFY 0x01
  1938. #define DB_IMP_LEVEL_IMPERSONATE 0x02
  1939. #define DB_IMP_LEVEL_DELEGATE 0x03
  1940. #define DBPROMPT_PROMPT 0x01
  1941. #define DBPROMPT_COMPLETE 0x02
  1942. #define DBPROMPT_COMPLETEREQUIRED 0x03
  1943. #define DBPROMPT_NOPROMPT 0x04
  1944. #define DB_PROT_LEVEL_NONE 0x00
  1945. #define DB_PROT_LEVEL_CONNECT 0x01
  1946. #define DB_PROT_LEVEL_CALL 0x02
  1947. #define DB_PROT_LEVEL_PKT 0x03
  1948. #define DB_PROT_LEVEL_PKT_INTEGRITY 0x04
  1949. #define DB_PROT_LEVEL_PKT_PRIVACY 0x05
  1950. #define DB_MODE_READ 0x01
  1951. #define DB_MODE_WRITE 0x02
  1952. #define DB_MODE_READWRITE 0x03
  1953. #define DB_MODE_SHARE_DENY_READ 0x04
  1954. #define DB_MODE_SHARE_DENY_WRITE 0x08
  1955. #define DB_MODE_SHARE_EXCLUSIVE 0x0c
  1956. #define DB_MODE_SHARE_DENY_NONE 0x10
  1957. #define DBCOMPUTEMODE_COMPUTED 0x01
  1958. #define DBCOMPUTEMODE_DYNAMIC 0x02
  1959. #define DBCOMPUTEMODE_NOTCOMPUTED 0x03
  1960. #define DBPROPVAL_DF_INITIALLY_DEFERRED 0x01
  1961. #define DBPROPVAL_DF_INITIALLY_IMMEDIATE 0x02
  1962. #define DBPROPVAL_DF_NOT_DEFERRABLE 0x03
  1963. typedef struct tagDBPARAMS
  1964. {
  1965. void *pData;
  1966. DB_UPARAMS cParamSets;
  1967. HACCESSOR hAccessor;
  1968. } DBPARAMS;
  1969. typedef DWORD DBPARAMFLAGS;
  1970. enum DBPARAMFLAGSENUM
  1971. { DBPARAMFLAGS_ISINPUT = 0x1,
  1972. DBPARAMFLAGS_ISOUTPUT = 0x2,
  1973. DBPARAMFLAGS_ISSIGNED = 0x10,
  1974. DBPARAMFLAGS_ISNULLABLE = 0x40,
  1975. DBPARAMFLAGS_ISLONG = 0x80
  1976. } ;
  1977. //@@@+ V2.0
  1978. #if( OLEDBVER >= 0x0200 )
  1979. enum DBPARAMFLAGSENUM20
  1980. { DBPARAMFLAGS_SCALEISNEGATIVE = 0x100
  1981. } ;
  1982. #endif // OLEDBVER >= 0x0200
  1983. //@@@- V2.0
  1984. typedef struct tagDBPARAMINFO
  1985. {
  1986. DBPARAMFLAGS dwFlags;
  1987. DBORDINAL iOrdinal;
  1988. LPOLESTR pwszName;
  1989. ITypeInfo *pTypeInfo;
  1990. DBLENGTH ulParamSize;
  1991. DBTYPE wType;
  1992. BYTE bPrecision;
  1993. BYTE bScale;
  1994. } DBPARAMINFO;
  1995. typedef DWORD DBPROPID;
  1996. typedef struct tagDBPROPIDSET
  1997. {
  1998. /* [size_is] */ DBPROPID *rgPropertyIDs;
  1999. ULONG cPropertyIDs;
  2000. GUID guidPropertySet;
  2001. } DBPROPIDSET;
  2002. typedef DWORD DBPROPFLAGS;
  2003. enum DBPROPFLAGSENUM
  2004. { DBPROPFLAGS_NOTSUPPORTED = 0,
  2005. DBPROPFLAGS_COLUMN = 0x1,
  2006. DBPROPFLAGS_DATASOURCE = 0x2,
  2007. DBPROPFLAGS_DATASOURCECREATE = 0x4,
  2008. DBPROPFLAGS_DATASOURCEINFO = 0x8,
  2009. DBPROPFLAGS_DBINIT = 0x10,
  2010. DBPROPFLAGS_INDEX = 0x20,
  2011. DBPROPFLAGS_ROWSET = 0x40,
  2012. DBPROPFLAGS_TABLE = 0x80,
  2013. DBPROPFLAGS_COLUMNOK = 0x100,
  2014. DBPROPFLAGS_READ = 0x200,
  2015. DBPROPFLAGS_WRITE = 0x400,
  2016. DBPROPFLAGS_REQUIRED = 0x800,
  2017. DBPROPFLAGS_SESSION = 0x1000
  2018. } ;
  2019. //@@@+ V2.1
  2020. #if( OLEDBVER >= 0x0210 )
  2021. enum DBPROPFLAGSENUM21
  2022. { DBPROPFLAGS_TRUSTEE = 0x2000
  2023. } ;
  2024. #endif // OLEDBVER >= 0x0210
  2025. //@@@- V2.1
  2026. //@@@+ V2.5
  2027. #if( OLEDBVER >= 0x0250 )
  2028. enum DBPROPFLAGSENUM25
  2029. { DBPROPFLAGS_VIEW = 0x4000
  2030. } ;
  2031. #endif // OLEDBVER >= 0x0250
  2032. //@@@- V2.5
  2033. //@@@+ V2.6
  2034. #if( OLEDBVER >= 0x0260 )
  2035. enum DBPROPFLAGSENUM26
  2036. { DBPROPFLAGS_STREAM = 0x8000
  2037. } ;
  2038. #endif // OLEDBVER >= 0x0260
  2039. //@@@- V2.6
  2040. typedef struct tagDBPROPINFO
  2041. {
  2042. LPOLESTR pwszDescription;
  2043. DBPROPID dwPropertyID;
  2044. DBPROPFLAGS dwFlags;
  2045. VARTYPE vtType;
  2046. VARIANT vValues;
  2047. } DBPROPINFO;
  2048. typedef DBPROPINFO *PDBPROPINFO;
  2049. typedef struct tagDBPROPINFOSET
  2050. {
  2051. /* [size_is] */ PDBPROPINFO rgPropertyInfos;
  2052. ULONG cPropertyInfos;
  2053. GUID guidPropertySet;
  2054. } DBPROPINFOSET;
  2055. typedef DWORD DBPROPOPTIONS;
  2056. // DBPROPOPTIONS_SETIFCHEAP is deprecated; use DBPROPOPTIONS_OPTIONAL instead.
  2057. enum DBPROPOPTIONSENUM
  2058. { DBPROPOPTIONS_REQUIRED = 0,
  2059. DBPROPOPTIONS_SETIFCHEAP = 0x1,
  2060. DBPROPOPTIONS_OPTIONAL = 0x1
  2061. } ;
  2062. typedef DWORD DBPROPSTATUS;
  2063. enum DBPROPSTATUSENUM
  2064. { DBPROPSTATUS_OK = 0,
  2065. DBPROPSTATUS_NOTSUPPORTED = 1,
  2066. DBPROPSTATUS_BADVALUE = 2,
  2067. DBPROPSTATUS_BADOPTION = 3,
  2068. DBPROPSTATUS_BADCOLUMN = 4,
  2069. DBPROPSTATUS_NOTALLSETTABLE = 5,
  2070. DBPROPSTATUS_NOTSETTABLE = 6,
  2071. DBPROPSTATUS_NOTSET = 7,
  2072. DBPROPSTATUS_CONFLICTING = 8
  2073. } ;
  2074. //@@@+ V2.1
  2075. #if( OLEDBVER >= 0x0210 )
  2076. enum DBPROPSTATUSENUM21
  2077. { DBPROPSTATUS_NOTAVAILABLE = 9
  2078. } ;
  2079. #endif // OLEDBVER >= 0x0210
  2080. //@@@- V2.1
  2081. typedef struct tagDBPROP
  2082. {
  2083. DBPROPID dwPropertyID;
  2084. DBPROPOPTIONS dwOptions;
  2085. DBPROPSTATUS dwStatus;
  2086. DBID colid;
  2087. VARIANT vValue;
  2088. } DBPROP;
  2089. typedef struct tagDBPROPSET
  2090. {
  2091. /* [size_is] */ DBPROP *rgProperties;
  2092. ULONG cProperties;
  2093. GUID guidPropertySet;
  2094. } DBPROPSET;
  2095. #define DBPARAMTYPE_INPUT 0x01
  2096. #define DBPARAMTYPE_INPUTOUTPUT 0x02
  2097. #define DBPARAMTYPE_OUTPUT 0x03
  2098. #define DBPARAMTYPE_RETURNVALUE 0x04
  2099. #define DB_PT_UNKNOWN 0x01
  2100. #define DB_PT_PROCEDURE 0x02
  2101. #define DB_PT_FUNCTION 0x03
  2102. #define DB_REMOTE 0x01
  2103. #define DB_LOCAL_SHARED 0x02
  2104. #define DB_LOCAL_EXCLUSIVE 0x03
  2105. #define DB_COLLATION_ASC 0x01
  2106. #define DB_COLLATION_DESC 0x02
  2107. #define DB_UNSEARCHABLE 0x01
  2108. #define DB_LIKE_ONLY 0x02
  2109. #define DB_ALL_EXCEPT_LIKE 0x03
  2110. #define DB_SEARCHABLE 0x04
  2111. //@@@+ V2.0
  2112. #if( OLEDBVER >= 0x0200 )
  2113. #define MDTREEOP_CHILDREN 0x01
  2114. #define MDTREEOP_SIBLINGS 0x02
  2115. #define MDTREEOP_PARENT 0x04
  2116. #define MDTREEOP_SELF 0x08
  2117. #define MDTREEOP_DESCENDANTS 0x10
  2118. #define MDTREEOP_ANCESTORS 0x20
  2119. #define MD_DIMTYPE_UNKNOWN 0x00
  2120. #define MD_DIMTYPE_TIME 0x01
  2121. #define MD_DIMTYPE_MEASURE 0x02
  2122. #define MD_DIMTYPE_OTHER 0x03
  2123. #define MDLEVEL_TYPE_UNKNOWN 0x0000
  2124. #define MDLEVEL_TYPE_REGULAR 0x0000
  2125. #define MDLEVEL_TYPE_ALL 0x0001
  2126. #define MDLEVEL_TYPE_CALCULATED 0x0002
  2127. #define MDLEVEL_TYPE_TIME 0x0004
  2128. #define MDLEVEL_TYPE_RESERVED1 0x0008
  2129. #define MDLEVEL_TYPE_TIME_YEARS 0x0014
  2130. #define MDLEVEL_TYPE_TIME_HALF_YEAR 0x0024
  2131. #define MDLEVEL_TYPE_TIME_QUARTERS 0x0044
  2132. #define MDLEVEL_TYPE_TIME_MONTHS 0x0084
  2133. #define MDLEVEL_TYPE_TIME_WEEKS 0x0104
  2134. #define MDLEVEL_TYPE_TIME_DAYS 0x0204
  2135. #define MDLEVEL_TYPE_TIME_HOURS 0x0304
  2136. #define MDLEVEL_TYPE_TIME_MINUTES 0x0404
  2137. #define MDLEVEL_TYPE_TIME_SECONDS 0x0804
  2138. #define MDLEVEL_TYPE_TIME_UNDEFINED 0x1004
  2139. #define MDMEASURE_AGGR_UNKNOWN 0x00
  2140. #define MDMEASURE_AGGR_SUM 0x01
  2141. #define MDMEASURE_AGGR_COUNT 0x02
  2142. #define MDMEASURE_AGGR_MIN 0x03
  2143. #define MDMEASURE_AGGR_MAX 0x04
  2144. #define MDMEASURE_AGGR_AVG 0x05
  2145. #define MDMEASURE_AGGR_VAR 0x06
  2146. #define MDMEASURE_AGGR_STD 0x07
  2147. #define MDMEASURE_AGGR_CALCULATED 0x7f
  2148. #define MDPROP_MEMBER 0x01
  2149. #define MDPROP_CELL 0x02
  2150. #define MDMEMBER_TYPE_UNKNOWN 0x00
  2151. #define MDMEMBER_TYPE_REGULAR 0x01
  2152. #define MDMEMBER_TYPE_ALL 0x02
  2153. #define MDMEMBER_TYPE_MEASURE 0x03
  2154. #define MDMEMBER_TYPE_FORMULA 0x04
  2155. #define MDMEMBER_TYPE_RESERVE1 0x05
  2156. #define MDMEMBER_TYPE_RESERVE2 0x06
  2157. #define MDMEMBER_TYPE_RESERVE3 0x07
  2158. #define MDMEMBER_TYPE_RESERVE4 0x08
  2159. #define MDDISPINFO_DRILLED_DOWN 0x00010000
  2160. #define MDDISPINFO_PARENT_SAME_AS_PREV 0x00020000
  2161. #endif // OLEDBVER >= 0x0200
  2162. //@@@- V2.0
  2163. typedef DWORD DBINDEX_COL_ORDER;
  2164. enum DBINDEX_COL_ORDERENUM
  2165. { DBINDEX_COL_ORDER_ASC = 0,
  2166. DBINDEX_COL_ORDER_DESC = DBINDEX_COL_ORDER_ASC + 1
  2167. } ;
  2168. typedef struct tagDBINDEXCOLUMNDESC
  2169. {
  2170. DBID *pColumnID;
  2171. DBINDEX_COL_ORDER eIndexColOrder;
  2172. } DBINDEXCOLUMNDESC;
  2173. typedef struct tagDBCOLUMNDESC
  2174. {
  2175. LPOLESTR pwszTypeName;
  2176. ITypeInfo *pTypeInfo;
  2177. /* [size_is] */ DBPROPSET *rgPropertySets;
  2178. CLSID *pclsid;
  2179. ULONG cPropertySets;
  2180. DBLENGTH ulColumnSize;
  2181. DBID dbcid;
  2182. DBTYPE wType;
  2183. BYTE bPrecision;
  2184. BYTE bScale;
  2185. } DBCOLUMNDESC;
  2186. //@@@+ V2.1
  2187. #if( OLEDBVER >= 0x0210 )
  2188. typedef struct tagDBCOLUMNACCESS
  2189. {
  2190. void *pData;
  2191. DBID columnid;
  2192. DBLENGTH cbDataLen;
  2193. DBSTATUS dwStatus;
  2194. DBLENGTH cbMaxLen;
  2195. DB_DWRESERVE dwReserved;
  2196. DBTYPE wType;
  2197. BYTE bPrecision;
  2198. BYTE bScale;
  2199. } DBCOLUMNACCESS;
  2200. #endif // OLEDBVER >= 0x0210
  2201. //@@@- V2.1
  2202. //@@@+ V2.0
  2203. #if( OLEDBVER >= 0x0200 )
  2204. typedef DWORD DBCOLUMNDESCFLAGS;
  2205. enum DBCOLUMNDESCFLAGSENUM
  2206. { DBCOLUMNDESCFLAGS_TYPENAME = 0x1,
  2207. DBCOLUMNDESCFLAGS_ITYPEINFO = 0x2,
  2208. DBCOLUMNDESCFLAGS_PROPERTIES = 0x4,
  2209. DBCOLUMNDESCFLAGS_CLSID = 0x8,
  2210. DBCOLUMNDESCFLAGS_COLSIZE = 0x10,
  2211. DBCOLUMNDESCFLAGS_DBCID = 0x20,
  2212. DBCOLUMNDESCFLAGS_WTYPE = 0x40,
  2213. DBCOLUMNDESCFLAGS_PRECISION = 0x80,
  2214. DBCOLUMNDESCFLAGS_SCALE = 0x100
  2215. } ;
  2216. #endif // OLEDBVER >= 0x0200
  2217. //@@@- V2.0
  2218. typedef DWORD DBEVENTPHASE;
  2219. enum DBEVENTPHASEENUM
  2220. { DBEVENTPHASE_OKTODO = 0,
  2221. DBEVENTPHASE_ABOUTTODO = DBEVENTPHASE_OKTODO + 1,
  2222. DBEVENTPHASE_SYNCHAFTER = DBEVENTPHASE_ABOUTTODO + 1,
  2223. DBEVENTPHASE_FAILEDTODO = DBEVENTPHASE_SYNCHAFTER + 1,
  2224. DBEVENTPHASE_DIDEVENT = DBEVENTPHASE_FAILEDTODO + 1
  2225. } ;
  2226. typedef DWORD DBREASON;
  2227. enum DBREASONENUM
  2228. { DBREASON_ROWSET_FETCHPOSITIONCHANGE = 0,
  2229. DBREASON_ROWSET_RELEASE = DBREASON_ROWSET_FETCHPOSITIONCHANGE + 1,
  2230. DBREASON_COLUMN_SET = DBREASON_ROWSET_RELEASE + 1,
  2231. DBREASON_COLUMN_RECALCULATED = DBREASON_COLUMN_SET + 1,
  2232. DBREASON_ROW_ACTIVATE = DBREASON_COLUMN_RECALCULATED + 1,
  2233. DBREASON_ROW_RELEASE = DBREASON_ROW_ACTIVATE + 1,
  2234. DBREASON_ROW_DELETE = DBREASON_ROW_RELEASE + 1,
  2235. DBREASON_ROW_FIRSTCHANGE = DBREASON_ROW_DELETE + 1,
  2236. DBREASON_ROW_INSERT = DBREASON_ROW_FIRSTCHANGE + 1,
  2237. DBREASON_ROW_RESYNCH = DBREASON_ROW_INSERT + 1,
  2238. DBREASON_ROW_UNDOCHANGE = DBREASON_ROW_RESYNCH + 1,
  2239. DBREASON_ROW_UNDOINSERT = DBREASON_ROW_UNDOCHANGE + 1,
  2240. DBREASON_ROW_UNDODELETE = DBREASON_ROW_UNDOINSERT + 1,
  2241. DBREASON_ROW_UPDATE = DBREASON_ROW_UNDODELETE + 1,
  2242. DBREASON_ROWSET_CHANGED = DBREASON_ROW_UPDATE + 1
  2243. } ;
  2244. //@@@+ V1.5
  2245. #if( OLEDBVER >= 0x0150 )
  2246. enum DBREASONENUM15
  2247. { DBREASON_ROWPOSITION_CHANGED = DBREASON_ROWSET_CHANGED + 1,
  2248. DBREASON_ROWPOSITION_CHAPTERCHANGED = DBREASON_ROWPOSITION_CHANGED + 1,
  2249. DBREASON_ROWPOSITION_CLEARED = DBREASON_ROWPOSITION_CHAPTERCHANGED + 1,
  2250. DBREASON_ROW_ASYNCHINSERT = DBREASON_ROWPOSITION_CLEARED + 1
  2251. } ;
  2252. #endif // OLEDBVER >= 0x0150
  2253. //@@@- V1.5
  2254. //@@@+ V1.5
  2255. #if( OLEDBVER >= 0x0150 )
  2256. typedef DWORD DBCOMPAREOP;
  2257. enum DBCOMPAREOPSENUM
  2258. { DBCOMPAREOPS_LT = 0,
  2259. DBCOMPAREOPS_LE = 1,
  2260. DBCOMPAREOPS_EQ = 2,
  2261. DBCOMPAREOPS_GE = 3,
  2262. DBCOMPAREOPS_GT = 4,
  2263. DBCOMPAREOPS_BEGINSWITH = 5,
  2264. DBCOMPAREOPS_CONTAINS = 6,
  2265. DBCOMPAREOPS_NE = 7,
  2266. DBCOMPAREOPS_IGNORE = 8,
  2267. DBCOMPAREOPS_CASESENSITIVE = 0x1000,
  2268. DBCOMPAREOPS_CASEINSENSITIVE = 0x2000
  2269. } ;
  2270. //@@@+ V2.0
  2271. #if( OLEDBVER >= 0x0200 )
  2272. enum DBCOMPAREOPSENUM20
  2273. { DBCOMPAREOPS_NOTBEGINSWITH = 9,
  2274. DBCOMPAREOPS_NOTCONTAINS = 10
  2275. } ;
  2276. #endif // OLEDBVER >= 0x0200
  2277. //@@@- V2.0
  2278. typedef DWORD DBASYNCHOP;
  2279. enum DBASYNCHOPENUM
  2280. { DBASYNCHOP_OPEN = 0
  2281. } ;
  2282. typedef DWORD DBASYNCHPHASE;
  2283. enum DBASYNCHPHASEENUM
  2284. { DBASYNCHPHASE_INITIALIZATION = 0,
  2285. DBASYNCHPHASE_POPULATION = DBASYNCHPHASE_INITIALIZATION + 1,
  2286. DBASYNCHPHASE_COMPLETE = DBASYNCHPHASE_POPULATION + 1,
  2287. DBASYNCHPHASE_CANCELED = DBASYNCHPHASE_COMPLETE + 1
  2288. } ;
  2289. #define DB_COUNTUNAVAILABLE -1
  2290. #endif // OLEDBVER >= 0x0150
  2291. //@@@- V1.5
  2292. typedef DWORD DBSORT;
  2293. enum DBSORTENUM
  2294. { DBSORT_ASCENDING = 0,
  2295. DBSORT_DESCENDING = DBSORT_ASCENDING + 1
  2296. } ;
  2297. #if( OLEDBVER >= 0x0200 )
  2298. typedef DWORD DBCOMMANDPERSISTFLAG;
  2299. enum DBCOMMANDPERSISTFLAGENUM
  2300. { DBCOMMANDPERSISTFLAG_NOSAVE = 0x1
  2301. } ;
  2302. #endif // OLEDBVER >= 0x0200
  2303. //@@@- V2.0
  2304. #if( OLEDBVER >= 0x0210 )
  2305. enum DBCOMMANDPERSISTFLAGENUM21
  2306. { DBCOMMANDPERSISTFLAG_DEFAULT = 0,
  2307. DBCOMMANDPERSISTFLAG_PERSISTVIEW = 0x2,
  2308. DBCOMMANDPERSISTFLAG_PERSISTPROCEDURE = 0x4
  2309. } ;
  2310. typedef DWORD DBCONSTRAINTTYPE;
  2311. enum DBCONSTRAINTTYPEENUM
  2312. { DBCONSTRAINTTYPE_UNIQUE = 0,
  2313. DBCONSTRAINTTYPE_FOREIGNKEY = 0x1,
  2314. DBCONSTRAINTTYPE_PRIMARYKEY = 0x2,
  2315. DBCONSTRAINTTYPE_CHECK = 0x3
  2316. } ;
  2317. typedef DWORD DBUPDELRULE;
  2318. enum DBUPDELRULEENUM
  2319. { DBUPDELRULE_NOACTION = 0,
  2320. DBUPDELRULE_CASCADE = 0x1,
  2321. DBUPDELRULE_SETNULL = 0x2,
  2322. DBUPDELRULE_SETDEFAULT = 0x3
  2323. } ;
  2324. typedef DWORD DBMATCHTYPE;
  2325. enum DBMATCHTYPEENUM
  2326. { DBMATCHTYPE_FULL = 0,
  2327. DBMATCHTYPE_NONE = 0x1,
  2328. DBMATCHTYPE_PARTIAL = 0x2
  2329. } ;
  2330. typedef DWORD DBDEFERRABILITY;
  2331. enum DBDEFERRABILITYENUM
  2332. { DBDEFERRABILITY_DEFERRED = 0x1,
  2333. DBDEFERRABILITY_DEFERRABLE = 0x2
  2334. } ;
  2335. typedef struct tagDBCONSTRAINTDESC
  2336. {
  2337. DBID *pConstraintID;
  2338. DBCONSTRAINTTYPE ConstraintType;
  2339. DBORDINAL cColumns;
  2340. /* [size_is] */ DBID *rgColumnList;
  2341. DBID *pReferencedTableID;
  2342. DBORDINAL cForeignKeyColumns;
  2343. /* [size_is] */ DBID *rgForeignKeyColumnList;
  2344. OLECHAR *pwszConstraintText;
  2345. DBUPDELRULE UpdateRule;
  2346. DBUPDELRULE DeleteRule;
  2347. DBMATCHTYPE MatchType;
  2348. DBDEFERRABILITY Deferrability;
  2349. DB_URESERVE cReserved;
  2350. /* [size_is] */ DBPROPSET *rgReserved;
  2351. } DBCONSTRAINTDESC;
  2352. #endif // OLEDBVER >= 0x0210
  2353. //@@@- V2.1
  2354. //@@@+ V2.0
  2355. #if( OLEDBVER >= 0x0200 )
  2356. #define MDFF_BOLD 0x01
  2357. #define MDFF_ITALIC 0x02
  2358. #define MDFF_UNDERLINE 0x04
  2359. #define MDFF_STRIKEOUT 0x08
  2360. typedef struct tagMDAXISINFO
  2361. {
  2362. DBLENGTH cbSize;
  2363. DBCOUNTITEM iAxis;
  2364. DBCOUNTITEM cDimensions;
  2365. DBCOUNTITEM cCoordinates;
  2366. DBORDINAL *rgcColumns;
  2367. LPOLESTR *rgpwszDimensionNames;
  2368. } MDAXISINFO;
  2369. #define PMDAXISINFO_GETAT(rgAxisInfo, iAxis) ((MDAXISINFO *)(((BYTE *)(rgAxisInfo)) +((iAxis) * (rgAxisInfo)[0].cbSize)))
  2370. #define MDAXISINFO_GETAT(rgAxisInfo, iAxis) (*PMDAXISINFO_GETAT((rgAxisInfo), (iAxis)))
  2371. #define MDAXIS_COLUMNS 0x00000000
  2372. #define MDAXIS_ROWS 0x00000001
  2373. #define MDAXIS_PAGES 0x00000002
  2374. #define MDAXIS_SECTIONS 0x00000003
  2375. #define MDAXIS_CHAPTERS 0x00000004
  2376. #define MDAXIS_SLICERS 0xffffffff
  2377. #endif // OLEDBVER >= 0x0200
  2378. //@@@- V2.0
  2379. typedef struct tagRMTPACK
  2380. {
  2381. ISequentialStream *pISeqStream;
  2382. ULONG cbData;
  2383. ULONG cBSTR;
  2384. /* [size_is] */ BSTR *rgBSTR;
  2385. ULONG cVARIANT;
  2386. /* [size_is] */ VARIANT *rgVARIANT;
  2387. ULONG cIDISPATCH;
  2388. /* [size_is] */ IDispatch **rgIDISPATCH;
  2389. ULONG cIUNKNOWN;
  2390. /* [size_is] */ IUnknown **rgIUNKNOWN;
  2391. ULONG cPROPVARIANT;
  2392. /* [size_is] */ PROPVARIANT *rgPROPVARIANT;
  2393. ULONG cArray;
  2394. /* [size_is] */ VARIANT *rgArray;
  2395. } RMTPACK;
  2396. extern RPC_IF_HANDLE DBStructureDefinitions_v0_0_c_ifspec;
  2397. extern RPC_IF_HANDLE DBStructureDefinitions_v0_0_s_ifspec;
  2398. #endif /* __DBStructureDefinitions_INTERFACE_DEFINED__ */
  2399. #ifndef __IAccessor_INTERFACE_DEFINED__
  2400. #define __IAccessor_INTERFACE_DEFINED__
  2401. /* interface IAccessor */
  2402. /* [unique][uuid][object] */
  2403. typedef DWORD DBACCESSORFLAGS;
  2404. enum DBACCESSORFLAGSENUM
  2405. { DBACCESSOR_INVALID = 0,
  2406. DBACCESSOR_PASSBYREF = 0x1,
  2407. DBACCESSOR_ROWDATA = 0x2,
  2408. DBACCESSOR_PARAMETERDATA = 0x4,
  2409. DBACCESSOR_OPTIMIZED = 0x8,
  2410. DBACCESSOR_INHERITED = 0x10
  2411. } ;
  2412. typedef DWORD DBBINDSTATUS;
  2413. enum DBBINDSTATUSENUM
  2414. { DBBINDSTATUS_OK = 0,
  2415. DBBINDSTATUS_BADORDINAL = 1,
  2416. DBBINDSTATUS_UNSUPPORTEDCONVERSION = 2,
  2417. DBBINDSTATUS_BADBINDINFO = 3,
  2418. DBBINDSTATUS_BADSTORAGEFLAGS = 4,
  2419. DBBINDSTATUS_NOINTERFACE = 5,
  2420. DBBINDSTATUS_MULTIPLESTORAGE = 6
  2421. } ;
  2422. EXTERN_C const IID IID_IAccessor;
  2423. #if defined(__cplusplus) && !defined(CINTERFACE)
  2424. MIDL_INTERFACE("0c733a8c-2a1c-11ce-ade5-00aa0044773d")
  2425. IAccessor : public IUnknown
  2426. {
  2427. public:
  2428. virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddRefAccessor(
  2429. /* [in] */ HACCESSOR hAccessor,
  2430. /* [unique][out][in] */ DBREFCOUNT *pcRefCount) = 0;
  2431. virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateAccessor(
  2432. /* [in] */ DBACCESSORFLAGS dwAccessorFlags,
  2433. /* [in] */ DBCOUNTITEM cBindings,
  2434. /* [size_is][in] */ const DBBINDING rgBindings[ ],
  2435. /* [in] */ DBLENGTH cbRowSize,
  2436. /* [out] */ HACCESSOR *phAccessor,
  2437. /* [size_is][out] */ DBBINDSTATUS rgStatus[ ]) = 0;
  2438. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetBindings(
  2439. /* [in] */ HACCESSOR hAccessor,
  2440. /* [out] */ DBACCESSORFLAGS *pdwAccessorFlags,
  2441. /* [out][in] */ DBCOUNTITEM *pcBindings,
  2442. /* [size_is][size_is][out] */ DBBINDING **prgBindings) = 0;
  2443. virtual /* [local] */ HRESULT STDMETHODCALLTYPE ReleaseAccessor(
  2444. /* [in] */ HACCESSOR hAccessor,
  2445. /* [unique][out][in] */ DBREFCOUNT *pcRefCount) = 0;
  2446. };
  2447. #else /* C style interface */
  2448. typedef struct IAccessorVtbl
  2449. {
  2450. BEGIN_INTERFACE
  2451. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2452. IAccessor * This,
  2453. /* [in] */ REFIID riid,
  2454. /* [iid_is][out] */ void **ppvObject);
  2455. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2456. IAccessor * This);
  2457. ULONG ( STDMETHODCALLTYPE *Release )(
  2458. IAccessor * This);
  2459. /* [local] */ HRESULT ( STDMETHODCALLTYPE *AddRefAccessor )(
  2460. IAccessor * This,
  2461. /* [in] */ HACCESSOR hAccessor,
  2462. /* [unique][out][in] */ DBREFCOUNT *pcRefCount);
  2463. /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateAccessor )(
  2464. IAccessor * This,
  2465. /* [in] */ DBACCESSORFLAGS dwAccessorFlags,
  2466. /* [in] */ DBCOUNTITEM cBindings,
  2467. /* [size_is][in] */ const DBBINDING rgBindings[ ],
  2468. /* [in] */ DBLENGTH cbRowSize,
  2469. /* [out] */ HACCESSOR *phAccessor,
  2470. /* [size_is][out] */ DBBINDSTATUS rgStatus[ ]);
  2471. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetBindings )(
  2472. IAccessor * This,
  2473. /* [in] */ HACCESSOR hAccessor,
  2474. /* [out] */ DBACCESSORFLAGS *pdwAccessorFlags,
  2475. /* [out][in] */ DBCOUNTITEM *pcBindings,
  2476. /* [size_is][size_is][out] */ DBBINDING **prgBindings);
  2477. /* [local] */ HRESULT ( STDMETHODCALLTYPE *ReleaseAccessor )(
  2478. IAccessor * This,
  2479. /* [in] */ HACCESSOR hAccessor,
  2480. /* [unique][out][in] */ DBREFCOUNT *pcRefCount);
  2481. END_INTERFACE
  2482. } IAccessorVtbl;
  2483. interface IAccessor
  2484. {
  2485. CONST_VTBL struct IAccessorVtbl *lpVtbl;
  2486. };
  2487. #ifdef COBJMACROS
  2488. #define IAccessor_QueryInterface(This,riid,ppvObject) \
  2489. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2490. #define IAccessor_AddRef(This) \
  2491. (This)->lpVtbl -> AddRef(This)
  2492. #define IAccessor_Release(This) \
  2493. (This)->lpVtbl -> Release(This)
  2494. #define IAccessor_AddRefAccessor(This,hAccessor,pcRefCount) \
  2495. (This)->lpVtbl -> AddRefAccessor(This,hAccessor,pcRefCount)
  2496. #define IAccessor_CreateAccessor(This,dwAccessorFlags,cBindings,rgBindings,cbRowSize,phAccessor,rgStatus) \
  2497. (This)->lpVtbl -> CreateAccessor(This,dwAccessorFlags,cBindings,rgBindings,cbRowSize,phAccessor,rgStatus)
  2498. #define IAccessor_GetBindings(This,hAccessor,pdwAccessorFlags,pcBindings,prgBindings) \
  2499. (This)->lpVtbl -> GetBindings(This,hAccessor,pdwAccessorFlags,pcBindings,prgBindings)
  2500. #define IAccessor_ReleaseAccessor(This,hAccessor,pcRefCount) \
  2501. (This)->lpVtbl -> ReleaseAccessor(This,hAccessor,pcRefCount)
  2502. #endif /* COBJMACROS */
  2503. #endif /* C style interface */
  2504. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_RemoteAddRefAccessor_Proxy(
  2505. IAccessor * This,
  2506. /* [in] */ HACCESSOR hAccessor,
  2507. /* [unique][out][in] */ DBREFCOUNT *pcRefCount,
  2508. /* [out] */ IErrorInfo **ppErrorInfoRem);
  2509. void __RPC_STUB IAccessor_RemoteAddRefAccessor_Stub(
  2510. IRpcStubBuffer *This,
  2511. IRpcChannelBuffer *_pRpcChannelBuffer,
  2512. PRPC_MESSAGE _pRpcMessage,
  2513. DWORD *_pdwStubPhase);
  2514. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_RemoteCreateAccessor_Proxy(
  2515. IAccessor * This,
  2516. /* [in] */ DBACCESSORFLAGS dwAccessorFlags,
  2517. /* [in] */ DBCOUNTITEM cBindings,
  2518. /* [size_is][unique][in] */ DBBINDING *rgBindings,
  2519. /* [in] */ DBLENGTH cbRowSize,
  2520. /* [out] */ HACCESSOR *phAccessor,
  2521. /* [size_is][unique][out][in] */ DBBINDSTATUS *rgStatus,
  2522. /* [out] */ IErrorInfo **ppErrorInfoRem);
  2523. void __RPC_STUB IAccessor_RemoteCreateAccessor_Stub(
  2524. IRpcStubBuffer *This,
  2525. IRpcChannelBuffer *_pRpcChannelBuffer,
  2526. PRPC_MESSAGE _pRpcMessage,
  2527. DWORD *_pdwStubPhase);
  2528. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_RemoteGetBindings_Proxy(
  2529. IAccessor * This,
  2530. /* [in] */ HACCESSOR hAccessor,
  2531. /* [out] */ DBACCESSORFLAGS *pdwAccessorFlags,
  2532. /* [out][in] */ DBCOUNTITEM *pcBindings,
  2533. /* [size_is][size_is][out] */ DBBINDING **prgBindings,
  2534. /* [out] */ IErrorInfo **ppErrorInfoRem);
  2535. void __RPC_STUB IAccessor_RemoteGetBindings_Stub(
  2536. IRpcStubBuffer *This,
  2537. IRpcChannelBuffer *_pRpcChannelBuffer,
  2538. PRPC_MESSAGE _pRpcMessage,
  2539. DWORD *_pdwStubPhase);
  2540. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_RemoteReleaseAccessor_Proxy(
  2541. IAccessor * This,
  2542. /* [in] */ HACCESSOR hAccessor,
  2543. /* [unique][out][in] */ DBREFCOUNT *pcRefCount,
  2544. /* [out] */ IErrorInfo **ppErrorInfoRem);
  2545. void __RPC_STUB IAccessor_RemoteReleaseAccessor_Stub(
  2546. IRpcStubBuffer *This,
  2547. IRpcChannelBuffer *_pRpcChannelBuffer,
  2548. PRPC_MESSAGE _pRpcMessage,
  2549. DWORD *_pdwStubPhase);
  2550. #endif /* __IAccessor_INTERFACE_DEFINED__ */
  2551. #ifndef __IRowset_INTERFACE_DEFINED__
  2552. #define __IRowset_INTERFACE_DEFINED__
  2553. /* interface IRowset */
  2554. /* [unique][uuid][object][local] */
  2555. typedef DWORD DBROWOPTIONS;
  2556. EXTERN_C const IID IID_IRowset;
  2557. #if defined(__cplusplus) && !defined(CINTERFACE)
  2558. MIDL_INTERFACE("0c733a7c-2a1c-11ce-ade5-00aa0044773d")
  2559. IRowset : public IUnknown
  2560. {
  2561. public:
  2562. virtual HRESULT STDMETHODCALLTYPE AddRefRows(
  2563. /* [in] */ DBCOUNTITEM cRows,
  2564. /* [size_is][in] */ const HROW rghRows[ ],
  2565. /* [size_is][out] */ DBREFCOUNT rgRefCounts[ ],
  2566. /* [size_is][out] */ DBROWSTATUS rgRowStatus[ ]) = 0;
  2567. virtual HRESULT STDMETHODCALLTYPE GetData(
  2568. /* [in] */ HROW hRow,
  2569. /* [in] */ HACCESSOR hAccessor,
  2570. /* [out] */ void *pData) = 0;
  2571. virtual HRESULT STDMETHODCALLTYPE GetNextRows(
  2572. /* [in] */ HCHAPTER hReserved,
  2573. /* [in] */ DBROWOFFSET lRowsOffset,
  2574. /* [in] */ DBROWCOUNT cRows,
  2575. /* [out] */ DBCOUNTITEM *pcRowsObtained,
  2576. /* [size_is][size_is][out] */ HROW **prghRows) = 0;
  2577. virtual HRESULT STDMETHODCALLTYPE ReleaseRows(
  2578. /* [in] */ DBCOUNTITEM cRows,
  2579. /* [size_is][in] */ const HROW rghRows[ ],
  2580. /* [size_is][in] */ DBROWOPTIONS rgRowOptions[ ],
  2581. /* [size_is][out] */ DBREFCOUNT rgRefCounts[ ],
  2582. /* [size_is][out] */ DBROWSTATUS rgRowStatus[ ]) = 0;
  2583. virtual HRESULT STDMETHODCALLTYPE RestartPosition(
  2584. /* [in] */ HCHAPTER hReserved) = 0;
  2585. };
  2586. #else /* C style interface */
  2587. typedef struct IRowsetVtbl
  2588. {
  2589. BEGIN_INTERFACE
  2590. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2591. IRowset * This,
  2592. /* [in] */ REFIID riid,
  2593. /* [iid_is][out] */ void **ppvObject);
  2594. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2595. IRowset * This);
  2596. ULONG ( STDMETHODCALLTYPE *Release )(
  2597. IRowset * This);
  2598. HRESULT ( STDMETHODCALLTYPE *AddRefRows )(
  2599. IRowset * This,
  2600. /* [in] */ DBCOUNTITEM cRows,
  2601. /* [size_is][in] */ const HROW rghRows[ ],
  2602. /* [size_is][out] */ DBREFCOUNT rgRefCounts[ ],
  2603. /* [size_is][out] */ DBROWSTATUS rgRowStatus[ ]);
  2604. HRESULT ( STDMETHODCALLTYPE *GetData )(
  2605. IRowset * This,
  2606. /* [in] */ HROW hRow,
  2607. /* [in] */ HACCESSOR hAccessor,
  2608. /* [out] */ void *pData);
  2609. HRESULT ( STDMETHODCALLTYPE *GetNextRows )(
  2610. IRowset * This,
  2611. /* [in] */ HCHAPTER hReserved,
  2612. /* [in] */ DBROWOFFSET lRowsOffset,
  2613. /* [in] */ DBROWCOUNT cRows,
  2614. /* [out] */ DBCOUNTITEM *pcRowsObtained,
  2615. /* [size_is][size_is][out] */ HROW **prghRows);
  2616. HRESULT ( STDMETHODCALLTYPE *ReleaseRows )(
  2617. IRowset * This,
  2618. /* [in] */ DBCOUNTITEM cRows,
  2619. /* [size_is][in] */ const HROW rghRows[ ],
  2620. /* [size_is][in] */ DBROWOPTIONS rgRowOptions[ ],
  2621. /* [size_is][out] */ DBREFCOUNT rgRefCounts[ ],
  2622. /* [size_is][out] */ DBROWSTATUS rgRowStatus[ ]);
  2623. HRESULT ( STDMETHODCALLTYPE *RestartPosition )(
  2624. IRowset * This,
  2625. /* [in] */ HCHAPTER hReserved);
  2626. END_INTERFACE
  2627. } IRowsetVtbl;
  2628. interface IRowset
  2629. {
  2630. CONST_VTBL struct IRowsetVtbl *lpVtbl;
  2631. };
  2632. #ifdef COBJMACROS
  2633. #define IRowset_QueryInterface(This,riid,ppvObject) \
  2634. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2635. #define IRowset_AddRef(This) \
  2636. (This)->lpVtbl -> AddRef(This)
  2637. #define IRowset_Release(This) \
  2638. (This)->lpVtbl -> Release(This)
  2639. #define IRowset_AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus) \
  2640. (This)->lpVtbl -> AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus)
  2641. #define IRowset_GetData(This,hRow,hAccessor,pData) \
  2642. (This)->lpVtbl -> GetData(This,hRow,hAccessor,pData)
  2643. #define IRowset_GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows) \
  2644. (This)->lpVtbl -> GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows)
  2645. #define IRowset_ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus) \
  2646. (This)->lpVtbl -> ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus)
  2647. #define IRowset_RestartPosition(This,hReserved) \
  2648. (This)->lpVtbl -> RestartPosition(This,hReserved)
  2649. #endif /* COBJMACROS */
  2650. #endif /* C style interface */
  2651. HRESULT STDMETHODCALLTYPE IRowset_AddRefRows_Proxy(
  2652. IRowset * This,
  2653. /* [in] */ DBCOUNTITEM cRows,
  2654. /* [size_is][in] */ const HROW rghRows[ ],
  2655. /* [size_is][out] */ DBREFCOUNT rgRefCounts[ ],
  2656. /* [size_is][out] */ DBROWSTATUS rgRowStatus[ ]);
  2657. void __RPC_STUB IRowset_AddRefRows_Stub(
  2658. IRpcStubBuffer *This,
  2659. IRpcChannelBuffer *_pRpcChannelBuffer,
  2660. PRPC_MESSAGE _pRpcMessage,
  2661. DWORD *_pdwStubPhase);
  2662. HRESULT STDMETHODCALLTYPE IRowset_GetData_Proxy(
  2663. IRowset * This,
  2664. /* [in] */ HROW hRow,
  2665. /* [in] */ HACCESSOR hAccessor,
  2666. /* [out] */ void *pData);
  2667. void __RPC_STUB IRowset_GetData_Stub(
  2668. IRpcStubBuffer *This,
  2669. IRpcChannelBuffer *_pRpcChannelBuffer,
  2670. PRPC_MESSAGE _pRpcMessage,
  2671. DWORD *_pdwStubPhase);
  2672. HRESULT STDMETHODCALLTYPE IRowset_GetNextRows_Proxy(
  2673. IRowset * This,
  2674. /* [in] */ HCHAPTER hReserved,
  2675. /* [in] */ DBROWOFFSET lRowsOffset,
  2676. /* [in] */ DBROWCOUNT cRows,
  2677. /* [out] */ DBCOUNTITEM *pcRowsObtained,
  2678. /* [size_is][size_is][out] */ HROW **prghRows);
  2679. void __RPC_STUB IRowset_GetNextRows_Stub(
  2680. IRpcStubBuffer *This,
  2681. IRpcChannelBuffer *_pRpcChannelBuffer,
  2682. PRPC_MESSAGE _pRpcMessage,
  2683. DWORD *_pdwStubPhase);
  2684. HRESULT STDMETHODCALLTYPE IRowset_ReleaseRows_Proxy(
  2685. IRowset * This,
  2686. /* [in] */ DBCOUNTITEM cRows,
  2687. /* [size_is][in] */ const HROW rghRows[ ],
  2688. /* [size_is][in] */ DBROWOPTIONS rgRowOptions[ ],
  2689. /* [size_is][out] */ DBREFCOUNT rgRefCounts[ ],
  2690. /* [size_is][out] */ DBROWSTATUS rgRowStatus[ ]);
  2691. void __RPC_STUB IRowset_ReleaseRows_Stub(
  2692. IRpcStubBuffer *This,
  2693. IRpcChannelBuffer *_pRpcChannelBuffer,
  2694. PRPC_MESSAGE _pRpcMessage,
  2695. DWORD *_pdwStubPhase);
  2696. HRESULT STDMETHODCALLTYPE IRowset_RestartPosition_Proxy(
  2697. IRowset * This,
  2698. /* [in] */ HCHAPTER hReserved);
  2699. void __RPC_STUB IRowset_RestartPosition_Stub(
  2700. IRpcStubBuffer *This,
  2701. IRpcChannelBuffer *_pRpcChannelBuffer,
  2702. PRPC_MESSAGE _pRpcMessage,
  2703. DWORD *_pdwStubPhase);
  2704. #endif /* __IRowset_INTERFACE_DEFINED__ */
  2705. #ifndef __IRowsetInfo_INTERFACE_DEFINED__
  2706. #define __IRowsetInfo_INTERFACE_DEFINED__
  2707. /* interface IRowsetInfo */
  2708. /* [unique][uuid][object] */
  2709. EXTERN_C const IID IID_IRowsetInfo;
  2710. #if defined(__cplusplus) && !defined(CINTERFACE)
  2711. MIDL_INTERFACE("0c733a55-2a1c-11ce-ade5-00aa0044773d")
  2712. IRowsetInfo : public IUnknown
  2713. {
  2714. public:
  2715. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetProperties(
  2716. /* [in] */ const ULONG cPropertyIDSets,
  2717. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  2718. /* [out][in] */ ULONG *pcPropertySets,
  2719. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets) = 0;
  2720. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetReferencedRowset(
  2721. /* [in] */ DBORDINAL iOrdinal,
  2722. /* [in] */ REFIID riid,
  2723. /* [iid_is][out] */ IUnknown **ppReferencedRowset) = 0;
  2724. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSpecification(
  2725. /* [in] */ REFIID riid,
  2726. /* [iid_is][out] */ IUnknown **ppSpecification) = 0;
  2727. };
  2728. #else /* C style interface */
  2729. typedef struct IRowsetInfoVtbl
  2730. {
  2731. BEGIN_INTERFACE
  2732. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2733. IRowsetInfo * This,
  2734. /* [in] */ REFIID riid,
  2735. /* [iid_is][out] */ void **ppvObject);
  2736. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2737. IRowsetInfo * This);
  2738. ULONG ( STDMETHODCALLTYPE *Release )(
  2739. IRowsetInfo * This);
  2740. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
  2741. IRowsetInfo * This,
  2742. /* [in] */ const ULONG cPropertyIDSets,
  2743. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  2744. /* [out][in] */ ULONG *pcPropertySets,
  2745. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets);
  2746. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetReferencedRowset )(
  2747. IRowsetInfo * This,
  2748. /* [in] */ DBORDINAL iOrdinal,
  2749. /* [in] */ REFIID riid,
  2750. /* [iid_is][out] */ IUnknown **ppReferencedRowset);
  2751. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetSpecification )(
  2752. IRowsetInfo * This,
  2753. /* [in] */ REFIID riid,
  2754. /* [iid_is][out] */ IUnknown **ppSpecification);
  2755. END_INTERFACE
  2756. } IRowsetInfoVtbl;
  2757. interface IRowsetInfo
  2758. {
  2759. CONST_VTBL struct IRowsetInfoVtbl *lpVtbl;
  2760. };
  2761. #ifdef COBJMACROS
  2762. #define IRowsetInfo_QueryInterface(This,riid,ppvObject) \
  2763. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2764. #define IRowsetInfo_AddRef(This) \
  2765. (This)->lpVtbl -> AddRef(This)
  2766. #define IRowsetInfo_Release(This) \
  2767. (This)->lpVtbl -> Release(This)
  2768. #define IRowsetInfo_GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets) \
  2769. (This)->lpVtbl -> GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  2770. #define IRowsetInfo_GetReferencedRowset(This,iOrdinal,riid,ppReferencedRowset) \
  2771. (This)->lpVtbl -> GetReferencedRowset(This,iOrdinal,riid,ppReferencedRowset)
  2772. #define IRowsetInfo_GetSpecification(This,riid,ppSpecification) \
  2773. (This)->lpVtbl -> GetSpecification(This,riid,ppSpecification)
  2774. #endif /* COBJMACROS */
  2775. #endif /* C style interface */
  2776. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_RemoteGetProperties_Proxy(
  2777. IRowsetInfo * This,
  2778. /* [in] */ ULONG cPropertyIDSets,
  2779. /* [size_is][unique][in] */ const DBPROPIDSET *rgPropertyIDSets,
  2780. /* [out][in] */ ULONG *pcPropertySets,
  2781. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets,
  2782. /* [out] */ IErrorInfo **ppErrorInfoRem);
  2783. void __RPC_STUB IRowsetInfo_RemoteGetProperties_Stub(
  2784. IRpcStubBuffer *This,
  2785. IRpcChannelBuffer *_pRpcChannelBuffer,
  2786. PRPC_MESSAGE _pRpcMessage,
  2787. DWORD *_pdwStubPhase);
  2788. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_RemoteGetReferencedRowset_Proxy(
  2789. IRowsetInfo * This,
  2790. /* [in] */ DBORDINAL iOrdinal,
  2791. /* [in] */ REFIID riid,
  2792. /* [iid_is][out] */ IUnknown **ppReferencedRowset,
  2793. /* [out] */ IErrorInfo **ppErrorInfoRem);
  2794. void __RPC_STUB IRowsetInfo_RemoteGetReferencedRowset_Stub(
  2795. IRpcStubBuffer *This,
  2796. IRpcChannelBuffer *_pRpcChannelBuffer,
  2797. PRPC_MESSAGE _pRpcMessage,
  2798. DWORD *_pdwStubPhase);
  2799. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_RemoteGetSpecification_Proxy(
  2800. IRowsetInfo * This,
  2801. /* [in] */ REFIID riid,
  2802. /* [iid_is][out] */ IUnknown **ppSpecification,
  2803. /* [out] */ IErrorInfo **ppErrorInfoRem);
  2804. void __RPC_STUB IRowsetInfo_RemoteGetSpecification_Stub(
  2805. IRpcStubBuffer *This,
  2806. IRpcChannelBuffer *_pRpcChannelBuffer,
  2807. PRPC_MESSAGE _pRpcMessage,
  2808. DWORD *_pdwStubPhase);
  2809. #endif /* __IRowsetInfo_INTERFACE_DEFINED__ */
  2810. #ifndef __IRowsetLocate_INTERFACE_DEFINED__
  2811. #define __IRowsetLocate_INTERFACE_DEFINED__
  2812. /* interface IRowsetLocate */
  2813. /* [unique][uuid][object][local] */
  2814. typedef DWORD DBCOMPARE;
  2815. enum DBCOMPAREENUM
  2816. { DBCOMPARE_LT = 0,
  2817. DBCOMPARE_EQ = DBCOMPARE_LT + 1,
  2818. DBCOMPARE_GT = DBCOMPARE_EQ + 1,
  2819. DBCOMPARE_NE = DBCOMPARE_GT + 1,
  2820. DBCOMPARE_NOTCOMPARABLE = DBCOMPARE_NE + 1
  2821. } ;
  2822. EXTERN_C const IID IID_IRowsetLocate;
  2823. #if defined(__cplusplus) && !defined(CINTERFACE)
  2824. MIDL_INTERFACE("0c733a7d-2a1c-11ce-ade5-00aa0044773d")
  2825. IRowsetLocate : public IRowset
  2826. {
  2827. public:
  2828. virtual HRESULT STDMETHODCALLTYPE Compare(
  2829. /* [in] */ HCHAPTER hReserved,
  2830. /* [in] */ DBBKMARK cbBookmark1,
  2831. /* [size_is][in] */ const BYTE *pBookmark1,
  2832. /* [in] */ DBBKMARK cbBookmark2,
  2833. /* [size_is][in] */ const BYTE *pBookmark2,
  2834. /* [out] */ DBCOMPARE *pComparison) = 0;
  2835. virtual HRESULT STDMETHODCALLTYPE GetRowsAt(
  2836. /* [in] */ HWATCHREGION hReserved1,
  2837. /* [in] */ HCHAPTER hReserved2,
  2838. /* [in] */ DBBKMARK cbBookmark,
  2839. /* [size_is][in] */ const BYTE *pBookmark,
  2840. /* [in] */ DBROWOFFSET lRowsOffset,
  2841. /* [in] */ DBROWCOUNT cRows,
  2842. /* [out] */ DBCOUNTITEM *pcRowsObtained,
  2843. /* [size_is][size_is][out] */ HROW **prghRows) = 0;
  2844. virtual HRESULT STDMETHODCALLTYPE GetRowsByBookmark(
  2845. /* [in] */ HCHAPTER hReserved,
  2846. /* [in] */ DBCOUNTITEM cRows,
  2847. /* [size_is][in] */ const DBBKMARK rgcbBookmarks[ ],
  2848. /* [size_is][in] */ const BYTE *rgpBookmarks[ ],
  2849. /* [size_is][out] */ HROW rghRows[ ],
  2850. /* [size_is][out] */ DBROWSTATUS rgRowStatus[ ]) = 0;
  2851. virtual HRESULT STDMETHODCALLTYPE Hash(
  2852. /* [in] */ HCHAPTER hReserved,
  2853. /* [in] */ DBBKMARK cBookmarks,
  2854. /* [size_is][in] */ const DBBKMARK rgcbBookmarks[ ],
  2855. /* [size_is][in] */ const BYTE *rgpBookmarks[ ],
  2856. /* [size_is][out] */ DBHASHVALUE rgHashedValues[ ],
  2857. /* [size_is][out] */ DBROWSTATUS rgBookmarkStatus[ ]) = 0;
  2858. };
  2859. #else /* C style interface */
  2860. typedef struct IRowsetLocateVtbl
  2861. {
  2862. BEGIN_INTERFACE
  2863. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2864. IRowsetLocate * This,
  2865. /* [in] */ REFIID riid,
  2866. /* [iid_is][out] */ void **ppvObject);
  2867. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2868. IRowsetLocate * This);
  2869. ULONG ( STDMETHODCALLTYPE *Release )(
  2870. IRowsetLocate * This);
  2871. HRESULT ( STDMETHODCALLTYPE *AddRefRows )(
  2872. IRowsetLocate * This,
  2873. /* [in] */ DBCOUNTITEM cRows,
  2874. /* [size_is][in] */ const HROW rghRows[ ],
  2875. /* [size_is][out] */ DBREFCOUNT rgRefCounts[ ],
  2876. /* [size_is][out] */ DBROWSTATUS rgRowStatus[ ]);
  2877. HRESULT ( STDMETHODCALLTYPE *GetData )(
  2878. IRowsetLocate * This,
  2879. /* [in] */ HROW hRow,
  2880. /* [in] */ HACCESSOR hAccessor,
  2881. /* [out] */ void *pData);
  2882. HRESULT ( STDMETHODCALLTYPE *GetNextRows )(
  2883. IRowsetLocate * This,
  2884. /* [in] */ HCHAPTER hReserved,
  2885. /* [in] */ DBROWOFFSET lRowsOffset,
  2886. /* [in] */ DBROWCOUNT cRows,
  2887. /* [out] */ DBCOUNTITEM *pcRowsObtained,
  2888. /* [size_is][size_is][out] */ HROW **prghRows);
  2889. HRESULT ( STDMETHODCALLTYPE *ReleaseRows )(
  2890. IRowsetLocate * This,
  2891. /* [in] */ DBCOUNTITEM cRows,
  2892. /* [size_is][in] */ const HROW rghRows[ ],
  2893. /* [size_is][in] */ DBROWOPTIONS rgRowOptions[ ],
  2894. /* [size_is][out] */ DBREFCOUNT rgRefCounts[ ],
  2895. /* [size_is][out] */ DBROWSTATUS rgRowStatus[ ]);
  2896. HRESULT ( STDMETHODCALLTYPE *RestartPosition )(
  2897. IRowsetLocate * This,
  2898. /* [in] */ HCHAPTER hReserved);
  2899. HRESULT ( STDMETHODCALLTYPE *Compare )(
  2900. IRowsetLocate * This,
  2901. /* [in] */ HCHAPTER hReserved,
  2902. /* [in] */ DBBKMARK cbBookmark1,
  2903. /* [size_is][in] */ const BYTE *pBookmark1,
  2904. /* [in] */ DBBKMARK cbBookmark2,
  2905. /* [size_is][in] */ const BYTE *pBookmark2,
  2906. /* [out] */ DBCOMPARE *pComparison);
  2907. HRESULT ( STDMETHODCALLTYPE *GetRowsAt )(
  2908. IRowsetLocate * This,
  2909. /* [in] */ HWATCHREGION hReserved1,
  2910. /* [in] */ HCHAPTER hReserved2,
  2911. /* [in] */ DBBKMARK cbBookmark,
  2912. /* [size_is][in] */ const BYTE *pBookmark,
  2913. /* [in] */ DBROWOFFSET lRowsOffset,
  2914. /* [in] */ DBROWCOUNT cRows,
  2915. /* [out] */ DBCOUNTITEM *pcRowsObtained,
  2916. /* [size_is][size_is][out] */ HROW **prghRows);
  2917. HRESULT ( STDMETHODCALLTYPE *GetRowsByBookmark )(
  2918. IRowsetLocate * This,
  2919. /* [in] */ HCHAPTER hReserved,
  2920. /* [in] */ DBCOUNTITEM cRows,
  2921. /* [size_is][in] */ const DBBKMARK rgcbBookmarks[ ],
  2922. /* [size_is][in] */ const BYTE *rgpBookmarks[ ],
  2923. /* [size_is][out] */ HROW rghRows[ ],
  2924. /* [size_is][out] */ DBROWSTATUS rgRowStatus[ ]);
  2925. HRESULT ( STDMETHODCALLTYPE *Hash )(
  2926. IRowsetLocate * This,
  2927. /* [in] */ HCHAPTER hReserved,
  2928. /* [in] */ DBBKMARK cBookmarks,
  2929. /* [size_is][in] */ const DBBKMARK rgcbBookmarks[ ],
  2930. /* [size_is][in] */ const BYTE *rgpBookmarks[ ],
  2931. /* [size_is][out] */ DBHASHVALUE rgHashedValues[ ],
  2932. /* [size_is][out] */ DBROWSTATUS rgBookmarkStatus[ ]);
  2933. END_INTERFACE
  2934. } IRowsetLocateVtbl;
  2935. interface IRowsetLocate
  2936. {
  2937. CONST_VTBL struct IRowsetLocateVtbl *lpVtbl;
  2938. };
  2939. #ifdef COBJMACROS
  2940. #define IRowsetLocate_QueryInterface(This,riid,ppvObject) \
  2941. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2942. #define IRowsetLocate_AddRef(This) \
  2943. (This)->lpVtbl -> AddRef(This)
  2944. #define IRowsetLocate_Release(This) \
  2945. (This)->lpVtbl -> Release(This)
  2946. #define IRowsetLocate_AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus) \
  2947. (This)->lpVtbl -> AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus)
  2948. #define IRowsetLocate_GetData(This,hRow,hAccessor,pData) \
  2949. (This)->lpVtbl -> GetData(This,hRow,hAccessor,pData)
  2950. #define IRowsetLocate_GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows) \
  2951. (This)->lpVtbl -> GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows)
  2952. #define IRowsetLocate_ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus) \
  2953. (This)->lpVtbl -> ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus)
  2954. #define IRowsetLocate_RestartPosition(This,hReserved) \
  2955. (This)->lpVtbl -> RestartPosition(This,hReserved)
  2956. #define IRowsetLocate_Compare(This,hReserved,cbBookmark1,pBookmark1,cbBookmark2,pBookmark2,pComparison) \
  2957. (This)->lpVtbl -> Compare(This,hReserved,cbBookmark1,pBookmark1,cbBookmark2,pBookmark2,pComparison)
  2958. #define IRowsetLocate_GetRowsAt(This,hReserved1,hReserved2,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows) \
  2959. (This)->lpVtbl -> GetRowsAt(This,hReserved1,hReserved2,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows)
  2960. #define IRowsetLocate_GetRowsByBookmark(This,hReserved,cRows,rgcbBookmarks,rgpBookmarks,rghRows,rgRowStatus) \
  2961. (This)->lpVtbl -> GetRowsByBookmark(This,hReserved,cRows,rgcbBookmarks,rgpBookmarks,rghRows,rgRowStatus)
  2962. #define IRowsetLocate_Hash(This,hReserved,cBookmarks,rgcbBookmarks,rgpBookmarks,rgHashedValues,rgBookmarkStatus) \
  2963. (This)->lpVtbl -> Hash(This,hReserved,cBookmarks,rgcbBookmarks,rgpBookmarks,rgHashedValues,rgBookmarkStatus)
  2964. #endif /* COBJMACROS */
  2965. #endif /* C style interface */
  2966. HRESULT STDMETHODCALLTYPE IRowsetLocate_Compare_Proxy(
  2967. IRowsetLocate * This,
  2968. /* [in] */ HCHAPTER hReserved,
  2969. /* [in] */ DBBKMARK cbBookmark1,
  2970. /* [size_is][in] */ const BYTE *pBookmark1,
  2971. /* [in] */ DBBKMARK cbBookmark2,
  2972. /* [size_is][in] */ const BYTE *pBookmark2,
  2973. /* [out] */ DBCOMPARE *pComparison);
  2974. void __RPC_STUB IRowsetLocate_Compare_Stub(
  2975. IRpcStubBuffer *This,
  2976. IRpcChannelBuffer *_pRpcChannelBuffer,
  2977. PRPC_MESSAGE _pRpcMessage,
  2978. DWORD *_pdwStubPhase);
  2979. HRESULT STDMETHODCALLTYPE IRowsetLocate_GetRowsAt_Proxy(
  2980. IRowsetLocate * This,
  2981. /* [in] */ HWATCHREGION hReserved1,
  2982. /* [in] */ HCHAPTER hReserved2,
  2983. /* [in] */ DBBKMARK cbBookmark,
  2984. /* [size_is][in] */ const BYTE *pBookmark,
  2985. /* [in] */ DBROWOFFSET lRowsOffset,
  2986. /* [in] */ DBROWCOUNT cRows,
  2987. /* [out] */ DBCOUNTITEM *pcRowsObtained,
  2988. /* [size_is][size_is][out] */ HROW **prghRows);
  2989. void __RPC_STUB IRowsetLocate_GetRowsAt_Stub(
  2990. IRpcStubBuffer *This,
  2991. IRpcChannelBuffer *_pRpcChannelBuffer,
  2992. PRPC_MESSAGE _pRpcMessage,
  2993. DWORD *_pdwStubPhase);
  2994. HRESULT STDMETHODCALLTYPE IRowsetLocate_GetRowsByBookmark_Proxy(
  2995. IRowsetLocate * This,
  2996. /* [in] */ HCHAPTER hReserved,
  2997. /* [in] */ DBCOUNTITEM cRows,
  2998. /* [size_is][in] */ const DBBKMARK rgcbBookmarks[ ],
  2999. /* [size_is][in] */ const BYTE *rgpBookmarks[ ],
  3000. /* [size_is][out] */ HROW rghRows[ ],
  3001. /* [size_is][out] */ DBROWSTATUS rgRowStatus[ ]);
  3002. void __RPC_STUB IRowsetLocate_GetRowsByBookmark_Stub(
  3003. IRpcStubBuffer *This,
  3004. IRpcChannelBuffer *_pRpcChannelBuffer,
  3005. PRPC_MESSAGE _pRpcMessage,
  3006. DWORD *_pdwStubPhase);
  3007. HRESULT STDMETHODCALLTYPE IRowsetLocate_Hash_Proxy(
  3008. IRowsetLocate * This,
  3009. /* [in] */ HCHAPTER hReserved,
  3010. /* [in] */ DBBKMARK cBookmarks,
  3011. /* [size_is][in] */ const DBBKMARK rgcbBookmarks[ ],
  3012. /* [size_is][in] */ const BYTE *rgpBookmarks[ ],
  3013. /* [size_is][out] */ DBHASHVALUE rgHashedValues[ ],
  3014. /* [size_is][out] */ DBROWSTATUS rgBookmarkStatus[ ]);
  3015. void __RPC_STUB IRowsetLocate_Hash_Stub(
  3016. IRpcStubBuffer *This,
  3017. IRpcChannelBuffer *_pRpcChannelBuffer,
  3018. PRPC_MESSAGE _pRpcMessage,
  3019. DWORD *_pdwStubPhase);
  3020. #endif /* __IRowsetLocate_INTERFACE_DEFINED__ */
  3021. #ifndef __IRowsetResynch_INTERFACE_DEFINED__
  3022. #define __IRowsetResynch_INTERFACE_DEFINED__
  3023. /* interface IRowsetResynch */
  3024. /* [unique][uuid][object][local] */
  3025. EXTERN_C const IID IID_IRowsetResynch;
  3026. #if defined(__cplusplus) && !defined(CINTERFACE)
  3027. MIDL_INTERFACE("0c733a84-2a1c-11ce-ade5-00aa0044773d")
  3028. IRowsetResynch : public IUnknown
  3029. {
  3030. public:
  3031. virtual HRESULT STDMETHODCALLTYPE GetVisibleData(
  3032. /* [in] */ HROW hRow,
  3033. /* [in] */ HACCESSOR hAccessor,
  3034. /* [out] */ void *pData) = 0;
  3035. virtual HRESULT STDMETHODCALLTYPE ResynchRows(
  3036. /* [in] */ DBCOUNTITEM cRows,
  3037. /* [size_is][in] */ const HROW rghRows[ ],
  3038. /* [out] */ DBCOUNTITEM *pcRowsResynched,
  3039. /* [size_is][size_is][out] */ HROW **prghRowsResynched,
  3040. /* [size_is][size_is][out] */ DBROWSTATUS **prgRowStatus) = 0;
  3041. };
  3042. #else /* C style interface */
  3043. typedef struct IRowsetResynchVtbl
  3044. {
  3045. BEGIN_INTERFACE
  3046. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3047. IRowsetResynch * This,
  3048. /* [in] */ REFIID riid,
  3049. /* [iid_is][out] */ void **ppvObject);
  3050. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3051. IRowsetResynch * This);
  3052. ULONG ( STDMETHODCALLTYPE *Release )(
  3053. IRowsetResynch * This);
  3054. HRESULT ( STDMETHODCALLTYPE *GetVisibleData )(
  3055. IRowsetResynch * This,
  3056. /* [in] */ HROW hRow,
  3057. /* [in] */ HACCESSOR hAccessor,
  3058. /* [out] */ void *pData);
  3059. HRESULT ( STDMETHODCALLTYPE *ResynchRows )(
  3060. IRowsetResynch * This,
  3061. /* [in] */ DBCOUNTITEM cRows,
  3062. /* [size_is][in] */ const HROW rghRows[ ],
  3063. /* [out] */ DBCOUNTITEM *pcRowsResynched,
  3064. /* [size_is][size_is][out] */ HROW **prghRowsResynched,
  3065. /* [size_is][size_is][out] */ DBROWSTATUS **prgRowStatus);
  3066. END_INTERFACE
  3067. } IRowsetResynchVtbl;
  3068. interface IRowsetResynch
  3069. {
  3070. CONST_VTBL struct IRowsetResynchVtbl *lpVtbl;
  3071. };
  3072. #ifdef COBJMACROS
  3073. #define IRowsetResynch_QueryInterface(This,riid,ppvObject) \
  3074. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3075. #define IRowsetResynch_AddRef(This) \
  3076. (This)->lpVtbl -> AddRef(This)
  3077. #define IRowsetResynch_Release(This) \
  3078. (This)->lpVtbl -> Release(This)
  3079. #define IRowsetResynch_GetVisibleData(This,hRow,hAccessor,pData) \
  3080. (This)->lpVtbl -> GetVisibleData(This,hRow,hAccessor,pData)
  3081. #define IRowsetResynch_ResynchRows(This,cRows,rghRows,pcRowsResynched,prghRowsResynched,prgRowStatus) \
  3082. (This)->lpVtbl -> ResynchRows(This,cRows,rghRows,pcRowsResynched,prghRowsResynched,prgRowStatus)
  3083. #endif /* COBJMACROS */
  3084. #endif /* C style interface */
  3085. HRESULT STDMETHODCALLTYPE IRowsetResynch_GetVisibleData_Proxy(
  3086. IRowsetResynch * This,
  3087. /* [in] */ HROW hRow,
  3088. /* [in] */ HACCESSOR hAccessor,
  3089. /* [out] */ void *pData);
  3090. void __RPC_STUB IRowsetResynch_GetVisibleData_Stub(
  3091. IRpcStubBuffer *This,
  3092. IRpcChannelBuffer *_pRpcChannelBuffer,
  3093. PRPC_MESSAGE _pRpcMessage,
  3094. DWORD *_pdwStubPhase);
  3095. HRESULT STDMETHODCALLTYPE IRowsetResynch_ResynchRows_Proxy(
  3096. IRowsetResynch * This,
  3097. /* [in] */ DBCOUNTITEM cRows,
  3098. /* [size_is][in] */ const HROW rghRows[ ],
  3099. /* [out] */ DBCOUNTITEM *pcRowsResynched,
  3100. /* [size_is][size_is][out] */ HROW **prghRowsResynched,
  3101. /* [size_is][size_is][out] */ DBROWSTATUS **prgRowStatus);
  3102. void __RPC_STUB IRowsetResynch_ResynchRows_Stub(
  3103. IRpcStubBuffer *This,
  3104. IRpcChannelBuffer *_pRpcChannelBuffer,
  3105. PRPC_MESSAGE _pRpcMessage,
  3106. DWORD *_pdwStubPhase);
  3107. #endif /* __IRowsetResynch_INTERFACE_DEFINED__ */
  3108. #ifndef __IRowsetScroll_INTERFACE_DEFINED__
  3109. #define __IRowsetScroll_INTERFACE_DEFINED__
  3110. /* interface IRowsetScroll */
  3111. /* [unique][uuid][object][local] */
  3112. EXTERN_C const IID IID_IRowsetScroll;
  3113. #if defined(__cplusplus) && !defined(CINTERFACE)
  3114. MIDL_INTERFACE("0c733a7e-2a1c-11ce-ade5-00aa0044773d")
  3115. IRowsetScroll : public IRowsetLocate
  3116. {
  3117. public:
  3118. virtual HRESULT STDMETHODCALLTYPE GetApproximatePosition(
  3119. /* [in] */ HCHAPTER hReserved,
  3120. /* [in] */ DBBKMARK cbBookmark,
  3121. /* [size_is][in] */ const BYTE *pBookmark,
  3122. /* [out] */ DBCOUNTITEM *pulPosition,
  3123. /* [out] */ DBCOUNTITEM *pcRows) = 0;
  3124. virtual HRESULT STDMETHODCALLTYPE GetRowsAtRatio(
  3125. /* [in] */ HWATCHREGION hReserved1,
  3126. /* [in] */ HCHAPTER hReserved2,
  3127. /* [in] */ DBCOUNTITEM ulNumerator,
  3128. /* [in] */ DBCOUNTITEM ulDenominator,
  3129. /* [in] */ DBROWCOUNT cRows,
  3130. /* [out] */ DBCOUNTITEM *pcRowsObtained,
  3131. /* [size_is][size_is][out] */ HROW **prghRows) = 0;
  3132. };
  3133. #else /* C style interface */
  3134. typedef struct IRowsetScrollVtbl
  3135. {
  3136. BEGIN_INTERFACE
  3137. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3138. IRowsetScroll * This,
  3139. /* [in] */ REFIID riid,
  3140. /* [iid_is][out] */ void **ppvObject);
  3141. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3142. IRowsetScroll * This);
  3143. ULONG ( STDMETHODCALLTYPE *Release )(
  3144. IRowsetScroll * This);
  3145. HRESULT ( STDMETHODCALLTYPE *AddRefRows )(
  3146. IRowsetScroll * This,
  3147. /* [in] */ DBCOUNTITEM cRows,
  3148. /* [size_is][in] */ const HROW rghRows[ ],
  3149. /* [size_is][out] */ DBREFCOUNT rgRefCounts[ ],
  3150. /* [size_is][out] */ DBROWSTATUS rgRowStatus[ ]);
  3151. HRESULT ( STDMETHODCALLTYPE *GetData )(
  3152. IRowsetScroll * This,
  3153. /* [in] */ HROW hRow,
  3154. /* [in] */ HACCESSOR hAccessor,
  3155. /* [out] */ void *pData);
  3156. HRESULT ( STDMETHODCALLTYPE *GetNextRows )(
  3157. IRowsetScroll * This,
  3158. /* [in] */ HCHAPTER hReserved,
  3159. /* [in] */ DBROWOFFSET lRowsOffset,
  3160. /* [in] */ DBROWCOUNT cRows,
  3161. /* [out] */ DBCOUNTITEM *pcRowsObtained,
  3162. /* [size_is][size_is][out] */ HROW **prghRows);
  3163. HRESULT ( STDMETHODCALLTYPE *ReleaseRows )(
  3164. IRowsetScroll * This,
  3165. /* [in] */ DBCOUNTITEM cRows,
  3166. /* [size_is][in] */ const HROW rghRows[ ],
  3167. /* [size_is][in] */ DBROWOPTIONS rgRowOptions[ ],
  3168. /* [size_is][out] */ DBREFCOUNT rgRefCounts[ ],
  3169. /* [size_is][out] */ DBROWSTATUS rgRowStatus[ ]);
  3170. HRESULT ( STDMETHODCALLTYPE *RestartPosition )(
  3171. IRowsetScroll * This,
  3172. /* [in] */ HCHAPTER hReserved);
  3173. HRESULT ( STDMETHODCALLTYPE *Compare )(
  3174. IRowsetScroll * This,
  3175. /* [in] */ HCHAPTER hReserved,
  3176. /* [in] */ DBBKMARK cbBookmark1,
  3177. /* [size_is][in] */ const BYTE *pBookmark1,
  3178. /* [in] */ DBBKMARK cbBookmark2,
  3179. /* [size_is][in] */ const BYTE *pBookmark2,
  3180. /* [out] */ DBCOMPARE *pComparison);
  3181. HRESULT ( STDMETHODCALLTYPE *GetRowsAt )(
  3182. IRowsetScroll * This,
  3183. /* [in] */ HWATCHREGION hReserved1,
  3184. /* [in] */ HCHAPTER hReserved2,
  3185. /* [in] */ DBBKMARK cbBookmark,
  3186. /* [size_is][in] */ const BYTE *pBookmark,
  3187. /* [in] */ DBROWOFFSET lRowsOffset,
  3188. /* [in] */ DBROWCOUNT cRows,
  3189. /* [out] */ DBCOUNTITEM *pcRowsObtained,
  3190. /* [size_is][size_is][out] */ HROW **prghRows);
  3191. HRESULT ( STDMETHODCALLTYPE *GetRowsByBookmark )(
  3192. IRowsetScroll * This,
  3193. /* [in] */ HCHAPTER hReserved,
  3194. /* [in] */ DBCOUNTITEM cRows,
  3195. /* [size_is][in] */ const DBBKMARK rgcbBookmarks[ ],
  3196. /* [size_is][in] */ const BYTE *rgpBookmarks[ ],
  3197. /* [size_is][out] */ HROW rghRows[ ],
  3198. /* [size_is][out] */ DBROWSTATUS rgRowStatus[ ]);
  3199. HRESULT ( STDMETHODCALLTYPE *Hash )(
  3200. IRowsetScroll * This,
  3201. /* [in] */ HCHAPTER hReserved,
  3202. /* [in] */ DBBKMARK cBookmarks,
  3203. /* [size_is][in] */ const DBBKMARK rgcbBookmarks[ ],
  3204. /* [size_is][in] */ const BYTE *rgpBookmarks[ ],
  3205. /* [size_is][out] */ DBHASHVALUE rgHashedValues[ ],
  3206. /* [size_is][out] */ DBROWSTATUS rgBookmarkStatus[ ]);
  3207. HRESULT ( STDMETHODCALLTYPE *GetApproximatePosition )(
  3208. IRowsetScroll * This,
  3209. /* [in] */ HCHAPTER hReserved,
  3210. /* [in] */ DBBKMARK cbBookmark,
  3211. /* [size_is][in] */ const BYTE *pBookmark,
  3212. /* [out] */ DBCOUNTITEM *pulPosition,
  3213. /* [out] */ DBCOUNTITEM *pcRows);
  3214. HRESULT ( STDMETHODCALLTYPE *GetRowsAtRatio )(
  3215. IRowsetScroll * This,
  3216. /* [in] */ HWATCHREGION hReserved1,
  3217. /* [in] */ HCHAPTER hReserved2,
  3218. /* [in] */ DBCOUNTITEM ulNumerator,
  3219. /* [in] */ DBCOUNTITEM ulDenominator,
  3220. /* [in] */ DBROWCOUNT cRows,
  3221. /* [out] */ DBCOUNTITEM *pcRowsObtained,
  3222. /* [size_is][size_is][out] */ HROW **prghRows);
  3223. END_INTERFACE
  3224. } IRowsetScrollVtbl;
  3225. interface IRowsetScroll
  3226. {
  3227. CONST_VTBL struct IRowsetScrollVtbl *lpVtbl;
  3228. };
  3229. #ifdef COBJMACROS
  3230. #define IRowsetScroll_QueryInterface(This,riid,ppvObject) \
  3231. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3232. #define IRowsetScroll_AddRef(This) \
  3233. (This)->lpVtbl -> AddRef(This)
  3234. #define IRowsetScroll_Release(This) \
  3235. (This)->lpVtbl -> Release(This)
  3236. #define IRowsetScroll_AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus) \
  3237. (This)->lpVtbl -> AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus)
  3238. #define IRowsetScroll_GetData(This,hRow,hAccessor,pData) \
  3239. (This)->lpVtbl -> GetData(This,hRow,hAccessor,pData)
  3240. #define IRowsetScroll_GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows) \
  3241. (This)->lpVtbl -> GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows)
  3242. #define IRowsetScroll_ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus) \
  3243. (This)->lpVtbl -> ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus)
  3244. #define IRowsetScroll_RestartPosition(This,hReserved) \
  3245. (This)->lpVtbl -> RestartPosition(This,hReserved)
  3246. #define IRowsetScroll_Compare(This,hReserved,cbBookmark1,pBookmark1,cbBookmark2,pBookmark2,pComparison) \
  3247. (This)->lpVtbl -> Compare(This,hReserved,cbBookmark1,pBookmark1,cbBookmark2,pBookmark2,pComparison)
  3248. #define IRowsetScroll_GetRowsAt(This,hReserved1,hReserved2,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows) \
  3249. (This)->lpVtbl -> GetRowsAt(This,hReserved1,hReserved2,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows)
  3250. #define IRowsetScroll_GetRowsByBookmark(This,hReserved,cRows,rgcbBookmarks,rgpBookmarks,rghRows,rgRowStatus) \
  3251. (This)->lpVtbl -> GetRowsByBookmark(This,hReserved,cRows,rgcbBookmarks,rgpBookmarks,rghRows,rgRowStatus)
  3252. #define IRowsetScroll_Hash(This,hReserved,cBookmarks,rgcbBookmarks,rgpBookmarks,rgHashedValues,rgBookmarkStatus) \
  3253. (This)->lpVtbl -> Hash(This,hReserved,cBookmarks,rgcbBookmarks,rgpBookmarks,rgHashedValues,rgBookmarkStatus)
  3254. #define IRowsetScroll_GetApproximatePosition(This,hReserved,cbBookmark,pBookmark,pulPosition,pcRows) \
  3255. (This)->lpVtbl -> GetApproximatePosition(This,hReserved,cbBookmark,pBookmark,pulPosition,pcRows)
  3256. #define IRowsetScroll_GetRowsAtRatio(This,hReserved1,hReserved2,ulNumerator,ulDenominator,cRows,pcRowsObtained,prghRows) \
  3257. (This)->lpVtbl -> GetRowsAtRatio(This,hReserved1,hReserved2,ulNumerator,ulDenominator,cRows,pcRowsObtained,prghRows)
  3258. #endif /* COBJMACROS */
  3259. #endif /* C style interface */
  3260. HRESULT STDMETHODCALLTYPE IRowsetScroll_GetApproximatePosition_Proxy(
  3261. IRowsetScroll * This,
  3262. /* [in] */ HCHAPTER hReserved,
  3263. /* [in] */ DBBKMARK cbBookmark,
  3264. /* [size_is][in] */ const BYTE *pBookmark,
  3265. /* [out] */ DBCOUNTITEM *pulPosition,
  3266. /* [out] */ DBCOUNTITEM *pcRows);
  3267. void __RPC_STUB IRowsetScroll_GetApproximatePosition_Stub(
  3268. IRpcStubBuffer *This,
  3269. IRpcChannelBuffer *_pRpcChannelBuffer,
  3270. PRPC_MESSAGE _pRpcMessage,
  3271. DWORD *_pdwStubPhase);
  3272. HRESULT STDMETHODCALLTYPE IRowsetScroll_GetRowsAtRatio_Proxy(
  3273. IRowsetScroll * This,
  3274. /* [in] */ HWATCHREGION hReserved1,
  3275. /* [in] */ HCHAPTER hReserved2,
  3276. /* [in] */ DBCOUNTITEM ulNumerator,
  3277. /* [in] */ DBCOUNTITEM ulDenominator,
  3278. /* [in] */ DBROWCOUNT cRows,
  3279. /* [out] */ DBCOUNTITEM *pcRowsObtained,
  3280. /* [size_is][size_is][out] */ HROW **prghRows);
  3281. void __RPC_STUB IRowsetScroll_GetRowsAtRatio_Stub(
  3282. IRpcStubBuffer *This,
  3283. IRpcChannelBuffer *_pRpcChannelBuffer,
  3284. PRPC_MESSAGE _pRpcMessage,
  3285. DWORD *_pdwStubPhase);
  3286. #endif /* __IRowsetScroll_INTERFACE_DEFINED__ */
  3287. /* interface __MIDL_itf_oledb_0273 */
  3288. /* [local] */
  3289. //@@@+ V1.5
  3290. #if( OLEDBVER >= 0x0150 )
  3291. extern RPC_IF_HANDLE __MIDL_itf_oledb_0273_v0_0_c_ifspec;
  3292. extern RPC_IF_HANDLE __MIDL_itf_oledb_0273_v0_0_s_ifspec;
  3293. #ifndef __IChapteredRowset_INTERFACE_DEFINED__
  3294. #define __IChapteredRowset_INTERFACE_DEFINED__
  3295. /* interface IChapteredRowset */
  3296. /* [unique][uuid][object] */
  3297. EXTERN_C const IID IID_IChapteredRowset;
  3298. #if defined(__cplusplus) && !defined(CINTERFACE)
  3299. MIDL_INTERFACE("0c733a93-2a1c-11ce-ade5-00aa0044773d")
  3300. IChapteredRowset : public IUnknown
  3301. {
  3302. public:
  3303. virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddRefChapter(
  3304. /* [in] */ HCHAPTER hChapter,
  3305. /* [out] */ DBREFCOUNT *pcRefCount) = 0;
  3306. virtual /* [local] */ HRESULT STDMETHODCALLTYPE ReleaseChapter(
  3307. /* [in] */ HCHAPTER hChapter,
  3308. /* [out] */ DBREFCOUNT *pcRefCount) = 0;
  3309. };
  3310. #else /* C style interface */
  3311. typedef struct IChapteredRowsetVtbl
  3312. {
  3313. BEGIN_INTERFACE
  3314. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3315. IChapteredRowset * This,
  3316. /* [in] */ REFIID riid,
  3317. /* [iid_is][out] */ void **ppvObject);
  3318. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3319. IChapteredRowset * This);
  3320. ULONG ( STDMETHODCALLTYPE *Release )(
  3321. IChapteredRowset * This);
  3322. /* [local] */ HRESULT ( STDMETHODCALLTYPE *AddRefChapter )(
  3323. IChapteredRowset * This,
  3324. /* [in] */ HCHAPTER hChapter,
  3325. /* [out] */ DBREFCOUNT *pcRefCount);
  3326. /* [local] */ HRESULT ( STDMETHODCALLTYPE *ReleaseChapter )(
  3327. IChapteredRowset * This,
  3328. /* [in] */ HCHAPTER hChapter,
  3329. /* [out] */ DBREFCOUNT *pcRefCount);
  3330. END_INTERFACE
  3331. } IChapteredRowsetVtbl;
  3332. interface IChapteredRowset
  3333. {
  3334. CONST_VTBL struct IChapteredRowsetVtbl *lpVtbl;
  3335. };
  3336. #ifdef COBJMACROS
  3337. #define IChapteredRowset_QueryInterface(This,riid,ppvObject) \
  3338. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3339. #define IChapteredRowset_AddRef(This) \
  3340. (This)->lpVtbl -> AddRef(This)
  3341. #define IChapteredRowset_Release(This) \
  3342. (This)->lpVtbl -> Release(This)
  3343. #define IChapteredRowset_AddRefChapter(This,hChapter,pcRefCount) \
  3344. (This)->lpVtbl -> AddRefChapter(This,hChapter,pcRefCount)
  3345. #define IChapteredRowset_ReleaseChapter(This,hChapter,pcRefCount) \
  3346. (This)->lpVtbl -> ReleaseChapter(This,hChapter,pcRefCount)
  3347. #endif /* COBJMACROS */
  3348. #endif /* C style interface */
  3349. /* [call_as] */ HRESULT STDMETHODCALLTYPE IChapteredRowset_RemoteAddRefChapter_Proxy(
  3350. IChapteredRowset * This,
  3351. /* [in] */ HCHAPTER hChapter,
  3352. /* [out] */ DBREFCOUNT *pcRefCount,
  3353. /* [out] */ IErrorInfo **ppErrorInfoRem);
  3354. void __RPC_STUB IChapteredRowset_RemoteAddRefChapter_Stub(
  3355. IRpcStubBuffer *This,
  3356. IRpcChannelBuffer *_pRpcChannelBuffer,
  3357. PRPC_MESSAGE _pRpcMessage,
  3358. DWORD *_pdwStubPhase);
  3359. /* [call_as] */ HRESULT STDMETHODCALLTYPE IChapteredRowset_RemoteReleaseChapter_Proxy(
  3360. IChapteredRowset * This,
  3361. /* [in] */ HCHAPTER hChapter,
  3362. /* [out] */ DBREFCOUNT *pcRefCount,
  3363. /* [out] */ IErrorInfo **ppErrorInfoRem);
  3364. void __RPC_STUB IChapteredRowset_RemoteReleaseChapter_Stub(
  3365. IRpcStubBuffer *This,
  3366. IRpcChannelBuffer *_pRpcChannelBuffer,
  3367. PRPC_MESSAGE _pRpcMessage,
  3368. DWORD *_pdwStubPhase);
  3369. #endif /* __IChapteredRowset_INTERFACE_DEFINED__ */
  3370. #ifndef __IRowsetFind_INTERFACE_DEFINED__
  3371. #define __IRowsetFind_INTERFACE_DEFINED__
  3372. /* interface IRowsetFind */
  3373. /* [unique][uuid][object][local] */
  3374. EXTERN_C const IID IID_IRowsetFind;
  3375. #if defined(__cplusplus) && !defined(CINTERFACE)
  3376. MIDL_INTERFACE("0c733a9d-2a1c-11ce-ade5-00aa0044773d")
  3377. IRowsetFind : public IUnknown
  3378. {
  3379. public:
  3380. virtual HRESULT STDMETHODCALLTYPE FindNextRow(
  3381. /* [in] */ HCHAPTER hChapter,
  3382. /* [in] */ HACCESSOR hAccessor,
  3383. /* [in] */ void *pFindValue,
  3384. /* [in] */ DBCOMPAREOP CompareOp,
  3385. /* [in] */ DBBKMARK cbBookmark,
  3386. /* [size_is][in] */ const BYTE *pBookmark,
  3387. /* [in] */ DBROWOFFSET lRowsOffset,
  3388. /* [in] */ DBROWCOUNT cRows,
  3389. /* [out][in] */ DBCOUNTITEM *pcRowsObtained,
  3390. /* [size_is][size_is][out] */ HROW **prghRows) = 0;
  3391. };
  3392. #else /* C style interface */
  3393. typedef struct IRowsetFindVtbl
  3394. {
  3395. BEGIN_INTERFACE
  3396. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3397. IRowsetFind * This,
  3398. /* [in] */ REFIID riid,
  3399. /* [iid_is][out] */ void **ppvObject);
  3400. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3401. IRowsetFind * This);
  3402. ULONG ( STDMETHODCALLTYPE *Release )(
  3403. IRowsetFind * This);
  3404. HRESULT ( STDMETHODCALLTYPE *FindNextRow )(
  3405. IRowsetFind * This,
  3406. /* [in] */ HCHAPTER hChapter,
  3407. /* [in] */ HACCESSOR hAccessor,
  3408. /* [in] */ void *pFindValue,
  3409. /* [in] */ DBCOMPAREOP CompareOp,
  3410. /* [in] */ DBBKMARK cbBookmark,
  3411. /* [size_is][in] */ const BYTE *pBookmark,
  3412. /* [in] */ DBROWOFFSET lRowsOffset,
  3413. /* [in] */ DBROWCOUNT cRows,
  3414. /* [out][in] */ DBCOUNTITEM *pcRowsObtained,
  3415. /* [size_is][size_is][out] */ HROW **prghRows);
  3416. END_INTERFACE
  3417. } IRowsetFindVtbl;
  3418. interface IRowsetFind
  3419. {
  3420. CONST_VTBL struct IRowsetFindVtbl *lpVtbl;
  3421. };
  3422. #ifdef COBJMACROS
  3423. #define IRowsetFind_QueryInterface(This,riid,ppvObject) \
  3424. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3425. #define IRowsetFind_AddRef(This) \
  3426. (This)->lpVtbl -> AddRef(This)
  3427. #define IRowsetFind_Release(This) \
  3428. (This)->lpVtbl -> Release(This)
  3429. #define IRowsetFind_FindNextRow(This,hChapter,hAccessor,pFindValue,CompareOp,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows) \
  3430. (This)->lpVtbl -> FindNextRow(This,hChapter,hAccessor,pFindValue,CompareOp,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows)
  3431. #endif /* COBJMACROS */
  3432. #endif /* C style interface */
  3433. HRESULT STDMETHODCALLTYPE IRowsetFind_FindNextRow_Proxy(
  3434. IRowsetFind * This,
  3435. /* [in] */ HCHAPTER hChapter,
  3436. /* [in] */ HACCESSOR hAccessor,
  3437. /* [in] */ void *pFindValue,
  3438. /* [in] */ DBCOMPAREOP CompareOp,
  3439. /* [in] */ DBBKMARK cbBookmark,
  3440. /* [size_is][in] */ const BYTE *pBookmark,
  3441. /* [in] */ DBROWOFFSET lRowsOffset,
  3442. /* [in] */ DBROWCOUNT cRows,
  3443. /* [out][in] */ DBCOUNTITEM *pcRowsObtained,
  3444. /* [size_is][size_is][out] */ HROW **prghRows);
  3445. void __RPC_STUB IRowsetFind_FindNextRow_Stub(
  3446. IRpcStubBuffer *This,
  3447. IRpcChannelBuffer *_pRpcChannelBuffer,
  3448. PRPC_MESSAGE _pRpcMessage,
  3449. DWORD *_pdwStubPhase);
  3450. #endif /* __IRowsetFind_INTERFACE_DEFINED__ */
  3451. #ifndef __IRowPosition_INTERFACE_DEFINED__
  3452. #define __IRowPosition_INTERFACE_DEFINED__
  3453. /* interface IRowPosition */
  3454. /* [unique][uuid][object] */
  3455. typedef DWORD DBPOSITIONFLAGS;
  3456. enum DBPOSITIONFLAGSENUM
  3457. { DBPOSITION_OK = 0,
  3458. DBPOSITION_NOROW = DBPOSITION_OK + 1,
  3459. DBPOSITION_BOF = DBPOSITION_NOROW + 1,
  3460. DBPOSITION_EOF = DBPOSITION_BOF + 1
  3461. } ;
  3462. EXTERN_C const IID IID_IRowPosition;
  3463. #if defined(__cplusplus) && !defined(CINTERFACE)
  3464. MIDL_INTERFACE("0c733a94-2a1c-11ce-ade5-00aa0044773d")
  3465. IRowPosition : public IUnknown
  3466. {
  3467. public:
  3468. virtual /* [local] */ HRESULT STDMETHODCALLTYPE ClearRowPosition( void) = 0;
  3469. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetRowPosition(
  3470. /* [out] */ HCHAPTER *phChapter,
  3471. /* [out] */ HROW *phRow,
  3472. /* [out] */ DBPOSITIONFLAGS *pdwPositionFlags) = 0;
  3473. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetRowset(
  3474. /* [in] */ REFIID riid,
  3475. /* [iid_is][out] */ IUnknown **ppRowset) = 0;
  3476. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Initialize(
  3477. /* [in] */ IUnknown *pRowset) = 0;
  3478. virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetRowPosition(
  3479. /* [in] */ HCHAPTER hChapter,
  3480. /* [in] */ HROW hRow,
  3481. /* [in] */ DBPOSITIONFLAGS dwPositionFlags) = 0;
  3482. };
  3483. #else /* C style interface */
  3484. typedef struct IRowPositionVtbl
  3485. {
  3486. BEGIN_INTERFACE
  3487. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3488. IRowPosition * This,
  3489. /* [in] */ REFIID riid,
  3490. /* [iid_is][out] */ void **ppvObject);
  3491. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3492. IRowPosition * This);
  3493. ULONG ( STDMETHODCALLTYPE *Release )(
  3494. IRowPosition * This);
  3495. /* [local] */ HRESULT ( STDMETHODCALLTYPE *ClearRowPosition )(
  3496. IRowPosition * This);
  3497. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetRowPosition )(
  3498. IRowPosition * This,
  3499. /* [out] */ HCHAPTER *phChapter,
  3500. /* [out] */ HROW *phRow,
  3501. /* [out] */ DBPOSITIONFLAGS *pdwPositionFlags);
  3502. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetRowset )(
  3503. IRowPosition * This,
  3504. /* [in] */ REFIID riid,
  3505. /* [iid_is][out] */ IUnknown **ppRowset);
  3506. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Initialize )(
  3507. IRowPosition * This,
  3508. /* [in] */ IUnknown *pRowset);
  3509. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetRowPosition )(
  3510. IRowPosition * This,
  3511. /* [in] */ HCHAPTER hChapter,
  3512. /* [in] */ HROW hRow,
  3513. /* [in] */ DBPOSITIONFLAGS dwPositionFlags);
  3514. END_INTERFACE
  3515. } IRowPositionVtbl;
  3516. interface IRowPosition
  3517. {
  3518. CONST_VTBL struct IRowPositionVtbl *lpVtbl;
  3519. };
  3520. #ifdef COBJMACROS
  3521. #define IRowPosition_QueryInterface(This,riid,ppvObject) \
  3522. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3523. #define IRowPosition_AddRef(This) \
  3524. (This)->lpVtbl -> AddRef(This)
  3525. #define IRowPosition_Release(This) \
  3526. (This)->lpVtbl -> Release(This)
  3527. #define IRowPosition_ClearRowPosition(This) \
  3528. (This)->lpVtbl -> ClearRowPosition(This)
  3529. #define IRowPosition_GetRowPosition(This,phChapter,phRow,pdwPositionFlags) \
  3530. (This)->lpVtbl -> GetRowPosition(This,phChapter,phRow,pdwPositionFlags)
  3531. #define IRowPosition_GetRowset(This,riid,ppRowset) \
  3532. (This)->lpVtbl -> GetRowset(This,riid,ppRowset)
  3533. #define IRowPosition_Initialize(This,pRowset) \
  3534. (This)->lpVtbl -> Initialize(This,pRowset)
  3535. #define IRowPosition_SetRowPosition(This,hChapter,hRow,dwPositionFlags) \
  3536. (This)->lpVtbl -> SetRowPosition(This,hChapter,hRow,dwPositionFlags)
  3537. #endif /* COBJMACROS */
  3538. #endif /* C style interface */
  3539. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_RemoteClearRowPosition_Proxy(
  3540. IRowPosition * This,
  3541. /* [out] */ IErrorInfo **ppErrorInfoRem);
  3542. void __RPC_STUB IRowPosition_RemoteClearRowPosition_Stub(
  3543. IRpcStubBuffer *This,
  3544. IRpcChannelBuffer *_pRpcChannelBuffer,
  3545. PRPC_MESSAGE _pRpcMessage,
  3546. DWORD *_pdwStubPhase);
  3547. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_RemoteGetRowPosition_Proxy(
  3548. IRowPosition * This,
  3549. /* [out] */ HCHAPTER *phChapter,
  3550. /* [out] */ HROW *phRow,
  3551. /* [out] */ DBPOSITIONFLAGS *pdwPositionFlags,
  3552. /* [out] */ IErrorInfo **ppErrorInfoRem);
  3553. void __RPC_STUB IRowPosition_RemoteGetRowPosition_Stub(
  3554. IRpcStubBuffer *This,
  3555. IRpcChannelBuffer *_pRpcChannelBuffer,
  3556. PRPC_MESSAGE _pRpcMessage,
  3557. DWORD *_pdwStubPhase);
  3558. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_RemoteGetRowset_Proxy(
  3559. IRowPosition * This,
  3560. /* [in] */ REFIID riid,
  3561. /* [iid_is][out] */ IUnknown **ppRowset,
  3562. /* [out] */ IErrorInfo **ppErrorInfoRem);
  3563. void __RPC_STUB IRowPosition_RemoteGetRowset_Stub(
  3564. IRpcStubBuffer *This,
  3565. IRpcChannelBuffer *_pRpcChannelBuffer,
  3566. PRPC_MESSAGE _pRpcMessage,
  3567. DWORD *_pdwStubPhase);
  3568. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_RemoteInitialize_Proxy(
  3569. IRowPosition * This,
  3570. /* [in] */ IUnknown *pRowset,
  3571. /* [out] */ IErrorInfo **ppErrorInfoRem);
  3572. void __RPC_STUB IRowPosition_RemoteInitialize_Stub(
  3573. IRpcStubBuffer *This,
  3574. IRpcChannelBuffer *_pRpcChannelBuffer,
  3575. PRPC_MESSAGE _pRpcMessage,
  3576. DWORD *_pdwStubPhase);
  3577. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_RemoteSetRowPosition_Proxy(
  3578. IRowPosition * This,
  3579. /* [in] */ HCHAPTER hChapter,
  3580. /* [in] */ HROW hRow,
  3581. /* [in] */ DBPOSITIONFLAGS dwPositionFlags,
  3582. /* [out] */ IErrorInfo **ppErrorInfoRem);
  3583. void __RPC_STUB IRowPosition_RemoteSetRowPosition_Stub(
  3584. IRpcStubBuffer *This,
  3585. IRpcChannelBuffer *_pRpcChannelBuffer,
  3586. PRPC_MESSAGE _pRpcMessage,
  3587. DWORD *_pdwStubPhase);
  3588. #endif /* __IRowPosition_INTERFACE_DEFINED__ */
  3589. #ifndef __IRowPositionChange_INTERFACE_DEFINED__
  3590. #define __IRowPositionChange_INTERFACE_DEFINED__
  3591. /* interface IRowPositionChange */
  3592. /* [unique][uuid][object] */
  3593. EXTERN_C const IID IID_IRowPositionChange;
  3594. #if defined(__cplusplus) && !defined(CINTERFACE)
  3595. MIDL_INTERFACE("0997a571-126e-11d0-9f8a-00a0c9a0631e")
  3596. IRowPositionChange : public IUnknown
  3597. {
  3598. public:
  3599. virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnRowPositionChange(
  3600. /* [in] */ DBREASON eReason,
  3601. /* [in] */ DBEVENTPHASE ePhase,
  3602. /* [in] */ BOOL fCantDeny) = 0;
  3603. };
  3604. #else /* C style interface */
  3605. typedef struct IRowPositionChangeVtbl
  3606. {
  3607. BEGIN_INTERFACE
  3608. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3609. IRowPositionChange * This,
  3610. /* [in] */ REFIID riid,
  3611. /* [iid_is][out] */ void **ppvObject);
  3612. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3613. IRowPositionChange * This);
  3614. ULONG ( STDMETHODCALLTYPE *Release )(
  3615. IRowPositionChange * This);
  3616. /* [local] */ HRESULT ( STDMETHODCALLTYPE *OnRowPositionChange )(
  3617. IRowPositionChange * This,
  3618. /* [in] */ DBREASON eReason,
  3619. /* [in] */ DBEVENTPHASE ePhase,
  3620. /* [in] */ BOOL fCantDeny);
  3621. END_INTERFACE
  3622. } IRowPositionChangeVtbl;
  3623. interface IRowPositionChange
  3624. {
  3625. CONST_VTBL struct IRowPositionChangeVtbl *lpVtbl;
  3626. };
  3627. #ifdef COBJMACROS
  3628. #define IRowPositionChange_QueryInterface(This,riid,ppvObject) \
  3629. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3630. #define IRowPositionChange_AddRef(This) \
  3631. (This)->lpVtbl -> AddRef(This)
  3632. #define IRowPositionChange_Release(This) \
  3633. (This)->lpVtbl -> Release(This)
  3634. #define IRowPositionChange_OnRowPositionChange(This,eReason,ePhase,fCantDeny) \
  3635. (This)->lpVtbl -> OnRowPositionChange(This,eReason,ePhase,fCantDeny)
  3636. #endif /* COBJMACROS */
  3637. #endif /* C style interface */
  3638. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPositionChange_RemoteOnRowPositionChange_Proxy(
  3639. IRowPositionChange * This,
  3640. /* [in] */ DBREASON eReason,
  3641. /* [in] */ DBEVENTPHASE ePhase,
  3642. /* [in] */ BOOL fCantDeny,
  3643. /* [out] */ IErrorInfo **ppErrorInfoRem);
  3644. void __RPC_STUB IRowPositionChange_RemoteOnRowPositionChange_Stub(
  3645. IRpcStubBuffer *This,
  3646. IRpcChannelBuffer *_pRpcChannelBuffer,
  3647. PRPC_MESSAGE _pRpcMessage,
  3648. DWORD *_pdwStubPhase);
  3649. #endif /* __IRowPositionChange_INTERFACE_DEFINED__ */
  3650. #ifndef __IViewRowset_INTERFACE_DEFINED__
  3651. #define __IViewRowset_INTERFACE_DEFINED__
  3652. /* interface IViewRowset */
  3653. /* [unique][uuid][object] */
  3654. EXTERN_C const IID IID_IViewRowset;
  3655. #if defined(__cplusplus) && !defined(CINTERFACE)
  3656. MIDL_INTERFACE("0c733a97-2a1c-11ce-ade5-00aa0044773d")
  3657. IViewRowset : public IUnknown
  3658. {
  3659. public:
  3660. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSpecification(
  3661. /* [in] */ REFIID riid,
  3662. /* [iid_is][out] */ IUnknown **ppObject) = 0;
  3663. virtual /* [local] */ HRESULT STDMETHODCALLTYPE OpenViewRowset(
  3664. /* [in] */ IUnknown *pUnkOuter,
  3665. /* [in] */ REFIID riid,
  3666. /* [iid_is][out] */ IUnknown **ppRowset) = 0;
  3667. };
  3668. #else /* C style interface */
  3669. typedef struct IViewRowsetVtbl
  3670. {
  3671. BEGIN_INTERFACE
  3672. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3673. IViewRowset * This,
  3674. /* [in] */ REFIID riid,
  3675. /* [iid_is][out] */ void **ppvObject);
  3676. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3677. IViewRowset * This);
  3678. ULONG ( STDMETHODCALLTYPE *Release )(
  3679. IViewRowset * This);
  3680. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetSpecification )(
  3681. IViewRowset * This,
  3682. /* [in] */ REFIID riid,
  3683. /* [iid_is][out] */ IUnknown **ppObject);
  3684. /* [local] */ HRESULT ( STDMETHODCALLTYPE *OpenViewRowset )(
  3685. IViewRowset * This,
  3686. /* [in] */ IUnknown *pUnkOuter,
  3687. /* [in] */ REFIID riid,
  3688. /* [iid_is][out] */ IUnknown **ppRowset);
  3689. END_INTERFACE
  3690. } IViewRowsetVtbl;
  3691. interface IViewRowset
  3692. {
  3693. CONST_VTBL struct IViewRowsetVtbl *lpVtbl;
  3694. };
  3695. #ifdef COBJMACROS
  3696. #define IViewRowset_QueryInterface(This,riid,ppvObject) \
  3697. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3698. #define IViewRowset_AddRef(This) \
  3699. (This)->lpVtbl -> AddRef(This)
  3700. #define IViewRowset_Release(This) \
  3701. (This)->lpVtbl -> Release(This)
  3702. #define IViewRowset_GetSpecification(This,riid,ppObject) \
  3703. (This)->lpVtbl -> GetSpecification(This,riid,ppObject)
  3704. #define IViewRowset_OpenViewRowset(This,pUnkOuter,riid,ppRowset) \
  3705. (This)->lpVtbl -> OpenViewRowset(This,pUnkOuter,riid,ppRowset)
  3706. #endif /* COBJMACROS */
  3707. #endif /* C style interface */
  3708. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewRowset_RemoteGetSpecification_Proxy(
  3709. IViewRowset * This,
  3710. /* [in] */ REFIID riid,
  3711. /* [iid_is][out] */ IUnknown **ppObject,
  3712. /* [out] */ IErrorInfo **ppErrorInfoRem);
  3713. void __RPC_STUB IViewRowset_RemoteGetSpecification_Stub(
  3714. IRpcStubBuffer *This,
  3715. IRpcChannelBuffer *_pRpcChannelBuffer,
  3716. PRPC_MESSAGE _pRpcMessage,
  3717. DWORD *_pdwStubPhase);
  3718. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewRowset_RemoteOpenViewRowset_Proxy(
  3719. IViewRowset * This,
  3720. /* [in] */ IUnknown *pUnkOuter,
  3721. /* [in] */ REFIID riid,
  3722. /* [iid_is][out] */ IUnknown **ppRowset,
  3723. /* [out] */ IErrorInfo **ppErrorInfoRem);
  3724. void __RPC_STUB IViewRowset_RemoteOpenViewRowset_Stub(
  3725. IRpcStubBuffer *This,
  3726. IRpcChannelBuffer *_pRpcChannelBuffer,
  3727. PRPC_MESSAGE _pRpcMessage,
  3728. DWORD *_pdwStubPhase);
  3729. #endif /* __IViewRowset_INTERFACE_DEFINED__ */
  3730. #ifndef __IViewChapter_INTERFACE_DEFINED__
  3731. #define __IViewChapter_INTERFACE_DEFINED__
  3732. /* interface IViewChapter */
  3733. /* [unique][uuid][object] */
  3734. EXTERN_C const IID IID_IViewChapter;
  3735. #if defined(__cplusplus) && !defined(CINTERFACE)
  3736. MIDL_INTERFACE("0c733a98-2a1c-11ce-ade5-00aa0044773d")
  3737. IViewChapter : public IUnknown
  3738. {
  3739. public:
  3740. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSpecification(
  3741. /* [in] */ REFIID riid,
  3742. /* [iid_is][out] */ IUnknown **ppRowset) = 0;
  3743. virtual /* [local] */ HRESULT STDMETHODCALLTYPE OpenViewChapter(
  3744. /* [in] */ HCHAPTER hSource,
  3745. /* [out] */ HCHAPTER *phViewChapter) = 0;
  3746. };
  3747. #else /* C style interface */
  3748. typedef struct IViewChapterVtbl
  3749. {
  3750. BEGIN_INTERFACE
  3751. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3752. IViewChapter * This,
  3753. /* [in] */ REFIID riid,
  3754. /* [iid_is][out] */ void **ppvObject);
  3755. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3756. IViewChapter * This);
  3757. ULONG ( STDMETHODCALLTYPE *Release )(
  3758. IViewChapter * This);
  3759. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetSpecification )(
  3760. IViewChapter * This,
  3761. /* [in] */ REFIID riid,
  3762. /* [iid_is][out] */ IUnknown **ppRowset);
  3763. /* [local] */ HRESULT ( STDMETHODCALLTYPE *OpenViewChapter )(
  3764. IViewChapter * This,
  3765. /* [in] */ HCHAPTER hSource,
  3766. /* [out] */ HCHAPTER *phViewChapter);
  3767. END_INTERFACE
  3768. } IViewChapterVtbl;
  3769. interface IViewChapter
  3770. {
  3771. CONST_VTBL struct IViewChapterVtbl *lpVtbl;
  3772. };
  3773. #ifdef COBJMACROS
  3774. #define IViewChapter_QueryInterface(This,riid,ppvObject) \
  3775. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3776. #define IViewChapter_AddRef(This) \
  3777. (This)->lpVtbl -> AddRef(This)
  3778. #define IViewChapter_Release(This) \
  3779. (This)->lpVtbl -> Release(This)
  3780. #define IViewChapter_GetSpecification(This,riid,ppRowset) \
  3781. (This)->lpVtbl -> GetSpecification(This,riid,ppRowset)
  3782. #define IViewChapter_OpenViewChapter(This,hSource,phViewChapter) \
  3783. (This)->lpVtbl -> OpenViewChapter(This,hSource,phViewChapter)
  3784. #endif /* COBJMACROS */
  3785. #endif /* C style interface */
  3786. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewChapter_RemoteGetSpecification_Proxy(
  3787. IViewChapter * This,
  3788. /* [in] */ REFIID riid,
  3789. /* [iid_is][out] */ IUnknown **ppRowset,
  3790. /* [out] */ IErrorInfo **ppErrorInfoRem);
  3791. void __RPC_STUB IViewChapter_RemoteGetSpecification_Stub(
  3792. IRpcStubBuffer *This,
  3793. IRpcChannelBuffer *_pRpcChannelBuffer,
  3794. PRPC_MESSAGE _pRpcMessage,
  3795. DWORD *_pdwStubPhase);
  3796. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewChapter_RemoteOpenViewChapter_Proxy(
  3797. IViewChapter * This,
  3798. /* [in] */ HCHAPTER hSource,
  3799. /* [out] */ HCHAPTER *phViewChapter,
  3800. /* [out] */ IErrorInfo **ppErrorInfoRem);
  3801. void __RPC_STUB IViewChapter_RemoteOpenViewChapter_Stub(
  3802. IRpcStubBuffer *This,
  3803. IRpcChannelBuffer *_pRpcChannelBuffer,
  3804. PRPC_MESSAGE _pRpcMessage,
  3805. DWORD *_pdwStubPhase);
  3806. #endif /* __IViewChapter_INTERFACE_DEFINED__ */
  3807. #ifndef __IViewSort_INTERFACE_DEFINED__
  3808. #define __IViewSort_INTERFACE_DEFINED__
  3809. /* interface IViewSort */
  3810. /* [unique][uuid][object] */
  3811. EXTERN_C const IID IID_IViewSort;
  3812. #if defined(__cplusplus) && !defined(CINTERFACE)
  3813. MIDL_INTERFACE("0c733a9a-2a1c-11ce-ade5-00aa0044773d")
  3814. IViewSort : public IUnknown
  3815. {
  3816. public:
  3817. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSortOrder(
  3818. /* [out] */ DBORDINAL *pcValues,
  3819. /* [out] */ DBORDINAL *prgColumns[ ],
  3820. /* [out] */ DBSORT *prgOrders[ ]) = 0;
  3821. virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetSortOrder(
  3822. /* [in] */ DBORDINAL cValues,
  3823. /* [size_is][in] */ const DBORDINAL rgColumns[ ],
  3824. /* [size_is][in] */ const DBSORT rgOrders[ ]) = 0;
  3825. };
  3826. #else /* C style interface */
  3827. typedef struct IViewSortVtbl
  3828. {
  3829. BEGIN_INTERFACE
  3830. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3831. IViewSort * This,
  3832. /* [in] */ REFIID riid,
  3833. /* [iid_is][out] */ void **ppvObject);
  3834. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3835. IViewSort * This);
  3836. ULONG ( STDMETHODCALLTYPE *Release )(
  3837. IViewSort * This);
  3838. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetSortOrder )(
  3839. IViewSort * This,
  3840. /* [out] */ DBORDINAL *pcValues,
  3841. /* [out] */ DBORDINAL *prgColumns[ ],
  3842. /* [out] */ DBSORT *prgOrders[ ]);
  3843. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetSortOrder )(
  3844. IViewSort * This,
  3845. /* [in] */ DBORDINAL cValues,
  3846. /* [size_is][in] */ const DBORDINAL rgColumns[ ],
  3847. /* [size_is][in] */ const DBSORT rgOrders[ ]);
  3848. END_INTERFACE
  3849. } IViewSortVtbl;
  3850. interface IViewSort
  3851. {
  3852. CONST_VTBL struct IViewSortVtbl *lpVtbl;
  3853. };
  3854. #ifdef COBJMACROS
  3855. #define IViewSort_QueryInterface(This,riid,ppvObject) \
  3856. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3857. #define IViewSort_AddRef(This) \
  3858. (This)->lpVtbl -> AddRef(This)
  3859. #define IViewSort_Release(This) \
  3860. (This)->lpVtbl -> Release(This)
  3861. #define IViewSort_GetSortOrder(This,pcValues,prgColumns,prgOrders) \
  3862. (This)->lpVtbl -> GetSortOrder(This,pcValues,prgColumns,prgOrders)
  3863. #define IViewSort_SetSortOrder(This,cValues,rgColumns,rgOrders) \
  3864. (This)->lpVtbl -> SetSortOrder(This,cValues,rgColumns,rgOrders)
  3865. #endif /* COBJMACROS */
  3866. #endif /* C style interface */
  3867. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewSort_RemoteGetSortOrder_Proxy(
  3868. IViewSort * This,
  3869. /* [out][in] */ DBORDINAL *pcValues,
  3870. /* [size_is][size_is][out] */ DBORDINAL **prgColumns,
  3871. /* [size_is][size_is][out] */ DBSORT **prgOrders,
  3872. /* [out] */ IErrorInfo **ppErrorInfoRem);
  3873. void __RPC_STUB IViewSort_RemoteGetSortOrder_Stub(
  3874. IRpcStubBuffer *This,
  3875. IRpcChannelBuffer *_pRpcChannelBuffer,
  3876. PRPC_MESSAGE _pRpcMessage,
  3877. DWORD *_pdwStubPhase);
  3878. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewSort_RemoteSetSortOrder_Proxy(
  3879. IViewSort * This,
  3880. /* [in] */ DBORDINAL cValues,
  3881. /* [size_is][in] */ const DBORDINAL *rgColumns,
  3882. /* [size_is][in] */ const DBSORT *rgOrders,
  3883. /* [out] */ IErrorInfo **ppErrorInfoRem);
  3884. void __RPC_STUB IViewSort_RemoteSetSortOrder_Stub(
  3885. IRpcStubBuffer *This,
  3886. IRpcChannelBuffer *_pRpcChannelBuffer,
  3887. PRPC_MESSAGE _pRpcMessage,
  3888. DWORD *_pdwStubPhase);
  3889. #endif /* __IViewSort_INTERFACE_DEFINED__ */
  3890. #ifndef __IViewFilter_INTERFACE_DEFINED__
  3891. #define __IViewFilter_INTERFACE_DEFINED__
  3892. /* interface IViewFilter */
  3893. /* [unique][uuid][object] */
  3894. EXTERN_C const IID IID_IViewFilter;
  3895. #if defined(__cplusplus) && !defined(CINTERFACE)
  3896. MIDL_INTERFACE("0c733a9b-2a1c-11ce-ade5-00aa0044773d")
  3897. IViewFilter : public IUnknown
  3898. {
  3899. public:
  3900. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetFilter(
  3901. /* [in] */ HACCESSOR hAccessor,
  3902. /* [out] */ DBCOUNTITEM *pcRows,
  3903. /* [out] */ DBCOMPAREOP *pCompareOps[ ],
  3904. /* [out] */ void *pCriteriaData) = 0;
  3905. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetFilterBindings(
  3906. /* [out] */ DBCOUNTITEM *pcBindings,
  3907. /* [out] */ DBBINDING **prgBindings) = 0;
  3908. virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetFilter(
  3909. /* [in] */ HACCESSOR hAccessor,
  3910. /* [in] */ DBCOUNTITEM cRows,
  3911. /* [in] */ DBCOMPAREOP CompareOps[ ],
  3912. /* [in] */ void *pCriteriaData) = 0;
  3913. };
  3914. #else /* C style interface */
  3915. typedef struct IViewFilterVtbl
  3916. {
  3917. BEGIN_INTERFACE
  3918. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3919. IViewFilter * This,
  3920. /* [in] */ REFIID riid,
  3921. /* [iid_is][out] */ void **ppvObject);
  3922. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3923. IViewFilter * This);
  3924. ULONG ( STDMETHODCALLTYPE *Release )(
  3925. IViewFilter * This);
  3926. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetFilter )(
  3927. IViewFilter * This,
  3928. /* [in] */ HACCESSOR hAccessor,
  3929. /* [out] */ DBCOUNTITEM *pcRows,
  3930. /* [out] */ DBCOMPAREOP *pCompareOps[ ],
  3931. /* [out] */ void *pCriteriaData);
  3932. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetFilterBindings )(
  3933. IViewFilter * This,
  3934. /* [out] */ DBCOUNTITEM *pcBindings,
  3935. /* [out] */ DBBINDING **prgBindings);
  3936. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetFilter )(
  3937. IViewFilter * This,
  3938. /* [in] */ HACCESSOR hAccessor,
  3939. /* [in] */ DBCOUNTITEM cRows,
  3940. /* [in] */ DBCOMPAREOP CompareOps[ ],
  3941. /* [in] */ void *pCriteriaData);
  3942. END_INTERFACE
  3943. } IViewFilterVtbl;
  3944. interface IViewFilter
  3945. {
  3946. CONST_VTBL struct IViewFilterVtbl *lpVtbl;
  3947. };
  3948. #ifdef COBJMACROS
  3949. #define IViewFilter_QueryInterface(This,riid,ppvObject) \
  3950. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3951. #define IViewFilter_AddRef(This) \
  3952. (This)->lpVtbl -> AddRef(This)
  3953. #define IViewFilter_Release(This) \
  3954. (This)->lpVtbl -> Release(This)
  3955. #define IViewFilter_GetFilter(This,hAccessor,pcRows,pCompareOps,pCriteriaData) \
  3956. (This)->lpVtbl -> GetFilter(This,hAccessor,pcRows,pCompareOps,pCriteriaData)
  3957. #define IViewFilter_GetFilterBindings(This,pcBindings,prgBindings) \
  3958. (This)->lpVtbl -> GetFilterBindings(This,pcBindings,prgBindings)
  3959. #define IViewFilter_SetFilter(This,hAccessor,cRows,CompareOps,pCriteriaData) \
  3960. (This)->lpVtbl -> SetFilter(This,hAccessor,cRows,CompareOps,pCriteriaData)
  3961. #endif /* COBJMACROS */
  3962. #endif /* C style interface */
  3963. /* [local] */ HRESULT STDMETHODCALLTYPE IViewFilter_GetFilter_Proxy(
  3964. IViewFilter * This,
  3965. /* [in] */ HACCESSOR hAccessor,
  3966. /* [out] */ DBCOUNTITEM *pcRows,
  3967. /* [out] */ DBCOMPAREOP *pCompareOps[ ],
  3968. /* [out] */ void *pCriteriaData);
  3969. void __RPC_STUB IViewFilter_GetFilter_Stub(
  3970. IRpcStubBuffer *This,
  3971. IRpcChannelBuffer *_pRpcChannelBuffer,
  3972. PRPC_MESSAGE _pRpcMessage,
  3973. DWORD *_pdwStubPhase);
  3974. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewFilter_RemoteGetFilterBindings_Proxy(
  3975. IViewFilter * This,
  3976. /* [out][in] */ DBCOUNTITEM *pcBindings,
  3977. /* [size_is][size_is][out] */ DBBINDING **prgBindings,
  3978. /* [out] */ IErrorInfo **ppErrorInfoRem);
  3979. void __RPC_STUB IViewFilter_RemoteGetFilterBindings_Stub(
  3980. IRpcStubBuffer *This,
  3981. IRpcChannelBuffer *_pRpcChannelBuffer,
  3982. PRPC_MESSAGE _pRpcMessage,
  3983. DWORD *_pdwStubPhase);
  3984. /* [local] */ HRESULT STDMETHODCALLTYPE IViewFilter_SetFilter_Proxy(
  3985. IViewFilter * This,
  3986. /* [in] */ HACCESSOR hAccessor,
  3987. /* [in] */ DBCOUNTITEM cRows,
  3988. /* [in] */ DBCOMPAREOP CompareOps[ ],
  3989. /* [in] */ void *pCriteriaData);
  3990. void __RPC_STUB IViewFilter_SetFilter_Stub(
  3991. IRpcStubBuffer *This,
  3992. IRpcChannelBuffer *_pRpcChannelBuffer,
  3993. PRPC_MESSAGE _pRpcMessage,
  3994. DWORD *_pdwStubPhase);
  3995. #endif /* __IViewFilter_INTERFACE_DEFINED__ */
  3996. #ifndef __IRowsetView_INTERFACE_DEFINED__
  3997. #define __IRowsetView_INTERFACE_DEFINED__
  3998. /* interface IRowsetView */
  3999. /* [unique][uuid][object] */
  4000. EXTERN_C const IID IID_IRowsetView;
  4001. #if defined(__cplusplus) && !defined(CINTERFACE)
  4002. MIDL_INTERFACE("0c733a99-2a1c-11ce-ade5-00aa0044773d")
  4003. IRowsetView : public IUnknown
  4004. {
  4005. public:
  4006. virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateView(
  4007. /* [in] */ IUnknown *pUnkOuter,
  4008. /* [in] */ REFIID riid,
  4009. /* [iid_is][out] */ IUnknown **ppView) = 0;
  4010. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetView(
  4011. /* [in] */ HCHAPTER hChapter,
  4012. /* [in] */ REFIID riid,
  4013. /* [out] */ HCHAPTER *phChapterSource,
  4014. /* [iid_is][out] */ IUnknown **ppView) = 0;
  4015. };
  4016. #else /* C style interface */
  4017. typedef struct IRowsetViewVtbl
  4018. {
  4019. BEGIN_INTERFACE
  4020. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4021. IRowsetView * This,
  4022. /* [in] */ REFIID riid,
  4023. /* [iid_is][out] */ void **ppvObject);
  4024. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4025. IRowsetView * This);
  4026. ULONG ( STDMETHODCALLTYPE *Release )(
  4027. IRowsetView * This);
  4028. /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateView )(
  4029. IRowsetView * This,
  4030. /* [in] */ IUnknown *pUnkOuter,
  4031. /* [in] */ REFIID riid,
  4032. /* [iid_is][out] */ IUnknown **ppView);
  4033. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetView )(
  4034. IRowsetView * This,
  4035. /* [in] */ HCHAPTER hChapter,
  4036. /* [in] */ REFIID riid,
  4037. /* [out] */ HCHAPTER *phChapterSource,
  4038. /* [iid_is][out] */ IUnknown **ppView);
  4039. END_INTERFACE
  4040. } IRowsetViewVtbl;
  4041. interface IRowsetView
  4042. {
  4043. CONST_VTBL struct IRowsetViewVtbl *lpVtbl;
  4044. };
  4045. #ifdef COBJMACROS
  4046. #define IRowsetView_QueryInterface(This,riid,ppvObject) \
  4047. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4048. #define IRowsetView_AddRef(This) \
  4049. (This)->lpVtbl -> AddRef(This)
  4050. #define IRowsetView_Release(This) \
  4051. (This)->lpVtbl -> Release(This)
  4052. #define IRowsetView_CreateView(This,pUnkOuter,riid,ppView) \
  4053. (This)->lpVtbl -> CreateView(This,pUnkOuter,riid,ppView)
  4054. #define IRowsetView_GetView(This,hChapter,riid,phChapterSource,ppView) \
  4055. (This)->lpVtbl -> GetView(This,hChapter,riid,phChapterSource,ppView)
  4056. #endif /* COBJMACROS */
  4057. #endif /* C style interface */
  4058. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetView_RemoteCreateView_Proxy(
  4059. IRowsetView * This,
  4060. /* [in] */ IUnknown *pUnkOuter,
  4061. /* [in] */ REFIID riid,
  4062. /* [iid_is][out] */ IUnknown **ppView,
  4063. /* [out] */ IErrorInfo **ppErrorInfoRem);
  4064. void __RPC_STUB IRowsetView_RemoteCreateView_Stub(
  4065. IRpcStubBuffer *This,
  4066. IRpcChannelBuffer *_pRpcChannelBuffer,
  4067. PRPC_MESSAGE _pRpcMessage,
  4068. DWORD *_pdwStubPhase);
  4069. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetView_RemoteGetView_Proxy(
  4070. IRowsetView * This,
  4071. /* [in] */ HCHAPTER hChapter,
  4072. /* [in] */ REFIID riid,
  4073. /* [out] */ HCHAPTER *phChapterSource,
  4074. /* [iid_is][out] */ IUnknown **ppView,
  4075. /* [out] */ IErrorInfo **ppErrorInfoRem);
  4076. void __RPC_STUB IRowsetView_RemoteGetView_Stub(
  4077. IRpcStubBuffer *This,
  4078. IRpcChannelBuffer *_pRpcChannelBuffer,
  4079. PRPC_MESSAGE _pRpcMessage,
  4080. DWORD *_pdwStubPhase);
  4081. #endif /* __IRowsetView_INTERFACE_DEFINED__ */
  4082. /* interface __MIDL_itf_oledb_0282 */
  4083. /* [local] */
  4084. #endif // OLEDBVER >= 0x0150
  4085. //@@@- V1.5
  4086. //@@@+ deprecated
  4087. #ifdef deprecated
  4088. extern RPC_IF_HANDLE __MIDL_itf_oledb_0282_v0_0_c_ifspec;
  4089. extern RPC_IF_HANDLE __MIDL_itf_oledb_0282_v0_0_s_ifspec;
  4090. #ifndef __IRowsetExactScroll_INTERFACE_DEFINED__
  4091. #define __IRowsetExactScroll_INTERFACE_DEFINED__
  4092. /* interface IRowsetExactScroll */
  4093. /* [unique][uuid][object][local] */
  4094. EXTERN_C const IID IID_IRowsetExactScroll;
  4095. #if defined(__cplusplus) && !defined(CINTERFACE)
  4096. MIDL_INTERFACE("0c733a7f-2a1c-11ce-ade5-00aa0044773d")
  4097. IRowsetExactScroll : public IRowsetScroll
  4098. {
  4099. public:
  4100. virtual HRESULT STDMETHODCALLTYPE GetExactPosition(
  4101. /* [in] */ HCHAPTER hChapter,
  4102. /* [in] */ DBBKMARK cbBookmark,
  4103. /* [size_is][in] */ const BYTE *pBookmark,
  4104. /* [out] */ DBCOUNTITEM *pulPosition,
  4105. /* [out] */ DBCOUNTITEM *pcRows) = 0;
  4106. };
  4107. #else /* C style interface */
  4108. typedef struct IRowsetExactScrollVtbl
  4109. {
  4110. BEGIN_INTERFACE
  4111. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4112. IRowsetExactScroll * This,
  4113. /* [in] */ REFIID riid,
  4114. /* [iid_is][out] */ void **ppvObject);
  4115. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4116. IRowsetExactScroll * This);
  4117. ULONG ( STDMETHODCALLTYPE *Release )(
  4118. IRowsetExactScroll * This);
  4119. HRESULT ( STDMETHODCALLTYPE *AddRefRows )(
  4120. IRowsetExactScroll * This,
  4121. /* [in] */ DBCOUNTITEM cRows,
  4122. /* [size_is][in] */ const HROW rghRows[ ],
  4123. /* [size_is][out] */ DBREFCOUNT rgRefCounts[ ],
  4124. /* [size_is][out] */ DBROWSTATUS rgRowStatus[ ]);
  4125. HRESULT ( STDMETHODCALLTYPE *GetData )(
  4126. IRowsetExactScroll * This,
  4127. /* [in] */ HROW hRow,
  4128. /* [in] */ HACCESSOR hAccessor,
  4129. /* [out] */ void *pData);
  4130. HRESULT ( STDMETHODCALLTYPE *GetNextRows )(
  4131. IRowsetExactScroll * This,
  4132. /* [in] */ HCHAPTER hReserved,
  4133. /* [in] */ DBROWOFFSET lRowsOffset,
  4134. /* [in] */ DBROWCOUNT cRows,
  4135. /* [out] */ DBCOUNTITEM *pcRowsObtained,
  4136. /* [size_is][size_is][out] */ HROW **prghRows);
  4137. HRESULT ( STDMETHODCALLTYPE *ReleaseRows )(
  4138. IRowsetExactScroll * This,
  4139. /* [in] */ DBCOUNTITEM cRows,
  4140. /* [size_is][in] */ const HROW rghRows[ ],
  4141. /* [size_is][in] */ DBROWOPTIONS rgRowOptions[ ],
  4142. /* [size_is][out] */ DBREFCOUNT rgRefCounts[ ],
  4143. /* [size_is][out] */ DBROWSTATUS rgRowStatus[ ]);
  4144. HRESULT ( STDMETHODCALLTYPE *RestartPosition )(
  4145. IRowsetExactScroll * This,
  4146. /* [in] */ HCHAPTER hReserved);
  4147. HRESULT ( STDMETHODCALLTYPE *Compare )(
  4148. IRowsetExactScroll * This,
  4149. /* [in] */ HCHAPTER hReserved,
  4150. /* [in] */ DBBKMARK cbBookmark1,
  4151. /* [size_is][in] */ const BYTE *pBookmark1,
  4152. /* [in] */ DBBKMARK cbBookmark2,
  4153. /* [size_is][in] */ const BYTE *pBookmark2,
  4154. /* [out] */ DBCOMPARE *pComparison);
  4155. HRESULT ( STDMETHODCALLTYPE *GetRowsAt )(
  4156. IRowsetExactScroll * This,
  4157. /* [in] */ HWATCHREGION hReserved1,
  4158. /* [in] */ HCHAPTER hReserved2,
  4159. /* [in] */ DBBKMARK cbBookmark,
  4160. /* [size_is][in] */ const BYTE *pBookmark,
  4161. /* [in] */ DBROWOFFSET lRowsOffset,
  4162. /* [in] */ DBROWCOUNT cRows,
  4163. /* [out] */ DBCOUNTITEM *pcRowsObtained,
  4164. /* [size_is][size_is][out] */ HROW **prghRows);
  4165. HRESULT ( STDMETHODCALLTYPE *GetRowsByBookmark )(
  4166. IRowsetExactScroll * This,
  4167. /* [in] */ HCHAPTER hReserved,
  4168. /* [in] */ DBCOUNTITEM cRows,
  4169. /* [size_is][in] */ const DBBKMARK rgcbBookmarks[ ],
  4170. /* [size_is][in] */ const BYTE *rgpBookmarks[ ],
  4171. /* [size_is][out] */ HROW rghRows[ ],
  4172. /* [size_is][out] */ DBROWSTATUS rgRowStatus[ ]);
  4173. HRESULT ( STDMETHODCALLTYPE *Hash )(
  4174. IRowsetExactScroll * This,
  4175. /* [in] */ HCHAPTER hReserved,
  4176. /* [in] */ DBBKMARK cBookmarks,
  4177. /* [size_is][in] */ const DBBKMARK rgcbBookmarks[ ],
  4178. /* [size_is][in] */ const BYTE *rgpBookmarks[ ],
  4179. /* [size_is][out] */ DBHASHVALUE rgHashedValues[ ],
  4180. /* [size_is][out] */ DBROWSTATUS rgBookmarkStatus[ ]);
  4181. HRESULT ( STDMETHODCALLTYPE *GetApproximatePosition )(
  4182. IRowsetExactScroll * This,
  4183. /* [in] */ HCHAPTER hReserved,
  4184. /* [in] */ DBBKMARK cbBookmark,
  4185. /* [size_is][in] */ const BYTE *pBookmark,
  4186. /* [out] */ DBCOUNTITEM *pulPosition,
  4187. /* [out] */ DBCOUNTITEM *pcRows);
  4188. HRESULT ( STDMETHODCALLTYPE *GetRowsAtRatio )(
  4189. IRowsetExactScroll * This,
  4190. /* [in] */ HWATCHREGION hReserved1,
  4191. /* [in] */ HCHAPTER hReserved2,
  4192. /* [in] */ DBCOUNTITEM ulNumerator,
  4193. /* [in] */ DBCOUNTITEM ulDenominator,
  4194. /* [in] */ DBROWCOUNT cRows,
  4195. /* [out] */ DBCOUNTITEM *pcRowsObtained,
  4196. /* [size_is][size_is][out] */ HROW **prghRows);
  4197. HRESULT ( STDMETHODCALLTYPE *GetExactPosition )(
  4198. IRowsetExactScroll * This,
  4199. /* [in] */ HCHAPTER hChapter,
  4200. /* [in] */ DBBKMARK cbBookmark,
  4201. /* [size_is][in] */ const BYTE *pBookmark,
  4202. /* [out] */ DBCOUNTITEM *pulPosition,
  4203. /* [out] */ DBCOUNTITEM *pcRows);
  4204. END_INTERFACE
  4205. } IRowsetExactScrollVtbl;
  4206. interface IRowsetExactScroll
  4207. {
  4208. CONST_VTBL struct IRowsetExactScrollVtbl *lpVtbl;
  4209. };
  4210. #ifdef COBJMACROS
  4211. #define IRowsetExactScroll_QueryInterface(This,riid,ppvObject) \
  4212. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4213. #define IRowsetExactScroll_AddRef(This) \
  4214. (This)->lpVtbl -> AddRef(This)
  4215. #define IRowsetExactScroll_Release(This) \
  4216. (This)->lpVtbl -> Release(This)
  4217. #define IRowsetExactScroll_AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus) \
  4218. (This)->lpVtbl -> AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus)
  4219. #define IRowsetExactScroll_GetData(This,hRow,hAccessor,pData) \
  4220. (This)->lpVtbl -> GetData(This,hRow,hAccessor,pData)
  4221. #define IRowsetExactScroll_GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows) \
  4222. (This)->lpVtbl -> GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows)
  4223. #define IRowsetExactScroll_ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus) \
  4224. (This)->lpVtbl -> ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus)
  4225. #define IRowsetExactScroll_RestartPosition(This,hReserved) \
  4226. (This)->lpVtbl -> RestartPosition(This,hReserved)
  4227. #define IRowsetExactScroll_Compare(This,hReserved,cbBookmark1,pBookmark1,cbBookmark2,pBookmark2,pComparison) \
  4228. (This)->lpVtbl -> Compare(This,hReserved,cbBookmark1,pBookmark1,cbBookmark2,pBookmark2,pComparison)
  4229. #define IRowsetExactScroll_GetRowsAt(This,hReserved1,hReserved2,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows) \
  4230. (This)->lpVtbl -> GetRowsAt(This,hReserved1,hReserved2,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows)
  4231. #define IRowsetExactScroll_GetRowsByBookmark(This,hReserved,cRows,rgcbBookmarks,rgpBookmarks,rghRows,rgRowStatus) \
  4232. (This)->lpVtbl -> GetRowsByBookmark(This,hReserved,cRows,rgcbBookmarks,rgpBookmarks,rghRows,rgRowStatus)
  4233. #define IRowsetExactScroll_Hash(This,hReserved,cBookmarks,rgcbBookmarks,rgpBookmarks,rgHashedValues,rgBookmarkStatus) \
  4234. (This)->lpVtbl -> Hash(This,hReserved,cBookmarks,rgcbBookmarks,rgpBookmarks,rgHashedValues,rgBookmarkStatus)
  4235. #define IRowsetExactScroll_GetApproximatePosition(This,hReserved,cbBookmark,pBookmark,pulPosition,pcRows) \
  4236. (This)->lpVtbl -> GetApproximatePosition(This,hReserved,cbBookmark,pBookmark,pulPosition,pcRows)
  4237. #define IRowsetExactScroll_GetRowsAtRatio(This,hReserved1,hReserved2,ulNumerator,ulDenominator,cRows,pcRowsObtained,prghRows) \
  4238. (This)->lpVtbl -> GetRowsAtRatio(This,hReserved1,hReserved2,ulNumerator,ulDenominator,cRows,pcRowsObtained,prghRows)
  4239. #define IRowsetExactScroll_GetExactPosition(This,hChapter,cbBookmark,pBookmark,pulPosition,pcRows) \
  4240. (This)->lpVtbl -> GetExactPosition(This,hChapter,cbBookmark,pBookmark,pulPosition,pcRows)
  4241. #endif /* COBJMACROS */
  4242. #endif /* C style interface */
  4243. HRESULT STDMETHODCALLTYPE IRowsetExactScroll_GetExactPosition_Proxy(
  4244. IRowsetExactScroll * This,
  4245. /* [in] */ HCHAPTER hChapter,
  4246. /* [in] */ DBBKMARK cbBookmark,
  4247. /* [size_is][in] */ const BYTE *pBookmark,
  4248. /* [out] */ DBCOUNTITEM *pulPosition,
  4249. /* [out] */ DBCOUNTITEM *pcRows);
  4250. void __RPC_STUB IRowsetExactScroll_GetExactPosition_Stub(
  4251. IRpcStubBuffer *This,
  4252. IRpcChannelBuffer *_pRpcChannelBuffer,
  4253. PRPC_MESSAGE _pRpcMessage,
  4254. DWORD *_pdwStubPhase);
  4255. #endif /* __IRowsetExactScroll_INTERFACE_DEFINED__ */
  4256. /* interface __MIDL_itf_oledb_0283 */
  4257. /* [local] */
  4258. #endif // deprecated
  4259. //@@@- deprecated
  4260. extern RPC_IF_HANDLE __MIDL_itf_oledb_0283_v0_0_c_ifspec;
  4261. extern RPC_IF_HANDLE __MIDL_itf_oledb_0283_v0_0_s_ifspec;
  4262. #ifndef __IRowsetChange_INTERFACE_DEFINED__
  4263. #define __IRowsetChange_INTERFACE_DEFINED__
  4264. /* interface IRowsetChange */
  4265. /* [unique][uuid][object][local] */
  4266. EXTERN_C const IID IID_IRowsetChange;
  4267. #if defined(__cplusplus) && !defined(CINTERFACE)
  4268. MIDL_INTERFACE("0c733a05-2a1c-11ce-ade5-00aa0044773d")
  4269. IRowsetChange : public IUnknown
  4270. {
  4271. public:
  4272. virtual HRESULT STDMETHODCALLTYPE DeleteRows(
  4273. /* [in] */ HCHAPTER hReserved,
  4274. /* [in] */ DBCOUNTITEM cRows,
  4275. /* [size_is][in] */ const HROW rghRows[ ],
  4276. /* [size_is][out] */ DBROWSTATUS rgRowStatus[ ]) = 0;
  4277. virtual HRESULT STDMETHODCALLTYPE SetData(
  4278. /* [in] */ HROW hRow,
  4279. /* [in] */ HACCESSOR hAccessor,
  4280. /* [in] */ void *pData) = 0;
  4281. virtual HRESULT STDMETHODCALLTYPE InsertRow(
  4282. /* [in] */ HCHAPTER hReserved,
  4283. /* [in] */ HACCESSOR hAccessor,
  4284. /* [in] */ void *pData,
  4285. /* [out] */ HROW *phRow) = 0;
  4286. };
  4287. #else /* C style interface */
  4288. typedef struct IRowsetChangeVtbl
  4289. {
  4290. BEGIN_INTERFACE
  4291. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4292. IRowsetChange * This,
  4293. /* [in] */ REFIID riid,
  4294. /* [iid_is][out] */ void **ppvObject);
  4295. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4296. IRowsetChange * This);
  4297. ULONG ( STDMETHODCALLTYPE *Release )(
  4298. IRowsetChange * This);
  4299. HRESULT ( STDMETHODCALLTYPE *DeleteRows )(
  4300. IRowsetChange * This,
  4301. /* [in] */ HCHAPTER hReserved,
  4302. /* [in] */ DBCOUNTITEM cRows,
  4303. /* [size_is][in] */ const HROW rghRows[ ],
  4304. /* [size_is][out] */ DBROWSTATUS rgRowStatus[ ]);
  4305. HRESULT ( STDMETHODCALLTYPE *SetData )(
  4306. IRowsetChange * This,
  4307. /* [in] */ HROW hRow,
  4308. /* [in] */ HACCESSOR hAccessor,
  4309. /* [in] */ void *pData);
  4310. HRESULT ( STDMETHODCALLTYPE *InsertRow )(
  4311. IRowsetChange * This,
  4312. /* [in] */ HCHAPTER hReserved,
  4313. /* [in] */ HACCESSOR hAccessor,
  4314. /* [in] */ void *pData,
  4315. /* [out] */ HROW *phRow);
  4316. END_INTERFACE
  4317. } IRowsetChangeVtbl;
  4318. interface IRowsetChange
  4319. {
  4320. CONST_VTBL struct IRowsetChangeVtbl *lpVtbl;
  4321. };
  4322. #ifdef COBJMACROS
  4323. #define IRowsetChange_QueryInterface(This,riid,ppvObject) \
  4324. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4325. #define IRowsetChange_AddRef(This) \
  4326. (This)->lpVtbl -> AddRef(This)
  4327. #define IRowsetChange_Release(This) \
  4328. (This)->lpVtbl -> Release(This)
  4329. #define IRowsetChange_DeleteRows(This,hReserved,cRows,rghRows,rgRowStatus) \
  4330. (This)->lpVtbl -> DeleteRows(This,hReserved,cRows,rghRows,rgRowStatus)
  4331. #define IRowsetChange_SetData(This,hRow,hAccessor,pData) \
  4332. (This)->lpVtbl -> SetData(This,hRow,hAccessor,pData)
  4333. #define IRowsetChange_InsertRow(This,hReserved,hAccessor,pData,phRow) \
  4334. (This)->lpVtbl -> InsertRow(This,hReserved,hAccessor,pData,phRow)
  4335. #endif /* COBJMACROS */
  4336. #endif /* C style interface */
  4337. HRESULT STDMETHODCALLTYPE IRowsetChange_DeleteRows_Proxy(
  4338. IRowsetChange * This,
  4339. /* [in] */ HCHAPTER hReserved,
  4340. /* [in] */ DBCOUNTITEM cRows,
  4341. /* [size_is][in] */ const HROW rghRows[ ],
  4342. /* [size_is][out] */ DBROWSTATUS rgRowStatus[ ]);
  4343. void __RPC_STUB IRowsetChange_DeleteRows_Stub(
  4344. IRpcStubBuffer *This,
  4345. IRpcChannelBuffer *_pRpcChannelBuffer,
  4346. PRPC_MESSAGE _pRpcMessage,
  4347. DWORD *_pdwStubPhase);
  4348. HRESULT STDMETHODCALLTYPE IRowsetChange_SetData_Proxy(
  4349. IRowsetChange * This,
  4350. /* [in] */ HROW hRow,
  4351. /* [in] */ HACCESSOR hAccessor,
  4352. /* [in] */ void *pData);
  4353. void __RPC_STUB IRowsetChange_SetData_Stub(
  4354. IRpcStubBuffer *This,
  4355. IRpcChannelBuffer *_pRpcChannelBuffer,
  4356. PRPC_MESSAGE _pRpcMessage,
  4357. DWORD *_pdwStubPhase);
  4358. HRESULT STDMETHODCALLTYPE IRowsetChange_InsertRow_Proxy(
  4359. IRowsetChange * This,
  4360. /* [in] */ HCHAPTER hReserved,
  4361. /* [in] */ HACCESSOR hAccessor,
  4362. /* [in] */ void *pData,
  4363. /* [out] */ HROW *phRow);
  4364. void __RPC_STUB IRowsetChange_InsertRow_Stub(
  4365. IRpcStubBuffer *This,
  4366. IRpcChannelBuffer *_pRpcChannelBuffer,
  4367. PRPC_MESSAGE _pRpcMessage,
  4368. DWORD *_pdwStubPhase);
  4369. #endif /* __IRowsetChange_INTERFACE_DEFINED__ */
  4370. #ifndef __IRowsetUpdate_INTERFACE_DEFINED__
  4371. #define __IRowsetUpdate_INTERFACE_DEFINED__
  4372. /* interface IRowsetUpdate */
  4373. /* [unique][uuid][object][local] */
  4374. typedef DWORD DBPENDINGSTATUS;
  4375. enum DBPENDINGSTATUSENUM
  4376. { DBPENDINGSTATUS_NEW = 0x1,
  4377. DBPENDINGSTATUS_CHANGED = 0x2,
  4378. DBPENDINGSTATUS_DELETED = 0x4,
  4379. DBPENDINGSTATUS_UNCHANGED = 0x8,
  4380. DBPENDINGSTATUS_INVALIDROW = 0x10
  4381. } ;
  4382. EXTERN_C const IID IID_IRowsetUpdate;
  4383. #if defined(__cplusplus) && !defined(CINTERFACE)
  4384. MIDL_INTERFACE("0c733a6d-2a1c-11ce-ade5-00aa0044773d")
  4385. IRowsetUpdate : public IRowsetChange
  4386. {
  4387. public:
  4388. virtual HRESULT STDMETHODCALLTYPE GetOriginalData(
  4389. /* [in] */ HROW hRow,
  4390. /* [in] */ HACCESSOR hAccessor,
  4391. /* [out] */ void *pData) = 0;
  4392. virtual HRESULT STDMETHODCALLTYPE GetPendingRows(
  4393. /* [in] */ HCHAPTER hReserved,
  4394. /* [in] */ DBPENDINGSTATUS dwRowStatus,
  4395. /* [out][in] */ DBCOUNTITEM *pcPendingRows,
  4396. /* [size_is][size_is][out] */ HROW **prgPendingRows,
  4397. /* [size_is][size_is][out] */ DBPENDINGSTATUS **prgPendingStatus) = 0;
  4398. virtual HRESULT STDMETHODCALLTYPE GetRowStatus(
  4399. /* [in] */ HCHAPTER hReserved,
  4400. /* [in] */ DBCOUNTITEM cRows,
  4401. /* [size_is][in] */ const HROW rghRows[ ],
  4402. /* [size_is][out] */ DBPENDINGSTATUS rgPendingStatus[ ]) = 0;
  4403. virtual HRESULT STDMETHODCALLTYPE Undo(
  4404. /* [in] */ HCHAPTER hReserved,
  4405. /* [in] */ DBCOUNTITEM cRows,
  4406. /* [size_is][in] */ const HROW rghRows[ ],
  4407. /* [out][in] */ DBCOUNTITEM *pcRowsUndone,
  4408. /* [size_is][size_is][out] */ HROW **prgRowsUndone,
  4409. /* [size_is][size_is][out] */ DBROWSTATUS **prgRowStatus) = 0;
  4410. virtual HRESULT STDMETHODCALLTYPE Update(
  4411. /* [in] */ HCHAPTER hReserved,
  4412. /* [in] */ DBCOUNTITEM cRows,
  4413. /* [size_is][in] */ const HROW rghRows[ ],
  4414. /* [out][in] */ DBCOUNTITEM *pcRows,
  4415. /* [size_is][size_is][out] */ HROW **prgRows,
  4416. /* [size_is][size_is][out] */ DBROWSTATUS **prgRowStatus) = 0;
  4417. };
  4418. #else /* C style interface */
  4419. typedef struct IRowsetUpdateVtbl
  4420. {
  4421. BEGIN_INTERFACE
  4422. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4423. IRowsetUpdate * This,
  4424. /* [in] */ REFIID riid,
  4425. /* [iid_is][out] */ void **ppvObject);
  4426. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4427. IRowsetUpdate * This);
  4428. ULONG ( STDMETHODCALLTYPE *Release )(
  4429. IRowsetUpdate * This);
  4430. HRESULT ( STDMETHODCALLTYPE *DeleteRows )(
  4431. IRowsetUpdate * This,
  4432. /* [in] */ HCHAPTER hReserved,
  4433. /* [in] */ DBCOUNTITEM cRows,
  4434. /* [size_is][in] */ const HROW rghRows[ ],
  4435. /* [size_is][out] */ DBROWSTATUS rgRowStatus[ ]);
  4436. HRESULT ( STDMETHODCALLTYPE *SetData )(
  4437. IRowsetUpdate * This,
  4438. /* [in] */ HROW hRow,
  4439. /* [in] */ HACCESSOR hAccessor,
  4440. /* [in] */ void *pData);
  4441. HRESULT ( STDMETHODCALLTYPE *InsertRow )(
  4442. IRowsetUpdate * This,
  4443. /* [in] */ HCHAPTER hReserved,
  4444. /* [in] */ HACCESSOR hAccessor,
  4445. /* [in] */ void *pData,
  4446. /* [out] */ HROW *phRow);
  4447. HRESULT ( STDMETHODCALLTYPE *GetOriginalData )(
  4448. IRowsetUpdate * This,
  4449. /* [in] */ HROW hRow,
  4450. /* [in] */ HACCESSOR hAccessor,
  4451. /* [out] */ void *pData);
  4452. HRESULT ( STDMETHODCALLTYPE *GetPendingRows )(
  4453. IRowsetUpdate * This,
  4454. /* [in] */ HCHAPTER hReserved,
  4455. /* [in] */ DBPENDINGSTATUS dwRowStatus,
  4456. /* [out][in] */ DBCOUNTITEM *pcPendingRows,
  4457. /* [size_is][size_is][out] */ HROW **prgPendingRows,
  4458. /* [size_is][size_is][out] */ DBPENDINGSTATUS **prgPendingStatus);
  4459. HRESULT ( STDMETHODCALLTYPE *GetRowStatus )(
  4460. IRowsetUpdate * This,
  4461. /* [in] */ HCHAPTER hReserved,
  4462. /* [in] */ DBCOUNTITEM cRows,
  4463. /* [size_is][in] */ const HROW rghRows[ ],
  4464. /* [size_is][out] */ DBPENDINGSTATUS rgPendingStatus[ ]);
  4465. HRESULT ( STDMETHODCALLTYPE *Undo )(
  4466. IRowsetUpdate * This,
  4467. /* [in] */ HCHAPTER hReserved,
  4468. /* [in] */ DBCOUNTITEM cRows,
  4469. /* [size_is][in] */ const HROW rghRows[ ],
  4470. /* [out][in] */ DBCOUNTITEM *pcRowsUndone,
  4471. /* [size_is][size_is][out] */ HROW **prgRowsUndone,
  4472. /* [size_is][size_is][out] */ DBROWSTATUS **prgRowStatus);
  4473. HRESULT ( STDMETHODCALLTYPE *Update )(
  4474. IRowsetUpdate * This,
  4475. /* [in] */ HCHAPTER hReserved,
  4476. /* [in] */ DBCOUNTITEM cRows,
  4477. /* [size_is][in] */ const HROW rghRows[ ],
  4478. /* [out][in] */ DBCOUNTITEM *pcRows,
  4479. /* [size_is][size_is][out] */ HROW **prgRows,
  4480. /* [size_is][size_is][out] */ DBROWSTATUS **prgRowStatus);
  4481. END_INTERFACE
  4482. } IRowsetUpdateVtbl;
  4483. interface IRowsetUpdate
  4484. {
  4485. CONST_VTBL struct IRowsetUpdateVtbl *lpVtbl;
  4486. };
  4487. #ifdef COBJMACROS
  4488. #define IRowsetUpdate_QueryInterface(This,riid,ppvObject) \
  4489. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4490. #define IRowsetUpdate_AddRef(This) \
  4491. (This)->lpVtbl -> AddRef(This)
  4492. #define IRowsetUpdate_Release(This) \
  4493. (This)->lpVtbl -> Release(This)
  4494. #define IRowsetUpdate_DeleteRows(This,hReserved,cRows,rghRows,rgRowStatus) \
  4495. (This)->lpVtbl -> DeleteRows(This,hReserved,cRows,rghRows,rgRowStatus)
  4496. #define IRowsetUpdate_SetData(This,hRow,hAccessor,pData) \
  4497. (This)->lpVtbl -> SetData(This,hRow,hAccessor,pData)
  4498. #define IRowsetUpdate_InsertRow(This,hReserved,hAccessor,pData,phRow) \
  4499. (This)->lpVtbl -> InsertRow(This,hReserved,hAccessor,pData,phRow)
  4500. #define IRowsetUpdate_GetOriginalData(This,hRow,hAccessor,pData) \
  4501. (This)->lpVtbl -> GetOriginalData(This,hRow,hAccessor,pData)
  4502. #define IRowsetUpdate_GetPendingRows(This,hReserved,dwRowStatus,pcPendingRows,prgPendingRows,prgPendingStatus) \
  4503. (This)->lpVtbl -> GetPendingRows(This,hReserved,dwRowStatus,pcPendingRows,prgPendingRows,prgPendingStatus)
  4504. #define IRowsetUpdate_GetRowStatus(This,hReserved,cRows,rghRows,rgPendingStatus) \
  4505. (This)->lpVtbl -> GetRowStatus(This,hReserved,cRows,rghRows,rgPendingStatus)
  4506. #define IRowsetUpdate_Undo(This,hReserved,cRows,rghRows,pcRowsUndone,prgRowsUndone,prgRowStatus) \
  4507. (This)->lpVtbl -> Undo(This,hReserved,cRows,rghRows,pcRowsUndone,prgRowsUndone,prgRowStatus)
  4508. #define IRowsetUpdate_Update(This,hReserved,cRows,rghRows,pcRows,prgRows,prgRowStatus) \
  4509. (This)->lpVtbl -> Update(This,hReserved,cRows,rghRows,pcRows,prgRows,prgRowStatus)
  4510. #endif /* COBJMACROS */
  4511. #endif /* C style interface */
  4512. HRESULT STDMETHODCALLTYPE IRowsetUpdate_GetOriginalData_Proxy(
  4513. IRowsetUpdate * This,
  4514. /* [in] */ HROW hRow,
  4515. /* [in] */ HACCESSOR hAccessor,
  4516. /* [out] */ void *pData);
  4517. void __RPC_STUB IRowsetUpdate_GetOriginalData_Stub(
  4518. IRpcStubBuffer *This,
  4519. IRpcChannelBuffer *_pRpcChannelBuffer,
  4520. PRPC_MESSAGE _pRpcMessage,
  4521. DWORD *_pdwStubPhase);
  4522. HRESULT STDMETHODCALLTYPE IRowsetUpdate_GetPendingRows_Proxy(
  4523. IRowsetUpdate * This,
  4524. /* [in] */ HCHAPTER hReserved,
  4525. /* [in] */ DBPENDINGSTATUS dwRowStatus,
  4526. /* [out][in] */ DBCOUNTITEM *pcPendingRows,
  4527. /* [size_is][size_is][out] */ HROW **prgPendingRows,
  4528. /* [size_is][size_is][out] */ DBPENDINGSTATUS **prgPendingStatus);
  4529. void __RPC_STUB IRowsetUpdate_GetPendingRows_Stub(
  4530. IRpcStubBuffer *This,
  4531. IRpcChannelBuffer *_pRpcChannelBuffer,
  4532. PRPC_MESSAGE _pRpcMessage,
  4533. DWORD *_pdwStubPhase);
  4534. HRESULT STDMETHODCALLTYPE IRowsetUpdate_GetRowStatus_Proxy(
  4535. IRowsetUpdate * This,
  4536. /* [in] */ HCHAPTER hReserved,
  4537. /* [in] */ DBCOUNTITEM cRows,
  4538. /* [size_is][in] */ const HROW rghRows[ ],
  4539. /* [size_is][out] */ DBPENDINGSTATUS rgPendingStatus[ ]);
  4540. void __RPC_STUB IRowsetUpdate_GetRowStatus_Stub(
  4541. IRpcStubBuffer *This,
  4542. IRpcChannelBuffer *_pRpcChannelBuffer,
  4543. PRPC_MESSAGE _pRpcMessage,
  4544. DWORD *_pdwStubPhase);
  4545. HRESULT STDMETHODCALLTYPE IRowsetUpdate_Undo_Proxy(
  4546. IRowsetUpdate * This,
  4547. /* [in] */ HCHAPTER hReserved,
  4548. /* [in] */ DBCOUNTITEM cRows,
  4549. /* [size_is][in] */ const HROW rghRows[ ],
  4550. /* [out][in] */ DBCOUNTITEM *pcRowsUndone,
  4551. /* [size_is][size_is][out] */ HROW **prgRowsUndone,
  4552. /* [size_is][size_is][out] */ DBROWSTATUS **prgRowStatus);
  4553. void __RPC_STUB IRowsetUpdate_Undo_Stub(
  4554. IRpcStubBuffer *This,
  4555. IRpcChannelBuffer *_pRpcChannelBuffer,
  4556. PRPC_MESSAGE _pRpcMessage,
  4557. DWORD *_pdwStubPhase);
  4558. HRESULT STDMETHODCALLTYPE IRowsetUpdate_Update_Proxy(
  4559. IRowsetUpdate * This,
  4560. /* [in] */ HCHAPTER hReserved,
  4561. /* [in] */ DBCOUNTITEM cRows,
  4562. /* [size_is][in] */ const HROW rghRows[ ],
  4563. /* [out][in] */ DBCOUNTITEM *pcRows,
  4564. /* [size_is][size_is][out] */ HROW **prgRows,
  4565. /* [size_is][size_is][out] */ DBROWSTATUS **prgRowStatus);
  4566. void __RPC_STUB IRowsetUpdate_Update_Stub(
  4567. IRpcStubBuffer *This,
  4568. IRpcChannelBuffer *_pRpcChannelBuffer,
  4569. PRPC_MESSAGE _pRpcMessage,
  4570. DWORD *_pdwStubPhase);
  4571. #endif /* __IRowsetUpdate_INTERFACE_DEFINED__ */
  4572. #ifndef __IRowsetIdentity_INTERFACE_DEFINED__
  4573. #define __IRowsetIdentity_INTERFACE_DEFINED__
  4574. /* interface IRowsetIdentity */
  4575. /* [unique][uuid][object] */
  4576. EXTERN_C const IID IID_IRowsetIdentity;
  4577. #if defined(__cplusplus) && !defined(CINTERFACE)
  4578. MIDL_INTERFACE("0c733a09-2a1c-11ce-ade5-00aa0044773d")
  4579. IRowsetIdentity : public IUnknown
  4580. {
  4581. public:
  4582. virtual /* [local] */ HRESULT STDMETHODCALLTYPE IsSameRow(
  4583. /* [in] */ HROW hThisRow,
  4584. /* [in] */ HROW hThatRow) = 0;
  4585. };
  4586. #else /* C style interface */
  4587. typedef struct IRowsetIdentityVtbl
  4588. {
  4589. BEGIN_INTERFACE
  4590. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4591. IRowsetIdentity * This,
  4592. /* [in] */ REFIID riid,
  4593. /* [iid_is][out] */ void **ppvObject);
  4594. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4595. IRowsetIdentity * This);
  4596. ULONG ( STDMETHODCALLTYPE *Release )(
  4597. IRowsetIdentity * This);
  4598. /* [local] */ HRESULT ( STDMETHODCALLTYPE *IsSameRow )(
  4599. IRowsetIdentity * This,
  4600. /* [in] */ HROW hThisRow,
  4601. /* [in] */ HROW hThatRow);
  4602. END_INTERFACE
  4603. } IRowsetIdentityVtbl;
  4604. interface IRowsetIdentity
  4605. {
  4606. CONST_VTBL struct IRowsetIdentityVtbl *lpVtbl;
  4607. };
  4608. #ifdef COBJMACROS
  4609. #define IRowsetIdentity_QueryInterface(This,riid,ppvObject) \
  4610. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4611. #define IRowsetIdentity_AddRef(This) \
  4612. (This)->lpVtbl -> AddRef(This)
  4613. #define IRowsetIdentity_Release(This) \
  4614. (This)->lpVtbl -> Release(This)
  4615. #define IRowsetIdentity_IsSameRow(This,hThisRow,hThatRow) \
  4616. (This)->lpVtbl -> IsSameRow(This,hThisRow,hThatRow)
  4617. #endif /* COBJMACROS */
  4618. #endif /* C style interface */
  4619. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetIdentity_RemoteIsSameRow_Proxy(
  4620. IRowsetIdentity * This,
  4621. /* [in] */ HROW hThisRow,
  4622. /* [in] */ HROW hThatRow,
  4623. /* [out] */ IErrorInfo **ppErrorInfoRem);
  4624. void __RPC_STUB IRowsetIdentity_RemoteIsSameRow_Stub(
  4625. IRpcStubBuffer *This,
  4626. IRpcChannelBuffer *_pRpcChannelBuffer,
  4627. PRPC_MESSAGE _pRpcMessage,
  4628. DWORD *_pdwStubPhase);
  4629. #endif /* __IRowsetIdentity_INTERFACE_DEFINED__ */
  4630. #ifndef __IRowsetNotify_INTERFACE_DEFINED__
  4631. #define __IRowsetNotify_INTERFACE_DEFINED__
  4632. /* interface IRowsetNotify */
  4633. /* [unique][uuid][object] */
  4634. EXTERN_C const IID IID_IRowsetNotify;
  4635. #if defined(__cplusplus) && !defined(CINTERFACE)
  4636. MIDL_INTERFACE("0c733a83-2a1c-11ce-ade5-00aa0044773d")
  4637. IRowsetNotify : public IUnknown
  4638. {
  4639. public:
  4640. virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnFieldChange(
  4641. /* [in] */ IRowset *pRowset,
  4642. /* [in] */ HROW hRow,
  4643. /* [in] */ DBORDINAL cColumns,
  4644. /* [size_is][in] */ DBORDINAL rgColumns[ ],
  4645. /* [in] */ DBREASON eReason,
  4646. /* [in] */ DBEVENTPHASE ePhase,
  4647. /* [in] */ BOOL fCantDeny) = 0;
  4648. virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnRowChange(
  4649. /* [in] */ IRowset *pRowset,
  4650. /* [in] */ DBCOUNTITEM cRows,
  4651. /* [size_is][in] */ const HROW rghRows[ ],
  4652. /* [in] */ DBREASON eReason,
  4653. /* [in] */ DBEVENTPHASE ePhase,
  4654. /* [in] */ BOOL fCantDeny) = 0;
  4655. virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnRowsetChange(
  4656. /* [in] */ IRowset *pRowset,
  4657. /* [in] */ DBREASON eReason,
  4658. /* [in] */ DBEVENTPHASE ePhase,
  4659. /* [in] */ BOOL fCantDeny) = 0;
  4660. };
  4661. #else /* C style interface */
  4662. typedef struct IRowsetNotifyVtbl
  4663. {
  4664. BEGIN_INTERFACE
  4665. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4666. IRowsetNotify * This,
  4667. /* [in] */ REFIID riid,
  4668. /* [iid_is][out] */ void **ppvObject);
  4669. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4670. IRowsetNotify * This);
  4671. ULONG ( STDMETHODCALLTYPE *Release )(
  4672. IRowsetNotify * This);
  4673. /* [local] */ HRESULT ( STDMETHODCALLTYPE *OnFieldChange )(
  4674. IRowsetNotify * This,
  4675. /* [in] */ IRowset *pRowset,
  4676. /* [in] */ HROW hRow,
  4677. /* [in] */ DBORDINAL cColumns,
  4678. /* [size_is][in] */ DBORDINAL rgColumns[ ],
  4679. /* [in] */ DBREASON eReason,
  4680. /* [in] */ DBEVENTPHASE ePhase,
  4681. /* [in] */ BOOL fCantDeny);
  4682. /* [local] */ HRESULT ( STDMETHODCALLTYPE *OnRowChange )(
  4683. IRowsetNotify * This,
  4684. /* [in] */ IRowset *pRowset,
  4685. /* [in] */ DBCOUNTITEM cRows,
  4686. /* [size_is][in] */ const HROW rghRows[ ],
  4687. /* [in] */ DBREASON eReason,
  4688. /* [in] */ DBEVENTPHASE ePhase,
  4689. /* [in] */ BOOL fCantDeny);
  4690. /* [local] */ HRESULT ( STDMETHODCALLTYPE *OnRowsetChange )(
  4691. IRowsetNotify * This,
  4692. /* [in] */ IRowset *pRowset,
  4693. /* [in] */ DBREASON eReason,
  4694. /* [in] */ DBEVENTPHASE ePhase,
  4695. /* [in] */ BOOL fCantDeny);
  4696. END_INTERFACE
  4697. } IRowsetNotifyVtbl;
  4698. interface IRowsetNotify
  4699. {
  4700. CONST_VTBL struct IRowsetNotifyVtbl *lpVtbl;
  4701. };
  4702. #ifdef COBJMACROS
  4703. #define IRowsetNotify_QueryInterface(This,riid,ppvObject) \
  4704. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4705. #define IRowsetNotify_AddRef(This) \
  4706. (This)->lpVtbl -> AddRef(This)
  4707. #define IRowsetNotify_Release(This) \
  4708. (This)->lpVtbl -> Release(This)
  4709. #define IRowsetNotify_OnFieldChange(This,pRowset,hRow,cColumns,rgColumns,eReason,ePhase,fCantDeny) \
  4710. (This)->lpVtbl -> OnFieldChange(This,pRowset,hRow,cColumns,rgColumns,eReason,ePhase,fCantDeny)
  4711. #define IRowsetNotify_OnRowChange(This,pRowset,cRows,rghRows,eReason,ePhase,fCantDeny) \
  4712. (This)->lpVtbl -> OnRowChange(This,pRowset,cRows,rghRows,eReason,ePhase,fCantDeny)
  4713. #define IRowsetNotify_OnRowsetChange(This,pRowset,eReason,ePhase,fCantDeny) \
  4714. (This)->lpVtbl -> OnRowsetChange(This,pRowset,eReason,ePhase,fCantDeny)
  4715. #endif /* COBJMACROS */
  4716. #endif /* C style interface */
  4717. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_RemoteOnFieldChange_Proxy(
  4718. IRowsetNotify * This,
  4719. /* [in] */ IRowset *pRowset,
  4720. /* [in] */ HROW hRow,
  4721. /* [in] */ DBORDINAL cColumns,
  4722. /* [size_is][in] */ DBORDINAL *rgColumns,
  4723. /* [in] */ DBREASON eReason,
  4724. /* [in] */ DBEVENTPHASE ePhase,
  4725. /* [in] */ BOOL fCantDeny);
  4726. void __RPC_STUB IRowsetNotify_RemoteOnFieldChange_Stub(
  4727. IRpcStubBuffer *This,
  4728. IRpcChannelBuffer *_pRpcChannelBuffer,
  4729. PRPC_MESSAGE _pRpcMessage,
  4730. DWORD *_pdwStubPhase);
  4731. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_RemoteOnRowChange_Proxy(
  4732. IRowsetNotify * This,
  4733. /* [in] */ IRowset *pRowset,
  4734. /* [in] */ DBCOUNTITEM cRows,
  4735. /* [size_is][in] */ const HROW *rghRows,
  4736. /* [in] */ DBREASON eReason,
  4737. /* [in] */ DBEVENTPHASE ePhase,
  4738. /* [in] */ BOOL fCantDeny);
  4739. void __RPC_STUB IRowsetNotify_RemoteOnRowChange_Stub(
  4740. IRpcStubBuffer *This,
  4741. IRpcChannelBuffer *_pRpcChannelBuffer,
  4742. PRPC_MESSAGE _pRpcMessage,
  4743. DWORD *_pdwStubPhase);
  4744. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_RemoteOnRowsetChange_Proxy(
  4745. IRowsetNotify * This,
  4746. /* [in] */ IRowset *pRowset,
  4747. /* [in] */ DBREASON eReason,
  4748. /* [in] */ DBEVENTPHASE ePhase,
  4749. /* [in] */ BOOL fCantDeny);
  4750. void __RPC_STUB IRowsetNotify_RemoteOnRowsetChange_Stub(
  4751. IRpcStubBuffer *This,
  4752. IRpcChannelBuffer *_pRpcChannelBuffer,
  4753. PRPC_MESSAGE _pRpcMessage,
  4754. DWORD *_pdwStubPhase);
  4755. #endif /* __IRowsetNotify_INTERFACE_DEFINED__ */
  4756. #ifndef __IRowsetIndex_INTERFACE_DEFINED__
  4757. #define __IRowsetIndex_INTERFACE_DEFINED__
  4758. /* interface IRowsetIndex */
  4759. /* [unique][uuid][object][local] */
  4760. typedef DWORD DBSEEK;
  4761. enum DBSEEKENUM
  4762. { DBSEEK_INVALID = 0,
  4763. DBSEEK_FIRSTEQ = 0x1,
  4764. DBSEEK_LASTEQ = 0x2,
  4765. DBSEEK_AFTEREQ = 0x4,
  4766. DBSEEK_AFTER = 0x8,
  4767. DBSEEK_BEFOREEQ = 0x10,
  4768. DBSEEK_BEFORE = 0x20
  4769. } ;
  4770. #define DBSEEK_GE DBSEEK_AFTEREQ
  4771. #define DBSEEK_GT DBSEEK_AFTER
  4772. #define DBSEEK_LE DBSEEK_BEFOREEQ
  4773. #define DBSEEK_LT DBSEEK_BEFORE
  4774. typedef DWORD DBRANGE;
  4775. enum DBRANGEENUM
  4776. { DBRANGE_INCLUSIVESTART = 0,
  4777. DBRANGE_INCLUSIVEEND = 0,
  4778. DBRANGE_EXCLUSIVESTART = 0x1,
  4779. DBRANGE_EXCLUSIVEEND = 0x2,
  4780. DBRANGE_EXCLUDENULLS = 0x4,
  4781. DBRANGE_PREFIX = 0x8,
  4782. DBRANGE_MATCH = 0x10
  4783. } ;
  4784. //@@@+ V2.0
  4785. #if( OLEDBVER >= 0x0200 )
  4786. enum DBRANGEENUM20
  4787. { DBRANGE_MATCH_N_SHIFT = 0x18,
  4788. DBRANGE_MATCH_N_MASK = 0xff
  4789. } ;
  4790. #endif // OLEDBVER >= 0x0200
  4791. //@@@- V2.0
  4792. EXTERN_C const IID IID_IRowsetIndex;
  4793. #if defined(__cplusplus) && !defined(CINTERFACE)
  4794. MIDL_INTERFACE("0c733a82-2a1c-11ce-ade5-00aa0044773d")
  4795. IRowsetIndex : public IUnknown
  4796. {
  4797. public:
  4798. virtual HRESULT STDMETHODCALLTYPE GetIndexInfo(
  4799. /* [out][in] */ DBORDINAL *pcKeyColumns,
  4800. /* [size_is][size_is][out] */ DBINDEXCOLUMNDESC **prgIndexColumnDesc,
  4801. /* [out][in] */ ULONG *pcIndexPropertySets,
  4802. /* [size_is][size_is][out] */ DBPROPSET **prgIndexPropertySets) = 0;
  4803. virtual HRESULT STDMETHODCALLTYPE Seek(
  4804. /* [in] */ HACCESSOR hAccessor,
  4805. /* [in] */ DBORDINAL cKeyValues,
  4806. /* [in] */ void *pData,
  4807. /* [in] */ DBSEEK dwSeekOptions) = 0;
  4808. virtual HRESULT STDMETHODCALLTYPE SetRange(
  4809. /* [in] */ HACCESSOR hAccessor,
  4810. /* [in] */ DBORDINAL cStartKeyColumns,
  4811. /* [in] */ void *pStartData,
  4812. /* [in] */ DBORDINAL cEndKeyColumns,
  4813. /* [in] */ void *pEndData,
  4814. /* [in] */ DBRANGE dwRangeOptions) = 0;
  4815. };
  4816. #else /* C style interface */
  4817. typedef struct IRowsetIndexVtbl
  4818. {
  4819. BEGIN_INTERFACE
  4820. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4821. IRowsetIndex * This,
  4822. /* [in] */ REFIID riid,
  4823. /* [iid_is][out] */ void **ppvObject);
  4824. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4825. IRowsetIndex * This);
  4826. ULONG ( STDMETHODCALLTYPE *Release )(
  4827. IRowsetIndex * This);
  4828. HRESULT ( STDMETHODCALLTYPE *GetIndexInfo )(
  4829. IRowsetIndex * This,
  4830. /* [out][in] */ DBORDINAL *pcKeyColumns,
  4831. /* [size_is][size_is][out] */ DBINDEXCOLUMNDESC **prgIndexColumnDesc,
  4832. /* [out][in] */ ULONG *pcIndexPropertySets,
  4833. /* [size_is][size_is][out] */ DBPROPSET **prgIndexPropertySets);
  4834. HRESULT ( STDMETHODCALLTYPE *Seek )(
  4835. IRowsetIndex * This,
  4836. /* [in] */ HACCESSOR hAccessor,
  4837. /* [in] */ DBORDINAL cKeyValues,
  4838. /* [in] */ void *pData,
  4839. /* [in] */ DBSEEK dwSeekOptions);
  4840. HRESULT ( STDMETHODCALLTYPE *SetRange )(
  4841. IRowsetIndex * This,
  4842. /* [in] */ HACCESSOR hAccessor,
  4843. /* [in] */ DBORDINAL cStartKeyColumns,
  4844. /* [in] */ void *pStartData,
  4845. /* [in] */ DBORDINAL cEndKeyColumns,
  4846. /* [in] */ void *pEndData,
  4847. /* [in] */ DBRANGE dwRangeOptions);
  4848. END_INTERFACE
  4849. } IRowsetIndexVtbl;
  4850. interface IRowsetIndex
  4851. {
  4852. CONST_VTBL struct IRowsetIndexVtbl *lpVtbl;
  4853. };
  4854. #ifdef COBJMACROS
  4855. #define IRowsetIndex_QueryInterface(This,riid,ppvObject) \
  4856. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4857. #define IRowsetIndex_AddRef(This) \
  4858. (This)->lpVtbl -> AddRef(This)
  4859. #define IRowsetIndex_Release(This) \
  4860. (This)->lpVtbl -> Release(This)
  4861. #define IRowsetIndex_GetIndexInfo(This,pcKeyColumns,prgIndexColumnDesc,pcIndexPropertySets,prgIndexPropertySets) \
  4862. (This)->lpVtbl -> GetIndexInfo(This,pcKeyColumns,prgIndexColumnDesc,pcIndexPropertySets,prgIndexPropertySets)
  4863. #define IRowsetIndex_Seek(This,hAccessor,cKeyValues,pData,dwSeekOptions) \
  4864. (This)->lpVtbl -> Seek(This,hAccessor,cKeyValues,pData,dwSeekOptions)
  4865. #define IRowsetIndex_SetRange(This,hAccessor,cStartKeyColumns,pStartData,cEndKeyColumns,pEndData,dwRangeOptions) \
  4866. (This)->lpVtbl -> SetRange(This,hAccessor,cStartKeyColumns,pStartData,cEndKeyColumns,pEndData,dwRangeOptions)
  4867. #endif /* COBJMACROS */
  4868. #endif /* C style interface */
  4869. HRESULT STDMETHODCALLTYPE IRowsetIndex_GetIndexInfo_Proxy(
  4870. IRowsetIndex * This,
  4871. /* [out][in] */ DBORDINAL *pcKeyColumns,
  4872. /* [size_is][size_is][out] */ DBINDEXCOLUMNDESC **prgIndexColumnDesc,
  4873. /* [out][in] */ ULONG *pcIndexPropertySets,
  4874. /* [size_is][size_is][out] */ DBPROPSET **prgIndexPropertySets);
  4875. void __RPC_STUB IRowsetIndex_GetIndexInfo_Stub(
  4876. IRpcStubBuffer *This,
  4877. IRpcChannelBuffer *_pRpcChannelBuffer,
  4878. PRPC_MESSAGE _pRpcMessage,
  4879. DWORD *_pdwStubPhase);
  4880. HRESULT STDMETHODCALLTYPE IRowsetIndex_Seek_Proxy(
  4881. IRowsetIndex * This,
  4882. /* [in] */ HACCESSOR hAccessor,
  4883. /* [in] */ DBORDINAL cKeyValues,
  4884. /* [in] */ void *pData,
  4885. /* [in] */ DBSEEK dwSeekOptions);
  4886. void __RPC_STUB IRowsetIndex_Seek_Stub(
  4887. IRpcStubBuffer *This,
  4888. IRpcChannelBuffer *_pRpcChannelBuffer,
  4889. PRPC_MESSAGE _pRpcMessage,
  4890. DWORD *_pdwStubPhase);
  4891. HRESULT STDMETHODCALLTYPE IRowsetIndex_SetRange_Proxy(
  4892. IRowsetIndex * This,
  4893. /* [in] */ HACCESSOR hAccessor,
  4894. /* [in] */ DBORDINAL cStartKeyColumns,
  4895. /* [in] */ void *pStartData,
  4896. /* [in] */ DBORDINAL cEndKeyColumns,
  4897. /* [in] */ void *pEndData,
  4898. /* [in] */ DBRANGE dwRangeOptions);
  4899. void __RPC_STUB IRowsetIndex_SetRange_Stub(
  4900. IRpcStubBuffer *This,
  4901. IRpcChannelBuffer *_pRpcChannelBuffer,
  4902. PRPC_MESSAGE _pRpcMessage,
  4903. DWORD *_pdwStubPhase);
  4904. #endif /* __IRowsetIndex_INTERFACE_DEFINED__ */
  4905. #ifndef __ICommand_INTERFACE_DEFINED__
  4906. #define __ICommand_INTERFACE_DEFINED__
  4907. /* interface ICommand */
  4908. /* [unique][uuid][object] */
  4909. EXTERN_C const IID IID_ICommand;
  4910. #if defined(__cplusplus) && !defined(CINTERFACE)
  4911. MIDL_INTERFACE("0c733a63-2a1c-11ce-ade5-00aa0044773d")
  4912. ICommand : public IUnknown
  4913. {
  4914. public:
  4915. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  4916. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Execute(
  4917. /* [in] */ IUnknown *pUnkOuter,
  4918. /* [in] */ REFIID riid,
  4919. /* [out][in] */ DBPARAMS *pParams,
  4920. /* [out] */ DBROWCOUNT *pcRowsAffected,
  4921. /* [iid_is][out] */ IUnknown **ppRowset) = 0;
  4922. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDBSession(
  4923. /* [in] */ REFIID riid,
  4924. /* [iid_is][out] */ IUnknown **ppSession) = 0;
  4925. };
  4926. #else /* C style interface */
  4927. typedef struct ICommandVtbl
  4928. {
  4929. BEGIN_INTERFACE
  4930. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4931. ICommand * This,
  4932. /* [in] */ REFIID riid,
  4933. /* [iid_is][out] */ void **ppvObject);
  4934. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4935. ICommand * This);
  4936. ULONG ( STDMETHODCALLTYPE *Release )(
  4937. ICommand * This);
  4938. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Cancel )(
  4939. ICommand * This);
  4940. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Execute )(
  4941. ICommand * This,
  4942. /* [in] */ IUnknown *pUnkOuter,
  4943. /* [in] */ REFIID riid,
  4944. /* [out][in] */ DBPARAMS *pParams,
  4945. /* [out] */ DBROWCOUNT *pcRowsAffected,
  4946. /* [iid_is][out] */ IUnknown **ppRowset);
  4947. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetDBSession )(
  4948. ICommand * This,
  4949. /* [in] */ REFIID riid,
  4950. /* [iid_is][out] */ IUnknown **ppSession);
  4951. END_INTERFACE
  4952. } ICommandVtbl;
  4953. interface ICommand
  4954. {
  4955. CONST_VTBL struct ICommandVtbl *lpVtbl;
  4956. };
  4957. #ifdef COBJMACROS
  4958. #define ICommand_QueryInterface(This,riid,ppvObject) \
  4959. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4960. #define ICommand_AddRef(This) \
  4961. (This)->lpVtbl -> AddRef(This)
  4962. #define ICommand_Release(This) \
  4963. (This)->lpVtbl -> Release(This)
  4964. #define ICommand_Cancel(This) \
  4965. (This)->lpVtbl -> Cancel(This)
  4966. #define ICommand_Execute(This,pUnkOuter,riid,pParams,pcRowsAffected,ppRowset) \
  4967. (This)->lpVtbl -> Execute(This,pUnkOuter,riid,pParams,pcRowsAffected,ppRowset)
  4968. #define ICommand_GetDBSession(This,riid,ppSession) \
  4969. (This)->lpVtbl -> GetDBSession(This,riid,ppSession)
  4970. #endif /* COBJMACROS */
  4971. #endif /* C style interface */
  4972. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommand_RemoteCancel_Proxy(
  4973. ICommand * This,
  4974. /* [out] */ IErrorInfo **ppErrorInfoRem);
  4975. void __RPC_STUB ICommand_RemoteCancel_Stub(
  4976. IRpcStubBuffer *This,
  4977. IRpcChannelBuffer *_pRpcChannelBuffer,
  4978. PRPC_MESSAGE _pRpcMessage,
  4979. DWORD *_pdwStubPhase);
  4980. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommand_RemoteExecute_Proxy(
  4981. ICommand * This,
  4982. /* [in] */ IUnknown *pUnkOuter,
  4983. /* [in] */ REFIID riid,
  4984. /* [in] */ HACCESSOR hAccessor,
  4985. /* [in] */ DB_UPARAMS cParamSets,
  4986. /* [unique][in] */ GUID *pGuid,
  4987. /* [in] */ ULONG ulGuidOffset,
  4988. /* [unique][in] */ RMTPACK *pInputParams,
  4989. /* [unique][out][in] */ RMTPACK *pOutputParams,
  4990. /* [in] */ DBCOUNTITEM cBindings,
  4991. /* [size_is][unique][in] */ DBBINDING *rgBindings,
  4992. /* [size_is][unique][out][in] */ DBSTATUS *rgStatus,
  4993. /* [unique][out][in] */ DBROWCOUNT *pcRowsAffected,
  4994. /* [iid_is][unique][out][in] */ IUnknown **ppRowset);
  4995. void __RPC_STUB ICommand_RemoteExecute_Stub(
  4996. IRpcStubBuffer *This,
  4997. IRpcChannelBuffer *_pRpcChannelBuffer,
  4998. PRPC_MESSAGE _pRpcMessage,
  4999. DWORD *_pdwStubPhase);
  5000. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommand_RemoteGetDBSession_Proxy(
  5001. ICommand * This,
  5002. /* [in] */ REFIID riid,
  5003. /* [iid_is][out] */ IUnknown **ppSession,
  5004. /* [out] */ IErrorInfo **ppErrorInfoRem);
  5005. void __RPC_STUB ICommand_RemoteGetDBSession_Stub(
  5006. IRpcStubBuffer *This,
  5007. IRpcChannelBuffer *_pRpcChannelBuffer,
  5008. PRPC_MESSAGE _pRpcMessage,
  5009. DWORD *_pdwStubPhase);
  5010. #endif /* __ICommand_INTERFACE_DEFINED__ */
  5011. #ifndef __IMultipleResults_INTERFACE_DEFINED__
  5012. #define __IMultipleResults_INTERFACE_DEFINED__
  5013. /* interface IMultipleResults */
  5014. /* [unique][uuid][object] */
  5015. typedef DB_LRESERVE DBRESULTFLAG;
  5016. enum DBRESULTFLAGENUM
  5017. { DBRESULTFLAG_DEFAULT = 0,
  5018. DBRESULTFLAG_ROWSET = 1,
  5019. DBRESULTFLAG_ROW = 2
  5020. } ;
  5021. EXTERN_C const IID IID_IMultipleResults;
  5022. #if defined(__cplusplus) && !defined(CINTERFACE)
  5023. MIDL_INTERFACE("0c733a90-2a1c-11ce-ade5-00aa0044773d")
  5024. IMultipleResults : public IUnknown
  5025. {
  5026. public:
  5027. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetResult(
  5028. /* [in] */ IUnknown *pUnkOuter,
  5029. /* [in] */ DBRESULTFLAG lResultFlag,
  5030. /* [in] */ REFIID riid,
  5031. /* [out] */ DBROWCOUNT *pcRowsAffected,
  5032. /* [iid_is][out] */ IUnknown **ppRowset) = 0;
  5033. };
  5034. #else /* C style interface */
  5035. typedef struct IMultipleResultsVtbl
  5036. {
  5037. BEGIN_INTERFACE
  5038. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5039. IMultipleResults * This,
  5040. /* [in] */ REFIID riid,
  5041. /* [iid_is][out] */ void **ppvObject);
  5042. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5043. IMultipleResults * This);
  5044. ULONG ( STDMETHODCALLTYPE *Release )(
  5045. IMultipleResults * This);
  5046. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetResult )(
  5047. IMultipleResults * This,
  5048. /* [in] */ IUnknown *pUnkOuter,
  5049. /* [in] */ DBRESULTFLAG lResultFlag,
  5050. /* [in] */ REFIID riid,
  5051. /* [out] */ DBROWCOUNT *pcRowsAffected,
  5052. /* [iid_is][out] */ IUnknown **ppRowset);
  5053. END_INTERFACE
  5054. } IMultipleResultsVtbl;
  5055. interface IMultipleResults
  5056. {
  5057. CONST_VTBL struct IMultipleResultsVtbl *lpVtbl;
  5058. };
  5059. #ifdef COBJMACROS
  5060. #define IMultipleResults_QueryInterface(This,riid,ppvObject) \
  5061. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5062. #define IMultipleResults_AddRef(This) \
  5063. (This)->lpVtbl -> AddRef(This)
  5064. #define IMultipleResults_Release(This) \
  5065. (This)->lpVtbl -> Release(This)
  5066. #define IMultipleResults_GetResult(This,pUnkOuter,lResultFlag,riid,pcRowsAffected,ppRowset) \
  5067. (This)->lpVtbl -> GetResult(This,pUnkOuter,lResultFlag,riid,pcRowsAffected,ppRowset)
  5068. #endif /* COBJMACROS */
  5069. #endif /* C style interface */
  5070. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMultipleResults_RemoteGetResult_Proxy(
  5071. IMultipleResults * This,
  5072. /* [in] */ IUnknown *pUnkOuter,
  5073. /* [in] */ DBRESULTFLAG lResultFlag,
  5074. /* [in] */ REFIID riid,
  5075. /* [unique][out][in] */ DBROWCOUNT *pcRowsAffected,
  5076. /* [iid_is][unique][out][in] */ IUnknown **ppRowset,
  5077. /* [out] */ IErrorInfo **ppErrorInfoRem);
  5078. void __RPC_STUB IMultipleResults_RemoteGetResult_Stub(
  5079. IRpcStubBuffer *This,
  5080. IRpcChannelBuffer *_pRpcChannelBuffer,
  5081. PRPC_MESSAGE _pRpcMessage,
  5082. DWORD *_pdwStubPhase);
  5083. #endif /* __IMultipleResults_INTERFACE_DEFINED__ */
  5084. #ifndef __IConvertType_INTERFACE_DEFINED__
  5085. #define __IConvertType_INTERFACE_DEFINED__
  5086. /* interface IConvertType */
  5087. /* [unique][uuid][object] */
  5088. typedef DWORD DBCONVERTFLAGS;
  5089. enum DBCONVERTFLAGSENUM
  5090. { DBCONVERTFLAGS_COLUMN = 0,
  5091. DBCONVERTFLAGS_PARAMETER = 0x1
  5092. } ;
  5093. //@@@+ V2.0
  5094. #if( OLEDBVER >= 0x0200 )
  5095. enum DBCONVERTFLAGSENUM20
  5096. { DBCONVERTFLAGS_ISLONG = 0x2,
  5097. DBCONVERTFLAGS_ISFIXEDLENGTH = 0x4,
  5098. DBCONVERTFLAGS_FROMVARIANT = 0x8
  5099. } ;
  5100. #endif // OLEDBVER >= 0x0200
  5101. //@@@- V2.0
  5102. EXTERN_C const IID IID_IConvertType;
  5103. #if defined(__cplusplus) && !defined(CINTERFACE)
  5104. MIDL_INTERFACE("0c733a88-2a1c-11ce-ade5-00aa0044773d")
  5105. IConvertType : public IUnknown
  5106. {
  5107. public:
  5108. virtual /* [local] */ HRESULT STDMETHODCALLTYPE CanConvert(
  5109. /* [in] */ DBTYPE wFromType,
  5110. /* [in] */ DBTYPE wToType,
  5111. /* [in] */ DBCONVERTFLAGS dwConvertFlags) = 0;
  5112. };
  5113. #else /* C style interface */
  5114. typedef struct IConvertTypeVtbl
  5115. {
  5116. BEGIN_INTERFACE
  5117. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5118. IConvertType * This,
  5119. /* [in] */ REFIID riid,
  5120. /* [iid_is][out] */ void **ppvObject);
  5121. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5122. IConvertType * This);
  5123. ULONG ( STDMETHODCALLTYPE *Release )(
  5124. IConvertType * This);
  5125. /* [local] */ HRESULT ( STDMETHODCALLTYPE *CanConvert )(
  5126. IConvertType * This,
  5127. /* [in] */ DBTYPE wFromType,
  5128. /* [in] */ DBTYPE wToType,
  5129. /* [in] */ DBCONVERTFLAGS dwConvertFlags);
  5130. END_INTERFACE
  5131. } IConvertTypeVtbl;
  5132. interface IConvertType
  5133. {
  5134. CONST_VTBL struct IConvertTypeVtbl *lpVtbl;
  5135. };
  5136. #ifdef COBJMACROS
  5137. #define IConvertType_QueryInterface(This,riid,ppvObject) \
  5138. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5139. #define IConvertType_AddRef(This) \
  5140. (This)->lpVtbl -> AddRef(This)
  5141. #define IConvertType_Release(This) \
  5142. (This)->lpVtbl -> Release(This)
  5143. #define IConvertType_CanConvert(This,wFromType,wToType,dwConvertFlags) \
  5144. (This)->lpVtbl -> CanConvert(This,wFromType,wToType,dwConvertFlags)
  5145. #endif /* COBJMACROS */
  5146. #endif /* C style interface */
  5147. /* [call_as] */ HRESULT STDMETHODCALLTYPE IConvertType_RemoteCanConvert_Proxy(
  5148. IConvertType * This,
  5149. /* [in] */ DBTYPE wFromType,
  5150. /* [in] */ DBTYPE wToType,
  5151. /* [in] */ DBCONVERTFLAGS dwConvertFlags,
  5152. /* [out] */ IErrorInfo **ppErrorInfoRem);
  5153. void __RPC_STUB IConvertType_RemoteCanConvert_Stub(
  5154. IRpcStubBuffer *This,
  5155. IRpcChannelBuffer *_pRpcChannelBuffer,
  5156. PRPC_MESSAGE _pRpcMessage,
  5157. DWORD *_pdwStubPhase);
  5158. #endif /* __IConvertType_INTERFACE_DEFINED__ */
  5159. #ifndef __ICommandPrepare_INTERFACE_DEFINED__
  5160. #define __ICommandPrepare_INTERFACE_DEFINED__
  5161. /* interface ICommandPrepare */
  5162. /* [unique][uuid][object] */
  5163. EXTERN_C const IID IID_ICommandPrepare;
  5164. #if defined(__cplusplus) && !defined(CINTERFACE)
  5165. MIDL_INTERFACE("0c733a26-2a1c-11ce-ade5-00aa0044773d")
  5166. ICommandPrepare : public IUnknown
  5167. {
  5168. public:
  5169. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Prepare(
  5170. /* [in] */ ULONG cExpectedRuns) = 0;
  5171. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Unprepare( void) = 0;
  5172. };
  5173. #else /* C style interface */
  5174. typedef struct ICommandPrepareVtbl
  5175. {
  5176. BEGIN_INTERFACE
  5177. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5178. ICommandPrepare * This,
  5179. /* [in] */ REFIID riid,
  5180. /* [iid_is][out] */ void **ppvObject);
  5181. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5182. ICommandPrepare * This);
  5183. ULONG ( STDMETHODCALLTYPE *Release )(
  5184. ICommandPrepare * This);
  5185. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Prepare )(
  5186. ICommandPrepare * This,
  5187. /* [in] */ ULONG cExpectedRuns);
  5188. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Unprepare )(
  5189. ICommandPrepare * This);
  5190. END_INTERFACE
  5191. } ICommandPrepareVtbl;
  5192. interface ICommandPrepare
  5193. {
  5194. CONST_VTBL struct ICommandPrepareVtbl *lpVtbl;
  5195. };
  5196. #ifdef COBJMACROS
  5197. #define ICommandPrepare_QueryInterface(This,riid,ppvObject) \
  5198. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5199. #define ICommandPrepare_AddRef(This) \
  5200. (This)->lpVtbl -> AddRef(This)
  5201. #define ICommandPrepare_Release(This) \
  5202. (This)->lpVtbl -> Release(This)
  5203. #define ICommandPrepare_Prepare(This,cExpectedRuns) \
  5204. (This)->lpVtbl -> Prepare(This,cExpectedRuns)
  5205. #define ICommandPrepare_Unprepare(This) \
  5206. (This)->lpVtbl -> Unprepare(This)
  5207. #endif /* COBJMACROS */
  5208. #endif /* C style interface */
  5209. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandPrepare_RemotePrepare_Proxy(
  5210. ICommandPrepare * This,
  5211. /* [in] */ ULONG cExpectedRuns,
  5212. /* [out] */ IErrorInfo **ppErrorInfoRem);
  5213. void __RPC_STUB ICommandPrepare_RemotePrepare_Stub(
  5214. IRpcStubBuffer *This,
  5215. IRpcChannelBuffer *_pRpcChannelBuffer,
  5216. PRPC_MESSAGE _pRpcMessage,
  5217. DWORD *_pdwStubPhase);
  5218. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandPrepare_RemoteUnprepare_Proxy(
  5219. ICommandPrepare * This,
  5220. /* [out] */ IErrorInfo **ppErrorInfoRem);
  5221. void __RPC_STUB ICommandPrepare_RemoteUnprepare_Stub(
  5222. IRpcStubBuffer *This,
  5223. IRpcChannelBuffer *_pRpcChannelBuffer,
  5224. PRPC_MESSAGE _pRpcMessage,
  5225. DWORD *_pdwStubPhase);
  5226. #endif /* __ICommandPrepare_INTERFACE_DEFINED__ */
  5227. #ifndef __ICommandProperties_INTERFACE_DEFINED__
  5228. #define __ICommandProperties_INTERFACE_DEFINED__
  5229. /* interface ICommandProperties */
  5230. /* [unique][uuid][object] */
  5231. EXTERN_C const IID IID_ICommandProperties;
  5232. #if defined(__cplusplus) && !defined(CINTERFACE)
  5233. MIDL_INTERFACE("0c733a79-2a1c-11ce-ade5-00aa0044773d")
  5234. ICommandProperties : public IUnknown
  5235. {
  5236. public:
  5237. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetProperties(
  5238. /* [in] */ const ULONG cPropertyIDSets,
  5239. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  5240. /* [out][in] */ ULONG *pcPropertySets,
  5241. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets) = 0;
  5242. virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetProperties(
  5243. /* [in] */ ULONG cPropertySets,
  5244. /* [size_is][unique][out][in] */ DBPROPSET rgPropertySets[ ]) = 0;
  5245. };
  5246. #else /* C style interface */
  5247. typedef struct ICommandPropertiesVtbl
  5248. {
  5249. BEGIN_INTERFACE
  5250. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5251. ICommandProperties * This,
  5252. /* [in] */ REFIID riid,
  5253. /* [iid_is][out] */ void **ppvObject);
  5254. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5255. ICommandProperties * This);
  5256. ULONG ( STDMETHODCALLTYPE *Release )(
  5257. ICommandProperties * This);
  5258. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
  5259. ICommandProperties * This,
  5260. /* [in] */ const ULONG cPropertyIDSets,
  5261. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  5262. /* [out][in] */ ULONG *pcPropertySets,
  5263. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets);
  5264. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetProperties )(
  5265. ICommandProperties * This,
  5266. /* [in] */ ULONG cPropertySets,
  5267. /* [size_is][unique][out][in] */ DBPROPSET rgPropertySets[ ]);
  5268. END_INTERFACE
  5269. } ICommandPropertiesVtbl;
  5270. interface ICommandProperties
  5271. {
  5272. CONST_VTBL struct ICommandPropertiesVtbl *lpVtbl;
  5273. };
  5274. #ifdef COBJMACROS
  5275. #define ICommandProperties_QueryInterface(This,riid,ppvObject) \
  5276. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5277. #define ICommandProperties_AddRef(This) \
  5278. (This)->lpVtbl -> AddRef(This)
  5279. #define ICommandProperties_Release(This) \
  5280. (This)->lpVtbl -> Release(This)
  5281. #define ICommandProperties_GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets) \
  5282. (This)->lpVtbl -> GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  5283. #define ICommandProperties_SetProperties(This,cPropertySets,rgPropertySets) \
  5284. (This)->lpVtbl -> SetProperties(This,cPropertySets,rgPropertySets)
  5285. #endif /* COBJMACROS */
  5286. #endif /* C style interface */
  5287. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandProperties_RemoteGetProperties_Proxy(
  5288. ICommandProperties * This,
  5289. /* [in] */ const ULONG cPropertyIDSets,
  5290. /* [size_is][unique][in] */ const DBPROPIDSET *rgPropertyIDSets,
  5291. /* [out][in] */ ULONG *pcPropertySets,
  5292. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets,
  5293. /* [out] */ IErrorInfo **ppErrorInfoRem);
  5294. void __RPC_STUB ICommandProperties_RemoteGetProperties_Stub(
  5295. IRpcStubBuffer *This,
  5296. IRpcChannelBuffer *_pRpcChannelBuffer,
  5297. PRPC_MESSAGE _pRpcMessage,
  5298. DWORD *_pdwStubPhase);
  5299. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandProperties_RemoteSetProperties_Proxy(
  5300. ICommandProperties * This,
  5301. /* [in] */ ULONG cPropertySets,
  5302. /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  5303. /* [in] */ ULONG cTotalProps,
  5304. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  5305. /* [out] */ IErrorInfo **ppErrorInfoRem);
  5306. void __RPC_STUB ICommandProperties_RemoteSetProperties_Stub(
  5307. IRpcStubBuffer *This,
  5308. IRpcChannelBuffer *_pRpcChannelBuffer,
  5309. PRPC_MESSAGE _pRpcMessage,
  5310. DWORD *_pdwStubPhase);
  5311. #endif /* __ICommandProperties_INTERFACE_DEFINED__ */
  5312. #ifndef __ICommandText_INTERFACE_DEFINED__
  5313. #define __ICommandText_INTERFACE_DEFINED__
  5314. /* interface ICommandText */
  5315. /* [unique][uuid][object] */
  5316. EXTERN_C const IID IID_ICommandText;
  5317. #if defined(__cplusplus) && !defined(CINTERFACE)
  5318. MIDL_INTERFACE("0c733a27-2a1c-11ce-ade5-00aa0044773d")
  5319. ICommandText : public ICommand
  5320. {
  5321. public:
  5322. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetCommandText(
  5323. /* [out][in] */ GUID *pguidDialect,
  5324. /* [out] */ LPOLESTR *ppwszCommand) = 0;
  5325. virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetCommandText(
  5326. /* [in] */ REFGUID rguidDialect,
  5327. /* [unique][in] */ LPCOLESTR pwszCommand) = 0;
  5328. };
  5329. #else /* C style interface */
  5330. typedef struct ICommandTextVtbl
  5331. {
  5332. BEGIN_INTERFACE
  5333. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5334. ICommandText * This,
  5335. /* [in] */ REFIID riid,
  5336. /* [iid_is][out] */ void **ppvObject);
  5337. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5338. ICommandText * This);
  5339. ULONG ( STDMETHODCALLTYPE *Release )(
  5340. ICommandText * This);
  5341. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Cancel )(
  5342. ICommandText * This);
  5343. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Execute )(
  5344. ICommandText * This,
  5345. /* [in] */ IUnknown *pUnkOuter,
  5346. /* [in] */ REFIID riid,
  5347. /* [out][in] */ DBPARAMS *pParams,
  5348. /* [out] */ DBROWCOUNT *pcRowsAffected,
  5349. /* [iid_is][out] */ IUnknown **ppRowset);
  5350. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetDBSession )(
  5351. ICommandText * This,
  5352. /* [in] */ REFIID riid,
  5353. /* [iid_is][out] */ IUnknown **ppSession);
  5354. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetCommandText )(
  5355. ICommandText * This,
  5356. /* [out][in] */ GUID *pguidDialect,
  5357. /* [out] */ LPOLESTR *ppwszCommand);
  5358. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetCommandText )(
  5359. ICommandText * This,
  5360. /* [in] */ REFGUID rguidDialect,
  5361. /* [unique][in] */ LPCOLESTR pwszCommand);
  5362. END_INTERFACE
  5363. } ICommandTextVtbl;
  5364. interface ICommandText
  5365. {
  5366. CONST_VTBL struct ICommandTextVtbl *lpVtbl;
  5367. };
  5368. #ifdef COBJMACROS
  5369. #define ICommandText_QueryInterface(This,riid,ppvObject) \
  5370. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5371. #define ICommandText_AddRef(This) \
  5372. (This)->lpVtbl -> AddRef(This)
  5373. #define ICommandText_Release(This) \
  5374. (This)->lpVtbl -> Release(This)
  5375. #define ICommandText_Cancel(This) \
  5376. (This)->lpVtbl -> Cancel(This)
  5377. #define ICommandText_Execute(This,pUnkOuter,riid,pParams,pcRowsAffected,ppRowset) \
  5378. (This)->lpVtbl -> Execute(This,pUnkOuter,riid,pParams,pcRowsAffected,ppRowset)
  5379. #define ICommandText_GetDBSession(This,riid,ppSession) \
  5380. (This)->lpVtbl -> GetDBSession(This,riid,ppSession)
  5381. #define ICommandText_GetCommandText(This,pguidDialect,ppwszCommand) \
  5382. (This)->lpVtbl -> GetCommandText(This,pguidDialect,ppwszCommand)
  5383. #define ICommandText_SetCommandText(This,rguidDialect,pwszCommand) \
  5384. (This)->lpVtbl -> SetCommandText(This,rguidDialect,pwszCommand)
  5385. #endif /* COBJMACROS */
  5386. #endif /* C style interface */
  5387. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandText_RemoteGetCommandText_Proxy(
  5388. ICommandText * This,
  5389. /* [unique][out][in] */ GUID *pguidDialect,
  5390. /* [out] */ LPOLESTR *ppwszCommand,
  5391. /* [out] */ IErrorInfo **ppErrorInfoRem);
  5392. void __RPC_STUB ICommandText_RemoteGetCommandText_Stub(
  5393. IRpcStubBuffer *This,
  5394. IRpcChannelBuffer *_pRpcChannelBuffer,
  5395. PRPC_MESSAGE _pRpcMessage,
  5396. DWORD *_pdwStubPhase);
  5397. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandText_RemoteSetCommandText_Proxy(
  5398. ICommandText * This,
  5399. /* [in] */ REFGUID rguidDialect,
  5400. /* [unique][in] */ LPCOLESTR pwszCommand,
  5401. /* [out] */ IErrorInfo **ppErrorInfoRem);
  5402. void __RPC_STUB ICommandText_RemoteSetCommandText_Stub(
  5403. IRpcStubBuffer *This,
  5404. IRpcChannelBuffer *_pRpcChannelBuffer,
  5405. PRPC_MESSAGE _pRpcMessage,
  5406. DWORD *_pdwStubPhase);
  5407. #endif /* __ICommandText_INTERFACE_DEFINED__ */
  5408. #ifndef __ICommandWithParameters_INTERFACE_DEFINED__
  5409. #define __ICommandWithParameters_INTERFACE_DEFINED__
  5410. /* interface ICommandWithParameters */
  5411. /* [unique][uuid][object] */
  5412. typedef struct tagDBPARAMBINDINFO
  5413. {
  5414. LPOLESTR pwszDataSourceType;
  5415. LPOLESTR pwszName;
  5416. DBLENGTH ulParamSize;
  5417. DBPARAMFLAGS dwFlags;
  5418. BYTE bPrecision;
  5419. BYTE bScale;
  5420. } DBPARAMBINDINFO;
  5421. EXTERN_C const IID IID_ICommandWithParameters;
  5422. #if defined(__cplusplus) && !defined(CINTERFACE)
  5423. MIDL_INTERFACE("0c733a64-2a1c-11ce-ade5-00aa0044773d")
  5424. ICommandWithParameters : public IUnknown
  5425. {
  5426. public:
  5427. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetParameterInfo(
  5428. /* [out][in] */ DB_UPARAMS *pcParams,
  5429. /* [size_is][size_is][out] */ DBPARAMINFO **prgParamInfo,
  5430. /* [out] */ OLECHAR **ppNamesBuffer) = 0;
  5431. virtual /* [local] */ HRESULT STDMETHODCALLTYPE MapParameterNames(
  5432. /* [in] */ DB_UPARAMS cParamNames,
  5433. /* [size_is][in] */ const OLECHAR *rgParamNames[ ],
  5434. /* [size_is][out] */ DB_LPARAMS rgParamOrdinals[ ]) = 0;
  5435. virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetParameterInfo(
  5436. /* [in] */ DB_UPARAMS cParams,
  5437. /* [size_is][unique][in] */ const DB_UPARAMS rgParamOrdinals[ ],
  5438. /* [size_is][unique][in] */ const DBPARAMBINDINFO rgParamBindInfo[ ]) = 0;
  5439. };
  5440. #else /* C style interface */
  5441. typedef struct ICommandWithParametersVtbl
  5442. {
  5443. BEGIN_INTERFACE
  5444. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5445. ICommandWithParameters * This,
  5446. /* [in] */ REFIID riid,
  5447. /* [iid_is][out] */ void **ppvObject);
  5448. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5449. ICommandWithParameters * This);
  5450. ULONG ( STDMETHODCALLTYPE *Release )(
  5451. ICommandWithParameters * This);
  5452. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetParameterInfo )(
  5453. ICommandWithParameters * This,
  5454. /* [out][in] */ DB_UPARAMS *pcParams,
  5455. /* [size_is][size_is][out] */ DBPARAMINFO **prgParamInfo,
  5456. /* [out] */ OLECHAR **ppNamesBuffer);
  5457. /* [local] */ HRESULT ( STDMETHODCALLTYPE *MapParameterNames )(
  5458. ICommandWithParameters * This,
  5459. /* [in] */ DB_UPARAMS cParamNames,
  5460. /* [size_is][in] */ const OLECHAR *rgParamNames[ ],
  5461. /* [size_is][out] */ DB_LPARAMS rgParamOrdinals[ ]);
  5462. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetParameterInfo )(
  5463. ICommandWithParameters * This,
  5464. /* [in] */ DB_UPARAMS cParams,
  5465. /* [size_is][unique][in] */ const DB_UPARAMS rgParamOrdinals[ ],
  5466. /* [size_is][unique][in] */ const DBPARAMBINDINFO rgParamBindInfo[ ]);
  5467. END_INTERFACE
  5468. } ICommandWithParametersVtbl;
  5469. interface ICommandWithParameters
  5470. {
  5471. CONST_VTBL struct ICommandWithParametersVtbl *lpVtbl;
  5472. };
  5473. #ifdef COBJMACROS
  5474. #define ICommandWithParameters_QueryInterface(This,riid,ppvObject) \
  5475. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5476. #define ICommandWithParameters_AddRef(This) \
  5477. (This)->lpVtbl -> AddRef(This)
  5478. #define ICommandWithParameters_Release(This) \
  5479. (This)->lpVtbl -> Release(This)
  5480. #define ICommandWithParameters_GetParameterInfo(This,pcParams,prgParamInfo,ppNamesBuffer) \
  5481. (This)->lpVtbl -> GetParameterInfo(This,pcParams,prgParamInfo,ppNamesBuffer)
  5482. #define ICommandWithParameters_MapParameterNames(This,cParamNames,rgParamNames,rgParamOrdinals) \
  5483. (This)->lpVtbl -> MapParameterNames(This,cParamNames,rgParamNames,rgParamOrdinals)
  5484. #define ICommandWithParameters_SetParameterInfo(This,cParams,rgParamOrdinals,rgParamBindInfo) \
  5485. (This)->lpVtbl -> SetParameterInfo(This,cParams,rgParamOrdinals,rgParamBindInfo)
  5486. #endif /* COBJMACROS */
  5487. #endif /* C style interface */
  5488. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_RemoteGetParameterInfo_Proxy(
  5489. ICommandWithParameters * This,
  5490. /* [out][in] */ DB_UPARAMS *pcParams,
  5491. /* [size_is][size_is][out] */ DBPARAMINFO **prgParamInfo,
  5492. /* [size_is][size_is][out] */ DBBYTEOFFSET **prgNameOffsets,
  5493. /* [out][in] */ DBLENGTH *pcbNamesBuffer,
  5494. /* [size_is][size_is][unique][out][in] */ OLECHAR **ppNamesBuffer,
  5495. /* [out] */ IErrorInfo **ppErrorInfoRem);
  5496. void __RPC_STUB ICommandWithParameters_RemoteGetParameterInfo_Stub(
  5497. IRpcStubBuffer *This,
  5498. IRpcChannelBuffer *_pRpcChannelBuffer,
  5499. PRPC_MESSAGE _pRpcMessage,
  5500. DWORD *_pdwStubPhase);
  5501. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_RemoteMapParameterNames_Proxy(
  5502. ICommandWithParameters * This,
  5503. /* [in] */ DB_UPARAMS cParamNames,
  5504. /* [size_is][in] */ LPCOLESTR *rgParamNames,
  5505. /* [size_is][out] */ DB_LPARAMS *rgParamOrdinals,
  5506. /* [out] */ IErrorInfo **ppErrorInfoRem);
  5507. void __RPC_STUB ICommandWithParameters_RemoteMapParameterNames_Stub(
  5508. IRpcStubBuffer *This,
  5509. IRpcChannelBuffer *_pRpcChannelBuffer,
  5510. PRPC_MESSAGE _pRpcMessage,
  5511. DWORD *_pdwStubPhase);
  5512. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_RemoteSetParameterInfo_Proxy(
  5513. ICommandWithParameters * This,
  5514. /* [in] */ DB_UPARAMS cParams,
  5515. /* [size_is][unique][in] */ const DB_UPARAMS *rgParamOrdinals,
  5516. /* [size_is][unique][in] */ const DBPARAMBINDINFO *rgParamBindInfo,
  5517. /* [out] */ IErrorInfo **ppErrorInfoRem);
  5518. void __RPC_STUB ICommandWithParameters_RemoteSetParameterInfo_Stub(
  5519. IRpcStubBuffer *This,
  5520. IRpcChannelBuffer *_pRpcChannelBuffer,
  5521. PRPC_MESSAGE _pRpcMessage,
  5522. DWORD *_pdwStubPhase);
  5523. #endif /* __ICommandWithParameters_INTERFACE_DEFINED__ */
  5524. #ifndef __IColumnsRowset_INTERFACE_DEFINED__
  5525. #define __IColumnsRowset_INTERFACE_DEFINED__
  5526. /* interface IColumnsRowset */
  5527. /* [unique][uuid][object] */
  5528. EXTERN_C const IID IID_IColumnsRowset;
  5529. #if defined(__cplusplus) && !defined(CINTERFACE)
  5530. MIDL_INTERFACE("0c733a10-2a1c-11ce-ade5-00aa0044773d")
  5531. IColumnsRowset : public IUnknown
  5532. {
  5533. public:
  5534. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetAvailableColumns(
  5535. /* [out][in] */ DBORDINAL *pcOptColumns,
  5536. /* [size_is][size_is][out] */ DBID **prgOptColumns) = 0;
  5537. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetColumnsRowset(
  5538. /* [in] */ IUnknown *pUnkOuter,
  5539. /* [in] */ DBORDINAL cOptColumns,
  5540. /* [size_is][in] */ const DBID rgOptColumns[ ],
  5541. /* [in] */ REFIID riid,
  5542. /* [in] */ ULONG cPropertySets,
  5543. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  5544. /* [iid_is][out] */ IUnknown **ppColRowset) = 0;
  5545. };
  5546. #else /* C style interface */
  5547. typedef struct IColumnsRowsetVtbl
  5548. {
  5549. BEGIN_INTERFACE
  5550. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5551. IColumnsRowset * This,
  5552. /* [in] */ REFIID riid,
  5553. /* [iid_is][out] */ void **ppvObject);
  5554. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5555. IColumnsRowset * This);
  5556. ULONG ( STDMETHODCALLTYPE *Release )(
  5557. IColumnsRowset * This);
  5558. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetAvailableColumns )(
  5559. IColumnsRowset * This,
  5560. /* [out][in] */ DBORDINAL *pcOptColumns,
  5561. /* [size_is][size_is][out] */ DBID **prgOptColumns);
  5562. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetColumnsRowset )(
  5563. IColumnsRowset * This,
  5564. /* [in] */ IUnknown *pUnkOuter,
  5565. /* [in] */ DBORDINAL cOptColumns,
  5566. /* [size_is][in] */ const DBID rgOptColumns[ ],
  5567. /* [in] */ REFIID riid,
  5568. /* [in] */ ULONG cPropertySets,
  5569. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  5570. /* [iid_is][out] */ IUnknown **ppColRowset);
  5571. END_INTERFACE
  5572. } IColumnsRowsetVtbl;
  5573. interface IColumnsRowset
  5574. {
  5575. CONST_VTBL struct IColumnsRowsetVtbl *lpVtbl;
  5576. };
  5577. #ifdef COBJMACROS
  5578. #define IColumnsRowset_QueryInterface(This,riid,ppvObject) \
  5579. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5580. #define IColumnsRowset_AddRef(This) \
  5581. (This)->lpVtbl -> AddRef(This)
  5582. #define IColumnsRowset_Release(This) \
  5583. (This)->lpVtbl -> Release(This)
  5584. #define IColumnsRowset_GetAvailableColumns(This,pcOptColumns,prgOptColumns) \
  5585. (This)->lpVtbl -> GetAvailableColumns(This,pcOptColumns,prgOptColumns)
  5586. #define IColumnsRowset_GetColumnsRowset(This,pUnkOuter,cOptColumns,rgOptColumns,riid,cPropertySets,rgPropertySets,ppColRowset) \
  5587. (This)->lpVtbl -> GetColumnsRowset(This,pUnkOuter,cOptColumns,rgOptColumns,riid,cPropertySets,rgPropertySets,ppColRowset)
  5588. #endif /* COBJMACROS */
  5589. #endif /* C style interface */
  5590. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsRowset_RemoteGetAvailableColumns_Proxy(
  5591. IColumnsRowset * This,
  5592. /* [out][in] */ DBORDINAL *pcOptColumns,
  5593. /* [size_is][size_is][out] */ DBID **prgOptColumns,
  5594. /* [out] */ IErrorInfo **ppErrorInfoRem);
  5595. void __RPC_STUB IColumnsRowset_RemoteGetAvailableColumns_Stub(
  5596. IRpcStubBuffer *This,
  5597. IRpcChannelBuffer *_pRpcChannelBuffer,
  5598. PRPC_MESSAGE _pRpcMessage,
  5599. DWORD *_pdwStubPhase);
  5600. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsRowset_RemoteGetColumnsRowset_Proxy(
  5601. IColumnsRowset * This,
  5602. /* [in] */ IUnknown *pUnkOuter,
  5603. /* [in] */ DBORDINAL cOptColumns,
  5604. /* [size_is][unique][in] */ const DBID *rgOptColumns,
  5605. /* [in] */ REFIID riid,
  5606. /* [in] */ ULONG cPropertySets,
  5607. /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  5608. /* [iid_is][out] */ IUnknown **ppColRowset,
  5609. /* [in] */ ULONG cTotalProps,
  5610. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  5611. /* [out] */ IErrorInfo **ppErrorInfoRem);
  5612. void __RPC_STUB IColumnsRowset_RemoteGetColumnsRowset_Stub(
  5613. IRpcStubBuffer *This,
  5614. IRpcChannelBuffer *_pRpcChannelBuffer,
  5615. PRPC_MESSAGE _pRpcMessage,
  5616. DWORD *_pdwStubPhase);
  5617. #endif /* __IColumnsRowset_INTERFACE_DEFINED__ */
  5618. #ifndef __IColumnsInfo_INTERFACE_DEFINED__
  5619. #define __IColumnsInfo_INTERFACE_DEFINED__
  5620. /* interface IColumnsInfo */
  5621. /* [unique][uuid][object] */
  5622. EXTERN_C const IID IID_IColumnsInfo;
  5623. #if defined(__cplusplus) && !defined(CINTERFACE)
  5624. MIDL_INTERFACE("0c733a11-2a1c-11ce-ade5-00aa0044773d")
  5625. IColumnsInfo : public IUnknown
  5626. {
  5627. public:
  5628. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetColumnInfo(
  5629. /* [out][in] */ DBORDINAL *pcColumns,
  5630. /* [size_is][size_is][out] */ DBCOLUMNINFO **prgInfo,
  5631. /* [out] */ OLECHAR **ppStringsBuffer) = 0;
  5632. virtual /* [local] */ HRESULT STDMETHODCALLTYPE MapColumnIDs(
  5633. /* [in] */ DBORDINAL cColumnIDs,
  5634. /* [size_is][in] */ const DBID rgColumnIDs[ ],
  5635. /* [size_is][out] */ DBORDINAL rgColumns[ ]) = 0;
  5636. };
  5637. #else /* C style interface */
  5638. typedef struct IColumnsInfoVtbl
  5639. {
  5640. BEGIN_INTERFACE
  5641. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5642. IColumnsInfo * This,
  5643. /* [in] */ REFIID riid,
  5644. /* [iid_is][out] */ void **ppvObject);
  5645. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5646. IColumnsInfo * This);
  5647. ULONG ( STDMETHODCALLTYPE *Release )(
  5648. IColumnsInfo * This);
  5649. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetColumnInfo )(
  5650. IColumnsInfo * This,
  5651. /* [out][in] */ DBORDINAL *pcColumns,
  5652. /* [size_is][size_is][out] */ DBCOLUMNINFO **prgInfo,
  5653. /* [out] */ OLECHAR **ppStringsBuffer);
  5654. /* [local] */ HRESULT ( STDMETHODCALLTYPE *MapColumnIDs )(
  5655. IColumnsInfo * This,
  5656. /* [in] */ DBORDINAL cColumnIDs,
  5657. /* [size_is][in] */ const DBID rgColumnIDs[ ],
  5658. /* [size_is][out] */ DBORDINAL rgColumns[ ]);
  5659. END_INTERFACE
  5660. } IColumnsInfoVtbl;
  5661. interface IColumnsInfo
  5662. {
  5663. CONST_VTBL struct IColumnsInfoVtbl *lpVtbl;
  5664. };
  5665. #ifdef COBJMACROS
  5666. #define IColumnsInfo_QueryInterface(This,riid,ppvObject) \
  5667. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5668. #define IColumnsInfo_AddRef(This) \
  5669. (This)->lpVtbl -> AddRef(This)
  5670. #define IColumnsInfo_Release(This) \
  5671. (This)->lpVtbl -> Release(This)
  5672. #define IColumnsInfo_GetColumnInfo(This,pcColumns,prgInfo,ppStringsBuffer) \
  5673. (This)->lpVtbl -> GetColumnInfo(This,pcColumns,prgInfo,ppStringsBuffer)
  5674. #define IColumnsInfo_MapColumnIDs(This,cColumnIDs,rgColumnIDs,rgColumns) \
  5675. (This)->lpVtbl -> MapColumnIDs(This,cColumnIDs,rgColumnIDs,rgColumns)
  5676. #endif /* COBJMACROS */
  5677. #endif /* C style interface */
  5678. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsInfo_RemoteGetColumnInfo_Proxy(
  5679. IColumnsInfo * This,
  5680. /* [out][in] */ DBORDINAL *pcColumns,
  5681. /* [size_is][size_is][out] */ DBCOLUMNINFO **prgInfo,
  5682. /* [size_is][size_is][out] */ DBBYTEOFFSET **prgNameOffsets,
  5683. /* [size_is][size_is][out] */ DBBYTEOFFSET **prgcolumnidOffsets,
  5684. /* [out][in] */ DBLENGTH *pcbStringsBuffer,
  5685. /* [size_is][size_is][unique][out][in] */ OLECHAR **ppStringsBuffer,
  5686. /* [out] */ IErrorInfo **ppErrorInfoRem);
  5687. void __RPC_STUB IColumnsInfo_RemoteGetColumnInfo_Stub(
  5688. IRpcStubBuffer *This,
  5689. IRpcChannelBuffer *_pRpcChannelBuffer,
  5690. PRPC_MESSAGE _pRpcMessage,
  5691. DWORD *_pdwStubPhase);
  5692. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsInfo_RemoteMapColumnIDs_Proxy(
  5693. IColumnsInfo * This,
  5694. /* [in] */ DBORDINAL cColumnIDs,
  5695. /* [size_is][in] */ const DBID *rgColumnIDs,
  5696. /* [size_is][out] */ DBORDINAL *rgColumns,
  5697. /* [out] */ IErrorInfo **ppErrorInfoRem);
  5698. void __RPC_STUB IColumnsInfo_RemoteMapColumnIDs_Stub(
  5699. IRpcStubBuffer *This,
  5700. IRpcChannelBuffer *_pRpcChannelBuffer,
  5701. PRPC_MESSAGE _pRpcMessage,
  5702. DWORD *_pdwStubPhase);
  5703. #endif /* __IColumnsInfo_INTERFACE_DEFINED__ */
  5704. #ifndef __IDBCreateCommand_INTERFACE_DEFINED__
  5705. #define __IDBCreateCommand_INTERFACE_DEFINED__
  5706. /* interface IDBCreateCommand */
  5707. /* [unique][uuid][object] */
  5708. EXTERN_C const IID IID_IDBCreateCommand;
  5709. #if defined(__cplusplus) && !defined(CINTERFACE)
  5710. MIDL_INTERFACE("0c733a1d-2a1c-11ce-ade5-00aa0044773d")
  5711. IDBCreateCommand : public IUnknown
  5712. {
  5713. public:
  5714. virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateCommand(
  5715. /* [in] */ IUnknown *pUnkOuter,
  5716. /* [in] */ REFIID riid,
  5717. /* [iid_is][out] */ IUnknown **ppCommand) = 0;
  5718. };
  5719. #else /* C style interface */
  5720. typedef struct IDBCreateCommandVtbl
  5721. {
  5722. BEGIN_INTERFACE
  5723. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5724. IDBCreateCommand * This,
  5725. /* [in] */ REFIID riid,
  5726. /* [iid_is][out] */ void **ppvObject);
  5727. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5728. IDBCreateCommand * This);
  5729. ULONG ( STDMETHODCALLTYPE *Release )(
  5730. IDBCreateCommand * This);
  5731. /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateCommand )(
  5732. IDBCreateCommand * This,
  5733. /* [in] */ IUnknown *pUnkOuter,
  5734. /* [in] */ REFIID riid,
  5735. /* [iid_is][out] */ IUnknown **ppCommand);
  5736. END_INTERFACE
  5737. } IDBCreateCommandVtbl;
  5738. interface IDBCreateCommand
  5739. {
  5740. CONST_VTBL struct IDBCreateCommandVtbl *lpVtbl;
  5741. };
  5742. #ifdef COBJMACROS
  5743. #define IDBCreateCommand_QueryInterface(This,riid,ppvObject) \
  5744. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5745. #define IDBCreateCommand_AddRef(This) \
  5746. (This)->lpVtbl -> AddRef(This)
  5747. #define IDBCreateCommand_Release(This) \
  5748. (This)->lpVtbl -> Release(This)
  5749. #define IDBCreateCommand_CreateCommand(This,pUnkOuter,riid,ppCommand) \
  5750. (This)->lpVtbl -> CreateCommand(This,pUnkOuter,riid,ppCommand)
  5751. #endif /* COBJMACROS */
  5752. #endif /* C style interface */
  5753. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBCreateCommand_RemoteCreateCommand_Proxy(
  5754. IDBCreateCommand * This,
  5755. /* [in] */ IUnknown *pUnkOuter,
  5756. /* [in] */ REFIID riid,
  5757. /* [iid_is][out] */ IUnknown **ppCommand,
  5758. /* [out] */ IErrorInfo **ppErrorInfoRem);
  5759. void __RPC_STUB IDBCreateCommand_RemoteCreateCommand_Stub(
  5760. IRpcStubBuffer *This,
  5761. IRpcChannelBuffer *_pRpcChannelBuffer,
  5762. PRPC_MESSAGE _pRpcMessage,
  5763. DWORD *_pdwStubPhase);
  5764. #endif /* __IDBCreateCommand_INTERFACE_DEFINED__ */
  5765. #ifndef __IDBCreateSession_INTERFACE_DEFINED__
  5766. #define __IDBCreateSession_INTERFACE_DEFINED__
  5767. /* interface IDBCreateSession */
  5768. /* [unique][uuid][object] */
  5769. EXTERN_C const IID IID_IDBCreateSession;
  5770. #if defined(__cplusplus) && !defined(CINTERFACE)
  5771. MIDL_INTERFACE("0c733a5d-2a1c-11ce-ade5-00aa0044773d")
  5772. IDBCreateSession : public IUnknown
  5773. {
  5774. public:
  5775. virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateSession(
  5776. /* [in] */ IUnknown *pUnkOuter,
  5777. /* [in] */ REFIID riid,
  5778. /* [iid_is][out] */ IUnknown **ppDBSession) = 0;
  5779. };
  5780. #else /* C style interface */
  5781. typedef struct IDBCreateSessionVtbl
  5782. {
  5783. BEGIN_INTERFACE
  5784. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5785. IDBCreateSession * This,
  5786. /* [in] */ REFIID riid,
  5787. /* [iid_is][out] */ void **ppvObject);
  5788. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5789. IDBCreateSession * This);
  5790. ULONG ( STDMETHODCALLTYPE *Release )(
  5791. IDBCreateSession * This);
  5792. /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateSession )(
  5793. IDBCreateSession * This,
  5794. /* [in] */ IUnknown *pUnkOuter,
  5795. /* [in] */ REFIID riid,
  5796. /* [iid_is][out] */ IUnknown **ppDBSession);
  5797. END_INTERFACE
  5798. } IDBCreateSessionVtbl;
  5799. interface IDBCreateSession
  5800. {
  5801. CONST_VTBL struct IDBCreateSessionVtbl *lpVtbl;
  5802. };
  5803. #ifdef COBJMACROS
  5804. #define IDBCreateSession_QueryInterface(This,riid,ppvObject) \
  5805. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5806. #define IDBCreateSession_AddRef(This) \
  5807. (This)->lpVtbl -> AddRef(This)
  5808. #define IDBCreateSession_Release(This) \
  5809. (This)->lpVtbl -> Release(This)
  5810. #define IDBCreateSession_CreateSession(This,pUnkOuter,riid,ppDBSession) \
  5811. (This)->lpVtbl -> CreateSession(This,pUnkOuter,riid,ppDBSession)
  5812. #endif /* COBJMACROS */
  5813. #endif /* C style interface */
  5814. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBCreateSession_RemoteCreateSession_Proxy(
  5815. IDBCreateSession * This,
  5816. /* [in] */ IUnknown *pUnkOuter,
  5817. /* [in] */ REFIID riid,
  5818. /* [iid_is][out] */ IUnknown **ppDBSession,
  5819. /* [out] */ IErrorInfo **ppErrorInfoRem);
  5820. void __RPC_STUB IDBCreateSession_RemoteCreateSession_Stub(
  5821. IRpcStubBuffer *This,
  5822. IRpcChannelBuffer *_pRpcChannelBuffer,
  5823. PRPC_MESSAGE _pRpcMessage,
  5824. DWORD *_pdwStubPhase);
  5825. #endif /* __IDBCreateSession_INTERFACE_DEFINED__ */
  5826. #ifndef __ISourcesRowset_INTERFACE_DEFINED__
  5827. #define __ISourcesRowset_INTERFACE_DEFINED__
  5828. /* interface ISourcesRowset */
  5829. /* [unique][uuid][object] */
  5830. typedef DWORD DBSOURCETYPE;
  5831. enum DBSOURCETYPEENUM
  5832. { DBSOURCETYPE_DATASOURCE = 1,
  5833. DBSOURCETYPE_ENUMERATOR = 2
  5834. } ;
  5835. //@@@+ V2.0
  5836. #if( OLEDBVER >= 0x0200 )
  5837. enum DBSOURCETYPEENUM20
  5838. { DBSOURCETYPE_DATASOURCE_TDP = 1,
  5839. DBSOURCETYPE_DATASOURCE_MDP = 3
  5840. } ;
  5841. #endif // OLEDBVER >= 0x0200
  5842. //@@@- V2.0
  5843. //@@@+ V2.5
  5844. #if( OLEDBVER >= 0x0250 )
  5845. enum DBSOURCETYPEENUM25
  5846. { DBSOURCETYPE_BINDER = 4
  5847. } ;
  5848. #endif // OLEDBVER >= 0x0250
  5849. //@@@- V2.5
  5850. EXTERN_C const IID IID_ISourcesRowset;
  5851. #if defined(__cplusplus) && !defined(CINTERFACE)
  5852. MIDL_INTERFACE("0c733a1e-2a1c-11ce-ade5-00aa0044773d")
  5853. ISourcesRowset : public IUnknown
  5854. {
  5855. public:
  5856. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSourcesRowset(
  5857. /* [in] */ IUnknown *pUnkOuter,
  5858. /* [in] */ REFIID riid,
  5859. /* [in] */ ULONG cPropertySets,
  5860. /* [size_is][unique][out][in] */ DBPROPSET rgProperties[ ],
  5861. /* [iid_is][out] */ IUnknown **ppSourcesRowset) = 0;
  5862. };
  5863. #else /* C style interface */
  5864. typedef struct ISourcesRowsetVtbl
  5865. {
  5866. BEGIN_INTERFACE
  5867. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5868. ISourcesRowset * This,
  5869. /* [in] */ REFIID riid,
  5870. /* [iid_is][out] */ void **ppvObject);
  5871. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5872. ISourcesRowset * This);
  5873. ULONG ( STDMETHODCALLTYPE *Release )(
  5874. ISourcesRowset * This);
  5875. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetSourcesRowset )(
  5876. ISourcesRowset * This,
  5877. /* [in] */ IUnknown *pUnkOuter,
  5878. /* [in] */ REFIID riid,
  5879. /* [in] */ ULONG cPropertySets,
  5880. /* [size_is][unique][out][in] */ DBPROPSET rgProperties[ ],
  5881. /* [iid_is][out] */ IUnknown **ppSourcesRowset);
  5882. END_INTERFACE
  5883. } ISourcesRowsetVtbl;
  5884. interface ISourcesRowset
  5885. {
  5886. CONST_VTBL struct ISourcesRowsetVtbl *lpVtbl;
  5887. };
  5888. #ifdef COBJMACROS
  5889. #define ISourcesRowset_QueryInterface(This,riid,ppvObject) \
  5890. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5891. #define ISourcesRowset_AddRef(This) \
  5892. (This)->lpVtbl -> AddRef(This)
  5893. #define ISourcesRowset_Release(This) \
  5894. (This)->lpVtbl -> Release(This)
  5895. #define ISourcesRowset_GetSourcesRowset(This,pUnkOuter,riid,cPropertySets,rgProperties,ppSourcesRowset) \
  5896. (This)->lpVtbl -> GetSourcesRowset(This,pUnkOuter,riid,cPropertySets,rgProperties,ppSourcesRowset)
  5897. #endif /* COBJMACROS */
  5898. #endif /* C style interface */
  5899. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISourcesRowset_RemoteGetSourcesRowset_Proxy(
  5900. ISourcesRowset * This,
  5901. /* [in] */ IUnknown *pUnkOuter,
  5902. /* [in] */ REFIID riid,
  5903. /* [in] */ ULONG cPropertySets,
  5904. /* [size_is][unique][in] */ DBPROPSET *rgProperties,
  5905. /* [iid_is][out] */ IUnknown **ppSourcesRowset,
  5906. /* [in] */ ULONG cTotalProps,
  5907. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  5908. /* [out] */ IErrorInfo **ppErrorInfoRem);
  5909. void __RPC_STUB ISourcesRowset_RemoteGetSourcesRowset_Stub(
  5910. IRpcStubBuffer *This,
  5911. IRpcChannelBuffer *_pRpcChannelBuffer,
  5912. PRPC_MESSAGE _pRpcMessage,
  5913. DWORD *_pdwStubPhase);
  5914. #endif /* __ISourcesRowset_INTERFACE_DEFINED__ */
  5915. #ifndef __IDBProperties_INTERFACE_DEFINED__
  5916. #define __IDBProperties_INTERFACE_DEFINED__
  5917. /* interface IDBProperties */
  5918. /* [unique][uuid][object] */
  5919. EXTERN_C const IID IID_IDBProperties;
  5920. #if defined(__cplusplus) && !defined(CINTERFACE)
  5921. MIDL_INTERFACE("0c733a8a-2a1c-11ce-ade5-00aa0044773d")
  5922. IDBProperties : public IUnknown
  5923. {
  5924. public:
  5925. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetProperties(
  5926. /* [in] */ ULONG cPropertyIDSets,
  5927. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  5928. /* [out][in] */ ULONG *pcPropertySets,
  5929. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets) = 0;
  5930. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetPropertyInfo(
  5931. /* [in] */ ULONG cPropertyIDSets,
  5932. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  5933. /* [out][in] */ ULONG *pcPropertyInfoSets,
  5934. /* [size_is][size_is][out] */ DBPROPINFOSET **prgPropertyInfoSets,
  5935. /* [out] */ OLECHAR **ppDescBuffer) = 0;
  5936. virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetProperties(
  5937. /* [in] */ ULONG cPropertySets,
  5938. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ]) = 0;
  5939. };
  5940. #else /* C style interface */
  5941. typedef struct IDBPropertiesVtbl
  5942. {
  5943. BEGIN_INTERFACE
  5944. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5945. IDBProperties * This,
  5946. /* [in] */ REFIID riid,
  5947. /* [iid_is][out] */ void **ppvObject);
  5948. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5949. IDBProperties * This);
  5950. ULONG ( STDMETHODCALLTYPE *Release )(
  5951. IDBProperties * This);
  5952. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
  5953. IDBProperties * This,
  5954. /* [in] */ ULONG cPropertyIDSets,
  5955. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  5956. /* [out][in] */ ULONG *pcPropertySets,
  5957. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets);
  5958. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetPropertyInfo )(
  5959. IDBProperties * This,
  5960. /* [in] */ ULONG cPropertyIDSets,
  5961. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  5962. /* [out][in] */ ULONG *pcPropertyInfoSets,
  5963. /* [size_is][size_is][out] */ DBPROPINFOSET **prgPropertyInfoSets,
  5964. /* [out] */ OLECHAR **ppDescBuffer);
  5965. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetProperties )(
  5966. IDBProperties * This,
  5967. /* [in] */ ULONG cPropertySets,
  5968. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ]);
  5969. END_INTERFACE
  5970. } IDBPropertiesVtbl;
  5971. interface IDBProperties
  5972. {
  5973. CONST_VTBL struct IDBPropertiesVtbl *lpVtbl;
  5974. };
  5975. #ifdef COBJMACROS
  5976. #define IDBProperties_QueryInterface(This,riid,ppvObject) \
  5977. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5978. #define IDBProperties_AddRef(This) \
  5979. (This)->lpVtbl -> AddRef(This)
  5980. #define IDBProperties_Release(This) \
  5981. (This)->lpVtbl -> Release(This)
  5982. #define IDBProperties_GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets) \
  5983. (This)->lpVtbl -> GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  5984. #define IDBProperties_GetPropertyInfo(This,cPropertyIDSets,rgPropertyIDSets,pcPropertyInfoSets,prgPropertyInfoSets,ppDescBuffer) \
  5985. (This)->lpVtbl -> GetPropertyInfo(This,cPropertyIDSets,rgPropertyIDSets,pcPropertyInfoSets,prgPropertyInfoSets,ppDescBuffer)
  5986. #define IDBProperties_SetProperties(This,cPropertySets,rgPropertySets) \
  5987. (This)->lpVtbl -> SetProperties(This,cPropertySets,rgPropertySets)
  5988. #endif /* COBJMACROS */
  5989. #endif /* C style interface */
  5990. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBProperties_RemoteGetProperties_Proxy(
  5991. IDBProperties * This,
  5992. /* [in] */ ULONG cPropertyIDSets,
  5993. /* [size_is][unique][in] */ const DBPROPIDSET *rgPropertyIDSets,
  5994. /* [out][in] */ ULONG *pcPropertySets,
  5995. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets,
  5996. /* [out] */ IErrorInfo **ppErrorInfoRem);
  5997. void __RPC_STUB IDBProperties_RemoteGetProperties_Stub(
  5998. IRpcStubBuffer *This,
  5999. IRpcChannelBuffer *_pRpcChannelBuffer,
  6000. PRPC_MESSAGE _pRpcMessage,
  6001. DWORD *_pdwStubPhase);
  6002. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBProperties_RemoteGetPropertyInfo_Proxy(
  6003. IDBProperties * This,
  6004. /* [in] */ ULONG cPropertyIDSets,
  6005. /* [size_is][unique][in] */ const DBPROPIDSET *rgPropertyIDSets,
  6006. /* [out][in] */ ULONG *pcPropertyInfoSets,
  6007. /* [size_is][size_is][out] */ DBPROPINFOSET **prgPropertyInfoSets,
  6008. /* [out][in] */ ULONG *pcOffsets,
  6009. /* [size_is][size_is][out] */ DBBYTEOFFSET **prgDescOffsets,
  6010. /* [out][in] */ ULONG *pcbDescBuffer,
  6011. /* [size_is][size_is][unique][out][in] */ OLECHAR **ppDescBuffer,
  6012. /* [out] */ IErrorInfo **ppErrorInfoRem);
  6013. void __RPC_STUB IDBProperties_RemoteGetPropertyInfo_Stub(
  6014. IRpcStubBuffer *This,
  6015. IRpcChannelBuffer *_pRpcChannelBuffer,
  6016. PRPC_MESSAGE _pRpcMessage,
  6017. DWORD *_pdwStubPhase);
  6018. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBProperties_RemoteSetProperties_Proxy(
  6019. IDBProperties * This,
  6020. /* [in] */ ULONG cPropertySets,
  6021. /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  6022. /* [in] */ ULONG cTotalProps,
  6023. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  6024. /* [out] */ IErrorInfo **ppErrorInfoRem);
  6025. void __RPC_STUB IDBProperties_RemoteSetProperties_Stub(
  6026. IRpcStubBuffer *This,
  6027. IRpcChannelBuffer *_pRpcChannelBuffer,
  6028. PRPC_MESSAGE _pRpcMessage,
  6029. DWORD *_pdwStubPhase);
  6030. #endif /* __IDBProperties_INTERFACE_DEFINED__ */
  6031. #ifndef __IDBInitialize_INTERFACE_DEFINED__
  6032. #define __IDBInitialize_INTERFACE_DEFINED__
  6033. /* interface IDBInitialize */
  6034. /* [unique][uuid][object] */
  6035. EXTERN_C const IID IID_IDBInitialize;
  6036. #if defined(__cplusplus) && !defined(CINTERFACE)
  6037. MIDL_INTERFACE("0c733a8b-2a1c-11ce-ade5-00aa0044773d")
  6038. IDBInitialize : public IUnknown
  6039. {
  6040. public:
  6041. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Initialize( void) = 0;
  6042. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Uninitialize( void) = 0;
  6043. };
  6044. #else /* C style interface */
  6045. typedef struct IDBInitializeVtbl
  6046. {
  6047. BEGIN_INTERFACE
  6048. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6049. IDBInitialize * This,
  6050. /* [in] */ REFIID riid,
  6051. /* [iid_is][out] */ void **ppvObject);
  6052. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6053. IDBInitialize * This);
  6054. ULONG ( STDMETHODCALLTYPE *Release )(
  6055. IDBInitialize * This);
  6056. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Initialize )(
  6057. IDBInitialize * This);
  6058. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Uninitialize )(
  6059. IDBInitialize * This);
  6060. END_INTERFACE
  6061. } IDBInitializeVtbl;
  6062. interface IDBInitialize
  6063. {
  6064. CONST_VTBL struct IDBInitializeVtbl *lpVtbl;
  6065. };
  6066. #ifdef COBJMACROS
  6067. #define IDBInitialize_QueryInterface(This,riid,ppvObject) \
  6068. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6069. #define IDBInitialize_AddRef(This) \
  6070. (This)->lpVtbl -> AddRef(This)
  6071. #define IDBInitialize_Release(This) \
  6072. (This)->lpVtbl -> Release(This)
  6073. #define IDBInitialize_Initialize(This) \
  6074. (This)->lpVtbl -> Initialize(This)
  6075. #define IDBInitialize_Uninitialize(This) \
  6076. (This)->lpVtbl -> Uninitialize(This)
  6077. #endif /* COBJMACROS */
  6078. #endif /* C style interface */
  6079. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInitialize_RemoteInitialize_Proxy(
  6080. IDBInitialize * This,
  6081. /* [out] */ IErrorInfo **ppErrorInfoRem);
  6082. void __RPC_STUB IDBInitialize_RemoteInitialize_Stub(
  6083. IRpcStubBuffer *This,
  6084. IRpcChannelBuffer *_pRpcChannelBuffer,
  6085. PRPC_MESSAGE _pRpcMessage,
  6086. DWORD *_pdwStubPhase);
  6087. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInitialize_RemoteUninitialize_Proxy(
  6088. IDBInitialize * This,
  6089. /* [out] */ IErrorInfo **ppErrorInfoRem);
  6090. void __RPC_STUB IDBInitialize_RemoteUninitialize_Stub(
  6091. IRpcStubBuffer *This,
  6092. IRpcChannelBuffer *_pRpcChannelBuffer,
  6093. PRPC_MESSAGE _pRpcMessage,
  6094. DWORD *_pdwStubPhase);
  6095. #endif /* __IDBInitialize_INTERFACE_DEFINED__ */
  6096. #ifndef __IDBInfo_INTERFACE_DEFINED__
  6097. #define __IDBInfo_INTERFACE_DEFINED__
  6098. /* interface IDBInfo */
  6099. /* [unique][uuid][object] */
  6100. typedef DWORD DBLITERAL;
  6101. enum DBLITERALENUM
  6102. { DBLITERAL_INVALID = 0,
  6103. DBLITERAL_BINARY_LITERAL = 1,
  6104. DBLITERAL_CATALOG_NAME = 2,
  6105. DBLITERAL_CATALOG_SEPARATOR = 3,
  6106. DBLITERAL_CHAR_LITERAL = 4,
  6107. DBLITERAL_COLUMN_ALIAS = 5,
  6108. DBLITERAL_COLUMN_NAME = 6,
  6109. DBLITERAL_CORRELATION_NAME = 7,
  6110. DBLITERAL_CURSOR_NAME = 8,
  6111. DBLITERAL_ESCAPE_PERCENT = 9,
  6112. DBLITERAL_ESCAPE_UNDERSCORE = 10,
  6113. DBLITERAL_INDEX_NAME = 11,
  6114. DBLITERAL_LIKE_PERCENT = 12,
  6115. DBLITERAL_LIKE_UNDERSCORE = 13,
  6116. DBLITERAL_PROCEDURE_NAME = 14,
  6117. DBLITERAL_QUOTE = 15,
  6118. DBLITERAL_SCHEMA_NAME = 16,
  6119. DBLITERAL_TABLE_NAME = 17,
  6120. DBLITERAL_TEXT_COMMAND = 18,
  6121. DBLITERAL_USER_NAME = 19,
  6122. DBLITERAL_VIEW_NAME = 20
  6123. } ;
  6124. //@@@+ V2.0
  6125. #if( OLEDBVER >= 0x0200 )
  6126. #define DBLITERAL_QUOTE_PREFIX DBLITERAL_QUOTE
  6127. enum DBLITERALENUM20
  6128. { DBLITERAL_CUBE_NAME = 21,
  6129. DBLITERAL_DIMENSION_NAME = 22,
  6130. DBLITERAL_HIERARCHY_NAME = 23,
  6131. DBLITERAL_LEVEL_NAME = 24,
  6132. DBLITERAL_MEMBER_NAME = 25,
  6133. DBLITERAL_PROPERTY_NAME = 26,
  6134. DBLITERAL_SCHEMA_SEPARATOR = 27,
  6135. DBLITERAL_QUOTE_SUFFIX = 28
  6136. } ;
  6137. #endif // OLEDBVER >= 0x0200
  6138. //@@@- V2.0
  6139. //@@@+ V2.1
  6140. #if( OLEDBVER >= 0x0210 )
  6141. #define DBLITERAL_ESCAPE_PERCENT_PREFIX DBLITERAL_ESCAPE_PERCENT
  6142. #define DBLITERAL_ESCAPE_UNDERSCORE_PREFIX DBLITERAL_ESCAPE_UNDERSCORE
  6143. enum DBLITERALENUM21
  6144. { DBLITERAL_ESCAPE_PERCENT_SUFFIX = 29,
  6145. DBLITERAL_ESCAPE_UNDERSCORE_SUFFIX = 30
  6146. } ;
  6147. #endif // OLEDBVER >= 0x0210
  6148. //@@@- V2.1
  6149. typedef struct tagDBLITERALINFO
  6150. {
  6151. LPOLESTR pwszLiteralValue;
  6152. LPOLESTR pwszInvalidChars;
  6153. LPOLESTR pwszInvalidStartingChars;
  6154. DBLITERAL lt;
  6155. BOOL fSupported;
  6156. ULONG cchMaxLen;
  6157. } DBLITERALINFO;
  6158. EXTERN_C const IID IID_IDBInfo;
  6159. #if defined(__cplusplus) && !defined(CINTERFACE)
  6160. MIDL_INTERFACE("0c733a89-2a1c-11ce-ade5-00aa0044773d")
  6161. IDBInfo : public IUnknown
  6162. {
  6163. public:
  6164. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetKeywords(
  6165. /* [out] */ LPOLESTR *ppwszKeywords) = 0;
  6166. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetLiteralInfo(
  6167. /* [in] */ ULONG cLiterals,
  6168. /* [size_is][in] */ const DBLITERAL rgLiterals[ ],
  6169. /* [out][in] */ ULONG *pcLiteralInfo,
  6170. /* [size_is][size_is][out] */ DBLITERALINFO **prgLiteralInfo,
  6171. /* [out] */ OLECHAR **ppCharBuffer) = 0;
  6172. };
  6173. #else /* C style interface */
  6174. typedef struct IDBInfoVtbl
  6175. {
  6176. BEGIN_INTERFACE
  6177. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6178. IDBInfo * This,
  6179. /* [in] */ REFIID riid,
  6180. /* [iid_is][out] */ void **ppvObject);
  6181. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6182. IDBInfo * This);
  6183. ULONG ( STDMETHODCALLTYPE *Release )(
  6184. IDBInfo * This);
  6185. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetKeywords )(
  6186. IDBInfo * This,
  6187. /* [out] */ LPOLESTR *ppwszKeywords);
  6188. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetLiteralInfo )(
  6189. IDBInfo * This,
  6190. /* [in] */ ULONG cLiterals,
  6191. /* [size_is][in] */ const DBLITERAL rgLiterals[ ],
  6192. /* [out][in] */ ULONG *pcLiteralInfo,
  6193. /* [size_is][size_is][out] */ DBLITERALINFO **prgLiteralInfo,
  6194. /* [out] */ OLECHAR **ppCharBuffer);
  6195. END_INTERFACE
  6196. } IDBInfoVtbl;
  6197. interface IDBInfo
  6198. {
  6199. CONST_VTBL struct IDBInfoVtbl *lpVtbl;
  6200. };
  6201. #ifdef COBJMACROS
  6202. #define IDBInfo_QueryInterface(This,riid,ppvObject) \
  6203. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6204. #define IDBInfo_AddRef(This) \
  6205. (This)->lpVtbl -> AddRef(This)
  6206. #define IDBInfo_Release(This) \
  6207. (This)->lpVtbl -> Release(This)
  6208. #define IDBInfo_GetKeywords(This,ppwszKeywords) \
  6209. (This)->lpVtbl -> GetKeywords(This,ppwszKeywords)
  6210. #define IDBInfo_GetLiteralInfo(This,cLiterals,rgLiterals,pcLiteralInfo,prgLiteralInfo,ppCharBuffer) \
  6211. (This)->lpVtbl -> GetLiteralInfo(This,cLiterals,rgLiterals,pcLiteralInfo,prgLiteralInfo,ppCharBuffer)
  6212. #endif /* COBJMACROS */
  6213. #endif /* C style interface */
  6214. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInfo_RemoteGetKeywords_Proxy(
  6215. IDBInfo * This,
  6216. /* [unique][out][in] */ LPOLESTR *ppwszKeywords,
  6217. /* [out] */ IErrorInfo **ppErrorInfoRem);
  6218. void __RPC_STUB IDBInfo_RemoteGetKeywords_Stub(
  6219. IRpcStubBuffer *This,
  6220. IRpcChannelBuffer *_pRpcChannelBuffer,
  6221. PRPC_MESSAGE _pRpcMessage,
  6222. DWORD *_pdwStubPhase);
  6223. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInfo_RemoteGetLiteralInfo_Proxy(
  6224. IDBInfo * This,
  6225. /* [in] */ ULONG cLiterals,
  6226. /* [size_is][unique][in] */ const DBLITERAL *rgLiterals,
  6227. /* [out][in] */ ULONG *pcLiteralInfo,
  6228. /* [size_is][size_is][out] */ DBLITERALINFO **prgLiteralInfo,
  6229. /* [size_is][size_is][out] */ DB_UPARAMS **prgLVOffsets,
  6230. /* [size_is][size_is][out] */ DB_UPARAMS **prgICOffsets,
  6231. /* [size_is][size_is][out] */ DB_UPARAMS **prgISCOffsets,
  6232. /* [out][in] */ ULONG *pcbCharBuffer,
  6233. /* [size_is][size_is][unique][out][in] */ OLECHAR **ppCharBuffer,
  6234. /* [out] */ IErrorInfo **ppErrorInfoRem);
  6235. void __RPC_STUB IDBInfo_RemoteGetLiteralInfo_Stub(
  6236. IRpcStubBuffer *This,
  6237. IRpcChannelBuffer *_pRpcChannelBuffer,
  6238. PRPC_MESSAGE _pRpcMessage,
  6239. DWORD *_pdwStubPhase);
  6240. #endif /* __IDBInfo_INTERFACE_DEFINED__ */
  6241. #ifndef __IDBDataSourceAdmin_INTERFACE_DEFINED__
  6242. #define __IDBDataSourceAdmin_INTERFACE_DEFINED__
  6243. /* interface IDBDataSourceAdmin */
  6244. /* [unique][uuid][object] */
  6245. EXTERN_C const IID IID_IDBDataSourceAdmin;
  6246. #if defined(__cplusplus) && !defined(CINTERFACE)
  6247. MIDL_INTERFACE("0c733a7a-2a1c-11ce-ade5-00aa0044773d")
  6248. IDBDataSourceAdmin : public IUnknown
  6249. {
  6250. public:
  6251. virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateDataSource(
  6252. /* [in] */ ULONG cPropertySets,
  6253. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  6254. /* [in] */ IUnknown *pUnkOuter,
  6255. /* [in] */ REFIID riid,
  6256. /* [iid_is][out] */ IUnknown **ppDBSession) = 0;
  6257. virtual /* [local] */ HRESULT STDMETHODCALLTYPE DestroyDataSource( void) = 0;
  6258. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetCreationProperties(
  6259. /* [in] */ ULONG cPropertyIDSets,
  6260. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  6261. /* [out][in] */ ULONG *pcPropertyInfoSets,
  6262. /* [size_is][size_is][out] */ DBPROPINFOSET **prgPropertyInfoSets,
  6263. /* [out] */ OLECHAR **ppDescBuffer) = 0;
  6264. virtual /* [local] */ HRESULT STDMETHODCALLTYPE ModifyDataSource(
  6265. /* [in] */ ULONG cPropertySets,
  6266. /* [size_is][in] */ DBPROPSET rgPropertySets[ ]) = 0;
  6267. };
  6268. #else /* C style interface */
  6269. typedef struct IDBDataSourceAdminVtbl
  6270. {
  6271. BEGIN_INTERFACE
  6272. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6273. IDBDataSourceAdmin * This,
  6274. /* [in] */ REFIID riid,
  6275. /* [iid_is][out] */ void **ppvObject);
  6276. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6277. IDBDataSourceAdmin * This);
  6278. ULONG ( STDMETHODCALLTYPE *Release )(
  6279. IDBDataSourceAdmin * This);
  6280. /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateDataSource )(
  6281. IDBDataSourceAdmin * This,
  6282. /* [in] */ ULONG cPropertySets,
  6283. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  6284. /* [in] */ IUnknown *pUnkOuter,
  6285. /* [in] */ REFIID riid,
  6286. /* [iid_is][out] */ IUnknown **ppDBSession);
  6287. /* [local] */ HRESULT ( STDMETHODCALLTYPE *DestroyDataSource )(
  6288. IDBDataSourceAdmin * This);
  6289. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetCreationProperties )(
  6290. IDBDataSourceAdmin * This,
  6291. /* [in] */ ULONG cPropertyIDSets,
  6292. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  6293. /* [out][in] */ ULONG *pcPropertyInfoSets,
  6294. /* [size_is][size_is][out] */ DBPROPINFOSET **prgPropertyInfoSets,
  6295. /* [out] */ OLECHAR **ppDescBuffer);
  6296. /* [local] */ HRESULT ( STDMETHODCALLTYPE *ModifyDataSource )(
  6297. IDBDataSourceAdmin * This,
  6298. /* [in] */ ULONG cPropertySets,
  6299. /* [size_is][in] */ DBPROPSET rgPropertySets[ ]);
  6300. END_INTERFACE
  6301. } IDBDataSourceAdminVtbl;
  6302. interface IDBDataSourceAdmin
  6303. {
  6304. CONST_VTBL struct IDBDataSourceAdminVtbl *lpVtbl;
  6305. };
  6306. #ifdef COBJMACROS
  6307. #define IDBDataSourceAdmin_QueryInterface(This,riid,ppvObject) \
  6308. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6309. #define IDBDataSourceAdmin_AddRef(This) \
  6310. (This)->lpVtbl -> AddRef(This)
  6311. #define IDBDataSourceAdmin_Release(This) \
  6312. (This)->lpVtbl -> Release(This)
  6313. #define IDBDataSourceAdmin_CreateDataSource(This,cPropertySets,rgPropertySets,pUnkOuter,riid,ppDBSession) \
  6314. (This)->lpVtbl -> CreateDataSource(This,cPropertySets,rgPropertySets,pUnkOuter,riid,ppDBSession)
  6315. #define IDBDataSourceAdmin_DestroyDataSource(This) \
  6316. (This)->lpVtbl -> DestroyDataSource(This)
  6317. #define IDBDataSourceAdmin_GetCreationProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertyInfoSets,prgPropertyInfoSets,ppDescBuffer) \
  6318. (This)->lpVtbl -> GetCreationProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertyInfoSets,prgPropertyInfoSets,ppDescBuffer)
  6319. #define IDBDataSourceAdmin_ModifyDataSource(This,cPropertySets,rgPropertySets) \
  6320. (This)->lpVtbl -> ModifyDataSource(This,cPropertySets,rgPropertySets)
  6321. #endif /* COBJMACROS */
  6322. #endif /* C style interface */
  6323. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_RemoteCreateDataSource_Proxy(
  6324. IDBDataSourceAdmin * This,
  6325. /* [in] */ ULONG cPropertySets,
  6326. /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  6327. /* [in] */ IUnknown *pUnkOuter,
  6328. /* [in] */ REFIID riid,
  6329. /* [iid_is][unique][out][in] */ IUnknown **ppDBSession,
  6330. /* [in] */ ULONG cTotalProps,
  6331. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  6332. /* [out] */ IErrorInfo **ppErrorInfoRem);
  6333. void __RPC_STUB IDBDataSourceAdmin_RemoteCreateDataSource_Stub(
  6334. IRpcStubBuffer *This,
  6335. IRpcChannelBuffer *_pRpcChannelBuffer,
  6336. PRPC_MESSAGE _pRpcMessage,
  6337. DWORD *_pdwStubPhase);
  6338. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_RemoteDestroyDataSource_Proxy(
  6339. IDBDataSourceAdmin * This,
  6340. /* [out] */ IErrorInfo **ppErrorInfoRem);
  6341. void __RPC_STUB IDBDataSourceAdmin_RemoteDestroyDataSource_Stub(
  6342. IRpcStubBuffer *This,
  6343. IRpcChannelBuffer *_pRpcChannelBuffer,
  6344. PRPC_MESSAGE _pRpcMessage,
  6345. DWORD *_pdwStubPhase);
  6346. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_RemoteGetCreationProperties_Proxy(
  6347. IDBDataSourceAdmin * This,
  6348. /* [in] */ ULONG cPropertyIDSets,
  6349. /* [size_is][unique][in] */ const DBPROPIDSET *rgPropertyIDSets,
  6350. /* [out][in] */ ULONG *pcPropertyInfoSets,
  6351. /* [size_is][size_is][out] */ DBPROPINFOSET **prgPropertyInfoSets,
  6352. /* [out][in] */ DBCOUNTITEM *pcOffsets,
  6353. /* [size_is][size_is][out] */ DBBYTEOFFSET **prgDescOffsets,
  6354. /* [out][in] */ ULONG *pcbDescBuffer,
  6355. /* [size_is][size_is][unique][out][in] */ OLECHAR **ppDescBuffer,
  6356. /* [out] */ IErrorInfo **ppErrorInfoRem);
  6357. void __RPC_STUB IDBDataSourceAdmin_RemoteGetCreationProperties_Stub(
  6358. IRpcStubBuffer *This,
  6359. IRpcChannelBuffer *_pRpcChannelBuffer,
  6360. PRPC_MESSAGE _pRpcMessage,
  6361. DWORD *_pdwStubPhase);
  6362. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_RemoteModifyDataSource_Proxy(
  6363. IDBDataSourceAdmin * This,
  6364. /* [in] */ ULONG cPropertySets,
  6365. /* [size_is][in] */ DBPROPSET *rgPropertySets,
  6366. /* [out] */ IErrorInfo **ppErrorInfoRem);
  6367. void __RPC_STUB IDBDataSourceAdmin_RemoteModifyDataSource_Stub(
  6368. IRpcStubBuffer *This,
  6369. IRpcChannelBuffer *_pRpcChannelBuffer,
  6370. PRPC_MESSAGE _pRpcMessage,
  6371. DWORD *_pdwStubPhase);
  6372. #endif /* __IDBDataSourceAdmin_INTERFACE_DEFINED__ */
  6373. /* interface __MIDL_itf_oledb_0304 */
  6374. /* [local] */
  6375. //@@@+ V1.5
  6376. #if( OLEDBVER >= 0x0150 )
  6377. extern RPC_IF_HANDLE __MIDL_itf_oledb_0304_v0_0_c_ifspec;
  6378. extern RPC_IF_HANDLE __MIDL_itf_oledb_0304_v0_0_s_ifspec;
  6379. #ifndef __IDBAsynchNotify_INTERFACE_DEFINED__
  6380. #define __IDBAsynchNotify_INTERFACE_DEFINED__
  6381. /* interface IDBAsynchNotify */
  6382. /* [unique][uuid][object] */
  6383. EXTERN_C const IID IID_IDBAsynchNotify;
  6384. #if defined(__cplusplus) && !defined(CINTERFACE)
  6385. MIDL_INTERFACE("0c733a96-2a1c-11ce-ade5-00aa0044773d")
  6386. IDBAsynchNotify : public IUnknown
  6387. {
  6388. public:
  6389. virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnLowResource(
  6390. /* [in] */ DB_DWRESERVE dwReserved) = 0;
  6391. virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnProgress(
  6392. /* [in] */ HCHAPTER hChapter,
  6393. /* [in] */ DBASYNCHOP eOperation,
  6394. /* [in] */ DBCOUNTITEM ulProgress,
  6395. /* [in] */ DBCOUNTITEM ulProgressMax,
  6396. /* [in] */ DBASYNCHPHASE eAsynchPhase,
  6397. /* [in] */ LPOLESTR pwszStatusText) = 0;
  6398. virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnStop(
  6399. /* [in] */ HCHAPTER hChapter,
  6400. /* [in] */ DBASYNCHOP eOperation,
  6401. /* [in] */ HRESULT hrStatus,
  6402. /* [in] */ LPOLESTR pwszStatusText) = 0;
  6403. };
  6404. #else /* C style interface */
  6405. typedef struct IDBAsynchNotifyVtbl
  6406. {
  6407. BEGIN_INTERFACE
  6408. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6409. IDBAsynchNotify * This,
  6410. /* [in] */ REFIID riid,
  6411. /* [iid_is][out] */ void **ppvObject);
  6412. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6413. IDBAsynchNotify * This);
  6414. ULONG ( STDMETHODCALLTYPE *Release )(
  6415. IDBAsynchNotify * This);
  6416. /* [local] */ HRESULT ( STDMETHODCALLTYPE *OnLowResource )(
  6417. IDBAsynchNotify * This,
  6418. /* [in] */ DB_DWRESERVE dwReserved);
  6419. /* [local] */ HRESULT ( STDMETHODCALLTYPE *OnProgress )(
  6420. IDBAsynchNotify * This,
  6421. /* [in] */ HCHAPTER hChapter,
  6422. /* [in] */ DBASYNCHOP eOperation,
  6423. /* [in] */ DBCOUNTITEM ulProgress,
  6424. /* [in] */ DBCOUNTITEM ulProgressMax,
  6425. /* [in] */ DBASYNCHPHASE eAsynchPhase,
  6426. /* [in] */ LPOLESTR pwszStatusText);
  6427. /* [local] */ HRESULT ( STDMETHODCALLTYPE *OnStop )(
  6428. IDBAsynchNotify * This,
  6429. /* [in] */ HCHAPTER hChapter,
  6430. /* [in] */ DBASYNCHOP eOperation,
  6431. /* [in] */ HRESULT hrStatus,
  6432. /* [in] */ LPOLESTR pwszStatusText);
  6433. END_INTERFACE
  6434. } IDBAsynchNotifyVtbl;
  6435. interface IDBAsynchNotify
  6436. {
  6437. CONST_VTBL struct IDBAsynchNotifyVtbl *lpVtbl;
  6438. };
  6439. #ifdef COBJMACROS
  6440. #define IDBAsynchNotify_QueryInterface(This,riid,ppvObject) \
  6441. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6442. #define IDBAsynchNotify_AddRef(This) \
  6443. (This)->lpVtbl -> AddRef(This)
  6444. #define IDBAsynchNotify_Release(This) \
  6445. (This)->lpVtbl -> Release(This)
  6446. #define IDBAsynchNotify_OnLowResource(This,dwReserved) \
  6447. (This)->lpVtbl -> OnLowResource(This,dwReserved)
  6448. #define IDBAsynchNotify_OnProgress(This,hChapter,eOperation,ulProgress,ulProgressMax,eAsynchPhase,pwszStatusText) \
  6449. (This)->lpVtbl -> OnProgress(This,hChapter,eOperation,ulProgress,ulProgressMax,eAsynchPhase,pwszStatusText)
  6450. #define IDBAsynchNotify_OnStop(This,hChapter,eOperation,hrStatus,pwszStatusText) \
  6451. (This)->lpVtbl -> OnStop(This,hChapter,eOperation,hrStatus,pwszStatusText)
  6452. #endif /* COBJMACROS */
  6453. #endif /* C style interface */
  6454. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_RemoteOnLowResource_Proxy(
  6455. IDBAsynchNotify * This,
  6456. /* [in] */ DB_DWRESERVE dwReserved);
  6457. void __RPC_STUB IDBAsynchNotify_RemoteOnLowResource_Stub(
  6458. IRpcStubBuffer *This,
  6459. IRpcChannelBuffer *_pRpcChannelBuffer,
  6460. PRPC_MESSAGE _pRpcMessage,
  6461. DWORD *_pdwStubPhase);
  6462. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_RemoteOnProgress_Proxy(
  6463. IDBAsynchNotify * This,
  6464. /* [in] */ HCHAPTER hChapter,
  6465. /* [in] */ DBASYNCHOP eOperation,
  6466. /* [in] */ DBCOUNTITEM ulProgress,
  6467. /* [in] */ DBCOUNTITEM ulProgressMax,
  6468. /* [in] */ DBASYNCHPHASE eAsynchPhase,
  6469. /* [string][unique][in] */ LPOLESTR pwszStatusText);
  6470. void __RPC_STUB IDBAsynchNotify_RemoteOnProgress_Stub(
  6471. IRpcStubBuffer *This,
  6472. IRpcChannelBuffer *_pRpcChannelBuffer,
  6473. PRPC_MESSAGE _pRpcMessage,
  6474. DWORD *_pdwStubPhase);
  6475. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_RemoteOnStop_Proxy(
  6476. IDBAsynchNotify * This,
  6477. /* [in] */ HCHAPTER hChapter,
  6478. /* [in] */ DBASYNCHOP eOperation,
  6479. /* [in] */ HRESULT hrStatus,
  6480. /* [string][unique][in] */ LPOLESTR pwszStatusText);
  6481. void __RPC_STUB IDBAsynchNotify_RemoteOnStop_Stub(
  6482. IRpcStubBuffer *This,
  6483. IRpcChannelBuffer *_pRpcChannelBuffer,
  6484. PRPC_MESSAGE _pRpcMessage,
  6485. DWORD *_pdwStubPhase);
  6486. #endif /* __IDBAsynchNotify_INTERFACE_DEFINED__ */
  6487. #ifndef __IDBAsynchStatus_INTERFACE_DEFINED__
  6488. #define __IDBAsynchStatus_INTERFACE_DEFINED__
  6489. /* interface IDBAsynchStatus */
  6490. /* [unique][uuid][object] */
  6491. EXTERN_C const IID IID_IDBAsynchStatus;
  6492. #if defined(__cplusplus) && !defined(CINTERFACE)
  6493. MIDL_INTERFACE("0c733a95-2a1c-11ce-ade5-00aa0044773d")
  6494. IDBAsynchStatus : public IUnknown
  6495. {
  6496. public:
  6497. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Abort(
  6498. /* [in] */ HCHAPTER hChapter,
  6499. /* [in] */ DBASYNCHOP eOperation) = 0;
  6500. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetStatus(
  6501. /* [in] */ HCHAPTER hChapter,
  6502. /* [in] */ DBASYNCHOP eOperation,
  6503. /* [out] */ DBCOUNTITEM *pulProgress,
  6504. /* [out] */ DBCOUNTITEM *pulProgressMax,
  6505. /* [out] */ DBASYNCHPHASE *peAsynchPhase,
  6506. /* [out] */ LPOLESTR *ppwszStatusText) = 0;
  6507. };
  6508. #else /* C style interface */
  6509. typedef struct IDBAsynchStatusVtbl
  6510. {
  6511. BEGIN_INTERFACE
  6512. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6513. IDBAsynchStatus * This,
  6514. /* [in] */ REFIID riid,
  6515. /* [iid_is][out] */ void **ppvObject);
  6516. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6517. IDBAsynchStatus * This);
  6518. ULONG ( STDMETHODCALLTYPE *Release )(
  6519. IDBAsynchStatus * This);
  6520. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Abort )(
  6521. IDBAsynchStatus * This,
  6522. /* [in] */ HCHAPTER hChapter,
  6523. /* [in] */ DBASYNCHOP eOperation);
  6524. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetStatus )(
  6525. IDBAsynchStatus * This,
  6526. /* [in] */ HCHAPTER hChapter,
  6527. /* [in] */ DBASYNCHOP eOperation,
  6528. /* [out] */ DBCOUNTITEM *pulProgress,
  6529. /* [out] */ DBCOUNTITEM *pulProgressMax,
  6530. /* [out] */ DBASYNCHPHASE *peAsynchPhase,
  6531. /* [out] */ LPOLESTR *ppwszStatusText);
  6532. END_INTERFACE
  6533. } IDBAsynchStatusVtbl;
  6534. interface IDBAsynchStatus
  6535. {
  6536. CONST_VTBL struct IDBAsynchStatusVtbl *lpVtbl;
  6537. };
  6538. #ifdef COBJMACROS
  6539. #define IDBAsynchStatus_QueryInterface(This,riid,ppvObject) \
  6540. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6541. #define IDBAsynchStatus_AddRef(This) \
  6542. (This)->lpVtbl -> AddRef(This)
  6543. #define IDBAsynchStatus_Release(This) \
  6544. (This)->lpVtbl -> Release(This)
  6545. #define IDBAsynchStatus_Abort(This,hChapter,eOperation) \
  6546. (This)->lpVtbl -> Abort(This,hChapter,eOperation)
  6547. #define IDBAsynchStatus_GetStatus(This,hChapter,eOperation,pulProgress,pulProgressMax,peAsynchPhase,ppwszStatusText) \
  6548. (This)->lpVtbl -> GetStatus(This,hChapter,eOperation,pulProgress,pulProgressMax,peAsynchPhase,ppwszStatusText)
  6549. #endif /* COBJMACROS */
  6550. #endif /* C style interface */
  6551. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchStatus_RemoteAbort_Proxy(
  6552. IDBAsynchStatus * This,
  6553. /* [in] */ HCHAPTER hChapter,
  6554. /* [in] */ DBASYNCHOP eOperation,
  6555. /* [out] */ IErrorInfo **ppErrorInfoRem);
  6556. void __RPC_STUB IDBAsynchStatus_RemoteAbort_Stub(
  6557. IRpcStubBuffer *This,
  6558. IRpcChannelBuffer *_pRpcChannelBuffer,
  6559. PRPC_MESSAGE _pRpcMessage,
  6560. DWORD *_pdwStubPhase);
  6561. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchStatus_RemoteGetStatus_Proxy(
  6562. IDBAsynchStatus * This,
  6563. /* [in] */ HCHAPTER hChapter,
  6564. /* [in] */ DBASYNCHOP eOperation,
  6565. /* [unique][out][in] */ DBCOUNTITEM *pulProgress,
  6566. /* [unique][out][in] */ DBCOUNTITEM *pulProgressMax,
  6567. /* [unique][out][in] */ DBASYNCHPHASE *peAsynchPhase,
  6568. /* [unique][out][in] */ LPOLESTR *ppwszStatusText,
  6569. /* [out] */ IErrorInfo **ppErrorInfoRem);
  6570. void __RPC_STUB IDBAsynchStatus_RemoteGetStatus_Stub(
  6571. IRpcStubBuffer *This,
  6572. IRpcChannelBuffer *_pRpcChannelBuffer,
  6573. PRPC_MESSAGE _pRpcMessage,
  6574. DWORD *_pdwStubPhase);
  6575. #endif /* __IDBAsynchStatus_INTERFACE_DEFINED__ */
  6576. /* interface __MIDL_itf_oledb_0306 */
  6577. /* [local] */
  6578. #endif // OLEDBVER >= 0x0150
  6579. //@@@- V1.5
  6580. extern RPC_IF_HANDLE __MIDL_itf_oledb_0306_v0_0_c_ifspec;
  6581. extern RPC_IF_HANDLE __MIDL_itf_oledb_0306_v0_0_s_ifspec;
  6582. #ifndef __ISessionProperties_INTERFACE_DEFINED__
  6583. #define __ISessionProperties_INTERFACE_DEFINED__
  6584. /* interface ISessionProperties */
  6585. /* [unique][uuid][object] */
  6586. EXTERN_C const IID IID_ISessionProperties;
  6587. #if defined(__cplusplus) && !defined(CINTERFACE)
  6588. MIDL_INTERFACE("0c733a85-2a1c-11ce-ade5-00aa0044773d")
  6589. ISessionProperties : public IUnknown
  6590. {
  6591. public:
  6592. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetProperties(
  6593. /* [in] */ ULONG cPropertyIDSets,
  6594. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  6595. /* [out][in] */ ULONG *pcPropertySets,
  6596. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets) = 0;
  6597. virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetProperties(
  6598. /* [in] */ ULONG cPropertySets,
  6599. /* [size_is][unique][out][in] */ DBPROPSET rgPropertySets[ ]) = 0;
  6600. };
  6601. #else /* C style interface */
  6602. typedef struct ISessionPropertiesVtbl
  6603. {
  6604. BEGIN_INTERFACE
  6605. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6606. ISessionProperties * This,
  6607. /* [in] */ REFIID riid,
  6608. /* [iid_is][out] */ void **ppvObject);
  6609. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6610. ISessionProperties * This);
  6611. ULONG ( STDMETHODCALLTYPE *Release )(
  6612. ISessionProperties * This);
  6613. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
  6614. ISessionProperties * This,
  6615. /* [in] */ ULONG cPropertyIDSets,
  6616. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  6617. /* [out][in] */ ULONG *pcPropertySets,
  6618. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets);
  6619. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetProperties )(
  6620. ISessionProperties * This,
  6621. /* [in] */ ULONG cPropertySets,
  6622. /* [size_is][unique][out][in] */ DBPROPSET rgPropertySets[ ]);
  6623. END_INTERFACE
  6624. } ISessionPropertiesVtbl;
  6625. interface ISessionProperties
  6626. {
  6627. CONST_VTBL struct ISessionPropertiesVtbl *lpVtbl;
  6628. };
  6629. #ifdef COBJMACROS
  6630. #define ISessionProperties_QueryInterface(This,riid,ppvObject) \
  6631. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6632. #define ISessionProperties_AddRef(This) \
  6633. (This)->lpVtbl -> AddRef(This)
  6634. #define ISessionProperties_Release(This) \
  6635. (This)->lpVtbl -> Release(This)
  6636. #define ISessionProperties_GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets) \
  6637. (This)->lpVtbl -> GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  6638. #define ISessionProperties_SetProperties(This,cPropertySets,rgPropertySets) \
  6639. (This)->lpVtbl -> SetProperties(This,cPropertySets,rgPropertySets)
  6640. #endif /* COBJMACROS */
  6641. #endif /* C style interface */
  6642. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISessionProperties_RemoteGetProperties_Proxy(
  6643. ISessionProperties * This,
  6644. /* [in] */ ULONG cPropertyIDSets,
  6645. /* [size_is][unique][in] */ const DBPROPIDSET *rgPropertyIDSets,
  6646. /* [out][in] */ ULONG *pcPropertySets,
  6647. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets,
  6648. /* [out] */ IErrorInfo **ppErrorInfoRem);
  6649. void __RPC_STUB ISessionProperties_RemoteGetProperties_Stub(
  6650. IRpcStubBuffer *This,
  6651. IRpcChannelBuffer *_pRpcChannelBuffer,
  6652. PRPC_MESSAGE _pRpcMessage,
  6653. DWORD *_pdwStubPhase);
  6654. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISessionProperties_RemoteSetProperties_Proxy(
  6655. ISessionProperties * This,
  6656. /* [in] */ ULONG cPropertySets,
  6657. /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  6658. /* [in] */ ULONG cTotalProps,
  6659. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  6660. /* [out] */ IErrorInfo **ppErrorInfoRem);
  6661. void __RPC_STUB ISessionProperties_RemoteSetProperties_Stub(
  6662. IRpcStubBuffer *This,
  6663. IRpcChannelBuffer *_pRpcChannelBuffer,
  6664. PRPC_MESSAGE _pRpcMessage,
  6665. DWORD *_pdwStubPhase);
  6666. #endif /* __ISessionProperties_INTERFACE_DEFINED__ */
  6667. #ifndef __IIndexDefinition_INTERFACE_DEFINED__
  6668. #define __IIndexDefinition_INTERFACE_DEFINED__
  6669. /* interface IIndexDefinition */
  6670. /* [unique][uuid][object] */
  6671. EXTERN_C const IID IID_IIndexDefinition;
  6672. #if defined(__cplusplus) && !defined(CINTERFACE)
  6673. MIDL_INTERFACE("0c733a68-2a1c-11ce-ade5-00aa0044773d")
  6674. IIndexDefinition : public IUnknown
  6675. {
  6676. public:
  6677. virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateIndex(
  6678. /* [in] */ DBID *pTableID,
  6679. /* [in] */ DBID *pIndexID,
  6680. /* [in] */ DBORDINAL cIndexColumnDescs,
  6681. /* [size_is][in] */ const DBINDEXCOLUMNDESC rgIndexColumnDescs[ ],
  6682. /* [in] */ ULONG cPropertySets,
  6683. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  6684. /* [out] */ DBID **ppIndexID) = 0;
  6685. virtual /* [local] */ HRESULT STDMETHODCALLTYPE DropIndex(
  6686. /* [unique][in] */ DBID *pTableID,
  6687. /* [unique][in] */ DBID *pIndexID) = 0;
  6688. };
  6689. #else /* C style interface */
  6690. typedef struct IIndexDefinitionVtbl
  6691. {
  6692. BEGIN_INTERFACE
  6693. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6694. IIndexDefinition * This,
  6695. /* [in] */ REFIID riid,
  6696. /* [iid_is][out] */ void **ppvObject);
  6697. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6698. IIndexDefinition * This);
  6699. ULONG ( STDMETHODCALLTYPE *Release )(
  6700. IIndexDefinition * This);
  6701. /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateIndex )(
  6702. IIndexDefinition * This,
  6703. /* [in] */ DBID *pTableID,
  6704. /* [in] */ DBID *pIndexID,
  6705. /* [in] */ DBORDINAL cIndexColumnDescs,
  6706. /* [size_is][in] */ const DBINDEXCOLUMNDESC rgIndexColumnDescs[ ],
  6707. /* [in] */ ULONG cPropertySets,
  6708. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  6709. /* [out] */ DBID **ppIndexID);
  6710. /* [local] */ HRESULT ( STDMETHODCALLTYPE *DropIndex )(
  6711. IIndexDefinition * This,
  6712. /* [unique][in] */ DBID *pTableID,
  6713. /* [unique][in] */ DBID *pIndexID);
  6714. END_INTERFACE
  6715. } IIndexDefinitionVtbl;
  6716. interface IIndexDefinition
  6717. {
  6718. CONST_VTBL struct IIndexDefinitionVtbl *lpVtbl;
  6719. };
  6720. #ifdef COBJMACROS
  6721. #define IIndexDefinition_QueryInterface(This,riid,ppvObject) \
  6722. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6723. #define IIndexDefinition_AddRef(This) \
  6724. (This)->lpVtbl -> AddRef(This)
  6725. #define IIndexDefinition_Release(This) \
  6726. (This)->lpVtbl -> Release(This)
  6727. #define IIndexDefinition_CreateIndex(This,pTableID,pIndexID,cIndexColumnDescs,rgIndexColumnDescs,cPropertySets,rgPropertySets,ppIndexID) \
  6728. (This)->lpVtbl -> CreateIndex(This,pTableID,pIndexID,cIndexColumnDescs,rgIndexColumnDescs,cPropertySets,rgPropertySets,ppIndexID)
  6729. #define IIndexDefinition_DropIndex(This,pTableID,pIndexID) \
  6730. (This)->lpVtbl -> DropIndex(This,pTableID,pIndexID)
  6731. #endif /* COBJMACROS */
  6732. #endif /* C style interface */
  6733. /* [call_as] */ HRESULT STDMETHODCALLTYPE IIndexDefinition_RemoteCreateIndex_Proxy(
  6734. IIndexDefinition * This,
  6735. /* [in] */ DBID *pTableID,
  6736. /* [unique][in] */ DBID *pIndexID,
  6737. /* [in] */ DBORDINAL cIndexColumnDescs,
  6738. /* [size_is][in] */ const DBINDEXCOLUMNDESC *rgIndexColumnDescs,
  6739. /* [in] */ ULONG cPropertySets,
  6740. /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  6741. /* [unique][out][in] */ DBID **ppIndexID,
  6742. /* [in] */ ULONG cTotalProps,
  6743. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  6744. /* [out] */ IErrorInfo **ppErrorInfoRem);
  6745. void __RPC_STUB IIndexDefinition_RemoteCreateIndex_Stub(
  6746. IRpcStubBuffer *This,
  6747. IRpcChannelBuffer *_pRpcChannelBuffer,
  6748. PRPC_MESSAGE _pRpcMessage,
  6749. DWORD *_pdwStubPhase);
  6750. /* [call_as] */ HRESULT STDMETHODCALLTYPE IIndexDefinition_RemoteDropIndex_Proxy(
  6751. IIndexDefinition * This,
  6752. /* [unique][in] */ DBID *pTableID,
  6753. /* [unique][in] */ DBID *pIndexID,
  6754. /* [out] */ IErrorInfo **ppErrorInfoRem);
  6755. void __RPC_STUB IIndexDefinition_RemoteDropIndex_Stub(
  6756. IRpcStubBuffer *This,
  6757. IRpcChannelBuffer *_pRpcChannelBuffer,
  6758. PRPC_MESSAGE _pRpcMessage,
  6759. DWORD *_pdwStubPhase);
  6760. #endif /* __IIndexDefinition_INTERFACE_DEFINED__ */
  6761. #ifndef __ITableDefinition_INTERFACE_DEFINED__
  6762. #define __ITableDefinition_INTERFACE_DEFINED__
  6763. /* interface ITableDefinition */
  6764. /* [unique][uuid][object] */
  6765. EXTERN_C const IID IID_ITableDefinition;
  6766. #if defined(__cplusplus) && !defined(CINTERFACE)
  6767. MIDL_INTERFACE("0c733a86-2a1c-11ce-ade5-00aa0044773d")
  6768. ITableDefinition : public IUnknown
  6769. {
  6770. public:
  6771. virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateTable(
  6772. /* [in] */ IUnknown *pUnkOuter,
  6773. /* [in] */ DBID *pTableID,
  6774. /* [in] */ DBORDINAL cColumnDescs,
  6775. /* [size_is][in] */ const DBCOLUMNDESC rgColumnDescs[ ],
  6776. /* [in] */ REFIID riid,
  6777. /* [in] */ ULONG cPropertySets,
  6778. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  6779. /* [out] */ DBID **ppTableID,
  6780. /* [iid_is][out] */ IUnknown **ppRowset) = 0;
  6781. virtual /* [local] */ HRESULT STDMETHODCALLTYPE DropTable(
  6782. /* [unique][in] */ DBID *pTableID) = 0;
  6783. virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddColumn(
  6784. /* [in] */ DBID *pTableID,
  6785. /* [out][in] */ DBCOLUMNDESC *pColumnDesc,
  6786. /* [out] */ DBID **ppColumnID) = 0;
  6787. virtual /* [local] */ HRESULT STDMETHODCALLTYPE DropColumn(
  6788. /* [unique][in] */ DBID *pTableID,
  6789. /* [unique][in] */ DBID *pColumnID) = 0;
  6790. };
  6791. #else /* C style interface */
  6792. typedef struct ITableDefinitionVtbl
  6793. {
  6794. BEGIN_INTERFACE
  6795. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6796. ITableDefinition * This,
  6797. /* [in] */ REFIID riid,
  6798. /* [iid_is][out] */ void **ppvObject);
  6799. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6800. ITableDefinition * This);
  6801. ULONG ( STDMETHODCALLTYPE *Release )(
  6802. ITableDefinition * This);
  6803. /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateTable )(
  6804. ITableDefinition * This,
  6805. /* [in] */ IUnknown *pUnkOuter,
  6806. /* [in] */ DBID *pTableID,
  6807. /* [in] */ DBORDINAL cColumnDescs,
  6808. /* [size_is][in] */ const DBCOLUMNDESC rgColumnDescs[ ],
  6809. /* [in] */ REFIID riid,
  6810. /* [in] */ ULONG cPropertySets,
  6811. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  6812. /* [out] */ DBID **ppTableID,
  6813. /* [iid_is][out] */ IUnknown **ppRowset);
  6814. /* [local] */ HRESULT ( STDMETHODCALLTYPE *DropTable )(
  6815. ITableDefinition * This,
  6816. /* [unique][in] */ DBID *pTableID);
  6817. /* [local] */ HRESULT ( STDMETHODCALLTYPE *AddColumn )(
  6818. ITableDefinition * This,
  6819. /* [in] */ DBID *pTableID,
  6820. /* [out][in] */ DBCOLUMNDESC *pColumnDesc,
  6821. /* [out] */ DBID **ppColumnID);
  6822. /* [local] */ HRESULT ( STDMETHODCALLTYPE *DropColumn )(
  6823. ITableDefinition * This,
  6824. /* [unique][in] */ DBID *pTableID,
  6825. /* [unique][in] */ DBID *pColumnID);
  6826. END_INTERFACE
  6827. } ITableDefinitionVtbl;
  6828. interface ITableDefinition
  6829. {
  6830. CONST_VTBL struct ITableDefinitionVtbl *lpVtbl;
  6831. };
  6832. #ifdef COBJMACROS
  6833. #define ITableDefinition_QueryInterface(This,riid,ppvObject) \
  6834. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6835. #define ITableDefinition_AddRef(This) \
  6836. (This)->lpVtbl -> AddRef(This)
  6837. #define ITableDefinition_Release(This) \
  6838. (This)->lpVtbl -> Release(This)
  6839. #define ITableDefinition_CreateTable(This,pUnkOuter,pTableID,cColumnDescs,rgColumnDescs,riid,cPropertySets,rgPropertySets,ppTableID,ppRowset) \
  6840. (This)->lpVtbl -> CreateTable(This,pUnkOuter,pTableID,cColumnDescs,rgColumnDescs,riid,cPropertySets,rgPropertySets,ppTableID,ppRowset)
  6841. #define ITableDefinition_DropTable(This,pTableID) \
  6842. (This)->lpVtbl -> DropTable(This,pTableID)
  6843. #define ITableDefinition_AddColumn(This,pTableID,pColumnDesc,ppColumnID) \
  6844. (This)->lpVtbl -> AddColumn(This,pTableID,pColumnDesc,ppColumnID)
  6845. #define ITableDefinition_DropColumn(This,pTableID,pColumnID) \
  6846. (This)->lpVtbl -> DropColumn(This,pTableID,pColumnID)
  6847. #endif /* COBJMACROS */
  6848. #endif /* C style interface */
  6849. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_RemoteCreateTable_Proxy(
  6850. ITableDefinition * This,
  6851. /* [in] */ IUnknown *pUnkOuter,
  6852. /* [unique][in] */ DBID *pTableID,
  6853. /* [in] */ DBORDINAL cColumnDescs,
  6854. /* [size_is][in] */ const DBCOLUMNDESC *rgColumnDescs,
  6855. /* [in] */ REFIID riid,
  6856. /* [in] */ ULONG cPropertySets,
  6857. /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  6858. /* [unique][out][in] */ DBID **ppTableID,
  6859. /* [iid_is][unique][out][in] */ IUnknown **ppRowset,
  6860. /* [in] */ ULONG cTotalProps,
  6861. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  6862. /* [out] */ BOOL *pfTableCreated,
  6863. /* [out] */ IErrorInfo **ppErrorInfoRem);
  6864. void __RPC_STUB ITableDefinition_RemoteCreateTable_Stub(
  6865. IRpcStubBuffer *This,
  6866. IRpcChannelBuffer *_pRpcChannelBuffer,
  6867. PRPC_MESSAGE _pRpcMessage,
  6868. DWORD *_pdwStubPhase);
  6869. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_RemoteDropTable_Proxy(
  6870. ITableDefinition * This,
  6871. /* [unique][in] */ DBID *pTableID,
  6872. /* [out] */ IErrorInfo **ppErrorInfoRem);
  6873. void __RPC_STUB ITableDefinition_RemoteDropTable_Stub(
  6874. IRpcStubBuffer *This,
  6875. IRpcChannelBuffer *_pRpcChannelBuffer,
  6876. PRPC_MESSAGE _pRpcMessage,
  6877. DWORD *_pdwStubPhase);
  6878. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_RemoteAddColumn_Proxy(
  6879. ITableDefinition * This,
  6880. /* [in] */ DBID *pTableID,
  6881. /* [in] */ DBCOLUMNDESC *pColumnDesc,
  6882. /* [unique][out][in] */ DBID **ppColumnID,
  6883. /* [in] */ ULONG cTotalProps,
  6884. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  6885. /* [out] */ IErrorInfo **ppErrorInfoRem);
  6886. void __RPC_STUB ITableDefinition_RemoteAddColumn_Stub(
  6887. IRpcStubBuffer *This,
  6888. IRpcChannelBuffer *_pRpcChannelBuffer,
  6889. PRPC_MESSAGE _pRpcMessage,
  6890. DWORD *_pdwStubPhase);
  6891. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_RemoteDropColumn_Proxy(
  6892. ITableDefinition * This,
  6893. /* [unique][in] */ DBID *pTableID,
  6894. /* [unique][in] */ DBID *pColumnID,
  6895. /* [out] */ IErrorInfo **ppErrorInfoRem);
  6896. void __RPC_STUB ITableDefinition_RemoteDropColumn_Stub(
  6897. IRpcStubBuffer *This,
  6898. IRpcChannelBuffer *_pRpcChannelBuffer,
  6899. PRPC_MESSAGE _pRpcMessage,
  6900. DWORD *_pdwStubPhase);
  6901. #endif /* __ITableDefinition_INTERFACE_DEFINED__ */
  6902. #ifndef __IOpenRowset_INTERFACE_DEFINED__
  6903. #define __IOpenRowset_INTERFACE_DEFINED__
  6904. /* interface IOpenRowset */
  6905. /* [unique][uuid][object] */
  6906. EXTERN_C const IID IID_IOpenRowset;
  6907. #if defined(__cplusplus) && !defined(CINTERFACE)
  6908. MIDL_INTERFACE("0c733a69-2a1c-11ce-ade5-00aa0044773d")
  6909. IOpenRowset : public IUnknown
  6910. {
  6911. public:
  6912. virtual /* [local] */ HRESULT STDMETHODCALLTYPE OpenRowset(
  6913. /* [in] */ IUnknown *pUnkOuter,
  6914. /* [unique][in] */ DBID *pTableID,
  6915. /* [unique][in] */ DBID *pIndexID,
  6916. /* [in] */ REFIID riid,
  6917. /* [in] */ ULONG cPropertySets,
  6918. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  6919. /* [iid_is][out] */ IUnknown **ppRowset) = 0;
  6920. };
  6921. #else /* C style interface */
  6922. typedef struct IOpenRowsetVtbl
  6923. {
  6924. BEGIN_INTERFACE
  6925. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6926. IOpenRowset * This,
  6927. /* [in] */ REFIID riid,
  6928. /* [iid_is][out] */ void **ppvObject);
  6929. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6930. IOpenRowset * This);
  6931. ULONG ( STDMETHODCALLTYPE *Release )(
  6932. IOpenRowset * This);
  6933. /* [local] */ HRESULT ( STDMETHODCALLTYPE *OpenRowset )(
  6934. IOpenRowset * This,
  6935. /* [in] */ IUnknown *pUnkOuter,
  6936. /* [unique][in] */ DBID *pTableID,
  6937. /* [unique][in] */ DBID *pIndexID,
  6938. /* [in] */ REFIID riid,
  6939. /* [in] */ ULONG cPropertySets,
  6940. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  6941. /* [iid_is][out] */ IUnknown **ppRowset);
  6942. END_INTERFACE
  6943. } IOpenRowsetVtbl;
  6944. interface IOpenRowset
  6945. {
  6946. CONST_VTBL struct IOpenRowsetVtbl *lpVtbl;
  6947. };
  6948. #ifdef COBJMACROS
  6949. #define IOpenRowset_QueryInterface(This,riid,ppvObject) \
  6950. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6951. #define IOpenRowset_AddRef(This) \
  6952. (This)->lpVtbl -> AddRef(This)
  6953. #define IOpenRowset_Release(This) \
  6954. (This)->lpVtbl -> Release(This)
  6955. #define IOpenRowset_OpenRowset(This,pUnkOuter,pTableID,pIndexID,riid,cPropertySets,rgPropertySets,ppRowset) \
  6956. (This)->lpVtbl -> OpenRowset(This,pUnkOuter,pTableID,pIndexID,riid,cPropertySets,rgPropertySets,ppRowset)
  6957. #endif /* COBJMACROS */
  6958. #endif /* C style interface */
  6959. /* [call_as] */ HRESULT STDMETHODCALLTYPE IOpenRowset_RemoteOpenRowset_Proxy(
  6960. IOpenRowset * This,
  6961. /* [in] */ IUnknown *pUnkOuter,
  6962. /* [unique][in] */ DBID *pTableID,
  6963. /* [unique][in] */ DBID *pIndexID,
  6964. /* [in] */ REFIID riid,
  6965. /* [in] */ ULONG cPropertySets,
  6966. /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  6967. /* [iid_is][unique][out][in] */ IUnknown **ppRowset,
  6968. /* [in] */ ULONG cTotalProps,
  6969. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  6970. /* [out] */ IErrorInfo **ppErrorInfoRem);
  6971. void __RPC_STUB IOpenRowset_RemoteOpenRowset_Stub(
  6972. IRpcStubBuffer *This,
  6973. IRpcChannelBuffer *_pRpcChannelBuffer,
  6974. PRPC_MESSAGE _pRpcMessage,
  6975. DWORD *_pdwStubPhase);
  6976. #endif /* __IOpenRowset_INTERFACE_DEFINED__ */
  6977. #ifndef __IDBSchemaRowset_INTERFACE_DEFINED__
  6978. #define __IDBSchemaRowset_INTERFACE_DEFINED__
  6979. /* interface IDBSchemaRowset */
  6980. /* [unique][uuid][object] */
  6981. #define CRESTRICTIONS_DBSCHEMA_ASSERTIONS 3
  6982. #define CRESTRICTIONS_DBSCHEMA_CATALOGS 1
  6983. #define CRESTRICTIONS_DBSCHEMA_CHARACTER_SETS 3
  6984. #define CRESTRICTIONS_DBSCHEMA_COLLATIONS 3
  6985. #define CRESTRICTIONS_DBSCHEMA_COLUMNS 4
  6986. #define CRESTRICTIONS_DBSCHEMA_CHECK_CONSTRAINTS 3
  6987. #define CRESTRICTIONS_DBSCHEMA_CONSTRAINT_COLUMN_USAGE 4
  6988. #define CRESTRICTIONS_DBSCHEMA_CONSTRAINT_TABLE_USAGE 3
  6989. #define CRESTRICTIONS_DBSCHEMA_KEY_COLUMN_USAGE 7
  6990. #define CRESTRICTIONS_DBSCHEMA_REFERENTIAL_CONSTRAINTS 3
  6991. #define CRESTRICTIONS_DBSCHEMA_TABLE_CONSTRAINTS 7
  6992. #define CRESTRICTIONS_DBSCHEMA_COLUMN_DOMAIN_USAGE 4
  6993. #define CRESTRICTIONS_DBSCHEMA_INDEXES 5
  6994. #define CRESTRICTIONS_DBSCHEMA_OBJECT_ACTIONS 1
  6995. #define CRESTRICTIONS_DBSCHEMA_OBJECTS 1
  6996. #define CRESTRICTIONS_DBSCHEMA_COLUMN_PRIVILEGES 6
  6997. #define CRESTRICTIONS_DBSCHEMA_TABLE_PRIVILEGES 5
  6998. #define CRESTRICTIONS_DBSCHEMA_USAGE_PRIVILEGES 6
  6999. #define CRESTRICTIONS_DBSCHEMA_PROCEDURES 4
  7000. #define CRESTRICTIONS_DBSCHEMA_SCHEMATA 3
  7001. #define CRESTRICTIONS_DBSCHEMA_SQL_LANGUAGES 0
  7002. #define CRESTRICTIONS_DBSCHEMA_STATISTICS 3
  7003. #define CRESTRICTIONS_DBSCHEMA_TABLES 4
  7004. #define CRESTRICTIONS_DBSCHEMA_TRANSLATIONS 3
  7005. #define CRESTRICTIONS_DBSCHEMA_PROVIDER_TYPES 2
  7006. #define CRESTRICTIONS_DBSCHEMA_VIEWS 3
  7007. #define CRESTRICTIONS_DBSCHEMA_VIEW_COLUMN_USAGE 3
  7008. #define CRESTRICTIONS_DBSCHEMA_VIEW_TABLE_USAGE 3
  7009. #define CRESTRICTIONS_DBSCHEMA_PROCEDURE_PARAMETERS 4
  7010. #define CRESTRICTIONS_DBSCHEMA_FOREIGN_KEYS 6
  7011. #define CRESTRICTIONS_DBSCHEMA_PRIMARY_KEYS 3
  7012. #define CRESTRICTIONS_DBSCHEMA_PROCEDURE_COLUMNS 4
  7013. //@@@+ V2.0
  7014. #if( OLEDBVER >= 0x0200 )
  7015. #define CRESTRICTIONS_DBSCHEMA_TABLES_INFO 4
  7016. #define CRESTRICTIONS_MDSCHEMA_CUBES 3
  7017. #define CRESTRICTIONS_MDSCHEMA_DIMENSIONS 5
  7018. #define CRESTRICTIONS_MDSCHEMA_HIERARCHIES 6
  7019. #define CRESTRICTIONS_MDSCHEMA_LEVELS 7
  7020. #define CRESTRICTIONS_MDSCHEMA_MEASURES 5
  7021. #define CRESTRICTIONS_MDSCHEMA_PROPERTIES 9
  7022. #define CRESTRICTIONS_MDSCHEMA_MEMBERS 12
  7023. #endif // OLEDBVER >= 0x0200
  7024. //@@@- V2.0
  7025. //@@@+ V2.1
  7026. #if( OLEDBVER >= 0x0210 )
  7027. #define CRESTRICTIONS_DBSCHEMA_TRUSTEE 4
  7028. #endif // OLEDBVER >= 0x0210
  7029. //@@@- V2.1
  7030. //@@@+ V2.6
  7031. #if( OLEDBVER >= 0x0260 )
  7032. #define CRESTRICTIONS_DBSCHEMA_TABLE_STATISTICS 7
  7033. #define CRESTRICTIONS_DBSCHEMA_CHECK_CONSTRAINTS_BY_TABLE 6
  7034. #define CRESTRICTIONS_MDSCHEMA_FUNCTIONS 4
  7035. #define CRESTRICTIONS_MDSCHEMA_ACTIONS 8
  7036. #define CRESTRICTIONS_MDSCHEMA_COMMANDS 5
  7037. #define CRESTRICTIONS_MDSCHEMA_SETS 5
  7038. #endif // OLEDBVER >= 0x0260
  7039. //@@@- V2.6
  7040. EXTERN_C const IID IID_IDBSchemaRowset;
  7041. #if defined(__cplusplus) && !defined(CINTERFACE)
  7042. MIDL_INTERFACE("0c733a7b-2a1c-11ce-ade5-00aa0044773d")
  7043. IDBSchemaRowset : public IUnknown
  7044. {
  7045. public:
  7046. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetRowset(
  7047. /* [in] */ IUnknown *pUnkOuter,
  7048. /* [in] */ REFGUID rguidSchema,
  7049. /* [in] */ ULONG cRestrictions,
  7050. /* [size_is][in] */ const VARIANT rgRestrictions[ ],
  7051. /* [in] */ REFIID riid,
  7052. /* [in] */ ULONG cPropertySets,
  7053. /* [size_is][unique][out][in] */ DBPROPSET rgPropertySets[ ],
  7054. /* [iid_is][out] */ IUnknown **ppRowset) = 0;
  7055. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSchemas(
  7056. /* [out][in] */ ULONG *pcSchemas,
  7057. /* [size_is][size_is][out] */ GUID **prgSchemas,
  7058. /* [size_is][size_is][out] */ ULONG **prgRestrictionSupport) = 0;
  7059. };
  7060. #else /* C style interface */
  7061. typedef struct IDBSchemaRowsetVtbl
  7062. {
  7063. BEGIN_INTERFACE
  7064. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7065. IDBSchemaRowset * This,
  7066. /* [in] */ REFIID riid,
  7067. /* [iid_is][out] */ void **ppvObject);
  7068. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7069. IDBSchemaRowset * This);
  7070. ULONG ( STDMETHODCALLTYPE *Release )(
  7071. IDBSchemaRowset * This);
  7072. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetRowset )(
  7073. IDBSchemaRowset * This,
  7074. /* [in] */ IUnknown *pUnkOuter,
  7075. /* [in] */ REFGUID rguidSchema,
  7076. /* [in] */ ULONG cRestrictions,
  7077. /* [size_is][in] */ const VARIANT rgRestrictions[ ],
  7078. /* [in] */ REFIID riid,
  7079. /* [in] */ ULONG cPropertySets,
  7080. /* [size_is][unique][out][in] */ DBPROPSET rgPropertySets[ ],
  7081. /* [iid_is][out] */ IUnknown **ppRowset);
  7082. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetSchemas )(
  7083. IDBSchemaRowset * This,
  7084. /* [out][in] */ ULONG *pcSchemas,
  7085. /* [size_is][size_is][out] */ GUID **prgSchemas,
  7086. /* [size_is][size_is][out] */ ULONG **prgRestrictionSupport);
  7087. END_INTERFACE
  7088. } IDBSchemaRowsetVtbl;
  7089. interface IDBSchemaRowset
  7090. {
  7091. CONST_VTBL struct IDBSchemaRowsetVtbl *lpVtbl;
  7092. };
  7093. #ifdef COBJMACROS
  7094. #define IDBSchemaRowset_QueryInterface(This,riid,ppvObject) \
  7095. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7096. #define IDBSchemaRowset_AddRef(This) \
  7097. (This)->lpVtbl -> AddRef(This)
  7098. #define IDBSchemaRowset_Release(This) \
  7099. (This)->lpVtbl -> Release(This)
  7100. #define IDBSchemaRowset_GetRowset(This,pUnkOuter,rguidSchema,cRestrictions,rgRestrictions,riid,cPropertySets,rgPropertySets,ppRowset) \
  7101. (This)->lpVtbl -> GetRowset(This,pUnkOuter,rguidSchema,cRestrictions,rgRestrictions,riid,cPropertySets,rgPropertySets,ppRowset)
  7102. #define IDBSchemaRowset_GetSchemas(This,pcSchemas,prgSchemas,prgRestrictionSupport) \
  7103. (This)->lpVtbl -> GetSchemas(This,pcSchemas,prgSchemas,prgRestrictionSupport)
  7104. #endif /* COBJMACROS */
  7105. #endif /* C style interface */
  7106. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBSchemaRowset_RemoteGetRowset_Proxy(
  7107. IDBSchemaRowset * This,
  7108. /* [in] */ IUnknown *pUnkOuter,
  7109. /* [in] */ REFGUID rguidSchema,
  7110. /* [in] */ ULONG cRestrictions,
  7111. /* [size_is][unique][in] */ const VARIANT *rgRestrictions,
  7112. /* [in] */ REFIID riid,
  7113. /* [in] */ ULONG cPropertySets,
  7114. /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  7115. /* [iid_is][out] */ IUnknown **ppRowset,
  7116. /* [in] */ ULONG cTotalProps,
  7117. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  7118. /* [out] */ IErrorInfo **ppErrorInfoRem);
  7119. void __RPC_STUB IDBSchemaRowset_RemoteGetRowset_Stub(
  7120. IRpcStubBuffer *This,
  7121. IRpcChannelBuffer *_pRpcChannelBuffer,
  7122. PRPC_MESSAGE _pRpcMessage,
  7123. DWORD *_pdwStubPhase);
  7124. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBSchemaRowset_RemoteGetSchemas_Proxy(
  7125. IDBSchemaRowset * This,
  7126. /* [out][in] */ ULONG *pcSchemas,
  7127. /* [size_is][size_is][out] */ GUID **prgSchemas,
  7128. /* [size_is][size_is][out] */ ULONG **prgRestrictionSupport,
  7129. /* [out] */ IErrorInfo **ppErrorInfoRem);
  7130. void __RPC_STUB IDBSchemaRowset_RemoteGetSchemas_Stub(
  7131. IRpcStubBuffer *This,
  7132. IRpcChannelBuffer *_pRpcChannelBuffer,
  7133. PRPC_MESSAGE _pRpcMessage,
  7134. DWORD *_pdwStubPhase);
  7135. #endif /* __IDBSchemaRowset_INTERFACE_DEFINED__ */
  7136. /* interface __MIDL_itf_oledb_0311 */
  7137. /* [local] */
  7138. //@@@+ V2.0
  7139. #if( OLEDBVER >= 0x0200 )
  7140. extern RPC_IF_HANDLE __MIDL_itf_oledb_0311_v0_0_c_ifspec;
  7141. extern RPC_IF_HANDLE __MIDL_itf_oledb_0311_v0_0_s_ifspec;
  7142. #ifndef __IMDDataset_INTERFACE_DEFINED__
  7143. #define __IMDDataset_INTERFACE_DEFINED__
  7144. /* interface IMDDataset */
  7145. /* [unique][uuid][object][local] */
  7146. EXTERN_C const IID IID_IMDDataset;
  7147. #if defined(__cplusplus) && !defined(CINTERFACE)
  7148. MIDL_INTERFACE("a07cccd1-8148-11d0-87bb-00c04fc33942")
  7149. IMDDataset : public IUnknown
  7150. {
  7151. public:
  7152. virtual HRESULT STDMETHODCALLTYPE FreeAxisInfo(
  7153. /* [in] */ DBCOUNTITEM cAxes,
  7154. /* [size_is][in] */ MDAXISINFO *rgAxisInfo) = 0;
  7155. virtual HRESULT STDMETHODCALLTYPE GetAxisInfo(
  7156. /* [out][in] */ DBCOUNTITEM *pcAxes,
  7157. /* [size_is][size_is][out] */ MDAXISINFO **prgAxisInfo) = 0;
  7158. virtual HRESULT STDMETHODCALLTYPE GetAxisRowset(
  7159. /* [in] */ IUnknown *pUnkOuter,
  7160. /* [in] */ DBCOUNTITEM iAxis,
  7161. /* [in] */ REFIID riid,
  7162. /* [in] */ ULONG cPropertySets,
  7163. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  7164. /* [iid_is][out] */ IUnknown **ppRowset) = 0;
  7165. virtual HRESULT STDMETHODCALLTYPE GetCellData(
  7166. /* [in] */ HACCESSOR hAccessor,
  7167. /* [in] */ DBORDINAL ulStartCell,
  7168. /* [in] */ DBORDINAL ulEndCell,
  7169. /* [out] */ void *pData) = 0;
  7170. virtual HRESULT STDMETHODCALLTYPE GetSpecification(
  7171. /* [in] */ REFIID riid,
  7172. /* [iid_is][out] */ IUnknown **ppSpecification) = 0;
  7173. };
  7174. #else /* C style interface */
  7175. typedef struct IMDDatasetVtbl
  7176. {
  7177. BEGIN_INTERFACE
  7178. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7179. IMDDataset * This,
  7180. /* [in] */ REFIID riid,
  7181. /* [iid_is][out] */ void **ppvObject);
  7182. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7183. IMDDataset * This);
  7184. ULONG ( STDMETHODCALLTYPE *Release )(
  7185. IMDDataset * This);
  7186. HRESULT ( STDMETHODCALLTYPE *FreeAxisInfo )(
  7187. IMDDataset * This,
  7188. /* [in] */ DBCOUNTITEM cAxes,
  7189. /* [size_is][in] */ MDAXISINFO *rgAxisInfo);
  7190. HRESULT ( STDMETHODCALLTYPE *GetAxisInfo )(
  7191. IMDDataset * This,
  7192. /* [out][in] */ DBCOUNTITEM *pcAxes,
  7193. /* [size_is][size_is][out] */ MDAXISINFO **prgAxisInfo);
  7194. HRESULT ( STDMETHODCALLTYPE *GetAxisRowset )(
  7195. IMDDataset * This,
  7196. /* [in] */ IUnknown *pUnkOuter,
  7197. /* [in] */ DBCOUNTITEM iAxis,
  7198. /* [in] */ REFIID riid,
  7199. /* [in] */ ULONG cPropertySets,
  7200. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  7201. /* [iid_is][out] */ IUnknown **ppRowset);
  7202. HRESULT ( STDMETHODCALLTYPE *GetCellData )(
  7203. IMDDataset * This,
  7204. /* [in] */ HACCESSOR hAccessor,
  7205. /* [in] */ DBORDINAL ulStartCell,
  7206. /* [in] */ DBORDINAL ulEndCell,
  7207. /* [out] */ void *pData);
  7208. HRESULT ( STDMETHODCALLTYPE *GetSpecification )(
  7209. IMDDataset * This,
  7210. /* [in] */ REFIID riid,
  7211. /* [iid_is][out] */ IUnknown **ppSpecification);
  7212. END_INTERFACE
  7213. } IMDDatasetVtbl;
  7214. interface IMDDataset
  7215. {
  7216. CONST_VTBL struct IMDDatasetVtbl *lpVtbl;
  7217. };
  7218. #ifdef COBJMACROS
  7219. #define IMDDataset_QueryInterface(This,riid,ppvObject) \
  7220. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7221. #define IMDDataset_AddRef(This) \
  7222. (This)->lpVtbl -> AddRef(This)
  7223. #define IMDDataset_Release(This) \
  7224. (This)->lpVtbl -> Release(This)
  7225. #define IMDDataset_FreeAxisInfo(This,cAxes,rgAxisInfo) \
  7226. (This)->lpVtbl -> FreeAxisInfo(This,cAxes,rgAxisInfo)
  7227. #define IMDDataset_GetAxisInfo(This,pcAxes,prgAxisInfo) \
  7228. (This)->lpVtbl -> GetAxisInfo(This,pcAxes,prgAxisInfo)
  7229. #define IMDDataset_GetAxisRowset(This,pUnkOuter,iAxis,riid,cPropertySets,rgPropertySets,ppRowset) \
  7230. (This)->lpVtbl -> GetAxisRowset(This,pUnkOuter,iAxis,riid,cPropertySets,rgPropertySets,ppRowset)
  7231. #define IMDDataset_GetCellData(This,hAccessor,ulStartCell,ulEndCell,pData) \
  7232. (This)->lpVtbl -> GetCellData(This,hAccessor,ulStartCell,ulEndCell,pData)
  7233. #define IMDDataset_GetSpecification(This,riid,ppSpecification) \
  7234. (This)->lpVtbl -> GetSpecification(This,riid,ppSpecification)
  7235. #endif /* COBJMACROS */
  7236. #endif /* C style interface */
  7237. HRESULT STDMETHODCALLTYPE IMDDataset_FreeAxisInfo_Proxy(
  7238. IMDDataset * This,
  7239. /* [in] */ DBCOUNTITEM cAxes,
  7240. /* [size_is][in] */ MDAXISINFO *rgAxisInfo);
  7241. void __RPC_STUB IMDDataset_FreeAxisInfo_Stub(
  7242. IRpcStubBuffer *This,
  7243. IRpcChannelBuffer *_pRpcChannelBuffer,
  7244. PRPC_MESSAGE _pRpcMessage,
  7245. DWORD *_pdwStubPhase);
  7246. HRESULT STDMETHODCALLTYPE IMDDataset_GetAxisInfo_Proxy(
  7247. IMDDataset * This,
  7248. /* [out][in] */ DBCOUNTITEM *pcAxes,
  7249. /* [size_is][size_is][out] */ MDAXISINFO **prgAxisInfo);
  7250. void __RPC_STUB IMDDataset_GetAxisInfo_Stub(
  7251. IRpcStubBuffer *This,
  7252. IRpcChannelBuffer *_pRpcChannelBuffer,
  7253. PRPC_MESSAGE _pRpcMessage,
  7254. DWORD *_pdwStubPhase);
  7255. HRESULT STDMETHODCALLTYPE IMDDataset_GetAxisRowset_Proxy(
  7256. IMDDataset * This,
  7257. /* [in] */ IUnknown *pUnkOuter,
  7258. /* [in] */ DBCOUNTITEM iAxis,
  7259. /* [in] */ REFIID riid,
  7260. /* [in] */ ULONG cPropertySets,
  7261. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  7262. /* [iid_is][out] */ IUnknown **ppRowset);
  7263. void __RPC_STUB IMDDataset_GetAxisRowset_Stub(
  7264. IRpcStubBuffer *This,
  7265. IRpcChannelBuffer *_pRpcChannelBuffer,
  7266. PRPC_MESSAGE _pRpcMessage,
  7267. DWORD *_pdwStubPhase);
  7268. HRESULT STDMETHODCALLTYPE IMDDataset_GetCellData_Proxy(
  7269. IMDDataset * This,
  7270. /* [in] */ HACCESSOR hAccessor,
  7271. /* [in] */ DBORDINAL ulStartCell,
  7272. /* [in] */ DBORDINAL ulEndCell,
  7273. /* [out] */ void *pData);
  7274. void __RPC_STUB IMDDataset_GetCellData_Stub(
  7275. IRpcStubBuffer *This,
  7276. IRpcChannelBuffer *_pRpcChannelBuffer,
  7277. PRPC_MESSAGE _pRpcMessage,
  7278. DWORD *_pdwStubPhase);
  7279. HRESULT STDMETHODCALLTYPE IMDDataset_GetSpecification_Proxy(
  7280. IMDDataset * This,
  7281. /* [in] */ REFIID riid,
  7282. /* [iid_is][out] */ IUnknown **ppSpecification);
  7283. void __RPC_STUB IMDDataset_GetSpecification_Stub(
  7284. IRpcStubBuffer *This,
  7285. IRpcChannelBuffer *_pRpcChannelBuffer,
  7286. PRPC_MESSAGE _pRpcMessage,
  7287. DWORD *_pdwStubPhase);
  7288. #endif /* __IMDDataset_INTERFACE_DEFINED__ */
  7289. #ifndef __IMDFind_INTERFACE_DEFINED__
  7290. #define __IMDFind_INTERFACE_DEFINED__
  7291. /* interface IMDFind */
  7292. /* [unique][uuid][object][local] */
  7293. EXTERN_C const IID IID_IMDFind;
  7294. #if defined(__cplusplus) && !defined(CINTERFACE)
  7295. MIDL_INTERFACE("a07cccd2-8148-11d0-87bb-00c04fc33942")
  7296. IMDFind : public IUnknown
  7297. {
  7298. public:
  7299. virtual HRESULT STDMETHODCALLTYPE FindCell(
  7300. /* [in] */ DBORDINAL ulStartingOrdinal,
  7301. /* [in] */ DBCOUNTITEM cMembers,
  7302. /* [size_is][in] */ LPCOLESTR *rgpwszMember,
  7303. /* [out] */ DBORDINAL *pulCellOrdinal) = 0;
  7304. virtual HRESULT STDMETHODCALLTYPE FindTuple(
  7305. /* [in] */ ULONG ulAxisIdentifier,
  7306. /* [in] */ DBORDINAL ulStartingOrdinal,
  7307. /* [in] */ DBCOUNTITEM cMembers,
  7308. /* [size_is][in] */ LPCOLESTR *rgpwszMember,
  7309. /* [out] */ ULONG *pulTupleOrdinal) = 0;
  7310. };
  7311. #else /* C style interface */
  7312. typedef struct IMDFindVtbl
  7313. {
  7314. BEGIN_INTERFACE
  7315. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7316. IMDFind * This,
  7317. /* [in] */ REFIID riid,
  7318. /* [iid_is][out] */ void **ppvObject);
  7319. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7320. IMDFind * This);
  7321. ULONG ( STDMETHODCALLTYPE *Release )(
  7322. IMDFind * This);
  7323. HRESULT ( STDMETHODCALLTYPE *FindCell )(
  7324. IMDFind * This,
  7325. /* [in] */ DBORDINAL ulStartingOrdinal,
  7326. /* [in] */ DBCOUNTITEM cMembers,
  7327. /* [size_is][in] */ LPCOLESTR *rgpwszMember,
  7328. /* [out] */ DBORDINAL *pulCellOrdinal);
  7329. HRESULT ( STDMETHODCALLTYPE *FindTuple )(
  7330. IMDFind * This,
  7331. /* [in] */ ULONG ulAxisIdentifier,
  7332. /* [in] */ DBORDINAL ulStartingOrdinal,
  7333. /* [in] */ DBCOUNTITEM cMembers,
  7334. /* [size_is][in] */ LPCOLESTR *rgpwszMember,
  7335. /* [out] */ ULONG *pulTupleOrdinal);
  7336. END_INTERFACE
  7337. } IMDFindVtbl;
  7338. interface IMDFind
  7339. {
  7340. CONST_VTBL struct IMDFindVtbl *lpVtbl;
  7341. };
  7342. #ifdef COBJMACROS
  7343. #define IMDFind_QueryInterface(This,riid,ppvObject) \
  7344. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7345. #define IMDFind_AddRef(This) \
  7346. (This)->lpVtbl -> AddRef(This)
  7347. #define IMDFind_Release(This) \
  7348. (This)->lpVtbl -> Release(This)
  7349. #define IMDFind_FindCell(This,ulStartingOrdinal,cMembers,rgpwszMember,pulCellOrdinal) \
  7350. (This)->lpVtbl -> FindCell(This,ulStartingOrdinal,cMembers,rgpwszMember,pulCellOrdinal)
  7351. #define IMDFind_FindTuple(This,ulAxisIdentifier,ulStartingOrdinal,cMembers,rgpwszMember,pulTupleOrdinal) \
  7352. (This)->lpVtbl -> FindTuple(This,ulAxisIdentifier,ulStartingOrdinal,cMembers,rgpwszMember,pulTupleOrdinal)
  7353. #endif /* COBJMACROS */
  7354. #endif /* C style interface */
  7355. HRESULT STDMETHODCALLTYPE IMDFind_FindCell_Proxy(
  7356. IMDFind * This,
  7357. /* [in] */ DBORDINAL ulStartingOrdinal,
  7358. /* [in] */ DBCOUNTITEM cMembers,
  7359. /* [size_is][in] */ LPCOLESTR *rgpwszMember,
  7360. /* [out] */ DBORDINAL *pulCellOrdinal);
  7361. void __RPC_STUB IMDFind_FindCell_Stub(
  7362. IRpcStubBuffer *This,
  7363. IRpcChannelBuffer *_pRpcChannelBuffer,
  7364. PRPC_MESSAGE _pRpcMessage,
  7365. DWORD *_pdwStubPhase);
  7366. HRESULT STDMETHODCALLTYPE IMDFind_FindTuple_Proxy(
  7367. IMDFind * This,
  7368. /* [in] */ ULONG ulAxisIdentifier,
  7369. /* [in] */ DBORDINAL ulStartingOrdinal,
  7370. /* [in] */ DBCOUNTITEM cMembers,
  7371. /* [size_is][in] */ LPCOLESTR *rgpwszMember,
  7372. /* [out] */ ULONG *pulTupleOrdinal);
  7373. void __RPC_STUB IMDFind_FindTuple_Stub(
  7374. IRpcStubBuffer *This,
  7375. IRpcChannelBuffer *_pRpcChannelBuffer,
  7376. PRPC_MESSAGE _pRpcMessage,
  7377. DWORD *_pdwStubPhase);
  7378. #endif /* __IMDFind_INTERFACE_DEFINED__ */
  7379. #ifndef __IMDRangeRowset_INTERFACE_DEFINED__
  7380. #define __IMDRangeRowset_INTERFACE_DEFINED__
  7381. /* interface IMDRangeRowset */
  7382. /* [unique][uuid][object][local] */
  7383. EXTERN_C const IID IID_IMDRangeRowset;
  7384. #if defined(__cplusplus) && !defined(CINTERFACE)
  7385. MIDL_INTERFACE("0c733aa0-2a1c-11ce-ade5-00aa0044773d")
  7386. IMDRangeRowset : public IUnknown
  7387. {
  7388. public:
  7389. virtual HRESULT STDMETHODCALLTYPE GetRangeRowset(
  7390. /* [in] */ IUnknown *pUnkOuter,
  7391. /* [in] */ DBORDINAL ulStartCell,
  7392. /* [in] */ DBORDINAL ulEndCell,
  7393. /* [in] */ REFIID riid,
  7394. /* [in] */ ULONG cPropertySets,
  7395. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  7396. /* [iid_is][out] */ IUnknown **ppRowset) = 0;
  7397. };
  7398. #else /* C style interface */
  7399. typedef struct IMDRangeRowsetVtbl
  7400. {
  7401. BEGIN_INTERFACE
  7402. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7403. IMDRangeRowset * This,
  7404. /* [in] */ REFIID riid,
  7405. /* [iid_is][out] */ void **ppvObject);
  7406. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7407. IMDRangeRowset * This);
  7408. ULONG ( STDMETHODCALLTYPE *Release )(
  7409. IMDRangeRowset * This);
  7410. HRESULT ( STDMETHODCALLTYPE *GetRangeRowset )(
  7411. IMDRangeRowset * This,
  7412. /* [in] */ IUnknown *pUnkOuter,
  7413. /* [in] */ DBORDINAL ulStartCell,
  7414. /* [in] */ DBORDINAL ulEndCell,
  7415. /* [in] */ REFIID riid,
  7416. /* [in] */ ULONG cPropertySets,
  7417. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  7418. /* [iid_is][out] */ IUnknown **ppRowset);
  7419. END_INTERFACE
  7420. } IMDRangeRowsetVtbl;
  7421. interface IMDRangeRowset
  7422. {
  7423. CONST_VTBL struct IMDRangeRowsetVtbl *lpVtbl;
  7424. };
  7425. #ifdef COBJMACROS
  7426. #define IMDRangeRowset_QueryInterface(This,riid,ppvObject) \
  7427. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7428. #define IMDRangeRowset_AddRef(This) \
  7429. (This)->lpVtbl -> AddRef(This)
  7430. #define IMDRangeRowset_Release(This) \
  7431. (This)->lpVtbl -> Release(This)
  7432. #define IMDRangeRowset_GetRangeRowset(This,pUnkOuter,ulStartCell,ulEndCell,riid,cPropertySets,rgPropertySets,ppRowset) \
  7433. (This)->lpVtbl -> GetRangeRowset(This,pUnkOuter,ulStartCell,ulEndCell,riid,cPropertySets,rgPropertySets,ppRowset)
  7434. #endif /* COBJMACROS */
  7435. #endif /* C style interface */
  7436. HRESULT STDMETHODCALLTYPE IMDRangeRowset_GetRangeRowset_Proxy(
  7437. IMDRangeRowset * This,
  7438. /* [in] */ IUnknown *pUnkOuter,
  7439. /* [in] */ DBORDINAL ulStartCell,
  7440. /* [in] */ DBORDINAL ulEndCell,
  7441. /* [in] */ REFIID riid,
  7442. /* [in] */ ULONG cPropertySets,
  7443. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  7444. /* [iid_is][out] */ IUnknown **ppRowset);
  7445. void __RPC_STUB IMDRangeRowset_GetRangeRowset_Stub(
  7446. IRpcStubBuffer *This,
  7447. IRpcChannelBuffer *_pRpcChannelBuffer,
  7448. PRPC_MESSAGE _pRpcMessage,
  7449. DWORD *_pdwStubPhase);
  7450. #endif /* __IMDRangeRowset_INTERFACE_DEFINED__ */
  7451. #ifndef __IAlterTable_INTERFACE_DEFINED__
  7452. #define __IAlterTable_INTERFACE_DEFINED__
  7453. /* interface IAlterTable */
  7454. /* [unique][uuid][object][local] */
  7455. EXTERN_C const IID IID_IAlterTable;
  7456. #if defined(__cplusplus) && !defined(CINTERFACE)
  7457. MIDL_INTERFACE("0c733aa5-2a1c-11ce-ade5-00aa0044773d")
  7458. IAlterTable : public IUnknown
  7459. {
  7460. public:
  7461. virtual HRESULT STDMETHODCALLTYPE AlterColumn(
  7462. /* [in] */ DBID *pTableId,
  7463. /* [in] */ DBID *pColumnId,
  7464. /* [in] */ DBCOLUMNDESCFLAGS dwColumnDescFlags,
  7465. /* [in] */ DBCOLUMNDESC *pColumnDesc) = 0;
  7466. virtual HRESULT STDMETHODCALLTYPE AlterTable(
  7467. /* [in] */ DBID *pTableId,
  7468. /* [in] */ DBID *pNewTableId,
  7469. /* [in] */ ULONG cPropertySets,
  7470. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ]) = 0;
  7471. };
  7472. #else /* C style interface */
  7473. typedef struct IAlterTableVtbl
  7474. {
  7475. BEGIN_INTERFACE
  7476. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7477. IAlterTable * This,
  7478. /* [in] */ REFIID riid,
  7479. /* [iid_is][out] */ void **ppvObject);
  7480. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7481. IAlterTable * This);
  7482. ULONG ( STDMETHODCALLTYPE *Release )(
  7483. IAlterTable * This);
  7484. HRESULT ( STDMETHODCALLTYPE *AlterColumn )(
  7485. IAlterTable * This,
  7486. /* [in] */ DBID *pTableId,
  7487. /* [in] */ DBID *pColumnId,
  7488. /* [in] */ DBCOLUMNDESCFLAGS dwColumnDescFlags,
  7489. /* [in] */ DBCOLUMNDESC *pColumnDesc);
  7490. HRESULT ( STDMETHODCALLTYPE *AlterTable )(
  7491. IAlterTable * This,
  7492. /* [in] */ DBID *pTableId,
  7493. /* [in] */ DBID *pNewTableId,
  7494. /* [in] */ ULONG cPropertySets,
  7495. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ]);
  7496. END_INTERFACE
  7497. } IAlterTableVtbl;
  7498. interface IAlterTable
  7499. {
  7500. CONST_VTBL struct IAlterTableVtbl *lpVtbl;
  7501. };
  7502. #ifdef COBJMACROS
  7503. #define IAlterTable_QueryInterface(This,riid,ppvObject) \
  7504. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7505. #define IAlterTable_AddRef(This) \
  7506. (This)->lpVtbl -> AddRef(This)
  7507. #define IAlterTable_Release(This) \
  7508. (This)->lpVtbl -> Release(This)
  7509. #define IAlterTable_AlterColumn(This,pTableId,pColumnId,dwColumnDescFlags,pColumnDesc) \
  7510. (This)->lpVtbl -> AlterColumn(This,pTableId,pColumnId,dwColumnDescFlags,pColumnDesc)
  7511. #define IAlterTable_AlterTable(This,pTableId,pNewTableId,cPropertySets,rgPropertySets) \
  7512. (This)->lpVtbl -> AlterTable(This,pTableId,pNewTableId,cPropertySets,rgPropertySets)
  7513. #endif /* COBJMACROS */
  7514. #endif /* C style interface */
  7515. HRESULT STDMETHODCALLTYPE IAlterTable_AlterColumn_Proxy(
  7516. IAlterTable * This,
  7517. /* [in] */ DBID *pTableId,
  7518. /* [in] */ DBID *pColumnId,
  7519. /* [in] */ DBCOLUMNDESCFLAGS dwColumnDescFlags,
  7520. /* [in] */ DBCOLUMNDESC *pColumnDesc);
  7521. void __RPC_STUB IAlterTable_AlterColumn_Stub(
  7522. IRpcStubBuffer *This,
  7523. IRpcChannelBuffer *_pRpcChannelBuffer,
  7524. PRPC_MESSAGE _pRpcMessage,
  7525. DWORD *_pdwStubPhase);
  7526. HRESULT STDMETHODCALLTYPE IAlterTable_AlterTable_Proxy(
  7527. IAlterTable * This,
  7528. /* [in] */ DBID *pTableId,
  7529. /* [in] */ DBID *pNewTableId,
  7530. /* [in] */ ULONG cPropertySets,
  7531. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ]);
  7532. void __RPC_STUB IAlterTable_AlterTable_Stub(
  7533. IRpcStubBuffer *This,
  7534. IRpcChannelBuffer *_pRpcChannelBuffer,
  7535. PRPC_MESSAGE _pRpcMessage,
  7536. DWORD *_pdwStubPhase);
  7537. #endif /* __IAlterTable_INTERFACE_DEFINED__ */
  7538. #ifndef __IAlterIndex_INTERFACE_DEFINED__
  7539. #define __IAlterIndex_INTERFACE_DEFINED__
  7540. /* interface IAlterIndex */
  7541. /* [unique][uuid][object][local] */
  7542. EXTERN_C const IID IID_IAlterIndex;
  7543. #if defined(__cplusplus) && !defined(CINTERFACE)
  7544. MIDL_INTERFACE("0c733aa6-2a1c-11ce-ade5-00aa0044773d")
  7545. IAlterIndex : public IUnknown
  7546. {
  7547. public:
  7548. virtual HRESULT STDMETHODCALLTYPE AlterIndex(
  7549. /* [in] */ DBID *pTableId,
  7550. /* [in] */ DBID *pIndexId,
  7551. /* [in] */ DBID *pNewIndexId,
  7552. /* [in] */ ULONG cPropertySets,
  7553. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ]) = 0;
  7554. };
  7555. #else /* C style interface */
  7556. typedef struct IAlterIndexVtbl
  7557. {
  7558. BEGIN_INTERFACE
  7559. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7560. IAlterIndex * This,
  7561. /* [in] */ REFIID riid,
  7562. /* [iid_is][out] */ void **ppvObject);
  7563. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7564. IAlterIndex * This);
  7565. ULONG ( STDMETHODCALLTYPE *Release )(
  7566. IAlterIndex * This);
  7567. HRESULT ( STDMETHODCALLTYPE *AlterIndex )(
  7568. IAlterIndex * This,
  7569. /* [in] */ DBID *pTableId,
  7570. /* [in] */ DBID *pIndexId,
  7571. /* [in] */ DBID *pNewIndexId,
  7572. /* [in] */ ULONG cPropertySets,
  7573. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ]);
  7574. END_INTERFACE
  7575. } IAlterIndexVtbl;
  7576. interface IAlterIndex
  7577. {
  7578. CONST_VTBL struct IAlterIndexVtbl *lpVtbl;
  7579. };
  7580. #ifdef COBJMACROS
  7581. #define IAlterIndex_QueryInterface(This,riid,ppvObject) \
  7582. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7583. #define IAlterIndex_AddRef(This) \
  7584. (This)->lpVtbl -> AddRef(This)
  7585. #define IAlterIndex_Release(This) \
  7586. (This)->lpVtbl -> Release(This)
  7587. #define IAlterIndex_AlterIndex(This,pTableId,pIndexId,pNewIndexId,cPropertySets,rgPropertySets) \
  7588. (This)->lpVtbl -> AlterIndex(This,pTableId,pIndexId,pNewIndexId,cPropertySets,rgPropertySets)
  7589. #endif /* COBJMACROS */
  7590. #endif /* C style interface */
  7591. HRESULT STDMETHODCALLTYPE IAlterIndex_AlterIndex_Proxy(
  7592. IAlterIndex * This,
  7593. /* [in] */ DBID *pTableId,
  7594. /* [in] */ DBID *pIndexId,
  7595. /* [in] */ DBID *pNewIndexId,
  7596. /* [in] */ ULONG cPropertySets,
  7597. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ]);
  7598. void __RPC_STUB IAlterIndex_AlterIndex_Stub(
  7599. IRpcStubBuffer *This,
  7600. IRpcChannelBuffer *_pRpcChannelBuffer,
  7601. PRPC_MESSAGE _pRpcMessage,
  7602. DWORD *_pdwStubPhase);
  7603. #endif /* __IAlterIndex_INTERFACE_DEFINED__ */
  7604. #ifndef __IRowsetChapterMember_INTERFACE_DEFINED__
  7605. #define __IRowsetChapterMember_INTERFACE_DEFINED__
  7606. /* interface IRowsetChapterMember */
  7607. /* [unique][uuid][object][local] */
  7608. EXTERN_C const IID IID_IRowsetChapterMember;
  7609. #if defined(__cplusplus) && !defined(CINTERFACE)
  7610. MIDL_INTERFACE("0c733aa8-2a1c-11ce-ade5-00aa0044773d")
  7611. IRowsetChapterMember : public IUnknown
  7612. {
  7613. public:
  7614. virtual HRESULT STDMETHODCALLTYPE IsRowInChapter(
  7615. /* [in] */ HCHAPTER hChapter,
  7616. /* [in] */ HROW hRow) = 0;
  7617. };
  7618. #else /* C style interface */
  7619. typedef struct IRowsetChapterMemberVtbl
  7620. {
  7621. BEGIN_INTERFACE
  7622. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7623. IRowsetChapterMember * This,
  7624. /* [in] */ REFIID riid,
  7625. /* [iid_is][out] */ void **ppvObject);
  7626. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7627. IRowsetChapterMember * This);
  7628. ULONG ( STDMETHODCALLTYPE *Release )(
  7629. IRowsetChapterMember * This);
  7630. HRESULT ( STDMETHODCALLTYPE *IsRowInChapter )(
  7631. IRowsetChapterMember * This,
  7632. /* [in] */ HCHAPTER hChapter,
  7633. /* [in] */ HROW hRow);
  7634. END_INTERFACE
  7635. } IRowsetChapterMemberVtbl;
  7636. interface IRowsetChapterMember
  7637. {
  7638. CONST_VTBL struct IRowsetChapterMemberVtbl *lpVtbl;
  7639. };
  7640. #ifdef COBJMACROS
  7641. #define IRowsetChapterMember_QueryInterface(This,riid,ppvObject) \
  7642. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7643. #define IRowsetChapterMember_AddRef(This) \
  7644. (This)->lpVtbl -> AddRef(This)
  7645. #define IRowsetChapterMember_Release(This) \
  7646. (This)->lpVtbl -> Release(This)
  7647. #define IRowsetChapterMember_IsRowInChapter(This,hChapter,hRow) \
  7648. (This)->lpVtbl -> IsRowInChapter(This,hChapter,hRow)
  7649. #endif /* COBJMACROS */
  7650. #endif /* C style interface */
  7651. HRESULT STDMETHODCALLTYPE IRowsetChapterMember_IsRowInChapter_Proxy(
  7652. IRowsetChapterMember * This,
  7653. /* [in] */ HCHAPTER hChapter,
  7654. /* [in] */ HROW hRow);
  7655. void __RPC_STUB IRowsetChapterMember_IsRowInChapter_Stub(
  7656. IRpcStubBuffer *This,
  7657. IRpcChannelBuffer *_pRpcChannelBuffer,
  7658. PRPC_MESSAGE _pRpcMessage,
  7659. DWORD *_pdwStubPhase);
  7660. #endif /* __IRowsetChapterMember_INTERFACE_DEFINED__ */
  7661. #ifndef __ICommandPersist_INTERFACE_DEFINED__
  7662. #define __ICommandPersist_INTERFACE_DEFINED__
  7663. /* interface ICommandPersist */
  7664. /* [unique][uuid][object][local] */
  7665. EXTERN_C const IID IID_ICommandPersist;
  7666. #if defined(__cplusplus) && !defined(CINTERFACE)
  7667. MIDL_INTERFACE("0c733aa7-2a1c-11ce-ade5-00aa0044773d")
  7668. ICommandPersist : public IUnknown
  7669. {
  7670. public:
  7671. virtual HRESULT STDMETHODCALLTYPE DeleteCommand(
  7672. /* [in] */ DBID *pCommandID) = 0;
  7673. virtual HRESULT STDMETHODCALLTYPE GetCurrentCommand(
  7674. /* [out] */ DBID **ppCommandID) = 0;
  7675. virtual HRESULT STDMETHODCALLTYPE LoadCommand(
  7676. /* [in] */ DBID *pCommandID,
  7677. /* [in] */ DWORD dwFlags) = 0;
  7678. virtual HRESULT STDMETHODCALLTYPE SaveCommand(
  7679. /* [in] */ DBID *pCommandID,
  7680. /* [in] */ DWORD dwFlags) = 0;
  7681. };
  7682. #else /* C style interface */
  7683. typedef struct ICommandPersistVtbl
  7684. {
  7685. BEGIN_INTERFACE
  7686. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7687. ICommandPersist * This,
  7688. /* [in] */ REFIID riid,
  7689. /* [iid_is][out] */ void **ppvObject);
  7690. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7691. ICommandPersist * This);
  7692. ULONG ( STDMETHODCALLTYPE *Release )(
  7693. ICommandPersist * This);
  7694. HRESULT ( STDMETHODCALLTYPE *DeleteCommand )(
  7695. ICommandPersist * This,
  7696. /* [in] */ DBID *pCommandID);
  7697. HRESULT ( STDMETHODCALLTYPE *GetCurrentCommand )(
  7698. ICommandPersist * This,
  7699. /* [out] */ DBID **ppCommandID);
  7700. HRESULT ( STDMETHODCALLTYPE *LoadCommand )(
  7701. ICommandPersist * This,
  7702. /* [in] */ DBID *pCommandID,
  7703. /* [in] */ DWORD dwFlags);
  7704. HRESULT ( STDMETHODCALLTYPE *SaveCommand )(
  7705. ICommandPersist * This,
  7706. /* [in] */ DBID *pCommandID,
  7707. /* [in] */ DWORD dwFlags);
  7708. END_INTERFACE
  7709. } ICommandPersistVtbl;
  7710. interface ICommandPersist
  7711. {
  7712. CONST_VTBL struct ICommandPersistVtbl *lpVtbl;
  7713. };
  7714. #ifdef COBJMACROS
  7715. #define ICommandPersist_QueryInterface(This,riid,ppvObject) \
  7716. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7717. #define ICommandPersist_AddRef(This) \
  7718. (This)->lpVtbl -> AddRef(This)
  7719. #define ICommandPersist_Release(This) \
  7720. (This)->lpVtbl -> Release(This)
  7721. #define ICommandPersist_DeleteCommand(This,pCommandID) \
  7722. (This)->lpVtbl -> DeleteCommand(This,pCommandID)
  7723. #define ICommandPersist_GetCurrentCommand(This,ppCommandID) \
  7724. (This)->lpVtbl -> GetCurrentCommand(This,ppCommandID)
  7725. #define ICommandPersist_LoadCommand(This,pCommandID,dwFlags) \
  7726. (This)->lpVtbl -> LoadCommand(This,pCommandID,dwFlags)
  7727. #define ICommandPersist_SaveCommand(This,pCommandID,dwFlags) \
  7728. (This)->lpVtbl -> SaveCommand(This,pCommandID,dwFlags)
  7729. #endif /* COBJMACROS */
  7730. #endif /* C style interface */
  7731. HRESULT STDMETHODCALLTYPE ICommandPersist_DeleteCommand_Proxy(
  7732. ICommandPersist * This,
  7733. /* [in] */ DBID *pCommandID);
  7734. void __RPC_STUB ICommandPersist_DeleteCommand_Stub(
  7735. IRpcStubBuffer *This,
  7736. IRpcChannelBuffer *_pRpcChannelBuffer,
  7737. PRPC_MESSAGE _pRpcMessage,
  7738. DWORD *_pdwStubPhase);
  7739. HRESULT STDMETHODCALLTYPE ICommandPersist_GetCurrentCommand_Proxy(
  7740. ICommandPersist * This,
  7741. /* [out] */ DBID **ppCommandID);
  7742. void __RPC_STUB ICommandPersist_GetCurrentCommand_Stub(
  7743. IRpcStubBuffer *This,
  7744. IRpcChannelBuffer *_pRpcChannelBuffer,
  7745. PRPC_MESSAGE _pRpcMessage,
  7746. DWORD *_pdwStubPhase);
  7747. HRESULT STDMETHODCALLTYPE ICommandPersist_LoadCommand_Proxy(
  7748. ICommandPersist * This,
  7749. /* [in] */ DBID *pCommandID,
  7750. /* [in] */ DWORD dwFlags);
  7751. void __RPC_STUB ICommandPersist_LoadCommand_Stub(
  7752. IRpcStubBuffer *This,
  7753. IRpcChannelBuffer *_pRpcChannelBuffer,
  7754. PRPC_MESSAGE _pRpcMessage,
  7755. DWORD *_pdwStubPhase);
  7756. HRESULT STDMETHODCALLTYPE ICommandPersist_SaveCommand_Proxy(
  7757. ICommandPersist * This,
  7758. /* [in] */ DBID *pCommandID,
  7759. /* [in] */ DWORD dwFlags);
  7760. void __RPC_STUB ICommandPersist_SaveCommand_Stub(
  7761. IRpcStubBuffer *This,
  7762. IRpcChannelBuffer *_pRpcChannelBuffer,
  7763. PRPC_MESSAGE _pRpcMessage,
  7764. DWORD *_pdwStubPhase);
  7765. #endif /* __ICommandPersist_INTERFACE_DEFINED__ */
  7766. #ifndef __IRowsetRefresh_INTERFACE_DEFINED__
  7767. #define __IRowsetRefresh_INTERFACE_DEFINED__
  7768. /* interface IRowsetRefresh */
  7769. /* [unique][uuid][object][local] */
  7770. EXTERN_C const IID IID_IRowsetRefresh;
  7771. #if defined(__cplusplus) && !defined(CINTERFACE)
  7772. MIDL_INTERFACE("0c733aa9-2a1c-11ce-ade5-00aa0044773d")
  7773. IRowsetRefresh : public IUnknown
  7774. {
  7775. public:
  7776. virtual HRESULT STDMETHODCALLTYPE RefreshVisibleData(
  7777. /* [in] */ HCHAPTER hChapter,
  7778. /* [in] */ DBCOUNTITEM cRows,
  7779. /* [in] */ const HROW rghRows[ ],
  7780. /* [in] */ BOOL fOverWrite,
  7781. /* [out] */ DBCOUNTITEM *pcRowsRefreshed,
  7782. /* [out] */ HROW **prghRowsRefreshed,
  7783. /* [out] */ DBROWSTATUS **prgRowStatus) = 0;
  7784. virtual HRESULT STDMETHODCALLTYPE GetLastVisibleData(
  7785. /* [in] */ HROW hRow,
  7786. /* [in] */ HACCESSOR hAccessor,
  7787. /* [out] */ void *pData) = 0;
  7788. };
  7789. #else /* C style interface */
  7790. typedef struct IRowsetRefreshVtbl
  7791. {
  7792. BEGIN_INTERFACE
  7793. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7794. IRowsetRefresh * This,
  7795. /* [in] */ REFIID riid,
  7796. /* [iid_is][out] */ void **ppvObject);
  7797. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7798. IRowsetRefresh * This);
  7799. ULONG ( STDMETHODCALLTYPE *Release )(
  7800. IRowsetRefresh * This);
  7801. HRESULT ( STDMETHODCALLTYPE *RefreshVisibleData )(
  7802. IRowsetRefresh * This,
  7803. /* [in] */ HCHAPTER hChapter,
  7804. /* [in] */ DBCOUNTITEM cRows,
  7805. /* [in] */ const HROW rghRows[ ],
  7806. /* [in] */ BOOL fOverWrite,
  7807. /* [out] */ DBCOUNTITEM *pcRowsRefreshed,
  7808. /* [out] */ HROW **prghRowsRefreshed,
  7809. /* [out] */ DBROWSTATUS **prgRowStatus);
  7810. HRESULT ( STDMETHODCALLTYPE *GetLastVisibleData )(
  7811. IRowsetRefresh * This,
  7812. /* [in] */ HROW hRow,
  7813. /* [in] */ HACCESSOR hAccessor,
  7814. /* [out] */ void *pData);
  7815. END_INTERFACE
  7816. } IRowsetRefreshVtbl;
  7817. interface IRowsetRefresh
  7818. {
  7819. CONST_VTBL struct IRowsetRefreshVtbl *lpVtbl;
  7820. };
  7821. #ifdef COBJMACROS
  7822. #define IRowsetRefresh_QueryInterface(This,riid,ppvObject) \
  7823. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7824. #define IRowsetRefresh_AddRef(This) \
  7825. (This)->lpVtbl -> AddRef(This)
  7826. #define IRowsetRefresh_Release(This) \
  7827. (This)->lpVtbl -> Release(This)
  7828. #define IRowsetRefresh_RefreshVisibleData(This,hChapter,cRows,rghRows,fOverWrite,pcRowsRefreshed,prghRowsRefreshed,prgRowStatus) \
  7829. (This)->lpVtbl -> RefreshVisibleData(This,hChapter,cRows,rghRows,fOverWrite,pcRowsRefreshed,prghRowsRefreshed,prgRowStatus)
  7830. #define IRowsetRefresh_GetLastVisibleData(This,hRow,hAccessor,pData) \
  7831. (This)->lpVtbl -> GetLastVisibleData(This,hRow,hAccessor,pData)
  7832. #endif /* COBJMACROS */
  7833. #endif /* C style interface */
  7834. HRESULT STDMETHODCALLTYPE IRowsetRefresh_RefreshVisibleData_Proxy(
  7835. IRowsetRefresh * This,
  7836. /* [in] */ HCHAPTER hChapter,
  7837. /* [in] */ DBCOUNTITEM cRows,
  7838. /* [in] */ const HROW rghRows[ ],
  7839. /* [in] */ BOOL fOverWrite,
  7840. /* [out] */ DBCOUNTITEM *pcRowsRefreshed,
  7841. /* [out] */ HROW **prghRowsRefreshed,
  7842. /* [out] */ DBROWSTATUS **prgRowStatus);
  7843. void __RPC_STUB IRowsetRefresh_RefreshVisibleData_Stub(
  7844. IRpcStubBuffer *This,
  7845. IRpcChannelBuffer *_pRpcChannelBuffer,
  7846. PRPC_MESSAGE _pRpcMessage,
  7847. DWORD *_pdwStubPhase);
  7848. HRESULT STDMETHODCALLTYPE IRowsetRefresh_GetLastVisibleData_Proxy(
  7849. IRowsetRefresh * This,
  7850. /* [in] */ HROW hRow,
  7851. /* [in] */ HACCESSOR hAccessor,
  7852. /* [out] */ void *pData);
  7853. void __RPC_STUB IRowsetRefresh_GetLastVisibleData_Stub(
  7854. IRpcStubBuffer *This,
  7855. IRpcChannelBuffer *_pRpcChannelBuffer,
  7856. PRPC_MESSAGE _pRpcMessage,
  7857. DWORD *_pdwStubPhase);
  7858. #endif /* __IRowsetRefresh_INTERFACE_DEFINED__ */
  7859. #ifndef __IParentRowset_INTERFACE_DEFINED__
  7860. #define __IParentRowset_INTERFACE_DEFINED__
  7861. /* interface IParentRowset */
  7862. /* [unique][uuid][object][local] */
  7863. EXTERN_C const IID IID_IParentRowset;
  7864. #if defined(__cplusplus) && !defined(CINTERFACE)
  7865. MIDL_INTERFACE("0c733aaa-2a1c-11ce-ade5-00aa0044773d")
  7866. IParentRowset : public IUnknown
  7867. {
  7868. public:
  7869. virtual HRESULT STDMETHODCALLTYPE GetChildRowset(
  7870. /* [in] */ IUnknown *pUnkOuter,
  7871. /* [in] */ DBORDINAL iOrdinal,
  7872. /* [in] */ REFIID riid,
  7873. /* [iid_is][out] */ IUnknown **ppRowset) = 0;
  7874. };
  7875. #else /* C style interface */
  7876. typedef struct IParentRowsetVtbl
  7877. {
  7878. BEGIN_INTERFACE
  7879. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7880. IParentRowset * This,
  7881. /* [in] */ REFIID riid,
  7882. /* [iid_is][out] */ void **ppvObject);
  7883. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7884. IParentRowset * This);
  7885. ULONG ( STDMETHODCALLTYPE *Release )(
  7886. IParentRowset * This);
  7887. HRESULT ( STDMETHODCALLTYPE *GetChildRowset )(
  7888. IParentRowset * This,
  7889. /* [in] */ IUnknown *pUnkOuter,
  7890. /* [in] */ DBORDINAL iOrdinal,
  7891. /* [in] */ REFIID riid,
  7892. /* [iid_is][out] */ IUnknown **ppRowset);
  7893. END_INTERFACE
  7894. } IParentRowsetVtbl;
  7895. interface IParentRowset
  7896. {
  7897. CONST_VTBL struct IParentRowsetVtbl *lpVtbl;
  7898. };
  7899. #ifdef COBJMACROS
  7900. #define IParentRowset_QueryInterface(This,riid,ppvObject) \
  7901. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7902. #define IParentRowset_AddRef(This) \
  7903. (This)->lpVtbl -> AddRef(This)
  7904. #define IParentRowset_Release(This) \
  7905. (This)->lpVtbl -> Release(This)
  7906. #define IParentRowset_GetChildRowset(This,pUnkOuter,iOrdinal,riid,ppRowset) \
  7907. (This)->lpVtbl -> GetChildRowset(This,pUnkOuter,iOrdinal,riid,ppRowset)
  7908. #endif /* COBJMACROS */
  7909. #endif /* C style interface */
  7910. HRESULT STDMETHODCALLTYPE IParentRowset_GetChildRowset_Proxy(
  7911. IParentRowset * This,
  7912. /* [in] */ IUnknown *pUnkOuter,
  7913. /* [in] */ DBORDINAL iOrdinal,
  7914. /* [in] */ REFIID riid,
  7915. /* [iid_is][out] */ IUnknown **ppRowset);
  7916. void __RPC_STUB IParentRowset_GetChildRowset_Stub(
  7917. IRpcStubBuffer *This,
  7918. IRpcChannelBuffer *_pRpcChannelBuffer,
  7919. PRPC_MESSAGE _pRpcMessage,
  7920. DWORD *_pdwStubPhase);
  7921. #endif /* __IParentRowset_INTERFACE_DEFINED__ */
  7922. /* interface __MIDL_itf_oledb_0320 */
  7923. /* [local] */
  7924. #endif // OLEDBVER >= 0x0200
  7925. //@@@- V2.0
  7926. extern RPC_IF_HANDLE __MIDL_itf_oledb_0320_v0_0_c_ifspec;
  7927. extern RPC_IF_HANDLE __MIDL_itf_oledb_0320_v0_0_s_ifspec;
  7928. #ifndef __IErrorRecords_INTERFACE_DEFINED__
  7929. #define __IErrorRecords_INTERFACE_DEFINED__
  7930. /* interface IErrorRecords */
  7931. /* [unique][uuid][object] */
  7932. #define IDENTIFIER_SDK_MASK 0xF0000000
  7933. #define IDENTIFIER_SDK_ERROR 0x10000000
  7934. typedef struct tagERRORINFO
  7935. {
  7936. HRESULT hrError;
  7937. DWORD dwMinor;
  7938. CLSID clsid;
  7939. IID iid;
  7940. DISPID dispid;
  7941. } ERRORINFO;
  7942. EXTERN_C const IID IID_IErrorRecords;
  7943. #if defined(__cplusplus) && !defined(CINTERFACE)
  7944. MIDL_INTERFACE("0c733a67-2a1c-11ce-ade5-00aa0044773d")
  7945. IErrorRecords : public IUnknown
  7946. {
  7947. public:
  7948. virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddErrorRecord(
  7949. /* [in] */ ERRORINFO *pErrorInfo,
  7950. /* [in] */ DWORD dwLookupID,
  7951. /* [in] */ DISPPARAMS *pdispparams,
  7952. /* [in] */ IUnknown *punkCustomError,
  7953. /* [in] */ DWORD dwDynamicErrorID) = 0;
  7954. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetBasicErrorInfo(
  7955. /* [in] */ ULONG ulRecordNum,
  7956. /* [out] */ ERRORINFO *pErrorInfo) = 0;
  7957. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetCustomErrorObject(
  7958. /* [in] */ ULONG ulRecordNum,
  7959. /* [in] */ REFIID riid,
  7960. /* [iid_is][out] */ IUnknown **ppObject) = 0;
  7961. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetErrorInfo(
  7962. /* [in] */ ULONG ulRecordNum,
  7963. /* [in] */ LCID lcid,
  7964. /* [out] */ IErrorInfo **ppErrorInfo) = 0;
  7965. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetErrorParameters(
  7966. /* [in] */ ULONG ulRecordNum,
  7967. /* [out] */ DISPPARAMS *pdispparams) = 0;
  7968. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetRecordCount(
  7969. /* [out] */ ULONG *pcRecords) = 0;
  7970. };
  7971. #else /* C style interface */
  7972. typedef struct IErrorRecordsVtbl
  7973. {
  7974. BEGIN_INTERFACE
  7975. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7976. IErrorRecords * This,
  7977. /* [in] */ REFIID riid,
  7978. /* [iid_is][out] */ void **ppvObject);
  7979. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7980. IErrorRecords * This);
  7981. ULONG ( STDMETHODCALLTYPE *Release )(
  7982. IErrorRecords * This);
  7983. /* [local] */ HRESULT ( STDMETHODCALLTYPE *AddErrorRecord )(
  7984. IErrorRecords * This,
  7985. /* [in] */ ERRORINFO *pErrorInfo,
  7986. /* [in] */ DWORD dwLookupID,
  7987. /* [in] */ DISPPARAMS *pdispparams,
  7988. /* [in] */ IUnknown *punkCustomError,
  7989. /* [in] */ DWORD dwDynamicErrorID);
  7990. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetBasicErrorInfo )(
  7991. IErrorRecords * This,
  7992. /* [in] */ ULONG ulRecordNum,
  7993. /* [out] */ ERRORINFO *pErrorInfo);
  7994. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetCustomErrorObject )(
  7995. IErrorRecords * This,
  7996. /* [in] */ ULONG ulRecordNum,
  7997. /* [in] */ REFIID riid,
  7998. /* [iid_is][out] */ IUnknown **ppObject);
  7999. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetErrorInfo )(
  8000. IErrorRecords * This,
  8001. /* [in] */ ULONG ulRecordNum,
  8002. /* [in] */ LCID lcid,
  8003. /* [out] */ IErrorInfo **ppErrorInfo);
  8004. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetErrorParameters )(
  8005. IErrorRecords * This,
  8006. /* [in] */ ULONG ulRecordNum,
  8007. /* [out] */ DISPPARAMS *pdispparams);
  8008. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetRecordCount )(
  8009. IErrorRecords * This,
  8010. /* [out] */ ULONG *pcRecords);
  8011. END_INTERFACE
  8012. } IErrorRecordsVtbl;
  8013. interface IErrorRecords
  8014. {
  8015. CONST_VTBL struct IErrorRecordsVtbl *lpVtbl;
  8016. };
  8017. #ifdef COBJMACROS
  8018. #define IErrorRecords_QueryInterface(This,riid,ppvObject) \
  8019. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8020. #define IErrorRecords_AddRef(This) \
  8021. (This)->lpVtbl -> AddRef(This)
  8022. #define IErrorRecords_Release(This) \
  8023. (This)->lpVtbl -> Release(This)
  8024. #define IErrorRecords_AddErrorRecord(This,pErrorInfo,dwLookupID,pdispparams,punkCustomError,dwDynamicErrorID) \
  8025. (This)->lpVtbl -> AddErrorRecord(This,pErrorInfo,dwLookupID,pdispparams,punkCustomError,dwDynamicErrorID)
  8026. #define IErrorRecords_GetBasicErrorInfo(This,ulRecordNum,pErrorInfo) \
  8027. (This)->lpVtbl -> GetBasicErrorInfo(This,ulRecordNum,pErrorInfo)
  8028. #define IErrorRecords_GetCustomErrorObject(This,ulRecordNum,riid,ppObject) \
  8029. (This)->lpVtbl -> GetCustomErrorObject(This,ulRecordNum,riid,ppObject)
  8030. #define IErrorRecords_GetErrorInfo(This,ulRecordNum,lcid,ppErrorInfo) \
  8031. (This)->lpVtbl -> GetErrorInfo(This,ulRecordNum,lcid,ppErrorInfo)
  8032. #define IErrorRecords_GetErrorParameters(This,ulRecordNum,pdispparams) \
  8033. (This)->lpVtbl -> GetErrorParameters(This,ulRecordNum,pdispparams)
  8034. #define IErrorRecords_GetRecordCount(This,pcRecords) \
  8035. (This)->lpVtbl -> GetRecordCount(This,pcRecords)
  8036. #endif /* COBJMACROS */
  8037. #endif /* C style interface */
  8038. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_RemoteAddErrorRecord_Proxy(
  8039. IErrorRecords * This,
  8040. /* [in] */ ERRORINFO *pErrorInfo,
  8041. /* [in] */ DWORD dwLookupID,
  8042. /* [in] */ DISPPARAMS *pdispparams,
  8043. /* [in] */ IUnknown *punkCustomError,
  8044. /* [in] */ DWORD dwDynamicErrorID,
  8045. /* [out] */ IErrorInfo **ppErrorInfoRem);
  8046. void __RPC_STUB IErrorRecords_RemoteAddErrorRecord_Stub(
  8047. IRpcStubBuffer *This,
  8048. IRpcChannelBuffer *_pRpcChannelBuffer,
  8049. PRPC_MESSAGE _pRpcMessage,
  8050. DWORD *_pdwStubPhase);
  8051. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_RemoteGetBasicErrorInfo_Proxy(
  8052. IErrorRecords * This,
  8053. /* [in] */ ULONG ulRecordNum,
  8054. /* [out] */ ERRORINFO *pErrorInfo,
  8055. /* [out] */ IErrorInfo **ppErrorInfoRem);
  8056. void __RPC_STUB IErrorRecords_RemoteGetBasicErrorInfo_Stub(
  8057. IRpcStubBuffer *This,
  8058. IRpcChannelBuffer *_pRpcChannelBuffer,
  8059. PRPC_MESSAGE _pRpcMessage,
  8060. DWORD *_pdwStubPhase);
  8061. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_RemoteGetCustomErrorObject_Proxy(
  8062. IErrorRecords * This,
  8063. /* [in] */ ULONG ulRecordNum,
  8064. /* [in] */ REFIID riid,
  8065. /* [iid_is][out] */ IUnknown **ppObject,
  8066. /* [out] */ IErrorInfo **ppErrorInfoRem);
  8067. void __RPC_STUB IErrorRecords_RemoteGetCustomErrorObject_Stub(
  8068. IRpcStubBuffer *This,
  8069. IRpcChannelBuffer *_pRpcChannelBuffer,
  8070. PRPC_MESSAGE _pRpcMessage,
  8071. DWORD *_pdwStubPhase);
  8072. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_RemoteGetErrorInfo_Proxy(
  8073. IErrorRecords * This,
  8074. /* [in] */ ULONG ulRecordNum,
  8075. /* [in] */ LCID lcid,
  8076. /* [out] */ IErrorInfo **ppErrorInfo,
  8077. /* [out] */ IErrorInfo **ppErrorInfoRem);
  8078. void __RPC_STUB IErrorRecords_RemoteGetErrorInfo_Stub(
  8079. IRpcStubBuffer *This,
  8080. IRpcChannelBuffer *_pRpcChannelBuffer,
  8081. PRPC_MESSAGE _pRpcMessage,
  8082. DWORD *_pdwStubPhase);
  8083. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_RemoteGetErrorParameters_Proxy(
  8084. IErrorRecords * This,
  8085. /* [in] */ ULONG ulRecordNum,
  8086. /* [out] */ DISPPARAMS *pdispparams,
  8087. /* [out] */ IErrorInfo **ppErrorInfoRem);
  8088. void __RPC_STUB IErrorRecords_RemoteGetErrorParameters_Stub(
  8089. IRpcStubBuffer *This,
  8090. IRpcChannelBuffer *_pRpcChannelBuffer,
  8091. PRPC_MESSAGE _pRpcMessage,
  8092. DWORD *_pdwStubPhase);
  8093. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_RemoteGetRecordCount_Proxy(
  8094. IErrorRecords * This,
  8095. /* [out] */ ULONG *pcRecords,
  8096. /* [out] */ IErrorInfo **ppErrorInfoRem);
  8097. void __RPC_STUB IErrorRecords_RemoteGetRecordCount_Stub(
  8098. IRpcStubBuffer *This,
  8099. IRpcChannelBuffer *_pRpcChannelBuffer,
  8100. PRPC_MESSAGE _pRpcMessage,
  8101. DWORD *_pdwStubPhase);
  8102. #endif /* __IErrorRecords_INTERFACE_DEFINED__ */
  8103. #ifndef __IErrorLookup_INTERFACE_DEFINED__
  8104. #define __IErrorLookup_INTERFACE_DEFINED__
  8105. /* interface IErrorLookup */
  8106. /* [unique][uuid][object] */
  8107. EXTERN_C const IID IID_IErrorLookup;
  8108. #if defined(__cplusplus) && !defined(CINTERFACE)
  8109. MIDL_INTERFACE("0c733a66-2a1c-11ce-ade5-00aa0044773d")
  8110. IErrorLookup : public IUnknown
  8111. {
  8112. public:
  8113. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetErrorDescription(
  8114. /* [in] */ HRESULT hrError,
  8115. /* [in] */ DWORD dwLookupID,
  8116. /* [in] */ DISPPARAMS *pdispparams,
  8117. /* [in] */ LCID lcid,
  8118. /* [out] */ BSTR *pbstrSource,
  8119. /* [out] */ BSTR *pbstrDescription) = 0;
  8120. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetHelpInfo(
  8121. /* [in] */ HRESULT hrError,
  8122. /* [in] */ DWORD dwLookupID,
  8123. /* [in] */ LCID lcid,
  8124. /* [out] */ BSTR *pbstrHelpFile,
  8125. /* [out] */ DWORD *pdwHelpContext) = 0;
  8126. virtual /* [local] */ HRESULT STDMETHODCALLTYPE ReleaseErrors(
  8127. /* [in] */ const DWORD dwDynamicErrorID) = 0;
  8128. };
  8129. #else /* C style interface */
  8130. typedef struct IErrorLookupVtbl
  8131. {
  8132. BEGIN_INTERFACE
  8133. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8134. IErrorLookup * This,
  8135. /* [in] */ REFIID riid,
  8136. /* [iid_is][out] */ void **ppvObject);
  8137. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8138. IErrorLookup * This);
  8139. ULONG ( STDMETHODCALLTYPE *Release )(
  8140. IErrorLookup * This);
  8141. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetErrorDescription )(
  8142. IErrorLookup * This,
  8143. /* [in] */ HRESULT hrError,
  8144. /* [in] */ DWORD dwLookupID,
  8145. /* [in] */ DISPPARAMS *pdispparams,
  8146. /* [in] */ LCID lcid,
  8147. /* [out] */ BSTR *pbstrSource,
  8148. /* [out] */ BSTR *pbstrDescription);
  8149. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetHelpInfo )(
  8150. IErrorLookup * This,
  8151. /* [in] */ HRESULT hrError,
  8152. /* [in] */ DWORD dwLookupID,
  8153. /* [in] */ LCID lcid,
  8154. /* [out] */ BSTR *pbstrHelpFile,
  8155. /* [out] */ DWORD *pdwHelpContext);
  8156. /* [local] */ HRESULT ( STDMETHODCALLTYPE *ReleaseErrors )(
  8157. IErrorLookup * This,
  8158. /* [in] */ const DWORD dwDynamicErrorID);
  8159. END_INTERFACE
  8160. } IErrorLookupVtbl;
  8161. interface IErrorLookup
  8162. {
  8163. CONST_VTBL struct IErrorLookupVtbl *lpVtbl;
  8164. };
  8165. #ifdef COBJMACROS
  8166. #define IErrorLookup_QueryInterface(This,riid,ppvObject) \
  8167. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8168. #define IErrorLookup_AddRef(This) \
  8169. (This)->lpVtbl -> AddRef(This)
  8170. #define IErrorLookup_Release(This) \
  8171. (This)->lpVtbl -> Release(This)
  8172. #define IErrorLookup_GetErrorDescription(This,hrError,dwLookupID,pdispparams,lcid,pbstrSource,pbstrDescription) \
  8173. (This)->lpVtbl -> GetErrorDescription(This,hrError,dwLookupID,pdispparams,lcid,pbstrSource,pbstrDescription)
  8174. #define IErrorLookup_GetHelpInfo(This,hrError,dwLookupID,lcid,pbstrHelpFile,pdwHelpContext) \
  8175. (This)->lpVtbl -> GetHelpInfo(This,hrError,dwLookupID,lcid,pbstrHelpFile,pdwHelpContext)
  8176. #define IErrorLookup_ReleaseErrors(This,dwDynamicErrorID) \
  8177. (This)->lpVtbl -> ReleaseErrors(This,dwDynamicErrorID)
  8178. #endif /* COBJMACROS */
  8179. #endif /* C style interface */
  8180. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorLookup_RemoteGetErrorDescription_Proxy(
  8181. IErrorLookup * This,
  8182. /* [in] */ HRESULT hrError,
  8183. /* [in] */ DWORD dwLookupID,
  8184. /* [in] */ DISPPARAMS *pdispparams,
  8185. /* [in] */ LCID lcid,
  8186. /* [out] */ BSTR *pbstrSource,
  8187. /* [out] */ BSTR *pbstrDescription,
  8188. /* [out] */ IErrorInfo **ppErrorInfoRem);
  8189. void __RPC_STUB IErrorLookup_RemoteGetErrorDescription_Stub(
  8190. IRpcStubBuffer *This,
  8191. IRpcChannelBuffer *_pRpcChannelBuffer,
  8192. PRPC_MESSAGE _pRpcMessage,
  8193. DWORD *_pdwStubPhase);
  8194. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorLookup_RemoteGetHelpInfo_Proxy(
  8195. IErrorLookup * This,
  8196. /* [in] */ HRESULT hrError,
  8197. /* [in] */ DWORD dwLookupID,
  8198. /* [in] */ LCID lcid,
  8199. /* [out] */ BSTR *pbstrHelpFile,
  8200. /* [out] */ DWORD *pdwHelpContext,
  8201. /* [out] */ IErrorInfo **ppErrorInfoRem);
  8202. void __RPC_STUB IErrorLookup_RemoteGetHelpInfo_Stub(
  8203. IRpcStubBuffer *This,
  8204. IRpcChannelBuffer *_pRpcChannelBuffer,
  8205. PRPC_MESSAGE _pRpcMessage,
  8206. DWORD *_pdwStubPhase);
  8207. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorLookup_RemoteReleaseErrors_Proxy(
  8208. IErrorLookup * This,
  8209. /* [in] */ const DWORD dwDynamicErrorID,
  8210. /* [out] */ IErrorInfo **ppErrorInfoRem);
  8211. void __RPC_STUB IErrorLookup_RemoteReleaseErrors_Stub(
  8212. IRpcStubBuffer *This,
  8213. IRpcChannelBuffer *_pRpcChannelBuffer,
  8214. PRPC_MESSAGE _pRpcMessage,
  8215. DWORD *_pdwStubPhase);
  8216. #endif /* __IErrorLookup_INTERFACE_DEFINED__ */
  8217. #ifndef __ISQLErrorInfo_INTERFACE_DEFINED__
  8218. #define __ISQLErrorInfo_INTERFACE_DEFINED__
  8219. /* interface ISQLErrorInfo */
  8220. /* [unique][uuid][object] */
  8221. EXTERN_C const IID IID_ISQLErrorInfo;
  8222. #if defined(__cplusplus) && !defined(CINTERFACE)
  8223. MIDL_INTERFACE("0c733a74-2a1c-11ce-ade5-00aa0044773d")
  8224. ISQLErrorInfo : public IUnknown
  8225. {
  8226. public:
  8227. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSQLInfo(
  8228. /* [out] */ BSTR *pbstrSQLState,
  8229. /* [out] */ LONG *plNativeError) = 0;
  8230. };
  8231. #else /* C style interface */
  8232. typedef struct ISQLErrorInfoVtbl
  8233. {
  8234. BEGIN_INTERFACE
  8235. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8236. ISQLErrorInfo * This,
  8237. /* [in] */ REFIID riid,
  8238. /* [iid_is][out] */ void **ppvObject);
  8239. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8240. ISQLErrorInfo * This);
  8241. ULONG ( STDMETHODCALLTYPE *Release )(
  8242. ISQLErrorInfo * This);
  8243. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetSQLInfo )(
  8244. ISQLErrorInfo * This,
  8245. /* [out] */ BSTR *pbstrSQLState,
  8246. /* [out] */ LONG *plNativeError);
  8247. END_INTERFACE
  8248. } ISQLErrorInfoVtbl;
  8249. interface ISQLErrorInfo
  8250. {
  8251. CONST_VTBL struct ISQLErrorInfoVtbl *lpVtbl;
  8252. };
  8253. #ifdef COBJMACROS
  8254. #define ISQLErrorInfo_QueryInterface(This,riid,ppvObject) \
  8255. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8256. #define ISQLErrorInfo_AddRef(This) \
  8257. (This)->lpVtbl -> AddRef(This)
  8258. #define ISQLErrorInfo_Release(This) \
  8259. (This)->lpVtbl -> Release(This)
  8260. #define ISQLErrorInfo_GetSQLInfo(This,pbstrSQLState,plNativeError) \
  8261. (This)->lpVtbl -> GetSQLInfo(This,pbstrSQLState,plNativeError)
  8262. #endif /* COBJMACROS */
  8263. #endif /* C style interface */
  8264. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISQLErrorInfo_RemoteGetSQLInfo_Proxy(
  8265. ISQLErrorInfo * This,
  8266. /* [out] */ BSTR *pbstrSQLState,
  8267. /* [out] */ LONG *plNativeError,
  8268. /* [out] */ IErrorInfo **ppErrorInfoRem);
  8269. void __RPC_STUB ISQLErrorInfo_RemoteGetSQLInfo_Stub(
  8270. IRpcStubBuffer *This,
  8271. IRpcChannelBuffer *_pRpcChannelBuffer,
  8272. PRPC_MESSAGE _pRpcMessage,
  8273. DWORD *_pdwStubPhase);
  8274. #endif /* __ISQLErrorInfo_INTERFACE_DEFINED__ */
  8275. #ifndef __IGetDataSource_INTERFACE_DEFINED__
  8276. #define __IGetDataSource_INTERFACE_DEFINED__
  8277. /* interface IGetDataSource */
  8278. /* [unique][uuid][object] */
  8279. EXTERN_C const IID IID_IGetDataSource;
  8280. #if defined(__cplusplus) && !defined(CINTERFACE)
  8281. MIDL_INTERFACE("0c733a75-2a1c-11ce-ade5-00aa0044773d")
  8282. IGetDataSource : public IUnknown
  8283. {
  8284. public:
  8285. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDataSource(
  8286. /* [in] */ REFIID riid,
  8287. /* [iid_is][out] */ IUnknown **ppDataSource) = 0;
  8288. };
  8289. #else /* C style interface */
  8290. typedef struct IGetDataSourceVtbl
  8291. {
  8292. BEGIN_INTERFACE
  8293. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8294. IGetDataSource * This,
  8295. /* [in] */ REFIID riid,
  8296. /* [iid_is][out] */ void **ppvObject);
  8297. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8298. IGetDataSource * This);
  8299. ULONG ( STDMETHODCALLTYPE *Release )(
  8300. IGetDataSource * This);
  8301. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetDataSource )(
  8302. IGetDataSource * This,
  8303. /* [in] */ REFIID riid,
  8304. /* [iid_is][out] */ IUnknown **ppDataSource);
  8305. END_INTERFACE
  8306. } IGetDataSourceVtbl;
  8307. interface IGetDataSource
  8308. {
  8309. CONST_VTBL struct IGetDataSourceVtbl *lpVtbl;
  8310. };
  8311. #ifdef COBJMACROS
  8312. #define IGetDataSource_QueryInterface(This,riid,ppvObject) \
  8313. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8314. #define IGetDataSource_AddRef(This) \
  8315. (This)->lpVtbl -> AddRef(This)
  8316. #define IGetDataSource_Release(This) \
  8317. (This)->lpVtbl -> Release(This)
  8318. #define IGetDataSource_GetDataSource(This,riid,ppDataSource) \
  8319. (This)->lpVtbl -> GetDataSource(This,riid,ppDataSource)
  8320. #endif /* COBJMACROS */
  8321. #endif /* C style interface */
  8322. /* [call_as] */ HRESULT STDMETHODCALLTYPE IGetDataSource_RemoteGetDataSource_Proxy(
  8323. IGetDataSource * This,
  8324. /* [in] */ REFIID riid,
  8325. /* [iid_is][out] */ IUnknown **ppDataSource,
  8326. /* [out] */ IErrorInfo **ppErrorInfoRem);
  8327. void __RPC_STUB IGetDataSource_RemoteGetDataSource_Stub(
  8328. IRpcStubBuffer *This,
  8329. IRpcChannelBuffer *_pRpcChannelBuffer,
  8330. PRPC_MESSAGE _pRpcMessage,
  8331. DWORD *_pdwStubPhase);
  8332. #endif /* __IGetDataSource_INTERFACE_DEFINED__ */
  8333. #ifndef __ITransactionLocal_INTERFACE_DEFINED__
  8334. #define __ITransactionLocal_INTERFACE_DEFINED__
  8335. /* interface ITransactionLocal */
  8336. /* [unique][uuid][object] */
  8337. EXTERN_C const IID IID_ITransactionLocal;
  8338. #if defined(__cplusplus) && !defined(CINTERFACE)
  8339. MIDL_INTERFACE("0c733a5f-2a1c-11ce-ade5-00aa0044773d")
  8340. ITransactionLocal : public ITransaction
  8341. {
  8342. public:
  8343. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetOptionsObject(
  8344. /* [out] */ ITransactionOptions **ppOptions) = 0;
  8345. virtual /* [local] */ HRESULT STDMETHODCALLTYPE StartTransaction(
  8346. /* [in] */ ISOLEVEL isoLevel,
  8347. /* [in] */ ULONG isoFlags,
  8348. /* [in] */ ITransactionOptions *pOtherOptions,
  8349. /* [out] */ ULONG *pulTransactionLevel) = 0;
  8350. };
  8351. #else /* C style interface */
  8352. typedef struct ITransactionLocalVtbl
  8353. {
  8354. BEGIN_INTERFACE
  8355. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8356. ITransactionLocal * This,
  8357. /* [in] */ REFIID riid,
  8358. /* [iid_is][out] */ void **ppvObject);
  8359. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8360. ITransactionLocal * This);
  8361. ULONG ( STDMETHODCALLTYPE *Release )(
  8362. ITransactionLocal * This);
  8363. HRESULT ( STDMETHODCALLTYPE *Commit )(
  8364. ITransactionLocal * This,
  8365. /* [in] */ BOOL fRetaining,
  8366. /* [in] */ DWORD grfTC,
  8367. /* [in] */ DWORD grfRM);
  8368. HRESULT ( STDMETHODCALLTYPE *Abort )(
  8369. ITransactionLocal * This,
  8370. /* [unique][in] */ BOID *pboidReason,
  8371. /* [in] */ BOOL fRetaining,
  8372. /* [in] */ BOOL fAsync);
  8373. HRESULT ( STDMETHODCALLTYPE *GetTransactionInfo )(
  8374. ITransactionLocal * This,
  8375. /* [out] */ XACTTRANSINFO *pinfo);
  8376. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetOptionsObject )(
  8377. ITransactionLocal * This,
  8378. /* [out] */ ITransactionOptions **ppOptions);
  8379. /* [local] */ HRESULT ( STDMETHODCALLTYPE *StartTransaction )(
  8380. ITransactionLocal * This,
  8381. /* [in] */ ISOLEVEL isoLevel,
  8382. /* [in] */ ULONG isoFlags,
  8383. /* [in] */ ITransactionOptions *pOtherOptions,
  8384. /* [out] */ ULONG *pulTransactionLevel);
  8385. END_INTERFACE
  8386. } ITransactionLocalVtbl;
  8387. interface ITransactionLocal
  8388. {
  8389. CONST_VTBL struct ITransactionLocalVtbl *lpVtbl;
  8390. };
  8391. #ifdef COBJMACROS
  8392. #define ITransactionLocal_QueryInterface(This,riid,ppvObject) \
  8393. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8394. #define ITransactionLocal_AddRef(This) \
  8395. (This)->lpVtbl -> AddRef(This)
  8396. #define ITransactionLocal_Release(This) \
  8397. (This)->lpVtbl -> Release(This)
  8398. #define ITransactionLocal_Commit(This,fRetaining,grfTC,grfRM) \
  8399. (This)->lpVtbl -> Commit(This,fRetaining,grfTC,grfRM)
  8400. #define ITransactionLocal_Abort(This,pboidReason,fRetaining,fAsync) \
  8401. (This)->lpVtbl -> Abort(This,pboidReason,fRetaining,fAsync)
  8402. #define ITransactionLocal_GetTransactionInfo(This,pinfo) \
  8403. (This)->lpVtbl -> GetTransactionInfo(This,pinfo)
  8404. #define ITransactionLocal_GetOptionsObject(This,ppOptions) \
  8405. (This)->lpVtbl -> GetOptionsObject(This,ppOptions)
  8406. #define ITransactionLocal_StartTransaction(This,isoLevel,isoFlags,pOtherOptions,pulTransactionLevel) \
  8407. (This)->lpVtbl -> StartTransaction(This,isoLevel,isoFlags,pOtherOptions,pulTransactionLevel)
  8408. #endif /* COBJMACROS */
  8409. #endif /* C style interface */
  8410. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionLocal_RemoteGetOptionsObject_Proxy(
  8411. ITransactionLocal * This,
  8412. /* [out] */ ITransactionOptions **ppOptions,
  8413. /* [out] */ IErrorInfo **ppErrorInfoRem);
  8414. void __RPC_STUB ITransactionLocal_RemoteGetOptionsObject_Stub(
  8415. IRpcStubBuffer *This,
  8416. IRpcChannelBuffer *_pRpcChannelBuffer,
  8417. PRPC_MESSAGE _pRpcMessage,
  8418. DWORD *_pdwStubPhase);
  8419. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionLocal_RemoteStartTransaction_Proxy(
  8420. ITransactionLocal * This,
  8421. /* [in] */ ISOLEVEL isoLevel,
  8422. /* [in] */ ULONG isoFlags,
  8423. /* [in] */ ITransactionOptions *pOtherOptions,
  8424. /* [unique][out][in] */ ULONG *pulTransactionLevel,
  8425. /* [out] */ IErrorInfo **ppErrorInfoRem);
  8426. void __RPC_STUB ITransactionLocal_RemoteStartTransaction_Stub(
  8427. IRpcStubBuffer *This,
  8428. IRpcChannelBuffer *_pRpcChannelBuffer,
  8429. PRPC_MESSAGE _pRpcMessage,
  8430. DWORD *_pdwStubPhase);
  8431. #endif /* __ITransactionLocal_INTERFACE_DEFINED__ */
  8432. #ifndef __ITransactionJoin_INTERFACE_DEFINED__
  8433. #define __ITransactionJoin_INTERFACE_DEFINED__
  8434. /* interface ITransactionJoin */
  8435. /* [unique][uuid][object] */
  8436. EXTERN_C const IID IID_ITransactionJoin;
  8437. #if defined(__cplusplus) && !defined(CINTERFACE)
  8438. MIDL_INTERFACE("0c733a5e-2a1c-11ce-ade5-00aa0044773d")
  8439. ITransactionJoin : public IUnknown
  8440. {
  8441. public:
  8442. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetOptionsObject(
  8443. /* [out] */ ITransactionOptions **ppOptions) = 0;
  8444. virtual /* [local] */ HRESULT STDMETHODCALLTYPE JoinTransaction(
  8445. /* [in] */ IUnknown *punkTransactionCoord,
  8446. /* [in] */ ISOLEVEL isoLevel,
  8447. /* [in] */ ULONG isoFlags,
  8448. /* [in] */ ITransactionOptions *pOtherOptions) = 0;
  8449. };
  8450. #else /* C style interface */
  8451. typedef struct ITransactionJoinVtbl
  8452. {
  8453. BEGIN_INTERFACE
  8454. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8455. ITransactionJoin * This,
  8456. /* [in] */ REFIID riid,
  8457. /* [iid_is][out] */ void **ppvObject);
  8458. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8459. ITransactionJoin * This);
  8460. ULONG ( STDMETHODCALLTYPE *Release )(
  8461. ITransactionJoin * This);
  8462. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetOptionsObject )(
  8463. ITransactionJoin * This,
  8464. /* [out] */ ITransactionOptions **ppOptions);
  8465. /* [local] */ HRESULT ( STDMETHODCALLTYPE *JoinTransaction )(
  8466. ITransactionJoin * This,
  8467. /* [in] */ IUnknown *punkTransactionCoord,
  8468. /* [in] */ ISOLEVEL isoLevel,
  8469. /* [in] */ ULONG isoFlags,
  8470. /* [in] */ ITransactionOptions *pOtherOptions);
  8471. END_INTERFACE
  8472. } ITransactionJoinVtbl;
  8473. interface ITransactionJoin
  8474. {
  8475. CONST_VTBL struct ITransactionJoinVtbl *lpVtbl;
  8476. };
  8477. #ifdef COBJMACROS
  8478. #define ITransactionJoin_QueryInterface(This,riid,ppvObject) \
  8479. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8480. #define ITransactionJoin_AddRef(This) \
  8481. (This)->lpVtbl -> AddRef(This)
  8482. #define ITransactionJoin_Release(This) \
  8483. (This)->lpVtbl -> Release(This)
  8484. #define ITransactionJoin_GetOptionsObject(This,ppOptions) \
  8485. (This)->lpVtbl -> GetOptionsObject(This,ppOptions)
  8486. #define ITransactionJoin_JoinTransaction(This,punkTransactionCoord,isoLevel,isoFlags,pOtherOptions) \
  8487. (This)->lpVtbl -> JoinTransaction(This,punkTransactionCoord,isoLevel,isoFlags,pOtherOptions)
  8488. #endif /* COBJMACROS */
  8489. #endif /* C style interface */
  8490. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionJoin_RemoteGetOptionsObject_Proxy(
  8491. ITransactionJoin * This,
  8492. /* [out] */ ITransactionOptions **ppOptions,
  8493. /* [out] */ IErrorInfo **ppErrorInfoRem);
  8494. void __RPC_STUB ITransactionJoin_RemoteGetOptionsObject_Stub(
  8495. IRpcStubBuffer *This,
  8496. IRpcChannelBuffer *_pRpcChannelBuffer,
  8497. PRPC_MESSAGE _pRpcMessage,
  8498. DWORD *_pdwStubPhase);
  8499. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionJoin_RemoteJoinTransaction_Proxy(
  8500. ITransactionJoin * This,
  8501. /* [unique][in] */ IUnknown *punkTransactionCoord,
  8502. /* [in] */ ISOLEVEL isoLevel,
  8503. /* [in] */ ULONG isoFlags,
  8504. /* [in] */ ITransactionOptions *pOtherOptions,
  8505. /* [out] */ IErrorInfo **ppErrorInfoRem);
  8506. void __RPC_STUB ITransactionJoin_RemoteJoinTransaction_Stub(
  8507. IRpcStubBuffer *This,
  8508. IRpcChannelBuffer *_pRpcChannelBuffer,
  8509. PRPC_MESSAGE _pRpcMessage,
  8510. DWORD *_pdwStubPhase);
  8511. #endif /* __ITransactionJoin_INTERFACE_DEFINED__ */
  8512. #ifndef __ITransactionObject_INTERFACE_DEFINED__
  8513. #define __ITransactionObject_INTERFACE_DEFINED__
  8514. /* interface ITransactionObject */
  8515. /* [unique][uuid][object] */
  8516. EXTERN_C const IID IID_ITransactionObject;
  8517. #if defined(__cplusplus) && !defined(CINTERFACE)
  8518. MIDL_INTERFACE("0c733a60-2a1c-11ce-ade5-00aa0044773d")
  8519. ITransactionObject : public IUnknown
  8520. {
  8521. public:
  8522. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetTransactionObject(
  8523. /* [in] */ ULONG ulTransactionLevel,
  8524. /* [out] */ ITransaction **ppTransactionObject) = 0;
  8525. };
  8526. #else /* C style interface */
  8527. typedef struct ITransactionObjectVtbl
  8528. {
  8529. BEGIN_INTERFACE
  8530. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8531. ITransactionObject * This,
  8532. /* [in] */ REFIID riid,
  8533. /* [iid_is][out] */ void **ppvObject);
  8534. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8535. ITransactionObject * This);
  8536. ULONG ( STDMETHODCALLTYPE *Release )(
  8537. ITransactionObject * This);
  8538. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetTransactionObject )(
  8539. ITransactionObject * This,
  8540. /* [in] */ ULONG ulTransactionLevel,
  8541. /* [out] */ ITransaction **ppTransactionObject);
  8542. END_INTERFACE
  8543. } ITransactionObjectVtbl;
  8544. interface ITransactionObject
  8545. {
  8546. CONST_VTBL struct ITransactionObjectVtbl *lpVtbl;
  8547. };
  8548. #ifdef COBJMACROS
  8549. #define ITransactionObject_QueryInterface(This,riid,ppvObject) \
  8550. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8551. #define ITransactionObject_AddRef(This) \
  8552. (This)->lpVtbl -> AddRef(This)
  8553. #define ITransactionObject_Release(This) \
  8554. (This)->lpVtbl -> Release(This)
  8555. #define ITransactionObject_GetTransactionObject(This,ulTransactionLevel,ppTransactionObject) \
  8556. (This)->lpVtbl -> GetTransactionObject(This,ulTransactionLevel,ppTransactionObject)
  8557. #endif /* COBJMACROS */
  8558. #endif /* C style interface */
  8559. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionObject_RemoteGetTransactionObject_Proxy(
  8560. ITransactionObject * This,
  8561. /* [in] */ ULONG ulTransactionLevel,
  8562. /* [out] */ ITransaction **ppTransactionObject,
  8563. /* [out] */ IErrorInfo **ppErrorInfoRem);
  8564. void __RPC_STUB ITransactionObject_RemoteGetTransactionObject_Stub(
  8565. IRpcStubBuffer *This,
  8566. IRpcChannelBuffer *_pRpcChannelBuffer,
  8567. PRPC_MESSAGE _pRpcMessage,
  8568. DWORD *_pdwStubPhase);
  8569. #endif /* __ITransactionObject_INTERFACE_DEFINED__ */
  8570. /* interface __MIDL_itf_oledb_0334 */
  8571. /* [local] */
  8572. //@@@+ V2.1
  8573. #if( OLEDBVER >= 0x0210 )
  8574. #ifndef UNDER_CE
  8575. #if 0 // to get around a MIDL limitation
  8576. typedef
  8577. enum _SE_OBJECT_TYPE
  8578. { SE_UNKNOWN_OBJECT_TYPE = 0,
  8579. SE_FILE_OBJECT = SE_UNKNOWN_OBJECT_TYPE + 1,
  8580. SE_SERVICE = SE_FILE_OBJECT + 1,
  8581. SE_PRINTER = SE_SERVICE + 1,
  8582. SE_REGISTRY_KEY = SE_PRINTER + 1,
  8583. SE_LMSHARE = SE_REGISTRY_KEY + 1,
  8584. SE_KERNEL_OBJECT = SE_LMSHARE + 1,
  8585. SE_WINDOW_OBJECT = SE_KERNEL_OBJECT + 1,
  8586. SE_DS_OBJECT = SE_WINDOW_OBJECT + 1,
  8587. SE_DS_OBJECT_ALL = SE_DS_OBJECT + 1,
  8588. SE_PROVIDER_DEFINED_OBJECT = SE_DS_OBJECT_ALL + 1,
  8589. SE_WMIGUID_OBJECT = SE_PROVIDER_DEFINED_OBJECT + 1,
  8590. SE_REGISTRY_WOW64_32KEY = SE_WMIGUID_OBJECT + 1
  8591. } SE_OBJECT_TYPE;
  8592. typedef
  8593. enum _TRUSTEE_TYPE
  8594. { TRUSTEE_IS_UNKNOWN = 0,
  8595. TRUSTEE_IS_USER = TRUSTEE_IS_UNKNOWN + 1,
  8596. TRUSTEE_IS_GROUP = TRUSTEE_IS_USER + 1,
  8597. TRUSTEE_IS_DOMAIN = TRUSTEE_IS_GROUP + 1,
  8598. TRUSTEE_IS_ALIAS = TRUSTEE_IS_DOMAIN + 1,
  8599. TRUSTEE_IS_WELL_KNOWN_GROUP = TRUSTEE_IS_ALIAS + 1,
  8600. TRUSTEE_IS_DELETED = TRUSTEE_IS_WELL_KNOWN_GROUP + 1,
  8601. TRUSTEE_IS_INVALID = TRUSTEE_IS_DELETED + 1,
  8602. TRUSTEE_IS_COMPUTER = TRUSTEE_IS_INVALID + 1
  8603. } TRUSTEE_TYPE;
  8604. typedef
  8605. enum _TRUSTEE_FORM
  8606. { TRUSTEE_IS_SID = 0,
  8607. TRUSTEE_IS_NAME = TRUSTEE_IS_SID + 1,
  8608. TRUSTEE_BAD_FORM = TRUSTEE_IS_NAME + 1,
  8609. TRUSTEE_IS_OBJECTS_AND_SID = TRUSTEE_BAD_FORM + 1,
  8610. TRUSTEE_IS_OBJECTS_AND_NAME = TRUSTEE_IS_OBJECTS_AND_SID + 1
  8611. } TRUSTEE_FORM;
  8612. typedef
  8613. enum _MULTIPLE_TRUSTEE_OPERATION
  8614. { NO_MULTIPLE_TRUSTEE = 0,
  8615. TRUSTEE_IS_IMPERSONATE = NO_MULTIPLE_TRUSTEE + 1
  8616. } MULTIPLE_TRUSTEE_OPERATION;
  8617. typedef struct _OBJECTS_AND_SID
  8618. {
  8619. DWORD ObjectsPresent;
  8620. GUID ObjectTypeGuid;
  8621. GUID InheritedObjectTypeGuid;
  8622. SID *pSid;
  8623. } OBJECTS_AND_SID;
  8624. typedef struct _OBJECTS_AND_SID *POBJECTS_AND_SID;
  8625. typedef struct _OBJECTS_AND_NAME_A
  8626. {
  8627. DWORD ObjectsPresent;
  8628. SE_OBJECT_TYPE ObjectType;
  8629. LPSTR ObjectTypeName;
  8630. LPSTR InheritedObjectTypeName;
  8631. LPSTR ptstrName;
  8632. } OBJECTS_AND_NAME_A;
  8633. typedef struct _OBJECTS_AND_NAME_A *POBJECTS_AND_NAME_A;
  8634. typedef struct _OBJECTS_AND_NAME_W
  8635. {
  8636. DWORD ObjectsPresent;
  8637. SE_OBJECT_TYPE ObjectType;
  8638. LPWSTR ObjectTypeName;
  8639. LPWSTR InheritedObjectTypeName;
  8640. LPWSTR ptstrName;
  8641. } OBJECTS_AND_NAME_W;
  8642. typedef struct _OBJECTS_AND_NAME_W *POBJECTS_AND_NAME_W;
  8643. typedef OBJECTS_AND_NAME_A OBJECTS_AND_NAME_;
  8644. typedef POBJECTS_AND_NAME_A POBJECTS_AND_NAME_;
  8645. typedef struct _TRUSTEE_A
  8646. {
  8647. struct _TRUSTEE_A *pMultipleTrustee;
  8648. MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation;
  8649. TRUSTEE_FORM TrusteeForm;
  8650. TRUSTEE_TYPE TrusteeType;
  8651. /* [switch_is] */ /* [switch_type] */ union
  8652. {
  8653. /* [case()] */ LPSTR ptstrName;
  8654. /* [case()] */ SID *pSid;
  8655. /* [case()] */ OBJECTS_AND_SID *pObjectsAndSid;
  8656. /* [case()] */ OBJECTS_AND_NAME_A *pObjectsAndName;
  8657. } ;
  8658. } TRUSTEE_A;
  8659. typedef struct _TRUSTEE_A *PTRUSTEE_A;
  8660. typedef struct _TRUSTEE_A TRUSTEEA;
  8661. typedef struct _TRUSTEE_A *PTRUSTEEA;
  8662. typedef struct _TRUSTEE_W
  8663. {
  8664. struct _TRUSTEE_W *pMultipleTrustee;
  8665. MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation;
  8666. TRUSTEE_FORM TrusteeForm;
  8667. TRUSTEE_TYPE TrusteeType;
  8668. /* [switch_is] */ /* [switch_type] */ union
  8669. {
  8670. /* [case()] */ LPWSTR ptstrName;
  8671. /* [case()] */ SID *pSid;
  8672. /* [case()] */ OBJECTS_AND_SID *pObjectsAndSid;
  8673. /* [case()] */ OBJECTS_AND_NAME_W *pObjectsAndName;
  8674. } ;
  8675. } TRUSTEE_W;
  8676. typedef struct _TRUSTEE_W *PTRUSTEE_W;
  8677. typedef struct _TRUSTEE_W TRUSTEEW;
  8678. typedef struct _TRUSTEE_W *PTRUSTEEW;
  8679. typedef TRUSTEE_A TRUSTEE_;
  8680. typedef PTRUSTEE_A PTRUSTEE_;
  8681. typedef TRUSTEEA TRUSTEE;
  8682. typedef PTRUSTEEA PTRUSTEE;
  8683. typedef
  8684. enum _ACCESS_MODE
  8685. { NOT_USED_ACCESS = 0,
  8686. GRANT_ACCESS = NOT_USED_ACCESS + 1,
  8687. SET_ACCESS = GRANT_ACCESS + 1,
  8688. DENY_ACCESS = SET_ACCESS + 1,
  8689. REVOKE_ACCESS = DENY_ACCESS + 1,
  8690. SET_AUDIT_SUCCESS = REVOKE_ACCESS + 1,
  8691. SET_AUDIT_FAILURE = SET_AUDIT_SUCCESS + 1
  8692. } ACCESS_MODE;
  8693. typedef struct _EXPLICIT_ACCESS_A
  8694. {
  8695. DWORD grfAccessPermissions;
  8696. ACCESS_MODE grfAccessMode;
  8697. DWORD grfInheritance;
  8698. TRUSTEE_A Trustee;
  8699. } EXPLICIT_ACCESS_A;
  8700. typedef struct _EXPLICIT_ACCESS_A *PEXPLICIT_ACCESS_A;
  8701. typedef struct _EXPLICIT_ACCESS_A EXPLICIT_ACCESSA;
  8702. typedef struct _EXPLICIT_ACCESS_A *PEXPLICIT_ACCESSA;
  8703. typedef struct _EXPLICIT_ACCESS_W
  8704. {
  8705. DWORD grfAccessPermissions;
  8706. ACCESS_MODE grfAccessMode;
  8707. DWORD grfInheritance;
  8708. TRUSTEE_W Trustee;
  8709. } EXPLICIT_ACCESS_W;
  8710. typedef struct _EXPLICIT_ACCESS_W *PEXPLICIT_ACCESS_W;
  8711. typedef struct _EXPLICIT_ACCESS_W EXPLICIT_ACCESSW;
  8712. typedef struct _EXPLICIT_ACCESS_W *PEXPLICIT_ACCESSW;
  8713. typedef EXPLICIT_ACCESS_A EXPLICIT_ACCESS_;
  8714. typedef PEXPLICIT_ACCESS_A PEXPLICIT_ACCESS_;
  8715. typedef EXPLICIT_ACCESSA EXPLICIT_ACCESS;
  8716. typedef PEXPLICIT_ACCESSA PEXPLICIT_ACCESS;
  8717. typedef ULONG ACCESS_RIGHTS;
  8718. typedef ULONG *PACCESS_RIGHTS;
  8719. typedef ULONG INHERIT_FLAGS;
  8720. typedef ULONG *PINHERIT_FLAGS;
  8721. typedef struct _ACTRL_ACCESS_ENTRYA
  8722. {
  8723. TRUSTEE_A Trustee;
  8724. ULONG fAccessFlags;
  8725. ACCESS_RIGHTS Access;
  8726. ACCESS_RIGHTS ProvSpecificAccess;
  8727. INHERIT_FLAGS Inheritance;
  8728. LPSTR lpInheritProperty;
  8729. } ACTRL_ACCESS_ENTRYA;
  8730. typedef struct _ACTRL_ACCESS_ENTRYA *PACTRL_ACCESS_ENTRYA;
  8731. typedef struct _ACTRL_ACCESS_ENTRYW
  8732. {
  8733. TRUSTEE_W Trustee;
  8734. ULONG fAccessFlags;
  8735. ACCESS_RIGHTS Access;
  8736. ACCESS_RIGHTS ProvSpecificAccess;
  8737. INHERIT_FLAGS Inheritance;
  8738. LPWSTR lpInheritProperty;
  8739. } ACTRL_ACCESS_ENTRYW;
  8740. typedef struct _ACTRL_ACCESS_ENTRYW *PACTRL_ACCESS_ENTRYW;
  8741. typedef ACTRL_ACCESS_ENTRYA ACTRL_ACCESS_ENTRY;
  8742. typedef PACTRL_ACCESS_ENTRYA PACTRL_ACCESS_ENTRY;
  8743. typedef struct _ACTRL_ACCESS_ENTRY_LISTA
  8744. {
  8745. ULONG cEntries;
  8746. /* [size_is] */ ACTRL_ACCESS_ENTRYA *pAccessList;
  8747. } ACTRL_ACCESS_ENTRY_LISTA;
  8748. typedef struct _ACTRL_ACCESS_ENTRY_LISTA *PACTRL_ACCESS_ENTRY_LISTA;
  8749. typedef struct _ACTRL_ACCESS_ENTRY_LISTW
  8750. {
  8751. ULONG cEntries;
  8752. /* [size_is] */ ACTRL_ACCESS_ENTRYW *pAccessList;
  8753. } ACTRL_ACCESS_ENTRY_LISTW;
  8754. typedef struct _ACTRL_ACCESS_ENTRY_LISTW *PACTRL_ACCESS_ENTRY_LISTW;
  8755. typedef ACTRL_ACCESS_ENTRY_LISTA ACTRL_ACCESS_ENTRY_LIST;
  8756. typedef PACTRL_ACCESS_ENTRY_LISTA PACTRL_ACCESS_ENTRY_LIST;
  8757. typedef struct _ACTRL_PROPERTY_ENTRYA
  8758. {
  8759. LPSTR lpProperty;
  8760. PACTRL_ACCESS_ENTRY_LISTA pAccessEntryList;
  8761. ULONG fListFlags;
  8762. } ACTRL_PROPERTY_ENTRYA;
  8763. typedef struct _ACTRL_PROPERTY_ENTRYA *PACTRL_PROPERTY_ENTRYA;
  8764. typedef struct _ACTRL_PROPERTY_ENTRYW
  8765. {
  8766. LPWSTR lpProperty;
  8767. PACTRL_ACCESS_ENTRY_LISTW pAccessEntryList;
  8768. ULONG fListFlags;
  8769. } ACTRL_PROPERTY_ENTRYW;
  8770. typedef struct _ACTRL_PROPERTY_ENTRYW *PACTRL_PROPERTY_ENTRYW;
  8771. typedef ACTRL_PROPERTY_ENTRYA ACTRL_PROPERTY_ENTRY;
  8772. typedef PACTRL_PROPERTY_ENTRYA PACTRL_PROPERTY_ENTRY;
  8773. typedef struct _ACTRL_ALISTA
  8774. {
  8775. ULONG cEntries;
  8776. /* [size_is] */ PACTRL_PROPERTY_ENTRYA pPropertyAccessList;
  8777. } ACTRL_ACCESSA;
  8778. typedef struct _ACTRL_ALISTA *PACTRL_ACCESSA;
  8779. typedef struct _ACTRL_ALISTA ACTRL_AUDITA;
  8780. typedef struct _ACTRL_ALISTA *PACTRL_AUDITA;
  8781. typedef struct _ACTRL_ALISTW
  8782. {
  8783. ULONG cEntries;
  8784. /* [size_is] */ PACTRL_PROPERTY_ENTRYW pPropertyAccessList;
  8785. } ACTRL_ACCESSW;
  8786. typedef struct _ACTRL_ALISTW *PACTRL_ACCESSW;
  8787. typedef struct _ACTRL_ALISTW ACTRL_AUDITW;
  8788. typedef struct _ACTRL_ALISTW *PACTRL_AUDITW;
  8789. typedef ACTRL_ACCESSA ACTRL_ACCESS;
  8790. typedef PACTRL_ACCESSA PACTRL_ACCESS;
  8791. typedef ACTRL_AUDITA ACTRL_AUDIT;
  8792. typedef PACTRL_AUDITA PACTRL_AUDIT;
  8793. typedef struct _TRUSTEE_ACCESSA
  8794. {
  8795. LPSTR lpProperty;
  8796. ACCESS_RIGHTS Access;
  8797. ULONG fAccessFlags;
  8798. ULONG fReturnedAccess;
  8799. } TRUSTEE_ACCESSA;
  8800. typedef struct _TRUSTEE_ACCESSA *PTRUSTEE_ACCESSA;
  8801. typedef struct _TRUSTEE_ACCESSW
  8802. {
  8803. LPWSTR lpProperty;
  8804. ACCESS_RIGHTS Access;
  8805. ULONG fAccessFlags;
  8806. ULONG fReturnedAccess;
  8807. } TRUSTEE_ACCESSW;
  8808. typedef struct _TRUSTEE_ACCESSW *PTRUSTEE_ACCESSW;
  8809. typedef TRUSTEE_ACCESSA TRUSTEE_ACCESS;
  8810. typedef PTRUSTEE_ACCESSA PTRUSTEE_ACCESS;
  8811. #pragma warning (push)
  8812. #pragma warning (disable: 4201)
  8813. typedef struct _ACTRL_OVERLAPPED
  8814. {
  8815. union
  8816. {
  8817. PVOID Provider;
  8818. ULONG Reserved1;
  8819. } ;
  8820. ULONG Reserved2;
  8821. HANDLE hEvent;
  8822. } ACTRL_OVERLAPPED;
  8823. typedef struct _ACTRL_OVERLAPPED *PACTRL_OVERLAPPED;
  8824. #pragma warning(pop)
  8825. typedef struct _ACTRL_ACCESS_INFOA
  8826. {
  8827. ULONG fAccessPermission;
  8828. LPSTR lpAccessPermissionName;
  8829. } ACTRL_ACCESS_INFOA;
  8830. typedef struct _ACTRL_ACCESS_INFOA *PACTRL_ACCESS_INFOA;
  8831. typedef struct _ACTRL_ACCESS_INFOW
  8832. {
  8833. ULONG fAccessPermission;
  8834. LPWSTR lpAccessPermissionName;
  8835. } ACTRL_ACCESS_INFOW;
  8836. typedef struct _ACTRL_ACCESS_INFOW *PACTRL_ACCESS_INFOW;
  8837. typedef ACTRL_ACCESS_INFOA ACTRL_ACCESS_INFO;
  8838. typedef PACTRL_ACCESS_INFOA PACTRL_ACCESS_INFO;
  8839. typedef struct _ACTRL_CONTROL_INFOA
  8840. {
  8841. LPSTR lpControlId;
  8842. LPSTR lpControlName;
  8843. } ACTRL_CONTROL_INFOA;
  8844. typedef struct _ACTRL_CONTROL_INFOA *PACTRL_CONTROL_INFOA;
  8845. typedef struct _ACTRL_CONTROL_INFOW
  8846. {
  8847. LPWSTR lpControlId;
  8848. LPWSTR lpControlName;
  8849. } ACTRL_CONTROL_INFOW;
  8850. typedef struct _ACTRL_CONTROL_INFOW *PACTRL_CONTROL_INFOW;
  8851. typedef ACTRL_CONTROL_INFOA ACTRL_CONTROL_INFO;
  8852. typedef PACTRL_CONTROL_INFOA PACTRL_CONTROL_INFO;
  8853. typedef
  8854. enum _PROGRESS_INVOKE_SETTING
  8855. { ProgressInvokeNever = 1,
  8856. ProgressInvokeEveryObject = ProgressInvokeNever + 1,
  8857. ProgressInvokeOnError = ProgressInvokeEveryObject + 1,
  8858. ProgressCancelOperation = ProgressInvokeOnError + 1,
  8859. ProgressRetryOperation = ProgressCancelOperation + 1
  8860. } PROG_INVOKE_SETTING;
  8861. typedef enum _PROGRESS_INVOKE_SETTING *PPROG_INVOKE_SETTING;
  8862. typedef struct _FN_OBJECT_MGR_FUNCTIONS
  8863. {
  8864. ULONG Placeholder;
  8865. } FN_OBJECT_MGR_FUNCTS;
  8866. typedef struct _FN_OBJECT_MGR_FUNCTIONS *PFN_OBJECT_MGR_FUNCTS;
  8867. typedef struct _INHERITED_FROMA
  8868. {
  8869. LONG GenerationGap;
  8870. LPSTR AncestorName;
  8871. } INHERITED_FROMA;
  8872. typedef struct _INHERITED_FROMA *PINHERITED_FROMA;
  8873. typedef struct _INHERITED_FROMW
  8874. {
  8875. LONG GenerationGap;
  8876. LPWSTR AncestorName;
  8877. } INHERITED_FROMW;
  8878. typedef struct _INHERITED_FROMW *PINHERITED_FROMW;
  8879. typedef INHERITED_FROMA INHERITED_FROM;
  8880. typedef PINHERITED_FROMA PINHERITED_FROM;
  8881. #else
  8882. #include <accctrl.h>
  8883. #endif
  8884. extern RPC_IF_HANDLE __MIDL_itf_oledb_0334_v0_0_c_ifspec;
  8885. extern RPC_IF_HANDLE __MIDL_itf_oledb_0334_v0_0_s_ifspec;
  8886. #ifndef __ITrusteeAdmin_INTERFACE_DEFINED__
  8887. #define __ITrusteeAdmin_INTERFACE_DEFINED__
  8888. /* interface ITrusteeAdmin */
  8889. /* [unique][uuid][object][local] */
  8890. EXTERN_C const IID IID_ITrusteeAdmin;
  8891. #if defined(__cplusplus) && !defined(CINTERFACE)
  8892. MIDL_INTERFACE("0c733aa1-2a1c-11ce-ade5-00aa0044773d")
  8893. ITrusteeAdmin : public IUnknown
  8894. {
  8895. public:
  8896. virtual HRESULT STDMETHODCALLTYPE CompareTrustees(
  8897. /* [in] */ TRUSTEE_W *pTrustee1,
  8898. /* [in] */ TRUSTEE_W *pTrustee2) = 0;
  8899. virtual HRESULT STDMETHODCALLTYPE CreateTrustee(
  8900. /* [in] */ TRUSTEE_W *pTrustee,
  8901. /* [in] */ ULONG cPropertySets,
  8902. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ]) = 0;
  8903. virtual HRESULT STDMETHODCALLTYPE DeleteTrustee(
  8904. /* [in] */ TRUSTEE_W *pTrustee) = 0;
  8905. virtual HRESULT STDMETHODCALLTYPE SetTrusteeProperties(
  8906. /* [in] */ TRUSTEE_W *pTrustee,
  8907. /* [in] */ ULONG cPropertySets,
  8908. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ]) = 0;
  8909. virtual HRESULT STDMETHODCALLTYPE GetTrusteeProperties(
  8910. /* [in] */ TRUSTEE_W *pTrustee,
  8911. /* [in] */ const ULONG cPropertyIDSets,
  8912. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  8913. /* [out][in] */ ULONG *pcPropertySets,
  8914. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets) = 0;
  8915. };
  8916. #else /* C style interface */
  8917. typedef struct ITrusteeAdminVtbl
  8918. {
  8919. BEGIN_INTERFACE
  8920. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8921. ITrusteeAdmin * This,
  8922. /* [in] */ REFIID riid,
  8923. /* [iid_is][out] */ void **ppvObject);
  8924. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8925. ITrusteeAdmin * This);
  8926. ULONG ( STDMETHODCALLTYPE *Release )(
  8927. ITrusteeAdmin * This);
  8928. HRESULT ( STDMETHODCALLTYPE *CompareTrustees )(
  8929. ITrusteeAdmin * This,
  8930. /* [in] */ TRUSTEE_W *pTrustee1,
  8931. /* [in] */ TRUSTEE_W *pTrustee2);
  8932. HRESULT ( STDMETHODCALLTYPE *CreateTrustee )(
  8933. ITrusteeAdmin * This,
  8934. /* [in] */ TRUSTEE_W *pTrustee,
  8935. /* [in] */ ULONG cPropertySets,
  8936. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ]);
  8937. HRESULT ( STDMETHODCALLTYPE *DeleteTrustee )(
  8938. ITrusteeAdmin * This,
  8939. /* [in] */ TRUSTEE_W *pTrustee);
  8940. HRESULT ( STDMETHODCALLTYPE *SetTrusteeProperties )(
  8941. ITrusteeAdmin * This,
  8942. /* [in] */ TRUSTEE_W *pTrustee,
  8943. /* [in] */ ULONG cPropertySets,
  8944. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ]);
  8945. HRESULT ( STDMETHODCALLTYPE *GetTrusteeProperties )(
  8946. ITrusteeAdmin * This,
  8947. /* [in] */ TRUSTEE_W *pTrustee,
  8948. /* [in] */ const ULONG cPropertyIDSets,
  8949. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  8950. /* [out][in] */ ULONG *pcPropertySets,
  8951. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets);
  8952. END_INTERFACE
  8953. } ITrusteeAdminVtbl;
  8954. interface ITrusteeAdmin
  8955. {
  8956. CONST_VTBL struct ITrusteeAdminVtbl *lpVtbl;
  8957. };
  8958. #ifdef COBJMACROS
  8959. #define ITrusteeAdmin_QueryInterface(This,riid,ppvObject) \
  8960. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8961. #define ITrusteeAdmin_AddRef(This) \
  8962. (This)->lpVtbl -> AddRef(This)
  8963. #define ITrusteeAdmin_Release(This) \
  8964. (This)->lpVtbl -> Release(This)
  8965. #define ITrusteeAdmin_CompareTrustees(This,pTrustee1,pTrustee2) \
  8966. (This)->lpVtbl -> CompareTrustees(This,pTrustee1,pTrustee2)
  8967. #define ITrusteeAdmin_CreateTrustee(This,pTrustee,cPropertySets,rgPropertySets) \
  8968. (This)->lpVtbl -> CreateTrustee(This,pTrustee,cPropertySets,rgPropertySets)
  8969. #define ITrusteeAdmin_DeleteTrustee(This,pTrustee) \
  8970. (This)->lpVtbl -> DeleteTrustee(This,pTrustee)
  8971. #define ITrusteeAdmin_SetTrusteeProperties(This,pTrustee,cPropertySets,rgPropertySets) \
  8972. (This)->lpVtbl -> SetTrusteeProperties(This,pTrustee,cPropertySets,rgPropertySets)
  8973. #define ITrusteeAdmin_GetTrusteeProperties(This,pTrustee,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets) \
  8974. (This)->lpVtbl -> GetTrusteeProperties(This,pTrustee,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  8975. #endif /* COBJMACROS */
  8976. #endif /* C style interface */
  8977. HRESULT STDMETHODCALLTYPE ITrusteeAdmin_CompareTrustees_Proxy(
  8978. ITrusteeAdmin * This,
  8979. /* [in] */ TRUSTEE_W *pTrustee1,
  8980. /* [in] */ TRUSTEE_W *pTrustee2);
  8981. void __RPC_STUB ITrusteeAdmin_CompareTrustees_Stub(
  8982. IRpcStubBuffer *This,
  8983. IRpcChannelBuffer *_pRpcChannelBuffer,
  8984. PRPC_MESSAGE _pRpcMessage,
  8985. DWORD *_pdwStubPhase);
  8986. HRESULT STDMETHODCALLTYPE ITrusteeAdmin_CreateTrustee_Proxy(
  8987. ITrusteeAdmin * This,
  8988. /* [in] */ TRUSTEE_W *pTrustee,
  8989. /* [in] */ ULONG cPropertySets,
  8990. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ]);
  8991. void __RPC_STUB ITrusteeAdmin_CreateTrustee_Stub(
  8992. IRpcStubBuffer *This,
  8993. IRpcChannelBuffer *_pRpcChannelBuffer,
  8994. PRPC_MESSAGE _pRpcMessage,
  8995. DWORD *_pdwStubPhase);
  8996. HRESULT STDMETHODCALLTYPE ITrusteeAdmin_DeleteTrustee_Proxy(
  8997. ITrusteeAdmin * This,
  8998. /* [in] */ TRUSTEE_W *pTrustee);
  8999. void __RPC_STUB ITrusteeAdmin_DeleteTrustee_Stub(
  9000. IRpcStubBuffer *This,
  9001. IRpcChannelBuffer *_pRpcChannelBuffer,
  9002. PRPC_MESSAGE _pRpcMessage,
  9003. DWORD *_pdwStubPhase);
  9004. HRESULT STDMETHODCALLTYPE ITrusteeAdmin_SetTrusteeProperties_Proxy(
  9005. ITrusteeAdmin * This,
  9006. /* [in] */ TRUSTEE_W *pTrustee,
  9007. /* [in] */ ULONG cPropertySets,
  9008. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ]);
  9009. void __RPC_STUB ITrusteeAdmin_SetTrusteeProperties_Stub(
  9010. IRpcStubBuffer *This,
  9011. IRpcChannelBuffer *_pRpcChannelBuffer,
  9012. PRPC_MESSAGE _pRpcMessage,
  9013. DWORD *_pdwStubPhase);
  9014. HRESULT STDMETHODCALLTYPE ITrusteeAdmin_GetTrusteeProperties_Proxy(
  9015. ITrusteeAdmin * This,
  9016. /* [in] */ TRUSTEE_W *pTrustee,
  9017. /* [in] */ const ULONG cPropertyIDSets,
  9018. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  9019. /* [out][in] */ ULONG *pcPropertySets,
  9020. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets);
  9021. void __RPC_STUB ITrusteeAdmin_GetTrusteeProperties_Stub(
  9022. IRpcStubBuffer *This,
  9023. IRpcChannelBuffer *_pRpcChannelBuffer,
  9024. PRPC_MESSAGE _pRpcMessage,
  9025. DWORD *_pdwStubPhase);
  9026. #endif /* __ITrusteeAdmin_INTERFACE_DEFINED__ */
  9027. #ifndef __ITrusteeGroupAdmin_INTERFACE_DEFINED__
  9028. #define __ITrusteeGroupAdmin_INTERFACE_DEFINED__
  9029. /* interface ITrusteeGroupAdmin */
  9030. /* [unique][uuid][object][local] */
  9031. EXTERN_C const IID IID_ITrusteeGroupAdmin;
  9032. #if defined(__cplusplus) && !defined(CINTERFACE)
  9033. MIDL_INTERFACE("0c733aa2-2a1c-11ce-ade5-00aa0044773d")
  9034. ITrusteeGroupAdmin : public IUnknown
  9035. {
  9036. public:
  9037. virtual HRESULT STDMETHODCALLTYPE AddMember(
  9038. /* [in] */ TRUSTEE_W *pMembershipTrustee,
  9039. /* [in] */ TRUSTEE_W *pMemberTrustee) = 0;
  9040. virtual HRESULT STDMETHODCALLTYPE DeleteMember(
  9041. /* [in] */ TRUSTEE_W *pMembershipTrustee,
  9042. /* [in] */ TRUSTEE_W *pMemberTrustee) = 0;
  9043. virtual HRESULT STDMETHODCALLTYPE IsMember(
  9044. /* [in] */ TRUSTEE_W *pMembershipTrustee,
  9045. /* [in] */ TRUSTEE_W *pMemberTrustee,
  9046. /* [out] */ BOOL *pfStatus) = 0;
  9047. virtual HRESULT STDMETHODCALLTYPE GetMembers(
  9048. /* [in] */ TRUSTEE_W *pMembershipTrustee,
  9049. /* [out] */ ULONG *pcMembers,
  9050. /* [out] */ TRUSTEE_W **prgMembers) = 0;
  9051. virtual HRESULT STDMETHODCALLTYPE GetMemberships(
  9052. /* [in] */ TRUSTEE_W *pTrustee,
  9053. /* [out] */ ULONG *pcMemberships,
  9054. /* [out] */ TRUSTEE_W **prgMemberships) = 0;
  9055. };
  9056. #else /* C style interface */
  9057. typedef struct ITrusteeGroupAdminVtbl
  9058. {
  9059. BEGIN_INTERFACE
  9060. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9061. ITrusteeGroupAdmin * This,
  9062. /* [in] */ REFIID riid,
  9063. /* [iid_is][out] */ void **ppvObject);
  9064. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9065. ITrusteeGroupAdmin * This);
  9066. ULONG ( STDMETHODCALLTYPE *Release )(
  9067. ITrusteeGroupAdmin * This);
  9068. HRESULT ( STDMETHODCALLTYPE *AddMember )(
  9069. ITrusteeGroupAdmin * This,
  9070. /* [in] */ TRUSTEE_W *pMembershipTrustee,
  9071. /* [in] */ TRUSTEE_W *pMemberTrustee);
  9072. HRESULT ( STDMETHODCALLTYPE *DeleteMember )(
  9073. ITrusteeGroupAdmin * This,
  9074. /* [in] */ TRUSTEE_W *pMembershipTrustee,
  9075. /* [in] */ TRUSTEE_W *pMemberTrustee);
  9076. HRESULT ( STDMETHODCALLTYPE *IsMember )(
  9077. ITrusteeGroupAdmin * This,
  9078. /* [in] */ TRUSTEE_W *pMembershipTrustee,
  9079. /* [in] */ TRUSTEE_W *pMemberTrustee,
  9080. /* [out] */ BOOL *pfStatus);
  9081. HRESULT ( STDMETHODCALLTYPE *GetMembers )(
  9082. ITrusteeGroupAdmin * This,
  9083. /* [in] */ TRUSTEE_W *pMembershipTrustee,
  9084. /* [out] */ ULONG *pcMembers,
  9085. /* [out] */ TRUSTEE_W **prgMembers);
  9086. HRESULT ( STDMETHODCALLTYPE *GetMemberships )(
  9087. ITrusteeGroupAdmin * This,
  9088. /* [in] */ TRUSTEE_W *pTrustee,
  9089. /* [out] */ ULONG *pcMemberships,
  9090. /* [out] */ TRUSTEE_W **prgMemberships);
  9091. END_INTERFACE
  9092. } ITrusteeGroupAdminVtbl;
  9093. interface ITrusteeGroupAdmin
  9094. {
  9095. CONST_VTBL struct ITrusteeGroupAdminVtbl *lpVtbl;
  9096. };
  9097. #ifdef COBJMACROS
  9098. #define ITrusteeGroupAdmin_QueryInterface(This,riid,ppvObject) \
  9099. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9100. #define ITrusteeGroupAdmin_AddRef(This) \
  9101. (This)->lpVtbl -> AddRef(This)
  9102. #define ITrusteeGroupAdmin_Release(This) \
  9103. (This)->lpVtbl -> Release(This)
  9104. #define ITrusteeGroupAdmin_AddMember(This,pMembershipTrustee,pMemberTrustee) \
  9105. (This)->lpVtbl -> AddMember(This,pMembershipTrustee,pMemberTrustee)
  9106. #define ITrusteeGroupAdmin_DeleteMember(This,pMembershipTrustee,pMemberTrustee) \
  9107. (This)->lpVtbl -> DeleteMember(This,pMembershipTrustee,pMemberTrustee)
  9108. #define ITrusteeGroupAdmin_IsMember(This,pMembershipTrustee,pMemberTrustee,pfStatus) \
  9109. (This)->lpVtbl -> IsMember(This,pMembershipTrustee,pMemberTrustee,pfStatus)
  9110. #define ITrusteeGroupAdmin_GetMembers(This,pMembershipTrustee,pcMembers,prgMembers) \
  9111. (This)->lpVtbl -> GetMembers(This,pMembershipTrustee,pcMembers,prgMembers)
  9112. #define ITrusteeGroupAdmin_GetMemberships(This,pTrustee,pcMemberships,prgMemberships) \
  9113. (This)->lpVtbl -> GetMemberships(This,pTrustee,pcMemberships,prgMemberships)
  9114. #endif /* COBJMACROS */
  9115. #endif /* C style interface */
  9116. HRESULT STDMETHODCALLTYPE ITrusteeGroupAdmin_AddMember_Proxy(
  9117. ITrusteeGroupAdmin * This,
  9118. /* [in] */ TRUSTEE_W *pMembershipTrustee,
  9119. /* [in] */ TRUSTEE_W *pMemberTrustee);
  9120. void __RPC_STUB ITrusteeGroupAdmin_AddMember_Stub(
  9121. IRpcStubBuffer *This,
  9122. IRpcChannelBuffer *_pRpcChannelBuffer,
  9123. PRPC_MESSAGE _pRpcMessage,
  9124. DWORD *_pdwStubPhase);
  9125. HRESULT STDMETHODCALLTYPE ITrusteeGroupAdmin_DeleteMember_Proxy(
  9126. ITrusteeGroupAdmin * This,
  9127. /* [in] */ TRUSTEE_W *pMembershipTrustee,
  9128. /* [in] */ TRUSTEE_W *pMemberTrustee);
  9129. void __RPC_STUB ITrusteeGroupAdmin_DeleteMember_Stub(
  9130. IRpcStubBuffer *This,
  9131. IRpcChannelBuffer *_pRpcChannelBuffer,
  9132. PRPC_MESSAGE _pRpcMessage,
  9133. DWORD *_pdwStubPhase);
  9134. HRESULT STDMETHODCALLTYPE ITrusteeGroupAdmin_IsMember_Proxy(
  9135. ITrusteeGroupAdmin * This,
  9136. /* [in] */ TRUSTEE_W *pMembershipTrustee,
  9137. /* [in] */ TRUSTEE_W *pMemberTrustee,
  9138. /* [out] */ BOOL *pfStatus);
  9139. void __RPC_STUB ITrusteeGroupAdmin_IsMember_Stub(
  9140. IRpcStubBuffer *This,
  9141. IRpcChannelBuffer *_pRpcChannelBuffer,
  9142. PRPC_MESSAGE _pRpcMessage,
  9143. DWORD *_pdwStubPhase);
  9144. HRESULT STDMETHODCALLTYPE ITrusteeGroupAdmin_GetMembers_Proxy(
  9145. ITrusteeGroupAdmin * This,
  9146. /* [in] */ TRUSTEE_W *pMembershipTrustee,
  9147. /* [out] */ ULONG *pcMembers,
  9148. /* [out] */ TRUSTEE_W **prgMembers);
  9149. void __RPC_STUB ITrusteeGroupAdmin_GetMembers_Stub(
  9150. IRpcStubBuffer *This,
  9151. IRpcChannelBuffer *_pRpcChannelBuffer,
  9152. PRPC_MESSAGE _pRpcMessage,
  9153. DWORD *_pdwStubPhase);
  9154. HRESULT STDMETHODCALLTYPE ITrusteeGroupAdmin_GetMemberships_Proxy(
  9155. ITrusteeGroupAdmin * This,
  9156. /* [in] */ TRUSTEE_W *pTrustee,
  9157. /* [out] */ ULONG *pcMemberships,
  9158. /* [out] */ TRUSTEE_W **prgMemberships);
  9159. void __RPC_STUB ITrusteeGroupAdmin_GetMemberships_Stub(
  9160. IRpcStubBuffer *This,
  9161. IRpcChannelBuffer *_pRpcChannelBuffer,
  9162. PRPC_MESSAGE _pRpcMessage,
  9163. DWORD *_pdwStubPhase);
  9164. #endif /* __ITrusteeGroupAdmin_INTERFACE_DEFINED__ */
  9165. #ifndef __IObjectAccessControl_INTERFACE_DEFINED__
  9166. #define __IObjectAccessControl_INTERFACE_DEFINED__
  9167. /* interface IObjectAccessControl */
  9168. /* [unique][uuid][object][local] */
  9169. EXTERN_C const IID IID_IObjectAccessControl;
  9170. #if defined(__cplusplus) && !defined(CINTERFACE)
  9171. MIDL_INTERFACE("0c733aa3-2a1c-11ce-ade5-00aa0044773d")
  9172. IObjectAccessControl : public IUnknown
  9173. {
  9174. public:
  9175. virtual HRESULT STDMETHODCALLTYPE GetObjectAccessRights(
  9176. /* [in] */ SEC_OBJECT *pObject,
  9177. /* [out][in] */ ULONG *pcAccessEntries,
  9178. /* [out][in] */ EXPLICIT_ACCESS_W **prgAccessEntries) = 0;
  9179. virtual HRESULT STDMETHODCALLTYPE GetObjectOwner(
  9180. /* [in] */ SEC_OBJECT *pObject,
  9181. /* [out] */ TRUSTEE_W **ppOwner) = 0;
  9182. virtual HRESULT STDMETHODCALLTYPE IsObjectAccessAllowed(
  9183. /* [in] */ SEC_OBJECT *pObject,
  9184. /* [in] */ EXPLICIT_ACCESS_W *pAccessEntry,
  9185. /* [out] */ BOOL *pfResult) = 0;
  9186. virtual HRESULT STDMETHODCALLTYPE SetObjectAccessRights(
  9187. /* [in] */ SEC_OBJECT *pObject,
  9188. /* [in] */ ULONG cAccessEntries,
  9189. /* [out][in] */ EXPLICIT_ACCESS_W *prgAccessEntries) = 0;
  9190. virtual HRESULT STDMETHODCALLTYPE SetObjectOwner(
  9191. /* [in] */ SEC_OBJECT *pObject,
  9192. /* [in] */ TRUSTEE_W *pOwner) = 0;
  9193. };
  9194. #else /* C style interface */
  9195. typedef struct IObjectAccessControlVtbl
  9196. {
  9197. BEGIN_INTERFACE
  9198. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9199. IObjectAccessControl * This,
  9200. /* [in] */ REFIID riid,
  9201. /* [iid_is][out] */ void **ppvObject);
  9202. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9203. IObjectAccessControl * This);
  9204. ULONG ( STDMETHODCALLTYPE *Release )(
  9205. IObjectAccessControl * This);
  9206. HRESULT ( STDMETHODCALLTYPE *GetObjectAccessRights )(
  9207. IObjectAccessControl * This,
  9208. /* [in] */ SEC_OBJECT *pObject,
  9209. /* [out][in] */ ULONG *pcAccessEntries,
  9210. /* [out][in] */ EXPLICIT_ACCESS_W **prgAccessEntries);
  9211. HRESULT ( STDMETHODCALLTYPE *GetObjectOwner )(
  9212. IObjectAccessControl * This,
  9213. /* [in] */ SEC_OBJECT *pObject,
  9214. /* [out] */ TRUSTEE_W **ppOwner);
  9215. HRESULT ( STDMETHODCALLTYPE *IsObjectAccessAllowed )(
  9216. IObjectAccessControl * This,
  9217. /* [in] */ SEC_OBJECT *pObject,
  9218. /* [in] */ EXPLICIT_ACCESS_W *pAccessEntry,
  9219. /* [out] */ BOOL *pfResult);
  9220. HRESULT ( STDMETHODCALLTYPE *SetObjectAccessRights )(
  9221. IObjectAccessControl * This,
  9222. /* [in] */ SEC_OBJECT *pObject,
  9223. /* [in] */ ULONG cAccessEntries,
  9224. /* [out][in] */ EXPLICIT_ACCESS_W *prgAccessEntries);
  9225. HRESULT ( STDMETHODCALLTYPE *SetObjectOwner )(
  9226. IObjectAccessControl * This,
  9227. /* [in] */ SEC_OBJECT *pObject,
  9228. /* [in] */ TRUSTEE_W *pOwner);
  9229. END_INTERFACE
  9230. } IObjectAccessControlVtbl;
  9231. interface IObjectAccessControl
  9232. {
  9233. CONST_VTBL struct IObjectAccessControlVtbl *lpVtbl;
  9234. };
  9235. #ifdef COBJMACROS
  9236. #define IObjectAccessControl_QueryInterface(This,riid,ppvObject) \
  9237. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9238. #define IObjectAccessControl_AddRef(This) \
  9239. (This)->lpVtbl -> AddRef(This)
  9240. #define IObjectAccessControl_Release(This) \
  9241. (This)->lpVtbl -> Release(This)
  9242. #define IObjectAccessControl_GetObjectAccessRights(This,pObject,pcAccessEntries,prgAccessEntries) \
  9243. (This)->lpVtbl -> GetObjectAccessRights(This,pObject,pcAccessEntries,prgAccessEntries)
  9244. #define IObjectAccessControl_GetObjectOwner(This,pObject,ppOwner) \
  9245. (This)->lpVtbl -> GetObjectOwner(This,pObject,ppOwner)
  9246. #define IObjectAccessControl_IsObjectAccessAllowed(This,pObject,pAccessEntry,pfResult) \
  9247. (This)->lpVtbl -> IsObjectAccessAllowed(This,pObject,pAccessEntry,pfResult)
  9248. #define IObjectAccessControl_SetObjectAccessRights(This,pObject,cAccessEntries,prgAccessEntries) \
  9249. (This)->lpVtbl -> SetObjectAccessRights(This,pObject,cAccessEntries,prgAccessEntries)
  9250. #define IObjectAccessControl_SetObjectOwner(This,pObject,pOwner) \
  9251. (This)->lpVtbl -> SetObjectOwner(This,pObject,pOwner)
  9252. #endif /* COBJMACROS */
  9253. #endif /* C style interface */
  9254. HRESULT STDMETHODCALLTYPE IObjectAccessControl_GetObjectAccessRights_Proxy(
  9255. IObjectAccessControl * This,
  9256. /* [in] */ SEC_OBJECT *pObject,
  9257. /* [out][in] */ ULONG *pcAccessEntries,
  9258. /* [out][in] */ EXPLICIT_ACCESS_W **prgAccessEntries);
  9259. void __RPC_STUB IObjectAccessControl_GetObjectAccessRights_Stub(
  9260. IRpcStubBuffer *This,
  9261. IRpcChannelBuffer *_pRpcChannelBuffer,
  9262. PRPC_MESSAGE _pRpcMessage,
  9263. DWORD *_pdwStubPhase);
  9264. HRESULT STDMETHODCALLTYPE IObjectAccessControl_GetObjectOwner_Proxy(
  9265. IObjectAccessControl * This,
  9266. /* [in] */ SEC_OBJECT *pObject,
  9267. /* [out] */ TRUSTEE_W **ppOwner);
  9268. void __RPC_STUB IObjectAccessControl_GetObjectOwner_Stub(
  9269. IRpcStubBuffer *This,
  9270. IRpcChannelBuffer *_pRpcChannelBuffer,
  9271. PRPC_MESSAGE _pRpcMessage,
  9272. DWORD *_pdwStubPhase);
  9273. HRESULT STDMETHODCALLTYPE IObjectAccessControl_IsObjectAccessAllowed_Proxy(
  9274. IObjectAccessControl * This,
  9275. /* [in] */ SEC_OBJECT *pObject,
  9276. /* [in] */ EXPLICIT_ACCESS_W *pAccessEntry,
  9277. /* [out] */ BOOL *pfResult);
  9278. void __RPC_STUB IObjectAccessControl_IsObjectAccessAllowed_Stub(
  9279. IRpcStubBuffer *This,
  9280. IRpcChannelBuffer *_pRpcChannelBuffer,
  9281. PRPC_MESSAGE _pRpcMessage,
  9282. DWORD *_pdwStubPhase);
  9283. HRESULT STDMETHODCALLTYPE IObjectAccessControl_SetObjectAccessRights_Proxy(
  9284. IObjectAccessControl * This,
  9285. /* [in] */ SEC_OBJECT *pObject,
  9286. /* [in] */ ULONG cAccessEntries,
  9287. /* [out][in] */ EXPLICIT_ACCESS_W *prgAccessEntries);
  9288. void __RPC_STUB IObjectAccessControl_SetObjectAccessRights_Stub(
  9289. IRpcStubBuffer *This,
  9290. IRpcChannelBuffer *_pRpcChannelBuffer,
  9291. PRPC_MESSAGE _pRpcMessage,
  9292. DWORD *_pdwStubPhase);
  9293. HRESULT STDMETHODCALLTYPE IObjectAccessControl_SetObjectOwner_Proxy(
  9294. IObjectAccessControl * This,
  9295. /* [in] */ SEC_OBJECT *pObject,
  9296. /* [in] */ TRUSTEE_W *pOwner);
  9297. void __RPC_STUB IObjectAccessControl_SetObjectOwner_Stub(
  9298. IRpcStubBuffer *This,
  9299. IRpcChannelBuffer *_pRpcChannelBuffer,
  9300. PRPC_MESSAGE _pRpcMessage,
  9301. DWORD *_pdwStubPhase);
  9302. #endif /* __IObjectAccessControl_INTERFACE_DEFINED__ */
  9303. #ifndef __ISecurityInfo_INTERFACE_DEFINED__
  9304. #define __ISecurityInfo_INTERFACE_DEFINED__
  9305. /* interface ISecurityInfo */
  9306. /* [unique][uuid][object][local] */
  9307. //@@@+ V2.1
  9308. #if( OLEDBVER >= 0x0210 )
  9309. typedef DWORD ACCESS_MASK;
  9310. enum ACCESS_MASKENUM
  9311. { PERM_EXCLUSIVE = 0x200L,
  9312. PERM_READDESIGN = 0x400L,
  9313. PERM_WRITEDESIGN = 0x800L,
  9314. PERM_WITHGRANT = 0x1000L,
  9315. PERM_REFERENCE = 0x2000L,
  9316. PERM_CREATE = 0x4000L,
  9317. PERM_INSERT = 0x8000L,
  9318. PERM_DELETE = 0x10000L,
  9319. PERM_READCONTROL = 0x20000L,
  9320. PERM_WRITEPERMISSIONS = 0x40000L,
  9321. PERM_WRITEOWNER = 0x80000L,
  9322. PERM_MAXIMUM_ALLOWED = 0x2000000L,
  9323. PERM_ALL = 0x10000000L,
  9324. PERM_EXECUTE = 0x20000000L,
  9325. PERM_READ = 0x80000000L,
  9326. PERM_UPDATE = 0x40000000L,
  9327. PERM_DROP = 0x100L
  9328. } ;
  9329. #define PERM_DESIGN PERM_WRITEDESIGN
  9330. #endif // OLEDBVER >= 0x0210
  9331. //@@@- V2.1
  9332. EXTERN_C const IID IID_ISecurityInfo;
  9333. #if defined(__cplusplus) && !defined(CINTERFACE)
  9334. MIDL_INTERFACE("0c733aa4-2a1c-11ce-ade5-00aa0044773d")
  9335. ISecurityInfo : public IUnknown
  9336. {
  9337. public:
  9338. virtual HRESULT STDMETHODCALLTYPE GetCurrentTrustee(
  9339. /* [out] */ TRUSTEE_W **ppTrustee) = 0;
  9340. virtual HRESULT STDMETHODCALLTYPE GetObjectTypes(
  9341. /* [out] */ ULONG *cObjectTypes,
  9342. /* [out] */ GUID **rgObjectTypes) = 0;
  9343. virtual HRESULT STDMETHODCALLTYPE GetPermissions(
  9344. /* [in] */ GUID ObjectType,
  9345. /* [out] */ ACCESS_MASK *pPermissions) = 0;
  9346. };
  9347. #else /* C style interface */
  9348. typedef struct ISecurityInfoVtbl
  9349. {
  9350. BEGIN_INTERFACE
  9351. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9352. ISecurityInfo * This,
  9353. /* [in] */ REFIID riid,
  9354. /* [iid_is][out] */ void **ppvObject);
  9355. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9356. ISecurityInfo * This);
  9357. ULONG ( STDMETHODCALLTYPE *Release )(
  9358. ISecurityInfo * This);
  9359. HRESULT ( STDMETHODCALLTYPE *GetCurrentTrustee )(
  9360. ISecurityInfo * This,
  9361. /* [out] */ TRUSTEE_W **ppTrustee);
  9362. HRESULT ( STDMETHODCALLTYPE *GetObjectTypes )(
  9363. ISecurityInfo * This,
  9364. /* [out] */ ULONG *cObjectTypes,
  9365. /* [out] */ GUID **rgObjectTypes);
  9366. HRESULT ( STDMETHODCALLTYPE *GetPermissions )(
  9367. ISecurityInfo * This,
  9368. /* [in] */ GUID ObjectType,
  9369. /* [out] */ ACCESS_MASK *pPermissions);
  9370. END_INTERFACE
  9371. } ISecurityInfoVtbl;
  9372. interface ISecurityInfo
  9373. {
  9374. CONST_VTBL struct ISecurityInfoVtbl *lpVtbl;
  9375. };
  9376. #ifdef COBJMACROS
  9377. #define ISecurityInfo_QueryInterface(This,riid,ppvObject) \
  9378. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9379. #define ISecurityInfo_AddRef(This) \
  9380. (This)->lpVtbl -> AddRef(This)
  9381. #define ISecurityInfo_Release(This) \
  9382. (This)->lpVtbl -> Release(This)
  9383. #define ISecurityInfo_GetCurrentTrustee(This,ppTrustee) \
  9384. (This)->lpVtbl -> GetCurrentTrustee(This,ppTrustee)
  9385. #define ISecurityInfo_GetObjectTypes(This,cObjectTypes,rgObjectTypes) \
  9386. (This)->lpVtbl -> GetObjectTypes(This,cObjectTypes,rgObjectTypes)
  9387. #define ISecurityInfo_GetPermissions(This,ObjectType,pPermissions) \
  9388. (This)->lpVtbl -> GetPermissions(This,ObjectType,pPermissions)
  9389. #endif /* COBJMACROS */
  9390. #endif /* C style interface */
  9391. HRESULT STDMETHODCALLTYPE ISecurityInfo_GetCurrentTrustee_Proxy(
  9392. ISecurityInfo * This,
  9393. /* [out] */ TRUSTEE_W **ppTrustee);
  9394. void __RPC_STUB ISecurityInfo_GetCurrentTrustee_Stub(
  9395. IRpcStubBuffer *This,
  9396. IRpcChannelBuffer *_pRpcChannelBuffer,
  9397. PRPC_MESSAGE _pRpcMessage,
  9398. DWORD *_pdwStubPhase);
  9399. HRESULT STDMETHODCALLTYPE ISecurityInfo_GetObjectTypes_Proxy(
  9400. ISecurityInfo * This,
  9401. /* [out] */ ULONG *cObjectTypes,
  9402. /* [out] */ GUID **rgObjectTypes);
  9403. void __RPC_STUB ISecurityInfo_GetObjectTypes_Stub(
  9404. IRpcStubBuffer *This,
  9405. IRpcChannelBuffer *_pRpcChannelBuffer,
  9406. PRPC_MESSAGE _pRpcMessage,
  9407. DWORD *_pdwStubPhase);
  9408. HRESULT STDMETHODCALLTYPE ISecurityInfo_GetPermissions_Proxy(
  9409. ISecurityInfo * This,
  9410. /* [in] */ GUID ObjectType,
  9411. /* [out] */ ACCESS_MASK *pPermissions);
  9412. void __RPC_STUB ISecurityInfo_GetPermissions_Stub(
  9413. IRpcStubBuffer *This,
  9414. IRpcChannelBuffer *_pRpcChannelBuffer,
  9415. PRPC_MESSAGE _pRpcMessage,
  9416. DWORD *_pdwStubPhase);
  9417. #endif /* __ISecurityInfo_INTERFACE_DEFINED__ */
  9418. /* interface __MIDL_itf_oledb_0338 */
  9419. /* [local] */
  9420. #endif // UNDER_CE
  9421. extern RPC_IF_HANDLE __MIDL_itf_oledb_0338_v0_0_c_ifspec;
  9422. extern RPC_IF_HANDLE __MIDL_itf_oledb_0338_v0_0_s_ifspec;
  9423. #ifndef __ITableCreation_INTERFACE_DEFINED__
  9424. #define __ITableCreation_INTERFACE_DEFINED__
  9425. /* interface ITableCreation */
  9426. /* [unique][uuid][object][local] */
  9427. EXTERN_C const IID IID_ITableCreation;
  9428. #if defined(__cplusplus) && !defined(CINTERFACE)
  9429. MIDL_INTERFACE("0c733abc-2a1c-11ce-ade5-00aa0044773d")
  9430. ITableCreation : public ITableDefinition
  9431. {
  9432. public:
  9433. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetTableDefinition(
  9434. /* [in] */ DBID *pTableID,
  9435. /* [out] */ DBORDINAL *pcColumnDescs,
  9436. /* [size_is][size_is][out] */ DBCOLUMNDESC *prgColumnDescs[ ],
  9437. /* [out] */ ULONG *pcPropertySets,
  9438. /* [size_is][size_is][out] */ DBPROPSET *prgPropertySets[ ],
  9439. /* [out] */ ULONG *pcConstraintDescs,
  9440. /* [size_is][size_is][out] */ DBCONSTRAINTDESC *prgConstraintDescs[ ],
  9441. /* [out] */ OLECHAR **ppwszStringBuffer) = 0;
  9442. };
  9443. #else /* C style interface */
  9444. typedef struct ITableCreationVtbl
  9445. {
  9446. BEGIN_INTERFACE
  9447. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9448. ITableCreation * This,
  9449. /* [in] */ REFIID riid,
  9450. /* [iid_is][out] */ void **ppvObject);
  9451. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9452. ITableCreation * This);
  9453. ULONG ( STDMETHODCALLTYPE *Release )(
  9454. ITableCreation * This);
  9455. /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateTable )(
  9456. ITableCreation * This,
  9457. /* [in] */ IUnknown *pUnkOuter,
  9458. /* [in] */ DBID *pTableID,
  9459. /* [in] */ DBORDINAL cColumnDescs,
  9460. /* [size_is][in] */ const DBCOLUMNDESC rgColumnDescs[ ],
  9461. /* [in] */ REFIID riid,
  9462. /* [in] */ ULONG cPropertySets,
  9463. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  9464. /* [out] */ DBID **ppTableID,
  9465. /* [iid_is][out] */ IUnknown **ppRowset);
  9466. /* [local] */ HRESULT ( STDMETHODCALLTYPE *DropTable )(
  9467. ITableCreation * This,
  9468. /* [unique][in] */ DBID *pTableID);
  9469. /* [local] */ HRESULT ( STDMETHODCALLTYPE *AddColumn )(
  9470. ITableCreation * This,
  9471. /* [in] */ DBID *pTableID,
  9472. /* [out][in] */ DBCOLUMNDESC *pColumnDesc,
  9473. /* [out] */ DBID **ppColumnID);
  9474. /* [local] */ HRESULT ( STDMETHODCALLTYPE *DropColumn )(
  9475. ITableCreation * This,
  9476. /* [unique][in] */ DBID *pTableID,
  9477. /* [unique][in] */ DBID *pColumnID);
  9478. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetTableDefinition )(
  9479. ITableCreation * This,
  9480. /* [in] */ DBID *pTableID,
  9481. /* [out] */ DBORDINAL *pcColumnDescs,
  9482. /* [size_is][size_is][out] */ DBCOLUMNDESC *prgColumnDescs[ ],
  9483. /* [out] */ ULONG *pcPropertySets,
  9484. /* [size_is][size_is][out] */ DBPROPSET *prgPropertySets[ ],
  9485. /* [out] */ ULONG *pcConstraintDescs,
  9486. /* [size_is][size_is][out] */ DBCONSTRAINTDESC *prgConstraintDescs[ ],
  9487. /* [out] */ OLECHAR **ppwszStringBuffer);
  9488. END_INTERFACE
  9489. } ITableCreationVtbl;
  9490. interface ITableCreation
  9491. {
  9492. CONST_VTBL struct ITableCreationVtbl *lpVtbl;
  9493. };
  9494. #ifdef COBJMACROS
  9495. #define ITableCreation_QueryInterface(This,riid,ppvObject) \
  9496. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9497. #define ITableCreation_AddRef(This) \
  9498. (This)->lpVtbl -> AddRef(This)
  9499. #define ITableCreation_Release(This) \
  9500. (This)->lpVtbl -> Release(This)
  9501. #define ITableCreation_CreateTable(This,pUnkOuter,pTableID,cColumnDescs,rgColumnDescs,riid,cPropertySets,rgPropertySets,ppTableID,ppRowset) \
  9502. (This)->lpVtbl -> CreateTable(This,pUnkOuter,pTableID,cColumnDescs,rgColumnDescs,riid,cPropertySets,rgPropertySets,ppTableID,ppRowset)
  9503. #define ITableCreation_DropTable(This,pTableID) \
  9504. (This)->lpVtbl -> DropTable(This,pTableID)
  9505. #define ITableCreation_AddColumn(This,pTableID,pColumnDesc,ppColumnID) \
  9506. (This)->lpVtbl -> AddColumn(This,pTableID,pColumnDesc,ppColumnID)
  9507. #define ITableCreation_DropColumn(This,pTableID,pColumnID) \
  9508. (This)->lpVtbl -> DropColumn(This,pTableID,pColumnID)
  9509. #define ITableCreation_GetTableDefinition(This,pTableID,pcColumnDescs,prgColumnDescs,pcPropertySets,prgPropertySets,pcConstraintDescs,prgConstraintDescs,ppwszStringBuffer) \
  9510. (This)->lpVtbl -> GetTableDefinition(This,pTableID,pcColumnDescs,prgColumnDescs,pcPropertySets,prgPropertySets,pcConstraintDescs,prgConstraintDescs,ppwszStringBuffer)
  9511. #endif /* COBJMACROS */
  9512. #endif /* C style interface */
  9513. /* [local] */ HRESULT STDMETHODCALLTYPE ITableCreation_GetTableDefinition_Proxy(
  9514. ITableCreation * This,
  9515. /* [in] */ DBID *pTableID,
  9516. /* [out] */ DBORDINAL *pcColumnDescs,
  9517. /* [size_is][size_is][out] */ DBCOLUMNDESC *prgColumnDescs[ ],
  9518. /* [out] */ ULONG *pcPropertySets,
  9519. /* [size_is][size_is][out] */ DBPROPSET *prgPropertySets[ ],
  9520. /* [out] */ ULONG *pcConstraintDescs,
  9521. /* [size_is][size_is][out] */ DBCONSTRAINTDESC *prgConstraintDescs[ ],
  9522. /* [out] */ OLECHAR **ppwszStringBuffer);
  9523. void __RPC_STUB ITableCreation_GetTableDefinition_Stub(
  9524. IRpcStubBuffer *This,
  9525. IRpcChannelBuffer *_pRpcChannelBuffer,
  9526. PRPC_MESSAGE _pRpcMessage,
  9527. DWORD *_pdwStubPhase);
  9528. #endif /* __ITableCreation_INTERFACE_DEFINED__ */
  9529. #ifndef __ITableDefinitionWithConstraints_INTERFACE_DEFINED__
  9530. #define __ITableDefinitionWithConstraints_INTERFACE_DEFINED__
  9531. /* interface ITableDefinitionWithConstraints */
  9532. /* [unique][uuid][object][local] */
  9533. EXTERN_C const IID IID_ITableDefinitionWithConstraints;
  9534. #if defined(__cplusplus) && !defined(CINTERFACE)
  9535. MIDL_INTERFACE("0c733aab-2a1c-11ce-ade5-00aa0044773d")
  9536. ITableDefinitionWithConstraints : public ITableCreation
  9537. {
  9538. public:
  9539. virtual HRESULT STDMETHODCALLTYPE AddConstraint(
  9540. /* [in] */ DBID *pTableID,
  9541. /* [in] */ DBCONSTRAINTDESC *pConstraintDesc) = 0;
  9542. virtual HRESULT STDMETHODCALLTYPE CreateTableWithConstraints(
  9543. /* [in] */ IUnknown *pUnkOuter,
  9544. /* [in] */ DBID *pTableID,
  9545. /* [in] */ DBORDINAL cColumnDescs,
  9546. /* [out][size_is][in] */ DBCOLUMNDESC rgColumnDescs[ ],
  9547. /* [in] */ ULONG cConstraintDescs,
  9548. /* [size_is][in] */ DBCONSTRAINTDESC rgConstraintDescs[ ],
  9549. /* [in] */ REFIID riid,
  9550. /* [in] */ ULONG cPropertySets,
  9551. /* [out][size_is][in] */ DBPROPSET rgPropertySets[ ],
  9552. /* [out] */ DBID **ppTableID,
  9553. /* [out] */ IUnknown **ppRowset) = 0;
  9554. virtual HRESULT STDMETHODCALLTYPE DropConstraint(
  9555. /* [in] */ DBID *pTableID,
  9556. /* [in] */ DBID *pConstraintID) = 0;
  9557. };
  9558. #else /* C style interface */
  9559. typedef struct ITableDefinitionWithConstraintsVtbl
  9560. {
  9561. BEGIN_INTERFACE
  9562. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9563. ITableDefinitionWithConstraints * This,
  9564. /* [in] */ REFIID riid,
  9565. /* [iid_is][out] */ void **ppvObject);
  9566. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9567. ITableDefinitionWithConstraints * This);
  9568. ULONG ( STDMETHODCALLTYPE *Release )(
  9569. ITableDefinitionWithConstraints * This);
  9570. /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateTable )(
  9571. ITableDefinitionWithConstraints * This,
  9572. /* [in] */ IUnknown *pUnkOuter,
  9573. /* [in] */ DBID *pTableID,
  9574. /* [in] */ DBORDINAL cColumnDescs,
  9575. /* [size_is][in] */ const DBCOLUMNDESC rgColumnDescs[ ],
  9576. /* [in] */ REFIID riid,
  9577. /* [in] */ ULONG cPropertySets,
  9578. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  9579. /* [out] */ DBID **ppTableID,
  9580. /* [iid_is][out] */ IUnknown **ppRowset);
  9581. /* [local] */ HRESULT ( STDMETHODCALLTYPE *DropTable )(
  9582. ITableDefinitionWithConstraints * This,
  9583. /* [unique][in] */ DBID *pTableID);
  9584. /* [local] */ HRESULT ( STDMETHODCALLTYPE *AddColumn )(
  9585. ITableDefinitionWithConstraints * This,
  9586. /* [in] */ DBID *pTableID,
  9587. /* [out][in] */ DBCOLUMNDESC *pColumnDesc,
  9588. /* [out] */ DBID **ppColumnID);
  9589. /* [local] */ HRESULT ( STDMETHODCALLTYPE *DropColumn )(
  9590. ITableDefinitionWithConstraints * This,
  9591. /* [unique][in] */ DBID *pTableID,
  9592. /* [unique][in] */ DBID *pColumnID);
  9593. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetTableDefinition )(
  9594. ITableDefinitionWithConstraints * This,
  9595. /* [in] */ DBID *pTableID,
  9596. /* [out] */ DBORDINAL *pcColumnDescs,
  9597. /* [size_is][size_is][out] */ DBCOLUMNDESC *prgColumnDescs[ ],
  9598. /* [out] */ ULONG *pcPropertySets,
  9599. /* [size_is][size_is][out] */ DBPROPSET *prgPropertySets[ ],
  9600. /* [out] */ ULONG *pcConstraintDescs,
  9601. /* [size_is][size_is][out] */ DBCONSTRAINTDESC *prgConstraintDescs[ ],
  9602. /* [out] */ OLECHAR **ppwszStringBuffer);
  9603. HRESULT ( STDMETHODCALLTYPE *AddConstraint )(
  9604. ITableDefinitionWithConstraints * This,
  9605. /* [in] */ DBID *pTableID,
  9606. /* [in] */ DBCONSTRAINTDESC *pConstraintDesc);
  9607. HRESULT ( STDMETHODCALLTYPE *CreateTableWithConstraints )(
  9608. ITableDefinitionWithConstraints * This,
  9609. /* [in] */ IUnknown *pUnkOuter,
  9610. /* [in] */ DBID *pTableID,
  9611. /* [in] */ DBORDINAL cColumnDescs,
  9612. /* [out][size_is][in] */ DBCOLUMNDESC rgColumnDescs[ ],
  9613. /* [in] */ ULONG cConstraintDescs,
  9614. /* [size_is][in] */ DBCONSTRAINTDESC rgConstraintDescs[ ],
  9615. /* [in] */ REFIID riid,
  9616. /* [in] */ ULONG cPropertySets,
  9617. /* [out][size_is][in] */ DBPROPSET rgPropertySets[ ],
  9618. /* [out] */ DBID **ppTableID,
  9619. /* [out] */ IUnknown **ppRowset);
  9620. HRESULT ( STDMETHODCALLTYPE *DropConstraint )(
  9621. ITableDefinitionWithConstraints * This,
  9622. /* [in] */ DBID *pTableID,
  9623. /* [in] */ DBID *pConstraintID);
  9624. END_INTERFACE
  9625. } ITableDefinitionWithConstraintsVtbl;
  9626. interface ITableDefinitionWithConstraints
  9627. {
  9628. CONST_VTBL struct ITableDefinitionWithConstraintsVtbl *lpVtbl;
  9629. };
  9630. #ifdef COBJMACROS
  9631. #define ITableDefinitionWithConstraints_QueryInterface(This,riid,ppvObject) \
  9632. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9633. #define ITableDefinitionWithConstraints_AddRef(This) \
  9634. (This)->lpVtbl -> AddRef(This)
  9635. #define ITableDefinitionWithConstraints_Release(This) \
  9636. (This)->lpVtbl -> Release(This)
  9637. #define ITableDefinitionWithConstraints_CreateTable(This,pUnkOuter,pTableID,cColumnDescs,rgColumnDescs,riid,cPropertySets,rgPropertySets,ppTableID,ppRowset) \
  9638. (This)->lpVtbl -> CreateTable(This,pUnkOuter,pTableID,cColumnDescs,rgColumnDescs,riid,cPropertySets,rgPropertySets,ppTableID,ppRowset)
  9639. #define ITableDefinitionWithConstraints_DropTable(This,pTableID) \
  9640. (This)->lpVtbl -> DropTable(This,pTableID)
  9641. #define ITableDefinitionWithConstraints_AddColumn(This,pTableID,pColumnDesc,ppColumnID) \
  9642. (This)->lpVtbl -> AddColumn(This,pTableID,pColumnDesc,ppColumnID)
  9643. #define ITableDefinitionWithConstraints_DropColumn(This,pTableID,pColumnID) \
  9644. (This)->lpVtbl -> DropColumn(This,pTableID,pColumnID)
  9645. #define ITableDefinitionWithConstraints_GetTableDefinition(This,pTableID,pcColumnDescs,prgColumnDescs,pcPropertySets,prgPropertySets,pcConstraintDescs,prgConstraintDescs,ppwszStringBuffer) \
  9646. (This)->lpVtbl -> GetTableDefinition(This,pTableID,pcColumnDescs,prgColumnDescs,pcPropertySets,prgPropertySets,pcConstraintDescs,prgConstraintDescs,ppwszStringBuffer)
  9647. #define ITableDefinitionWithConstraints_AddConstraint(This,pTableID,pConstraintDesc) \
  9648. (This)->lpVtbl -> AddConstraint(This,pTableID,pConstraintDesc)
  9649. #define ITableDefinitionWithConstraints_CreateTableWithConstraints(This,pUnkOuter,pTableID,cColumnDescs,rgColumnDescs,cConstraintDescs,rgConstraintDescs,riid,cPropertySets,rgPropertySets,ppTableID,ppRowset) \
  9650. (This)->lpVtbl -> CreateTableWithConstraints(This,pUnkOuter,pTableID,cColumnDescs,rgColumnDescs,cConstraintDescs,rgConstraintDescs,riid,cPropertySets,rgPropertySets,ppTableID,ppRowset)
  9651. #define ITableDefinitionWithConstraints_DropConstraint(This,pTableID,pConstraintID) \
  9652. (This)->lpVtbl -> DropConstraint(This,pTableID,pConstraintID)
  9653. #endif /* COBJMACROS */
  9654. #endif /* C style interface */
  9655. HRESULT STDMETHODCALLTYPE ITableDefinitionWithConstraints_AddConstraint_Proxy(
  9656. ITableDefinitionWithConstraints * This,
  9657. /* [in] */ DBID *pTableID,
  9658. /* [in] */ DBCONSTRAINTDESC *pConstraintDesc);
  9659. void __RPC_STUB ITableDefinitionWithConstraints_AddConstraint_Stub(
  9660. IRpcStubBuffer *This,
  9661. IRpcChannelBuffer *_pRpcChannelBuffer,
  9662. PRPC_MESSAGE _pRpcMessage,
  9663. DWORD *_pdwStubPhase);
  9664. HRESULT STDMETHODCALLTYPE ITableDefinitionWithConstraints_CreateTableWithConstraints_Proxy(
  9665. ITableDefinitionWithConstraints * This,
  9666. /* [in] */ IUnknown *pUnkOuter,
  9667. /* [in] */ DBID *pTableID,
  9668. /* [in] */ DBORDINAL cColumnDescs,
  9669. /* [out][size_is][in] */ DBCOLUMNDESC rgColumnDescs[ ],
  9670. /* [in] */ ULONG cConstraintDescs,
  9671. /* [size_is][in] */ DBCONSTRAINTDESC rgConstraintDescs[ ],
  9672. /* [in] */ REFIID riid,
  9673. /* [in] */ ULONG cPropertySets,
  9674. /* [out][size_is][in] */ DBPROPSET rgPropertySets[ ],
  9675. /* [out] */ DBID **ppTableID,
  9676. /* [out] */ IUnknown **ppRowset);
  9677. void __RPC_STUB ITableDefinitionWithConstraints_CreateTableWithConstraints_Stub(
  9678. IRpcStubBuffer *This,
  9679. IRpcChannelBuffer *_pRpcChannelBuffer,
  9680. PRPC_MESSAGE _pRpcMessage,
  9681. DWORD *_pdwStubPhase);
  9682. HRESULT STDMETHODCALLTYPE ITableDefinitionWithConstraints_DropConstraint_Proxy(
  9683. ITableDefinitionWithConstraints * This,
  9684. /* [in] */ DBID *pTableID,
  9685. /* [in] */ DBID *pConstraintID);
  9686. void __RPC_STUB ITableDefinitionWithConstraints_DropConstraint_Stub(
  9687. IRpcStubBuffer *This,
  9688. IRpcChannelBuffer *_pRpcChannelBuffer,
  9689. PRPC_MESSAGE _pRpcMessage,
  9690. DWORD *_pdwStubPhase);
  9691. #endif /* __ITableDefinitionWithConstraints_INTERFACE_DEFINED__ */
  9692. /* interface __MIDL_itf_oledb_0339 */
  9693. /* [local] */
  9694. #ifndef UNDER_CE
  9695. extern RPC_IF_HANDLE __MIDL_itf_oledb_0339_v0_0_c_ifspec;
  9696. extern RPC_IF_HANDLE __MIDL_itf_oledb_0339_v0_0_s_ifspec;
  9697. #ifndef __IRow_INTERFACE_DEFINED__
  9698. #define __IRow_INTERFACE_DEFINED__
  9699. /* interface IRow */
  9700. /* [unique][uuid][object][local] */
  9701. EXTERN_C const IID IID_IRow;
  9702. #if defined(__cplusplus) && !defined(CINTERFACE)
  9703. MIDL_INTERFACE("0c733ab4-2a1c-11ce-ade5-00aa0044773d")
  9704. IRow : public IUnknown
  9705. {
  9706. public:
  9707. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetColumns(
  9708. /* [in] */ DBORDINAL cColumns,
  9709. /* [size_is][out][in] */ DBCOLUMNACCESS rgColumns[ ]) = 0;
  9710. virtual HRESULT STDMETHODCALLTYPE GetSourceRowset(
  9711. /* [in] */ REFIID riid,
  9712. /* [iid_is][out] */ IUnknown **ppRowset,
  9713. /* [out] */ HROW *phRow) = 0;
  9714. virtual HRESULT STDMETHODCALLTYPE Open(
  9715. /* [unique][in] */ IUnknown *pUnkOuter,
  9716. /* [in] */ DBID *pColumnID,
  9717. /* [in] */ REFGUID rguidColumnType,
  9718. /* [in] */ DWORD dwBindFlags,
  9719. /* [in] */ REFIID riid,
  9720. /* [iid_is][out] */ IUnknown **ppUnk) = 0;
  9721. };
  9722. #else /* C style interface */
  9723. typedef struct IRowVtbl
  9724. {
  9725. BEGIN_INTERFACE
  9726. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9727. IRow * This,
  9728. /* [in] */ REFIID riid,
  9729. /* [iid_is][out] */ void **ppvObject);
  9730. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9731. IRow * This);
  9732. ULONG ( STDMETHODCALLTYPE *Release )(
  9733. IRow * This);
  9734. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetColumns )(
  9735. IRow * This,
  9736. /* [in] */ DBORDINAL cColumns,
  9737. /* [size_is][out][in] */ DBCOLUMNACCESS rgColumns[ ]);
  9738. HRESULT ( STDMETHODCALLTYPE *GetSourceRowset )(
  9739. IRow * This,
  9740. /* [in] */ REFIID riid,
  9741. /* [iid_is][out] */ IUnknown **ppRowset,
  9742. /* [out] */ HROW *phRow);
  9743. HRESULT ( STDMETHODCALLTYPE *Open )(
  9744. IRow * This,
  9745. /* [unique][in] */ IUnknown *pUnkOuter,
  9746. /* [in] */ DBID *pColumnID,
  9747. /* [in] */ REFGUID rguidColumnType,
  9748. /* [in] */ DWORD dwBindFlags,
  9749. /* [in] */ REFIID riid,
  9750. /* [iid_is][out] */ IUnknown **ppUnk);
  9751. END_INTERFACE
  9752. } IRowVtbl;
  9753. interface IRow
  9754. {
  9755. CONST_VTBL struct IRowVtbl *lpVtbl;
  9756. };
  9757. #ifdef COBJMACROS
  9758. #define IRow_QueryInterface(This,riid,ppvObject) \
  9759. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9760. #define IRow_AddRef(This) \
  9761. (This)->lpVtbl -> AddRef(This)
  9762. #define IRow_Release(This) \
  9763. (This)->lpVtbl -> Release(This)
  9764. #define IRow_GetColumns(This,cColumns,rgColumns) \
  9765. (This)->lpVtbl -> GetColumns(This,cColumns,rgColumns)
  9766. #define IRow_GetSourceRowset(This,riid,ppRowset,phRow) \
  9767. (This)->lpVtbl -> GetSourceRowset(This,riid,ppRowset,phRow)
  9768. #define IRow_Open(This,pUnkOuter,pColumnID,rguidColumnType,dwBindFlags,riid,ppUnk) \
  9769. (This)->lpVtbl -> Open(This,pUnkOuter,pColumnID,rguidColumnType,dwBindFlags,riid,ppUnk)
  9770. #endif /* COBJMACROS */
  9771. #endif /* C style interface */
  9772. /* [local] */ HRESULT STDMETHODCALLTYPE IRow_GetColumns_Proxy(
  9773. IRow * This,
  9774. /* [in] */ DBORDINAL cColumns,
  9775. /* [size_is][out][in] */ DBCOLUMNACCESS rgColumns[ ]);
  9776. void __RPC_STUB IRow_GetColumns_Stub(
  9777. IRpcStubBuffer *This,
  9778. IRpcChannelBuffer *_pRpcChannelBuffer,
  9779. PRPC_MESSAGE _pRpcMessage,
  9780. DWORD *_pdwStubPhase);
  9781. HRESULT STDMETHODCALLTYPE IRow_GetSourceRowset_Proxy(
  9782. IRow * This,
  9783. /* [in] */ REFIID riid,
  9784. /* [iid_is][out] */ IUnknown **ppRowset,
  9785. /* [out] */ HROW *phRow);
  9786. void __RPC_STUB IRow_GetSourceRowset_Stub(
  9787. IRpcStubBuffer *This,
  9788. IRpcChannelBuffer *_pRpcChannelBuffer,
  9789. PRPC_MESSAGE _pRpcMessage,
  9790. DWORD *_pdwStubPhase);
  9791. HRESULT STDMETHODCALLTYPE IRow_Open_Proxy(
  9792. IRow * This,
  9793. /* [unique][in] */ IUnknown *pUnkOuter,
  9794. /* [in] */ DBID *pColumnID,
  9795. /* [in] */ REFGUID rguidColumnType,
  9796. /* [in] */ DWORD dwBindFlags,
  9797. /* [in] */ REFIID riid,
  9798. /* [iid_is][out] */ IUnknown **ppUnk);
  9799. void __RPC_STUB IRow_Open_Stub(
  9800. IRpcStubBuffer *This,
  9801. IRpcChannelBuffer *_pRpcChannelBuffer,
  9802. PRPC_MESSAGE _pRpcMessage,
  9803. DWORD *_pdwStubPhase);
  9804. #endif /* __IRow_INTERFACE_DEFINED__ */
  9805. #ifndef __IRowChange_INTERFACE_DEFINED__
  9806. #define __IRowChange_INTERFACE_DEFINED__
  9807. /* interface IRowChange */
  9808. /* [unique][uuid][object][local] */
  9809. EXTERN_C const IID IID_IRowChange;
  9810. #if defined(__cplusplus) && !defined(CINTERFACE)
  9811. MIDL_INTERFACE("0c733ab5-2a1c-11ce-ade5-00aa0044773d")
  9812. IRowChange : public IUnknown
  9813. {
  9814. public:
  9815. virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetColumns(
  9816. /* [in] */ DBORDINAL cColumns,
  9817. /* [size_is][out][in] */ DBCOLUMNACCESS rgColumns[ ]) = 0;
  9818. };
  9819. #else /* C style interface */
  9820. typedef struct IRowChangeVtbl
  9821. {
  9822. BEGIN_INTERFACE
  9823. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9824. IRowChange * This,
  9825. /* [in] */ REFIID riid,
  9826. /* [iid_is][out] */ void **ppvObject);
  9827. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9828. IRowChange * This);
  9829. ULONG ( STDMETHODCALLTYPE *Release )(
  9830. IRowChange * This);
  9831. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetColumns )(
  9832. IRowChange * This,
  9833. /* [in] */ DBORDINAL cColumns,
  9834. /* [size_is][out][in] */ DBCOLUMNACCESS rgColumns[ ]);
  9835. END_INTERFACE
  9836. } IRowChangeVtbl;
  9837. interface IRowChange
  9838. {
  9839. CONST_VTBL struct IRowChangeVtbl *lpVtbl;
  9840. };
  9841. #ifdef COBJMACROS
  9842. #define IRowChange_QueryInterface(This,riid,ppvObject) \
  9843. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9844. #define IRowChange_AddRef(This) \
  9845. (This)->lpVtbl -> AddRef(This)
  9846. #define IRowChange_Release(This) \
  9847. (This)->lpVtbl -> Release(This)
  9848. #define IRowChange_SetColumns(This,cColumns,rgColumns) \
  9849. (This)->lpVtbl -> SetColumns(This,cColumns,rgColumns)
  9850. #endif /* COBJMACROS */
  9851. #endif /* C style interface */
  9852. /* [local] */ HRESULT STDMETHODCALLTYPE IRowChange_SetColumns_Proxy(
  9853. IRowChange * This,
  9854. /* [in] */ DBORDINAL cColumns,
  9855. /* [size_is][out][in] */ DBCOLUMNACCESS rgColumns[ ]);
  9856. void __RPC_STUB IRowChange_SetColumns_Stub(
  9857. IRpcStubBuffer *This,
  9858. IRpcChannelBuffer *_pRpcChannelBuffer,
  9859. PRPC_MESSAGE _pRpcMessage,
  9860. DWORD *_pdwStubPhase);
  9861. #endif /* __IRowChange_INTERFACE_DEFINED__ */
  9862. #ifndef __IRowSchemaChange_INTERFACE_DEFINED__
  9863. #define __IRowSchemaChange_INTERFACE_DEFINED__
  9864. /* interface IRowSchemaChange */
  9865. /* [unique][uuid][object][local] */
  9866. EXTERN_C const IID IID_IRowSchemaChange;
  9867. #if defined(__cplusplus) && !defined(CINTERFACE)
  9868. MIDL_INTERFACE("0c733aae-2a1c-11ce-ade5-00aa0044773d")
  9869. IRowSchemaChange : public IRowChange
  9870. {
  9871. public:
  9872. virtual HRESULT STDMETHODCALLTYPE DeleteColumns(
  9873. /* [in] */ DBORDINAL cColumns,
  9874. /* [size_is][in] */ const DBID rgColumnIDs[ ],
  9875. /* [size_is][out][in] */ DBSTATUS rgdwStatus[ ]) = 0;
  9876. virtual HRESULT STDMETHODCALLTYPE AddColumns(
  9877. /* [in] */ DBORDINAL cColumns,
  9878. /* [size_is][in] */ const DBCOLUMNINFO rgNewColumnInfo[ ],
  9879. /* [size_is][out][in] */ DBCOLUMNACCESS rgColumns[ ]) = 0;
  9880. };
  9881. #else /* C style interface */
  9882. typedef struct IRowSchemaChangeVtbl
  9883. {
  9884. BEGIN_INTERFACE
  9885. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9886. IRowSchemaChange * This,
  9887. /* [in] */ REFIID riid,
  9888. /* [iid_is][out] */ void **ppvObject);
  9889. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9890. IRowSchemaChange * This);
  9891. ULONG ( STDMETHODCALLTYPE *Release )(
  9892. IRowSchemaChange * This);
  9893. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetColumns )(
  9894. IRowSchemaChange * This,
  9895. /* [in] */ DBORDINAL cColumns,
  9896. /* [size_is][out][in] */ DBCOLUMNACCESS rgColumns[ ]);
  9897. HRESULT ( STDMETHODCALLTYPE *DeleteColumns )(
  9898. IRowSchemaChange * This,
  9899. /* [in] */ DBORDINAL cColumns,
  9900. /* [size_is][in] */ const DBID rgColumnIDs[ ],
  9901. /* [size_is][out][in] */ DBSTATUS rgdwStatus[ ]);
  9902. HRESULT ( STDMETHODCALLTYPE *AddColumns )(
  9903. IRowSchemaChange * This,
  9904. /* [in] */ DBORDINAL cColumns,
  9905. /* [size_is][in] */ const DBCOLUMNINFO rgNewColumnInfo[ ],
  9906. /* [size_is][out][in] */ DBCOLUMNACCESS rgColumns[ ]);
  9907. END_INTERFACE
  9908. } IRowSchemaChangeVtbl;
  9909. interface IRowSchemaChange
  9910. {
  9911. CONST_VTBL struct IRowSchemaChangeVtbl *lpVtbl;
  9912. };
  9913. #ifdef COBJMACROS
  9914. #define IRowSchemaChange_QueryInterface(This,riid,ppvObject) \
  9915. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9916. #define IRowSchemaChange_AddRef(This) \
  9917. (This)->lpVtbl -> AddRef(This)
  9918. #define IRowSchemaChange_Release(This) \
  9919. (This)->lpVtbl -> Release(This)
  9920. #define IRowSchemaChange_SetColumns(This,cColumns,rgColumns) \
  9921. (This)->lpVtbl -> SetColumns(This,cColumns,rgColumns)
  9922. #define IRowSchemaChange_DeleteColumns(This,cColumns,rgColumnIDs,rgdwStatus) \
  9923. (This)->lpVtbl -> DeleteColumns(This,cColumns,rgColumnIDs,rgdwStatus)
  9924. #define IRowSchemaChange_AddColumns(This,cColumns,rgNewColumnInfo,rgColumns) \
  9925. (This)->lpVtbl -> AddColumns(This,cColumns,rgNewColumnInfo,rgColumns)
  9926. #endif /* COBJMACROS */
  9927. #endif /* C style interface */
  9928. HRESULT STDMETHODCALLTYPE IRowSchemaChange_DeleteColumns_Proxy(
  9929. IRowSchemaChange * This,
  9930. /* [in] */ DBORDINAL cColumns,
  9931. /* [size_is][in] */ const DBID rgColumnIDs[ ],
  9932. /* [size_is][out][in] */ DBSTATUS rgdwStatus[ ]);
  9933. void __RPC_STUB IRowSchemaChange_DeleteColumns_Stub(
  9934. IRpcStubBuffer *This,
  9935. IRpcChannelBuffer *_pRpcChannelBuffer,
  9936. PRPC_MESSAGE _pRpcMessage,
  9937. DWORD *_pdwStubPhase);
  9938. HRESULT STDMETHODCALLTYPE IRowSchemaChange_AddColumns_Proxy(
  9939. IRowSchemaChange * This,
  9940. /* [in] */ DBORDINAL cColumns,
  9941. /* [size_is][in] */ const DBCOLUMNINFO rgNewColumnInfo[ ],
  9942. /* [size_is][out][in] */ DBCOLUMNACCESS rgColumns[ ]);
  9943. void __RPC_STUB IRowSchemaChange_AddColumns_Stub(
  9944. IRpcStubBuffer *This,
  9945. IRpcChannelBuffer *_pRpcChannelBuffer,
  9946. PRPC_MESSAGE _pRpcMessage,
  9947. DWORD *_pdwStubPhase);
  9948. #endif /* __IRowSchemaChange_INTERFACE_DEFINED__ */
  9949. #ifndef __IGetRow_INTERFACE_DEFINED__
  9950. #define __IGetRow_INTERFACE_DEFINED__
  9951. /* interface IGetRow */
  9952. /* [unique][uuid][object][local] */
  9953. EXTERN_C const IID IID_IGetRow;
  9954. #if defined(__cplusplus) && !defined(CINTERFACE)
  9955. MIDL_INTERFACE("0c733aaf-2a1c-11ce-ade5-00aa0044773d")
  9956. IGetRow : public IUnknown
  9957. {
  9958. public:
  9959. virtual HRESULT STDMETHODCALLTYPE GetRowFromHROW(
  9960. /* [unique][in] */ IUnknown *pUnkOuter,
  9961. /* [in] */ HROW hRow,
  9962. /* [in] */ REFIID riid,
  9963. /* [iid_is][out] */ IUnknown **ppUnk) = 0;
  9964. virtual HRESULT STDMETHODCALLTYPE GetURLFromHROW(
  9965. /* [in] */ HROW hRow,
  9966. /* [out] */ LPOLESTR *ppwszURL) = 0;
  9967. };
  9968. #else /* C style interface */
  9969. typedef struct IGetRowVtbl
  9970. {
  9971. BEGIN_INTERFACE
  9972. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9973. IGetRow * This,
  9974. /* [in] */ REFIID riid,
  9975. /* [iid_is][out] */ void **ppvObject);
  9976. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9977. IGetRow * This);
  9978. ULONG ( STDMETHODCALLTYPE *Release )(
  9979. IGetRow * This);
  9980. HRESULT ( STDMETHODCALLTYPE *GetRowFromHROW )(
  9981. IGetRow * This,
  9982. /* [unique][in] */ IUnknown *pUnkOuter,
  9983. /* [in] */ HROW hRow,
  9984. /* [in] */ REFIID riid,
  9985. /* [iid_is][out] */ IUnknown **ppUnk);
  9986. HRESULT ( STDMETHODCALLTYPE *GetURLFromHROW )(
  9987. IGetRow * This,
  9988. /* [in] */ HROW hRow,
  9989. /* [out] */ LPOLESTR *ppwszURL);
  9990. END_INTERFACE
  9991. } IGetRowVtbl;
  9992. interface IGetRow
  9993. {
  9994. CONST_VTBL struct IGetRowVtbl *lpVtbl;
  9995. };
  9996. #ifdef COBJMACROS
  9997. #define IGetRow_QueryInterface(This,riid,ppvObject) \
  9998. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9999. #define IGetRow_AddRef(This) \
  10000. (This)->lpVtbl -> AddRef(This)
  10001. #define IGetRow_Release(This) \
  10002. (This)->lpVtbl -> Release(This)
  10003. #define IGetRow_GetRowFromHROW(This,pUnkOuter,hRow,riid,ppUnk) \
  10004. (This)->lpVtbl -> GetRowFromHROW(This,pUnkOuter,hRow,riid,ppUnk)
  10005. #define IGetRow_GetURLFromHROW(This,hRow,ppwszURL) \
  10006. (This)->lpVtbl -> GetURLFromHROW(This,hRow,ppwszURL)
  10007. #endif /* COBJMACROS */
  10008. #endif /* C style interface */
  10009. HRESULT STDMETHODCALLTYPE IGetRow_GetRowFromHROW_Proxy(
  10010. IGetRow * This,
  10011. /* [unique][in] */ IUnknown *pUnkOuter,
  10012. /* [in] */ HROW hRow,
  10013. /* [in] */ REFIID riid,
  10014. /* [iid_is][out] */ IUnknown **ppUnk);
  10015. void __RPC_STUB IGetRow_GetRowFromHROW_Stub(
  10016. IRpcStubBuffer *This,
  10017. IRpcChannelBuffer *_pRpcChannelBuffer,
  10018. PRPC_MESSAGE _pRpcMessage,
  10019. DWORD *_pdwStubPhase);
  10020. HRESULT STDMETHODCALLTYPE IGetRow_GetURLFromHROW_Proxy(
  10021. IGetRow * This,
  10022. /* [in] */ HROW hRow,
  10023. /* [out] */ LPOLESTR *ppwszURL);
  10024. void __RPC_STUB IGetRow_GetURLFromHROW_Stub(
  10025. IRpcStubBuffer *This,
  10026. IRpcChannelBuffer *_pRpcChannelBuffer,
  10027. PRPC_MESSAGE _pRpcMessage,
  10028. DWORD *_pdwStubPhase);
  10029. #endif /* __IGetRow_INTERFACE_DEFINED__ */
  10030. #ifndef __IBindResource_INTERFACE_DEFINED__
  10031. #define __IBindResource_INTERFACE_DEFINED__
  10032. /* interface IBindResource */
  10033. /* [unique][uuid][object] */
  10034. EXTERN_C const IID IID_IBindResource;
  10035. #if defined(__cplusplus) && !defined(CINTERFACE)
  10036. MIDL_INTERFACE("0c733ab1-2a1c-11ce-ade5-00aa0044773d")
  10037. IBindResource : public IUnknown
  10038. {
  10039. public:
  10040. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Bind(
  10041. /* [in] */ IUnknown *pUnkOuter,
  10042. /* [in] */ LPCOLESTR pwszURL,
  10043. /* [in] */ DBBINDURLFLAG dwBindURLFlags,
  10044. /* [in] */ REFGUID rguid,
  10045. /* [in] */ REFIID riid,
  10046. /* [in] */ IAuthenticate *pAuthenticate,
  10047. /* [unique][out][in] */ DBIMPLICITSESSION *pImplSession,
  10048. /* [unique][out][in] */ DBBINDURLSTATUS *pdwBindStatus,
  10049. /* [iid_is][out] */ IUnknown **ppUnk) = 0;
  10050. };
  10051. #else /* C style interface */
  10052. typedef struct IBindResourceVtbl
  10053. {
  10054. BEGIN_INTERFACE
  10055. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10056. IBindResource * This,
  10057. /* [in] */ REFIID riid,
  10058. /* [iid_is][out] */ void **ppvObject);
  10059. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10060. IBindResource * This);
  10061. ULONG ( STDMETHODCALLTYPE *Release )(
  10062. IBindResource * This);
  10063. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Bind )(
  10064. IBindResource * This,
  10065. /* [in] */ IUnknown *pUnkOuter,
  10066. /* [in] */ LPCOLESTR pwszURL,
  10067. /* [in] */ DBBINDURLFLAG dwBindURLFlags,
  10068. /* [in] */ REFGUID rguid,
  10069. /* [in] */ REFIID riid,
  10070. /* [in] */ IAuthenticate *pAuthenticate,
  10071. /* [unique][out][in] */ DBIMPLICITSESSION *pImplSession,
  10072. /* [unique][out][in] */ DBBINDURLSTATUS *pdwBindStatus,
  10073. /* [iid_is][out] */ IUnknown **ppUnk);
  10074. END_INTERFACE
  10075. } IBindResourceVtbl;
  10076. interface IBindResource
  10077. {
  10078. CONST_VTBL struct IBindResourceVtbl *lpVtbl;
  10079. };
  10080. #ifdef COBJMACROS
  10081. #define IBindResource_QueryInterface(This,riid,ppvObject) \
  10082. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10083. #define IBindResource_AddRef(This) \
  10084. (This)->lpVtbl -> AddRef(This)
  10085. #define IBindResource_Release(This) \
  10086. (This)->lpVtbl -> Release(This)
  10087. #define IBindResource_Bind(This,pUnkOuter,pwszURL,dwBindURLFlags,rguid,riid,pAuthenticate,pImplSession,pdwBindStatus,ppUnk) \
  10088. (This)->lpVtbl -> Bind(This,pUnkOuter,pwszURL,dwBindURLFlags,rguid,riid,pAuthenticate,pImplSession,pdwBindStatus,ppUnk)
  10089. #endif /* COBJMACROS */
  10090. #endif /* C style interface */
  10091. /* [call_as] */ HRESULT STDMETHODCALLTYPE IBindResource_RemoteBind_Proxy(
  10092. IBindResource * This,
  10093. /* [in] */ IUnknown *pUnkOuter,
  10094. /* [in] */ LPCOLESTR pwszURL,
  10095. /* [in] */ DBBINDURLFLAG dwBindURLFlags,
  10096. /* [in] */ REFGUID rguid,
  10097. /* [in] */ REFIID riid,
  10098. /* [in] */ IAuthenticate *pAuthenticate,
  10099. /* [in] */ IUnknown *pSessionUnkOuter,
  10100. /* [unique][in] */ IID *piid,
  10101. /* [iid_is][unique][out][in] */ IUnknown **ppSession,
  10102. /* [unique][out][in] */ DBBINDURLSTATUS *pdwBindStatus,
  10103. /* [iid_is][out] */ IUnknown **ppUnk);
  10104. void __RPC_STUB IBindResource_RemoteBind_Stub(
  10105. IRpcStubBuffer *This,
  10106. IRpcChannelBuffer *_pRpcChannelBuffer,
  10107. PRPC_MESSAGE _pRpcMessage,
  10108. DWORD *_pdwStubPhase);
  10109. #endif /* __IBindResource_INTERFACE_DEFINED__ */
  10110. #ifndef __IScopedOperations_INTERFACE_DEFINED__
  10111. #define __IScopedOperations_INTERFACE_DEFINED__
  10112. /* interface IScopedOperations */
  10113. /* [unique][uuid][object] */
  10114. typedef DWORD DBCOPYFLAGS;
  10115. enum DBCOPYFLAGSENUM
  10116. { DBCOPY_ASYNC = 0x100,
  10117. DBCOPY_REPLACE_EXISTING = 0x200,
  10118. DBCOPY_ALLOW_EMULATION = 0x400,
  10119. DBCOPY_NON_RECURSIVE = 0x800,
  10120. DBCOPY_ATOMIC = 0x1000
  10121. } ;
  10122. typedef DWORD DBMOVEFLAGS;
  10123. enum DBMOVEFLAGSENUM
  10124. { DBMOVE_REPLACE_EXISTING = 0x1,
  10125. DBMOVE_ASYNC = 0x100,
  10126. DBMOVE_DONT_UPDATE_LINKS = 0x200,
  10127. DBMOVE_ALLOW_EMULATION = 0x400,
  10128. DBMOVE_ATOMIC = 0x1000
  10129. } ;
  10130. typedef DWORD DBDELETEFLAGS;
  10131. enum DBDELETEFLAGSENUM
  10132. { DBDELETE_ASYNC = 0x100,
  10133. DBDELETE_ATOMIC = 0x1000
  10134. } ;
  10135. EXTERN_C const IID IID_IScopedOperations;
  10136. #if defined(__cplusplus) && !defined(CINTERFACE)
  10137. MIDL_INTERFACE("0c733ab0-2a1c-11ce-ade5-00aa0044773d")
  10138. IScopedOperations : public IBindResource
  10139. {
  10140. public:
  10141. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Copy(
  10142. /* [in] */ DBCOUNTITEM cRows,
  10143. /* [size_is][in] */ LPCOLESTR rgpwszSourceURLs[ ],
  10144. /* [size_is][in] */ LPCOLESTR rgpwszDestURLs[ ],
  10145. /* [in] */ DWORD dwCopyFlags,
  10146. /* [unique][in] */ IAuthenticate *pAuthenticate,
  10147. /* [size_is][out][in] */ DBSTATUS rgdwStatus[ ],
  10148. /* [size_is][out] */ LPOLESTR rgpwszNewURLs[ ],
  10149. /* [out] */ OLECHAR **ppStringsBuffer) = 0;
  10150. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Move(
  10151. /* [in] */ DBCOUNTITEM cRows,
  10152. /* [size_is][in] */ LPCOLESTR rgpwszSourceURLs[ ],
  10153. /* [size_is][in] */ LPCOLESTR rgpwszDestURLs[ ],
  10154. /* [in] */ DWORD dwMoveFlags,
  10155. /* [unique][in] */ IAuthenticate *pAuthenticate,
  10156. /* [size_is][out][in] */ DBSTATUS rgdwStatus[ ],
  10157. /* [size_is][out] */ LPOLESTR rgpwszNewURLs[ ],
  10158. /* [out] */ OLECHAR **ppStringsBuffer) = 0;
  10159. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Delete(
  10160. /* [in] */ DBCOUNTITEM cRows,
  10161. /* [size_is][in] */ LPCOLESTR rgpwszURLs[ ],
  10162. /* [in] */ DWORD dwDeleteFlags,
  10163. /* [size_is][out][in] */ DBSTATUS rgdwStatus[ ]) = 0;
  10164. virtual /* [local] */ HRESULT STDMETHODCALLTYPE OpenRowset(
  10165. /* [in] */ IUnknown *pUnkOuter,
  10166. /* [unique][in] */ DBID *pTableID,
  10167. /* [unique][in] */ DBID *pIndexID,
  10168. /* [in] */ REFIID riid,
  10169. /* [in] */ ULONG cPropertySets,
  10170. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  10171. /* [iid_is][out] */ IUnknown **ppRowset) = 0;
  10172. };
  10173. #else /* C style interface */
  10174. typedef struct IScopedOperationsVtbl
  10175. {
  10176. BEGIN_INTERFACE
  10177. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10178. IScopedOperations * This,
  10179. /* [in] */ REFIID riid,
  10180. /* [iid_is][out] */ void **ppvObject);
  10181. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10182. IScopedOperations * This);
  10183. ULONG ( STDMETHODCALLTYPE *Release )(
  10184. IScopedOperations * This);
  10185. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Bind )(
  10186. IScopedOperations * This,
  10187. /* [in] */ IUnknown *pUnkOuter,
  10188. /* [in] */ LPCOLESTR pwszURL,
  10189. /* [in] */ DBBINDURLFLAG dwBindURLFlags,
  10190. /* [in] */ REFGUID rguid,
  10191. /* [in] */ REFIID riid,
  10192. /* [in] */ IAuthenticate *pAuthenticate,
  10193. /* [unique][out][in] */ DBIMPLICITSESSION *pImplSession,
  10194. /* [unique][out][in] */ DBBINDURLSTATUS *pdwBindStatus,
  10195. /* [iid_is][out] */ IUnknown **ppUnk);
  10196. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Copy )(
  10197. IScopedOperations * This,
  10198. /* [in] */ DBCOUNTITEM cRows,
  10199. /* [size_is][in] */ LPCOLESTR rgpwszSourceURLs[ ],
  10200. /* [size_is][in] */ LPCOLESTR rgpwszDestURLs[ ],
  10201. /* [in] */ DWORD dwCopyFlags,
  10202. /* [unique][in] */ IAuthenticate *pAuthenticate,
  10203. /* [size_is][out][in] */ DBSTATUS rgdwStatus[ ],
  10204. /* [size_is][out] */ LPOLESTR rgpwszNewURLs[ ],
  10205. /* [out] */ OLECHAR **ppStringsBuffer);
  10206. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Move )(
  10207. IScopedOperations * This,
  10208. /* [in] */ DBCOUNTITEM cRows,
  10209. /* [size_is][in] */ LPCOLESTR rgpwszSourceURLs[ ],
  10210. /* [size_is][in] */ LPCOLESTR rgpwszDestURLs[ ],
  10211. /* [in] */ DWORD dwMoveFlags,
  10212. /* [unique][in] */ IAuthenticate *pAuthenticate,
  10213. /* [size_is][out][in] */ DBSTATUS rgdwStatus[ ],
  10214. /* [size_is][out] */ LPOLESTR rgpwszNewURLs[ ],
  10215. /* [out] */ OLECHAR **ppStringsBuffer);
  10216. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Delete )(
  10217. IScopedOperations * This,
  10218. /* [in] */ DBCOUNTITEM cRows,
  10219. /* [size_is][in] */ LPCOLESTR rgpwszURLs[ ],
  10220. /* [in] */ DWORD dwDeleteFlags,
  10221. /* [size_is][out][in] */ DBSTATUS rgdwStatus[ ]);
  10222. /* [local] */ HRESULT ( STDMETHODCALLTYPE *OpenRowset )(
  10223. IScopedOperations * This,
  10224. /* [in] */ IUnknown *pUnkOuter,
  10225. /* [unique][in] */ DBID *pTableID,
  10226. /* [unique][in] */ DBID *pIndexID,
  10227. /* [in] */ REFIID riid,
  10228. /* [in] */ ULONG cPropertySets,
  10229. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  10230. /* [iid_is][out] */ IUnknown **ppRowset);
  10231. END_INTERFACE
  10232. } IScopedOperationsVtbl;
  10233. interface IScopedOperations
  10234. {
  10235. CONST_VTBL struct IScopedOperationsVtbl *lpVtbl;
  10236. };
  10237. #ifdef COBJMACROS
  10238. #define IScopedOperations_QueryInterface(This,riid,ppvObject) \
  10239. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10240. #define IScopedOperations_AddRef(This) \
  10241. (This)->lpVtbl -> AddRef(This)
  10242. #define IScopedOperations_Release(This) \
  10243. (This)->lpVtbl -> Release(This)
  10244. #define IScopedOperations_Bind(This,pUnkOuter,pwszURL,dwBindURLFlags,rguid,riid,pAuthenticate,pImplSession,pdwBindStatus,ppUnk) \
  10245. (This)->lpVtbl -> Bind(This,pUnkOuter,pwszURL,dwBindURLFlags,rguid,riid,pAuthenticate,pImplSession,pdwBindStatus,ppUnk)
  10246. #define IScopedOperations_Copy(This,cRows,rgpwszSourceURLs,rgpwszDestURLs,dwCopyFlags,pAuthenticate,rgdwStatus,rgpwszNewURLs,ppStringsBuffer) \
  10247. (This)->lpVtbl -> Copy(This,cRows,rgpwszSourceURLs,rgpwszDestURLs,dwCopyFlags,pAuthenticate,rgdwStatus,rgpwszNewURLs,ppStringsBuffer)
  10248. #define IScopedOperations_Move(This,cRows,rgpwszSourceURLs,rgpwszDestURLs,dwMoveFlags,pAuthenticate,rgdwStatus,rgpwszNewURLs,ppStringsBuffer) \
  10249. (This)->lpVtbl -> Move(This,cRows,rgpwszSourceURLs,rgpwszDestURLs,dwMoveFlags,pAuthenticate,rgdwStatus,rgpwszNewURLs,ppStringsBuffer)
  10250. #define IScopedOperations_Delete(This,cRows,rgpwszURLs,dwDeleteFlags,rgdwStatus) \
  10251. (This)->lpVtbl -> Delete(This,cRows,rgpwszURLs,dwDeleteFlags,rgdwStatus)
  10252. #define IScopedOperations_OpenRowset(This,pUnkOuter,pTableID,pIndexID,riid,cPropertySets,rgPropertySets,ppRowset) \
  10253. (This)->lpVtbl -> OpenRowset(This,pUnkOuter,pTableID,pIndexID,riid,cPropertySets,rgPropertySets,ppRowset)
  10254. #endif /* COBJMACROS */
  10255. #endif /* C style interface */
  10256. /* [call_as] */ HRESULT STDMETHODCALLTYPE IScopedOperations_RemoteCopy_Proxy(
  10257. IScopedOperations * This,
  10258. /* [in] */ DBCOUNTITEM cRows,
  10259. /* [size_is][in] */ LPCOLESTR *rgpwszSourceURLs,
  10260. /* [size_is][in] */ LPCOLESTR *rgpwszDestURLs,
  10261. /* [in] */ DWORD dwCopyFlags,
  10262. /* [in] */ IAuthenticate *pAuthenticate,
  10263. /* [size_is][out] */ DBSTATUS *rgdwStatus,
  10264. /* [size_is][size_is][out] */ DBBYTEOFFSET **prgulNewURLOffsets,
  10265. /* [out][in] */ ULONG *pcbStringsBuffer,
  10266. /* [size_is][size_is][unique][out][in] */ OLECHAR **ppStringsBuffer);
  10267. void __RPC_STUB IScopedOperations_RemoteCopy_Stub(
  10268. IRpcStubBuffer *This,
  10269. IRpcChannelBuffer *_pRpcChannelBuffer,
  10270. PRPC_MESSAGE _pRpcMessage,
  10271. DWORD *_pdwStubPhase);
  10272. /* [call_as] */ HRESULT STDMETHODCALLTYPE IScopedOperations_RemoteMove_Proxy(
  10273. IScopedOperations * This,
  10274. /* [in] */ DBCOUNTITEM cRows,
  10275. /* [size_is][in] */ LPCOLESTR *rgpwszSourceURLs,
  10276. /* [size_is][in] */ LPCOLESTR *rgpwszDestURLs,
  10277. /* [in] */ DWORD dwMoveFlags,
  10278. /* [in] */ IAuthenticate *pAuthenticate,
  10279. /* [size_is][out] */ DBSTATUS *rgdwStatus,
  10280. /* [size_is][size_is][out] */ DBBYTEOFFSET **prgulNewURLOffsets,
  10281. /* [out][in] */ ULONG *pcbStringsBuffer,
  10282. /* [size_is][size_is][unique][out][in] */ OLECHAR **ppStringsBuffer);
  10283. void __RPC_STUB IScopedOperations_RemoteMove_Stub(
  10284. IRpcStubBuffer *This,
  10285. IRpcChannelBuffer *_pRpcChannelBuffer,
  10286. PRPC_MESSAGE _pRpcMessage,
  10287. DWORD *_pdwStubPhase);
  10288. /* [call_as] */ HRESULT STDMETHODCALLTYPE IScopedOperations_RemoteDelete_Proxy(
  10289. IScopedOperations * This,
  10290. /* [in] */ DBCOUNTITEM cRows,
  10291. /* [size_is][in] */ LPCOLESTR *rgpwszURLs,
  10292. /* [in] */ DWORD dwDeleteFlags,
  10293. /* [size_is][out] */ DBSTATUS *rgdwStatus);
  10294. void __RPC_STUB IScopedOperations_RemoteDelete_Stub(
  10295. IRpcStubBuffer *This,
  10296. IRpcChannelBuffer *_pRpcChannelBuffer,
  10297. PRPC_MESSAGE _pRpcMessage,
  10298. DWORD *_pdwStubPhase);
  10299. /* [call_as] */ HRESULT STDMETHODCALLTYPE IScopedOperations_RemoteOpenRowset_Proxy(
  10300. IScopedOperations * This,
  10301. /* [in] */ IUnknown *pUnkOuter,
  10302. /* [unique][in] */ DBID *pTableID,
  10303. /* [unique][in] */ DBID *pIndexID,
  10304. /* [in] */ REFIID riid,
  10305. /* [in] */ ULONG cPropertySets,
  10306. /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  10307. /* [iid_is][unique][out][in] */ IUnknown **ppRowset,
  10308. /* [in] */ ULONG cTotalProps,
  10309. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus);
  10310. void __RPC_STUB IScopedOperations_RemoteOpenRowset_Stub(
  10311. IRpcStubBuffer *This,
  10312. IRpcChannelBuffer *_pRpcChannelBuffer,
  10313. PRPC_MESSAGE _pRpcMessage,
  10314. DWORD *_pdwStubPhase);
  10315. #endif /* __IScopedOperations_INTERFACE_DEFINED__ */
  10316. #ifndef __ICreateRow_INTERFACE_DEFINED__
  10317. #define __ICreateRow_INTERFACE_DEFINED__
  10318. /* interface ICreateRow */
  10319. /* [unique][uuid][object] */
  10320. EXTERN_C const IID IID_ICreateRow;
  10321. #if defined(__cplusplus) && !defined(CINTERFACE)
  10322. MIDL_INTERFACE("0c733ab2-2a1c-11ce-ade5-00aa0044773d")
  10323. ICreateRow : public IUnknown
  10324. {
  10325. public:
  10326. virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateRow(
  10327. /* [unique][in] */ IUnknown *pUnkOuter,
  10328. /* [in] */ LPCOLESTR pwszURL,
  10329. /* [in] */ DBBINDURLFLAG dwBindURLFlags,
  10330. /* [in] */ REFGUID rguid,
  10331. /* [in] */ REFIID riid,
  10332. /* [unique][in] */ IAuthenticate *pAuthenticate,
  10333. /* [unique][out][in] */ DBIMPLICITSESSION *pImplSession,
  10334. /* [unique][out][in] */ DBBINDURLSTATUS *pdwBindStatus,
  10335. /* [out] */ LPOLESTR *ppwszNewURL,
  10336. /* [iid_is][out] */ IUnknown **ppUnk) = 0;
  10337. };
  10338. #else /* C style interface */
  10339. typedef struct ICreateRowVtbl
  10340. {
  10341. BEGIN_INTERFACE
  10342. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10343. ICreateRow * This,
  10344. /* [in] */ REFIID riid,
  10345. /* [iid_is][out] */ void **ppvObject);
  10346. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10347. ICreateRow * This);
  10348. ULONG ( STDMETHODCALLTYPE *Release )(
  10349. ICreateRow * This);
  10350. /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateRow )(
  10351. ICreateRow * This,
  10352. /* [unique][in] */ IUnknown *pUnkOuter,
  10353. /* [in] */ LPCOLESTR pwszURL,
  10354. /* [in] */ DBBINDURLFLAG dwBindURLFlags,
  10355. /* [in] */ REFGUID rguid,
  10356. /* [in] */ REFIID riid,
  10357. /* [unique][in] */ IAuthenticate *pAuthenticate,
  10358. /* [unique][out][in] */ DBIMPLICITSESSION *pImplSession,
  10359. /* [unique][out][in] */ DBBINDURLSTATUS *pdwBindStatus,
  10360. /* [out] */ LPOLESTR *ppwszNewURL,
  10361. /* [iid_is][out] */ IUnknown **ppUnk);
  10362. END_INTERFACE
  10363. } ICreateRowVtbl;
  10364. interface ICreateRow
  10365. {
  10366. CONST_VTBL struct ICreateRowVtbl *lpVtbl;
  10367. };
  10368. #ifdef COBJMACROS
  10369. #define ICreateRow_QueryInterface(This,riid,ppvObject) \
  10370. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10371. #define ICreateRow_AddRef(This) \
  10372. (This)->lpVtbl -> AddRef(This)
  10373. #define ICreateRow_Release(This) \
  10374. (This)->lpVtbl -> Release(This)
  10375. #define ICreateRow_CreateRow(This,pUnkOuter,pwszURL,dwBindURLFlags,rguid,riid,pAuthenticate,pImplSession,pdwBindStatus,ppwszNewURL,ppUnk) \
  10376. (This)->lpVtbl -> CreateRow(This,pUnkOuter,pwszURL,dwBindURLFlags,rguid,riid,pAuthenticate,pImplSession,pdwBindStatus,ppwszNewURL,ppUnk)
  10377. #endif /* COBJMACROS */
  10378. #endif /* C style interface */
  10379. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICreateRow_RemoteCreateRow_Proxy(
  10380. ICreateRow * This,
  10381. /* [in] */ IUnknown *pUnkOuter,
  10382. /* [in] */ LPCOLESTR pwszURL,
  10383. /* [in] */ DBBINDURLFLAG dwBindURLFlags,
  10384. /* [in] */ REFGUID rguid,
  10385. /* [in] */ REFIID riid,
  10386. /* [in] */ IAuthenticate *pAuthenticate,
  10387. /* [in] */ IUnknown *pSessionUnkOuter,
  10388. /* [unique][in] */ IID *piid,
  10389. /* [iid_is][unique][out][in] */ IUnknown **ppSession,
  10390. /* [unique][out][in] */ DBBINDURLSTATUS *pdwBindStatus,
  10391. /* [unique][out][in] */ LPOLESTR *ppwszNewURL,
  10392. /* [iid_is][out] */ IUnknown **ppUnk);
  10393. void __RPC_STUB ICreateRow_RemoteCreateRow_Stub(
  10394. IRpcStubBuffer *This,
  10395. IRpcChannelBuffer *_pRpcChannelBuffer,
  10396. PRPC_MESSAGE _pRpcMessage,
  10397. DWORD *_pdwStubPhase);
  10398. #endif /* __ICreateRow_INTERFACE_DEFINED__ */
  10399. #ifndef __IDBBinderProperties_INTERFACE_DEFINED__
  10400. #define __IDBBinderProperties_INTERFACE_DEFINED__
  10401. /* interface IDBBinderProperties */
  10402. /* [unique][uuid][object] */
  10403. EXTERN_C const IID IID_IDBBinderProperties;
  10404. #if defined(__cplusplus) && !defined(CINTERFACE)
  10405. MIDL_INTERFACE("0c733ab3-2a1c-11ce-ade5-00aa0044773d")
  10406. IDBBinderProperties : public IDBProperties
  10407. {
  10408. public:
  10409. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  10410. };
  10411. #else /* C style interface */
  10412. typedef struct IDBBinderPropertiesVtbl
  10413. {
  10414. BEGIN_INTERFACE
  10415. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10416. IDBBinderProperties * This,
  10417. /* [in] */ REFIID riid,
  10418. /* [iid_is][out] */ void **ppvObject);
  10419. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10420. IDBBinderProperties * This);
  10421. ULONG ( STDMETHODCALLTYPE *Release )(
  10422. IDBBinderProperties * This);
  10423. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
  10424. IDBBinderProperties * This,
  10425. /* [in] */ ULONG cPropertyIDSets,
  10426. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  10427. /* [out][in] */ ULONG *pcPropertySets,
  10428. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets);
  10429. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetPropertyInfo )(
  10430. IDBBinderProperties * This,
  10431. /* [in] */ ULONG cPropertyIDSets,
  10432. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  10433. /* [out][in] */ ULONG *pcPropertyInfoSets,
  10434. /* [size_is][size_is][out] */ DBPROPINFOSET **prgPropertyInfoSets,
  10435. /* [out] */ OLECHAR **ppDescBuffer);
  10436. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetProperties )(
  10437. IDBBinderProperties * This,
  10438. /* [in] */ ULONG cPropertySets,
  10439. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ]);
  10440. HRESULT ( STDMETHODCALLTYPE *Reset )(
  10441. IDBBinderProperties * This);
  10442. END_INTERFACE
  10443. } IDBBinderPropertiesVtbl;
  10444. interface IDBBinderProperties
  10445. {
  10446. CONST_VTBL struct IDBBinderPropertiesVtbl *lpVtbl;
  10447. };
  10448. #ifdef COBJMACROS
  10449. #define IDBBinderProperties_QueryInterface(This,riid,ppvObject) \
  10450. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10451. #define IDBBinderProperties_AddRef(This) \
  10452. (This)->lpVtbl -> AddRef(This)
  10453. #define IDBBinderProperties_Release(This) \
  10454. (This)->lpVtbl -> Release(This)
  10455. #define IDBBinderProperties_GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets) \
  10456. (This)->lpVtbl -> GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  10457. #define IDBBinderProperties_GetPropertyInfo(This,cPropertyIDSets,rgPropertyIDSets,pcPropertyInfoSets,prgPropertyInfoSets,ppDescBuffer) \
  10458. (This)->lpVtbl -> GetPropertyInfo(This,cPropertyIDSets,rgPropertyIDSets,pcPropertyInfoSets,prgPropertyInfoSets,ppDescBuffer)
  10459. #define IDBBinderProperties_SetProperties(This,cPropertySets,rgPropertySets) \
  10460. (This)->lpVtbl -> SetProperties(This,cPropertySets,rgPropertySets)
  10461. #define IDBBinderProperties_Reset(This) \
  10462. (This)->lpVtbl -> Reset(This)
  10463. #endif /* COBJMACROS */
  10464. #endif /* C style interface */
  10465. HRESULT STDMETHODCALLTYPE IDBBinderProperties_Reset_Proxy(
  10466. IDBBinderProperties * This);
  10467. void __RPC_STUB IDBBinderProperties_Reset_Stub(
  10468. IRpcStubBuffer *This,
  10469. IRpcChannelBuffer *_pRpcChannelBuffer,
  10470. PRPC_MESSAGE _pRpcMessage,
  10471. DWORD *_pdwStubPhase);
  10472. #endif /* __IDBBinderProperties_INTERFACE_DEFINED__ */
  10473. #ifndef __IColumnsInfo2_INTERFACE_DEFINED__
  10474. #define __IColumnsInfo2_INTERFACE_DEFINED__
  10475. /* interface IColumnsInfo2 */
  10476. /* [unique][uuid][object] */
  10477. EXTERN_C const IID IID_IColumnsInfo2;
  10478. #if defined(__cplusplus) && !defined(CINTERFACE)
  10479. MIDL_INTERFACE("0c733ab8-2a1c-11ce-ade5-00aa0044773d")
  10480. IColumnsInfo2 : public IColumnsInfo
  10481. {
  10482. public:
  10483. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetRestrictedColumnInfo(
  10484. /* [in] */ DBORDINAL cColumnIDMasks,
  10485. /* [size_is][in] */ const DBID rgColumnIDMasks[ ],
  10486. /* [in] */ DWORD dwFlags,
  10487. /* [out][in] */ DBORDINAL *pcColumns,
  10488. /* [size_is][size_is][out] */ DBID **prgColumnIDs,
  10489. /* [size_is][size_is][out] */ DBCOLUMNINFO **prgColumnInfo,
  10490. /* [out] */ OLECHAR **ppStringsBuffer) = 0;
  10491. };
  10492. #else /* C style interface */
  10493. typedef struct IColumnsInfo2Vtbl
  10494. {
  10495. BEGIN_INTERFACE
  10496. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10497. IColumnsInfo2 * This,
  10498. /* [in] */ REFIID riid,
  10499. /* [iid_is][out] */ void **ppvObject);
  10500. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10501. IColumnsInfo2 * This);
  10502. ULONG ( STDMETHODCALLTYPE *Release )(
  10503. IColumnsInfo2 * This);
  10504. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetColumnInfo )(
  10505. IColumnsInfo2 * This,
  10506. /* [out][in] */ DBORDINAL *pcColumns,
  10507. /* [size_is][size_is][out] */ DBCOLUMNINFO **prgInfo,
  10508. /* [out] */ OLECHAR **ppStringsBuffer);
  10509. /* [local] */ HRESULT ( STDMETHODCALLTYPE *MapColumnIDs )(
  10510. IColumnsInfo2 * This,
  10511. /* [in] */ DBORDINAL cColumnIDs,
  10512. /* [size_is][in] */ const DBID rgColumnIDs[ ],
  10513. /* [size_is][out] */ DBORDINAL rgColumns[ ]);
  10514. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetRestrictedColumnInfo )(
  10515. IColumnsInfo2 * This,
  10516. /* [in] */ DBORDINAL cColumnIDMasks,
  10517. /* [size_is][in] */ const DBID rgColumnIDMasks[ ],
  10518. /* [in] */ DWORD dwFlags,
  10519. /* [out][in] */ DBORDINAL *pcColumns,
  10520. /* [size_is][size_is][out] */ DBID **prgColumnIDs,
  10521. /* [size_is][size_is][out] */ DBCOLUMNINFO **prgColumnInfo,
  10522. /* [out] */ OLECHAR **ppStringsBuffer);
  10523. END_INTERFACE
  10524. } IColumnsInfo2Vtbl;
  10525. interface IColumnsInfo2
  10526. {
  10527. CONST_VTBL struct IColumnsInfo2Vtbl *lpVtbl;
  10528. };
  10529. #ifdef COBJMACROS
  10530. #define IColumnsInfo2_QueryInterface(This,riid,ppvObject) \
  10531. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10532. #define IColumnsInfo2_AddRef(This) \
  10533. (This)->lpVtbl -> AddRef(This)
  10534. #define IColumnsInfo2_Release(This) \
  10535. (This)->lpVtbl -> Release(This)
  10536. #define IColumnsInfo2_GetColumnInfo(This,pcColumns,prgInfo,ppStringsBuffer) \
  10537. (This)->lpVtbl -> GetColumnInfo(This,pcColumns,prgInfo,ppStringsBuffer)
  10538. #define IColumnsInfo2_MapColumnIDs(This,cColumnIDs,rgColumnIDs,rgColumns) \
  10539. (This)->lpVtbl -> MapColumnIDs(This,cColumnIDs,rgColumnIDs,rgColumns)
  10540. #define IColumnsInfo2_GetRestrictedColumnInfo(This,cColumnIDMasks,rgColumnIDMasks,dwFlags,pcColumns,prgColumnIDs,prgColumnInfo,ppStringsBuffer) \
  10541. (This)->lpVtbl -> GetRestrictedColumnInfo(This,cColumnIDMasks,rgColumnIDMasks,dwFlags,pcColumns,prgColumnIDs,prgColumnInfo,ppStringsBuffer)
  10542. #endif /* COBJMACROS */
  10543. #endif /* C style interface */
  10544. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsInfo2_RemoteGetRestrictedColumnInfo_Proxy(
  10545. IColumnsInfo2 * This,
  10546. /* [in] */ DBORDINAL cColumnIDMasks,
  10547. /* [size_is][unique][in] */ const DBID *rgColumnIDMasks,
  10548. /* [in] */ DWORD dwFlags,
  10549. /* [out][in] */ DBORDINAL *pcColumns,
  10550. /* [size_is][size_is][unique][out][in] */ DBID **prgColumnIDs,
  10551. /* [size_is][size_is][unique][out][in] */ DBCOLUMNINFO **prgColumnInfo,
  10552. /* [size_is][size_is][out] */ DBBYTEOFFSET **prgNameOffsets,
  10553. /* [size_is][size_is][out] */ DBBYTEOFFSET **prgcolumnidOffsets,
  10554. /* [out][in] */ DBLENGTH *pcbStringsBuffer,
  10555. /* [size_is][size_is][unique][out][in] */ OLECHAR **ppStringsBuffer);
  10556. void __RPC_STUB IColumnsInfo2_RemoteGetRestrictedColumnInfo_Stub(
  10557. IRpcStubBuffer *This,
  10558. IRpcChannelBuffer *_pRpcChannelBuffer,
  10559. PRPC_MESSAGE _pRpcMessage,
  10560. DWORD *_pdwStubPhase);
  10561. #endif /* __IColumnsInfo2_INTERFACE_DEFINED__ */
  10562. #ifndef __IRegisterProvider_INTERFACE_DEFINED__
  10563. #define __IRegisterProvider_INTERFACE_DEFINED__
  10564. /* interface IRegisterProvider */
  10565. /* [unique][uuid][object] */
  10566. EXTERN_C const IID IID_IRegisterProvider;
  10567. #if defined(__cplusplus) && !defined(CINTERFACE)
  10568. MIDL_INTERFACE("0c733ab9-2a1c-11ce-ade5-00aa0044773d")
  10569. IRegisterProvider : public IUnknown
  10570. {
  10571. public:
  10572. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetURLMapping(
  10573. /* [in] */ LPCOLESTR pwszURL,
  10574. /* [in] */ DB_DWRESERVE dwReserved,
  10575. /* [out] */ CLSID *pclsidProvider) = 0;
  10576. virtual HRESULT STDMETHODCALLTYPE SetURLMapping(
  10577. /* [unique][in] */ LPCOLESTR pwszURL,
  10578. /* [in] */ DB_DWRESERVE dwReserved,
  10579. /* [unique][in] */ REFCLSID rclsidProvider) = 0;
  10580. virtual HRESULT STDMETHODCALLTYPE UnregisterProvider(
  10581. /* [unique][in] */ LPCOLESTR pwszURL,
  10582. /* [in] */ DB_DWRESERVE dwReserved,
  10583. /* [unique][in] */ REFCLSID rclsidProvider) = 0;
  10584. };
  10585. #else /* C style interface */
  10586. typedef struct IRegisterProviderVtbl
  10587. {
  10588. BEGIN_INTERFACE
  10589. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10590. IRegisterProvider * This,
  10591. /* [in] */ REFIID riid,
  10592. /* [iid_is][out] */ void **ppvObject);
  10593. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10594. IRegisterProvider * This);
  10595. ULONG ( STDMETHODCALLTYPE *Release )(
  10596. IRegisterProvider * This);
  10597. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetURLMapping )(
  10598. IRegisterProvider * This,
  10599. /* [in] */ LPCOLESTR pwszURL,
  10600. /* [in] */ DB_DWRESERVE dwReserved,
  10601. /* [out] */ CLSID *pclsidProvider);
  10602. HRESULT ( STDMETHODCALLTYPE *SetURLMapping )(
  10603. IRegisterProvider * This,
  10604. /* [unique][in] */ LPCOLESTR pwszURL,
  10605. /* [in] */ DB_DWRESERVE dwReserved,
  10606. /* [unique][in] */ REFCLSID rclsidProvider);
  10607. HRESULT ( STDMETHODCALLTYPE *UnregisterProvider )(
  10608. IRegisterProvider * This,
  10609. /* [unique][in] */ LPCOLESTR pwszURL,
  10610. /* [in] */ DB_DWRESERVE dwReserved,
  10611. /* [unique][in] */ REFCLSID rclsidProvider);
  10612. END_INTERFACE
  10613. } IRegisterProviderVtbl;
  10614. interface IRegisterProvider
  10615. {
  10616. CONST_VTBL struct IRegisterProviderVtbl *lpVtbl;
  10617. };
  10618. #ifdef COBJMACROS
  10619. #define IRegisterProvider_QueryInterface(This,riid,ppvObject) \
  10620. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10621. #define IRegisterProvider_AddRef(This) \
  10622. (This)->lpVtbl -> AddRef(This)
  10623. #define IRegisterProvider_Release(This) \
  10624. (This)->lpVtbl -> Release(This)
  10625. #define IRegisterProvider_GetURLMapping(This,pwszURL,dwReserved,pclsidProvider) \
  10626. (This)->lpVtbl -> GetURLMapping(This,pwszURL,dwReserved,pclsidProvider)
  10627. #define IRegisterProvider_SetURLMapping(This,pwszURL,dwReserved,rclsidProvider) \
  10628. (This)->lpVtbl -> SetURLMapping(This,pwszURL,dwReserved,rclsidProvider)
  10629. #define IRegisterProvider_UnregisterProvider(This,pwszURL,dwReserved,rclsidProvider) \
  10630. (This)->lpVtbl -> UnregisterProvider(This,pwszURL,dwReserved,rclsidProvider)
  10631. #endif /* COBJMACROS */
  10632. #endif /* C style interface */
  10633. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRegisterProvider_RemoteGetURLMapping_Proxy(
  10634. IRegisterProvider * This,
  10635. /* [in] */ LPCOLESTR pwszURL,
  10636. /* [in] */ DB_DWRESERVE dwReserved,
  10637. /* [out] */ CLSID *pclsidProvider);
  10638. void __RPC_STUB IRegisterProvider_RemoteGetURLMapping_Stub(
  10639. IRpcStubBuffer *This,
  10640. IRpcChannelBuffer *_pRpcChannelBuffer,
  10641. PRPC_MESSAGE _pRpcMessage,
  10642. DWORD *_pdwStubPhase);
  10643. HRESULT STDMETHODCALLTYPE IRegisterProvider_SetURLMapping_Proxy(
  10644. IRegisterProvider * This,
  10645. /* [unique][in] */ LPCOLESTR pwszURL,
  10646. /* [in] */ DB_DWRESERVE dwReserved,
  10647. /* [unique][in] */ REFCLSID rclsidProvider);
  10648. void __RPC_STUB IRegisterProvider_SetURLMapping_Stub(
  10649. IRpcStubBuffer *This,
  10650. IRpcChannelBuffer *_pRpcChannelBuffer,
  10651. PRPC_MESSAGE _pRpcMessage,
  10652. DWORD *_pdwStubPhase);
  10653. HRESULT STDMETHODCALLTYPE IRegisterProvider_UnregisterProvider_Proxy(
  10654. IRegisterProvider * This,
  10655. /* [unique][in] */ LPCOLESTR pwszURL,
  10656. /* [in] */ DB_DWRESERVE dwReserved,
  10657. /* [unique][in] */ REFCLSID rclsidProvider);
  10658. void __RPC_STUB IRegisterProvider_UnregisterProvider_Stub(
  10659. IRpcStubBuffer *This,
  10660. IRpcChannelBuffer *_pRpcChannelBuffer,
  10661. PRPC_MESSAGE _pRpcMessage,
  10662. DWORD *_pdwStubPhase);
  10663. #endif /* __IRegisterProvider_INTERFACE_DEFINED__ */
  10664. /* interface __MIDL_itf_oledb_0349 */
  10665. /* [local] */
  10666. #endif // UNDER_CE
  10667. extern RPC_IF_HANDLE __MIDL_itf_oledb_0349_v0_0_c_ifspec;
  10668. extern RPC_IF_HANDLE __MIDL_itf_oledb_0349_v0_0_s_ifspec;
  10669. #ifndef __IGetSession_INTERFACE_DEFINED__
  10670. #define __IGetSession_INTERFACE_DEFINED__
  10671. /* interface IGetSession */
  10672. /* [unique][uuid][object] */
  10673. EXTERN_C const IID IID_IGetSession;
  10674. #if defined(__cplusplus) && !defined(CINTERFACE)
  10675. MIDL_INTERFACE("0c733aba-2a1c-11ce-ade5-00aa0044773d")
  10676. IGetSession : public IUnknown
  10677. {
  10678. public:
  10679. virtual HRESULT STDMETHODCALLTYPE GetSession(
  10680. /* [in] */ REFIID riid,
  10681. /* [iid_is][out] */ IUnknown **ppSession) = 0;
  10682. };
  10683. #else /* C style interface */
  10684. typedef struct IGetSessionVtbl
  10685. {
  10686. BEGIN_INTERFACE
  10687. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10688. IGetSession * This,
  10689. /* [in] */ REFIID riid,
  10690. /* [iid_is][out] */ void **ppvObject);
  10691. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10692. IGetSession * This);
  10693. ULONG ( STDMETHODCALLTYPE *Release )(
  10694. IGetSession * This);
  10695. HRESULT ( STDMETHODCALLTYPE *GetSession )(
  10696. IGetSession * This,
  10697. /* [in] */ REFIID riid,
  10698. /* [iid_is][out] */ IUnknown **ppSession);
  10699. END_INTERFACE
  10700. } IGetSessionVtbl;
  10701. interface IGetSession
  10702. {
  10703. CONST_VTBL struct IGetSessionVtbl *lpVtbl;
  10704. };
  10705. #ifdef COBJMACROS
  10706. #define IGetSession_QueryInterface(This,riid,ppvObject) \
  10707. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10708. #define IGetSession_AddRef(This) \
  10709. (This)->lpVtbl -> AddRef(This)
  10710. #define IGetSession_Release(This) \
  10711. (This)->lpVtbl -> Release(This)
  10712. #define IGetSession_GetSession(This,riid,ppSession) \
  10713. (This)->lpVtbl -> GetSession(This,riid,ppSession)
  10714. #endif /* COBJMACROS */
  10715. #endif /* C style interface */
  10716. HRESULT STDMETHODCALLTYPE IGetSession_GetSession_Proxy(
  10717. IGetSession * This,
  10718. /* [in] */ REFIID riid,
  10719. /* [iid_is][out] */ IUnknown **ppSession);
  10720. void __RPC_STUB IGetSession_GetSession_Stub(
  10721. IRpcStubBuffer *This,
  10722. IRpcChannelBuffer *_pRpcChannelBuffer,
  10723. PRPC_MESSAGE _pRpcMessage,
  10724. DWORD *_pdwStubPhase);
  10725. #endif /* __IGetSession_INTERFACE_DEFINED__ */
  10726. #ifndef __IGetSourceRow_INTERFACE_DEFINED__
  10727. #define __IGetSourceRow_INTERFACE_DEFINED__
  10728. /* interface IGetSourceRow */
  10729. /* [unique][uuid][object] */
  10730. EXTERN_C const IID IID_IGetSourceRow;
  10731. #if defined(__cplusplus) && !defined(CINTERFACE)
  10732. MIDL_INTERFACE("0c733abb-2a1c-11ce-ade5-00aa0044773d")
  10733. IGetSourceRow : public IUnknown
  10734. {
  10735. public:
  10736. virtual HRESULT STDMETHODCALLTYPE GetSourceRow(
  10737. /* [in] */ REFIID riid,
  10738. /* [iid_is][out] */ IUnknown **ppRow) = 0;
  10739. };
  10740. #else /* C style interface */
  10741. typedef struct IGetSourceRowVtbl
  10742. {
  10743. BEGIN_INTERFACE
  10744. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10745. IGetSourceRow * This,
  10746. /* [in] */ REFIID riid,
  10747. /* [iid_is][out] */ void **ppvObject);
  10748. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10749. IGetSourceRow * This);
  10750. ULONG ( STDMETHODCALLTYPE *Release )(
  10751. IGetSourceRow * This);
  10752. HRESULT ( STDMETHODCALLTYPE *GetSourceRow )(
  10753. IGetSourceRow * This,
  10754. /* [in] */ REFIID riid,
  10755. /* [iid_is][out] */ IUnknown **ppRow);
  10756. END_INTERFACE
  10757. } IGetSourceRowVtbl;
  10758. interface IGetSourceRow
  10759. {
  10760. CONST_VTBL struct IGetSourceRowVtbl *lpVtbl;
  10761. };
  10762. #ifdef COBJMACROS
  10763. #define IGetSourceRow_QueryInterface(This,riid,ppvObject) \
  10764. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10765. #define IGetSourceRow_AddRef(This) \
  10766. (This)->lpVtbl -> AddRef(This)
  10767. #define IGetSourceRow_Release(This) \
  10768. (This)->lpVtbl -> Release(This)
  10769. #define IGetSourceRow_GetSourceRow(This,riid,ppRow) \
  10770. (This)->lpVtbl -> GetSourceRow(This,riid,ppRow)
  10771. #endif /* COBJMACROS */
  10772. #endif /* C style interface */
  10773. HRESULT STDMETHODCALLTYPE IGetSourceRow_GetSourceRow_Proxy(
  10774. IGetSourceRow * This,
  10775. /* [in] */ REFIID riid,
  10776. /* [iid_is][out] */ IUnknown **ppRow);
  10777. void __RPC_STUB IGetSourceRow_GetSourceRow_Stub(
  10778. IRpcStubBuffer *This,
  10779. IRpcChannelBuffer *_pRpcChannelBuffer,
  10780. PRPC_MESSAGE _pRpcMessage,
  10781. DWORD *_pdwStubPhase);
  10782. #endif /* __IGetSourceRow_INTERFACE_DEFINED__ */
  10783. #ifndef __IRowsetCurrentIndex_INTERFACE_DEFINED__
  10784. #define __IRowsetCurrentIndex_INTERFACE_DEFINED__
  10785. /* interface IRowsetCurrentIndex */
  10786. /* [unique][uuid][object][local] */
  10787. EXTERN_C const IID IID_IRowsetCurrentIndex;
  10788. #if defined(__cplusplus) && !defined(CINTERFACE)
  10789. MIDL_INTERFACE("0c733abd-2a1c-11ce-ade5-00aa0044773d")
  10790. IRowsetCurrentIndex : public IRowsetIndex
  10791. {
  10792. public:
  10793. virtual HRESULT STDMETHODCALLTYPE GetIndex(
  10794. /* [out] */ DBID **ppIndexID) = 0;
  10795. virtual HRESULT STDMETHODCALLTYPE SetIndex(
  10796. /* [in] */ DBID *pIndexID) = 0;
  10797. };
  10798. #else /* C style interface */
  10799. typedef struct IRowsetCurrentIndexVtbl
  10800. {
  10801. BEGIN_INTERFACE
  10802. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10803. IRowsetCurrentIndex * This,
  10804. /* [in] */ REFIID riid,
  10805. /* [iid_is][out] */ void **ppvObject);
  10806. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10807. IRowsetCurrentIndex * This);
  10808. ULONG ( STDMETHODCALLTYPE *Release )(
  10809. IRowsetCurrentIndex * This);
  10810. HRESULT ( STDMETHODCALLTYPE *GetIndexInfo )(
  10811. IRowsetCurrentIndex * This,
  10812. /* [out][in] */ DBORDINAL *pcKeyColumns,
  10813. /* [size_is][size_is][out] */ DBINDEXCOLUMNDESC **prgIndexColumnDesc,
  10814. /* [out][in] */ ULONG *pcIndexPropertySets,
  10815. /* [size_is][size_is][out] */ DBPROPSET **prgIndexPropertySets);
  10816. HRESULT ( STDMETHODCALLTYPE *Seek )(
  10817. IRowsetCurrentIndex * This,
  10818. /* [in] */ HACCESSOR hAccessor,
  10819. /* [in] */ DBORDINAL cKeyValues,
  10820. /* [in] */ void *pData,
  10821. /* [in] */ DBSEEK dwSeekOptions);
  10822. HRESULT ( STDMETHODCALLTYPE *SetRange )(
  10823. IRowsetCurrentIndex * This,
  10824. /* [in] */ HACCESSOR hAccessor,
  10825. /* [in] */ DBORDINAL cStartKeyColumns,
  10826. /* [in] */ void *pStartData,
  10827. /* [in] */ DBORDINAL cEndKeyColumns,
  10828. /* [in] */ void *pEndData,
  10829. /* [in] */ DBRANGE dwRangeOptions);
  10830. HRESULT ( STDMETHODCALLTYPE *GetIndex )(
  10831. IRowsetCurrentIndex * This,
  10832. /* [out] */ DBID **ppIndexID);
  10833. HRESULT ( STDMETHODCALLTYPE *SetIndex )(
  10834. IRowsetCurrentIndex * This,
  10835. /* [in] */ DBID *pIndexID);
  10836. END_INTERFACE
  10837. } IRowsetCurrentIndexVtbl;
  10838. interface IRowsetCurrentIndex
  10839. {
  10840. CONST_VTBL struct IRowsetCurrentIndexVtbl *lpVtbl;
  10841. };
  10842. #ifdef COBJMACROS
  10843. #define IRowsetCurrentIndex_QueryInterface(This,riid,ppvObject) \
  10844. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10845. #define IRowsetCurrentIndex_AddRef(This) \
  10846. (This)->lpVtbl -> AddRef(This)
  10847. #define IRowsetCurrentIndex_Release(This) \
  10848. (This)->lpVtbl -> Release(This)
  10849. #define IRowsetCurrentIndex_GetIndexInfo(This,pcKeyColumns,prgIndexColumnDesc,pcIndexPropertySets,prgIndexPropertySets) \
  10850. (This)->lpVtbl -> GetIndexInfo(This,pcKeyColumns,prgIndexColumnDesc,pcIndexPropertySets,prgIndexPropertySets)
  10851. #define IRowsetCurrentIndex_Seek(This,hAccessor,cKeyValues,pData,dwSeekOptions) \
  10852. (This)->lpVtbl -> Seek(This,hAccessor,cKeyValues,pData,dwSeekOptions)
  10853. #define IRowsetCurrentIndex_SetRange(This,hAccessor,cStartKeyColumns,pStartData,cEndKeyColumns,pEndData,dwRangeOptions) \
  10854. (This)->lpVtbl -> SetRange(This,hAccessor,cStartKeyColumns,pStartData,cEndKeyColumns,pEndData,dwRangeOptions)
  10855. #define IRowsetCurrentIndex_GetIndex(This,ppIndexID) \
  10856. (This)->lpVtbl -> GetIndex(This,ppIndexID)
  10857. #define IRowsetCurrentIndex_SetIndex(This,pIndexID) \
  10858. (This)->lpVtbl -> SetIndex(This,pIndexID)
  10859. #endif /* COBJMACROS */
  10860. #endif /* C style interface */
  10861. HRESULT STDMETHODCALLTYPE IRowsetCurrentIndex_GetIndex_Proxy(
  10862. IRowsetCurrentIndex * This,
  10863. /* [out] */ DBID **ppIndexID);
  10864. void __RPC_STUB IRowsetCurrentIndex_GetIndex_Stub(
  10865. IRpcStubBuffer *This,
  10866. IRpcChannelBuffer *_pRpcChannelBuffer,
  10867. PRPC_MESSAGE _pRpcMessage,
  10868. DWORD *_pdwStubPhase);
  10869. HRESULT STDMETHODCALLTYPE IRowsetCurrentIndex_SetIndex_Proxy(
  10870. IRowsetCurrentIndex * This,
  10871. /* [in] */ DBID *pIndexID);
  10872. void __RPC_STUB IRowsetCurrentIndex_SetIndex_Stub(
  10873. IRpcStubBuffer *This,
  10874. IRpcChannelBuffer *_pRpcChannelBuffer,
  10875. PRPC_MESSAGE _pRpcMessage,
  10876. DWORD *_pdwStubPhase);
  10877. #endif /* __IRowsetCurrentIndex_INTERFACE_DEFINED__ */
  10878. /* interface __MIDL_itf_oledb_0353 */
  10879. /* [local] */
  10880. #endif // OLEDBVER >= 0x0210
  10881. //@@@- V2.1
  10882. //@@@+ V2.6
  10883. #if( OLEDBVER >= 0x0260 )
  10884. extern RPC_IF_HANDLE __MIDL_itf_oledb_0353_v0_0_c_ifspec;
  10885. extern RPC_IF_HANDLE __MIDL_itf_oledb_0353_v0_0_s_ifspec;
  10886. #ifndef __ICommandStream_INTERFACE_DEFINED__
  10887. #define __ICommandStream_INTERFACE_DEFINED__
  10888. /* interface ICommandStream */
  10889. /* [unique][uuid][object][local] */
  10890. EXTERN_C const IID IID_ICommandStream;
  10891. #if defined(__cplusplus) && !defined(CINTERFACE)
  10892. MIDL_INTERFACE("0c733abf-2a1c-11ce-ade5-00aa0044773d")
  10893. ICommandStream : public IUnknown
  10894. {
  10895. public:
  10896. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetCommandStream(
  10897. /* [out] */ IID *piid,
  10898. /* [out][in] */ GUID *pguidDialect,
  10899. /* [iid_is][out] */ IUnknown **ppCommandStream) = 0;
  10900. virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetCommandStream(
  10901. /* [in] */ REFIID riid,
  10902. /* [in] */ REFGUID rguidDialect,
  10903. /* [iid_is][in] */ IUnknown *pCommandStream) = 0;
  10904. };
  10905. #else /* C style interface */
  10906. typedef struct ICommandStreamVtbl
  10907. {
  10908. BEGIN_INTERFACE
  10909. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10910. ICommandStream * This,
  10911. /* [in] */ REFIID riid,
  10912. /* [iid_is][out] */ void **ppvObject);
  10913. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10914. ICommandStream * This);
  10915. ULONG ( STDMETHODCALLTYPE *Release )(
  10916. ICommandStream * This);
  10917. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetCommandStream )(
  10918. ICommandStream * This,
  10919. /* [out] */ IID *piid,
  10920. /* [out][in] */ GUID *pguidDialect,
  10921. /* [iid_is][out] */ IUnknown **ppCommandStream);
  10922. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetCommandStream )(
  10923. ICommandStream * This,
  10924. /* [in] */ REFIID riid,
  10925. /* [in] */ REFGUID rguidDialect,
  10926. /* [iid_is][in] */ IUnknown *pCommandStream);
  10927. END_INTERFACE
  10928. } ICommandStreamVtbl;
  10929. interface ICommandStream
  10930. {
  10931. CONST_VTBL struct ICommandStreamVtbl *lpVtbl;
  10932. };
  10933. #ifdef COBJMACROS
  10934. #define ICommandStream_QueryInterface(This,riid,ppvObject) \
  10935. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10936. #define ICommandStream_AddRef(This) \
  10937. (This)->lpVtbl -> AddRef(This)
  10938. #define ICommandStream_Release(This) \
  10939. (This)->lpVtbl -> Release(This)
  10940. #define ICommandStream_GetCommandStream(This,piid,pguidDialect,ppCommandStream) \
  10941. (This)->lpVtbl -> GetCommandStream(This,piid,pguidDialect,ppCommandStream)
  10942. #define ICommandStream_SetCommandStream(This,riid,rguidDialect,pCommandStream) \
  10943. (This)->lpVtbl -> SetCommandStream(This,riid,rguidDialect,pCommandStream)
  10944. #endif /* COBJMACROS */
  10945. #endif /* C style interface */
  10946. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandStream_GetCommandStream_Proxy(
  10947. ICommandStream * This,
  10948. /* [out] */ IID *piid,
  10949. /* [out][in] */ GUID *pguidDialect,
  10950. /* [iid_is][out] */ IUnknown **ppCommandStream);
  10951. void __RPC_STUB ICommandStream_GetCommandStream_Stub(
  10952. IRpcStubBuffer *This,
  10953. IRpcChannelBuffer *_pRpcChannelBuffer,
  10954. PRPC_MESSAGE _pRpcMessage,
  10955. DWORD *_pdwStubPhase);
  10956. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandStream_SetCommandStream_Proxy(
  10957. ICommandStream * This,
  10958. /* [in] */ REFIID riid,
  10959. /* [in] */ REFGUID rguidDialect,
  10960. /* [iid_is][in] */ IUnknown *pCommandStream);
  10961. void __RPC_STUB ICommandStream_SetCommandStream_Stub(
  10962. IRpcStubBuffer *This,
  10963. IRpcChannelBuffer *_pRpcChannelBuffer,
  10964. PRPC_MESSAGE _pRpcMessage,
  10965. DWORD *_pdwStubPhase);
  10966. #endif /* __ICommandStream_INTERFACE_DEFINED__ */
  10967. #ifndef __IRowsetBookmark_INTERFACE_DEFINED__
  10968. #define __IRowsetBookmark_INTERFACE_DEFINED__
  10969. /* interface IRowsetBookmark */
  10970. /* [unique][uuid][object] */
  10971. EXTERN_C const IID IID_IRowsetBookmark;
  10972. #if defined(__cplusplus) && !defined(CINTERFACE)
  10973. MIDL_INTERFACE("0c733ac2-2a1c-11ce-ade5-00aa0044773d")
  10974. IRowsetBookmark : public IUnknown
  10975. {
  10976. public:
  10977. virtual /* [local] */ HRESULT STDMETHODCALLTYPE PositionOnBookmark(
  10978. /* [in] */ HCHAPTER hChapter,
  10979. /* [in] */ DBBKMARK cbBookmark,
  10980. /* [size_is][in] */ const BYTE *pBookmark) = 0;
  10981. };
  10982. #else /* C style interface */
  10983. typedef struct IRowsetBookmarkVtbl
  10984. {
  10985. BEGIN_INTERFACE
  10986. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10987. IRowsetBookmark * This,
  10988. /* [in] */ REFIID riid,
  10989. /* [iid_is][out] */ void **ppvObject);
  10990. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10991. IRowsetBookmark * This);
  10992. ULONG ( STDMETHODCALLTYPE *Release )(
  10993. IRowsetBookmark * This);
  10994. /* [local] */ HRESULT ( STDMETHODCALLTYPE *PositionOnBookmark )(
  10995. IRowsetBookmark * This,
  10996. /* [in] */ HCHAPTER hChapter,
  10997. /* [in] */ DBBKMARK cbBookmark,
  10998. /* [size_is][in] */ const BYTE *pBookmark);
  10999. END_INTERFACE
  11000. } IRowsetBookmarkVtbl;
  11001. interface IRowsetBookmark
  11002. {
  11003. CONST_VTBL struct IRowsetBookmarkVtbl *lpVtbl;
  11004. };
  11005. #ifdef COBJMACROS
  11006. #define IRowsetBookmark_QueryInterface(This,riid,ppvObject) \
  11007. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11008. #define IRowsetBookmark_AddRef(This) \
  11009. (This)->lpVtbl -> AddRef(This)
  11010. #define IRowsetBookmark_Release(This) \
  11011. (This)->lpVtbl -> Release(This)
  11012. #define IRowsetBookmark_PositionOnBookmark(This,hChapter,cbBookmark,pBookmark) \
  11013. (This)->lpVtbl -> PositionOnBookmark(This,hChapter,cbBookmark,pBookmark)
  11014. #endif /* COBJMACROS */
  11015. #endif /* C style interface */
  11016. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetBookmark_PositionOnBookmark_Proxy(
  11017. IRowsetBookmark * This,
  11018. /* [in] */ HCHAPTER hChapter,
  11019. /* [in] */ DBBKMARK cbBookmark,
  11020. /* [size_is][in] */ const BYTE *pBookmark);
  11021. void __RPC_STUB IRowsetBookmark_PositionOnBookmark_Stub(
  11022. IRpcStubBuffer *This,
  11023. IRpcChannelBuffer *_pRpcChannelBuffer,
  11024. PRPC_MESSAGE _pRpcMessage,
  11025. DWORD *_pdwStubPhase);
  11026. #endif /* __IRowsetBookmark_INTERFACE_DEFINED__ */
  11027. /* interface __MIDL_itf_oledb_0355 */
  11028. /* [local] */
  11029. #endif // OLEDBVER >= 0x0260
  11030. //@@@- V2.6
  11031. //
  11032. // IID values
  11033. //
  11034. // IID_IAccessor = {0x0c733a8c,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11035. // IID_IRowset = {0x0c733a7c,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11036. // IID_IRowsetInfo = {0x0c733a55,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11037. // IID_IRowsetLocate = {0x0c733a7d,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11038. // IID_IRowsetResynch = {0x0c733a84,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11039. // IID_IRowsetScroll = {0x0c733a7e,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11040. // IID_IRowsetChange = {0x0c733a05,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11041. // IID_IRowsetUpdate = {0x0c733a6d,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11042. // IID_IRowsetIdentity = {0x0c733a09,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11043. // IID_IRowsetNotify = {0x0c733a83,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11044. // IID_IRowsetIndex = {0x0c733a82,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11045. // IID_ICommand = {0x0c733a63,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11046. // IID_IMultipleResults = {0x0c733a90,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11047. // IID_IConvertType = {0x0c733a88,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11048. // IID_ICommandPrepare = {0x0c733a26,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11049. // IID_ICommandProperties = {0x0c733a79,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11050. // IID_ICommandText = {0x0c733a27,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11051. // IID_ICommandWithParameters = {0x0c733a64,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11052. // IID_IColumnsRowset = {0x0c733a10,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11053. // IID_IColumnsInfo = {0x0c733a11,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11054. // IID_IDBCreateCommand = {0x0c733a1d,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11055. // IID_IDBCreateSession = {0x0c733a5d,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11056. // IID_ISourcesRowset = {0x0c733a1e,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11057. // IID_IDBProperties = {0x0c733a8a,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11058. // IID_IDBInitialize = {0x0c733a8b,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11059. // IID_IDBInfo = {0x0c733a89,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11060. // IID_IDBDataSourceAdmin = {0x0c733a7a,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11061. // IID_ISessionProperties = {0x0c733a85,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11062. // IID_IIndexDefinition = {0x0c733a68,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11063. // IID_ITableDefinition = {0x0c733a86,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11064. // IID_IOpenRowset = {0x0c733a69,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11065. // IID_IDBSchemaRowset = {0x0c733a7b,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11066. // IID_IErrorRecords = {0x0c733a67,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11067. // IID_IErrorLookup = {0x0c733a66,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11068. // IID_ISQLErrorInfo = {0x0c733a74,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11069. // IID_IGetDataSource = {0x0c733a75,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11070. // IID_ITransactionLocal = {0x0c733a5f,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11071. // IID_ITransactionJoin = {0x0c733a5e,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11072. // IID_ITransactionObject = {0x0c733a60,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11073. //@@@+ V1.5
  11074. #if( OLEDBVER >= 0x0150 )
  11075. //IID_IChapteredRowset = {0x0c733a93,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11076. //IID_IDBAsynchNotify = {0x0c733a96,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11077. //IID_IDBAsynchStatus = {0x0c733a95,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11078. //IID_IRowsetFind = {0x0c733a9d,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11079. //IID_IRowPosition = {0x0c733a94,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11080. //IID_IRowPositionChange = {0x0997a571,0x126e,0x11d0,{0x9f,0x8a,0x00,0xa0,0xc9,0xa0,0x63,0x1e}}
  11081. //IID_IViewRowset = {0x0c733a97,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11082. //IID_IViewChapter = {0x0c733a98,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11083. //IID_IViewSort = {0x0c733a9a,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11084. //IID_IViewFilter = {0x0c733a9b,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11085. //IID_IRowsetView = {0x0c733a99,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11086. #endif // OLEDBVER >= 0x0150
  11087. //@@@- V1.5
  11088. //@@@+ V2.0
  11089. #if( OLEDBVER >= 0x0200 )
  11090. // IID_IMDDataset = {0xa07cccd1,0x8148,0x11d0,{0x87,0xbb,0x00,0xc0,0x4f,0xc3,0x39,0x42}}
  11091. // IID_IMDFind = {0xa07cccd2,0x8148,0x11d0,{0x87,0xbb,0x00,0xc0,0x4f,0xc3,0x39,0x42}}
  11092. // IID_IMDRangeRowset = {0x0c733aa0,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11093. // IID_IAlterTable = {0x0c733aa5,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11094. // IID_IAlterIndex = {0x0c733aa6,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11095. // IID_ICommandPersist = {0x0c733aa7,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11096. // IID_IRowsetChapterMember = {0x0c733aa8,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11097. // IID_IRowsetRefresh = {0x0c733aa9,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11098. // IID_IParentRowset = {0x0c733aaa,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11099. #endif // OLEDBVER >= 0x0200
  11100. //@@@- V2.0
  11101. //@@@+ V2.1
  11102. #if( OLEDBVER >= 0x0210 )
  11103. // IID_ITrusteeAdmin = {0c733aa1,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11104. // IID_ITrusteeGroupAdmin = {0c733aa2,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11105. // IID_IObjectAccessControl = {0c733aa3,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11106. // IID_ISecurityInfo = {0c733aa4,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11107. // IID_IRow = {0c733ab4,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11108. // IID_IRowChange = {0c733ab5,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11109. // IID_IRowSchemaChange = {0c733aae,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11110. // IID_IGetRow = {0c733aaf,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11111. // IID_IScopedOperations = {0c733ab0,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11112. // IID_IBindResource = {0c733ab1,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11113. // IID_ICreateRow = {0c733ab2,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11114. // IID_IDBResetProperties = {0c733ab3,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11115. // IID_IColumnsInfo2 = {0c733ab8,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11116. // IID_IRegisterProvider = {0c733ab9,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11117. // IID_IGetSession = {0c733aba,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11118. // IID_IGetSourceRow = {0c733abb,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11119. // IID_ITableCreation = {0c733abc,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11120. // IID_IRowsetCurrentIndex = {0c733abd,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11121. #endif // OLEDBVER >= 0x0210
  11122. //@@@- V2.1
  11123. //@@@+ V2.6
  11124. #if( OLEDBVER >= 0x0260 )
  11125. // IID_ICommandStream = {0x0c733ac0,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11126. // IID_IRowsetBookmark = {0x0c733ac2,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  11127. #endif // OLEDBVER >= 0x0260
  11128. //@@@- V2.6
  11129. #include <poppack.h> // restore original structure packing
  11130. extern RPC_IF_HANDLE __MIDL_itf_oledb_0355_v0_0_c_ifspec;
  11131. extern RPC_IF_HANDLE __MIDL_itf_oledb_0355_v0_0_s_ifspec;
  11132. #ifdef OLEDBPROXY
  11133. /* Additional Prototypes for ALL interfaces */
  11134. unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
  11135. unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
  11136. unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
  11137. void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
  11138. unsigned long __RPC_USER LPSAFEARRAY_UserSize( unsigned long *, unsigned long , LPSAFEARRAY * );
  11139. unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal( unsigned long *, unsigned char *, LPSAFEARRAY * );
  11140. unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY * );
  11141. void __RPC_USER LPSAFEARRAY_UserFree( unsigned long *, LPSAFEARRAY * );
  11142. unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * );
  11143. unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * );
  11144. unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );
  11145. void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * );
  11146. /* [local] */ HRESULT STDMETHODCALLTYPE IAccessor_AddRefAccessor_Proxy(
  11147. IAccessor * This,
  11148. /* [in] */ HACCESSOR hAccessor,
  11149. /* [unique][out][in] */ DBREFCOUNT *pcRefCount);
  11150. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_AddRefAccessor_Stub(
  11151. IAccessor * This,
  11152. /* [in] */ HACCESSOR hAccessor,
  11153. /* [unique][out][in] */ DBREFCOUNT *pcRefCount,
  11154. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11155. /* [local] */ HRESULT STDMETHODCALLTYPE IAccessor_CreateAccessor_Proxy(
  11156. IAccessor * This,
  11157. /* [in] */ DBACCESSORFLAGS dwAccessorFlags,
  11158. /* [in] */ DBCOUNTITEM cBindings,
  11159. /* [size_is][in] */ const DBBINDING rgBindings[ ],
  11160. /* [in] */ DBLENGTH cbRowSize,
  11161. /* [out] */ HACCESSOR *phAccessor,
  11162. /* [size_is][out] */ DBBINDSTATUS rgStatus[ ]);
  11163. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_CreateAccessor_Stub(
  11164. IAccessor * This,
  11165. /* [in] */ DBACCESSORFLAGS dwAccessorFlags,
  11166. /* [in] */ DBCOUNTITEM cBindings,
  11167. /* [size_is][unique][in] */ DBBINDING *rgBindings,
  11168. /* [in] */ DBLENGTH cbRowSize,
  11169. /* [out] */ HACCESSOR *phAccessor,
  11170. /* [size_is][unique][out][in] */ DBBINDSTATUS *rgStatus,
  11171. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11172. /* [local] */ HRESULT STDMETHODCALLTYPE IAccessor_GetBindings_Proxy(
  11173. IAccessor * This,
  11174. /* [in] */ HACCESSOR hAccessor,
  11175. /* [out] */ DBACCESSORFLAGS *pdwAccessorFlags,
  11176. /* [out][in] */ DBCOUNTITEM *pcBindings,
  11177. /* [size_is][size_is][out] */ DBBINDING **prgBindings);
  11178. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_GetBindings_Stub(
  11179. IAccessor * This,
  11180. /* [in] */ HACCESSOR hAccessor,
  11181. /* [out] */ DBACCESSORFLAGS *pdwAccessorFlags,
  11182. /* [out][in] */ DBCOUNTITEM *pcBindings,
  11183. /* [size_is][size_is][out] */ DBBINDING **prgBindings,
  11184. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11185. /* [local] */ HRESULT STDMETHODCALLTYPE IAccessor_ReleaseAccessor_Proxy(
  11186. IAccessor * This,
  11187. /* [in] */ HACCESSOR hAccessor,
  11188. /* [unique][out][in] */ DBREFCOUNT *pcRefCount);
  11189. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_ReleaseAccessor_Stub(
  11190. IAccessor * This,
  11191. /* [in] */ HACCESSOR hAccessor,
  11192. /* [unique][out][in] */ DBREFCOUNT *pcRefCount,
  11193. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11194. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_GetProperties_Proxy(
  11195. IRowsetInfo * This,
  11196. /* [in] */ const ULONG cPropertyIDSets,
  11197. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  11198. /* [out][in] */ ULONG *pcPropertySets,
  11199. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets);
  11200. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_GetProperties_Stub(
  11201. IRowsetInfo * This,
  11202. /* [in] */ ULONG cPropertyIDSets,
  11203. /* [size_is][unique][in] */ const DBPROPIDSET *rgPropertyIDSets,
  11204. /* [out][in] */ ULONG *pcPropertySets,
  11205. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets,
  11206. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11207. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_GetReferencedRowset_Proxy(
  11208. IRowsetInfo * This,
  11209. /* [in] */ DBORDINAL iOrdinal,
  11210. /* [in] */ REFIID riid,
  11211. /* [iid_is][out] */ IUnknown **ppReferencedRowset);
  11212. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_GetReferencedRowset_Stub(
  11213. IRowsetInfo * This,
  11214. /* [in] */ DBORDINAL iOrdinal,
  11215. /* [in] */ REFIID riid,
  11216. /* [iid_is][out] */ IUnknown **ppReferencedRowset,
  11217. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11218. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_GetSpecification_Proxy(
  11219. IRowsetInfo * This,
  11220. /* [in] */ REFIID riid,
  11221. /* [iid_is][out] */ IUnknown **ppSpecification);
  11222. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_GetSpecification_Stub(
  11223. IRowsetInfo * This,
  11224. /* [in] */ REFIID riid,
  11225. /* [iid_is][out] */ IUnknown **ppSpecification,
  11226. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11227. /* [local] */ HRESULT STDMETHODCALLTYPE IChapteredRowset_AddRefChapter_Proxy(
  11228. IChapteredRowset * This,
  11229. /* [in] */ HCHAPTER hChapter,
  11230. /* [out] */ DBREFCOUNT *pcRefCount);
  11231. /* [call_as] */ HRESULT STDMETHODCALLTYPE IChapteredRowset_AddRefChapter_Stub(
  11232. IChapteredRowset * This,
  11233. /* [in] */ HCHAPTER hChapter,
  11234. /* [out] */ DBREFCOUNT *pcRefCount,
  11235. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11236. /* [local] */ HRESULT STDMETHODCALLTYPE IChapteredRowset_ReleaseChapter_Proxy(
  11237. IChapteredRowset * This,
  11238. /* [in] */ HCHAPTER hChapter,
  11239. /* [out] */ DBREFCOUNT *pcRefCount);
  11240. /* [call_as] */ HRESULT STDMETHODCALLTYPE IChapteredRowset_ReleaseChapter_Stub(
  11241. IChapteredRowset * This,
  11242. /* [in] */ HCHAPTER hChapter,
  11243. /* [out] */ DBREFCOUNT *pcRefCount,
  11244. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11245. /* [local] */ HRESULT STDMETHODCALLTYPE IRowPosition_ClearRowPosition_Proxy(
  11246. IRowPosition * This);
  11247. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_ClearRowPosition_Stub(
  11248. IRowPosition * This,
  11249. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11250. /* [local] */ HRESULT STDMETHODCALLTYPE IRowPosition_GetRowPosition_Proxy(
  11251. IRowPosition * This,
  11252. /* [out] */ HCHAPTER *phChapter,
  11253. /* [out] */ HROW *phRow,
  11254. /* [out] */ DBPOSITIONFLAGS *pdwPositionFlags);
  11255. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_GetRowPosition_Stub(
  11256. IRowPosition * This,
  11257. /* [out] */ HCHAPTER *phChapter,
  11258. /* [out] */ HROW *phRow,
  11259. /* [out] */ DBPOSITIONFLAGS *pdwPositionFlags,
  11260. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11261. /* [local] */ HRESULT STDMETHODCALLTYPE IRowPosition_GetRowset_Proxy(
  11262. IRowPosition * This,
  11263. /* [in] */ REFIID riid,
  11264. /* [iid_is][out] */ IUnknown **ppRowset);
  11265. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_GetRowset_Stub(
  11266. IRowPosition * This,
  11267. /* [in] */ REFIID riid,
  11268. /* [iid_is][out] */ IUnknown **ppRowset,
  11269. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11270. /* [local] */ HRESULT STDMETHODCALLTYPE IRowPosition_Initialize_Proxy(
  11271. IRowPosition * This,
  11272. /* [in] */ IUnknown *pRowset);
  11273. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_Initialize_Stub(
  11274. IRowPosition * This,
  11275. /* [in] */ IUnknown *pRowset,
  11276. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11277. /* [local] */ HRESULT STDMETHODCALLTYPE IRowPosition_SetRowPosition_Proxy(
  11278. IRowPosition * This,
  11279. /* [in] */ HCHAPTER hChapter,
  11280. /* [in] */ HROW hRow,
  11281. /* [in] */ DBPOSITIONFLAGS dwPositionFlags);
  11282. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_SetRowPosition_Stub(
  11283. IRowPosition * This,
  11284. /* [in] */ HCHAPTER hChapter,
  11285. /* [in] */ HROW hRow,
  11286. /* [in] */ DBPOSITIONFLAGS dwPositionFlags,
  11287. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11288. /* [local] */ HRESULT STDMETHODCALLTYPE IRowPositionChange_OnRowPositionChange_Proxy(
  11289. IRowPositionChange * This,
  11290. /* [in] */ DBREASON eReason,
  11291. /* [in] */ DBEVENTPHASE ePhase,
  11292. /* [in] */ BOOL fCantDeny);
  11293. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPositionChange_OnRowPositionChange_Stub(
  11294. IRowPositionChange * This,
  11295. /* [in] */ DBREASON eReason,
  11296. /* [in] */ DBEVENTPHASE ePhase,
  11297. /* [in] */ BOOL fCantDeny,
  11298. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11299. /* [local] */ HRESULT STDMETHODCALLTYPE IViewRowset_GetSpecification_Proxy(
  11300. IViewRowset * This,
  11301. /* [in] */ REFIID riid,
  11302. /* [iid_is][out] */ IUnknown **ppObject);
  11303. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewRowset_GetSpecification_Stub(
  11304. IViewRowset * This,
  11305. /* [in] */ REFIID riid,
  11306. /* [iid_is][out] */ IUnknown **ppObject,
  11307. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11308. /* [local] */ HRESULT STDMETHODCALLTYPE IViewRowset_OpenViewRowset_Proxy(
  11309. IViewRowset * This,
  11310. /* [in] */ IUnknown *pUnkOuter,
  11311. /* [in] */ REFIID riid,
  11312. /* [iid_is][out] */ IUnknown **ppRowset);
  11313. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewRowset_OpenViewRowset_Stub(
  11314. IViewRowset * This,
  11315. /* [in] */ IUnknown *pUnkOuter,
  11316. /* [in] */ REFIID riid,
  11317. /* [iid_is][out] */ IUnknown **ppRowset,
  11318. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11319. /* [local] */ HRESULT STDMETHODCALLTYPE IViewChapter_GetSpecification_Proxy(
  11320. IViewChapter * This,
  11321. /* [in] */ REFIID riid,
  11322. /* [iid_is][out] */ IUnknown **ppRowset);
  11323. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewChapter_GetSpecification_Stub(
  11324. IViewChapter * This,
  11325. /* [in] */ REFIID riid,
  11326. /* [iid_is][out] */ IUnknown **ppRowset,
  11327. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11328. /* [local] */ HRESULT STDMETHODCALLTYPE IViewChapter_OpenViewChapter_Proxy(
  11329. IViewChapter * This,
  11330. /* [in] */ HCHAPTER hSource,
  11331. /* [out] */ HCHAPTER *phViewChapter);
  11332. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewChapter_OpenViewChapter_Stub(
  11333. IViewChapter * This,
  11334. /* [in] */ HCHAPTER hSource,
  11335. /* [out] */ HCHAPTER *phViewChapter,
  11336. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11337. /* [local] */ HRESULT STDMETHODCALLTYPE IViewSort_GetSortOrder_Proxy(
  11338. IViewSort * This,
  11339. /* [out] */ DBORDINAL *pcValues,
  11340. /* [out] */ DBORDINAL *prgColumns[ ],
  11341. /* [out] */ DBSORT *prgOrders[ ]);
  11342. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewSort_GetSortOrder_Stub(
  11343. IViewSort * This,
  11344. /* [out][in] */ DBORDINAL *pcValues,
  11345. /* [size_is][size_is][out] */ DBORDINAL **prgColumns,
  11346. /* [size_is][size_is][out] */ DBSORT **prgOrders,
  11347. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11348. /* [local] */ HRESULT STDMETHODCALLTYPE IViewSort_SetSortOrder_Proxy(
  11349. IViewSort * This,
  11350. /* [in] */ DBORDINAL cValues,
  11351. /* [size_is][in] */ const DBORDINAL rgColumns[ ],
  11352. /* [size_is][in] */ const DBSORT rgOrders[ ]);
  11353. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewSort_SetSortOrder_Stub(
  11354. IViewSort * This,
  11355. /* [in] */ DBORDINAL cValues,
  11356. /* [size_is][in] */ const DBORDINAL *rgColumns,
  11357. /* [size_is][in] */ const DBSORT *rgOrders,
  11358. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11359. /* [local] */ HRESULT STDMETHODCALLTYPE IViewFilter_GetFilterBindings_Proxy(
  11360. IViewFilter * This,
  11361. /* [out] */ DBCOUNTITEM *pcBindings,
  11362. /* [out] */ DBBINDING **prgBindings);
  11363. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewFilter_GetFilterBindings_Stub(
  11364. IViewFilter * This,
  11365. /* [out][in] */ DBCOUNTITEM *pcBindings,
  11366. /* [size_is][size_is][out] */ DBBINDING **prgBindings,
  11367. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11368. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetView_CreateView_Proxy(
  11369. IRowsetView * This,
  11370. /* [in] */ IUnknown *pUnkOuter,
  11371. /* [in] */ REFIID riid,
  11372. /* [iid_is][out] */ IUnknown **ppView);
  11373. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetView_CreateView_Stub(
  11374. IRowsetView * This,
  11375. /* [in] */ IUnknown *pUnkOuter,
  11376. /* [in] */ REFIID riid,
  11377. /* [iid_is][out] */ IUnknown **ppView,
  11378. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11379. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetView_GetView_Proxy(
  11380. IRowsetView * This,
  11381. /* [in] */ HCHAPTER hChapter,
  11382. /* [in] */ REFIID riid,
  11383. /* [out] */ HCHAPTER *phChapterSource,
  11384. /* [iid_is][out] */ IUnknown **ppView);
  11385. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetView_GetView_Stub(
  11386. IRowsetView * This,
  11387. /* [in] */ HCHAPTER hChapter,
  11388. /* [in] */ REFIID riid,
  11389. /* [out] */ HCHAPTER *phChapterSource,
  11390. /* [iid_is][out] */ IUnknown **ppView,
  11391. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11392. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetIdentity_IsSameRow_Proxy(
  11393. IRowsetIdentity * This,
  11394. /* [in] */ HROW hThisRow,
  11395. /* [in] */ HROW hThatRow);
  11396. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetIdentity_IsSameRow_Stub(
  11397. IRowsetIdentity * This,
  11398. /* [in] */ HROW hThisRow,
  11399. /* [in] */ HROW hThatRow,
  11400. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11401. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_OnFieldChange_Proxy(
  11402. IRowsetNotify * This,
  11403. /* [in] */ IRowset *pRowset,
  11404. /* [in] */ HROW hRow,
  11405. /* [in] */ DBORDINAL cColumns,
  11406. /* [size_is][in] */ DBORDINAL rgColumns[ ],
  11407. /* [in] */ DBREASON eReason,
  11408. /* [in] */ DBEVENTPHASE ePhase,
  11409. /* [in] */ BOOL fCantDeny);
  11410. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_OnFieldChange_Stub(
  11411. IRowsetNotify * This,
  11412. /* [in] */ IRowset *pRowset,
  11413. /* [in] */ HROW hRow,
  11414. /* [in] */ DBORDINAL cColumns,
  11415. /* [size_is][in] */ DBORDINAL *rgColumns,
  11416. /* [in] */ DBREASON eReason,
  11417. /* [in] */ DBEVENTPHASE ePhase,
  11418. /* [in] */ BOOL fCantDeny);
  11419. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_OnRowChange_Proxy(
  11420. IRowsetNotify * This,
  11421. /* [in] */ IRowset *pRowset,
  11422. /* [in] */ DBCOUNTITEM cRows,
  11423. /* [size_is][in] */ const HROW rghRows[ ],
  11424. /* [in] */ DBREASON eReason,
  11425. /* [in] */ DBEVENTPHASE ePhase,
  11426. /* [in] */ BOOL fCantDeny);
  11427. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_OnRowChange_Stub(
  11428. IRowsetNotify * This,
  11429. /* [in] */ IRowset *pRowset,
  11430. /* [in] */ DBCOUNTITEM cRows,
  11431. /* [size_is][in] */ const HROW *rghRows,
  11432. /* [in] */ DBREASON eReason,
  11433. /* [in] */ DBEVENTPHASE ePhase,
  11434. /* [in] */ BOOL fCantDeny);
  11435. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_OnRowsetChange_Proxy(
  11436. IRowsetNotify * This,
  11437. /* [in] */ IRowset *pRowset,
  11438. /* [in] */ DBREASON eReason,
  11439. /* [in] */ DBEVENTPHASE ePhase,
  11440. /* [in] */ BOOL fCantDeny);
  11441. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_OnRowsetChange_Stub(
  11442. IRowsetNotify * This,
  11443. /* [in] */ IRowset *pRowset,
  11444. /* [in] */ DBREASON eReason,
  11445. /* [in] */ DBEVENTPHASE ePhase,
  11446. /* [in] */ BOOL fCantDeny);
  11447. /* [local] */ HRESULT STDMETHODCALLTYPE ICommand_Cancel_Proxy(
  11448. ICommand * This);
  11449. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommand_Cancel_Stub(
  11450. ICommand * This,
  11451. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11452. /* [local] */ HRESULT STDMETHODCALLTYPE ICommand_Execute_Proxy(
  11453. ICommand * This,
  11454. /* [in] */ IUnknown *pUnkOuter,
  11455. /* [in] */ REFIID riid,
  11456. /* [out][in] */ DBPARAMS *pParams,
  11457. /* [out] */ DBROWCOUNT *pcRowsAffected,
  11458. /* [iid_is][out] */ IUnknown **ppRowset);
  11459. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommand_Execute_Stub(
  11460. ICommand * This,
  11461. /* [in] */ IUnknown *pUnkOuter,
  11462. /* [in] */ REFIID riid,
  11463. /* [in] */ HACCESSOR hAccessor,
  11464. /* [in] */ DB_UPARAMS cParamSets,
  11465. /* [unique][in] */ GUID *pGuid,
  11466. /* [in] */ ULONG ulGuidOffset,
  11467. /* [unique][in] */ RMTPACK *pInputParams,
  11468. /* [unique][out][in] */ RMTPACK *pOutputParams,
  11469. /* [in] */ DBCOUNTITEM cBindings,
  11470. /* [size_is][unique][in] */ DBBINDING *rgBindings,
  11471. /* [size_is][unique][out][in] */ DBSTATUS *rgStatus,
  11472. /* [unique][out][in] */ DBROWCOUNT *pcRowsAffected,
  11473. /* [iid_is][unique][out][in] */ IUnknown **ppRowset);
  11474. /* [local] */ HRESULT STDMETHODCALLTYPE ICommand_GetDBSession_Proxy(
  11475. ICommand * This,
  11476. /* [in] */ REFIID riid,
  11477. /* [iid_is][out] */ IUnknown **ppSession);
  11478. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommand_GetDBSession_Stub(
  11479. ICommand * This,
  11480. /* [in] */ REFIID riid,
  11481. /* [iid_is][out] */ IUnknown **ppSession,
  11482. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11483. /* [local] */ HRESULT STDMETHODCALLTYPE IMultipleResults_GetResult_Proxy(
  11484. IMultipleResults * This,
  11485. /* [in] */ IUnknown *pUnkOuter,
  11486. /* [in] */ DBRESULTFLAG lResultFlag,
  11487. /* [in] */ REFIID riid,
  11488. /* [out] */ DBROWCOUNT *pcRowsAffected,
  11489. /* [iid_is][out] */ IUnknown **ppRowset);
  11490. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMultipleResults_GetResult_Stub(
  11491. IMultipleResults * This,
  11492. /* [in] */ IUnknown *pUnkOuter,
  11493. /* [in] */ DBRESULTFLAG lResultFlag,
  11494. /* [in] */ REFIID riid,
  11495. /* [unique][out][in] */ DBROWCOUNT *pcRowsAffected,
  11496. /* [iid_is][unique][out][in] */ IUnknown **ppRowset,
  11497. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11498. /* [local] */ HRESULT STDMETHODCALLTYPE IConvertType_CanConvert_Proxy(
  11499. IConvertType * This,
  11500. /* [in] */ DBTYPE wFromType,
  11501. /* [in] */ DBTYPE wToType,
  11502. /* [in] */ DBCONVERTFLAGS dwConvertFlags);
  11503. /* [call_as] */ HRESULT STDMETHODCALLTYPE IConvertType_CanConvert_Stub(
  11504. IConvertType * This,
  11505. /* [in] */ DBTYPE wFromType,
  11506. /* [in] */ DBTYPE wToType,
  11507. /* [in] */ DBCONVERTFLAGS dwConvertFlags,
  11508. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11509. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandPrepare_Prepare_Proxy(
  11510. ICommandPrepare * This,
  11511. /* [in] */ ULONG cExpectedRuns);
  11512. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandPrepare_Prepare_Stub(
  11513. ICommandPrepare * This,
  11514. /* [in] */ ULONG cExpectedRuns,
  11515. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11516. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandPrepare_Unprepare_Proxy(
  11517. ICommandPrepare * This);
  11518. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandPrepare_Unprepare_Stub(
  11519. ICommandPrepare * This,
  11520. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11521. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandProperties_GetProperties_Proxy(
  11522. ICommandProperties * This,
  11523. /* [in] */ const ULONG cPropertyIDSets,
  11524. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  11525. /* [out][in] */ ULONG *pcPropertySets,
  11526. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets);
  11527. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandProperties_GetProperties_Stub(
  11528. ICommandProperties * This,
  11529. /* [in] */ const ULONG cPropertyIDSets,
  11530. /* [size_is][unique][in] */ const DBPROPIDSET *rgPropertyIDSets,
  11531. /* [out][in] */ ULONG *pcPropertySets,
  11532. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets,
  11533. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11534. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandProperties_SetProperties_Proxy(
  11535. ICommandProperties * This,
  11536. /* [in] */ ULONG cPropertySets,
  11537. /* [size_is][unique][out][in] */ DBPROPSET rgPropertySets[ ]);
  11538. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandProperties_SetProperties_Stub(
  11539. ICommandProperties * This,
  11540. /* [in] */ ULONG cPropertySets,
  11541. /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  11542. /* [in] */ ULONG cTotalProps,
  11543. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  11544. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11545. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandText_GetCommandText_Proxy(
  11546. ICommandText * This,
  11547. /* [out][in] */ GUID *pguidDialect,
  11548. /* [out] */ LPOLESTR *ppwszCommand);
  11549. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandText_GetCommandText_Stub(
  11550. ICommandText * This,
  11551. /* [unique][out][in] */ GUID *pguidDialect,
  11552. /* [out] */ LPOLESTR *ppwszCommand,
  11553. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11554. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandText_SetCommandText_Proxy(
  11555. ICommandText * This,
  11556. /* [in] */ REFGUID rguidDialect,
  11557. /* [unique][in] */ LPCOLESTR pwszCommand);
  11558. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandText_SetCommandText_Stub(
  11559. ICommandText * This,
  11560. /* [in] */ REFGUID rguidDialect,
  11561. /* [unique][in] */ LPCOLESTR pwszCommand,
  11562. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11563. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_GetParameterInfo_Proxy(
  11564. ICommandWithParameters * This,
  11565. /* [out][in] */ DB_UPARAMS *pcParams,
  11566. /* [size_is][size_is][out] */ DBPARAMINFO **prgParamInfo,
  11567. /* [out] */ OLECHAR **ppNamesBuffer);
  11568. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_GetParameterInfo_Stub(
  11569. ICommandWithParameters * This,
  11570. /* [out][in] */ DB_UPARAMS *pcParams,
  11571. /* [size_is][size_is][out] */ DBPARAMINFO **prgParamInfo,
  11572. /* [size_is][size_is][out] */ DBBYTEOFFSET **prgNameOffsets,
  11573. /* [out][in] */ DBLENGTH *pcbNamesBuffer,
  11574. /* [size_is][size_is][unique][out][in] */ OLECHAR **ppNamesBuffer,
  11575. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11576. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_MapParameterNames_Proxy(
  11577. ICommandWithParameters * This,
  11578. /* [in] */ DB_UPARAMS cParamNames,
  11579. /* [size_is][in] */ const OLECHAR *rgParamNames[ ],
  11580. /* [size_is][out] */ DB_LPARAMS rgParamOrdinals[ ]);
  11581. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_MapParameterNames_Stub(
  11582. ICommandWithParameters * This,
  11583. /* [in] */ DB_UPARAMS cParamNames,
  11584. /* [size_is][in] */ LPCOLESTR *rgParamNames,
  11585. /* [size_is][out] */ DB_LPARAMS *rgParamOrdinals,
  11586. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11587. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_SetParameterInfo_Proxy(
  11588. ICommandWithParameters * This,
  11589. /* [in] */ DB_UPARAMS cParams,
  11590. /* [size_is][unique][in] */ const DB_UPARAMS rgParamOrdinals[ ],
  11591. /* [size_is][unique][in] */ const DBPARAMBINDINFO rgParamBindInfo[ ]);
  11592. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_SetParameterInfo_Stub(
  11593. ICommandWithParameters * This,
  11594. /* [in] */ DB_UPARAMS cParams,
  11595. /* [size_is][unique][in] */ const DB_UPARAMS *rgParamOrdinals,
  11596. /* [size_is][unique][in] */ const DBPARAMBINDINFO *rgParamBindInfo,
  11597. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11598. /* [local] */ HRESULT STDMETHODCALLTYPE IColumnsRowset_GetAvailableColumns_Proxy(
  11599. IColumnsRowset * This,
  11600. /* [out][in] */ DBORDINAL *pcOptColumns,
  11601. /* [size_is][size_is][out] */ DBID **prgOptColumns);
  11602. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsRowset_GetAvailableColumns_Stub(
  11603. IColumnsRowset * This,
  11604. /* [out][in] */ DBORDINAL *pcOptColumns,
  11605. /* [size_is][size_is][out] */ DBID **prgOptColumns,
  11606. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11607. /* [local] */ HRESULT STDMETHODCALLTYPE IColumnsRowset_GetColumnsRowset_Proxy(
  11608. IColumnsRowset * This,
  11609. /* [in] */ IUnknown *pUnkOuter,
  11610. /* [in] */ DBORDINAL cOptColumns,
  11611. /* [size_is][in] */ const DBID rgOptColumns[ ],
  11612. /* [in] */ REFIID riid,
  11613. /* [in] */ ULONG cPropertySets,
  11614. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  11615. /* [iid_is][out] */ IUnknown **ppColRowset);
  11616. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsRowset_GetColumnsRowset_Stub(
  11617. IColumnsRowset * This,
  11618. /* [in] */ IUnknown *pUnkOuter,
  11619. /* [in] */ DBORDINAL cOptColumns,
  11620. /* [size_is][unique][in] */ const DBID *rgOptColumns,
  11621. /* [in] */ REFIID riid,
  11622. /* [in] */ ULONG cPropertySets,
  11623. /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  11624. /* [iid_is][out] */ IUnknown **ppColRowset,
  11625. /* [in] */ ULONG cTotalProps,
  11626. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  11627. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11628. /* [local] */ HRESULT STDMETHODCALLTYPE IColumnsInfo_GetColumnInfo_Proxy(
  11629. IColumnsInfo * This,
  11630. /* [out][in] */ DBORDINAL *pcColumns,
  11631. /* [size_is][size_is][out] */ DBCOLUMNINFO **prgInfo,
  11632. /* [out] */ OLECHAR **ppStringsBuffer);
  11633. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsInfo_GetColumnInfo_Stub(
  11634. IColumnsInfo * This,
  11635. /* [out][in] */ DBORDINAL *pcColumns,
  11636. /* [size_is][size_is][out] */ DBCOLUMNINFO **prgInfo,
  11637. /* [size_is][size_is][out] */ DBBYTEOFFSET **prgNameOffsets,
  11638. /* [size_is][size_is][out] */ DBBYTEOFFSET **prgcolumnidOffsets,
  11639. /* [out][in] */ DBLENGTH *pcbStringsBuffer,
  11640. /* [size_is][size_is][unique][out][in] */ OLECHAR **ppStringsBuffer,
  11641. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11642. /* [local] */ HRESULT STDMETHODCALLTYPE IColumnsInfo_MapColumnIDs_Proxy(
  11643. IColumnsInfo * This,
  11644. /* [in] */ DBORDINAL cColumnIDs,
  11645. /* [size_is][in] */ const DBID rgColumnIDs[ ],
  11646. /* [size_is][out] */ DBORDINAL rgColumns[ ]);
  11647. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsInfo_MapColumnIDs_Stub(
  11648. IColumnsInfo * This,
  11649. /* [in] */ DBORDINAL cColumnIDs,
  11650. /* [size_is][in] */ const DBID *rgColumnIDs,
  11651. /* [size_is][out] */ DBORDINAL *rgColumns,
  11652. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11653. /* [local] */ HRESULT STDMETHODCALLTYPE IDBCreateCommand_CreateCommand_Proxy(
  11654. IDBCreateCommand * This,
  11655. /* [in] */ IUnknown *pUnkOuter,
  11656. /* [in] */ REFIID riid,
  11657. /* [iid_is][out] */ IUnknown **ppCommand);
  11658. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBCreateCommand_CreateCommand_Stub(
  11659. IDBCreateCommand * This,
  11660. /* [in] */ IUnknown *pUnkOuter,
  11661. /* [in] */ REFIID riid,
  11662. /* [iid_is][out] */ IUnknown **ppCommand,
  11663. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11664. /* [local] */ HRESULT STDMETHODCALLTYPE IDBCreateSession_CreateSession_Proxy(
  11665. IDBCreateSession * This,
  11666. /* [in] */ IUnknown *pUnkOuter,
  11667. /* [in] */ REFIID riid,
  11668. /* [iid_is][out] */ IUnknown **ppDBSession);
  11669. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBCreateSession_CreateSession_Stub(
  11670. IDBCreateSession * This,
  11671. /* [in] */ IUnknown *pUnkOuter,
  11672. /* [in] */ REFIID riid,
  11673. /* [iid_is][out] */ IUnknown **ppDBSession,
  11674. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11675. /* [local] */ HRESULT STDMETHODCALLTYPE ISourcesRowset_GetSourcesRowset_Proxy(
  11676. ISourcesRowset * This,
  11677. /* [in] */ IUnknown *pUnkOuter,
  11678. /* [in] */ REFIID riid,
  11679. /* [in] */ ULONG cPropertySets,
  11680. /* [size_is][unique][out][in] */ DBPROPSET rgProperties[ ],
  11681. /* [iid_is][out] */ IUnknown **ppSourcesRowset);
  11682. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISourcesRowset_GetSourcesRowset_Stub(
  11683. ISourcesRowset * This,
  11684. /* [in] */ IUnknown *pUnkOuter,
  11685. /* [in] */ REFIID riid,
  11686. /* [in] */ ULONG cPropertySets,
  11687. /* [size_is][unique][in] */ DBPROPSET *rgProperties,
  11688. /* [iid_is][out] */ IUnknown **ppSourcesRowset,
  11689. /* [in] */ ULONG cTotalProps,
  11690. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  11691. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11692. /* [local] */ HRESULT STDMETHODCALLTYPE IDBProperties_GetProperties_Proxy(
  11693. IDBProperties * This,
  11694. /* [in] */ ULONG cPropertyIDSets,
  11695. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  11696. /* [out][in] */ ULONG *pcPropertySets,
  11697. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets);
  11698. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBProperties_GetProperties_Stub(
  11699. IDBProperties * This,
  11700. /* [in] */ ULONG cPropertyIDSets,
  11701. /* [size_is][unique][in] */ const DBPROPIDSET *rgPropertyIDSets,
  11702. /* [out][in] */ ULONG *pcPropertySets,
  11703. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets,
  11704. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11705. /* [local] */ HRESULT STDMETHODCALLTYPE IDBProperties_GetPropertyInfo_Proxy(
  11706. IDBProperties * This,
  11707. /* [in] */ ULONG cPropertyIDSets,
  11708. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  11709. /* [out][in] */ ULONG *pcPropertyInfoSets,
  11710. /* [size_is][size_is][out] */ DBPROPINFOSET **prgPropertyInfoSets,
  11711. /* [out] */ OLECHAR **ppDescBuffer);
  11712. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBProperties_GetPropertyInfo_Stub(
  11713. IDBProperties * This,
  11714. /* [in] */ ULONG cPropertyIDSets,
  11715. /* [size_is][unique][in] */ const DBPROPIDSET *rgPropertyIDSets,
  11716. /* [out][in] */ ULONG *pcPropertyInfoSets,
  11717. /* [size_is][size_is][out] */ DBPROPINFOSET **prgPropertyInfoSets,
  11718. /* [out][in] */ ULONG *pcOffsets,
  11719. /* [size_is][size_is][out] */ DBBYTEOFFSET **prgDescOffsets,
  11720. /* [out][in] */ ULONG *pcbDescBuffer,
  11721. /* [size_is][size_is][unique][out][in] */ OLECHAR **ppDescBuffer,
  11722. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11723. /* [local] */ HRESULT STDMETHODCALLTYPE IDBProperties_SetProperties_Proxy(
  11724. IDBProperties * This,
  11725. /* [in] */ ULONG cPropertySets,
  11726. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ]);
  11727. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBProperties_SetProperties_Stub(
  11728. IDBProperties * This,
  11729. /* [in] */ ULONG cPropertySets,
  11730. /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  11731. /* [in] */ ULONG cTotalProps,
  11732. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  11733. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11734. /* [local] */ HRESULT STDMETHODCALLTYPE IDBInitialize_Initialize_Proxy(
  11735. IDBInitialize * This);
  11736. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInitialize_Initialize_Stub(
  11737. IDBInitialize * This,
  11738. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11739. /* [local] */ HRESULT STDMETHODCALLTYPE IDBInitialize_Uninitialize_Proxy(
  11740. IDBInitialize * This);
  11741. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInitialize_Uninitialize_Stub(
  11742. IDBInitialize * This,
  11743. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11744. /* [local] */ HRESULT STDMETHODCALLTYPE IDBInfo_GetKeywords_Proxy(
  11745. IDBInfo * This,
  11746. /* [out] */ LPOLESTR *ppwszKeywords);
  11747. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInfo_GetKeywords_Stub(
  11748. IDBInfo * This,
  11749. /* [unique][out][in] */ LPOLESTR *ppwszKeywords,
  11750. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11751. /* [local] */ HRESULT STDMETHODCALLTYPE IDBInfo_GetLiteralInfo_Proxy(
  11752. IDBInfo * This,
  11753. /* [in] */ ULONG cLiterals,
  11754. /* [size_is][in] */ const DBLITERAL rgLiterals[ ],
  11755. /* [out][in] */ ULONG *pcLiteralInfo,
  11756. /* [size_is][size_is][out] */ DBLITERALINFO **prgLiteralInfo,
  11757. /* [out] */ OLECHAR **ppCharBuffer);
  11758. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInfo_GetLiteralInfo_Stub(
  11759. IDBInfo * This,
  11760. /* [in] */ ULONG cLiterals,
  11761. /* [size_is][unique][in] */ const DBLITERAL *rgLiterals,
  11762. /* [out][in] */ ULONG *pcLiteralInfo,
  11763. /* [size_is][size_is][out] */ DBLITERALINFO **prgLiteralInfo,
  11764. /* [size_is][size_is][out] */ DB_UPARAMS **prgLVOffsets,
  11765. /* [size_is][size_is][out] */ DB_UPARAMS **prgICOffsets,
  11766. /* [size_is][size_is][out] */ DB_UPARAMS **prgISCOffsets,
  11767. /* [out][in] */ ULONG *pcbCharBuffer,
  11768. /* [size_is][size_is][unique][out][in] */ OLECHAR **ppCharBuffer,
  11769. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11770. /* [local] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_CreateDataSource_Proxy(
  11771. IDBDataSourceAdmin * This,
  11772. /* [in] */ ULONG cPropertySets,
  11773. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  11774. /* [in] */ IUnknown *pUnkOuter,
  11775. /* [in] */ REFIID riid,
  11776. /* [iid_is][out] */ IUnknown **ppDBSession);
  11777. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_CreateDataSource_Stub(
  11778. IDBDataSourceAdmin * This,
  11779. /* [in] */ ULONG cPropertySets,
  11780. /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  11781. /* [in] */ IUnknown *pUnkOuter,
  11782. /* [in] */ REFIID riid,
  11783. /* [iid_is][unique][out][in] */ IUnknown **ppDBSession,
  11784. /* [in] */ ULONG cTotalProps,
  11785. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  11786. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11787. /* [local] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_DestroyDataSource_Proxy(
  11788. IDBDataSourceAdmin * This);
  11789. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_DestroyDataSource_Stub(
  11790. IDBDataSourceAdmin * This,
  11791. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11792. /* [local] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_GetCreationProperties_Proxy(
  11793. IDBDataSourceAdmin * This,
  11794. /* [in] */ ULONG cPropertyIDSets,
  11795. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  11796. /* [out][in] */ ULONG *pcPropertyInfoSets,
  11797. /* [size_is][size_is][out] */ DBPROPINFOSET **prgPropertyInfoSets,
  11798. /* [out] */ OLECHAR **ppDescBuffer);
  11799. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_GetCreationProperties_Stub(
  11800. IDBDataSourceAdmin * This,
  11801. /* [in] */ ULONG cPropertyIDSets,
  11802. /* [size_is][unique][in] */ const DBPROPIDSET *rgPropertyIDSets,
  11803. /* [out][in] */ ULONG *pcPropertyInfoSets,
  11804. /* [size_is][size_is][out] */ DBPROPINFOSET **prgPropertyInfoSets,
  11805. /* [out][in] */ DBCOUNTITEM *pcOffsets,
  11806. /* [size_is][size_is][out] */ DBBYTEOFFSET **prgDescOffsets,
  11807. /* [out][in] */ ULONG *pcbDescBuffer,
  11808. /* [size_is][size_is][unique][out][in] */ OLECHAR **ppDescBuffer,
  11809. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11810. /* [local] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_ModifyDataSource_Proxy(
  11811. IDBDataSourceAdmin * This,
  11812. /* [in] */ ULONG cPropertySets,
  11813. /* [size_is][in] */ DBPROPSET rgPropertySets[ ]);
  11814. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_ModifyDataSource_Stub(
  11815. IDBDataSourceAdmin * This,
  11816. /* [in] */ ULONG cPropertySets,
  11817. /* [size_is][in] */ DBPROPSET *rgPropertySets,
  11818. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11819. /* [local] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_OnLowResource_Proxy(
  11820. IDBAsynchNotify * This,
  11821. /* [in] */ DB_DWRESERVE dwReserved);
  11822. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_OnLowResource_Stub(
  11823. IDBAsynchNotify * This,
  11824. /* [in] */ DB_DWRESERVE dwReserved);
  11825. /* [local] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_OnProgress_Proxy(
  11826. IDBAsynchNotify * This,
  11827. /* [in] */ HCHAPTER hChapter,
  11828. /* [in] */ DBASYNCHOP eOperation,
  11829. /* [in] */ DBCOUNTITEM ulProgress,
  11830. /* [in] */ DBCOUNTITEM ulProgressMax,
  11831. /* [in] */ DBASYNCHPHASE eAsynchPhase,
  11832. /* [in] */ LPOLESTR pwszStatusText);
  11833. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_OnProgress_Stub(
  11834. IDBAsynchNotify * This,
  11835. /* [in] */ HCHAPTER hChapter,
  11836. /* [in] */ DBASYNCHOP eOperation,
  11837. /* [in] */ DBCOUNTITEM ulProgress,
  11838. /* [in] */ DBCOUNTITEM ulProgressMax,
  11839. /* [in] */ DBASYNCHPHASE eAsynchPhase,
  11840. /* [string][unique][in] */ LPOLESTR pwszStatusText);
  11841. /* [local] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_OnStop_Proxy(
  11842. IDBAsynchNotify * This,
  11843. /* [in] */ HCHAPTER hChapter,
  11844. /* [in] */ DBASYNCHOP eOperation,
  11845. /* [in] */ HRESULT hrStatus,
  11846. /* [in] */ LPOLESTR pwszStatusText);
  11847. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_OnStop_Stub(
  11848. IDBAsynchNotify * This,
  11849. /* [in] */ HCHAPTER hChapter,
  11850. /* [in] */ DBASYNCHOP eOperation,
  11851. /* [in] */ HRESULT hrStatus,
  11852. /* [string][unique][in] */ LPOLESTR pwszStatusText);
  11853. /* [local] */ HRESULT STDMETHODCALLTYPE IDBAsynchStatus_Abort_Proxy(
  11854. IDBAsynchStatus * This,
  11855. /* [in] */ HCHAPTER hChapter,
  11856. /* [in] */ DBASYNCHOP eOperation);
  11857. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchStatus_Abort_Stub(
  11858. IDBAsynchStatus * This,
  11859. /* [in] */ HCHAPTER hChapter,
  11860. /* [in] */ DBASYNCHOP eOperation,
  11861. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11862. /* [local] */ HRESULT STDMETHODCALLTYPE IDBAsynchStatus_GetStatus_Proxy(
  11863. IDBAsynchStatus * This,
  11864. /* [in] */ HCHAPTER hChapter,
  11865. /* [in] */ DBASYNCHOP eOperation,
  11866. /* [out] */ DBCOUNTITEM *pulProgress,
  11867. /* [out] */ DBCOUNTITEM *pulProgressMax,
  11868. /* [out] */ DBASYNCHPHASE *peAsynchPhase,
  11869. /* [out] */ LPOLESTR *ppwszStatusText);
  11870. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchStatus_GetStatus_Stub(
  11871. IDBAsynchStatus * This,
  11872. /* [in] */ HCHAPTER hChapter,
  11873. /* [in] */ DBASYNCHOP eOperation,
  11874. /* [unique][out][in] */ DBCOUNTITEM *pulProgress,
  11875. /* [unique][out][in] */ DBCOUNTITEM *pulProgressMax,
  11876. /* [unique][out][in] */ DBASYNCHPHASE *peAsynchPhase,
  11877. /* [unique][out][in] */ LPOLESTR *ppwszStatusText,
  11878. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11879. /* [local] */ HRESULT STDMETHODCALLTYPE ISessionProperties_GetProperties_Proxy(
  11880. ISessionProperties * This,
  11881. /* [in] */ ULONG cPropertyIDSets,
  11882. /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[ ],
  11883. /* [out][in] */ ULONG *pcPropertySets,
  11884. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets);
  11885. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISessionProperties_GetProperties_Stub(
  11886. ISessionProperties * This,
  11887. /* [in] */ ULONG cPropertyIDSets,
  11888. /* [size_is][unique][in] */ const DBPROPIDSET *rgPropertyIDSets,
  11889. /* [out][in] */ ULONG *pcPropertySets,
  11890. /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets,
  11891. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11892. /* [local] */ HRESULT STDMETHODCALLTYPE ISessionProperties_SetProperties_Proxy(
  11893. ISessionProperties * This,
  11894. /* [in] */ ULONG cPropertySets,
  11895. /* [size_is][unique][out][in] */ DBPROPSET rgPropertySets[ ]);
  11896. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISessionProperties_SetProperties_Stub(
  11897. ISessionProperties * This,
  11898. /* [in] */ ULONG cPropertySets,
  11899. /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  11900. /* [in] */ ULONG cTotalProps,
  11901. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  11902. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11903. /* [local] */ HRESULT STDMETHODCALLTYPE IIndexDefinition_CreateIndex_Proxy(
  11904. IIndexDefinition * This,
  11905. /* [in] */ DBID *pTableID,
  11906. /* [in] */ DBID *pIndexID,
  11907. /* [in] */ DBORDINAL cIndexColumnDescs,
  11908. /* [size_is][in] */ const DBINDEXCOLUMNDESC rgIndexColumnDescs[ ],
  11909. /* [in] */ ULONG cPropertySets,
  11910. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  11911. /* [out] */ DBID **ppIndexID);
  11912. /* [call_as] */ HRESULT STDMETHODCALLTYPE IIndexDefinition_CreateIndex_Stub(
  11913. IIndexDefinition * This,
  11914. /* [in] */ DBID *pTableID,
  11915. /* [unique][in] */ DBID *pIndexID,
  11916. /* [in] */ DBORDINAL cIndexColumnDescs,
  11917. /* [size_is][in] */ const DBINDEXCOLUMNDESC *rgIndexColumnDescs,
  11918. /* [in] */ ULONG cPropertySets,
  11919. /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  11920. /* [unique][out][in] */ DBID **ppIndexID,
  11921. /* [in] */ ULONG cTotalProps,
  11922. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  11923. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11924. /* [local] */ HRESULT STDMETHODCALLTYPE IIndexDefinition_DropIndex_Proxy(
  11925. IIndexDefinition * This,
  11926. /* [unique][in] */ DBID *pTableID,
  11927. /* [unique][in] */ DBID *pIndexID);
  11928. /* [call_as] */ HRESULT STDMETHODCALLTYPE IIndexDefinition_DropIndex_Stub(
  11929. IIndexDefinition * This,
  11930. /* [unique][in] */ DBID *pTableID,
  11931. /* [unique][in] */ DBID *pIndexID,
  11932. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11933. /* [local] */ HRESULT STDMETHODCALLTYPE ITableDefinition_CreateTable_Proxy(
  11934. ITableDefinition * This,
  11935. /* [in] */ IUnknown *pUnkOuter,
  11936. /* [in] */ DBID *pTableID,
  11937. /* [in] */ DBORDINAL cColumnDescs,
  11938. /* [size_is][in] */ const DBCOLUMNDESC rgColumnDescs[ ],
  11939. /* [in] */ REFIID riid,
  11940. /* [in] */ ULONG cPropertySets,
  11941. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  11942. /* [out] */ DBID **ppTableID,
  11943. /* [iid_is][out] */ IUnknown **ppRowset);
  11944. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_CreateTable_Stub(
  11945. ITableDefinition * This,
  11946. /* [in] */ IUnknown *pUnkOuter,
  11947. /* [unique][in] */ DBID *pTableID,
  11948. /* [in] */ DBORDINAL cColumnDescs,
  11949. /* [size_is][in] */ const DBCOLUMNDESC *rgColumnDescs,
  11950. /* [in] */ REFIID riid,
  11951. /* [in] */ ULONG cPropertySets,
  11952. /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  11953. /* [unique][out][in] */ DBID **ppTableID,
  11954. /* [iid_is][unique][out][in] */ IUnknown **ppRowset,
  11955. /* [in] */ ULONG cTotalProps,
  11956. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  11957. /* [out] */ BOOL *pfTableCreated,
  11958. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11959. /* [local] */ HRESULT STDMETHODCALLTYPE ITableDefinition_DropTable_Proxy(
  11960. ITableDefinition * This,
  11961. /* [unique][in] */ DBID *pTableID);
  11962. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_DropTable_Stub(
  11963. ITableDefinition * This,
  11964. /* [unique][in] */ DBID *pTableID,
  11965. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11966. /* [local] */ HRESULT STDMETHODCALLTYPE ITableDefinition_AddColumn_Proxy(
  11967. ITableDefinition * This,
  11968. /* [in] */ DBID *pTableID,
  11969. /* [out][in] */ DBCOLUMNDESC *pColumnDesc,
  11970. /* [out] */ DBID **ppColumnID);
  11971. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_AddColumn_Stub(
  11972. ITableDefinition * This,
  11973. /* [in] */ DBID *pTableID,
  11974. /* [in] */ DBCOLUMNDESC *pColumnDesc,
  11975. /* [unique][out][in] */ DBID **ppColumnID,
  11976. /* [in] */ ULONG cTotalProps,
  11977. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  11978. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11979. /* [local] */ HRESULT STDMETHODCALLTYPE ITableDefinition_DropColumn_Proxy(
  11980. ITableDefinition * This,
  11981. /* [unique][in] */ DBID *pTableID,
  11982. /* [unique][in] */ DBID *pColumnID);
  11983. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_DropColumn_Stub(
  11984. ITableDefinition * This,
  11985. /* [unique][in] */ DBID *pTableID,
  11986. /* [unique][in] */ DBID *pColumnID,
  11987. /* [out] */ IErrorInfo **ppErrorInfoRem);
  11988. /* [local] */ HRESULT STDMETHODCALLTYPE IOpenRowset_OpenRowset_Proxy(
  11989. IOpenRowset * This,
  11990. /* [in] */ IUnknown *pUnkOuter,
  11991. /* [unique][in] */ DBID *pTableID,
  11992. /* [unique][in] */ DBID *pIndexID,
  11993. /* [in] */ REFIID riid,
  11994. /* [in] */ ULONG cPropertySets,
  11995. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  11996. /* [iid_is][out] */ IUnknown **ppRowset);
  11997. /* [call_as] */ HRESULT STDMETHODCALLTYPE IOpenRowset_OpenRowset_Stub(
  11998. IOpenRowset * This,
  11999. /* [in] */ IUnknown *pUnkOuter,
  12000. /* [unique][in] */ DBID *pTableID,
  12001. /* [unique][in] */ DBID *pIndexID,
  12002. /* [in] */ REFIID riid,
  12003. /* [in] */ ULONG cPropertySets,
  12004. /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  12005. /* [iid_is][unique][out][in] */ IUnknown **ppRowset,
  12006. /* [in] */ ULONG cTotalProps,
  12007. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  12008. /* [out] */ IErrorInfo **ppErrorInfoRem);
  12009. /* [local] */ HRESULT STDMETHODCALLTYPE IDBSchemaRowset_GetRowset_Proxy(
  12010. IDBSchemaRowset * This,
  12011. /* [in] */ IUnknown *pUnkOuter,
  12012. /* [in] */ REFGUID rguidSchema,
  12013. /* [in] */ ULONG cRestrictions,
  12014. /* [size_is][in] */ const VARIANT rgRestrictions[ ],
  12015. /* [in] */ REFIID riid,
  12016. /* [in] */ ULONG cPropertySets,
  12017. /* [size_is][unique][out][in] */ DBPROPSET rgPropertySets[ ],
  12018. /* [iid_is][out] */ IUnknown **ppRowset);
  12019. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBSchemaRowset_GetRowset_Stub(
  12020. IDBSchemaRowset * This,
  12021. /* [in] */ IUnknown *pUnkOuter,
  12022. /* [in] */ REFGUID rguidSchema,
  12023. /* [in] */ ULONG cRestrictions,
  12024. /* [size_is][unique][in] */ const VARIANT *rgRestrictions,
  12025. /* [in] */ REFIID riid,
  12026. /* [in] */ ULONG cPropertySets,
  12027. /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  12028. /* [iid_is][out] */ IUnknown **ppRowset,
  12029. /* [in] */ ULONG cTotalProps,
  12030. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  12031. /* [out] */ IErrorInfo **ppErrorInfoRem);
  12032. /* [local] */ HRESULT STDMETHODCALLTYPE IDBSchemaRowset_GetSchemas_Proxy(
  12033. IDBSchemaRowset * This,
  12034. /* [out][in] */ ULONG *pcSchemas,
  12035. /* [size_is][size_is][out] */ GUID **prgSchemas,
  12036. /* [size_is][size_is][out] */ ULONG **prgRestrictionSupport);
  12037. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBSchemaRowset_GetSchemas_Stub(
  12038. IDBSchemaRowset * This,
  12039. /* [out][in] */ ULONG *pcSchemas,
  12040. /* [size_is][size_is][out] */ GUID **prgSchemas,
  12041. /* [size_is][size_is][out] */ ULONG **prgRestrictionSupport,
  12042. /* [out] */ IErrorInfo **ppErrorInfoRem);
  12043. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorRecords_AddErrorRecord_Proxy(
  12044. IErrorRecords * This,
  12045. /* [in] */ ERRORINFO *pErrorInfo,
  12046. /* [in] */ DWORD dwLookupID,
  12047. /* [in] */ DISPPARAMS *pdispparams,
  12048. /* [in] */ IUnknown *punkCustomError,
  12049. /* [in] */ DWORD dwDynamicErrorID);
  12050. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_AddErrorRecord_Stub(
  12051. IErrorRecords * This,
  12052. /* [in] */ ERRORINFO *pErrorInfo,
  12053. /* [in] */ DWORD dwLookupID,
  12054. /* [in] */ DISPPARAMS *pdispparams,
  12055. /* [in] */ IUnknown *punkCustomError,
  12056. /* [in] */ DWORD dwDynamicErrorID,
  12057. /* [out] */ IErrorInfo **ppErrorInfoRem);
  12058. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetBasicErrorInfo_Proxy(
  12059. IErrorRecords * This,
  12060. /* [in] */ ULONG ulRecordNum,
  12061. /* [out] */ ERRORINFO *pErrorInfo);
  12062. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetBasicErrorInfo_Stub(
  12063. IErrorRecords * This,
  12064. /* [in] */ ULONG ulRecordNum,
  12065. /* [out] */ ERRORINFO *pErrorInfo,
  12066. /* [out] */ IErrorInfo **ppErrorInfoRem);
  12067. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetCustomErrorObject_Proxy(
  12068. IErrorRecords * This,
  12069. /* [in] */ ULONG ulRecordNum,
  12070. /* [in] */ REFIID riid,
  12071. /* [iid_is][out] */ IUnknown **ppObject);
  12072. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetCustomErrorObject_Stub(
  12073. IErrorRecords * This,
  12074. /* [in] */ ULONG ulRecordNum,
  12075. /* [in] */ REFIID riid,
  12076. /* [iid_is][out] */ IUnknown **ppObject,
  12077. /* [out] */ IErrorInfo **ppErrorInfoRem);
  12078. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetErrorInfo_Proxy(
  12079. IErrorRecords * This,
  12080. /* [in] */ ULONG ulRecordNum,
  12081. /* [in] */ LCID lcid,
  12082. /* [out] */ IErrorInfo **ppErrorInfo);
  12083. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetErrorInfo_Stub(
  12084. IErrorRecords * This,
  12085. /* [in] */ ULONG ulRecordNum,
  12086. /* [in] */ LCID lcid,
  12087. /* [out] */ IErrorInfo **ppErrorInfo,
  12088. /* [out] */ IErrorInfo **ppErrorInfoRem);
  12089. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetErrorParameters_Proxy(
  12090. IErrorRecords * This,
  12091. /* [in] */ ULONG ulRecordNum,
  12092. /* [out] */ DISPPARAMS *pdispparams);
  12093. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetErrorParameters_Stub(
  12094. IErrorRecords * This,
  12095. /* [in] */ ULONG ulRecordNum,
  12096. /* [out] */ DISPPARAMS *pdispparams,
  12097. /* [out] */ IErrorInfo **ppErrorInfoRem);
  12098. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetRecordCount_Proxy(
  12099. IErrorRecords * This,
  12100. /* [out] */ ULONG *pcRecords);
  12101. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetRecordCount_Stub(
  12102. IErrorRecords * This,
  12103. /* [out] */ ULONG *pcRecords,
  12104. /* [out] */ IErrorInfo **ppErrorInfoRem);
  12105. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorLookup_GetErrorDescription_Proxy(
  12106. IErrorLookup * This,
  12107. /* [in] */ HRESULT hrError,
  12108. /* [in] */ DWORD dwLookupID,
  12109. /* [in] */ DISPPARAMS *pdispparams,
  12110. /* [in] */ LCID lcid,
  12111. /* [out] */ BSTR *pbstrSource,
  12112. /* [out] */ BSTR *pbstrDescription);
  12113. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorLookup_GetErrorDescription_Stub(
  12114. IErrorLookup * This,
  12115. /* [in] */ HRESULT hrError,
  12116. /* [in] */ DWORD dwLookupID,
  12117. /* [in] */ DISPPARAMS *pdispparams,
  12118. /* [in] */ LCID lcid,
  12119. /* [out] */ BSTR *pbstrSource,
  12120. /* [out] */ BSTR *pbstrDescription,
  12121. /* [out] */ IErrorInfo **ppErrorInfoRem);
  12122. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorLookup_GetHelpInfo_Proxy(
  12123. IErrorLookup * This,
  12124. /* [in] */ HRESULT hrError,
  12125. /* [in] */ DWORD dwLookupID,
  12126. /* [in] */ LCID lcid,
  12127. /* [out] */ BSTR *pbstrHelpFile,
  12128. /* [out] */ DWORD *pdwHelpContext);
  12129. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorLookup_GetHelpInfo_Stub(
  12130. IErrorLookup * This,
  12131. /* [in] */ HRESULT hrError,
  12132. /* [in] */ DWORD dwLookupID,
  12133. /* [in] */ LCID lcid,
  12134. /* [out] */ BSTR *pbstrHelpFile,
  12135. /* [out] */ DWORD *pdwHelpContext,
  12136. /* [out] */ IErrorInfo **ppErrorInfoRem);
  12137. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorLookup_ReleaseErrors_Proxy(
  12138. IErrorLookup * This,
  12139. /* [in] */ const DWORD dwDynamicErrorID);
  12140. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorLookup_ReleaseErrors_Stub(
  12141. IErrorLookup * This,
  12142. /* [in] */ const DWORD dwDynamicErrorID,
  12143. /* [out] */ IErrorInfo **ppErrorInfoRem);
  12144. /* [local] */ HRESULT STDMETHODCALLTYPE ISQLErrorInfo_GetSQLInfo_Proxy(
  12145. ISQLErrorInfo * This,
  12146. /* [out] */ BSTR *pbstrSQLState,
  12147. /* [out] */ LONG *plNativeError);
  12148. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISQLErrorInfo_GetSQLInfo_Stub(
  12149. ISQLErrorInfo * This,
  12150. /* [out] */ BSTR *pbstrSQLState,
  12151. /* [out] */ LONG *plNativeError,
  12152. /* [out] */ IErrorInfo **ppErrorInfoRem);
  12153. /* [local] */ HRESULT STDMETHODCALLTYPE IGetDataSource_GetDataSource_Proxy(
  12154. IGetDataSource * This,
  12155. /* [in] */ REFIID riid,
  12156. /* [iid_is][out] */ IUnknown **ppDataSource);
  12157. /* [call_as] */ HRESULT STDMETHODCALLTYPE IGetDataSource_GetDataSource_Stub(
  12158. IGetDataSource * This,
  12159. /* [in] */ REFIID riid,
  12160. /* [iid_is][out] */ IUnknown **ppDataSource,
  12161. /* [out] */ IErrorInfo **ppErrorInfoRem);
  12162. /* [local] */ HRESULT STDMETHODCALLTYPE ITransactionLocal_GetOptionsObject_Proxy(
  12163. ITransactionLocal * This,
  12164. /* [out] */ ITransactionOptions **ppOptions);
  12165. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionLocal_GetOptionsObject_Stub(
  12166. ITransactionLocal * This,
  12167. /* [out] */ ITransactionOptions **ppOptions,
  12168. /* [out] */ IErrorInfo **ppErrorInfoRem);
  12169. /* [local] */ HRESULT STDMETHODCALLTYPE ITransactionLocal_StartTransaction_Proxy(
  12170. ITransactionLocal * This,
  12171. /* [in] */ ISOLEVEL isoLevel,
  12172. /* [in] */ ULONG isoFlags,
  12173. /* [in] */ ITransactionOptions *pOtherOptions,
  12174. /* [out] */ ULONG *pulTransactionLevel);
  12175. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionLocal_StartTransaction_Stub(
  12176. ITransactionLocal * This,
  12177. /* [in] */ ISOLEVEL isoLevel,
  12178. /* [in] */ ULONG isoFlags,
  12179. /* [in] */ ITransactionOptions *pOtherOptions,
  12180. /* [unique][out][in] */ ULONG *pulTransactionLevel,
  12181. /* [out] */ IErrorInfo **ppErrorInfoRem);
  12182. /* [local] */ HRESULT STDMETHODCALLTYPE ITransactionJoin_GetOptionsObject_Proxy(
  12183. ITransactionJoin * This,
  12184. /* [out] */ ITransactionOptions **ppOptions);
  12185. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionJoin_GetOptionsObject_Stub(
  12186. ITransactionJoin * This,
  12187. /* [out] */ ITransactionOptions **ppOptions,
  12188. /* [out] */ IErrorInfo **ppErrorInfoRem);
  12189. /* [local] */ HRESULT STDMETHODCALLTYPE ITransactionJoin_JoinTransaction_Proxy(
  12190. ITransactionJoin * This,
  12191. /* [in] */ IUnknown *punkTransactionCoord,
  12192. /* [in] */ ISOLEVEL isoLevel,
  12193. /* [in] */ ULONG isoFlags,
  12194. /* [in] */ ITransactionOptions *pOtherOptions);
  12195. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionJoin_JoinTransaction_Stub(
  12196. ITransactionJoin * This,
  12197. /* [unique][in] */ IUnknown *punkTransactionCoord,
  12198. /* [in] */ ISOLEVEL isoLevel,
  12199. /* [in] */ ULONG isoFlags,
  12200. /* [in] */ ITransactionOptions *pOtherOptions,
  12201. /* [out] */ IErrorInfo **ppErrorInfoRem);
  12202. /* [local] */ HRESULT STDMETHODCALLTYPE ITransactionObject_GetTransactionObject_Proxy(
  12203. ITransactionObject * This,
  12204. /* [in] */ ULONG ulTransactionLevel,
  12205. /* [out] */ ITransaction **ppTransactionObject);
  12206. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionObject_GetTransactionObject_Stub(
  12207. ITransactionObject * This,
  12208. /* [in] */ ULONG ulTransactionLevel,
  12209. /* [out] */ ITransaction **ppTransactionObject,
  12210. /* [out] */ IErrorInfo **ppErrorInfoRem);
  12211. /* [local] */ HRESULT STDMETHODCALLTYPE IScopedOperations_Copy_Proxy(
  12212. IScopedOperations * This,
  12213. /* [in] */ DBCOUNTITEM cRows,
  12214. /* [size_is][in] */ LPCOLESTR rgpwszSourceURLs[ ],
  12215. /* [size_is][in] */ LPCOLESTR rgpwszDestURLs[ ],
  12216. /* [in] */ DWORD dwCopyFlags,
  12217. /* [unique][in] */ IAuthenticate *pAuthenticate,
  12218. /* [size_is][out][in] */ DBSTATUS rgdwStatus[ ],
  12219. /* [size_is][out] */ LPOLESTR rgpwszNewURLs[ ],
  12220. /* [out] */ OLECHAR **ppStringsBuffer);
  12221. /* [call_as] */ HRESULT STDMETHODCALLTYPE IScopedOperations_Copy_Stub(
  12222. IScopedOperations * This,
  12223. /* [in] */ DBCOUNTITEM cRows,
  12224. /* [size_is][in] */ LPCOLESTR *rgpwszSourceURLs,
  12225. /* [size_is][in] */ LPCOLESTR *rgpwszDestURLs,
  12226. /* [in] */ DWORD dwCopyFlags,
  12227. /* [in] */ IAuthenticate *pAuthenticate,
  12228. /* [size_is][out] */ DBSTATUS *rgdwStatus,
  12229. /* [size_is][size_is][out] */ DBBYTEOFFSET **prgulNewURLOffsets,
  12230. /* [out][in] */ ULONG *pcbStringsBuffer,
  12231. /* [size_is][size_is][unique][out][in] */ OLECHAR **ppStringsBuffer);
  12232. /* [local] */ HRESULT STDMETHODCALLTYPE IScopedOperations_Move_Proxy(
  12233. IScopedOperations * This,
  12234. /* [in] */ DBCOUNTITEM cRows,
  12235. /* [size_is][in] */ LPCOLESTR rgpwszSourceURLs[ ],
  12236. /* [size_is][in] */ LPCOLESTR rgpwszDestURLs[ ],
  12237. /* [in] */ DWORD dwMoveFlags,
  12238. /* [unique][in] */ IAuthenticate *pAuthenticate,
  12239. /* [size_is][out][in] */ DBSTATUS rgdwStatus[ ],
  12240. /* [size_is][out] */ LPOLESTR rgpwszNewURLs[ ],
  12241. /* [out] */ OLECHAR **ppStringsBuffer);
  12242. /* [call_as] */ HRESULT STDMETHODCALLTYPE IScopedOperations_Move_Stub(
  12243. IScopedOperations * This,
  12244. /* [in] */ DBCOUNTITEM cRows,
  12245. /* [size_is][in] */ LPCOLESTR *rgpwszSourceURLs,
  12246. /* [size_is][in] */ LPCOLESTR *rgpwszDestURLs,
  12247. /* [in] */ DWORD dwMoveFlags,
  12248. /* [in] */ IAuthenticate *pAuthenticate,
  12249. /* [size_is][out] */ DBSTATUS *rgdwStatus,
  12250. /* [size_is][size_is][out] */ DBBYTEOFFSET **prgulNewURLOffsets,
  12251. /* [out][in] */ ULONG *pcbStringsBuffer,
  12252. /* [size_is][size_is][unique][out][in] */ OLECHAR **ppStringsBuffer);
  12253. /* [local] */ HRESULT STDMETHODCALLTYPE IScopedOperations_Delete_Proxy(
  12254. IScopedOperations * This,
  12255. /* [in] */ DBCOUNTITEM cRows,
  12256. /* [size_is][in] */ LPCOLESTR rgpwszURLs[ ],
  12257. /* [in] */ DWORD dwDeleteFlags,
  12258. /* [size_is][out][in] */ DBSTATUS rgdwStatus[ ]);
  12259. /* [call_as] */ HRESULT STDMETHODCALLTYPE IScopedOperations_Delete_Stub(
  12260. IScopedOperations * This,
  12261. /* [in] */ DBCOUNTITEM cRows,
  12262. /* [size_is][in] */ LPCOLESTR *rgpwszURLs,
  12263. /* [in] */ DWORD dwDeleteFlags,
  12264. /* [size_is][out] */ DBSTATUS *rgdwStatus);
  12265. /* [local] */ HRESULT STDMETHODCALLTYPE IScopedOperations_OpenRowset_Proxy(
  12266. IScopedOperations * This,
  12267. /* [in] */ IUnknown *pUnkOuter,
  12268. /* [unique][in] */ DBID *pTableID,
  12269. /* [unique][in] */ DBID *pIndexID,
  12270. /* [in] */ REFIID riid,
  12271. /* [in] */ ULONG cPropertySets,
  12272. /* [size_is][out][in] */ DBPROPSET rgPropertySets[ ],
  12273. /* [iid_is][out] */ IUnknown **ppRowset);
  12274. /* [call_as] */ HRESULT STDMETHODCALLTYPE IScopedOperations_OpenRowset_Stub(
  12275. IScopedOperations * This,
  12276. /* [in] */ IUnknown *pUnkOuter,
  12277. /* [unique][in] */ DBID *pTableID,
  12278. /* [unique][in] */ DBID *pIndexID,
  12279. /* [in] */ REFIID riid,
  12280. /* [in] */ ULONG cPropertySets,
  12281. /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  12282. /* [iid_is][unique][out][in] */ IUnknown **ppRowset,
  12283. /* [in] */ ULONG cTotalProps,
  12284. /* [size_is][out] */ DBPROPSTATUS *rgPropStatus);
  12285. /* [local] */ HRESULT STDMETHODCALLTYPE IBindResource_Bind_Proxy(
  12286. IBindResource * This,
  12287. /* [in] */ IUnknown *pUnkOuter,
  12288. /* [in] */ LPCOLESTR pwszURL,
  12289. /* [in] */ DBBINDURLFLAG dwBindURLFlags,
  12290. /* [in] */ REFGUID rguid,
  12291. /* [in] */ REFIID riid,
  12292. /* [in] */ IAuthenticate *pAuthenticate,
  12293. /* [unique][out][in] */ DBIMPLICITSESSION *pImplSession,
  12294. /* [unique][out][in] */ DBBINDURLSTATUS *pdwBindStatus,
  12295. /* [iid_is][out] */ IUnknown **ppUnk);
  12296. /* [call_as] */ HRESULT STDMETHODCALLTYPE IBindResource_Bind_Stub(
  12297. IBindResource * This,
  12298. /* [in] */ IUnknown *pUnkOuter,
  12299. /* [in] */ LPCOLESTR pwszURL,
  12300. /* [in] */ DBBINDURLFLAG dwBindURLFlags,
  12301. /* [in] */ REFGUID rguid,
  12302. /* [in] */ REFIID riid,
  12303. /* [in] */ IAuthenticate *pAuthenticate,
  12304. /* [in] */ IUnknown *pSessionUnkOuter,
  12305. /* [unique][in] */ IID *piid,
  12306. /* [iid_is][unique][out][in] */ IUnknown **ppSession,
  12307. /* [unique][out][in] */ DBBINDURLSTATUS *pdwBindStatus,
  12308. /* [iid_is][out] */ IUnknown **ppUnk);
  12309. /* [local] */ HRESULT STDMETHODCALLTYPE ICreateRow_CreateRow_Proxy(
  12310. ICreateRow * This,
  12311. /* [unique][in] */ IUnknown *pUnkOuter,
  12312. /* [in] */ LPCOLESTR pwszURL,
  12313. /* [in] */ DBBINDURLFLAG dwBindURLFlags,
  12314. /* [in] */ REFGUID rguid,
  12315. /* [in] */ REFIID riid,
  12316. /* [unique][in] */ IAuthenticate *pAuthenticate,
  12317. /* [unique][out][in] */ DBIMPLICITSESSION *pImplSession,
  12318. /* [unique][out][in] */ DBBINDURLSTATUS *pdwBindStatus,
  12319. /* [out] */ LPOLESTR *ppwszNewURL,
  12320. /* [iid_is][out] */ IUnknown **ppUnk);
  12321. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICreateRow_CreateRow_Stub(
  12322. ICreateRow * This,
  12323. /* [in] */ IUnknown *pUnkOuter,
  12324. /* [in] */ LPCOLESTR pwszURL,
  12325. /* [in] */ DBBINDURLFLAG dwBindURLFlags,
  12326. /* [in] */ REFGUID rguid,
  12327. /* [in] */ REFIID riid,
  12328. /* [in] */ IAuthenticate *pAuthenticate,
  12329. /* [in] */ IUnknown *pSessionUnkOuter,
  12330. /* [unique][in] */ IID *piid,
  12331. /* [iid_is][unique][out][in] */ IUnknown **ppSession,
  12332. /* [unique][out][in] */ DBBINDURLSTATUS *pdwBindStatus,
  12333. /* [unique][out][in] */ LPOLESTR *ppwszNewURL,
  12334. /* [iid_is][out] */ IUnknown **ppUnk);
  12335. /* [local] */ HRESULT STDMETHODCALLTYPE IColumnsInfo2_GetRestrictedColumnInfo_Proxy(
  12336. IColumnsInfo2 * This,
  12337. /* [in] */ DBORDINAL cColumnIDMasks,
  12338. /* [size_is][in] */ const DBID rgColumnIDMasks[ ],
  12339. /* [in] */ DWORD dwFlags,
  12340. /* [out][in] */ DBORDINAL *pcColumns,
  12341. /* [size_is][size_is][out] */ DBID **prgColumnIDs,
  12342. /* [size_is][size_is][out] */ DBCOLUMNINFO **prgColumnInfo,
  12343. /* [out] */ OLECHAR **ppStringsBuffer);
  12344. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsInfo2_GetRestrictedColumnInfo_Stub(
  12345. IColumnsInfo2 * This,
  12346. /* [in] */ DBORDINAL cColumnIDMasks,
  12347. /* [size_is][unique][in] */ const DBID *rgColumnIDMasks,
  12348. /* [in] */ DWORD dwFlags,
  12349. /* [out][in] */ DBORDINAL *pcColumns,
  12350. /* [size_is][size_is][unique][out][in] */ DBID **prgColumnIDs,
  12351. /* [size_is][size_is][unique][out][in] */ DBCOLUMNINFO **prgColumnInfo,
  12352. /* [size_is][size_is][out] */ DBBYTEOFFSET **prgNameOffsets,
  12353. /* [size_is][size_is][out] */ DBBYTEOFFSET **prgcolumnidOffsets,
  12354. /* [out][in] */ DBLENGTH *pcbStringsBuffer,
  12355. /* [size_is][size_is][unique][out][in] */ OLECHAR **ppStringsBuffer);
  12356. /* [local] */ HRESULT STDMETHODCALLTYPE IRegisterProvider_GetURLMapping_Proxy(
  12357. IRegisterProvider * This,
  12358. /* [in] */ LPCOLESTR pwszURL,
  12359. /* [in] */ DB_DWRESERVE dwReserved,
  12360. /* [out] */ CLSID *pclsidProvider);
  12361. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRegisterProvider_GetURLMapping_Stub(
  12362. IRegisterProvider * This,
  12363. /* [in] */ LPCOLESTR pwszURL,
  12364. /* [in] */ DB_DWRESERVE dwReserved,
  12365. /* [out] */ CLSID *pclsidProvider);
  12366. #endif // OLEDBPROXY
  12367. /* end of Additional Prototypes */
  12368. #ifdef __cplusplus
  12369. }
  12370. #endif
  12371. #endif