home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / oledb.h < prev    next >
C/C++ Source or Header  |  1998-05-31  |  601KB  |  17,153 lines

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2.  
  3.  
  4. /* File created by MIDL compiler version 3.01.75 */
  5. /* at Tue Apr 28 11:55:07 1998
  6.  */
  7. /* Compiler settings for idl\oledb.idl:
  8.     Oicf (OptLev=i2), W1, Zp2, env=Win32, ms_ext, c_ext
  9.     error checks: none
  10. */
  11. //@@MIDL_FILE_HEADING(  )
  12. #include "rpc.h"
  13. #include "rpcndr.h"
  14. #ifndef COM_NO_WINDOWS_H
  15. #include "windows.h"
  16. #include "ole2.h"
  17. #endif /*COM_NO_WINDOWS_H*/
  18.  
  19. #ifndef __oledb_h__
  20. #define __oledb_h__
  21.  
  22. #ifdef __cplusplus
  23. extern "C"{
  24. #endif 
  25.  
  26. /* Forward Declarations */ 
  27.  
  28. #ifndef __IAccessor_FWD_DEFINED__
  29. #define __IAccessor_FWD_DEFINED__
  30. typedef interface IAccessor IAccessor;
  31. #endif     /* __IAccessor_FWD_DEFINED__ */
  32.  
  33.  
  34. #ifndef __IRowset_FWD_DEFINED__
  35. #define __IRowset_FWD_DEFINED__
  36. typedef interface IRowset IRowset;
  37. #endif     /* __IRowset_FWD_DEFINED__ */
  38.  
  39.  
  40. #ifndef __IRowsetInfo_FWD_DEFINED__
  41. #define __IRowsetInfo_FWD_DEFINED__
  42. typedef interface IRowsetInfo IRowsetInfo;
  43. #endif     /* __IRowsetInfo_FWD_DEFINED__ */
  44.  
  45.  
  46. #ifndef __IRowsetLocate_FWD_DEFINED__
  47. #define __IRowsetLocate_FWD_DEFINED__
  48. typedef interface IRowsetLocate IRowsetLocate;
  49. #endif     /* __IRowsetLocate_FWD_DEFINED__ */
  50.  
  51.  
  52. #ifndef __IRowsetResynch_FWD_DEFINED__
  53. #define __IRowsetResynch_FWD_DEFINED__
  54. typedef interface IRowsetResynch IRowsetResynch;
  55. #endif     /* __IRowsetResynch_FWD_DEFINED__ */
  56.  
  57.  
  58. #ifndef __IRowsetScroll_FWD_DEFINED__
  59. #define __IRowsetScroll_FWD_DEFINED__
  60. typedef interface IRowsetScroll IRowsetScroll;
  61. #endif     /* __IRowsetScroll_FWD_DEFINED__ */
  62.  
  63.  
  64. #ifndef __IChapteredRowset_FWD_DEFINED__
  65. #define __IChapteredRowset_FWD_DEFINED__
  66. typedef interface IChapteredRowset IChapteredRowset;
  67. #endif     /* __IChapteredRowset_FWD_DEFINED__ */
  68.  
  69.  
  70. #ifndef __IRowsetFind_FWD_DEFINED__
  71. #define __IRowsetFind_FWD_DEFINED__
  72. typedef interface IRowsetFind IRowsetFind;
  73. #endif     /* __IRowsetFind_FWD_DEFINED__ */
  74.  
  75.  
  76. #ifndef __IRowPosition_FWD_DEFINED__
  77. #define __IRowPosition_FWD_DEFINED__
  78. typedef interface IRowPosition IRowPosition;
  79. #endif     /* __IRowPosition_FWD_DEFINED__ */
  80.  
  81.  
  82. #ifndef __IRowPositionChange_FWD_DEFINED__
  83. #define __IRowPositionChange_FWD_DEFINED__
  84. typedef interface IRowPositionChange IRowPositionChange;
  85. #endif     /* __IRowPositionChange_FWD_DEFINED__ */
  86.  
  87.  
  88. #ifndef __IViewRowset_FWD_DEFINED__
  89. #define __IViewRowset_FWD_DEFINED__
  90. typedef interface IViewRowset IViewRowset;
  91. #endif     /* __IViewRowset_FWD_DEFINED__ */
  92.  
  93.  
  94. #ifndef __IViewChapter_FWD_DEFINED__
  95. #define __IViewChapter_FWD_DEFINED__
  96. typedef interface IViewChapter IViewChapter;
  97. #endif     /* __IViewChapter_FWD_DEFINED__ */
  98.  
  99.  
  100. #ifndef __IViewSort_FWD_DEFINED__
  101. #define __IViewSort_FWD_DEFINED__
  102. typedef interface IViewSort IViewSort;
  103. #endif     /* __IViewSort_FWD_DEFINED__ */
  104.  
  105.  
  106. #ifndef __IViewFilter_FWD_DEFINED__
  107. #define __IViewFilter_FWD_DEFINED__
  108. typedef interface IViewFilter IViewFilter;
  109. #endif     /* __IViewFilter_FWD_DEFINED__ */
  110.  
  111.  
  112. #ifndef __IRowsetView_FWD_DEFINED__
  113. #define __IRowsetView_FWD_DEFINED__
  114. typedef interface IRowsetView IRowsetView;
  115. #endif     /* __IRowsetView_FWD_DEFINED__ */
  116.  
  117.  
  118. #ifndef __IRowsetExactScroll_FWD_DEFINED__
  119. #define __IRowsetExactScroll_FWD_DEFINED__
  120. typedef interface IRowsetExactScroll IRowsetExactScroll;
  121. #endif     /* __IRowsetExactScroll_FWD_DEFINED__ */
  122.  
  123.  
  124. #ifndef __IRowsetChange_FWD_DEFINED__
  125. #define __IRowsetChange_FWD_DEFINED__
  126. typedef interface IRowsetChange IRowsetChange;
  127. #endif     /* __IRowsetChange_FWD_DEFINED__ */
  128.  
  129.  
  130. #ifndef __IRowsetUpdate_FWD_DEFINED__
  131. #define __IRowsetUpdate_FWD_DEFINED__
  132. typedef interface IRowsetUpdate IRowsetUpdate;
  133. #endif     /* __IRowsetUpdate_FWD_DEFINED__ */
  134.  
  135.  
  136. #ifndef __IRowsetNextRowset_FWD_DEFINED__
  137. #define __IRowsetNextRowset_FWD_DEFINED__
  138. typedef interface IRowsetNextRowset IRowsetNextRowset;
  139. #endif     /* __IRowsetNextRowset_FWD_DEFINED__ */
  140.  
  141.  
  142. #ifndef __IRowsetIdentity_FWD_DEFINED__
  143. #define __IRowsetIdentity_FWD_DEFINED__
  144. typedef interface IRowsetIdentity IRowsetIdentity;
  145. #endif     /* __IRowsetIdentity_FWD_DEFINED__ */
  146.  
  147.  
  148. #ifndef __IRowsetNewRowAfter_FWD_DEFINED__
  149. #define __IRowsetNewRowAfter_FWD_DEFINED__
  150. typedef interface IRowsetNewRowAfter IRowsetNewRowAfter;
  151. #endif     /* __IRowsetNewRowAfter_FWD_DEFINED__ */
  152.  
  153.  
  154. #ifndef __IRowsetWithParameters_FWD_DEFINED__
  155. #define __IRowsetWithParameters_FWD_DEFINED__
  156. typedef interface IRowsetWithParameters IRowsetWithParameters;
  157. #endif     /* __IRowsetWithParameters_FWD_DEFINED__ */
  158.  
  159.  
  160. #ifndef __IRowsetAsynch_FWD_DEFINED__
  161. #define __IRowsetAsynch_FWD_DEFINED__
  162. typedef interface IRowsetAsynch IRowsetAsynch;
  163. #endif     /* __IRowsetAsynch_FWD_DEFINED__ */
  164.  
  165.  
  166. #ifndef __IRowsetKeys_FWD_DEFINED__
  167. #define __IRowsetKeys_FWD_DEFINED__
  168. typedef interface IRowsetKeys IRowsetKeys;
  169. #endif     /* __IRowsetKeys_FWD_DEFINED__ */
  170.  
  171.  
  172. #ifndef __IRowsetNotify_FWD_DEFINED__
  173. #define __IRowsetNotify_FWD_DEFINED__
  174. typedef interface IRowsetNotify IRowsetNotify;
  175. #endif     /* __IRowsetNotify_FWD_DEFINED__ */
  176.  
  177.  
  178. #ifndef __IRowsetIndex_FWD_DEFINED__
  179. #define __IRowsetIndex_FWD_DEFINED__
  180. typedef interface IRowsetIndex IRowsetIndex;
  181. #endif     /* __IRowsetIndex_FWD_DEFINED__ */
  182.  
  183.  
  184. #ifndef __IRowsetWatchAll_FWD_DEFINED__
  185. #define __IRowsetWatchAll_FWD_DEFINED__
  186. typedef interface IRowsetWatchAll IRowsetWatchAll;
  187. #endif     /* __IRowsetWatchAll_FWD_DEFINED__ */
  188.  
  189.  
  190. #ifndef __IRowsetWatchNotify_FWD_DEFINED__
  191. #define __IRowsetWatchNotify_FWD_DEFINED__
  192. typedef interface IRowsetWatchNotify IRowsetWatchNotify;
  193. #endif     /* __IRowsetWatchNotify_FWD_DEFINED__ */
  194.  
  195.  
  196. #ifndef __IRowsetWatchRegion_FWD_DEFINED__
  197. #define __IRowsetWatchRegion_FWD_DEFINED__
  198. typedef interface IRowsetWatchRegion IRowsetWatchRegion;
  199. #endif     /* __IRowsetWatchRegion_FWD_DEFINED__ */
  200.  
  201.  
  202. #ifndef __IRowsetCopyRows_FWD_DEFINED__
  203. #define __IRowsetCopyRows_FWD_DEFINED__
  204. typedef interface IRowsetCopyRows IRowsetCopyRows;
  205. #endif     /* __IRowsetCopyRows_FWD_DEFINED__ */
  206.  
  207.  
  208. #ifndef __IReadData_FWD_DEFINED__
  209. #define __IReadData_FWD_DEFINED__
  210. typedef interface IReadData IReadData;
  211. #endif     /* __IReadData_FWD_DEFINED__ */
  212.  
  213.  
  214. #ifndef __ICommand_FWD_DEFINED__
  215. #define __ICommand_FWD_DEFINED__
  216. typedef interface ICommand ICommand;
  217. #endif     /* __ICommand_FWD_DEFINED__ */
  218.  
  219.  
  220. #ifndef __IMultipleResults_FWD_DEFINED__
  221. #define __IMultipleResults_FWD_DEFINED__
  222. typedef interface IMultipleResults IMultipleResults;
  223. #endif     /* __IMultipleResults_FWD_DEFINED__ */
  224.  
  225.  
  226. #ifndef __IConvertType_FWD_DEFINED__
  227. #define __IConvertType_FWD_DEFINED__
  228. typedef interface IConvertType IConvertType;
  229. #endif     /* __IConvertType_FWD_DEFINED__ */
  230.  
  231.  
  232. #ifndef __ICommandCost_FWD_DEFINED__
  233. #define __ICommandCost_FWD_DEFINED__
  234. typedef interface ICommandCost ICommandCost;
  235. #endif     /* __ICommandCost_FWD_DEFINED__ */
  236.  
  237.  
  238. #ifndef __ICommandPrepare_FWD_DEFINED__
  239. #define __ICommandPrepare_FWD_DEFINED__
  240. typedef interface ICommandPrepare ICommandPrepare;
  241. #endif     /* __ICommandPrepare_FWD_DEFINED__ */
  242.  
  243.  
  244. #ifndef __ICommandProperties_FWD_DEFINED__
  245. #define __ICommandProperties_FWD_DEFINED__
  246. typedef interface ICommandProperties ICommandProperties;
  247. #endif     /* __ICommandProperties_FWD_DEFINED__ */
  248.  
  249.  
  250. #ifndef __ICommandText_FWD_DEFINED__
  251. #define __ICommandText_FWD_DEFINED__
  252. typedef interface ICommandText ICommandText;
  253. #endif     /* __ICommandText_FWD_DEFINED__ */
  254.  
  255.  
  256. #ifndef __ICommandTree_FWD_DEFINED__
  257. #define __ICommandTree_FWD_DEFINED__
  258. typedef interface ICommandTree ICommandTree;
  259. #endif     /* __ICommandTree_FWD_DEFINED__ */
  260.  
  261.  
  262. #ifndef __ICommandValidate_FWD_DEFINED__
  263. #define __ICommandValidate_FWD_DEFINED__
  264. typedef interface ICommandValidate ICommandValidate;
  265. #endif     /* __ICommandValidate_FWD_DEFINED__ */
  266.  
  267.  
  268. #ifndef __ICommandWithParameters_FWD_DEFINED__
  269. #define __ICommandWithParameters_FWD_DEFINED__
  270. typedef interface ICommandWithParameters ICommandWithParameters;
  271. #endif     /* __ICommandWithParameters_FWD_DEFINED__ */
  272.  
  273.  
  274. #ifndef __IQuery_FWD_DEFINED__
  275. #define __IQuery_FWD_DEFINED__
  276. typedef interface IQuery IQuery;
  277. #endif     /* __IQuery_FWD_DEFINED__ */
  278.  
  279.  
  280. #ifndef __IColumnsRowset_FWD_DEFINED__
  281. #define __IColumnsRowset_FWD_DEFINED__
  282. typedef interface IColumnsRowset IColumnsRowset;
  283. #endif     /* __IColumnsRowset_FWD_DEFINED__ */
  284.  
  285.  
  286. #ifndef __IColumnsInfo_FWD_DEFINED__
  287. #define __IColumnsInfo_FWD_DEFINED__
  288. typedef interface IColumnsInfo IColumnsInfo;
  289. #endif     /* __IColumnsInfo_FWD_DEFINED__ */
  290.  
  291.  
  292. #ifndef __IDBCreateCommand_FWD_DEFINED__
  293. #define __IDBCreateCommand_FWD_DEFINED__
  294. typedef interface IDBCreateCommand IDBCreateCommand;
  295. #endif     /* __IDBCreateCommand_FWD_DEFINED__ */
  296.  
  297.  
  298. #ifndef __IDBCreateSession_FWD_DEFINED__
  299. #define __IDBCreateSession_FWD_DEFINED__
  300. typedef interface IDBCreateSession IDBCreateSession;
  301. #endif     /* __IDBCreateSession_FWD_DEFINED__ */
  302.  
  303.  
  304. #ifndef __ISourcesRowset_FWD_DEFINED__
  305. #define __ISourcesRowset_FWD_DEFINED__
  306. typedef interface ISourcesRowset ISourcesRowset;
  307. #endif     /* __ISourcesRowset_FWD_DEFINED__ */
  308.  
  309.  
  310. #ifndef __IDBProperties_FWD_DEFINED__
  311. #define __IDBProperties_FWD_DEFINED__
  312. typedef interface IDBProperties IDBProperties;
  313. #endif     /* __IDBProperties_FWD_DEFINED__ */
  314.  
  315.  
  316. #ifndef __IDBInitialize_FWD_DEFINED__
  317. #define __IDBInitialize_FWD_DEFINED__
  318. typedef interface IDBInitialize IDBInitialize;
  319. #endif     /* __IDBInitialize_FWD_DEFINED__ */
  320.  
  321.  
  322. #ifndef __IDBInfo_FWD_DEFINED__
  323. #define __IDBInfo_FWD_DEFINED__
  324. typedef interface IDBInfo IDBInfo;
  325. #endif     /* __IDBInfo_FWD_DEFINED__ */
  326.  
  327.  
  328. #ifndef __IDBDataSourceAdmin_FWD_DEFINED__
  329. #define __IDBDataSourceAdmin_FWD_DEFINED__
  330. typedef interface IDBDataSourceAdmin IDBDataSourceAdmin;
  331. #endif     /* __IDBDataSourceAdmin_FWD_DEFINED__ */
  332.  
  333.  
  334. #ifndef __IDBAsynchNotify_FWD_DEFINED__
  335. #define __IDBAsynchNotify_FWD_DEFINED__
  336. typedef interface IDBAsynchNotify IDBAsynchNotify;
  337. #endif     /* __IDBAsynchNotify_FWD_DEFINED__ */
  338.  
  339.  
  340. #ifndef __IDBAsynchStatus_FWD_DEFINED__
  341. #define __IDBAsynchStatus_FWD_DEFINED__
  342. typedef interface IDBAsynchStatus IDBAsynchStatus;
  343. #endif     /* __IDBAsynchStatus_FWD_DEFINED__ */
  344.  
  345.  
  346. #ifndef __ISessionProperties_FWD_DEFINED__
  347. #define __ISessionProperties_FWD_DEFINED__
  348. typedef interface ISessionProperties ISessionProperties;
  349. #endif     /* __ISessionProperties_FWD_DEFINED__ */
  350.  
  351.  
  352. #ifndef __IIndexDefinition_FWD_DEFINED__
  353. #define __IIndexDefinition_FWD_DEFINED__
  354. typedef interface IIndexDefinition IIndexDefinition;
  355. #endif     /* __IIndexDefinition_FWD_DEFINED__ */
  356.  
  357.  
  358. #ifndef __ITableDefinition_FWD_DEFINED__
  359. #define __ITableDefinition_FWD_DEFINED__
  360. typedef interface ITableDefinition ITableDefinition;
  361. #endif     /* __ITableDefinition_FWD_DEFINED__ */
  362.  
  363.  
  364. #ifndef __IOpenRowset_FWD_DEFINED__
  365. #define __IOpenRowset_FWD_DEFINED__
  366. typedef interface IOpenRowset IOpenRowset;
  367. #endif     /* __IOpenRowset_FWD_DEFINED__ */
  368.  
  369.  
  370. #ifndef __ITableRename_FWD_DEFINED__
  371. #define __ITableRename_FWD_DEFINED__
  372. typedef interface ITableRename ITableRename;
  373. #endif     /* __ITableRename_FWD_DEFINED__ */
  374.  
  375.  
  376. #ifndef __IDBSchemaCommand_FWD_DEFINED__
  377. #define __IDBSchemaCommand_FWD_DEFINED__
  378. typedef interface IDBSchemaCommand IDBSchemaCommand;
  379. #endif     /* __IDBSchemaCommand_FWD_DEFINED__ */
  380.  
  381.  
  382. #ifndef __IDBSchemaRowset_FWD_DEFINED__
  383. #define __IDBSchemaRowset_FWD_DEFINED__
  384. typedef interface IDBSchemaRowset IDBSchemaRowset;
  385. #endif     /* __IDBSchemaRowset_FWD_DEFINED__ */
  386.  
  387.  
  388. #ifndef __IProvideMoniker_FWD_DEFINED__
  389. #define __IProvideMoniker_FWD_DEFINED__
  390. typedef interface IProvideMoniker IProvideMoniker;
  391. #endif     /* __IProvideMoniker_FWD_DEFINED__ */
  392.  
  393.  
  394. #ifndef __IMDDataset_FWD_DEFINED__
  395. #define __IMDDataset_FWD_DEFINED__
  396. typedef interface IMDDataset IMDDataset;
  397. #endif     /* __IMDDataset_FWD_DEFINED__ */
  398.  
  399.  
  400. #ifndef __IMDFind_FWD_DEFINED__
  401. #define __IMDFind_FWD_DEFINED__
  402. typedef interface IMDFind IMDFind;
  403. #endif     /* __IMDFind_FWD_DEFINED__ */
  404.  
  405.  
  406. #ifndef __IMDRangeRowset_FWD_DEFINED__
  407. #define __IMDRangeRowset_FWD_DEFINED__
  408. typedef interface IMDRangeRowset IMDRangeRowset;
  409. #endif     /* __IMDRangeRowset_FWD_DEFINED__ */
  410.  
  411.  
  412. #ifndef __IAlterTable_FWD_DEFINED__
  413. #define __IAlterTable_FWD_DEFINED__
  414. typedef interface IAlterTable IAlterTable;
  415. #endif     /* __IAlterTable_FWD_DEFINED__ */
  416.  
  417.  
  418. #ifndef __IAlterIndex_FWD_DEFINED__
  419. #define __IAlterIndex_FWD_DEFINED__
  420. typedef interface IAlterIndex IAlterIndex;
  421. #endif     /* __IAlterIndex_FWD_DEFINED__ */
  422.  
  423.  
  424. #ifndef __IRowsetChapterMember_FWD_DEFINED__
  425. #define __IRowsetChapterMember_FWD_DEFINED__
  426. typedef interface IRowsetChapterMember IRowsetChapterMember;
  427. #endif     /* __IRowsetChapterMember_FWD_DEFINED__ */
  428.  
  429.  
  430. #ifndef __ICommandPersist_FWD_DEFINED__
  431. #define __ICommandPersist_FWD_DEFINED__
  432. typedef interface ICommandPersist ICommandPersist;
  433. #endif     /* __ICommandPersist_FWD_DEFINED__ */
  434.  
  435.  
  436. #ifndef __IRowsetRefresh_FWD_DEFINED__
  437. #define __IRowsetRefresh_FWD_DEFINED__
  438. typedef interface IRowsetRefresh IRowsetRefresh;
  439. #endif     /* __IRowsetRefresh_FWD_DEFINED__ */
  440.  
  441.  
  442. #ifndef __IParentRowset_FWD_DEFINED__
  443. #define __IParentRowset_FWD_DEFINED__
  444. typedef interface IParentRowset IParentRowset;
  445. #endif     /* __IParentRowset_FWD_DEFINED__ */
  446.  
  447.  
  448. #ifndef __IErrorRecords_FWD_DEFINED__
  449. #define __IErrorRecords_FWD_DEFINED__
  450. typedef interface IErrorRecords IErrorRecords;
  451. #endif     /* __IErrorRecords_FWD_DEFINED__ */
  452.  
  453.  
  454. #ifndef __IErrorLookup_FWD_DEFINED__
  455. #define __IErrorLookup_FWD_DEFINED__
  456. typedef interface IErrorLookup IErrorLookup;
  457. #endif     /* __IErrorLookup_FWD_DEFINED__ */
  458.  
  459.  
  460. #ifndef __ISQLErrorInfo_FWD_DEFINED__
  461. #define __ISQLErrorInfo_FWD_DEFINED__
  462. typedef interface ISQLErrorInfo ISQLErrorInfo;
  463. #endif     /* __ISQLErrorInfo_FWD_DEFINED__ */
  464.  
  465.  
  466. #ifndef __IGetDataSource_FWD_DEFINED__
  467. #define __IGetDataSource_FWD_DEFINED__
  468. typedef interface IGetDataSource IGetDataSource;
  469. #endif     /* __IGetDataSource_FWD_DEFINED__ */
  470.  
  471.  
  472. #ifndef __ITransactionLocal_FWD_DEFINED__
  473. #define __ITransactionLocal_FWD_DEFINED__
  474. typedef interface ITransactionLocal ITransactionLocal;
  475. #endif     /* __ITransactionLocal_FWD_DEFINED__ */
  476.  
  477.  
  478. #ifndef __ITransactionJoin_FWD_DEFINED__
  479. #define __ITransactionJoin_FWD_DEFINED__
  480. typedef interface ITransactionJoin ITransactionJoin;
  481. #endif     /* __ITransactionJoin_FWD_DEFINED__ */
  482.  
  483.  
  484. #ifndef __ITransactionObject_FWD_DEFINED__
  485. #define __ITransactionObject_FWD_DEFINED__
  486. typedef interface ITransactionObject ITransactionObject;
  487. #endif     /* __ITransactionObject_FWD_DEFINED__ */
  488.  
  489.  
  490. #ifndef __ITrusteeAdmin_FWD_DEFINED__
  491. #define __ITrusteeAdmin_FWD_DEFINED__
  492. typedef interface ITrusteeAdmin ITrusteeAdmin;
  493. #endif     /* __ITrusteeAdmin_FWD_DEFINED__ */
  494.  
  495.  
  496. #ifndef __ITrusteeGroupAdmin_FWD_DEFINED__
  497. #define __ITrusteeGroupAdmin_FWD_DEFINED__
  498. typedef interface ITrusteeGroupAdmin ITrusteeGroupAdmin;
  499. #endif     /* __ITrusteeGroupAdmin_FWD_DEFINED__ */
  500.  
  501.  
  502. #ifndef __IObjectAccessControl_FWD_DEFINED__
  503. #define __IObjectAccessControl_FWD_DEFINED__
  504. typedef interface IObjectAccessControl IObjectAccessControl;
  505. #endif     /* __IObjectAccessControl_FWD_DEFINED__ */
  506.  
  507.  
  508. #ifndef __ISecurityInfo_FWD_DEFINED__
  509. #define __ISecurityInfo_FWD_DEFINED__
  510. typedef interface ISecurityInfo ISecurityInfo;
  511. #endif     /* __ISecurityInfo_FWD_DEFINED__ */
  512.  
  513.  
  514. /* header files for imported files */
  515. #include "wtypes.h"
  516. #include "oaidl.h"
  517. #include "transact.h"
  518.  
  519. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  520. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  521.  
  522. /****************************************
  523.  * Generated header for interface: __MIDL_itf_oledb_0000
  524.  * at Tue Apr 28 11:55:07 1998
  525.  * using MIDL 3.01.75
  526.  ****************************************/
  527. /* [local] */ 
  528.  
  529.  
  530. //+---------------------------------------------------------------------------
  531. //
  532. //  Microsoft OLE DB
  533. //  Copyright (C) Microsoft Corporation, 1994 - 1998.
  534. //
  535. //----------------------------------------------------------------------------
  536.  
  537. #include <pshpack2.h>    // 2-byte structure packing
  538.  
  539. //
  540. // OLEDBVER
  541. //    OLE DB version number is 2.0 (0x0200); to force a particular version,
  542. //    #define OLEDBVER as required before including this file.
  543. //
  544.  
  545. // If OLEDBVER is not defined, assume version 2.0
  546. #ifndef OLEDBVER
  547. #define OLEDBVER 0x0200
  548. #endif
  549.  
  550.  
  551. extern RPC_IF_HANDLE __MIDL_itf_oledb_0000_v0_0_c_ifspec;
  552. extern RPC_IF_HANDLE __MIDL_itf_oledb_0000_v0_0_s_ifspec;
  553.  
  554. #ifndef __DBStructureDefinitions_INTERFACE_DEFINED__
  555. #define __DBStructureDefinitions_INTERFACE_DEFINED__
  556.  
  557. /****************************************
  558.  * Generated header for interface: DBStructureDefinitions
  559.  * at Tue Apr 28 11:55:07 1998
  560.  * using MIDL 3.01.75
  561.  ****************************************/
  562. /* [auto_handle][unique][uuid] */ 
  563.  
  564.  
  565. #ifndef UNALIGNED
  566. #if defined(_MIPS_) || defined(_ALPHA_) || defined(_PPC_)
  567. #define UNALIGNED __unaligned
  568. #else
  569. #define UNALIGNED
  570. #endif
  571. #endif //UNALIGNED
  572. #undef OLEDBDECLSPEC
  573. #if _MSC_VER >= 1100
  574. #define OLEDBDECLSPEC __declspec(selectany)
  575. #else
  576. #define OLEDBDECLSPEC 
  577. #endif //_MSC_VER
  578. typedef DWORD DBKIND;
  579.  
  580.  
  581. enum DBKINDENUM
  582.     {    DBKIND_GUID_NAME    = 0,
  583.     DBKIND_GUID_PROPID    = DBKIND_GUID_NAME + 1,
  584.     DBKIND_NAME    = DBKIND_GUID_PROPID + 1,
  585.     DBKIND_PGUID_NAME    = DBKIND_NAME + 1,
  586.     DBKIND_PGUID_PROPID    = DBKIND_PGUID_NAME + 1,
  587.     DBKIND_PROPID    = DBKIND_PGUID_PROPID + 1,
  588.     DBKIND_GUID    = DBKIND_PROPID + 1
  589.     };
  590. typedef struct  tagDBID
  591.     {
  592.     /* [switch_is][switch_type] */ union 
  593.         {
  594.         /* [case()] */ GUID guid;
  595.         /* [case()] */ GUID __RPC_FAR *pguid;
  596.         /* [default] */  /* Empty union arm */ 
  597.         }    uGuid;
  598.     DBKIND eKind;
  599.     /* [switch_is][switch_type] */ union 
  600.         {
  601.         /* [case()] */ LPOLESTR pwszName;
  602.         /* [case()] */ ULONG ulPropid;
  603.         /* [default] */  /* Empty union arm */ 
  604.         }    uName;
  605.     }    DBID;
  606.  
  607. typedef struct  tagDB_NUMERIC
  608.     {
  609.     BYTE precision;
  610.     BYTE scale;
  611.     BYTE sign;
  612.     BYTE val[ 16 ];
  613.     }    DB_NUMERIC;
  614.  
  615. #ifndef _ULONGLONG_
  616. typedef hyper LONGLONG;
  617.  
  618. typedef MIDL_uhyper ULONGLONG;
  619.  
  620. typedef LONGLONG __RPC_FAR *PLONGLONG;
  621.  
  622. typedef ULONGLONG __RPC_FAR *PULONGLONG;
  623.  
  624. #endif // _ULONGLONG_
  625. #ifndef DECIMAL_NEG
  626. #ifndef DECIMAL_SETZERO
  627. typedef struct tagDEC {
  628.     USHORT wReserved;
  629.     union {
  630.         struct {
  631.             BYTE scale;
  632.             BYTE sign;
  633.         };
  634.         USHORT signscale;
  635.     };
  636.     ULONG Hi32;
  637.     union {
  638.         struct {
  639. #ifdef _MAC
  640.             ULONG Mid32;
  641.             ULONG Lo32;
  642. #else
  643.             ULONG Lo32;
  644.             ULONG Mid32;
  645. #endif
  646.         };
  647.         ULONGLONG Lo64;
  648.     };
  649. } DECIMAL;
  650. #define DECIMAL_NEG ((BYTE)0x80)
  651. #define DECIMAL_SETZERO(dec) {(dec).Lo64 = 0; (dec).Hi32 = 0; (dec).signscale = 0;}
  652. #endif // DECIMAL_SETZERO
  653. #endif // DECIMAL_NEG
  654. typedef struct  tagDBVECTOR
  655.     {
  656.     ULONG size;
  657.     /* [size_is] */ void __RPC_FAR *ptr;
  658.     }    DBVECTOR;
  659.  
  660. typedef struct  tagDBDATE
  661.     {
  662.     SHORT year;
  663.     USHORT month;
  664.     USHORT day;
  665.     }    DBDATE;
  666.  
  667. typedef struct  tagDBTIME
  668.     {
  669.     USHORT hour;
  670.     USHORT minute;
  671.     USHORT second;
  672.     }    DBTIME;
  673.  
  674. typedef struct  tagDBTIMESTAMP
  675.     {
  676.     SHORT year;
  677.     USHORT month;
  678.     USHORT day;
  679.     USHORT hour;
  680.     USHORT minute;
  681.     USHORT second;
  682.     ULONG fraction;
  683.     }    DBTIMESTAMP;
  684.  
  685. //@@@+ V2.0
  686. #if( OLEDBVER >= 0x0200 )
  687. #if !defined(_WINBASE_) && !defined(_FILETIME_)
  688. #define _FILETIME_
  689. typedef struct _FILETIME {
  690.         DWORD dwLowDateTime;
  691.         DWORD dwHighDateTime;
  692.      }    FILETIME;
  693. #endif // !_FILETIME
  694. typedef struct  tagDBFILETIME
  695.     {
  696.     DWORD dwLowDateTime;
  697.     DWORD dwHighDateTime;
  698.     }    DBFILETIME;
  699.  
  700. typedef signed char SBYTE;
  701.  
  702. typedef struct  tagDB_VARNUMERIC
  703.     {
  704.     BYTE precision;
  705.     SBYTE scale;
  706.     BYTE sign;
  707.     BYTE val[ 1 ];
  708.     }    DB_VARNUMERIC;
  709.  
  710. #endif // OLEDBVER >= 0x0200
  711. //@@@- V2.0
  712. //@@@+ V2.1
  713. #if( OLEDBVER >= 0x0210 )
  714. typedef struct  _SEC_OBJECT_ELEMENT
  715.     {
  716.     GUID guidObjectType;
  717.     DBID ObjectID;
  718.     }    SEC_OBJECT_ELEMENT;
  719.  
  720. typedef struct  _SEC_OBJECT
  721.     {
  722.     DWORD cObjects;
  723.     /* [size_is] */ SEC_OBJECT_ELEMENT __RPC_FAR *prgObjects;
  724.     }    SEC_OBJECT;
  725.  
  726. #endif // OLEDBVER >= 0x0210
  727. //@@@- V2.1
  728. typedef WORD DBTYPE;
  729.  
  730.  
  731. enum DBTYPEENUM
  732.     {    DBTYPE_EMPTY    = 0,
  733.     DBTYPE_NULL    = 1,
  734.     DBTYPE_I2    = 2,
  735.     DBTYPE_I4    = 3,
  736.     DBTYPE_R4    = 4,
  737.     DBTYPE_R8    = 5,
  738.     DBTYPE_CY    = 6,
  739.     DBTYPE_DATE    = 7,
  740.     DBTYPE_BSTR    = 8,
  741.     DBTYPE_IDISPATCH    = 9,
  742.     DBTYPE_ERROR    = 10,
  743.     DBTYPE_BOOL    = 11,
  744.     DBTYPE_VARIANT    = 12,
  745.     DBTYPE_IUNKNOWN    = 13,
  746.     DBTYPE_DECIMAL    = 14,
  747.     DBTYPE_UI1    = 17,
  748.     DBTYPE_ARRAY    = 0x2000,
  749.     DBTYPE_BYREF    = 0x4000,
  750.     DBTYPE_I1    = 16,
  751.     DBTYPE_UI2    = 18,
  752.     DBTYPE_UI4    = 19,
  753.     DBTYPE_I8    = 20,
  754.     DBTYPE_UI8    = 21,
  755.     DBTYPE_GUID    = 72,
  756.     DBTYPE_VECTOR    = 0x1000,
  757.     DBTYPE_RESERVED    = 0x8000,
  758.     DBTYPE_BYTES    = 128,
  759.     DBTYPE_STR    = 129,
  760.     DBTYPE_WSTR    = 130,
  761.     DBTYPE_NUMERIC    = 131,
  762.     DBTYPE_UDT    = 132,
  763.     DBTYPE_DBDATE    = 133,
  764.     DBTYPE_DBTIME    = 134,
  765.     DBTYPE_DBTIMESTAMP    = 135
  766.     };
  767. //@@@+ V1.5
  768. #if( OLEDBVER >= 0x0150 )
  769.  
  770. enum DBTYPEENUM15
  771.     {    DBTYPE_HCHAPTER    = 136
  772.     };
  773. #endif // OLEDBVER >= 0x0150
  774. //@@@- V1.5
  775. //@@@+ V2.0
  776. #if( OLEDBVER >= 0x0200 )
  777.  
  778. enum DBTYPEENUM20
  779.     {    DBTYPE_FILETIME    = 64,
  780.     DBTYPE_DBFILETIME    = 137,
  781.     DBTYPE_PROPVARIANT    = 138,
  782.     DBTYPE_VARNUMERIC    = 139
  783.     };
  784. #endif // OLEDBVER >= 0x0200
  785. //@@@- V2.0
  786. typedef DWORD DBPART;
  787.  
  788.  
  789. enum DBPARTENUM
  790.     {    DBPART_INVALID    = 0,
  791.     DBPART_VALUE    = 0x1,
  792.     DBPART_LENGTH    = 0x2,
  793.     DBPART_STATUS    = 0x4
  794.     };
  795. typedef DWORD DBPARAMIO;
  796.  
  797.  
  798. enum DBPARAMIOENUM
  799.     {    DBPARAMIO_NOTPARAM    = 0,
  800.     DBPARAMIO_INPUT    = 0x1,
  801.     DBPARAMIO_OUTPUT    = 0x2
  802.     };
  803. //@@@+ V1.5
  804. #if( OLEDBVER >= 0x0150 )
  805. typedef DWORD DBBINDFLAG;
  806.  
  807.  
  808. enum DBBINDFLAGENUM
  809.     {    DBBINDFLAG_HTML    = 0x1
  810.     };
  811. #endif // OLEDBVER >= 0x0150
  812. //@@@- V1.5
  813. typedef DWORD DBMEMOWNER;
  814.  
  815.  
  816. enum DBMEMOWNERENUM
  817.     {    DBMEMOWNER_CLIENTOWNED    = 0,
  818.     DBMEMOWNER_PROVIDEROWNED    = 0x1
  819.     };
  820. typedef struct  tagDBOBJECT
  821.     {
  822.     DWORD dwFlags;
  823.     IID iid;
  824.     }    DBOBJECT;
  825.  
  826. typedef DWORD DBSTATUS;
  827.  
  828.  
  829. enum DBSTATUSENUM
  830.     {    DBSTATUS_S_OK    = 0,
  831.     DBSTATUS_E_BADACCESSOR    = 1,
  832.     DBSTATUS_E_CANTCONVERTVALUE    = 2,
  833.     DBSTATUS_S_ISNULL    = 3,
  834.     DBSTATUS_S_TRUNCATED    = 4,
  835.     DBSTATUS_E_SIGNMISMATCH    = 5,
  836.     DBSTATUS_E_DATAOVERFLOW    = 6,
  837.     DBSTATUS_E_CANTCREATE    = 7,
  838.     DBSTATUS_E_UNAVAILABLE    = 8,
  839.     DBSTATUS_E_PERMISSIONDENIED    = 9,
  840.     DBSTATUS_E_INTEGRITYVIOLATION    = 10,
  841.     DBSTATUS_E_SCHEMAVIOLATION    = 11,
  842.     DBSTATUS_E_BADSTATUS    = 12,
  843.     DBSTATUS_S_DEFAULT    = 13
  844.     };
  845. //@@@+ V2.0
  846. #if( OLEDBVER >= 0x0200 )
  847.  
  848. enum DBSTATUSENUM20
  849.     {    MDSTATUS_S_CELLEMPTY    = 14,
  850.     DBSTATUS_S_IGNORE    = 15
  851.     };
  852. #endif // OLEDBVER >= 0x0200
  853. //@@@- V2.0
  854. typedef struct  tagDBBINDEXT
  855.     {
  856.     /* [size_is] */ BYTE __RPC_FAR *pExtension;
  857.     ULONG ulExtension;
  858.     }    DBBINDEXT;
  859.  
  860. typedef struct  tagDBBINDING
  861.     {
  862.     ULONG iOrdinal;
  863.     ULONG obValue;
  864.     ULONG obLength;
  865.     ULONG obStatus;
  866.     ITypeInfo __RPC_FAR *pTypeInfo;
  867.     DBOBJECT __RPC_FAR *pObject;
  868.     DBBINDEXT __RPC_FAR *pBindExt;
  869.     DBPART dwPart;
  870.     DBMEMOWNER dwMemOwner;
  871.     DBPARAMIO eParamIO;
  872.     ULONG cbMaxLen;
  873.     DWORD dwFlags;
  874.     DBTYPE wType;
  875.     BYTE bPrecision;
  876.     BYTE bScale;
  877.     }    DBBINDING;
  878.  
  879. typedef DWORD DBROWSTATUS;
  880.  
  881.  
  882. enum DBROWSTATUSENUM
  883.     {    DBROWSTATUS_S_OK    = 0,
  884.     DBROWSTATUS_S_MULTIPLECHANGES    = 2,
  885.     DBROWSTATUS_S_PENDINGCHANGES    = 3,
  886.     DBROWSTATUS_E_CANCELED    = 4,
  887.     DBROWSTATUS_E_CANTRELEASE    = 6,
  888.     DBROWSTATUS_E_CONCURRENCYVIOLATION    = 7,
  889.     DBROWSTATUS_E_DELETED    = 8,
  890.     DBROWSTATUS_E_PENDINGINSERT    = 9,
  891.     DBROWSTATUS_E_NEWLYINSERTED    = 10,
  892.     DBROWSTATUS_E_INTEGRITYVIOLATION    = 11,
  893.     DBROWSTATUS_E_INVALID    = 12,
  894.     DBROWSTATUS_E_MAXPENDCHANGESEXCEEDED    = 13,
  895.     DBROWSTATUS_E_OBJECTOPEN    = 14,
  896.     DBROWSTATUS_E_OUTOFMEMORY    = 15,
  897.     DBROWSTATUS_E_PERMISSIONDENIED    = 16,
  898.     DBROWSTATUS_E_LIMITREACHED    = 17,
  899.     DBROWSTATUS_E_SCHEMAVIOLATION    = 18,
  900.     DBROWSTATUS_E_FAIL    = 19
  901.     };
  902. //@@@+ V2.0
  903. #if( OLEDBVER >= 0x0200 )
  904.  
  905. enum DBROWSTATUSENUM20
  906.     {    DBROWSTATUS_S_NOCHANGE    = 20
  907.     };
  908. #endif // OLEDBVER >= 0x0200
  909. //@@@- V2.0
  910. typedef ULONG HACCESSOR;
  911.  
  912. #define DB_NULL_HACCESSOR 0x00 // deprecated; use DB_INVALID_HACCESSOR instead
  913. #define DB_INVALID_HACCESSOR 0x00
  914. typedef ULONG HROW;
  915.  
  916. #define DB_NULL_HROW 0x00
  917. typedef ULONG HWATCHREGION;
  918.  
  919. #define DBWATCHREGION_NULL NULL
  920. typedef ULONG HCHAPTER;
  921.  
  922. #define DB_NULL_HCHAPTER 0x00
  923. #define DB_INVALID_HCHAPTER 0x00    // deprecated; use DB_NULL_HCHAPTER instead
  924. typedef struct  tagDBFAILUREINFO
  925.     {
  926.     HROW hRow;
  927.     ULONG iColumn;
  928.     HRESULT failure;
  929.     }    DBFAILUREINFO;
  930.  
  931. typedef DWORD DBCOLUMNFLAGS;
  932.  
  933.  
  934. enum DBCOLUMNFLAGSENUM
  935.     {    DBCOLUMNFLAGS_ISBOOKMARK    = 0x1,
  936.     DBCOLUMNFLAGS_MAYDEFER    = 0x2,
  937.     DBCOLUMNFLAGS_WRITE    = 0x4,
  938.     DBCOLUMNFLAGS_WRITEUNKNOWN    = 0x8,
  939.     DBCOLUMNFLAGS_ISFIXEDLENGTH    = 0x10,
  940.     DBCOLUMNFLAGS_ISNULLABLE    = 0x20,
  941.     DBCOLUMNFLAGS_MAYBENULL    = 0x40,
  942.     DBCOLUMNFLAGS_ISLONG    = 0x80,
  943.     DBCOLUMNFLAGS_ISROWID    = 0x100,
  944.     DBCOLUMNFLAGS_ISROWVER    = 0x200,
  945.     DBCOLUMNFLAGS_CACHEDEFERRED    = 0x1000
  946.     };
  947. //@@@+ V2.0
  948. #if( OLEDBVER >= 0x0200 )
  949.  
  950. enum DBCOLUMNFLAGSENUM20
  951.     {    DBCOLUMNFLAGS_SCALEISNEGATIVE    = 0x4000,
  952.     DBCOLUMNFLAGS_KEYCOLUMN    = 0x8000
  953.     };
  954. #endif // OLEDBVER >= 0x0200
  955. //@@@- V2.0
  956. //@@@+ V1.5
  957. #if( OLEDBVER >= 0x0150 )
  958.  
  959. enum DBCOLUMNFLAGS15ENUM
  960.     {    DBCOLUMNFLAGS_ISCHAPTER    = 0x2000
  961.     };
  962. #endif // OLEDBVER >= 0x0150
  963. //@@@- V1.5
  964. typedef struct  tagDBCOLUMNINFO
  965.     {
  966.     LPOLESTR pwszName;
  967.     ITypeInfo __RPC_FAR *pTypeInfo;
  968.     ULONG iOrdinal;
  969.     DBCOLUMNFLAGS dwFlags;
  970.     ULONG ulColumnSize;
  971.     DBTYPE wType;
  972.     BYTE bPrecision;
  973.     BYTE bScale;
  974.     DBID columnid;
  975.     }    DBCOLUMNINFO;
  976.  
  977. typedef 
  978. enum tagDBBOOKMARK
  979.     {    DBBMK_INVALID    = 0,
  980.     DBBMK_FIRST    = DBBMK_INVALID + 1,
  981.     DBBMK_LAST    = DBBMK_FIRST + 1
  982.     }    DBBOOKMARK;
  983.  
  984. #define STD_BOOKMARKLENGTH 1
  985. #ifdef __cplusplus
  986. inline BOOL IsEqualGUIDBase(const GUID &rguid1, const GUID &rguid2)
  987. { return !memcmp(&(rguid1.Data2), &(rguid2.Data2), sizeof(GUID) - sizeof(rguid1.Data1)); }
  988. #else // !__cplusplus
  989. #define IsEqualGuidBase(rguid1, rguid2) (!memcmp(&((rguid1).Data2), &((rguid2).Data2), sizeof(GUID) - sizeof((rguid1).Data1)))
  990. #endif // __cplusplus
  991. #define DB_INVALIDCOLUMN ULONG_MAX
  992. #define DBCIDGUID   {0x0C733A81L,0x2A1C,0x11CE,{0xAD,0xE5,0x00,0xAA,0x00,0x44,0x77,0x3D}}
  993. #define DB_NULLGUID {0x00000000L,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}
  994. #ifdef DBINITCONSTANTS
  995. extern const OLEDBDECLSPEC DBID DB_NULLID                      = {DB_NULLGUID, 0, (LPOLESTR)0};
  996. extern const OLEDBDECLSPEC DBID DBCOLUMN_IDNAME                = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)2};
  997. extern const OLEDBDECLSPEC DBID DBCOLUMN_NAME                  = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)3};
  998. extern const OLEDBDECLSPEC DBID DBCOLUMN_NUMBER                = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)4};
  999. extern const OLEDBDECLSPEC DBID DBCOLUMN_TYPE                  = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)5};
  1000. extern const OLEDBDECLSPEC DBID DBCOLUMN_PRECISION             = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)7};
  1001. extern const OLEDBDECLSPEC DBID DBCOLUMN_SCALE                 = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)8};
  1002. extern const OLEDBDECLSPEC DBID DBCOLUMN_FLAGS                 = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)9};
  1003. extern const OLEDBDECLSPEC DBID DBCOLUMN_BASECOLUMNNAME        = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)10};
  1004. extern const OLEDBDECLSPEC DBID DBCOLUMN_BASETABLENAME         = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)11};
  1005. extern const OLEDBDECLSPEC DBID DBCOLUMN_COLLATINGSEQUENCE     = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)12};
  1006. extern const OLEDBDECLSPEC DBID DBCOLUMN_COMPUTEMODE           = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)13};
  1007. extern const OLEDBDECLSPEC DBID DBCOLUMN_DEFAULTVALUE          = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)14};
  1008. extern const OLEDBDECLSPEC DBID DBCOLUMN_DOMAINNAME            = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)15};
  1009. extern const OLEDBDECLSPEC DBID DBCOLUMN_HASDEFAULT            = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)16};
  1010. extern const OLEDBDECLSPEC DBID DBCOLUMN_ISAUTOINCREMENT       = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)17};
  1011. extern const OLEDBDECLSPEC DBID DBCOLUMN_ISCASESENSITIVE       = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)18};
  1012. extern const OLEDBDECLSPEC DBID DBCOLUMN_ISSEARCHABLE          = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)20};
  1013. extern const OLEDBDECLSPEC DBID DBCOLUMN_ISUNIQUE              = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)21};
  1014. extern const OLEDBDECLSPEC DBID DBCOLUMN_BASECATALOGNAME       = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)23};
  1015. extern const OLEDBDECLSPEC DBID DBCOLUMN_BASESCHEMANAME        = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)24};
  1016. extern const OLEDBDECLSPEC DBID DBCOLUMN_GUID                  = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)29};
  1017. extern const OLEDBDECLSPEC DBID DBCOLUMN_PROPID                = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)30};
  1018. extern const OLEDBDECLSPEC DBID DBCOLUMN_TYPEINFO              = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)31};
  1019. extern const OLEDBDECLSPEC DBID DBCOLUMN_DOMAINCATALOG         = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)32};
  1020. extern const OLEDBDECLSPEC DBID DBCOLUMN_DOMAINSCHEMA          = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)33};
  1021. extern const OLEDBDECLSPEC DBID DBCOLUMN_DATETIMEPRECISION     = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)34};
  1022. extern const OLEDBDECLSPEC DBID DBCOLUMN_NUMERICPRECISIONRADIX = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)35};
  1023. extern const OLEDBDECLSPEC DBID DBCOLUMN_OCTETLENGTH           = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)36};
  1024. extern const OLEDBDECLSPEC DBID DBCOLUMN_COLUMNSIZE            = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)37};
  1025. extern const OLEDBDECLSPEC DBID DBCOLUMN_CLSID                 = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)38};
  1026. //@@@+ V1.5
  1027. #if( OLEDBVER >= 0x0150 )
  1028. extern const OLEDBDECLSPEC DBID DBCOLUMN_MAYSORT               = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)39};
  1029. #endif // OLEDBVER >= 0x0150
  1030. //@@@- V1.5
  1031. #else // !DBINITCONSTANTS
  1032. extern const DBID DB_NULLID;
  1033. extern const DBID DBCOLUMN_IDNAME;
  1034. extern const DBID DBCOLUMN_NAME;
  1035. extern const DBID DBCOLUMN_NUMBER;
  1036. extern const DBID DBCOLUMN_TYPE;
  1037. extern const DBID DBCOLUMN_PRECISION;
  1038. extern const DBID DBCOLUMN_SCALE;
  1039. extern const DBID DBCOLUMN_FLAGS;
  1040. extern const DBID DBCOLUMN_BASECOLUMNNAME;
  1041. extern const DBID DBCOLUMN_BASETABLENAME;
  1042. extern const DBID DBCOLUMN_COLLATINGSEQUENCE;
  1043. extern const DBID DBCOLUMN_COMPUTEMODE;
  1044. extern const DBID DBCOLUMN_DEFAULTVALUE;
  1045. extern const DBID DBCOLUMN_DOMAINNAME;
  1046. extern const DBID DBCOLUMN_HASDEFAULT;
  1047. extern const DBID DBCOLUMN_ISAUTOINCREMENT;
  1048. extern const DBID DBCOLUMN_ISCASESENSITIVE;
  1049. extern const DBID DBCOLUMN_ISSEARCHABLE;
  1050. extern const DBID DBCOLUMN_ISUNIQUE;
  1051. extern const DBID DBCOLUMN_BASECATALOGNAME;
  1052. extern const DBID DBCOLUMN_BASESCHEMANAME;
  1053. extern const DBID DBCOLUMN_GUID;
  1054. extern const DBID DBCOLUMN_PROPID;
  1055. extern const DBID DBCOLUMN_TYPEINFO;
  1056. extern const DBID DBCOLUMN_DOMAINCATALOG;
  1057. extern const DBID DBCOLUMN_DOMAINSCHEMA;
  1058. extern const DBID DBCOLUMN_DATETIMEPRECISION;
  1059. extern const DBID DBCOLUMN_NUMERICPRECISIONRADIX;
  1060. extern const DBID DBCOLUMN_OCTETLENGTH;
  1061. extern const DBID DBCOLUMN_COLUMNSIZE;
  1062. extern const DBID DBCOLUMN_CLSID;
  1063. //@@@+ V1.5
  1064. #if( OLEDBVER >= 0x0150 )
  1065. extern const DBID DBCOLUMN_MAYSORT;
  1066. #endif // OLEDBVER >= 0x0150
  1067. //@@@- V1.5
  1068. #endif // DBINITCONSTANTS
  1069. #ifdef DBINITCONSTANTS
  1070. //@@@+ V2.0
  1071. #if( OLEDBVER >= 0x0200 )
  1072. extern const OLEDBDECLSPEC GUID DBSCHEMA_TABLES_INFO                   = {0xc8b522e0,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1073. extern const OLEDBDECLSPEC GUID MDGUID_MDX                             = {0xa07cccd0,0x8148,0x11d0,{0x87,0xbb,0x00,0xc0,0x4f,0xc3,0x39,0x42}};
  1074. extern const OLEDBDECLSPEC GUID DBGUID_MDX                             = {0xa07cccd0,0x8148,0x11d0,{0x87,0xbb,0x00,0xc0,0x4f,0xc3,0x39,0x42}};
  1075. extern const OLEDBDECLSPEC GUID MDSCHEMA_CUBES                         = {0xc8b522d8,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1076. extern const OLEDBDECLSPEC GUID MDSCHEMA_DIMENSIONS                    = {0xc8b522d9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1077. extern const OLEDBDECLSPEC GUID MDSCHEMA_HIERARCHIES                   = {0xc8b522da,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1078. extern const OLEDBDECLSPEC GUID MDSCHEMA_LEVELS                        = {0xc8b522db,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1079. extern const OLEDBDECLSPEC GUID MDSCHEMA_MEASURES                      = {0xc8b522dc,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1080. extern const OLEDBDECLSPEC GUID MDSCHEMA_PROPERTIES                    = {0xc8b522dd,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1081. extern const OLEDBDECLSPEC GUID MDSCHEMA_MEMBERS                       = {0xc8b522de,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1082. extern const OLEDBDECLSPEC DBID DBCOLUMN_BASETABLEVERSION                = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)40};
  1083. extern const OLEDBDECLSPEC DBID DBCOLUMN_KEYCOLUMN                        = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)41};
  1084. #endif // OLEDBVER >= 0x0200
  1085. //@@@- V2.0
  1086. //@@@+ V2.1
  1087. #if( OLEDBVER >= 0x0210 )
  1088. extern const OLEDBDECLSPEC GUID DBPROPSET_TRUSTEE                        = {0xc8b522e1,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1089. extern const OLEDBDECLSPEC GUID DBOBJECT_TABLE                         = {0xc8b522e2,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1090. extern const OLEDBDECLSPEC GUID DBOBJECT_COLUMN                         = {0xc8b522e4,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1091. extern const OLEDBDECLSPEC GUID DBOBJECT_DATABASE                        = {0xc8b522e5,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1092. extern const OLEDBDECLSPEC GUID DBOBJECT_PROCEDURE                     = {0xc8b522e6,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1093. extern const OLEDBDECLSPEC GUID DBOBJECT_VIEW                             = {0xc8b522e7,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1094. extern const OLEDBDECLSPEC GUID DBOBJECT_SCHEMA                        = {0xc8b522e8,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1095. extern const OLEDBDECLSPEC GUID DBOBJECT_DOMAIN                         = {0xc8b522e9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1096. extern const OLEDBDECLSPEC GUID DBOBJECT_COLLATION                     = {0xc8b522ea,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1097. extern const OLEDBDECLSPEC GUID DBOBJECT_TRUSTEE                         = {0xc8b522eb,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1098. extern const OLEDBDECLSPEC GUID DBOBJECT_SCHEMAROWSET                    = {0xc8b522ec,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1099. extern const OLEDBDECLSPEC GUID DBOBJECT_CHARACTERSET                     = {0xc8b522ed,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1100. extern const OLEDBDECLSPEC GUID DBOBJECT_TRANSLATION                     = {0xc8b522ee,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1101. #endif // OLEDBVER >= 0x0210
  1102. //@@@- V2.1
  1103. //@@@+ V2.5
  1104. #if( OLEDBVER >= 0x0250 )
  1105. extern const OLEDBDECLSPEC GUID DB_PROPERTY_CHECK_OPTION               = {0xc8b5220b,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1106. extern const OLEDBDECLSPEC GUID DB_PROPERTY_CONSTRAINT_CHECK_DEFERRED  = {0xc8b521f0,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1107. extern const OLEDBDECLSPEC GUID DB_PROPERTY_DROP_CASCADE               = {0xc8b521f3,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1108. extern const OLEDBDECLSPEC GUID DB_PROPERTY_UNIQUE                     = {0xc8b521f5,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1109. extern const OLEDBDECLSPEC GUID DB_PROPERTY_ON_COMMIT_PRESERVE_ROWS    = {0xc8b52230,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1110. extern const OLEDBDECLSPEC GUID DB_PROPERTY_PRIMARY                    = {0xc8b521fc,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1111. extern const OLEDBDECLSPEC GUID DB_PROPERTY_CLUSTERED                  = {0xc8b521ff,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1112. extern const OLEDBDECLSPEC GUID DB_PROPERTY_NONCLUSTERED               = {0xc8b52200,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1113. extern const OLEDBDECLSPEC GUID DB_PROPERTY_BTREE                      = {0xc8b52201,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1114. extern const OLEDBDECLSPEC GUID DB_PROPERTY_HASH                       = {0xc8b52202,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1115. extern const OLEDBDECLSPEC GUID DB_PROPERTY_FILLFACTOR                 = {0xc8b52203,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1116. extern const OLEDBDECLSPEC GUID DB_PROPERTY_INITIALSIZE                = {0xc8b52204,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1117. extern const OLEDBDECLSPEC GUID DB_PROPERTY_DISALLOWNULL               = {0xc8b52205,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1118. extern const OLEDBDECLSPEC GUID DB_PROPERTY_IGNORENULL                 = {0xc8b52206,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1119. extern const OLEDBDECLSPEC GUID DB_PROPERTY_IGNOREANYNULL              = {0xc8b52207,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1120. extern const OLEDBDECLSPEC GUID DB_PROPERTY_SORTBOOKMARKS              = {0xc8b52208,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1121. extern const OLEDBDECLSPEC GUID DB_PROPERTY_AUTOMATICUPDATE            = {0xc8b52209,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1122. extern const OLEDBDECLSPEC GUID DB_PROPERTY_EXPLICITUPDATE             = {0xc8b5220a,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1123. extern const OLEDBDECLSPEC GUID DBGUID_LIKE_SQL                        = {0xc8b521f6,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1124. extern const OLEDBDECLSPEC GUID DBGUID_LIKE_DOS                        = {0xc8b521f7,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1125. extern const OLEDBDECLSPEC GUID DBGUID_LIKE_OFS                        = {0xc8b521f8,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1126. extern const OLEDBDECLSPEC GUID DBGUID_LIKE_MAPI                       = {0xc8b521f9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1127. #endif // OLEDBVER >= 0x0250
  1128. //@@@- V2.5
  1129. extern const OLEDBDECLSPEC GUID DBSCHEMA_ASSERTIONS                    = {0xc8b52210,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1130. extern const OLEDBDECLSPEC GUID DBSCHEMA_CATALOGS                      = {0xc8b52211,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1131. extern const OLEDBDECLSPEC GUID DBSCHEMA_CHARACTER_SETS                = {0xc8b52212,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1132. extern const OLEDBDECLSPEC GUID DBSCHEMA_COLLATIONS                    = {0xc8b52213,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1133. extern const OLEDBDECLSPEC GUID DBSCHEMA_COLUMNS                       = {0xc8b52214,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1134. extern const OLEDBDECLSPEC GUID DBSCHEMA_CHECK_CONSTRAINTS             = {0xc8b52215,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1135. extern const OLEDBDECLSPEC GUID DBSCHEMA_CONSTRAINT_COLUMN_USAGE       = {0xc8b52216,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1136. extern const OLEDBDECLSPEC GUID DBSCHEMA_CONSTRAINT_TABLE_USAGE        = {0xc8b52217,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1137. extern const OLEDBDECLSPEC GUID DBSCHEMA_KEY_COLUMN_USAGE              = {0xc8b52218,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1138. extern const OLEDBDECLSPEC GUID DBSCHEMA_REFERENTIAL_CONSTRAINTS       = {0xc8b52219,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1139. extern const OLEDBDECLSPEC GUID DBSCHEMA_TABLE_CONSTRAINTS             = {0xc8b5221a,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1140. extern const OLEDBDECLSPEC GUID DBSCHEMA_COLUMN_DOMAIN_USAGE           = {0xc8b5221b,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1141. extern const OLEDBDECLSPEC GUID DBSCHEMA_INDEXES                       = {0xc8b5221e,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1142. extern const OLEDBDECLSPEC GUID DBSCHEMA_COLUMN_PRIVILEGES             = {0xc8b52221,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1143. extern const OLEDBDECLSPEC GUID DBSCHEMA_TABLE_PRIVILEGES              = {0xc8b52222,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1144. extern const OLEDBDECLSPEC GUID DBSCHEMA_USAGE_PRIVILEGES              = {0xc8b52223,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1145. extern const OLEDBDECLSPEC GUID DBSCHEMA_PROCEDURES                    = {0xc8b52224,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1146. extern const OLEDBDECLSPEC GUID DBSCHEMA_SCHEMATA                      = {0xc8b52225,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1147. extern const OLEDBDECLSPEC GUID DBSCHEMA_SQL_LANGUAGES                 = {0xc8b52226,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1148. extern const OLEDBDECLSPEC GUID DBSCHEMA_STATISTICS                    = {0xc8b52227,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1149. extern const OLEDBDECLSPEC GUID DBSCHEMA_TABLES                        = {0xc8b52229,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1150. extern const OLEDBDECLSPEC GUID DBSCHEMA_TRANSLATIONS                  = {0xc8b5222a,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1151. extern const OLEDBDECLSPEC GUID DBSCHEMA_PROVIDER_TYPES                = {0xc8b5222c,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1152. extern const OLEDBDECLSPEC GUID DBSCHEMA_VIEWS                         = {0xc8b5222d,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1153. extern const OLEDBDECLSPEC GUID DBSCHEMA_VIEW_COLUMN_USAGE             = {0xc8b5222e,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1154. extern const OLEDBDECLSPEC GUID DBSCHEMA_VIEW_TABLE_USAGE              = {0xc8b5222f,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1155. extern const OLEDBDECLSPEC GUID DBSCHEMA_PROCEDURE_PARAMETERS          = {0xc8b522b8,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1156. extern const OLEDBDECLSPEC GUID DBSCHEMA_FOREIGN_KEYS                  = {0xc8b522c4,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1157. extern const OLEDBDECLSPEC GUID DBSCHEMA_PRIMARY_KEYS                  = {0xc8b522c5,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1158. extern const OLEDBDECLSPEC GUID DBSCHEMA_PROCEDURE_COLUMNS             = {0xc8b522c9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1159. extern const OLEDBDECLSPEC GUID DBCOL_SELFCOLUMNS                      = {0xc8b52231,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1160. extern const OLEDBDECLSPEC GUID DBCOL_SPECIALCOL                       = {0xc8b52232,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1161. extern const OLEDBDECLSPEC GUID PSGUID_QUERY                           = {0x49691c90,0x7e17,0x101a,{0xa9,0x1c,0x08,0x00,0x2b,0x2e,0xcd,0xa9}};
  1162. extern const OLEDBDECLSPEC GUID DBPROPSET_COLUMN                       = {0xc8b522b9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1163. extern const OLEDBDECLSPEC GUID DBPROPSET_DATASOURCE                   = {0xc8b522ba,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1164. extern const OLEDBDECLSPEC GUID DBPROPSET_DATASOURCEINFO               = {0xc8b522bb,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1165. extern const OLEDBDECLSPEC GUID DBPROPSET_DBINIT                       = {0xc8b522bc,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1166. extern const OLEDBDECLSPEC GUID DBPROPSET_INDEX                        = {0xc8b522bd,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1167. extern const OLEDBDECLSPEC GUID DBPROPSET_ROWSET                       = {0xc8b522be,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1168. extern const OLEDBDECLSPEC GUID DBPROPSET_TABLE                        = {0xc8b522bf,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1169. extern const OLEDBDECLSPEC GUID DBPROPSET_DATASOURCEALL                = {0xc8b522c0,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1170. extern const OLEDBDECLSPEC GUID DBPROPSET_DATASOURCEINFOALL            = {0xc8b522c1,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1171. extern const OLEDBDECLSPEC GUID DBPROPSET_ROWSETALL                    = {0xc8b522c2,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1172. extern const OLEDBDECLSPEC GUID DBPROPSET_SESSION                      = {0xc8b522c6,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1173. extern const OLEDBDECLSPEC GUID DBPROPSET_SESSIONALL                   = {0xc8b522c7,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1174. extern const OLEDBDECLSPEC GUID DBPROPSET_DBINITALL                    = {0xc8b522ca,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1175. extern const OLEDBDECLSPEC GUID DBPROPSET_PROPERTIESINERROR            = {0xc8b522d4,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1176. //@@@+ V1.5
  1177. #if( OLEDBVER >= 0x0150 )
  1178. extern const OLEDBDECLSPEC GUID DBPROPSET_VIEW                         = {0xc8b522df,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1179. #endif // OLEDBVER >= 0x0150
  1180. //@@@- V1.5
  1181. // DBGUID_DBSQL is deprecated; use DBGUID_DEFAULT instead
  1182. extern const OLEDBDECLSPEC  GUID DBGUID_DBSQL                           = {0xc8b521fb,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1183. extern const OLEDBDECLSPEC GUID DBGUID_DEFAULT                         = {0xc8b521fb,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1184. extern const OLEDBDECLSPEC GUID DBGUID_SQL                             = {0xc8b522d7,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1185. #else // !DBINITCONSTANTS
  1186. //@@@+ V2.0
  1187. #if( OLEDBVER >= 0x0200 )
  1188. extern const GUID DBSCHEMA_TABLES_INFO;
  1189. extern const GUID MDGUID_MDX;
  1190. extern const GUID DBGUID_MDX;
  1191. extern const GUID MDSCHEMA_CUBES;
  1192. extern const GUID MDSCHEMA_DIMENSIONS;
  1193. extern const GUID MDSCHEMA_HIERARCHIES;
  1194. extern const GUID MDSCHEMA_LEVELS;
  1195. extern const GUID MDSCHEMA_MEASURES;
  1196. extern const GUID MDSCHEMA_PROPERTIES;
  1197. extern const GUID MDSCHEMA_MEMBERS;
  1198. extern const DBID DBCOLUMN_BASETABLEVERSION;
  1199. extern const DBID DBCOLUMN_KEYCOLUMN;
  1200. #endif // OLEDBVER >= 0x0200
  1201. //@@@- V2.0
  1202. //@@@+ V2.1
  1203. #if( OLEDBVER >= 0x0210 )
  1204. extern const GUID DBPROPSET_TRUSTEE;
  1205. extern const GUID DBOBJECT_TABLE;
  1206. extern const GUID DBOBJECT_COLUMN;
  1207. extern const GUID DBOBJECT_DATABASE;
  1208. extern const GUID DBOBJECT_PROCEDURE;
  1209. extern const GUID DBOBJECT_VIEW;
  1210. extern const GUID DBOBJECT_SCHEMA;
  1211. extern const GUID DBOBJECT_DOMAIN;
  1212. extern const GUID DBOBJECT_COLLATION;
  1213. extern const GUID DBOBJECT_TRUSTEE;
  1214. extern const GUID DBOBJECT_SCHEMAROWSET;
  1215. extern const GUID DBOBJECT_CHARACTERSET;
  1216. extern const GUID DBOBJECT_TRANSLATION;
  1217. #endif // OLEDBVER >= 0x0210
  1218. //@@@- V2.1
  1219. //@@@+ V2.5
  1220. #if( OLEDBVER >= 0x0250 )
  1221. extern const GUID DB_PROPERTY_CHECK_OPTION;
  1222. extern const GUID DB_PROPERTY_CONSTRAINT_CHECK_DEFERRED;
  1223. extern const GUID DB_PROPERTY_DROP_CASCADE;
  1224. extern const GUID DB_PROPERTY_ON_COMMIT_PRESERVE_ROWS;
  1225. extern const GUID DB_PROPERTY_UNIQUE;
  1226. extern const GUID DB_PROPERTY_PRIMARY;
  1227. extern const GUID DB_PROPERTY_CLUSTERED;
  1228. extern const GUID DB_PROPERTY_NONCLUSTERED;
  1229. extern const GUID DB_PROPERTY_BTREE;
  1230. extern const GUID DB_PROPERTY_HASH;
  1231. extern const GUID DB_PROPERTY_FILLFACTOR;
  1232. extern const GUID DB_PROPERTY_INITIALSIZE;
  1233. extern const GUID DB_PROPERTY_DISALLOWNULL;
  1234. extern const GUID DB_PROPERTY_IGNORENULL;
  1235. extern const GUID DB_PROPERTY_IGNOREANYNULL;
  1236. extern const GUID DB_PROPERTY_SORTBOOKMARKS;
  1237. extern const GUID DB_PROPERTY_AUTOMATICUPDATE;
  1238. extern const GUID DB_PROPERTY_EXPLICITUPDATE;
  1239. extern const GUID DBGUID_LIKE_SQL;
  1240. extern const GUID DBGUID_LIKE_DOS;
  1241. extern const GUID DBGUID_LIKE_OFS;
  1242. extern const GUID DBGUID_LIKE_MAPI;
  1243. #endif // OLEDBVER >= 0x0250
  1244. //@@@- V2.5
  1245. extern const GUID DBSCHEMA_ASSERTIONS;
  1246. extern const GUID DBSCHEMA_CATALOGS;
  1247. extern const GUID DBSCHEMA_CHARACTER_SETS;
  1248. extern const GUID DBSCHEMA_COLLATIONS;
  1249. extern const GUID DBSCHEMA_COLUMNS;
  1250. extern const GUID DBSCHEMA_CHECK_CONSTRAINTS;
  1251. extern const GUID DBSCHEMA_CONSTRAINT_COLUMN_USAGE;
  1252. extern const GUID DBSCHEMA_CONSTRAINT_TABLE_USAGE;
  1253. extern const GUID DBSCHEMA_KEY_COLUMN_USAGE;
  1254. extern const GUID DBSCHEMA_REFERENTIAL_CONSTRAINTS;
  1255. extern const GUID DBSCHEMA_TABLE_CONSTRAINTS;
  1256. extern const GUID DBSCHEMA_COLUMN_DOMAIN_USAGE;
  1257. extern const GUID DBSCHEMA_INDEXES;
  1258. extern const GUID DBSCHEMA_COLUMN_PRIVILEGES;
  1259. extern const GUID DBSCHEMA_TABLE_PRIVILEGES;
  1260. extern const GUID DBSCHEMA_USAGE_PRIVILEGES;
  1261. extern const GUID DBSCHEMA_PROCEDURES;
  1262. extern const GUID DBSCHEMA_SCHEMATA;
  1263. extern const GUID DBSCHEMA_SQL_LANGUAGES;
  1264. extern const GUID DBSCHEMA_STATISTICS;
  1265. extern const GUID DBSCHEMA_TABLES;
  1266. extern const GUID DBSCHEMA_TRANSLATIONS;
  1267. extern const GUID DBSCHEMA_PROVIDER_TYPES;
  1268. extern const GUID DBSCHEMA_VIEWS;
  1269. extern const GUID DBSCHEMA_VIEW_COLUMN_USAGE;
  1270. extern const GUID DBSCHEMA_VIEW_TABLE_USAGE;
  1271. extern const GUID DBSCHEMA_PROCEDURE_PARAMETERS;
  1272. extern const GUID DBSCHEMA_FOREIGN_KEYS;
  1273. extern const GUID DBSCHEMA_PRIMARY_KEYS;
  1274. extern const GUID DBSCHEMA_PROCEDURE_COLUMNS;
  1275. extern const GUID DBCOL_SELFCOLUMNS;
  1276. extern const GUID DBCOL_SPECIALCOL;
  1277. extern const GUID PSGUID_QUERY;
  1278. extern const GUID DBPROPSET_COLUMN;
  1279. extern const GUID DBPROPSET_DATASOURCE;
  1280. extern const GUID DBPROPSET_DATASOURCEINFO;
  1281. extern const GUID DBPROPSET_DBINIT;
  1282. extern const GUID DBPROPSET_INDEX;
  1283. extern const GUID DBPROPSET_ROWSET;
  1284. extern const GUID DBPROPSET_TABLE;
  1285. extern const GUID DBPROPSET_DATASOURCEALL;
  1286. extern const GUID DBPROPSET_DATASOURCEINFOALL;
  1287. extern const GUID DBPROPSET_ROWSETALL;
  1288. extern const GUID DBPROPSET_SESSION;
  1289. extern const GUID DBPROPSET_SESSIONALL;
  1290. extern const GUID DBPROPSET_DBINITALL;
  1291. extern const GUID DBPROPSET_PROPERTIESINERROR;
  1292. //@@@+ V1.5
  1293. #if( OLEDBVER >= 0x0150 )
  1294. extern const GUID DBPROPSET_VIEW;
  1295. #endif // OLEDBVER >= 0x0150
  1296. //@@@- V1.5
  1297. // DBGUID_DBSQL is deprecated; use DBGUID_DEFAULT instead
  1298. extern const GUID DBGUID_DBSQL;
  1299. extern const GUID DBGUID_DEFAULT;
  1300. extern const GUID DBGUID_SQL;
  1301. #endif // DBINITCONSTANTS
  1302.  
  1303. enum DBPROPENUM
  1304.     {    DBPROP_ABORTPRESERVE    = 0x2L,
  1305.     DBPROP_ACTIVESESSIONS    = 0x3L,
  1306.     DBPROP_APPENDONLY    = 0xbbL,
  1307.     DBPROP_ASYNCTXNABORT    = 0xa8L,
  1308.     DBPROP_ASYNCTXNCOMMIT    = 0x4L,
  1309.     DBPROP_AUTH_CACHE_AUTHINFO    = 0x5L,
  1310.     DBPROP_AUTH_ENCRYPT_PASSWORD    = 0x6L,
  1311.     DBPROP_AUTH_INTEGRATED    = 0x7L,
  1312.     DBPROP_AUTH_MASK_PASSWORD    = 0x8L,
  1313.     DBPROP_AUTH_PASSWORD    = 0x9L,
  1314.     DBPROP_AUTH_PERSIST_ENCRYPTED    = 0xaL,
  1315.     DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO    = 0xbL,
  1316.     DBPROP_AUTH_USERID    = 0xcL,
  1317.     DBPROP_BLOCKINGSTORAGEOBJECTS    = 0xdL,
  1318.     DBPROP_BOOKMARKS    = 0xeL,
  1319.     DBPROP_BOOKMARKSKIPPED    = 0xfL,
  1320.     DBPROP_BOOKMARKTYPE    = 0x10L,
  1321.     DBPROP_BYREFACCESSORS    = 0x78L,
  1322.     DBPROP_CACHEDEFERRED    = 0x11L,
  1323.     DBPROP_CANFETCHBACKWARDS    = 0x12L,
  1324.     DBPROP_CANHOLDROWS    = 0x13L,
  1325.     DBPROP_CANSCROLLBACKWARDS    = 0x15L,
  1326.     DBPROP_CATALOGLOCATION    = 0x16L,
  1327.     DBPROP_CATALOGTERM    = 0x17L,
  1328.     DBPROP_CATALOGUSAGE    = 0x18L,
  1329.     DBPROP_CHANGEINSERTEDROWS    = 0xbcL,
  1330.     DBPROP_COL_AUTOINCREMENT    = 0x1aL,
  1331.     DBPROP_COL_DEFAULT    = 0x1bL,
  1332.     DBPROP_COL_DESCRIPTION    = 0x1cL,
  1333.     DBPROP_COL_FIXEDLENGTH    = 0xa7L,
  1334.     DBPROP_COL_NULLABLE    = 0x1dL,
  1335.     DBPROP_COL_PRIMARYKEY    = 0x1eL,
  1336.     DBPROP_COL_UNIQUE    = 0x1fL,
  1337.     DBPROP_COLUMNDEFINITION    = 0x20L,
  1338.     DBPROP_COLUMNRESTRICT    = 0x21L,
  1339.     DBPROP_COMMANDTIMEOUT    = 0x22L,
  1340.     DBPROP_COMMITPRESERVE    = 0x23L,
  1341.     DBPROP_CONCATNULLBEHAVIOR    = 0x24L,
  1342.     DBPROP_CURRENTCATALOG    = 0x25L,
  1343.     DBPROP_DATASOURCENAME    = 0x26L,
  1344.     DBPROP_DATASOURCEREADONLY    = 0x27L,
  1345.     DBPROP_DBMSNAME    = 0x28L,
  1346.     DBPROP_DBMSVER    = 0x29L,
  1347.     DBPROP_DEFERRED    = 0x2aL,
  1348.     DBPROP_DELAYSTORAGEOBJECTS    = 0x2bL,
  1349.     DBPROP_DSOTHREADMODEL    = 0xa9L,
  1350.     DBPROP_GROUPBY    = 0x2cL,
  1351.     DBPROP_HETEROGENEOUSTABLES    = 0x2dL,
  1352.     DBPROP_IAccessor    = 0x79L,
  1353.     DBPROP_IColumnsInfo    = 0x7aL,
  1354.     DBPROP_IColumnsRowset    = 0x7bL,
  1355.     DBPROP_IConnectionPointContainer    = 0x7cL,
  1356.     DBPROP_IConvertType    = 0xc2L,
  1357.     DBPROP_IRowset    = 0x7eL,
  1358.     DBPROP_IRowsetChange    = 0x7fL,
  1359.     DBPROP_IRowsetIdentity    = 0x80L,
  1360.     DBPROP_IRowsetIndex    = 0x9fL,
  1361.     DBPROP_IRowsetInfo    = 0x81L,
  1362.     DBPROP_IRowsetLocate    = 0x82L,
  1363.     DBPROP_IRowsetResynch    = 0x84L,
  1364.     DBPROP_IRowsetScroll    = 0x85L,
  1365.     DBPROP_IRowsetUpdate    = 0x86L,
  1366.     DBPROP_ISupportErrorInfo    = 0x87L,
  1367.     DBPROP_ILockBytes    = 0x88L,
  1368.     DBPROP_ISequentialStream    = 0x89L,
  1369.     DBPROP_IStorage    = 0x8aL,
  1370.     DBPROP_IStream    = 0x8bL,
  1371.     DBPROP_IDENTIFIERCASE    = 0x2eL,
  1372.     DBPROP_IMMOBILEROWS    = 0x2fL,
  1373.     DBPROP_INDEX_AUTOUPDATE    = 0x30L,
  1374.     DBPROP_INDEX_CLUSTERED    = 0x31L,
  1375.     DBPROP_INDEX_FILLFACTOR    = 0x32L,
  1376.     DBPROP_INDEX_INITIALSIZE    = 0x33L,
  1377.     DBPROP_INDEX_NULLCOLLATION    = 0x34L,
  1378.     DBPROP_INDEX_NULLS    = 0x35L,
  1379.     DBPROP_INDEX_PRIMARYKEY    = 0x36L,
  1380.     DBPROP_INDEX_SORTBOOKMARKS    = 0x37L,
  1381.     DBPROP_INDEX_TEMPINDEX    = 0xa3L,
  1382.     DBPROP_INDEX_TYPE    = 0x38L,
  1383.     DBPROP_INDEX_UNIQUE    = 0x39L,
  1384.     DBPROP_INIT_DATASOURCE    = 0x3bL,
  1385.     DBPROP_INIT_HWND    = 0x3cL,
  1386.     DBPROP_INIT_IMPERSONATION_LEVEL    = 0x3dL,
  1387.     DBPROP_INIT_LCID    = 0xbaL,
  1388.     DBPROP_INIT_LOCATION    = 0x3eL,
  1389.     DBPROP_INIT_MODE    = 0x3fL,
  1390.     DBPROP_INIT_PROMPT    = 0x40L,
  1391.     DBPROP_INIT_PROTECTION_LEVEL    = 0x41L,
  1392.     DBPROP_INIT_PROVIDERSTRING    = 0xa0L,
  1393.     DBPROP_INIT_TIMEOUT    = 0x42L,
  1394.     DBPROP_LITERALBOOKMARKS    = 0x43L,
  1395.     DBPROP_LITERALIDENTITY    = 0x44L,
  1396.     DBPROP_MARSHALLABLE    = 0xc5L,
  1397.     DBPROP_MAXINDEXSIZE    = 0x46L,
  1398.     DBPROP_MAXOPENROWS    = 0x47L,
  1399.     DBPROP_MAXPENDINGROWS    = 0x48L,
  1400.     DBPROP_MAXROWS    = 0x49L,
  1401.     DBPROP_MAXROWSIZE    = 0x4aL,
  1402.     DBPROP_MAXROWSIZEINCLUDESBLOB    = 0x4bL,
  1403.     DBPROP_MAXTABLESINSELECT    = 0x4cL,
  1404.     DBPROP_MAYWRITECOLUMN    = 0x4dL,
  1405.     DBPROP_MEMORYUSAGE    = 0x4eL,
  1406.     DBPROP_MULTIPLEPARAMSETS    = 0xbfL,
  1407.     DBPROP_MULTIPLERESULTS    = 0xc4L,
  1408.     DBPROP_MULTIPLESTORAGEOBJECTS    = 0x50L,
  1409.     DBPROP_MULTITABLEUPDATE    = 0x51L,
  1410.     DBPROP_NOTIFICATIONGRANULARITY    = 0xc6L,
  1411.     DBPROP_NOTIFICATIONPHASES    = 0x52L,
  1412.     DBPROP_NOTIFYCOLUMNSET    = 0xabL,
  1413.     DBPROP_NOTIFYROWDELETE    = 0xadL,
  1414.     DBPROP_NOTIFYROWFIRSTCHANGE    = 0xaeL,
  1415.     DBPROP_NOTIFYROWINSERT    = 0xafL,
  1416.     DBPROP_NOTIFYROWRESYNCH    = 0xb1L,
  1417.     DBPROP_NOTIFYROWSETCHANGED    = 0xd3L,
  1418.     DBPROP_NOTIFYROWSETRELEASE    = 0xb2L,
  1419.     DBPROP_NOTIFYROWSETFETCHPOSITIONCHANGE    = 0xb3L,
  1420.     DBPROP_NOTIFYROWUNDOCHANGE    = 0xb4L,
  1421.     DBPROP_NOTIFYROWUNDODELETE    = 0xb5L,
  1422.     DBPROP_NOTIFYROWUNDOINSERT    = 0xb6L,
  1423.     DBPROP_NOTIFYROWUPDATE    = 0xb7L,
  1424.     DBPROP_NULLCOLLATION    = 0x53L,
  1425.     DBPROP_OLEOBJECTS    = 0x54L,
  1426.     DBPROP_ORDERBYCOLUMNSINSELECT    = 0x55L,
  1427.     DBPROP_ORDEREDBOOKMARKS    = 0x56L,
  1428.     DBPROP_OTHERINSERT    = 0x57L,
  1429.     DBPROP_OTHERUPDATEDELETE    = 0x58L,
  1430.     DBPROP_OUTPUTPARAMETERAVAILABILITY    = 0xb8L,
  1431.     DBPROP_OWNINSERT    = 0x59L,
  1432.     DBPROP_OWNUPDATEDELETE    = 0x5aL,
  1433.     DBPROP_PERSISTENTIDTYPE    = 0xb9L,
  1434.     DBPROP_PREPAREABORTBEHAVIOR    = 0x5bL,
  1435.     DBPROP_PREPARECOMMITBEHAVIOR    = 0x5cL,
  1436.     DBPROP_PROCEDURETERM    = 0x5dL,
  1437.     DBPROP_PROVIDERNAME    = 0x60L,
  1438.     DBPROP_PROVIDEROLEDBVER    = 0x61L,
  1439.     DBPROP_PROVIDERVER    = 0x62L,
  1440.     DBPROP_QUICKRESTART    = 0x63L,
  1441.     DBPROP_QUOTEDIDENTIFIERCASE    = 0x64L,
  1442.     DBPROP_REENTRANTEVENTS    = 0x65L,
  1443.     DBPROP_REMOVEDELETED    = 0x66L,
  1444.     DBPROP_REPORTMULTIPLECHANGES    = 0x67L,
  1445.     DBPROP_RETURNPENDINGINSERTS    = 0xbdL,
  1446.     DBPROP_ROWRESTRICT    = 0x68L,
  1447.     DBPROP_ROWSETCONVERSIONSONCOMMAND    = 0xc0L,
  1448.     DBPROP_ROWTHREADMODEL    = 0x69L,
  1449.     DBPROP_SCHEMATERM    = 0x6aL,
  1450.     DBPROP_SCHEMAUSAGE    = 0x6bL,
  1451.     DBPROP_SERVERCURSOR    = 0x6cL,
  1452.     DBPROP_SESS_AUTOCOMMITISOLEVELS    = 0xbeL,
  1453.     DBPROP_SQLSUPPORT    = 0x6dL,
  1454.     DBPROP_STRONGIDENTITY    = 0x77L,
  1455.     DBPROP_STRUCTUREDSTORAGE    = 0x6fL,
  1456.     DBPROP_SUBQUERIES    = 0x70L,
  1457.     DBPROP_SUPPORTEDTXNDDL    = 0xa1L,
  1458.     DBPROP_SUPPORTEDTXNISOLEVELS    = 0x71L,
  1459.     DBPROP_SUPPORTEDTXNISORETAIN    = 0x72L,
  1460.     DBPROP_TABLETERM    = 0x73L,
  1461.     DBPROP_TBL_TEMPTABLE    = 0x8cL,
  1462.     DBPROP_TRANSACTEDOBJECT    = 0x74L,
  1463.     DBPROP_UPDATABILITY    = 0x75L,
  1464.     DBPROP_USERNAME    = 0x76L
  1465.     };
  1466. //@@@+ V1.5
  1467. #if( OLEDBVER >= 0x0150 )
  1468.  
  1469. enum DBPROPENUM15
  1470.     {    DBPROP_FILTEROPS    = 0xd0L,
  1471.     DBPROP_FILTERCOMPAREOPS    = 0xd1L,
  1472.     DBPROP_FINDCOMPAREOPS    = 0xd2L,
  1473.     DBPROP_IChapteredRowset    = 0xcaL,
  1474.     DBPROP_IDBAsynchStatus    = 0xcbL,
  1475.     DBPROP_IRowsetFind    = 0xccL,
  1476.     DBPROP_IRowsetView    = 0xd4L,
  1477.     DBPROP_IViewChapter    = 0xd5L,
  1478.     DBPROP_IViewFilter    = 0xd6L,
  1479.     DBPROP_IViewRowset    = 0xd7L,
  1480.     DBPROP_IViewSort    = 0xd8L,
  1481.     DBPROP_INIT_ASYNCH    = 0xc8L,
  1482.     DBPROP_MAXOPENCHAPTERS    = 0xc7L,
  1483.     DBPROP_MAXORSINFILTER    = 0xcdL,
  1484.     DBPROP_MAXSORTCOLUMNS    = 0xceL,
  1485.     DBPROP_ROWSET_ASYNCH    = 0xc9L,
  1486.     DBPROP_SORTONINDEX    = 0xcfL
  1487.     };
  1488. #endif // OLEDBVER >= 0x0150
  1489. //@@@- V1.5
  1490. //@@@+ V2.0
  1491. #if( OLEDBVER >= 0x0200 )
  1492. #define DBPROP_PROVIDERFILENAME DBPROP_PROVIDERNAME
  1493. #define DBPROP_SERVER_NAME DBPROP_SERVERNAME
  1494.  
  1495. enum DBPROPENUM20
  1496.     {    DBPROP_IMultipleResults    = 0xd9L,
  1497.     DBPROP_DATASOURCE_TYPE    = 0xfbL,
  1498.     MDPROP_AXES    = 0xfcL,
  1499.     MDPROP_FLATTENING_SUPPORT    = 0xfdL,
  1500.     MDPROP_MDX_JOINCUBES    = 0xfeL,
  1501.     MDPROP_NAMED_LEVELS    = 0xffL,
  1502.     MDPROP_RANGEROWSET    = 0x100L,
  1503.     MDPROP_MDX_SLICER    = 0xdaL,
  1504.     MDPROP_MDX_CUBEQUALIFICATION    = 0xdbL,
  1505.     MDPROP_MDX_OUTERREFERENCE    = 0xdcL,
  1506.     MDPROP_MDX_QUERYBYPROPERTY    = 0xddL,
  1507.     MDPROP_MDX_CASESUPPORT    = 0xdeL,
  1508.     MDPROP_MDX_STRING_COMPOP    = 0xe0L,
  1509.     MDPROP_MDX_DESCFLAGS    = 0xe1L,
  1510.     MDPROP_MDX_SET_FUNCTIONS    = 0xe2L,
  1511.     MDPROP_MDX_MEMBER_FUNCTIONS    = 0xe3L,
  1512.     MDPROP_MDX_NUMERIC_FUNCTIONS    = 0xe4L,
  1513.     MDPROP_MDX_FORMULAS    = 0xe5L,
  1514.     MDPROP_MDX_AGGREGATECELL_UPDATE    = 0xe6L,
  1515.     DBPROP_ACCESSORDER    = 0xe7L,
  1516.     DBPROP_BOOKMARKINFO    = 0xe8L,
  1517.     DBPROP_INIT_CATALOG    = 0xe9L,
  1518.     DBPROP_ROW_BULKOPS    = 0xeaL,
  1519.     DBPROP_PROVIDERFRIENDLYNAME    = 0xebL,
  1520.     DBPROP_LOCKMODE    = 0xecL,
  1521.     DBPROP_MULTIPLECONNECTIONS    = 0xedL,
  1522.     DBPROP_UNIQUEROWS    = 0xeeL,
  1523.     DBPROP_SERVERDATAONINSERT    = 0xefL,
  1524.     DBPROP_STORAGEFLAGS    = 0xf0L,
  1525.     DBPROP_CONNECTIONSTATUS    = 0xf4L,
  1526.     DBPROP_ALTERCOLUMN    = 0xf5L,
  1527.     DBPROP_COLUMNLCID    = 0xf6L,
  1528.     DBPROP_RESETDATASOURCE    = 0xf7L,
  1529.     DBPROP_INIT_OLEDBSERVICES    = 0xf8L,
  1530.     DBPROP_IRowsetRefresh    = 0xf9L,
  1531.     DBPROP_SERVERNAME    = 0xfaL,
  1532.     DBPROP_IParentRowset    = 0x101L,
  1533.     DBPROP_HIDDENCOLUMNS    = 0x102L,
  1534.     DBPROP_PROVIDERMEMORY    = 0x103L,
  1535.     DBPROP_CLIENTCURSOR    = 0x104L
  1536.     };
  1537. #endif // OLEDBVER >= 0x0200
  1538. //@@@- V2.0
  1539. //@@@+ V2.1
  1540. #if( OLEDBVER >= 0x0210 )
  1541.  
  1542. enum DBPROPENUM21
  1543.     {    DBPROP_TRUSTEE_USERNAME    = 0xf1L,
  1544.     DBPROP_TRUSTEE_AUTHENTICATION    = 0xf2L,
  1545.     DBPROP_TRUSTEE_NEWAUTHENTICATION    = 0xf3L
  1546.     };
  1547. #endif // OLEDBVER >= 0x0210
  1548. //@@@- V2.1
  1549. //@@@+ V2.5
  1550. #if( OLEDBVER >= 0x0250 )
  1551.  
  1552. enum DBPROPENUM25
  1553.     {    DBPROP_ICommandCost    = 0x8dL,
  1554.     DBPROP_ICommandTree    = 0x8eL,
  1555.     DBPROP_ICommandValidate    = 0x8fL,
  1556.     DBPROP_IDBSchemaCommand    = 0x90L,
  1557.     DBPROP_IProvideMoniker    = 0x7dL,
  1558.     DBPROP_IQuery    = 0x92L,
  1559.     DBPROP_IReadData    = 0x93L,
  1560.     DBPROP_IRowsetAsynch    = 0x94L,
  1561.     DBPROP_IRowsetCopyRows    = 0x95L,
  1562.     DBPROP_IRowsetKeys    = 0x97L,
  1563.     DBPROP_IRowsetNewRowAfter    = 0x98L,
  1564.     DBPROP_IRowsetNextRowset    = 0x99L,
  1565.     DBPROP_IRowsetWatchAll    = 0x9bL,
  1566.     DBPROP_IRowsetWatchNotify    = 0x9cL,
  1567.     DBPROP_IRowsetWatchRegion    = 0x9dL,
  1568.     DBPROP_IRowsetWithParameters    = 0x9eL
  1569.     };
  1570. #endif // OLEDBVER >= 0x0250
  1571. //@@@- V2.5
  1572. //@@@+ deprecated
  1573. #ifdef deprecated
  1574.  
  1575. enum DBPROPENUMDEPRECATED
  1576.     {    DBPROP_IRowsetExactScroll    = 0x9aL
  1577.     };
  1578. #endif // deprecated
  1579. //@@@- deprecated
  1580. #define DBPROPVAL_BMK_NUMERIC                             0x00000001L
  1581. #define DBPROPVAL_BMK_KEY                                 0x00000002L
  1582. #define DBPROPVAL_CL_START                                0x00000001L
  1583. #define DBPROPVAL_CL_END                                  0x00000002L
  1584. #define DBPROPVAL_CU_DML_STATEMENTS                         0x00000001L
  1585. #define DBPROPVAL_CU_TABLE_DEFINITION                     0x00000002L
  1586. #define DBPROPVAL_CU_INDEX_DEFINITION                     0x00000004L
  1587. #define DBPROPVAL_CU_PRIVILEGE_DEFINITION                 0x00000008L
  1588. #define DBPROPVAL_CD_NOTNULL                                 0x00000001L
  1589. #define DBPROPVAL_CB_NULL                                 0x00000001L
  1590. #define DBPROPVAL_CB_NON_NULL                             0x00000002L
  1591. #define DBPROPVAL_FU_NOT_SUPPORTED                         0x00000001L
  1592. #define DBPROPVAL_FU_COLUMN                                 0x00000002L
  1593. #define DBPROPVAL_FU_TABLE                                 0x00000004L
  1594. #define DBPROPVAL_FU_CATALOG                                 0x00000008L
  1595. #define DBPROPVAL_GB_NOT_SUPPORTED                         0x00000001L
  1596. #define DBPROPVAL_GB_EQUALS_SELECT                         0x00000002L
  1597. #define DBPROPVAL_GB_CONTAINS_SELECT                         0x00000004L
  1598. #define DBPROPVAL_GB_NO_RELATION                             0x00000008L
  1599. #define DBPROPVAL_HT_DIFFERENT_CATALOGS                     0x00000001L
  1600. #define DBPROPVAL_HT_DIFFERENT_PROVIDERS                     0x00000002L
  1601. #define DBPROPVAL_IC_UPPER                                 0x00000001L
  1602. #define DBPROPVAL_IC_LOWER                                 0x00000002L
  1603. #define DBPROPVAL_IC_SENSITIVE                             0x00000004L
  1604. #define DBPROPVAL_IC_MIXED                                 0x00000008L
  1605. //@@@+ deprecated
  1606. #ifdef deprecated
  1607. #define DBPROPVAL_LM_NONE                                 0x00000001L
  1608. #define DBPROPVAL_LM_READ                                 0x00000002L
  1609. #define DBPROPVAL_LM_INTENT                                 0x00000004L
  1610. #define DBPROPVAL_LM_RITE                                 0x00000008L
  1611. #endif // deprecated
  1612. //@@@- deprecated
  1613. #define DBPROPVAL_NP_OKTODO                                 0x00000001L
  1614. #define DBPROPVAL_NP_ABOUTTODO                             0x00000002L
  1615. #define DBPROPVAL_NP_SYNCHAFTER                             0x00000004L
  1616. #define DBPROPVAL_NP_FAILEDTODO                             0x00000008L
  1617. #define DBPROPVAL_NP_DIDEVENT                             0x00000010L
  1618. #define DBPROPVAL_NC_END                                     0x00000001L
  1619. #define DBPROPVAL_NC_HIGH                                 0x00000002L
  1620. #define DBPROPVAL_NC_LOW                                     0x00000004L
  1621. #define DBPROPVAL_NC_START                                 0x00000008L
  1622. #define DBPROPVAL_OO_BLOB                                 0x00000001L
  1623. #define DBPROPVAL_OO_IPERSIST                             0x00000002L
  1624. #define DBPROPVAL_CB_DELETE                                 0x00000001L
  1625. #define DBPROPVAL_CB_PRESERVE                             0x00000002L
  1626. #define DBPROPVAL_SU_DML_STATEMENTS                         0x00000001L
  1627. #define DBPROPVAL_SU_TABLE_DEFINITION                     0x00000002L
  1628. #define DBPROPVAL_SU_INDEX_DEFINITION                     0x00000004L
  1629. #define DBPROPVAL_SU_PRIVILEGE_DEFINITION                 0x00000008L
  1630. #define DBPROPVAL_SQ_CORRELATEDSUBQUERIES                 0x00000001L
  1631. #define DBPROPVAL_SQ_COMPARISON                             0x00000002L
  1632. #define DBPROPVAL_SQ_EXISTS                                 0x00000004L
  1633. #define DBPROPVAL_SQ_IN                                     0x00000008L
  1634. #define DBPROPVAL_SQ_QUANTIFIED                             0x00000010L
  1635. #define DBPROPVAL_SS_ISEQUENTIALSTREAM                     0x00000001L
  1636. #define DBPROPVAL_SS_ISTREAM                                 0x00000002L
  1637. #define DBPROPVAL_SS_ISTORAGE                             0x00000004L
  1638. #define DBPROPVAL_SS_ILOCKBYTES                             0x00000008L
  1639. #define DBPROPVAL_TI_CHAOS                                 0x00000010L
  1640. #define DBPROPVAL_TI_READUNCOMMITTED                         0x00000100L
  1641. #define DBPROPVAL_TI_BROWSE                                 0x00000100L
  1642. #define DBPROPVAL_TI_CURSORSTABILITY                         0x00001000L
  1643. #define DBPROPVAL_TI_READCOMMITTED                         0x00001000L
  1644. #define DBPROPVAL_TI_REPEATABLEREAD                         0x00010000L
  1645. #define DBPROPVAL_TI_SERIALIZABLE                         0x00100000L
  1646. #define DBPROPVAL_TI_ISOLATED                             0x00100000L
  1647. #define DBPROPVAL_TR_COMMIT_DC                             0x00000001L
  1648. #define DBPROPVAL_TR_COMMIT                                 0x00000002L
  1649. #define DBPROPVAL_TR_COMMIT_NO                             0x00000004L
  1650. #define DBPROPVAL_TR_ABORT_DC                             0x00000008L
  1651. #define DBPROPVAL_TR_ABORT                                 0x00000010L
  1652. #define DBPROPVAL_TR_ABORT_NO                             0x00000020L
  1653. #define DBPROPVAL_TR_DONTCARE                             0x00000040L
  1654. #define DBPROPVAL_TR_BOTH                                 0x00000080L
  1655. #define DBPROPVAL_TR_NONE                                 0x00000100L
  1656. #define DBPROPVAL_TR_OPTIMISTIC                             0x00000200L
  1657. #define DBPROPVAL_RT_FREETHREAD                             0x00000001L
  1658. #define DBPROPVAL_RT_APTMTTHREAD                             0x00000002L
  1659. #define DBPROPVAL_RT_SINGLETHREAD                         0x00000004L
  1660. #define DBPROPVAL_UP_CHANGE                                 0x00000001L
  1661. #define DBPROPVAL_UP_DELETE                                 0x00000002L
  1662. #define DBPROPVAL_UP_INSERT                                 0x00000004L
  1663. #define DBPROPVAL_SQL_NONE                                 0x00000000L
  1664. #define DBPROPVAL_SQL_ODBC_MINIMUM                         0x00000001L
  1665. #define DBPROPVAL_SQL_ODBC_CORE                             0x00000002L
  1666. #define DBPROPVAL_SQL_ODBC_EXTENDED                         0x00000004L
  1667. #define DBPROPVAL_SQL_ANSI89_IEF                             0x00000008L
  1668. #define DBPROPVAL_SQL_ANSI92_ENTRY                         0x00000010L
  1669. #define DBPROPVAL_SQL_FIPS_TRANSITIONAL                     0x00000020L
  1670. #define DBPROPVAL_SQL_ANSI92_INTERMEDIATE                 0x00000040L
  1671. #define DBPROPVAL_SQL_ANSI92_FULL                         0x00000080L
  1672. #define DBPROPVAL_SQL_ESCAPECLAUSES                         0x00000100L
  1673. #define DBPROPVAL_IT_BTREE                                0x00000001L
  1674. #define DBPROPVAL_IT_HASH                                 0x00000002L
  1675. #define DBPROPVAL_IT_CONTENT                              0x00000003L
  1676. #define DBPROPVAL_IT_OTHER                                0x00000004L
  1677. #define DBPROPVAL_IN_DISALLOWNULL                         0x00000001L
  1678. #define DBPROPVAL_IN_IGNORENULL                           0x00000002L
  1679. #define DBPROPVAL_IN_IGNOREANYNULL                        0x00000004L
  1680. #define DBPROPVAL_TC_NONE                                 0x00000000L
  1681. #define DBPROPVAL_TC_DML                                  0x00000001L
  1682. #define DBPROPVAL_TC_DDL_COMMIT                           0x00000002L
  1683. #define DBPROPVAL_TC_DDL_IGNORE                           0x00000004L
  1684. #define DBPROPVAL_TC_ALL                                  0x00000008L
  1685. #define DBPROPVAL_NP_OKTODO                               0x00000001L
  1686. #define DBPROPVAL_NP_ABOUTTODO                            0x00000002L
  1687. #define DBPROPVAL_NP_SYNCHAFTER                           0x00000004L
  1688. #define DBPROPVAL_OA_NOTSUPPORTED                         0x00000001L
  1689. #define DBPROPVAL_OA_ATEXECUTE                            0x00000002L
  1690. #define DBPROPVAL_OA_ATROWRELEASE                         0x00000004L
  1691. #define DBPROPVAL_MR_NOTSUPPORTED                         0x00000000L
  1692. #define DBPROPVAL_MR_SUPPORTED                            0x00000001L
  1693. #define DBPROPVAL_MR_CONCURRENT                           0x00000002L
  1694. #define DBPROPVAL_PT_GUID_NAME                            0x00000001L
  1695. #define DBPROPVAL_PT_GUID_PROPID                          0x00000002L
  1696. #define DBPROPVAL_PT_NAME                                 0x00000004L
  1697. #define DBPROPVAL_PT_GUID                                 0x00000008L
  1698. #define DBPROPVAL_PT_PROPID                                 0x00000010L
  1699. #define DBPROPVAL_PT_PGUID_NAME                           0x00000020L
  1700. #define DBPROPVAL_PT_PGUID_PROPID                         0x00000040L
  1701. #define DBPROPVAL_NT_SINGLEROW                            0x00000001L
  1702. #define DBPROPVAL_NT_MULTIPLEROWS                         0x00000002L
  1703. //@@@+ V1.5
  1704. #if( OLEDBVER >= 0x0150 )
  1705. #define DBPROPVAL_ASYNCH_INITIALIZE                       0x00000001L
  1706. #define DBPROPVAL_ASYNCH_SEQUENTIALPOPULATION             0x00000002L
  1707. #define DBPROPVAL_ASYNCH_RANDOMPOPULATION                 0x00000004L
  1708. #define DBPROPVAL_OP_EQUAL                                0x00000001L
  1709. #define DBPROPVAL_OP_RELATIVE                             0x00000002L
  1710. #define DBPROPVAL_OP_STRING                               0x00000004L
  1711. #define DBPROPVAL_CO_EQUALITY                             0x00000001L
  1712. #define DBPROPVAL_CO_STRING                               0x00000002L
  1713. #define DBPROPVAL_CO_CASESENSITIVE                        0x00000004L
  1714. #define DBPROPVAL_CO_CASEINSENSITIVE                      0x00000008L
  1715. #endif // OLEDBVER >= 0x0150
  1716. //@@@- V1.5
  1717. //@@@+ V2.0
  1718. #if( OLEDBVER >= 0x0200 )
  1719. #define DBPROPVAL_CO_CONTAINS                             0x00000010L
  1720. #define DBPROPVAL_CO_BEGINSWITH                             0x00000020L
  1721. #define DBPROPVAL_ASYNCH_BACKGROUNDPOPULATION    0x00000008L
  1722. #define DBPROPVAL_ASYNCH_PREPOPULATE                0x00000010L
  1723. #define DBPROPVAL_ASYNCH_POPULATEONDEMAND        0x00000020L
  1724. #define DBPROPVAL_LM_NONE                                 0x00000001L
  1725. #define DBPROPVAL_LM_SINGLEROW                             0x00000002L
  1726. #define DBPROPVAL_SQL_SUBMINIMUM                          0x00000200L
  1727. #define DBPROPVAL_DST_TDP                                 0x00000001L
  1728. #define DBPROPVAL_DST_MDP                                 0x00000002L
  1729. #define DBPROPVAL_DST_TDPANDMDP                           0x00000003L
  1730. #define MDPROPVAL_AU_UNSUPPORTED                          0x00000000L
  1731. #define MDPROPVAL_AU_UNCHANGED                            0x00000001L
  1732. #define MDPROPVAL_AU_UNKNOWN                              0x00000002L
  1733. #define MDPROPVAL_MF_WITH_CALCMEMBERS                     0x00000001L
  1734. #define MDPROPVAL_MF_WITH_NAMEDSETS                       0x00000002L
  1735. #define MDPROPVAL_MF_CREATE_CALCMEMBERS                   0x00000004L
  1736. #define MDPROPVAL_MF_CREATE_NAMEDSETS                     0x00000008L
  1737. #define MDPROPVAL_MF_SCOPE_SESSION                         0x00000010L
  1738. #define MDPROPVAL_MF_SCOPE_GLOBAL                         0x00000020L
  1739. #define MDPROPVAL_MMF_COUSIN                              0x00000001L
  1740. #define MDPROPVAL_MMF_PARALLELPERIOD                      0x00000002L
  1741. #define MDPROPVAL_MMF_OPENINGPERIOD                       0x00000004L
  1742. #define MDPROPVAL_MMF_CLOSINGPERIOD                       0x00000008L
  1743. #define MDPROPVAL_MNF_MEDIAN                                0x00000001L
  1744. #define MDPROPVAL_MNF_VAR                                0x00000002L
  1745. #define MDPROPVAL_MNF_STDDEV                                0x00000004L
  1746. #define MDPROPVAL_MNF_RANK                                0x00000008L
  1747. #define MDPROPVAL_MNF_AGGREGATE                            0x00000010L
  1748. #define MDPROPVAL_MNF_COVARIANCE                            0x00000020L
  1749. #define MDPROPVAL_MNF_CORRELATION                        0x00000040L
  1750. #define MDPROPVAL_MNF_LINREGSLOPE                        0x00000080L
  1751. #define MDPROPVAL_MNF_LINREGVARIANCE                        0x00000100L
  1752. #define MDPROPVAL_MNF_LINREG2                            0x00000200L
  1753. #define MDPROPVAL_MNF_LINREGPOINT                        0x00000400L
  1754. #define MDPROPVAL_MNF_DRILLDOWNLEVEL                        0x00000800L
  1755. #define MDPROPVAL_MNF_DRILLDOWNMEMBERTOP                    0x00001000L
  1756. #define MDPROPVAL_MNF_DRILLDOWNMEMBERBOTTOM                0x00002000L
  1757. #define MDPROPVAL_MNF_DRILLDOWNLEVELTOP                    0x00004000L
  1758. #define MDPROPVAL_MNF_DRILLDOWNLEVELBOTTOM                0x00008000L
  1759. #define MDPROPVAL_MNF_DRILLUPMEMBER                        0x00010000L
  1760. #define MDPROPVAL_MNF_DRILLUPLEVEL                        0x00020000L
  1761. #define MDPROPVAL_MMF_COUSIN                                0x00000001L
  1762. #define MDPROPVAL_MMF_PARALLELPERIOD                        0x00000002L
  1763. #define MDPROPVAL_MMF_OPENINGPERIOD                        0x00000004L
  1764. #define MDPROPVAL_MMF_CLOSINGPERIOD                        0x00000008L
  1765. #define MDPROPVAL_MSF_TOPPERCENT                            0x00000001L
  1766. #define MDPROPVAL_MSF_BOTTOMPERCENT                        0x00000002L
  1767. #define MDPROPVAL_MSF_TOPSUM                                0x00000004L
  1768. #define MDPROPVAL_MSF_BOTTOMSUM                            0x00000008L
  1769. #define MDPROPVAL_MSF_PERIODSTODATE                        0x00000010L
  1770. #define MDPROPVAL_MSF_LASTPERIODS                        0x00000020L
  1771. #define MDPROPVAL_MSF_YTD                                0x00000040L
  1772. #define MDPROPVAL_MSF_QTD                                0x00000080L
  1773. #define MDPROPVAL_MSF_MTD                                0x00000100L
  1774. #define MDPROPVAL_MSF_WTD                                0x00000200L
  1775. #define MDPROPVAL_MSF_DRILLDOWNMEMBBER                    0x00000400L
  1776. #define MDPROPVAL_MSF_DRILLDOWNLEVEL                        0x00000800L
  1777. #define MDPROPVAL_MSF_DRILLDOWNMEMBERTOP                    0x00001000L
  1778. #define MDPROPVAL_MSF_DRILLDOWNMEMBERBOTTOM                0x00002000L
  1779. #define MDPROPVAL_MSF_DRILLDOWNLEVELTOP                    0x00004000L
  1780. #define MDPROPVAL_MSF_DRILLDOWNLEVELBOTTOM                0x00008000L
  1781. #define MDPROPVAL_MSF_DRILLUPMEMBER                        0x00010000L
  1782. #define MDPROPVAL_MSF_DRILLUPLEVEL                        0x00020000L
  1783. #define MDPROPVAL_MSF_TOGGLEDRILLSTATE                    0x00040000L
  1784. // values for MDPROP_MDX_DESCFLAGS
  1785. #define MDPROPVAL_MD_SELF                                0x00000001L
  1786. #define MDPROPVAL_MD_BEFORE                                0x00000002L
  1787. #define MDPROPVAL_MD_AFTER                                0x00000004L
  1788. // values for MDPROP_MDX_STRING_COMPOP
  1789. #define MDPROPVAL_MSC_LESSTHAN                            0x00000001L
  1790. #define MDPROPVAL_MSC_GREATERTHAN                        0x00000002L
  1791. #define MDPROPVAL_MSC_LESSTHANEQUAL                        0x00000004L
  1792. #define MDPROPVAL_MSC_GREATERTHANEQUAL                    0x00000008L
  1793. #define MDPROPVAL_MC_SINGLECASE                            0x00000001L
  1794. #define MDPROPVAL_MC_SEARCHEDCASE                        0x00000002L
  1795. #define MDPROPVAL_MOQ_OUTERREFERENCE                        0x00000001L
  1796. #define MDPROPVAL_MOQ_DATASOURCE_CUBE                    0x00000001L
  1797. #define MDPROPVAL_MOQ_CATALOG_CUBE                        0x00000002L
  1798. #define MDPROPVAL_MOQ_SCHEMA_CUBE                        0x00000004L
  1799. #define MDPROPVAL_MOQ_CUBE_DIM                            0x00000008L
  1800. #define MDPROPVAL_MOQ_DIM_HIER                            0x00000010L
  1801. #define MDPROPVAL_MOQ_DIMHIER_LEVEL                        0x00000020L
  1802. #define MDPROPVAL_MOQ_LEVEL_MEMBER                        0x00000040L
  1803. #define MDPROPVAL_MOQ_MEMBER_MEMBER                        0x00000080L
  1804. #define MDPROPVAL_FS_FULL_SUPPORT                        0x00000001L
  1805. #define MDPROPVAL_FS_GENERATED_COLUMN                    0x00000002L
  1806. #define MDPROPVAL_FS_GENERATED_DIMENSION                    0x00000003L
  1807. #define MDPROPVAL_FS_NO_SUPPORT                            0x00000004L
  1808. #define MDPROPVAL_NL_NAMEDLEVELS                            0x00000001L
  1809. #define MDPROPVAL_NL_NUMBEREDLEVELS                        0x00000002L
  1810. #define MDPROPVAL_MJC_SINGLECUBE                            0x00000001L
  1811. #define MDPROPVAL_MJC_MULTICUBES                            0x00000002L
  1812. #define MDPROPVAL_MJC_IMPLICITCUBE                        0x00000004L
  1813. #define MDPROPVAL_RR_NORANGEROWSET                        0x00000001L
  1814. #define MDPROPVAL_RR_READONLY                            0x00000002L
  1815. #define MDPROPVAL_RR_UPDATE                                0x00000004L
  1816. #define MDPROPVAL_MS_MULTIPLETUPLES                        0x00000001L
  1817. #define MDPROPVAL_MS_SINGLETUPLE                        0x00000002L
  1818. #define DBPROPVAL_AO_SEQUENTIAL                            0x00000000L
  1819. #define DBPROPVAL_AO_SEQUENTIALSTORAGEOBJECTS            0x00000001L
  1820. #define DBPROPVAL_AO_RANDOM                                0x00000002L
  1821. #define DBPROPVAL_BD_ROWSET                                0x00000000L
  1822. #define DBPROPVAL_BD_INTRANSACTION                        0x00000001L
  1823. #define DBPROPVAL_BD_XTRANSACTION                        0x00000002L
  1824. #define DBPROPVAL_BD_REORGANIZATION                        0x00000003L
  1825. #define BMK_DURABILITY_ROWSET                            DBPROPVAL_BD_ROWSET
  1826. #define BMK_DURABILITY_INTRANSACTION                        DBPROPVAL_BD_INTRANSACTION
  1827. #define BMK_DURABILITY_XTRANSACTION                        DBPROPVAL_BD_XTRANSACTION
  1828. #define BMK_DURABILITY_REORGANIZATION                    DBPROPVAL_BD_REORGANIZATION
  1829. #define DBPROPVAL_BO_NOLOG                                0x00000000L
  1830. #define DBPROPVAL_BO_NOINDEXUPDATE                        0x00000001L
  1831. #define DBPROPVAL_BO_REFINTEGRITY                        0x00000002L
  1832. #if !defined(_WINBASE_)
  1833. #define OF_READ             0x00000000
  1834. #define OF_WRITE            0x00000001
  1835. #define OF_READWRITE        0x00000002
  1836. #define OF_SHARE_COMPAT     0x00000000
  1837. #define OF_SHARE_EXCLUSIVE  0x00000010
  1838. #define OF_SHARE_DENY_WRITE 0x00000020
  1839. #define OF_SHARE_DENY_READ  0x00000030
  1840. #define OF_SHARE_DENY_NONE  0x00000040
  1841. #define OF_PARSE            0x00000100
  1842. #define OF_DELETE           0x00000200
  1843. #define OF_VERIFY           0x00000400
  1844. #define OF_CANCEL           0x00000800
  1845. #define OF_CREATE           0x00001000
  1846. #define OF_PROMPT           0x00002000
  1847. #define OF_EXIST            0x00004000
  1848. #define OF_REOPEN           0x00008000
  1849. #endif // !_WINBASE_
  1850. #define DBPROPVAL_STGM_READ                    = OF_READ
  1851. #define DBPROPVAL_STGM_WRITE                    = OF_WRITE
  1852. #define DBPROPVAL_STGM_READWRITE                = OF_READWRITE
  1853. #define DBPROPVAL_STGM_SHARE_DENY_NONE        = OF_SHARE_DENY_NONE
  1854. #define DBPROPVAL_STGM_SHARE_DENY_READ        = OF_SHARE_DENY_READ
  1855. #define DBPROPVAL_STGM_SHARE_DENY_WRITE        = OF_SHARE_DENY_WRITE
  1856. #define DBPROPVAL_STGM_SHARE_EXCLUSIVE        = OF_SHARE_EXCLUSIVE
  1857. #define DBPROPVAL_STGM_DIRECT                0x00010000
  1858. #define DBPROPVAL_STGM_TRANSACTED            0x00020000
  1859. #define DBPROPVAL_STGM_CREATE                = OF_CREATE
  1860. #define DBPROPVAL_STGM_CONVERT                0x00040000
  1861. #define DBPROPVAL_STGM_FAILIFTHERE            0x00080000
  1862. #define DBPROPVAL_STGM_PRIORITY                0x00100000
  1863. #define DBPROPVAL_STGM_DELETEONRELEASE        0x00200000
  1864. #define DBPROPVAL_GB_COLLATE                 0x00000010L
  1865. #define DBPROPVAL_CS_UNINITIALIZED            0x00000000L
  1866. #define DBPROPVAL_CS_INITIALIZED                0x00000001L
  1867. #define DBPROPVAL_CS_COMMUNICATIONFAILURE    0x00000002L
  1868. #define DBPROPVAL_RD_RESETALL        0xffffffffL
  1869. #define DBPROPVAL_OS_RESOURCEPOOLING    0x00000001L
  1870. #define DBPROPVAL_OS_TXNENLISTMENT    0x00000002L
  1871. #define DBPROPVAL_OS_CLIENTCURSOR    0x00000004L
  1872. #define DBPROPVAL_OS_ENABLEALL        0xffffffffL
  1873. #define DBPROPVAL_BI_CROSSROWSET        0x00000001L
  1874. #endif // OLEDBVER >= 0x0200
  1875. //@@@- V2.0
  1876. #define DB_IMP_LEVEL_ANONYMOUS       0x00
  1877. #define DB_IMP_LEVEL_IDENTIFY        0x01
  1878. #define DB_IMP_LEVEL_IMPERSONATE     0x02
  1879. #define DB_IMP_LEVEL_DELEGATE        0x03
  1880. #define DBPROMPT_PROMPT              0x01
  1881. #define DBPROMPT_COMPLETE            0x02
  1882. #define DBPROMPT_COMPLETEREQUIRED    0x03
  1883. #define DBPROMPT_NOPROMPT            0x04
  1884. #define DB_PROT_LEVEL_NONE           0x00
  1885. #define DB_PROT_LEVEL_CONNECT        0x01
  1886. #define DB_PROT_LEVEL_CALL           0x02
  1887. #define DB_PROT_LEVEL_PKT            0x03
  1888. #define DB_PROT_LEVEL_PKT_INTEGRITY  0x04
  1889. #define DB_PROT_LEVEL_PKT_PRIVACY    0x05
  1890. #define DB_MODE_READ                 0x01
  1891. #define DB_MODE_WRITE                0x02
  1892. #define DB_MODE_READWRITE            0x03
  1893. #define DB_MODE_SHARE_DENY_READ      0x04
  1894. #define DB_MODE_SHARE_DENY_WRITE     0x08
  1895. #define DB_MODE_SHARE_EXCLUSIVE        0x0c
  1896. #define DB_MODE_SHARE_DENY_NONE        0x10
  1897. #define DBCOMPUTEMODE_COMPUTED       0x01
  1898. #define DBCOMPUTEMODE_DYNAMIC        0x02
  1899. #define DBCOMPUTEMODE_NOTCOMPUTED    0x03
  1900. #define DBPROPVAL_DF_INITIALLY_DEFERRED      0x01
  1901. #define DBPROPVAL_DF_INITIALLY_IMMEDIATE     0x02
  1902. #define DBPROPVAL_DF_NOT_DEFERRABLE            0x03
  1903. //@@@+ V2.5
  1904. #if( OLEDBVER >= 0x0250 )
  1905. typedef WORD DBCOMMANDOP;
  1906.  
  1907.  
  1908. enum DBCOMMANDOPENUM
  1909.     {    DBOP_scalar_constant    = 0,
  1910.     DBOP_DEFAULT    = DBOP_scalar_constant + 1,
  1911.     DBOP_NULL    = DBOP_DEFAULT + 1,
  1912.     DBOP_bookmark_name    = DBOP_NULL + 1,
  1913.     DBOP_catalog_name    = DBOP_bookmark_name + 1,
  1914.     DBOP_column_name    = DBOP_catalog_name + 1,
  1915.     DBOP_schema_name    = DBOP_column_name + 1,
  1916.     DBOP_outall_name    = DBOP_schema_name + 1,
  1917.     DBOP_qualifier_name    = DBOP_outall_name + 1,
  1918.     DBOP_qualified_column_name    = DBOP_qualifier_name + 1,
  1919.     DBOP_table_name    = DBOP_qualified_column_name + 1,
  1920.     DBOP_nested_table_name    = DBOP_table_name + 1,
  1921.     DBOP_nested_column_name    = DBOP_nested_table_name + 1,
  1922.     DBOP_row    = DBOP_nested_column_name + 1,
  1923.     DBOP_table    = DBOP_row + 1,
  1924.     DBOP_sort    = DBOP_table + 1,
  1925.     DBOP_distinct    = DBOP_sort + 1,
  1926.     DBOP_distinct_order_preserving    = DBOP_distinct + 1,
  1927.     DBOP_alias    = DBOP_distinct_order_preserving + 1,
  1928.     DBOP_cross_join    = DBOP_alias + 1,
  1929.     DBOP_union_join    = DBOP_cross_join + 1,
  1930.     DBOP_inner_join    = DBOP_union_join + 1,
  1931.     DBOP_left_semi_join    = DBOP_inner_join + 1,
  1932.     DBOP_right_semi_join    = DBOP_left_semi_join + 1,
  1933.     DBOP_left_anti_semi_join    = DBOP_right_semi_join + 1,
  1934.     DBOP_right_anti_semi_join    = DBOP_left_anti_semi_join + 1,
  1935.     DBOP_left_outer_join    = DBOP_right_anti_semi_join + 1,
  1936.     DBOP_right_outer_join    = DBOP_left_outer_join + 1,
  1937.     DBOP_full_outer_join    = DBOP_right_outer_join + 1,
  1938.     DBOP_natural_join    = DBOP_full_outer_join + 1,
  1939.     DBOP_natural_left_outer_join    = DBOP_natural_join + 1,
  1940.     DBOP_natural_right_outer_join    = DBOP_natural_left_outer_join + 1,
  1941.     DBOP_natural_full_outer_join    = DBOP_natural_right_outer_join + 1,
  1942.     DBOP_set_intersection    = DBOP_natural_full_outer_join + 1,
  1943.     DBOP_set_union    = DBOP_set_intersection + 1,
  1944.     DBOP_set_left_difference    = DBOP_set_union + 1,
  1945.     DBOP_set_right_difference    = DBOP_set_left_difference + 1,
  1946.     DBOP_set_anti_difference    = DBOP_set_right_difference + 1,
  1947.     DBOP_bag_intersection    = DBOP_set_anti_difference + 1,
  1948.     DBOP_bag_union    = DBOP_bag_intersection + 1,
  1949.     DBOP_bag_left_difference    = DBOP_bag_union + 1,
  1950.     DBOP_bag_right_difference    = DBOP_bag_left_difference + 1,
  1951.     DBOP_bag_anti_difference    = DBOP_bag_right_difference + 1,
  1952.     DBOP_division    = DBOP_bag_anti_difference + 1,
  1953.     DBOP_relative_sampling    = DBOP_division + 1,
  1954.     DBOP_absolute_sampling    = DBOP_relative_sampling + 1,
  1955.     DBOP_transitive_closure    = DBOP_absolute_sampling + 1,
  1956.     DBOP_recursive_union    = DBOP_transitive_closure + 1,
  1957.     DBOP_aggregate    = DBOP_recursive_union + 1,
  1958.     DBOP_remote_table    = DBOP_aggregate + 1,
  1959.     DBOP_select    = DBOP_remote_table + 1,
  1960.     DBOP_order_preserving_select    = DBOP_select + 1,
  1961.     DBOP_project    = DBOP_order_preserving_select + 1,
  1962.     DBOP_project_order_preserving    = DBOP_project + 1,
  1963.     DBOP_top    = DBOP_project_order_preserving + 1,
  1964.     DBOP_top_percent    = DBOP_top + 1,
  1965.     DBOP_top_plus_ties    = DBOP_top_percent + 1,
  1966.     DBOP_top_percent_plus_ties    = DBOP_top_plus_ties + 1,
  1967.     DBOP_rank    = DBOP_top_percent_plus_ties + 1,
  1968.     DBOP_rank_ties_equally    = DBOP_rank + 1,
  1969.     DBOP_rank_ties_equally_and_skip    = DBOP_rank_ties_equally + 1,
  1970.     DBOP_navigate    = DBOP_rank_ties_equally_and_skip + 1,
  1971.     DBOP_nesting    = DBOP_navigate + 1,
  1972.     DBOP_unnesting    = DBOP_nesting + 1,
  1973.     DBOP_nested_apply    = DBOP_unnesting + 1,
  1974.     DBOP_cross_tab    = DBOP_nested_apply + 1,
  1975.     DBOP_is_NULL    = DBOP_cross_tab + 1,
  1976.     DBOP_is_NOT_NULL    = DBOP_is_NULL + 1,
  1977.     DBOP_equal    = DBOP_is_NOT_NULL + 1,
  1978.     DBOP_not_equal    = DBOP_equal + 1,
  1979.     DBOP_less    = DBOP_not_equal + 1,
  1980.     DBOP_less_equal    = DBOP_less + 1,
  1981.     DBOP_greater    = DBOP_less_equal + 1,
  1982.     DBOP_greater_equal    = DBOP_greater + 1,
  1983.     DBOP_equal_all    = DBOP_greater_equal + 1,
  1984.     DBOP_not_equal_all    = DBOP_equal_all + 1,
  1985.     DBOP_less_all    = DBOP_not_equal_all + 1,
  1986.     DBOP_less_equal_all    = DBOP_less_all + 1,
  1987.     DBOP_greater_all    = DBOP_less_equal_all + 1,
  1988.     DBOP_greater_equal_all    = DBOP_greater_all + 1,
  1989.     DBOP_equal_any    = DBOP_greater_equal_all + 1,
  1990.     DBOP_not_equal_any    = DBOP_equal_any + 1,
  1991.     DBOP_less_any    = DBOP_not_equal_any + 1,
  1992.     DBOP_less_equal_any    = DBOP_less_any + 1,
  1993.     DBOP_greater_any    = DBOP_less_equal_any + 1,
  1994.     DBOP_greater_equal_any    = DBOP_greater_any + 1,
  1995.     DBOP_anybits    = DBOP_greater_equal_any + 1,
  1996.     DBOP_allbits    = DBOP_anybits + 1,
  1997.     DBOP_anybits_any    = DBOP_allbits + 1,
  1998.     DBOP_allbits_any    = DBOP_anybits_any + 1,
  1999.     DBOP_anybits_all    = DBOP_allbits_any + 1,
  2000.     DBOP_allbits_all    = DBOP_anybits_all + 1,
  2001.     DBOP_between    = DBOP_allbits_all + 1,
  2002.     DBOP_between_unordered    = DBOP_between + 1,
  2003.     DBOP_match    = DBOP_between_unordered + 1,
  2004.     DBOP_match_unique    = DBOP_match + 1,
  2005.     DBOP_match_partial    = DBOP_match_unique + 1,
  2006.     DBOP_match_partial_unique    = DBOP_match_partial + 1,
  2007.     DBOP_match_full    = DBOP_match_partial_unique + 1,
  2008.     DBOP_match_full_unique    = DBOP_match_full + 1,
  2009.     DBOP_scalar_parameter    = DBOP_match_full_unique + 1,
  2010.     DBOP_scalar_function    = DBOP_scalar_parameter + 1,
  2011.     DBOP_plus    = DBOP_scalar_function + 1,
  2012.     DBOP_minus    = DBOP_plus + 1,
  2013.     DBOP_times    = DBOP_minus + 1,
  2014.     DBOP_over    = DBOP_times + 1,
  2015.     DBOP_div    = DBOP_over + 1,
  2016.     DBOP_modulo    = DBOP_div + 1,
  2017.     DBOP_power    = DBOP_modulo + 1,
  2018.     DBOP_like    = DBOP_power + 1,
  2019.     DBOP_sounds_like    = DBOP_like + 1,
  2020.     DBOP_like_any    = DBOP_sounds_like + 1,
  2021.     DBOP_like_all    = DBOP_like_any + 1,
  2022.     DBOP_is_INVALID    = DBOP_like_all + 1,
  2023.     DBOP_is_TRUE    = DBOP_is_INVALID + 1,
  2024.     DBOP_is_FALSE    = DBOP_is_TRUE + 1,
  2025.     DBOP_and    = DBOP_is_FALSE + 1,
  2026.     DBOP_or    = DBOP_and + 1,
  2027.     DBOP_xor    = DBOP_or + 1,
  2028.     DBOP_equivalent    = DBOP_xor + 1,
  2029.     DBOP_not    = DBOP_equivalent + 1,
  2030.     DBOP_implies    = DBOP_not + 1,
  2031.     DBOP_overlaps    = DBOP_implies + 1,
  2032.     DBOP_case_condition    = DBOP_overlaps + 1,
  2033.     DBOP_case_value    = DBOP_case_condition + 1,
  2034.     DBOP_nullif    = DBOP_case_value + 1,
  2035.     DBOP_cast    = DBOP_nullif + 1,
  2036.     DBOP_coalesce    = DBOP_cast + 1,
  2037.     DBOP_position    = DBOP_coalesce + 1,
  2038.     DBOP_extract    = DBOP_position + 1,
  2039.     DBOP_char_length    = DBOP_extract + 1,
  2040.     DBOP_octet_length    = DBOP_char_length + 1,
  2041.     DBOP_bit_length    = DBOP_octet_length + 1,
  2042.     DBOP_substring    = DBOP_bit_length + 1,
  2043.     DBOP_upper    = DBOP_substring + 1,
  2044.     DBOP_lower    = DBOP_upper + 1,
  2045.     DBOP_trim    = DBOP_lower + 1,
  2046.     DBOP_translate    = DBOP_trim + 1,
  2047.     DBOP_convert    = DBOP_translate + 1,
  2048.     DBOP_string_concat    = DBOP_convert + 1,
  2049.     DBOP_current_date    = DBOP_string_concat + 1,
  2050.     DBOP_current_time    = DBOP_current_date + 1,
  2051.     DBOP_current_timestamp    = DBOP_current_time + 1,
  2052.     DBOP_content_select    = DBOP_current_timestamp + 1,
  2053.     DBOP_content    = DBOP_content_select + 1,
  2054.     DBOP_content_freetext    = DBOP_content + 1,
  2055.     DBOP_content_proximity    = DBOP_content_freetext + 1,
  2056.     DBOP_content_vector_or    = DBOP_content_proximity + 1,
  2057.     DBOP_delete    = DBOP_content_vector_or + 1,
  2058.     DBOP_update    = DBOP_delete + 1,
  2059.     DBOP_insert    = DBOP_update + 1,
  2060.     DBOP_min    = DBOP_insert + 1,
  2061.     DBOP_max    = DBOP_min + 1,
  2062.     DBOP_count    = DBOP_max + 1,
  2063.     DBOP_sum    = DBOP_count + 1,
  2064.     DBOP_avg    = DBOP_sum + 1,
  2065.     DBOP_any_sample    = DBOP_avg + 1,
  2066.     DBOP_stddev    = DBOP_any_sample + 1,
  2067.     DBOP_stddev_pop    = DBOP_stddev + 1,
  2068.     DBOP_var    = DBOP_stddev_pop + 1,
  2069.     DBOP_var_pop    = DBOP_var + 1,
  2070.     DBOP_first    = DBOP_var_pop + 1,
  2071.     DBOP_last    = DBOP_first + 1,
  2072.     DBOP_in    = DBOP_last + 1,
  2073.     DBOP_exists    = DBOP_in + 1,
  2074.     DBOP_unique    = DBOP_exists + 1,
  2075.     DBOP_subset    = DBOP_unique + 1,
  2076.     DBOP_proper_subset    = DBOP_subset + 1,
  2077.     DBOP_superset    = DBOP_proper_subset + 1,
  2078.     DBOP_proper_superset    = DBOP_superset + 1,
  2079.     DBOP_disjoint    = DBOP_proper_superset + 1,
  2080.     DBOP_pass_through    = DBOP_disjoint + 1,
  2081.     DBOP_defined_by_GUID    = DBOP_pass_through + 1,
  2082.     DBOP_text_command    = DBOP_defined_by_GUID + 1,
  2083.     DBOP_SQL_select    = DBOP_text_command + 1,
  2084.     DBOP_prior_command_tree    = DBOP_SQL_select + 1,
  2085.     DBOP_add_columns    = DBOP_prior_command_tree + 1,
  2086.     DBOP_column_list_anchor    = DBOP_add_columns + 1,
  2087.     DBOP_column_list_element    = DBOP_column_list_anchor + 1,
  2088.     DBOP_command_list_anchor    = DBOP_column_list_element + 1,
  2089.     DBOP_command_list_element    = DBOP_command_list_anchor + 1,
  2090.     DBOP_from_list_anchor    = DBOP_command_list_element + 1,
  2091.     DBOP_from_list_element    = DBOP_from_list_anchor + 1,
  2092.     DBOP_project_list_anchor    = DBOP_from_list_element + 1,
  2093.     DBOP_project_list_element    = DBOP_project_list_anchor + 1,
  2094.     DBOP_row_list_anchor    = DBOP_project_list_element + 1,
  2095.     DBOP_row_list_element    = DBOP_row_list_anchor + 1,
  2096.     DBOP_scalar_list_anchor    = DBOP_row_list_element + 1,
  2097.     DBOP_scalar_list_element    = DBOP_scalar_list_anchor + 1,
  2098.     DBOP_set_list_anchor    = DBOP_scalar_list_element + 1,
  2099.     DBOP_set_list_element    = DBOP_set_list_anchor + 1,
  2100.     DBOP_sort_list_anchor    = DBOP_set_list_element + 1,
  2101.     DBOP_sort_list_element    = DBOP_sort_list_anchor + 1,
  2102.     DBOP_alter_character_set    = DBOP_sort_list_element + 1,
  2103.     DBOP_alter_collation    = DBOP_alter_character_set + 1,
  2104.     DBOP_alter_domain    = DBOP_alter_collation + 1,
  2105.     DBOP_alter_index    = DBOP_alter_domain + 1,
  2106.     DBOP_alter_procedure    = DBOP_alter_index + 1,
  2107.     DBOP_alter_schema    = DBOP_alter_procedure + 1,
  2108.     DBOP_alter_table    = DBOP_alter_schema + 1,
  2109.     DBOP_alter_trigger    = DBOP_alter_table + 1,
  2110.     DBOP_alter_view    = DBOP_alter_trigger + 1,
  2111.     DBOP_coldef_list_anchor    = DBOP_alter_view + 1,
  2112.     DBOP_coldef_list_element    = DBOP_coldef_list_anchor + 1,
  2113.     DBOP_create_assertion    = DBOP_coldef_list_element + 1,
  2114.     DBOP_create_character_set    = DBOP_create_assertion + 1,
  2115.     DBOP_create_collation    = DBOP_create_character_set + 1,
  2116.     DBOP_create_domain    = DBOP_create_collation + 1,
  2117.     DBOP_create_index    = DBOP_create_domain + 1,
  2118.     DBOP_create_procedure    = DBOP_create_index + 1,
  2119.     DBOP_create_schema    = DBOP_create_procedure + 1,
  2120.     DBOP_create_synonym    = DBOP_create_schema + 1,
  2121.     DBOP_create_table    = DBOP_create_synonym + 1,
  2122.     DBOP_create_temporary_table    = DBOP_create_table + 1,
  2123.     DBOP_create_translation    = DBOP_create_temporary_table + 1,
  2124.     DBOP_create_trigger    = DBOP_create_translation + 1,
  2125.     DBOP_create_view    = DBOP_create_trigger + 1,
  2126.     DBOP_drop_assertion    = DBOP_create_view + 1,
  2127.     DBOP_drop_character_set    = DBOP_drop_assertion + 1,
  2128.     DBOP_drop_collation    = DBOP_drop_character_set + 1,
  2129.     DBOP_drop_domain    = DBOP_drop_collation + 1,
  2130.     DBOP_drop_index    = DBOP_drop_domain + 1,
  2131.     DBOP_drop_procedure    = DBOP_drop_index + 1,
  2132.     DBOP_drop_schema    = DBOP_drop_procedure + 1,
  2133.     DBOP_drop_synonym    = DBOP_drop_schema + 1,
  2134.     DBOP_drop_table    = DBOP_drop_synonym + 1,
  2135.     DBOP_drop_translation    = DBOP_drop_table + 1,
  2136.     DBOP_drop_trigger    = DBOP_drop_translation + 1,
  2137.     DBOP_drop_view    = DBOP_drop_trigger + 1,
  2138.     DBOP_foreign_key    = DBOP_drop_view + 1,
  2139.     DBOP_grant_privileges    = DBOP_foreign_key + 1,
  2140.     DBOP_index_list_anchor    = DBOP_grant_privileges + 1,
  2141.     DBOP_index_list_element    = DBOP_index_list_anchor + 1,
  2142.     DBOP_primary_key    = DBOP_index_list_element + 1,
  2143.     DBOP_property_list_anchor    = DBOP_primary_key + 1,
  2144.     DBOP_property_list_element    = DBOP_property_list_anchor + 1,
  2145.     DBOP_referenced_table    = DBOP_property_list_element + 1,
  2146.     DBOP_rename_object    = DBOP_referenced_table + 1,
  2147.     DBOP_revoke_privileges    = DBOP_rename_object + 1,
  2148.     DBOP_schema_authorization    = DBOP_revoke_privileges + 1,
  2149.     DBOP_unique_key    = DBOP_schema_authorization + 1
  2150.     };
  2151. #endif // OLEDBVER >= 0x0250
  2152. //@@@- V2.5
  2153. typedef struct  tagDBPARAMS
  2154.     {
  2155.     void __RPC_FAR *pData;
  2156.     ULONG cParamSets;
  2157.     HACCESSOR hAccessor;
  2158.     }    DBPARAMS;
  2159.  
  2160. typedef DWORD DBPARAMFLAGS;
  2161.  
  2162.  
  2163. enum DBPARAMFLAGSENUM
  2164.     {    DBPARAMFLAGS_ISINPUT    = 0x1,
  2165.     DBPARAMFLAGS_ISOUTPUT    = 0x2,
  2166.     DBPARAMFLAGS_ISSIGNED    = 0x10,
  2167.     DBPARAMFLAGS_ISNULLABLE    = 0x40,
  2168.     DBPARAMFLAGS_ISLONG    = 0x80
  2169.     };
  2170. //@@@+ V2.0
  2171. #if( OLEDBVER >= 0x0200 )
  2172.  
  2173. enum DBPARAMFLAGSENUM20
  2174.     {    DBPARAMFLAGS_SCALEISNEGATIVE    = 0x100
  2175.     };
  2176. #endif // OLEDBVER >= 0x0200
  2177. //@@@- V2.0
  2178. typedef struct  tagDBPARAMINFO
  2179.     {
  2180.     DBPARAMFLAGS dwFlags;
  2181.     ULONG iOrdinal;
  2182.     LPOLESTR pwszName;
  2183.     ITypeInfo __RPC_FAR *pTypeInfo;
  2184.     ULONG ulParamSize;
  2185.     DBTYPE wType;
  2186.     BYTE bPrecision;
  2187.     BYTE bScale;
  2188.     }    DBPARAMINFO;
  2189.  
  2190. typedef DWORD DBPROPID;
  2191.  
  2192. typedef struct  tagDBPROPIDSET
  2193.     {
  2194.     /* [size_is] */ DBPROPID __RPC_FAR *rgPropertyIDs;
  2195.     ULONG cPropertyIDs;
  2196.     GUID guidPropertySet;
  2197.     }    DBPROPIDSET;
  2198.  
  2199. typedef DWORD DBPROPFLAGS;
  2200.  
  2201.  
  2202. enum DBPROPFLAGSENUM
  2203.     {    DBPROPFLAGS_NOTSUPPORTED    = 0,
  2204.     DBPROPFLAGS_COLUMN    = 0x1,
  2205.     DBPROPFLAGS_DATASOURCE    = 0x2,
  2206.     DBPROPFLAGS_DATASOURCECREATE    = 0x4,
  2207.     DBPROPFLAGS_DATASOURCEINFO    = 0x8,
  2208.     DBPROPFLAGS_DBINIT    = 0x10,
  2209.     DBPROPFLAGS_INDEX    = 0x20,
  2210.     DBPROPFLAGS_ROWSET    = 0x40,
  2211.     DBPROPFLAGS_TABLE    = 0x80,
  2212.     DBPROPFLAGS_COLUMNOK    = 0x100,
  2213.     DBPROPFLAGS_READ    = 0x200,
  2214.     DBPROPFLAGS_WRITE    = 0x400,
  2215.     DBPROPFLAGS_REQUIRED    = 0x800,
  2216.     DBPROPFLAGS_SESSION    = 0x1000
  2217.     };
  2218. //@@@+ V2.1
  2219. #if( OLEDBVER >= 0x0210 )
  2220.  
  2221. enum DBPROPFLAGSENUM21
  2222.     {    DBPROPFLAGS_TRUSTEE    = 0x2000
  2223.     };
  2224. #endif // OLEDBVER >= 0x0210
  2225. //@@@- V2.1
  2226. typedef struct  tagDBPROPINFO
  2227.     {
  2228.     LPOLESTR pwszDescription;
  2229.     DBPROPID dwPropertyID;
  2230.     DBPROPFLAGS dwFlags;
  2231.     VARTYPE vtType;
  2232.     VARIANT vValues;
  2233.     }    DBPROPINFO;
  2234.  
  2235. #if 0 
  2236. //DBPROPINFO is an unaligned structure. MIDL workaround. 42212352
  2237. typedef DBPROPINFO __RPC_FAR *PDBPROPINFO;
  2238.  
  2239. #else
  2240. typedef DBPROPINFO UNALIGNED __RPC_FAR * PDBPROPINFO;
  2241. #endif
  2242. typedef struct  tagDBPROPINFOSET
  2243.     {
  2244.     /* [size_is] */ PDBPROPINFO rgPropertyInfos;
  2245.     ULONG cPropertyInfos;
  2246.     GUID guidPropertySet;
  2247.     }    DBPROPINFOSET;
  2248.  
  2249. typedef DWORD DBPROPOPTIONS;
  2250.  
  2251. // DBPROPOPTIONS_SETIFCHEAP is deprecated; use DBPROPOPTIONS_OPTIONAL instead.
  2252.  
  2253. enum DBPROPOPTIONSENUM
  2254.     {    DBPROPOPTIONS_REQUIRED    = 0,
  2255.     DBPROPOPTIONS_SETIFCHEAP    = 0x1,
  2256.     DBPROPOPTIONS_OPTIONAL    = 0x1
  2257.     };
  2258. typedef DWORD DBPROPSTATUS;
  2259.  
  2260.  
  2261. enum DBPROPSTATUSENUM
  2262.     {    DBPROPSTATUS_OK    = 0,
  2263.     DBPROPSTATUS_NOTSUPPORTED    = 1,
  2264.     DBPROPSTATUS_BADVALUE    = 2,
  2265.     DBPROPSTATUS_BADOPTION    = 3,
  2266.     DBPROPSTATUS_BADCOLUMN    = 4,
  2267.     DBPROPSTATUS_NOTALLSETTABLE    = 5,
  2268.     DBPROPSTATUS_NOTSETTABLE    = 6,
  2269.     DBPROPSTATUS_NOTSET    = 7,
  2270.     DBPROPSTATUS_CONFLICTING    = 8
  2271.     };
  2272. //@@@+ V2.1
  2273. #if( OLEDBVER >= 0x0210 )
  2274.  
  2275. enum DBPROPSTATUSENUM21
  2276.     {    DBPROPSTATUS_NOTAVAILAVLE    = 9
  2277.     };
  2278. #endif // OLEDBVER >= 0x0210
  2279. //@@@- V2.1
  2280. typedef struct  tagDBPROP
  2281.     {
  2282.     DBPROPID dwPropertyID;
  2283.     DBPROPOPTIONS dwOptions;
  2284.     DBPROPSTATUS dwStatus;
  2285.     DBID colid;
  2286.     VARIANT vValue;
  2287.     }    DBPROP;
  2288.  
  2289. typedef struct  tagDBPROPSET
  2290.     {
  2291.     /* [size_is] */ DBPROP __RPC_FAR *rgProperties;
  2292.     ULONG cProperties;
  2293.     GUID guidPropertySet;
  2294.     }    DBPROPSET;
  2295.  
  2296. #define DBPARAMTYPE_INPUT            0x01
  2297. #define DBPARAMTYPE_INPUTOUTPUT        0x02
  2298. #define DBPARAMTYPE_OUTPUT            0x03
  2299. #define DBPARAMTYPE_RETURNVALUE        0x04
  2300. #define DB_PT_UNKNOWN                0x01
  2301. #define DB_PT_PROCEDURE                0x02
  2302. #define DB_PT_FUNCTION                0x03
  2303. #define DB_REMOTE                    0x01
  2304. #define DB_LOCAL_SHARED                0x02
  2305. #define DB_LOCAL_EXCLUSIVE            0x03
  2306. #define DB_COLLATION_ASC                0x01
  2307. #define DB_COLLATION_DESC            0x02
  2308. #define DB_UNSEARCHABLE                0x01
  2309. #define DB_LIKE_ONLY                    0x02
  2310. #define DB_ALL_EXCEPT_LIKE            0x03
  2311. #define DB_SEARCHABLE                0x04
  2312. //@@@+ V2.0
  2313. #if( OLEDBVER >= 0x0200 )
  2314. #define MDTREEOP_CHILDREN            0x01
  2315. #define MDTREEOP_SIBLINGS            0x02
  2316. #define MDTREEOP_PARENT              0x04
  2317. #define MDTREEOP_SELF                0x08
  2318. #define MDTREEOP_DESCENDANTS         0x10
  2319. #define MDTREEOP_ANCESTORS            0x20
  2320. #define MD_DIMTYPE_UNKNOWN           0x00
  2321. #define MD_DIMTYPE_TIME              0x01
  2322. #define MD_DIMTYPE_MEASURE           0x02
  2323. #define MD_DIMTYPE_OTHER             0x03
  2324. #define MDLEVEL_TYPE_UNKNOWN         0x0000
  2325. #define MDLEVEL_TYPE_REGULAR         0x0000
  2326. #define MDLEVEL_TYPE_ALL             0x0001
  2327. #define MDLEVEL_TYPE_CALCULATED      0x0002
  2328. #define MDLEVEL_TYPE_TIME            0x0004
  2329. #define MDLEVEL_TYPE_RESERVED1       0x0008
  2330. #define MDLEVEL_TYPE_TIME_YEARS      0x0014
  2331. #define MDLEVEL_TYPE_TIME_HALF_YEAR  0x0024
  2332. #define MDLEVEL_TYPE_TIME_QUARTERS   0x0044
  2333. #define MDLEVEL_TYPE_TIME_MONTHS     0x0084
  2334. #define MDLEVEL_TYPE_TIME_WEEKS      0x0104
  2335. #define MDLEVEL_TYPE_TIME_DAYS       0x0204
  2336. #define MDLEVEL_TYPE_TIME_HOURS      0x0304
  2337. #define MDLEVEL_TYPE_TIME_MINUTES    0x0404
  2338. #define MDLEVEL_TYPE_TIME_SECONDS    0x0804
  2339. #define MDLEVEL_TYPE_TIME_UNDEFINED  0x1004
  2340. #define MDMEASURE_AGGR_UNKNOWN       0x00
  2341. #define MDMEASURE_AGGR_SUM           0x01
  2342. #define MDMEASURE_AGGR_COUNT         0x02
  2343. #define MDMEASURE_AGGR_MIN           0x03
  2344. #define MDMEASURE_AGGR_MAX           0x04
  2345. #define MDMEASURE_AGGR_AVG           0x05
  2346. #define MDMEASURE_AGGR_VAR           0x06
  2347. #define MDMEASURE_AGGR_STD           0x07
  2348. #define MDMEASURE_AGGR_CALCULATED    0x7f
  2349. #define MDPROP_MEMBER                0x01
  2350. #define MDPROP_CELL                  0x02
  2351. #define MDMEMBER_TYPE_UNKNOWN        0x00
  2352. #define MDMEMBER_TYPE_REGULAR        0x01
  2353. #define MDMEMBER_TYPE_ALL            0x02
  2354. #define MDMEMBER_TYPE_MEASURE        0x03
  2355. #define MDMEMBER_TYPE_FORMULA        0x04
  2356. #define MDMEMBER_TYPE_RESERVE1       0x05
  2357. #define MDMEMBER_TYPE_RESERVE2       0x06
  2358. #define MDMEMBER_TYPE_RESERVE3       0x07
  2359. #define MDMEMBER_TYPE_RESERVE4       0x08
  2360. #define MDDISPINFO_DRILLED_DOWN                0x00010000
  2361. #define MDDISPINFO_PARENT_SAME_AS_PREV        0x00020000
  2362. #endif // OLEDBVER >= 0x0200
  2363. //@@@- V2.0
  2364. typedef DWORD DBINDEX_COL_ORDER;
  2365.  
  2366.  
  2367. enum DBINDEX_COL_ORDERENUM
  2368.     {    DBINDEX_COL_ORDER_ASC    = 0,
  2369.     DBINDEX_COL_ORDER_DESC    = DBINDEX_COL_ORDER_ASC + 1
  2370.     };
  2371. typedef struct  tagDBINDEXCOLUMNDESC
  2372.     {
  2373.     DBID __RPC_FAR *pColumnID;
  2374.     DBINDEX_COL_ORDER eIndexColOrder;
  2375.     }    DBINDEXCOLUMNDESC;
  2376.  
  2377. typedef struct  tagDBCOLUMNDESC
  2378.     {
  2379.     LPOLESTR pwszTypeName;
  2380.     ITypeInfo __RPC_FAR *pTypeInfo;
  2381.     /* [size_is] */ DBPROPSET __RPC_FAR *rgPropertySets;
  2382.     CLSID __RPC_FAR *pclsid;
  2383.     ULONG cPropertySets;
  2384.     ULONG ulColumnSize;
  2385.     DBID dbcid;
  2386.     DBTYPE wType;
  2387.     BYTE bPrecision;
  2388.     BYTE bScale;
  2389.     }    DBCOLUMNDESC;
  2390.  
  2391. //@@@+ V2.0
  2392. #if( OLEDBVER >= 0x0200 )
  2393. typedef DWORD DBCOLUMNDESCFLAGS;
  2394.  
  2395.  
  2396. enum DBCOLUMNDESCFLAGSENUM
  2397.     {    DBCOLUMNDESCFLAGS_TYPENAME    = 0x1,
  2398.     DBCOLUMNDESCFLAGS_ITYPEINFO    = 0x2,
  2399.     DBCOLUMNDESCFLAGS_PROPERTIES    = 0x4,
  2400.     DBCOLUMNDESCFLAGS_CLSID    = 0x8,
  2401.     DBCOLUMNDESCFLAGS_COLSIZE    = 0x10,
  2402.     DBCOLUMNDESCFLAGS_DBCID    = 0x20,
  2403.     DBCOLUMNDESCFLAGS_WTYPE    = 0x40,
  2404.     DBCOLUMNDESCFLAGS_PRECISION    = 0x80,
  2405.     DBCOLUMNDESCFLAGS_SCALE    = 0x100
  2406.     };
  2407. #endif // OLEDBVER >= 0x0200
  2408. //@@@- V2.0
  2409. typedef DWORD DBEVENTPHASE;
  2410.  
  2411.  
  2412. enum DBEVENTPHASEENUM
  2413.     {    DBEVENTPHASE_OKTODO    = 0,
  2414.     DBEVENTPHASE_ABOUTTODO    = DBEVENTPHASE_OKTODO + 1,
  2415.     DBEVENTPHASE_SYNCHAFTER    = DBEVENTPHASE_ABOUTTODO + 1,
  2416.     DBEVENTPHASE_FAILEDTODO    = DBEVENTPHASE_SYNCHAFTER + 1,
  2417.     DBEVENTPHASE_DIDEVENT    = DBEVENTPHASE_FAILEDTODO + 1
  2418.     };
  2419. typedef DWORD DBREASON;
  2420.  
  2421.  
  2422. enum DBREASONENUM
  2423.     {    DBREASON_ROWSET_FETCHPOSITIONCHANGE    = 0,
  2424.     DBREASON_ROWSET_RELEASE    = DBREASON_ROWSET_FETCHPOSITIONCHANGE + 1,
  2425.     DBREASON_COLUMN_SET    = DBREASON_ROWSET_RELEASE + 1,
  2426.     DBREASON_COLUMN_RECALCULATED    = DBREASON_COLUMN_SET + 1,
  2427.     DBREASON_ROW_ACTIVATE    = DBREASON_COLUMN_RECALCULATED + 1,
  2428.     DBREASON_ROW_RELEASE    = DBREASON_ROW_ACTIVATE + 1,
  2429.     DBREASON_ROW_DELETE    = DBREASON_ROW_RELEASE + 1,
  2430.     DBREASON_ROW_FIRSTCHANGE    = DBREASON_ROW_DELETE + 1,
  2431.     DBREASON_ROW_INSERT    = DBREASON_ROW_FIRSTCHANGE + 1,
  2432.     DBREASON_ROW_RESYNCH    = DBREASON_ROW_INSERT + 1,
  2433.     DBREASON_ROW_UNDOCHANGE    = DBREASON_ROW_RESYNCH + 1,
  2434.     DBREASON_ROW_UNDOINSERT    = DBREASON_ROW_UNDOCHANGE + 1,
  2435.     DBREASON_ROW_UNDODELETE    = DBREASON_ROW_UNDOINSERT + 1,
  2436.     DBREASON_ROW_UPDATE    = DBREASON_ROW_UNDODELETE + 1,
  2437.     DBREASON_ROWSET_CHANGED    = DBREASON_ROW_UPDATE + 1
  2438.     };
  2439. //@@@+ V1.5
  2440. #if( OLEDBVER >= 0x0150 )
  2441.  
  2442. enum DBREASONENUM15
  2443.     {    DBREASON_ROWPOSITION_CHANGED    = DBREASON_ROWSET_CHANGED + 1,
  2444.     DBREASON_ROWPOSITION_CHAPTERCHANGED    = DBREASON_ROWPOSITION_CHANGED + 1,
  2445.     DBREASON_ROWPOSITION_CLEARED    = DBREASON_ROWPOSITION_CHAPTERCHANGED + 1,
  2446.     DBREASON_ROW_ASYNCHINSERT    = DBREASON_ROWPOSITION_CLEARED + 1
  2447.     };
  2448. #endif // OLEDBVER >= 0x0150
  2449. //@@@- V1.5
  2450. //@@@+ V2.5
  2451. #if( OLEDBVER >= 0x0250 )
  2452.  
  2453. enum DBREASONENUM25
  2454.     {    DBREASON_ROWSET_ROWSADDED    = DBREASON_ROW_ASYNCHINSERT + 1,
  2455.     DBREASON_ROWSET_POPULATIONCOMPLETE    = DBREASON_ROWSET_ROWSADDED + 1,
  2456.     DBREASON_ROWSET_POPULATIONSTOPPED    = DBREASON_ROWSET_POPULATIONCOMPLETE + 1
  2457.     };
  2458. #endif // OLEDBVER >= 0x0250
  2459. //@@@- V2.5
  2460. //@@@+ V1.5
  2461. #if( OLEDBVER >= 0x0150 )
  2462. typedef DWORD DBCOMPAREOP;
  2463.  
  2464.  
  2465. enum DBCOMPAREOPSENUM
  2466.     {    DBCOMPAREOPS_LT    = 0,
  2467.     DBCOMPAREOPS_LE    = 1,
  2468.     DBCOMPAREOPS_EQ    = 2,
  2469.     DBCOMPAREOPS_GE    = 3,
  2470.     DBCOMPAREOPS_GT    = 4,
  2471.     DBCOMPAREOPS_BEGINSWITH    = 5,
  2472.     DBCOMPAREOPS_CONTAINS    = 6,
  2473.     DBCOMPAREOPS_NE    = 7,
  2474.     DBCOMPAREOPS_IGNORE    = 8,
  2475.     DBCOMPAREOPS_CASESENSITIVE    = 0x1000,
  2476.     DBCOMPAREOPS_CASEINSENSITIVE    = 0x2000
  2477.     };
  2478. //@@@+ V2.0
  2479. #if( OLEDBVER >= 0x0200 )
  2480.  
  2481. enum DBCOMPAREOPSENUM20
  2482.     {    DBCOMPAREOPS_NOTBEGINSWITH    = 9,
  2483.     DBCOMPAREOPS_NOTCONTAINS    = 10
  2484.     };
  2485. #endif // OLEDBVER >= 0x0200
  2486. //@@@- V2.0
  2487. typedef DWORD DBASYNCHOP;
  2488.  
  2489.  
  2490. enum DBASYNCHOPENUM
  2491.     {    DBASYNCHOP_OPEN    = 0
  2492.     };
  2493. typedef DWORD DBASYNCHPHASE;
  2494.  
  2495.  
  2496. enum DBASYNCHPHASEENUM
  2497.     {    DBASYNCHPHASE_INITIALIZATION    = 0,
  2498.     DBASYNCHPHASE_POPULATION    = DBASYNCHPHASE_INITIALIZATION + 1,
  2499.     DBASYNCHPHASE_COMPLETE    = DBASYNCHPHASE_POPULATION + 1,
  2500.     DBASYNCHPHASE_CANCELED    = DBASYNCHPHASE_COMPLETE + 1
  2501.     };
  2502. #define DB_COUNTUNAVAILABLE -1
  2503. #endif // OLEDBVER >= 0x0150
  2504. //@@@- V1.5
  2505. typedef DWORD DBSORT;
  2506.  
  2507.  
  2508. enum DBSORTENUM
  2509.     {    DBSORT_ASCENDING    = 0,
  2510.     DBSORT_DESCENDING    = DBSORT_ASCENDING + 1
  2511.     };
  2512. //@@@+ V2.0
  2513. #if( OLEDBVER >= 0x0200 )
  2514. #define MDFF_BOLD                    0x01
  2515. #define MDFF_ITALIC                  0x02
  2516. #define MDFF_UNDERLINE               0x04
  2517. #define MDFF_STRIKEOUT               0x08
  2518. typedef struct  tagMDAXISINFO
  2519.     {
  2520.     ULONG cbSize;
  2521.     ULONG iAxis;
  2522.     ULONG cDimensions;
  2523.     ULONG cCoordinates;
  2524.     ULONG __RPC_FAR *rgcColumns;
  2525.     LPOLESTR __RPC_FAR *rgpwszDimensionNames;
  2526.     }    MDAXISINFO;
  2527.  
  2528. #define PMDAXISINFO_GETAT(rgAxisInfo, iAxis) ((MDAXISINFO *)(((BYTE *)(rgAxisInfo)) +((iAxis) * (rgAxisInfo)[0].cbSize)))
  2529. #define MDAXISINFO_GETAT(rgAxisInfo, iAxis) (*PMDAXISINFO_GETAT((rgAxisInfo), (iAxis)))
  2530. #define MDAXIS_COLUMNS               0x00000000
  2531. #define MDAXIS_ROWS                  0x00000001
  2532. #define MDAXIS_PAGES                 0x00000002
  2533. #define MDAXIS_SECTIONS              0x00000003
  2534. #define MDAXIS_CHAPTERS              0x00000004
  2535. #define MDAXIS_SLICERS               0xffffffff
  2536. #endif // OLEDBVER >= 0x0200
  2537. //@@@- V2.0
  2538.  
  2539.  
  2540. extern RPC_IF_HANDLE DBStructureDefinitions_v0_0_c_ifspec;
  2541. extern RPC_IF_HANDLE DBStructureDefinitions_v0_0_s_ifspec;
  2542. #endif /* __DBStructureDefinitions_INTERFACE_DEFINED__ */
  2543.  
  2544. #ifndef __IAccessor_INTERFACE_DEFINED__
  2545. #define __IAccessor_INTERFACE_DEFINED__
  2546.  
  2547. /****************************************
  2548.  * Generated header for interface: IAccessor
  2549.  * at Tue Apr 28 11:55:07 1998
  2550.  * using MIDL 3.01.75
  2551.  ****************************************/
  2552. /* [unique][uuid][object] */ 
  2553.  
  2554.  
  2555. typedef DWORD DBACCESSORFLAGS;
  2556.  
  2557.  
  2558. enum DBACCESSORFLAGSENUM
  2559.     {    DBACCESSOR_INVALID    = 0,
  2560.     DBACCESSOR_PASSBYREF    = 0x1,
  2561.     DBACCESSOR_ROWDATA    = 0x2,
  2562.     DBACCESSOR_PARAMETERDATA    = 0x4,
  2563.     DBACCESSOR_OPTIMIZED    = 0x8
  2564.     };
  2565. //@@@+ V2.5
  2566. #if( OLEDBVER >= 0x0250 )
  2567.  
  2568. enum DBACCESSORFLAGSENUM25
  2569.     {    DBACCESSOR_INHERITED    = 0x10
  2570.     };
  2571. #endif // OLEDBVER >= 0x0250
  2572. //@@@- V2.5
  2573. typedef DWORD DBBINDSTATUS;
  2574.  
  2575.  
  2576. enum DBBINDSTATUSENUM
  2577.     {    DBBINDSTATUS_OK    = 0,
  2578.     DBBINDSTATUS_BADORDINAL    = 1,
  2579.     DBBINDSTATUS_UNSUPPORTEDCONVERSION    = 2,
  2580.     DBBINDSTATUS_BADBINDINFO    = 3,
  2581.     DBBINDSTATUS_BADSTORAGEFLAGS    = 4,
  2582.     DBBINDSTATUS_NOINTERFACE    = 5,
  2583.     DBBINDSTATUS_MULTIPLESTORAGE    = 6
  2584.     };
  2585.  
  2586. EXTERN_C const IID IID_IAccessor;
  2587.  
  2588. #if defined(__cplusplus) && !defined(CINTERFACE)
  2589.     
  2590.     interface DECLSPEC_UUID("0c733a8c-2a1c-11ce-ade5-00aa0044773d")
  2591.     IAccessor : public IUnknown
  2592.     {
  2593.     public:
  2594.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddRefAccessor( 
  2595.             /* [in] */ HACCESSOR hAccessor,
  2596.             /* [unique][out][in] */ ULONG __RPC_FAR *pcRefCount) = 0;
  2597.         
  2598.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateAccessor( 
  2599.             /* [in] */ DBACCESSORFLAGS dwAccessorFlags,
  2600.             /* [in] */ ULONG cBindings,
  2601.             /* [size_is][in] */ const DBBINDING __RPC_FAR rgBindings[  ],
  2602.             /* [in] */ ULONG cbRowSize,
  2603.             /* [out] */ HACCESSOR __RPC_FAR *phAccessor,
  2604.             /* [size_is][out] */ DBBINDSTATUS __RPC_FAR rgStatus[  ]) = 0;
  2605.         
  2606.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetBindings( 
  2607.             /* [in] */ HACCESSOR hAccessor,
  2608.             /* [out] */ DBACCESSORFLAGS __RPC_FAR *pdwAccessorFlags,
  2609.             /* [out][in] */ ULONG __RPC_FAR *pcBindings,
  2610.             /* [size_is][size_is][out] */ DBBINDING __RPC_FAR *__RPC_FAR *prgBindings) = 0;
  2611.         
  2612.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE ReleaseAccessor( 
  2613.             /* [in] */ HACCESSOR hAccessor,
  2614.             /* [unique][out][in] */ ULONG __RPC_FAR *pcRefCount) = 0;
  2615.         
  2616.     };
  2617.     
  2618. #else     /* C style interface */
  2619.  
  2620.     typedef struct IAccessorVtbl
  2621.     {
  2622.         BEGIN_INTERFACE
  2623.         
  2624.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2625.             IAccessor __RPC_FAR * This,
  2626.             /* [in] */ REFIID riid,
  2627.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2628.         
  2629.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2630.             IAccessor __RPC_FAR * This);
  2631.         
  2632.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2633.             IAccessor __RPC_FAR * This);
  2634.         
  2635.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddRefAccessor )( 
  2636.             IAccessor __RPC_FAR * This,
  2637.             /* [in] */ HACCESSOR hAccessor,
  2638.             /* [unique][out][in] */ ULONG __RPC_FAR *pcRefCount);
  2639.         
  2640.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateAccessor )( 
  2641.             IAccessor __RPC_FAR * This,
  2642.             /* [in] */ DBACCESSORFLAGS dwAccessorFlags,
  2643.             /* [in] */ ULONG cBindings,
  2644.             /* [size_is][in] */ const DBBINDING __RPC_FAR rgBindings[  ],
  2645.             /* [in] */ ULONG cbRowSize,
  2646.             /* [out] */ HACCESSOR __RPC_FAR *phAccessor,
  2647.             /* [size_is][out] */ DBBINDSTATUS __RPC_FAR rgStatus[  ]);
  2648.         
  2649.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBindings )( 
  2650.             IAccessor __RPC_FAR * This,
  2651.             /* [in] */ HACCESSOR hAccessor,
  2652.             /* [out] */ DBACCESSORFLAGS __RPC_FAR *pdwAccessorFlags,
  2653.             /* [out][in] */ ULONG __RPC_FAR *pcBindings,
  2654.             /* [size_is][size_is][out] */ DBBINDING __RPC_FAR *__RPC_FAR *prgBindings);
  2655.         
  2656.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseAccessor )( 
  2657.             IAccessor __RPC_FAR * This,
  2658.             /* [in] */ HACCESSOR hAccessor,
  2659.             /* [unique][out][in] */ ULONG __RPC_FAR *pcRefCount);
  2660.         
  2661.         END_INTERFACE
  2662.     } IAccessorVtbl;
  2663.  
  2664.     interface IAccessor
  2665.     {
  2666.         CONST_VTBL struct IAccessorVtbl __RPC_FAR *lpVtbl;
  2667.     };
  2668.  
  2669.     
  2670.  
  2671. #ifdef COBJMACROS
  2672.  
  2673.  
  2674. #define IAccessor_QueryInterface(This,riid,ppvObject)    \
  2675.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2676.  
  2677. #define IAccessor_AddRef(This)    \
  2678.     (This)->lpVtbl -> AddRef(This)
  2679.  
  2680. #define IAccessor_Release(This)    \
  2681.     (This)->lpVtbl -> Release(This)
  2682.  
  2683.  
  2684. #define IAccessor_AddRefAccessor(This,hAccessor,pcRefCount)    \
  2685.     (This)->lpVtbl -> AddRefAccessor(This,hAccessor,pcRefCount)
  2686.  
  2687. #define IAccessor_CreateAccessor(This,dwAccessorFlags,cBindings,rgBindings,cbRowSize,phAccessor,rgStatus)    \
  2688.     (This)->lpVtbl -> CreateAccessor(This,dwAccessorFlags,cBindings,rgBindings,cbRowSize,phAccessor,rgStatus)
  2689.  
  2690. #define IAccessor_GetBindings(This,hAccessor,pdwAccessorFlags,pcBindings,prgBindings)    \
  2691.     (This)->lpVtbl -> GetBindings(This,hAccessor,pdwAccessorFlags,pcBindings,prgBindings)
  2692.  
  2693. #define IAccessor_ReleaseAccessor(This,hAccessor,pcRefCount)    \
  2694.     (This)->lpVtbl -> ReleaseAccessor(This,hAccessor,pcRefCount)
  2695.  
  2696. #endif /* COBJMACROS */
  2697.  
  2698.  
  2699. #endif     /* C style interface */
  2700.  
  2701.  
  2702.  
  2703. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_RemoteAddRefAccessor_Proxy( 
  2704.     IAccessor __RPC_FAR * This,
  2705.     /* [in] */ HACCESSOR hAccessor,
  2706.     /* [unique][out][in] */ ULONG __RPC_FAR *pcRefCount,
  2707.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  2708.  
  2709.  
  2710. void __RPC_STUB IAccessor_RemoteAddRefAccessor_Stub(
  2711.     IRpcStubBuffer *This,
  2712.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2713.     PRPC_MESSAGE _pRpcMessage,
  2714.     DWORD *_pdwStubPhase);
  2715.  
  2716.  
  2717. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_RemoteCreateAccessor_Proxy( 
  2718.     IAccessor __RPC_FAR * This,
  2719.     /* [in] */ DBACCESSORFLAGS dwAccessorFlags,
  2720.     /* [in] */ ULONG cBindings,
  2721.     /* [size_is][unique][in] */ DBBINDING __RPC_FAR *rgBindings,
  2722.     /* [in] */ ULONG cbRowSize,
  2723.     /* [out] */ HACCESSOR __RPC_FAR *phAccessor,
  2724.     /* [size_is][unique][out][in] */ DBBINDSTATUS __RPC_FAR *rgStatus,
  2725.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  2726.  
  2727.  
  2728. void __RPC_STUB IAccessor_RemoteCreateAccessor_Stub(
  2729.     IRpcStubBuffer *This,
  2730.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2731.     PRPC_MESSAGE _pRpcMessage,
  2732.     DWORD *_pdwStubPhase);
  2733.  
  2734.  
  2735. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_RemoteGetBindings_Proxy( 
  2736.     IAccessor __RPC_FAR * This,
  2737.     /* [in] */ HACCESSOR hAccessor,
  2738.     /* [out] */ DBACCESSORFLAGS __RPC_FAR *pdwAccessorFlags,
  2739.     /* [out][in] */ ULONG __RPC_FAR *pcBindings,
  2740.     /* [size_is][size_is][out] */ DBBINDING __RPC_FAR *__RPC_FAR *prgBindings,
  2741.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  2742.  
  2743.  
  2744. void __RPC_STUB IAccessor_RemoteGetBindings_Stub(
  2745.     IRpcStubBuffer *This,
  2746.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2747.     PRPC_MESSAGE _pRpcMessage,
  2748.     DWORD *_pdwStubPhase);
  2749.  
  2750.  
  2751. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_RemoteReleaseAccessor_Proxy( 
  2752.     IAccessor __RPC_FAR * This,
  2753.     /* [in] */ HACCESSOR hAccessor,
  2754.     /* [unique][out][in] */ ULONG __RPC_FAR *pcRefCount,
  2755.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  2756.  
  2757.  
  2758. void __RPC_STUB IAccessor_RemoteReleaseAccessor_Stub(
  2759.     IRpcStubBuffer *This,
  2760.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2761.     PRPC_MESSAGE _pRpcMessage,
  2762.     DWORD *_pdwStubPhase);
  2763.  
  2764.  
  2765.  
  2766. #endif     /* __IAccessor_INTERFACE_DEFINED__ */
  2767.  
  2768.  
  2769. #ifndef __IRowset_INTERFACE_DEFINED__
  2770. #define __IRowset_INTERFACE_DEFINED__
  2771.  
  2772. /****************************************
  2773.  * Generated header for interface: IRowset
  2774.  * at Tue Apr 28 11:55:07 1998
  2775.  * using MIDL 3.01.75
  2776.  ****************************************/
  2777. /* [unique][uuid][object][local] */ 
  2778.  
  2779.  
  2780. typedef DWORD DBROWOPTIONS;
  2781.  
  2782.  
  2783. EXTERN_C const IID IID_IRowset;
  2784.  
  2785. #if defined(__cplusplus) && !defined(CINTERFACE)
  2786.     
  2787.     interface DECLSPEC_UUID("0c733a7c-2a1c-11ce-ade5-00aa0044773d")
  2788.     IRowset : public IUnknown
  2789.     {
  2790.     public:
  2791.         virtual HRESULT STDMETHODCALLTYPE AddRefRows( 
  2792.             /* [in] */ ULONG cRows,
  2793.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  2794.             /* [size_is][out] */ ULONG __RPC_FAR rgRefCounts[  ],
  2795.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]) = 0;
  2796.         
  2797.         virtual HRESULT STDMETHODCALLTYPE GetData( 
  2798.             /* [in] */ HROW hRow,
  2799.             /* [in] */ HACCESSOR hAccessor,
  2800.             /* [out] */ void __RPC_FAR *pData) = 0;
  2801.         
  2802.         virtual HRESULT STDMETHODCALLTYPE GetNextRows( 
  2803.             /* [in] */ HCHAPTER hReserved,
  2804.             /* [in] */ LONG lRowsOffset,
  2805.             /* [in] */ LONG cRows,
  2806.             /* [out] */ ULONG __RPC_FAR *pcRowsObtained,
  2807.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows) = 0;
  2808.         
  2809.         virtual HRESULT STDMETHODCALLTYPE ReleaseRows( 
  2810.             /* [in] */ ULONG cRows,
  2811.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  2812.             /* [size_is][in] */ DBROWOPTIONS __RPC_FAR rgRowOptions[  ],
  2813.             /* [size_is][out] */ ULONG __RPC_FAR rgRefCounts[  ],
  2814.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]) = 0;
  2815.         
  2816.         virtual HRESULT STDMETHODCALLTYPE RestartPosition( 
  2817.             /* [in] */ HCHAPTER hReserved) = 0;
  2818.         
  2819.     };
  2820.     
  2821. #else     /* C style interface */
  2822.  
  2823.     typedef struct IRowsetVtbl
  2824.     {
  2825.         BEGIN_INTERFACE
  2826.         
  2827.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2828.             IRowset __RPC_FAR * This,
  2829.             /* [in] */ REFIID riid,
  2830.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2831.         
  2832.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2833.             IRowset __RPC_FAR * This);
  2834.         
  2835.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2836.             IRowset __RPC_FAR * This);
  2837.         
  2838.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddRefRows )( 
  2839.             IRowset __RPC_FAR * This,
  2840.             /* [in] */ ULONG cRows,
  2841.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  2842.             /* [size_is][out] */ ULONG __RPC_FAR rgRefCounts[  ],
  2843.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  2844.         
  2845.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetData )( 
  2846.             IRowset __RPC_FAR * This,
  2847.             /* [in] */ HROW hRow,
  2848.             /* [in] */ HACCESSOR hAccessor,
  2849.             /* [out] */ void __RPC_FAR *pData);
  2850.         
  2851.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNextRows )( 
  2852.             IRowset __RPC_FAR * This,
  2853.             /* [in] */ HCHAPTER hReserved,
  2854.             /* [in] */ LONG lRowsOffset,
  2855.             /* [in] */ LONG cRows,
  2856.             /* [out] */ ULONG __RPC_FAR *pcRowsObtained,
  2857.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  2858.         
  2859.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseRows )( 
  2860.             IRowset __RPC_FAR * This,
  2861.             /* [in] */ ULONG cRows,
  2862.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  2863.             /* [size_is][in] */ DBROWOPTIONS __RPC_FAR rgRowOptions[  ],
  2864.             /* [size_is][out] */ ULONG __RPC_FAR rgRefCounts[  ],
  2865.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  2866.         
  2867.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RestartPosition )( 
  2868.             IRowset __RPC_FAR * This,
  2869.             /* [in] */ HCHAPTER hReserved);
  2870.         
  2871.         END_INTERFACE
  2872.     } IRowsetVtbl;
  2873.  
  2874.     interface IRowset
  2875.     {
  2876.         CONST_VTBL struct IRowsetVtbl __RPC_FAR *lpVtbl;
  2877.     };
  2878.  
  2879.     
  2880.  
  2881. #ifdef COBJMACROS
  2882.  
  2883.  
  2884. #define IRowset_QueryInterface(This,riid,ppvObject)    \
  2885.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2886.  
  2887. #define IRowset_AddRef(This)    \
  2888.     (This)->lpVtbl -> AddRef(This)
  2889.  
  2890. #define IRowset_Release(This)    \
  2891.     (This)->lpVtbl -> Release(This)
  2892.  
  2893.  
  2894. #define IRowset_AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus)    \
  2895.     (This)->lpVtbl -> AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus)
  2896.  
  2897. #define IRowset_GetData(This,hRow,hAccessor,pData)    \
  2898.     (This)->lpVtbl -> GetData(This,hRow,hAccessor,pData)
  2899.  
  2900. #define IRowset_GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows)    \
  2901.     (This)->lpVtbl -> GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows)
  2902.  
  2903. #define IRowset_ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus)    \
  2904.     (This)->lpVtbl -> ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus)
  2905.  
  2906. #define IRowset_RestartPosition(This,hReserved)    \
  2907.     (This)->lpVtbl -> RestartPosition(This,hReserved)
  2908.  
  2909. #endif /* COBJMACROS */
  2910.  
  2911.  
  2912. #endif     /* C style interface */
  2913.  
  2914.  
  2915.  
  2916. HRESULT STDMETHODCALLTYPE IRowset_AddRefRows_Proxy( 
  2917.     IRowset __RPC_FAR * This,
  2918.     /* [in] */ ULONG cRows,
  2919.     /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  2920.     /* [size_is][out] */ ULONG __RPC_FAR rgRefCounts[  ],
  2921.     /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  2922.  
  2923.  
  2924. void __RPC_STUB IRowset_AddRefRows_Stub(
  2925.     IRpcStubBuffer *This,
  2926.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2927.     PRPC_MESSAGE _pRpcMessage,
  2928.     DWORD *_pdwStubPhase);
  2929.  
  2930.  
  2931. HRESULT STDMETHODCALLTYPE IRowset_GetData_Proxy( 
  2932.     IRowset __RPC_FAR * This,
  2933.     /* [in] */ HROW hRow,
  2934.     /* [in] */ HACCESSOR hAccessor,
  2935.     /* [out] */ void __RPC_FAR *pData);
  2936.  
  2937.  
  2938. void __RPC_STUB IRowset_GetData_Stub(
  2939.     IRpcStubBuffer *This,
  2940.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2941.     PRPC_MESSAGE _pRpcMessage,
  2942.     DWORD *_pdwStubPhase);
  2943.  
  2944.  
  2945. HRESULT STDMETHODCALLTYPE IRowset_GetNextRows_Proxy( 
  2946.     IRowset __RPC_FAR * This,
  2947.     /* [in] */ HCHAPTER hReserved,
  2948.     /* [in] */ LONG lRowsOffset,
  2949.     /* [in] */ LONG cRows,
  2950.     /* [out] */ ULONG __RPC_FAR *pcRowsObtained,
  2951.     /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  2952.  
  2953.  
  2954. void __RPC_STUB IRowset_GetNextRows_Stub(
  2955.     IRpcStubBuffer *This,
  2956.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2957.     PRPC_MESSAGE _pRpcMessage,
  2958.     DWORD *_pdwStubPhase);
  2959.  
  2960.  
  2961. HRESULT STDMETHODCALLTYPE IRowset_ReleaseRows_Proxy( 
  2962.     IRowset __RPC_FAR * This,
  2963.     /* [in] */ ULONG cRows,
  2964.     /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  2965.     /* [size_is][in] */ DBROWOPTIONS __RPC_FAR rgRowOptions[  ],
  2966.     /* [size_is][out] */ ULONG __RPC_FAR rgRefCounts[  ],
  2967.     /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  2968.  
  2969.  
  2970. void __RPC_STUB IRowset_ReleaseRows_Stub(
  2971.     IRpcStubBuffer *This,
  2972.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2973.     PRPC_MESSAGE _pRpcMessage,
  2974.     DWORD *_pdwStubPhase);
  2975.  
  2976.  
  2977. HRESULT STDMETHODCALLTYPE IRowset_RestartPosition_Proxy( 
  2978.     IRowset __RPC_FAR * This,
  2979.     /* [in] */ HCHAPTER hReserved);
  2980.  
  2981.  
  2982. void __RPC_STUB IRowset_RestartPosition_Stub(
  2983.     IRpcStubBuffer *This,
  2984.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2985.     PRPC_MESSAGE _pRpcMessage,
  2986.     DWORD *_pdwStubPhase);
  2987.  
  2988.  
  2989.  
  2990. #endif     /* __IRowset_INTERFACE_DEFINED__ */
  2991.  
  2992.  
  2993. #ifndef __IRowsetInfo_INTERFACE_DEFINED__
  2994. #define __IRowsetInfo_INTERFACE_DEFINED__
  2995.  
  2996. /****************************************
  2997.  * Generated header for interface: IRowsetInfo
  2998.  * at Tue Apr 28 11:55:07 1998
  2999.  * using MIDL 3.01.75
  3000.  ****************************************/
  3001. /* [unique][uuid][object] */ 
  3002.  
  3003.  
  3004.  
  3005. EXTERN_C const IID IID_IRowsetInfo;
  3006.  
  3007. #if defined(__cplusplus) && !defined(CINTERFACE)
  3008.     
  3009.     interface DECLSPEC_UUID("0c733a55-2a1c-11ce-ade5-00aa0044773d")
  3010.     IRowsetInfo : public IUnknown
  3011.     {
  3012.     public:
  3013.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetProperties( 
  3014.             /* [in] */ const ULONG cPropertyIDSets,
  3015.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  3016.             /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  3017.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets) = 0;
  3018.         
  3019.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetReferencedRowset( 
  3020.             /* [in] */ ULONG iOrdinal,
  3021.             /* [in] */ REFIID riid,
  3022.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppReferencedRowset) = 0;
  3023.         
  3024.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSpecification( 
  3025.             /* [in] */ REFIID riid,
  3026.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSpecification) = 0;
  3027.         
  3028.     };
  3029.     
  3030. #else     /* C style interface */
  3031.  
  3032.     typedef struct IRowsetInfoVtbl
  3033.     {
  3034.         BEGIN_INTERFACE
  3035.         
  3036.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3037.             IRowsetInfo __RPC_FAR * This,
  3038.             /* [in] */ REFIID riid,
  3039.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3040.         
  3041.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3042.             IRowsetInfo __RPC_FAR * This);
  3043.         
  3044.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3045.             IRowsetInfo __RPC_FAR * This);
  3046.         
  3047.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProperties )( 
  3048.             IRowsetInfo __RPC_FAR * This,
  3049.             /* [in] */ const ULONG cPropertyIDSets,
  3050.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  3051.             /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  3052.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets);
  3053.         
  3054.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetReferencedRowset )( 
  3055.             IRowsetInfo __RPC_FAR * This,
  3056.             /* [in] */ ULONG iOrdinal,
  3057.             /* [in] */ REFIID riid,
  3058.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppReferencedRowset);
  3059.         
  3060.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSpecification )( 
  3061.             IRowsetInfo __RPC_FAR * This,
  3062.             /* [in] */ REFIID riid,
  3063.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSpecification);
  3064.         
  3065.         END_INTERFACE
  3066.     } IRowsetInfoVtbl;
  3067.  
  3068.     interface IRowsetInfo
  3069.     {
  3070.         CONST_VTBL struct IRowsetInfoVtbl __RPC_FAR *lpVtbl;
  3071.     };
  3072.  
  3073.     
  3074.  
  3075. #ifdef COBJMACROS
  3076.  
  3077.  
  3078. #define IRowsetInfo_QueryInterface(This,riid,ppvObject)    \
  3079.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3080.  
  3081. #define IRowsetInfo_AddRef(This)    \
  3082.     (This)->lpVtbl -> AddRef(This)
  3083.  
  3084. #define IRowsetInfo_Release(This)    \
  3085.     (This)->lpVtbl -> Release(This)
  3086.  
  3087.  
  3088. #define IRowsetInfo_GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)    \
  3089.     (This)->lpVtbl -> GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  3090.  
  3091. #define IRowsetInfo_GetReferencedRowset(This,iOrdinal,riid,ppReferencedRowset)    \
  3092.     (This)->lpVtbl -> GetReferencedRowset(This,iOrdinal,riid,ppReferencedRowset)
  3093.  
  3094. #define IRowsetInfo_GetSpecification(This,riid,ppSpecification)    \
  3095.     (This)->lpVtbl -> GetSpecification(This,riid,ppSpecification)
  3096.  
  3097. #endif /* COBJMACROS */
  3098.  
  3099.  
  3100. #endif     /* C style interface */
  3101.  
  3102.  
  3103.  
  3104. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_RemoteGetProperties_Proxy( 
  3105.     IRowsetInfo __RPC_FAR * This,
  3106.     /* [in] */ ULONG cPropertyIDSets,
  3107.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  3108.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  3109.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets,
  3110.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  3111.  
  3112.  
  3113. void __RPC_STUB IRowsetInfo_RemoteGetProperties_Stub(
  3114.     IRpcStubBuffer *This,
  3115.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3116.     PRPC_MESSAGE _pRpcMessage,
  3117.     DWORD *_pdwStubPhase);
  3118.  
  3119.  
  3120. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_RemoteGetReferencedRowset_Proxy( 
  3121.     IRowsetInfo __RPC_FAR * This,
  3122.     /* [in] */ ULONG iOrdinal,
  3123.     /* [in] */ REFIID riid,
  3124.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppReferencedRowset,
  3125.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  3126.  
  3127.  
  3128. void __RPC_STUB IRowsetInfo_RemoteGetReferencedRowset_Stub(
  3129.     IRpcStubBuffer *This,
  3130.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3131.     PRPC_MESSAGE _pRpcMessage,
  3132.     DWORD *_pdwStubPhase);
  3133.  
  3134.  
  3135. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_RemoteGetSpecification_Proxy( 
  3136.     IRowsetInfo __RPC_FAR * This,
  3137.     /* [in] */ REFIID riid,
  3138.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSpecification,
  3139.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  3140.  
  3141.  
  3142. void __RPC_STUB IRowsetInfo_RemoteGetSpecification_Stub(
  3143.     IRpcStubBuffer *This,
  3144.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3145.     PRPC_MESSAGE _pRpcMessage,
  3146.     DWORD *_pdwStubPhase);
  3147.  
  3148.  
  3149.  
  3150. #endif     /* __IRowsetInfo_INTERFACE_DEFINED__ */
  3151.  
  3152.  
  3153. #ifndef __IRowsetLocate_INTERFACE_DEFINED__
  3154. #define __IRowsetLocate_INTERFACE_DEFINED__
  3155.  
  3156. /****************************************
  3157.  * Generated header for interface: IRowsetLocate
  3158.  * at Tue Apr 28 11:55:07 1998
  3159.  * using MIDL 3.01.75
  3160.  ****************************************/
  3161. /* [unique][uuid][object][local] */ 
  3162.  
  3163.  
  3164. typedef DWORD DBCOMPARE;
  3165.  
  3166.  
  3167. enum DBCOMPAREENUM
  3168.     {    DBCOMPARE_LT    = 0,
  3169.     DBCOMPARE_EQ    = DBCOMPARE_LT + 1,
  3170.     DBCOMPARE_GT    = DBCOMPARE_EQ + 1,
  3171.     DBCOMPARE_NE    = DBCOMPARE_GT + 1,
  3172.     DBCOMPARE_NOTCOMPARABLE    = DBCOMPARE_NE + 1
  3173.     };
  3174.  
  3175. EXTERN_C const IID IID_IRowsetLocate;
  3176.  
  3177. #if defined(__cplusplus) && !defined(CINTERFACE)
  3178.     
  3179.     interface DECLSPEC_UUID("0c733a7d-2a1c-11ce-ade5-00aa0044773d")
  3180.     IRowsetLocate : public IRowset
  3181.     {
  3182.     public:
  3183.         virtual HRESULT STDMETHODCALLTYPE Compare( 
  3184.             /* [in] */ HCHAPTER hReserved,
  3185.             /* [in] */ ULONG cbBookmark1,
  3186.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark1,
  3187.             /* [in] */ ULONG cbBookmark2,
  3188.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark2,
  3189.             /* [out] */ DBCOMPARE __RPC_FAR *pComparison) = 0;
  3190.         
  3191.         virtual HRESULT STDMETHODCALLTYPE GetRowsAt( 
  3192.             /* [in] */ HWATCHREGION hReserved1,
  3193.             /* [in] */ HCHAPTER hReserved2,
  3194.             /* [in] */ ULONG cbBookmark,
  3195.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  3196.             /* [in] */ LONG lRowsOffset,
  3197.             /* [in] */ LONG cRows,
  3198.             /* [out] */ ULONG __RPC_FAR *pcRowsObtained,
  3199.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows) = 0;
  3200.         
  3201.         virtual HRESULT STDMETHODCALLTYPE GetRowsByBookmark( 
  3202.             /* [in] */ HCHAPTER hReserved,
  3203.             /* [in] */ ULONG cRows,
  3204.             /* [size_is][in] */ const ULONG __RPC_FAR rgcbBookmarks[  ],
  3205.             /* [size_is][in] */ const BYTE __RPC_FAR *__RPC_FAR rgpBookmarks[  ],
  3206.             /* [size_is][out] */ HROW __RPC_FAR rghRows[  ],
  3207.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]) = 0;
  3208.         
  3209.         virtual HRESULT STDMETHODCALLTYPE Hash( 
  3210.             /* [in] */ HCHAPTER hReserved,
  3211.             /* [in] */ ULONG cBookmarks,
  3212.             /* [size_is][in] */ const ULONG __RPC_FAR rgcbBookmarks[  ],
  3213.             /* [size_is][in] */ const BYTE __RPC_FAR *__RPC_FAR rgpBookmarks[  ],
  3214.             /* [size_is][out] */ DWORD __RPC_FAR rgHashedValues[  ],
  3215.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgBookmarkStatus[  ]) = 0;
  3216.         
  3217.     };
  3218.     
  3219. #else     /* C style interface */
  3220.  
  3221.     typedef struct IRowsetLocateVtbl
  3222.     {
  3223.         BEGIN_INTERFACE
  3224.         
  3225.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3226.             IRowsetLocate __RPC_FAR * This,
  3227.             /* [in] */ REFIID riid,
  3228.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3229.         
  3230.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3231.             IRowsetLocate __RPC_FAR * This);
  3232.         
  3233.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3234.             IRowsetLocate __RPC_FAR * This);
  3235.         
  3236.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddRefRows )( 
  3237.             IRowsetLocate __RPC_FAR * This,
  3238.             /* [in] */ ULONG cRows,
  3239.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  3240.             /* [size_is][out] */ ULONG __RPC_FAR rgRefCounts[  ],
  3241.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  3242.         
  3243.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetData )( 
  3244.             IRowsetLocate __RPC_FAR * This,
  3245.             /* [in] */ HROW hRow,
  3246.             /* [in] */ HACCESSOR hAccessor,
  3247.             /* [out] */ void __RPC_FAR *pData);
  3248.         
  3249.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNextRows )( 
  3250.             IRowsetLocate __RPC_FAR * This,
  3251.             /* [in] */ HCHAPTER hReserved,
  3252.             /* [in] */ LONG lRowsOffset,
  3253.             /* [in] */ LONG cRows,
  3254.             /* [out] */ ULONG __RPC_FAR *pcRowsObtained,
  3255.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  3256.         
  3257.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseRows )( 
  3258.             IRowsetLocate __RPC_FAR * This,
  3259.             /* [in] */ ULONG cRows,
  3260.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  3261.             /* [size_is][in] */ DBROWOPTIONS __RPC_FAR rgRowOptions[  ],
  3262.             /* [size_is][out] */ ULONG __RPC_FAR rgRefCounts[  ],
  3263.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  3264.         
  3265.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RestartPosition )( 
  3266.             IRowsetLocate __RPC_FAR * This,
  3267.             /* [in] */ HCHAPTER hReserved);
  3268.         
  3269.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Compare )( 
  3270.             IRowsetLocate __RPC_FAR * This,
  3271.             /* [in] */ HCHAPTER hReserved,
  3272.             /* [in] */ ULONG cbBookmark1,
  3273.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark1,
  3274.             /* [in] */ ULONG cbBookmark2,
  3275.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark2,
  3276.             /* [out] */ DBCOMPARE __RPC_FAR *pComparison);
  3277.         
  3278.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowsAt )( 
  3279.             IRowsetLocate __RPC_FAR * This,
  3280.             /* [in] */ HWATCHREGION hReserved1,
  3281.             /* [in] */ HCHAPTER hReserved2,
  3282.             /* [in] */ ULONG cbBookmark,
  3283.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  3284.             /* [in] */ LONG lRowsOffset,
  3285.             /* [in] */ LONG cRows,
  3286.             /* [out] */ ULONG __RPC_FAR *pcRowsObtained,
  3287.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  3288.         
  3289.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowsByBookmark )( 
  3290.             IRowsetLocate __RPC_FAR * This,
  3291.             /* [in] */ HCHAPTER hReserved,
  3292.             /* [in] */ ULONG cRows,
  3293.             /* [size_is][in] */ const ULONG __RPC_FAR rgcbBookmarks[  ],
  3294.             /* [size_is][in] */ const BYTE __RPC_FAR *__RPC_FAR rgpBookmarks[  ],
  3295.             /* [size_is][out] */ HROW __RPC_FAR rghRows[  ],
  3296.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  3297.         
  3298.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Hash )( 
  3299.             IRowsetLocate __RPC_FAR * This,
  3300.             /* [in] */ HCHAPTER hReserved,
  3301.             /* [in] */ ULONG cBookmarks,
  3302.             /* [size_is][in] */ const ULONG __RPC_FAR rgcbBookmarks[  ],
  3303.             /* [size_is][in] */ const BYTE __RPC_FAR *__RPC_FAR rgpBookmarks[  ],
  3304.             /* [size_is][out] */ DWORD __RPC_FAR rgHashedValues[  ],
  3305.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgBookmarkStatus[  ]);
  3306.         
  3307.         END_INTERFACE
  3308.     } IRowsetLocateVtbl;
  3309.  
  3310.     interface IRowsetLocate
  3311.     {
  3312.         CONST_VTBL struct IRowsetLocateVtbl __RPC_FAR *lpVtbl;
  3313.     };
  3314.  
  3315.     
  3316.  
  3317. #ifdef COBJMACROS
  3318.  
  3319.  
  3320. #define IRowsetLocate_QueryInterface(This,riid,ppvObject)    \
  3321.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3322.  
  3323. #define IRowsetLocate_AddRef(This)    \
  3324.     (This)->lpVtbl -> AddRef(This)
  3325.  
  3326. #define IRowsetLocate_Release(This)    \
  3327.     (This)->lpVtbl -> Release(This)
  3328.  
  3329.  
  3330. #define IRowsetLocate_AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus)    \
  3331.     (This)->lpVtbl -> AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus)
  3332.  
  3333. #define IRowsetLocate_GetData(This,hRow,hAccessor,pData)    \
  3334.     (This)->lpVtbl -> GetData(This,hRow,hAccessor,pData)
  3335.  
  3336. #define IRowsetLocate_GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows)    \
  3337.     (This)->lpVtbl -> GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows)
  3338.  
  3339. #define IRowsetLocate_ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus)    \
  3340.     (This)->lpVtbl -> ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus)
  3341.  
  3342. #define IRowsetLocate_RestartPosition(This,hReserved)    \
  3343.     (This)->lpVtbl -> RestartPosition(This,hReserved)
  3344.  
  3345.  
  3346. #define IRowsetLocate_Compare(This,hReserved,cbBookmark1,pBookmark1,cbBookmark2,pBookmark2,pComparison)    \
  3347.     (This)->lpVtbl -> Compare(This,hReserved,cbBookmark1,pBookmark1,cbBookmark2,pBookmark2,pComparison)
  3348.  
  3349. #define IRowsetLocate_GetRowsAt(This,hReserved1,hReserved2,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows)    \
  3350.     (This)->lpVtbl -> GetRowsAt(This,hReserved1,hReserved2,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows)
  3351.  
  3352. #define IRowsetLocate_GetRowsByBookmark(This,hReserved,cRows,rgcbBookmarks,rgpBookmarks,rghRows,rgRowStatus)    \
  3353.     (This)->lpVtbl -> GetRowsByBookmark(This,hReserved,cRows,rgcbBookmarks,rgpBookmarks,rghRows,rgRowStatus)
  3354.  
  3355. #define IRowsetLocate_Hash(This,hReserved,cBookmarks,rgcbBookmarks,rgpBookmarks,rgHashedValues,rgBookmarkStatus)    \
  3356.     (This)->lpVtbl -> Hash(This,hReserved,cBookmarks,rgcbBookmarks,rgpBookmarks,rgHashedValues,rgBookmarkStatus)
  3357.  
  3358. #endif /* COBJMACROS */
  3359.  
  3360.  
  3361. #endif     /* C style interface */
  3362.  
  3363.  
  3364.  
  3365. HRESULT STDMETHODCALLTYPE IRowsetLocate_Compare_Proxy( 
  3366.     IRowsetLocate __RPC_FAR * This,
  3367.     /* [in] */ HCHAPTER hReserved,
  3368.     /* [in] */ ULONG cbBookmark1,
  3369.     /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark1,
  3370.     /* [in] */ ULONG cbBookmark2,
  3371.     /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark2,
  3372.     /* [out] */ DBCOMPARE __RPC_FAR *pComparison);
  3373.  
  3374.  
  3375. void __RPC_STUB IRowsetLocate_Compare_Stub(
  3376.     IRpcStubBuffer *This,
  3377.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3378.     PRPC_MESSAGE _pRpcMessage,
  3379.     DWORD *_pdwStubPhase);
  3380.  
  3381.  
  3382. HRESULT STDMETHODCALLTYPE IRowsetLocate_GetRowsAt_Proxy( 
  3383.     IRowsetLocate __RPC_FAR * This,
  3384.     /* [in] */ HWATCHREGION hReserved1,
  3385.     /* [in] */ HCHAPTER hReserved2,
  3386.     /* [in] */ ULONG cbBookmark,
  3387.     /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  3388.     /* [in] */ LONG lRowsOffset,
  3389.     /* [in] */ LONG cRows,
  3390.     /* [out] */ ULONG __RPC_FAR *pcRowsObtained,
  3391.     /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  3392.  
  3393.  
  3394. void __RPC_STUB IRowsetLocate_GetRowsAt_Stub(
  3395.     IRpcStubBuffer *This,
  3396.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3397.     PRPC_MESSAGE _pRpcMessage,
  3398.     DWORD *_pdwStubPhase);
  3399.  
  3400.  
  3401. HRESULT STDMETHODCALLTYPE IRowsetLocate_GetRowsByBookmark_Proxy( 
  3402.     IRowsetLocate __RPC_FAR * This,
  3403.     /* [in] */ HCHAPTER hReserved,
  3404.     /* [in] */ ULONG cRows,
  3405.     /* [size_is][in] */ const ULONG __RPC_FAR rgcbBookmarks[  ],
  3406.     /* [size_is][in] */ const BYTE __RPC_FAR *__RPC_FAR rgpBookmarks[  ],
  3407.     /* [size_is][out] */ HROW __RPC_FAR rghRows[  ],
  3408.     /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  3409.  
  3410.  
  3411. void __RPC_STUB IRowsetLocate_GetRowsByBookmark_Stub(
  3412.     IRpcStubBuffer *This,
  3413.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3414.     PRPC_MESSAGE _pRpcMessage,
  3415.     DWORD *_pdwStubPhase);
  3416.  
  3417.  
  3418. HRESULT STDMETHODCALLTYPE IRowsetLocate_Hash_Proxy( 
  3419.     IRowsetLocate __RPC_FAR * This,
  3420.     /* [in] */ HCHAPTER hReserved,
  3421.     /* [in] */ ULONG cBookmarks,
  3422.     /* [size_is][in] */ const ULONG __RPC_FAR rgcbBookmarks[  ],
  3423.     /* [size_is][in] */ const BYTE __RPC_FAR *__RPC_FAR rgpBookmarks[  ],
  3424.     /* [size_is][out] */ DWORD __RPC_FAR rgHashedValues[  ],
  3425.     /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgBookmarkStatus[  ]);
  3426.  
  3427.  
  3428. void __RPC_STUB IRowsetLocate_Hash_Stub(
  3429.     IRpcStubBuffer *This,
  3430.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3431.     PRPC_MESSAGE _pRpcMessage,
  3432.     DWORD *_pdwStubPhase);
  3433.  
  3434.  
  3435.  
  3436. #endif     /* __IRowsetLocate_INTERFACE_DEFINED__ */
  3437.  
  3438.  
  3439. #ifndef __IRowsetResynch_INTERFACE_DEFINED__
  3440. #define __IRowsetResynch_INTERFACE_DEFINED__
  3441.  
  3442. /****************************************
  3443.  * Generated header for interface: IRowsetResynch
  3444.  * at Tue Apr 28 11:55:07 1998
  3445.  * using MIDL 3.01.75
  3446.  ****************************************/
  3447. /* [unique][uuid][object][local] */ 
  3448.  
  3449.  
  3450.  
  3451. EXTERN_C const IID IID_IRowsetResynch;
  3452.  
  3453. #if defined(__cplusplus) && !defined(CINTERFACE)
  3454.     
  3455.     interface DECLSPEC_UUID("0c733a84-2a1c-11ce-ade5-00aa0044773d")
  3456.     IRowsetResynch : public IUnknown
  3457.     {
  3458.     public:
  3459.         virtual HRESULT STDMETHODCALLTYPE GetVisibleData( 
  3460.             /* [in] */ HROW hRow,
  3461.             /* [in] */ HACCESSOR hAccessor,
  3462.             /* [out] */ void __RPC_FAR *pData) = 0;
  3463.         
  3464.         virtual HRESULT STDMETHODCALLTYPE ResynchRows( 
  3465.             /* [in] */ ULONG cRows,
  3466.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  3467.             /* [out] */ ULONG __RPC_FAR *pcRowsResynched,
  3468.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRowsResynched,
  3469.             /* [size_is][size_is][out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus) = 0;
  3470.         
  3471.     };
  3472.     
  3473. #else     /* C style interface */
  3474.  
  3475.     typedef struct IRowsetResynchVtbl
  3476.     {
  3477.         BEGIN_INTERFACE
  3478.         
  3479.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3480.             IRowsetResynch __RPC_FAR * This,
  3481.             /* [in] */ REFIID riid,
  3482.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3483.         
  3484.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3485.             IRowsetResynch __RPC_FAR * This);
  3486.         
  3487.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3488.             IRowsetResynch __RPC_FAR * This);
  3489.         
  3490.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVisibleData )( 
  3491.             IRowsetResynch __RPC_FAR * This,
  3492.             /* [in] */ HROW hRow,
  3493.             /* [in] */ HACCESSOR hAccessor,
  3494.             /* [out] */ void __RPC_FAR *pData);
  3495.         
  3496.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ResynchRows )( 
  3497.             IRowsetResynch __RPC_FAR * This,
  3498.             /* [in] */ ULONG cRows,
  3499.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  3500.             /* [out] */ ULONG __RPC_FAR *pcRowsResynched,
  3501.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRowsResynched,
  3502.             /* [size_is][size_is][out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus);
  3503.         
  3504.         END_INTERFACE
  3505.     } IRowsetResynchVtbl;
  3506.  
  3507.     interface IRowsetResynch
  3508.     {
  3509.         CONST_VTBL struct IRowsetResynchVtbl __RPC_FAR *lpVtbl;
  3510.     };
  3511.  
  3512.     
  3513.  
  3514. #ifdef COBJMACROS
  3515.  
  3516.  
  3517. #define IRowsetResynch_QueryInterface(This,riid,ppvObject)    \
  3518.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3519.  
  3520. #define IRowsetResynch_AddRef(This)    \
  3521.     (This)->lpVtbl -> AddRef(This)
  3522.  
  3523. #define IRowsetResynch_Release(This)    \
  3524.     (This)->lpVtbl -> Release(This)
  3525.  
  3526.  
  3527. #define IRowsetResynch_GetVisibleData(This,hRow,hAccessor,pData)    \
  3528.     (This)->lpVtbl -> GetVisibleData(This,hRow,hAccessor,pData)
  3529.  
  3530. #define IRowsetResynch_ResynchRows(This,cRows,rghRows,pcRowsResynched,prghRowsResynched,prgRowStatus)    \
  3531.     (This)->lpVtbl -> ResynchRows(This,cRows,rghRows,pcRowsResynched,prghRowsResynched,prgRowStatus)
  3532.  
  3533. #endif /* COBJMACROS */
  3534.  
  3535.  
  3536. #endif     /* C style interface */
  3537.  
  3538.  
  3539.  
  3540. HRESULT STDMETHODCALLTYPE IRowsetResynch_GetVisibleData_Proxy( 
  3541.     IRowsetResynch __RPC_FAR * This,
  3542.     /* [in] */ HROW hRow,
  3543.     /* [in] */ HACCESSOR hAccessor,
  3544.     /* [out] */ void __RPC_FAR *pData);
  3545.  
  3546.  
  3547. void __RPC_STUB IRowsetResynch_GetVisibleData_Stub(
  3548.     IRpcStubBuffer *This,
  3549.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3550.     PRPC_MESSAGE _pRpcMessage,
  3551.     DWORD *_pdwStubPhase);
  3552.  
  3553.  
  3554. HRESULT STDMETHODCALLTYPE IRowsetResynch_ResynchRows_Proxy( 
  3555.     IRowsetResynch __RPC_FAR * This,
  3556.     /* [in] */ ULONG cRows,
  3557.     /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  3558.     /* [out] */ ULONG __RPC_FAR *pcRowsResynched,
  3559.     /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRowsResynched,
  3560.     /* [size_is][size_is][out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus);
  3561.  
  3562.  
  3563. void __RPC_STUB IRowsetResynch_ResynchRows_Stub(
  3564.     IRpcStubBuffer *This,
  3565.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3566.     PRPC_MESSAGE _pRpcMessage,
  3567.     DWORD *_pdwStubPhase);
  3568.  
  3569.  
  3570.  
  3571. #endif     /* __IRowsetResynch_INTERFACE_DEFINED__ */
  3572.  
  3573.  
  3574. #ifndef __IRowsetScroll_INTERFACE_DEFINED__
  3575. #define __IRowsetScroll_INTERFACE_DEFINED__
  3576.  
  3577. /****************************************
  3578.  * Generated header for interface: IRowsetScroll
  3579.  * at Tue Apr 28 11:55:07 1998
  3580.  * using MIDL 3.01.75
  3581.  ****************************************/
  3582. /* [unique][uuid][object][local] */ 
  3583.  
  3584.  
  3585.  
  3586. EXTERN_C const IID IID_IRowsetScroll;
  3587.  
  3588. #if defined(__cplusplus) && !defined(CINTERFACE)
  3589.     
  3590.     interface DECLSPEC_UUID("0c733a7e-2a1c-11ce-ade5-00aa0044773d")
  3591.     IRowsetScroll : public IRowsetLocate
  3592.     {
  3593.     public:
  3594.         virtual HRESULT STDMETHODCALLTYPE GetApproximatePosition( 
  3595.             /* [in] */ HCHAPTER hReserved,
  3596.             /* [in] */ ULONG cbBookmark,
  3597.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  3598.             /* [out] */ ULONG __RPC_FAR *pulPosition,
  3599.             /* [out] */ ULONG __RPC_FAR *pcRows) = 0;
  3600.         
  3601.         virtual HRESULT STDMETHODCALLTYPE GetRowsAtRatio( 
  3602.             /* [in] */ HWATCHREGION hReserved1,
  3603.             /* [in] */ HCHAPTER hReserved2,
  3604.             /* [in] */ ULONG ulNumerator,
  3605.             /* [in] */ ULONG ulDenominator,
  3606.             /* [in] */ LONG cRows,
  3607.             /* [out] */ ULONG __RPC_FAR *pcRowsObtained,
  3608.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows) = 0;
  3609.         
  3610.     };
  3611.     
  3612. #else     /* C style interface */
  3613.  
  3614.     typedef struct IRowsetScrollVtbl
  3615.     {
  3616.         BEGIN_INTERFACE
  3617.         
  3618.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3619.             IRowsetScroll __RPC_FAR * This,
  3620.             /* [in] */ REFIID riid,
  3621.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3622.         
  3623.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3624.             IRowsetScroll __RPC_FAR * This);
  3625.         
  3626.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3627.             IRowsetScroll __RPC_FAR * This);
  3628.         
  3629.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddRefRows )( 
  3630.             IRowsetScroll __RPC_FAR * This,
  3631.             /* [in] */ ULONG cRows,
  3632.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  3633.             /* [size_is][out] */ ULONG __RPC_FAR rgRefCounts[  ],
  3634.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  3635.         
  3636.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetData )( 
  3637.             IRowsetScroll __RPC_FAR * This,
  3638.             /* [in] */ HROW hRow,
  3639.             /* [in] */ HACCESSOR hAccessor,
  3640.             /* [out] */ void __RPC_FAR *pData);
  3641.         
  3642.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNextRows )( 
  3643.             IRowsetScroll __RPC_FAR * This,
  3644.             /* [in] */ HCHAPTER hReserved,
  3645.             /* [in] */ LONG lRowsOffset,
  3646.             /* [in] */ LONG cRows,
  3647.             /* [out] */ ULONG __RPC_FAR *pcRowsObtained,
  3648.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  3649.         
  3650.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseRows )( 
  3651.             IRowsetScroll __RPC_FAR * This,
  3652.             /* [in] */ ULONG cRows,
  3653.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  3654.             /* [size_is][in] */ DBROWOPTIONS __RPC_FAR rgRowOptions[  ],
  3655.             /* [size_is][out] */ ULONG __RPC_FAR rgRefCounts[  ],
  3656.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  3657.         
  3658.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RestartPosition )( 
  3659.             IRowsetScroll __RPC_FAR * This,
  3660.             /* [in] */ HCHAPTER hReserved);
  3661.         
  3662.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Compare )( 
  3663.             IRowsetScroll __RPC_FAR * This,
  3664.             /* [in] */ HCHAPTER hReserved,
  3665.             /* [in] */ ULONG cbBookmark1,
  3666.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark1,
  3667.             /* [in] */ ULONG cbBookmark2,
  3668.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark2,
  3669.             /* [out] */ DBCOMPARE __RPC_FAR *pComparison);
  3670.         
  3671.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowsAt )( 
  3672.             IRowsetScroll __RPC_FAR * This,
  3673.             /* [in] */ HWATCHREGION hReserved1,
  3674.             /* [in] */ HCHAPTER hReserved2,
  3675.             /* [in] */ ULONG cbBookmark,
  3676.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  3677.             /* [in] */ LONG lRowsOffset,
  3678.             /* [in] */ LONG cRows,
  3679.             /* [out] */ ULONG __RPC_FAR *pcRowsObtained,
  3680.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  3681.         
  3682.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowsByBookmark )( 
  3683.             IRowsetScroll __RPC_FAR * This,
  3684.             /* [in] */ HCHAPTER hReserved,
  3685.             /* [in] */ ULONG cRows,
  3686.             /* [size_is][in] */ const ULONG __RPC_FAR rgcbBookmarks[  ],
  3687.             /* [size_is][in] */ const BYTE __RPC_FAR *__RPC_FAR rgpBookmarks[  ],
  3688.             /* [size_is][out] */ HROW __RPC_FAR rghRows[  ],
  3689.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  3690.         
  3691.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Hash )( 
  3692.             IRowsetScroll __RPC_FAR * This,
  3693.             /* [in] */ HCHAPTER hReserved,
  3694.             /* [in] */ ULONG cBookmarks,
  3695.             /* [size_is][in] */ const ULONG __RPC_FAR rgcbBookmarks[  ],
  3696.             /* [size_is][in] */ const BYTE __RPC_FAR *__RPC_FAR rgpBookmarks[  ],
  3697.             /* [size_is][out] */ DWORD __RPC_FAR rgHashedValues[  ],
  3698.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgBookmarkStatus[  ]);
  3699.         
  3700.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetApproximatePosition )( 
  3701.             IRowsetScroll __RPC_FAR * This,
  3702.             /* [in] */ HCHAPTER hReserved,
  3703.             /* [in] */ ULONG cbBookmark,
  3704.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  3705.             /* [out] */ ULONG __RPC_FAR *pulPosition,
  3706.             /* [out] */ ULONG __RPC_FAR *pcRows);
  3707.         
  3708.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowsAtRatio )( 
  3709.             IRowsetScroll __RPC_FAR * This,
  3710.             /* [in] */ HWATCHREGION hReserved1,
  3711.             /* [in] */ HCHAPTER hReserved2,
  3712.             /* [in] */ ULONG ulNumerator,
  3713.             /* [in] */ ULONG ulDenominator,
  3714.             /* [in] */ LONG cRows,
  3715.             /* [out] */ ULONG __RPC_FAR *pcRowsObtained,
  3716.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  3717.         
  3718.         END_INTERFACE
  3719.     } IRowsetScrollVtbl;
  3720.  
  3721.     interface IRowsetScroll
  3722.     {
  3723.         CONST_VTBL struct IRowsetScrollVtbl __RPC_FAR *lpVtbl;
  3724.     };
  3725.  
  3726.     
  3727.  
  3728. #ifdef COBJMACROS
  3729.  
  3730.  
  3731. #define IRowsetScroll_QueryInterface(This,riid,ppvObject)    \
  3732.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3733.  
  3734. #define IRowsetScroll_AddRef(This)    \
  3735.     (This)->lpVtbl -> AddRef(This)
  3736.  
  3737. #define IRowsetScroll_Release(This)    \
  3738.     (This)->lpVtbl -> Release(This)
  3739.  
  3740.  
  3741. #define IRowsetScroll_AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus)    \
  3742.     (This)->lpVtbl -> AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus)
  3743.  
  3744. #define IRowsetScroll_GetData(This,hRow,hAccessor,pData)    \
  3745.     (This)->lpVtbl -> GetData(This,hRow,hAccessor,pData)
  3746.  
  3747. #define IRowsetScroll_GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows)    \
  3748.     (This)->lpVtbl -> GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows)
  3749.  
  3750. #define IRowsetScroll_ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus)    \
  3751.     (This)->lpVtbl -> ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus)
  3752.  
  3753. #define IRowsetScroll_RestartPosition(This,hReserved)    \
  3754.     (This)->lpVtbl -> RestartPosition(This,hReserved)
  3755.  
  3756.  
  3757. #define IRowsetScroll_Compare(This,hReserved,cbBookmark1,pBookmark1,cbBookmark2,pBookmark2,pComparison)    \
  3758.     (This)->lpVtbl -> Compare(This,hReserved,cbBookmark1,pBookmark1,cbBookmark2,pBookmark2,pComparison)
  3759.  
  3760. #define IRowsetScroll_GetRowsAt(This,hReserved1,hReserved2,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows)    \
  3761.     (This)->lpVtbl -> GetRowsAt(This,hReserved1,hReserved2,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows)
  3762.  
  3763. #define IRowsetScroll_GetRowsByBookmark(This,hReserved,cRows,rgcbBookmarks,rgpBookmarks,rghRows,rgRowStatus)    \
  3764.     (This)->lpVtbl -> GetRowsByBookmark(This,hReserved,cRows,rgcbBookmarks,rgpBookmarks,rghRows,rgRowStatus)
  3765.  
  3766. #define IRowsetScroll_Hash(This,hReserved,cBookmarks,rgcbBookmarks,rgpBookmarks,rgHashedValues,rgBookmarkStatus)    \
  3767.     (This)->lpVtbl -> Hash(This,hReserved,cBookmarks,rgcbBookmarks,rgpBookmarks,rgHashedValues,rgBookmarkStatus)
  3768.  
  3769.  
  3770. #define IRowsetScroll_GetApproximatePosition(This,hReserved,cbBookmark,pBookmark,pulPosition,pcRows)    \
  3771.     (This)->lpVtbl -> GetApproximatePosition(This,hReserved,cbBookmark,pBookmark,pulPosition,pcRows)
  3772.  
  3773. #define IRowsetScroll_GetRowsAtRatio(This,hReserved1,hReserved2,ulNumerator,ulDenominator,cRows,pcRowsObtained,prghRows)    \
  3774.     (This)->lpVtbl -> GetRowsAtRatio(This,hReserved1,hReserved2,ulNumerator,ulDenominator,cRows,pcRowsObtained,prghRows)
  3775.  
  3776. #endif /* COBJMACROS */
  3777.  
  3778.  
  3779. #endif     /* C style interface */
  3780.  
  3781.  
  3782.  
  3783. HRESULT STDMETHODCALLTYPE IRowsetScroll_GetApproximatePosition_Proxy( 
  3784.     IRowsetScroll __RPC_FAR * This,
  3785.     /* [in] */ HCHAPTER hReserved,
  3786.     /* [in] */ ULONG cbBookmark,
  3787.     /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  3788.     /* [out] */ ULONG __RPC_FAR *pulPosition,
  3789.     /* [out] */ ULONG __RPC_FAR *pcRows);
  3790.  
  3791.  
  3792. void __RPC_STUB IRowsetScroll_GetApproximatePosition_Stub(
  3793.     IRpcStubBuffer *This,
  3794.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3795.     PRPC_MESSAGE _pRpcMessage,
  3796.     DWORD *_pdwStubPhase);
  3797.  
  3798.  
  3799. HRESULT STDMETHODCALLTYPE IRowsetScroll_GetRowsAtRatio_Proxy( 
  3800.     IRowsetScroll __RPC_FAR * This,
  3801.     /* [in] */ HWATCHREGION hReserved1,
  3802.     /* [in] */ HCHAPTER hReserved2,
  3803.     /* [in] */ ULONG ulNumerator,
  3804.     /* [in] */ ULONG ulDenominator,
  3805.     /* [in] */ LONG cRows,
  3806.     /* [out] */ ULONG __RPC_FAR *pcRowsObtained,
  3807.     /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  3808.  
  3809.  
  3810. void __RPC_STUB IRowsetScroll_GetRowsAtRatio_Stub(
  3811.     IRpcStubBuffer *This,
  3812.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3813.     PRPC_MESSAGE _pRpcMessage,
  3814.     DWORD *_pdwStubPhase);
  3815.  
  3816.  
  3817.  
  3818. #endif     /* __IRowsetScroll_INTERFACE_DEFINED__ */
  3819.  
  3820.  
  3821. /****************************************
  3822.  * Generated header for interface: __MIDL_itf_oledb_0078
  3823.  * at Tue Apr 28 11:55:07 1998
  3824.  * using MIDL 3.01.75
  3825.  ****************************************/
  3826. /* [local] */ 
  3827.  
  3828.  
  3829. //@@@+ V1.5
  3830. #if( OLEDBVER >= 0x0150 )
  3831.  
  3832.  
  3833. extern RPC_IF_HANDLE __MIDL_itf_oledb_0078_v0_0_c_ifspec;
  3834. extern RPC_IF_HANDLE __MIDL_itf_oledb_0078_v0_0_s_ifspec;
  3835.  
  3836. #ifndef __IChapteredRowset_INTERFACE_DEFINED__
  3837. #define __IChapteredRowset_INTERFACE_DEFINED__
  3838.  
  3839. /****************************************
  3840.  * Generated header for interface: IChapteredRowset
  3841.  * at Tue Apr 28 11:55:07 1998
  3842.  * using MIDL 3.01.75
  3843.  ****************************************/
  3844. /* [unique][uuid][object] */ 
  3845.  
  3846.  
  3847.  
  3848. EXTERN_C const IID IID_IChapteredRowset;
  3849.  
  3850. #if defined(__cplusplus) && !defined(CINTERFACE)
  3851.     
  3852.     interface DECLSPEC_UUID("0c733a93-2a1c-11ce-ade5-00aa0044773d")
  3853.     IChapteredRowset : public IUnknown
  3854.     {
  3855.     public:
  3856.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddRefChapter( 
  3857.             /* [in] */ HCHAPTER hChapter,
  3858.             /* [out] */ ULONG __RPC_FAR *pcRefCount) = 0;
  3859.         
  3860.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE ReleaseChapter( 
  3861.             /* [in] */ HCHAPTER hChapter,
  3862.             /* [out] */ ULONG __RPC_FAR *pcRefCount) = 0;
  3863.         
  3864.     };
  3865.     
  3866. #else     /* C style interface */
  3867.  
  3868.     typedef struct IChapteredRowsetVtbl
  3869.     {
  3870.         BEGIN_INTERFACE
  3871.         
  3872.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3873.             IChapteredRowset __RPC_FAR * This,
  3874.             /* [in] */ REFIID riid,
  3875.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3876.         
  3877.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3878.             IChapteredRowset __RPC_FAR * This);
  3879.         
  3880.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3881.             IChapteredRowset __RPC_FAR * This);
  3882.         
  3883.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddRefChapter )( 
  3884.             IChapteredRowset __RPC_FAR * This,
  3885.             /* [in] */ HCHAPTER hChapter,
  3886.             /* [out] */ ULONG __RPC_FAR *pcRefCount);
  3887.         
  3888.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseChapter )( 
  3889.             IChapteredRowset __RPC_FAR * This,
  3890.             /* [in] */ HCHAPTER hChapter,
  3891.             /* [out] */ ULONG __RPC_FAR *pcRefCount);
  3892.         
  3893.         END_INTERFACE
  3894.     } IChapteredRowsetVtbl;
  3895.  
  3896.     interface IChapteredRowset
  3897.     {
  3898.         CONST_VTBL struct IChapteredRowsetVtbl __RPC_FAR *lpVtbl;
  3899.     };
  3900.  
  3901.     
  3902.  
  3903. #ifdef COBJMACROS
  3904.  
  3905.  
  3906. #define IChapteredRowset_QueryInterface(This,riid,ppvObject)    \
  3907.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3908.  
  3909. #define IChapteredRowset_AddRef(This)    \
  3910.     (This)->lpVtbl -> AddRef(This)
  3911.  
  3912. #define IChapteredRowset_Release(This)    \
  3913.     (This)->lpVtbl -> Release(This)
  3914.  
  3915.  
  3916. #define IChapteredRowset_AddRefChapter(This,hChapter,pcRefCount)    \
  3917.     (This)->lpVtbl -> AddRefChapter(This,hChapter,pcRefCount)
  3918.  
  3919. #define IChapteredRowset_ReleaseChapter(This,hChapter,pcRefCount)    \
  3920.     (This)->lpVtbl -> ReleaseChapter(This,hChapter,pcRefCount)
  3921.  
  3922. #endif /* COBJMACROS */
  3923.  
  3924.  
  3925. #endif     /* C style interface */
  3926.  
  3927.  
  3928.  
  3929. /* [call_as] */ HRESULT STDMETHODCALLTYPE IChapteredRowset_RemoteAddRefChapter_Proxy( 
  3930.     IChapteredRowset __RPC_FAR * This,
  3931.     /* [in] */ HCHAPTER hChapter,
  3932.     /* [out] */ ULONG __RPC_FAR *pcRefCount,
  3933.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  3934.  
  3935.  
  3936. void __RPC_STUB IChapteredRowset_RemoteAddRefChapter_Stub(
  3937.     IRpcStubBuffer *This,
  3938.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3939.     PRPC_MESSAGE _pRpcMessage,
  3940.     DWORD *_pdwStubPhase);
  3941.  
  3942.  
  3943. /* [call_as] */ HRESULT STDMETHODCALLTYPE IChapteredRowset_RemoteReleaseChapter_Proxy( 
  3944.     IChapteredRowset __RPC_FAR * This,
  3945.     /* [in] */ HCHAPTER hChapter,
  3946.     /* [out] */ ULONG __RPC_FAR *pcRefCount,
  3947.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  3948.  
  3949.  
  3950. void __RPC_STUB IChapteredRowset_RemoteReleaseChapter_Stub(
  3951.     IRpcStubBuffer *This,
  3952.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3953.     PRPC_MESSAGE _pRpcMessage,
  3954.     DWORD *_pdwStubPhase);
  3955.  
  3956.  
  3957.  
  3958. #endif     /* __IChapteredRowset_INTERFACE_DEFINED__ */
  3959.  
  3960.  
  3961. #ifndef __IRowsetFind_INTERFACE_DEFINED__
  3962. #define __IRowsetFind_INTERFACE_DEFINED__
  3963.  
  3964. /****************************************
  3965.  * Generated header for interface: IRowsetFind
  3966.  * at Tue Apr 28 11:55:07 1998
  3967.  * using MIDL 3.01.75
  3968.  ****************************************/
  3969. /* [unique][uuid][object][local] */ 
  3970.  
  3971.  
  3972.  
  3973. EXTERN_C const IID IID_IRowsetFind;
  3974.  
  3975. #if defined(__cplusplus) && !defined(CINTERFACE)
  3976.     
  3977.     interface DECLSPEC_UUID("0c733a9d-2a1c-11ce-ade5-00aa0044773d")
  3978.     IRowsetFind : public IUnknown
  3979.     {
  3980.     public:
  3981.         virtual HRESULT STDMETHODCALLTYPE FindNextRow( 
  3982.             /* [in] */ HCHAPTER hChapter,
  3983.             /* [in] */ HACCESSOR hAccessor,
  3984.             /* [in] */ void __RPC_FAR *pFindValue,
  3985.             /* [in] */ DBCOMPAREOP CompareOp,
  3986.             /* [in] */ ULONG cbBookmark,
  3987.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  3988.             /* [in] */ LONG lRowsOffset,
  3989.             /* [in] */ LONG cRows,
  3990.             /* [out][in] */ ULONG __RPC_FAR *pcRowsObtained,
  3991.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows) = 0;
  3992.         
  3993.     };
  3994.     
  3995. #else     /* C style interface */
  3996.  
  3997.     typedef struct IRowsetFindVtbl
  3998.     {
  3999.         BEGIN_INTERFACE
  4000.         
  4001.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4002.             IRowsetFind __RPC_FAR * This,
  4003.             /* [in] */ REFIID riid,
  4004.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4005.         
  4006.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4007.             IRowsetFind __RPC_FAR * This);
  4008.         
  4009.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4010.             IRowsetFind __RPC_FAR * This);
  4011.         
  4012.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindNextRow )( 
  4013.             IRowsetFind __RPC_FAR * This,
  4014.             /* [in] */ HCHAPTER hChapter,
  4015.             /* [in] */ HACCESSOR hAccessor,
  4016.             /* [in] */ void __RPC_FAR *pFindValue,
  4017.             /* [in] */ DBCOMPAREOP CompareOp,
  4018.             /* [in] */ ULONG cbBookmark,
  4019.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  4020.             /* [in] */ LONG lRowsOffset,
  4021.             /* [in] */ LONG cRows,
  4022.             /* [out][in] */ ULONG __RPC_FAR *pcRowsObtained,
  4023.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  4024.         
  4025.         END_INTERFACE
  4026.     } IRowsetFindVtbl;
  4027.  
  4028.     interface IRowsetFind
  4029.     {
  4030.         CONST_VTBL struct IRowsetFindVtbl __RPC_FAR *lpVtbl;
  4031.     };
  4032.  
  4033.     
  4034.  
  4035. #ifdef COBJMACROS
  4036.  
  4037.  
  4038. #define IRowsetFind_QueryInterface(This,riid,ppvObject)    \
  4039.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4040.  
  4041. #define IRowsetFind_AddRef(This)    \
  4042.     (This)->lpVtbl -> AddRef(This)
  4043.  
  4044. #define IRowsetFind_Release(This)    \
  4045.     (This)->lpVtbl -> Release(This)
  4046.  
  4047.  
  4048. #define IRowsetFind_FindNextRow(This,hChapter,hAccessor,pFindValue,CompareOp,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows)    \
  4049.     (This)->lpVtbl -> FindNextRow(This,hChapter,hAccessor,pFindValue,CompareOp,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows)
  4050.  
  4051. #endif /* COBJMACROS */
  4052.  
  4053.  
  4054. #endif     /* C style interface */
  4055.  
  4056.  
  4057.  
  4058. HRESULT STDMETHODCALLTYPE IRowsetFind_FindNextRow_Proxy( 
  4059.     IRowsetFind __RPC_FAR * This,
  4060.     /* [in] */ HCHAPTER hChapter,
  4061.     /* [in] */ HACCESSOR hAccessor,
  4062.     /* [in] */ void __RPC_FAR *pFindValue,
  4063.     /* [in] */ DBCOMPAREOP CompareOp,
  4064.     /* [in] */ ULONG cbBookmark,
  4065.     /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  4066.     /* [in] */ LONG lRowsOffset,
  4067.     /* [in] */ LONG cRows,
  4068.     /* [out][in] */ ULONG __RPC_FAR *pcRowsObtained,
  4069.     /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  4070.  
  4071.  
  4072. void __RPC_STUB IRowsetFind_FindNextRow_Stub(
  4073.     IRpcStubBuffer *This,
  4074.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4075.     PRPC_MESSAGE _pRpcMessage,
  4076.     DWORD *_pdwStubPhase);
  4077.  
  4078.  
  4079.  
  4080. #endif     /* __IRowsetFind_INTERFACE_DEFINED__ */
  4081.  
  4082.  
  4083. #ifndef __IRowPosition_INTERFACE_DEFINED__
  4084. #define __IRowPosition_INTERFACE_DEFINED__
  4085.  
  4086. /****************************************
  4087.  * Generated header for interface: IRowPosition
  4088.  * at Tue Apr 28 11:55:07 1998
  4089.  * using MIDL 3.01.75
  4090.  ****************************************/
  4091. /* [unique][uuid][object] */ 
  4092.  
  4093.  
  4094. typedef DWORD DBPOSITIONFLAGS;
  4095.  
  4096.  
  4097. enum DBPOSITIONFLAGSENUM
  4098.     {    DBPOSITION_OK    = 0,
  4099.     DBPOSITION_NOROW    = DBPOSITION_OK + 1,
  4100.     DBPOSITION_BOF    = DBPOSITION_NOROW + 1,
  4101.     DBPOSITION_EOF    = DBPOSITION_BOF + 1
  4102.     };
  4103.  
  4104. EXTERN_C const IID IID_IRowPosition;
  4105.  
  4106. #if defined(__cplusplus) && !defined(CINTERFACE)
  4107.     
  4108.     interface DECLSPEC_UUID("0c733a94-2a1c-11ce-ade5-00aa0044773d")
  4109.     IRowPosition : public IUnknown
  4110.     {
  4111.     public:
  4112.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE ClearRowPosition( void) = 0;
  4113.         
  4114.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetRowPosition( 
  4115.             /* [out] */ HCHAPTER __RPC_FAR *phChapter,
  4116.             /* [out] */ HROW __RPC_FAR *phRow,
  4117.             /* [out] */ DBPOSITIONFLAGS __RPC_FAR *pdwPositionFlags) = 0;
  4118.         
  4119.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetRowset( 
  4120.             /* [in] */ REFIID riid,
  4121.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  4122.         
  4123.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Initialize( 
  4124.             /* [in] */ IUnknown __RPC_FAR *pRowset) = 0;
  4125.         
  4126.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetRowPosition( 
  4127.             /* [in] */ HCHAPTER hChapter,
  4128.             /* [in] */ HROW hRow,
  4129.             /* [in] */ DBPOSITIONFLAGS dwPositionFlags) = 0;
  4130.         
  4131.     };
  4132.     
  4133. #else     /* C style interface */
  4134.  
  4135.     typedef struct IRowPositionVtbl
  4136.     {
  4137.         BEGIN_INTERFACE
  4138.         
  4139.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4140.             IRowPosition __RPC_FAR * This,
  4141.             /* [in] */ REFIID riid,
  4142.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4143.         
  4144.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4145.             IRowPosition __RPC_FAR * This);
  4146.         
  4147.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4148.             IRowPosition __RPC_FAR * This);
  4149.         
  4150.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ClearRowPosition )( 
  4151.             IRowPosition __RPC_FAR * This);
  4152.         
  4153.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowPosition )( 
  4154.             IRowPosition __RPC_FAR * This,
  4155.             /* [out] */ HCHAPTER __RPC_FAR *phChapter,
  4156.             /* [out] */ HROW __RPC_FAR *phRow,
  4157.             /* [out] */ DBPOSITIONFLAGS __RPC_FAR *pdwPositionFlags);
  4158.         
  4159.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowset )( 
  4160.             IRowPosition __RPC_FAR * This,
  4161.             /* [in] */ REFIID riid,
  4162.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  4163.         
  4164.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Initialize )( 
  4165.             IRowPosition __RPC_FAR * This,
  4166.             /* [in] */ IUnknown __RPC_FAR *pRowset);
  4167.         
  4168.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetRowPosition )( 
  4169.             IRowPosition __RPC_FAR * This,
  4170.             /* [in] */ HCHAPTER hChapter,
  4171.             /* [in] */ HROW hRow,
  4172.             /* [in] */ DBPOSITIONFLAGS dwPositionFlags);
  4173.         
  4174.         END_INTERFACE
  4175.     } IRowPositionVtbl;
  4176.  
  4177.     interface IRowPosition
  4178.     {
  4179.         CONST_VTBL struct IRowPositionVtbl __RPC_FAR *lpVtbl;
  4180.     };
  4181.  
  4182.     
  4183.  
  4184. #ifdef COBJMACROS
  4185.  
  4186.  
  4187. #define IRowPosition_QueryInterface(This,riid,ppvObject)    \
  4188.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4189.  
  4190. #define IRowPosition_AddRef(This)    \
  4191.     (This)->lpVtbl -> AddRef(This)
  4192.  
  4193. #define IRowPosition_Release(This)    \
  4194.     (This)->lpVtbl -> Release(This)
  4195.  
  4196.  
  4197. #define IRowPosition_ClearRowPosition(This)    \
  4198.     (This)->lpVtbl -> ClearRowPosition(This)
  4199.  
  4200. #define IRowPosition_GetRowPosition(This,phChapter,phRow,pdwPositionFlags)    \
  4201.     (This)->lpVtbl -> GetRowPosition(This,phChapter,phRow,pdwPositionFlags)
  4202.  
  4203. #define IRowPosition_GetRowset(This,riid,ppRowset)    \
  4204.     (This)->lpVtbl -> GetRowset(This,riid,ppRowset)
  4205.  
  4206. #define IRowPosition_Initialize(This,pRowset)    \
  4207.     (This)->lpVtbl -> Initialize(This,pRowset)
  4208.  
  4209. #define IRowPosition_SetRowPosition(This,hChapter,hRow,dwPositionFlags)    \
  4210.     (This)->lpVtbl -> SetRowPosition(This,hChapter,hRow,dwPositionFlags)
  4211.  
  4212. #endif /* COBJMACROS */
  4213.  
  4214.  
  4215. #endif     /* C style interface */
  4216.  
  4217.  
  4218.  
  4219. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_RemoteClearRowPosition_Proxy( 
  4220.     IRowPosition __RPC_FAR * This,
  4221.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4222.  
  4223.  
  4224. void __RPC_STUB IRowPosition_RemoteClearRowPosition_Stub(
  4225.     IRpcStubBuffer *This,
  4226.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4227.     PRPC_MESSAGE _pRpcMessage,
  4228.     DWORD *_pdwStubPhase);
  4229.  
  4230.  
  4231. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_RemoteGetRowPosition_Proxy( 
  4232.     IRowPosition __RPC_FAR * This,
  4233.     /* [out] */ HCHAPTER __RPC_FAR *phChapter,
  4234.     /* [out] */ HROW __RPC_FAR *phRow,
  4235.     /* [out] */ DBPOSITIONFLAGS __RPC_FAR *pdwPositionFlags,
  4236.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4237.  
  4238.  
  4239. void __RPC_STUB IRowPosition_RemoteGetRowPosition_Stub(
  4240.     IRpcStubBuffer *This,
  4241.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4242.     PRPC_MESSAGE _pRpcMessage,
  4243.     DWORD *_pdwStubPhase);
  4244.  
  4245.  
  4246. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_RemoteGetRowset_Proxy( 
  4247.     IRowPosition __RPC_FAR * This,
  4248.     /* [in] */ REFIID riid,
  4249.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  4250.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4251.  
  4252.  
  4253. void __RPC_STUB IRowPosition_RemoteGetRowset_Stub(
  4254.     IRpcStubBuffer *This,
  4255.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4256.     PRPC_MESSAGE _pRpcMessage,
  4257.     DWORD *_pdwStubPhase);
  4258.  
  4259.  
  4260. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_RemoteInitialize_Proxy( 
  4261.     IRowPosition __RPC_FAR * This,
  4262.     /* [in] */ IUnknown __RPC_FAR *pRowset,
  4263.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4264.  
  4265.  
  4266. void __RPC_STUB IRowPosition_RemoteInitialize_Stub(
  4267.     IRpcStubBuffer *This,
  4268.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4269.     PRPC_MESSAGE _pRpcMessage,
  4270.     DWORD *_pdwStubPhase);
  4271.  
  4272.  
  4273. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_RemoteSetRowPosition_Proxy( 
  4274.     IRowPosition __RPC_FAR * This,
  4275.     /* [in] */ HCHAPTER hChapter,
  4276.     /* [in] */ HROW hRow,
  4277.     /* [in] */ DBPOSITIONFLAGS dwPositionFlags,
  4278.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4279.  
  4280.  
  4281. void __RPC_STUB IRowPosition_RemoteSetRowPosition_Stub(
  4282.     IRpcStubBuffer *This,
  4283.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4284.     PRPC_MESSAGE _pRpcMessage,
  4285.     DWORD *_pdwStubPhase);
  4286.  
  4287.  
  4288.  
  4289. #endif     /* __IRowPosition_INTERFACE_DEFINED__ */
  4290.  
  4291.  
  4292. #ifndef __IRowPositionChange_INTERFACE_DEFINED__
  4293. #define __IRowPositionChange_INTERFACE_DEFINED__
  4294.  
  4295. /****************************************
  4296.  * Generated header for interface: IRowPositionChange
  4297.  * at Tue Apr 28 11:55:07 1998
  4298.  * using MIDL 3.01.75
  4299.  ****************************************/
  4300. /* [unique][uuid][object] */ 
  4301.  
  4302.  
  4303.  
  4304. EXTERN_C const IID IID_IRowPositionChange;
  4305.  
  4306. #if defined(__cplusplus) && !defined(CINTERFACE)
  4307.     
  4308.     interface DECLSPEC_UUID("0997a571-126e-11d0-9f8a-00a0c9a0631e")
  4309.     IRowPositionChange : public IUnknown
  4310.     {
  4311.     public:
  4312.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnRowPositionChange( 
  4313.             /* [in] */ DBREASON eReason,
  4314.             /* [in] */ DBEVENTPHASE ePhase,
  4315.             /* [in] */ BOOL fCantDeny) = 0;
  4316.         
  4317.     };
  4318.     
  4319. #else     /* C style interface */
  4320.  
  4321.     typedef struct IRowPositionChangeVtbl
  4322.     {
  4323.         BEGIN_INTERFACE
  4324.         
  4325.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4326.             IRowPositionChange __RPC_FAR * This,
  4327.             /* [in] */ REFIID riid,
  4328.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4329.         
  4330.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4331.             IRowPositionChange __RPC_FAR * This);
  4332.         
  4333.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4334.             IRowPositionChange __RPC_FAR * This);
  4335.         
  4336.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnRowPositionChange )( 
  4337.             IRowPositionChange __RPC_FAR * This,
  4338.             /* [in] */ DBREASON eReason,
  4339.             /* [in] */ DBEVENTPHASE ePhase,
  4340.             /* [in] */ BOOL fCantDeny);
  4341.         
  4342.         END_INTERFACE
  4343.     } IRowPositionChangeVtbl;
  4344.  
  4345.     interface IRowPositionChange
  4346.     {
  4347.         CONST_VTBL struct IRowPositionChangeVtbl __RPC_FAR *lpVtbl;
  4348.     };
  4349.  
  4350.     
  4351.  
  4352. #ifdef COBJMACROS
  4353.  
  4354.  
  4355. #define IRowPositionChange_QueryInterface(This,riid,ppvObject)    \
  4356.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4357.  
  4358. #define IRowPositionChange_AddRef(This)    \
  4359.     (This)->lpVtbl -> AddRef(This)
  4360.  
  4361. #define IRowPositionChange_Release(This)    \
  4362.     (This)->lpVtbl -> Release(This)
  4363.  
  4364.  
  4365. #define IRowPositionChange_OnRowPositionChange(This,eReason,ePhase,fCantDeny)    \
  4366.     (This)->lpVtbl -> OnRowPositionChange(This,eReason,ePhase,fCantDeny)
  4367.  
  4368. #endif /* COBJMACROS */
  4369.  
  4370.  
  4371. #endif     /* C style interface */
  4372.  
  4373.  
  4374.  
  4375. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPositionChange_RemoteOnRowPositionChange_Proxy( 
  4376.     IRowPositionChange __RPC_FAR * This,
  4377.     /* [in] */ DBREASON eReason,
  4378.     /* [in] */ DBEVENTPHASE ePhase,
  4379.     /* [in] */ BOOL fCantDeny,
  4380.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4381.  
  4382.  
  4383. void __RPC_STUB IRowPositionChange_RemoteOnRowPositionChange_Stub(
  4384.     IRpcStubBuffer *This,
  4385.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4386.     PRPC_MESSAGE _pRpcMessage,
  4387.     DWORD *_pdwStubPhase);
  4388.  
  4389.  
  4390.  
  4391. #endif     /* __IRowPositionChange_INTERFACE_DEFINED__ */
  4392.  
  4393.  
  4394. #ifndef __IViewRowset_INTERFACE_DEFINED__
  4395. #define __IViewRowset_INTERFACE_DEFINED__
  4396.  
  4397. /****************************************
  4398.  * Generated header for interface: IViewRowset
  4399.  * at Tue Apr 28 11:55:07 1998
  4400.  * using MIDL 3.01.75
  4401.  ****************************************/
  4402. /* [unique][uuid][object] */ 
  4403.  
  4404.  
  4405.  
  4406. EXTERN_C const IID IID_IViewRowset;
  4407.  
  4408. #if defined(__cplusplus) && !defined(CINTERFACE)
  4409.     
  4410.     interface DECLSPEC_UUID("0c733a97-2a1c-11ce-ade5-00aa0044773d")
  4411.     IViewRowset : public IUnknown
  4412.     {
  4413.     public:
  4414.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSpecification( 
  4415.             /* [in] */ REFIID riid,
  4416.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject) = 0;
  4417.         
  4418.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OpenViewRowset( 
  4419.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  4420.             /* [in] */ REFIID riid,
  4421.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  4422.         
  4423.     };
  4424.     
  4425. #else     /* C style interface */
  4426.  
  4427.     typedef struct IViewRowsetVtbl
  4428.     {
  4429.         BEGIN_INTERFACE
  4430.         
  4431.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4432.             IViewRowset __RPC_FAR * This,
  4433.             /* [in] */ REFIID riid,
  4434.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4435.         
  4436.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4437.             IViewRowset __RPC_FAR * This);
  4438.         
  4439.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4440.             IViewRowset __RPC_FAR * This);
  4441.         
  4442.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSpecification )( 
  4443.             IViewRowset __RPC_FAR * This,
  4444.             /* [in] */ REFIID riid,
  4445.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject);
  4446.         
  4447.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenViewRowset )( 
  4448.             IViewRowset __RPC_FAR * This,
  4449.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  4450.             /* [in] */ REFIID riid,
  4451.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  4452.         
  4453.         END_INTERFACE
  4454.     } IViewRowsetVtbl;
  4455.  
  4456.     interface IViewRowset
  4457.     {
  4458.         CONST_VTBL struct IViewRowsetVtbl __RPC_FAR *lpVtbl;
  4459.     };
  4460.  
  4461.     
  4462.  
  4463. #ifdef COBJMACROS
  4464.  
  4465.  
  4466. #define IViewRowset_QueryInterface(This,riid,ppvObject)    \
  4467.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4468.  
  4469. #define IViewRowset_AddRef(This)    \
  4470.     (This)->lpVtbl -> AddRef(This)
  4471.  
  4472. #define IViewRowset_Release(This)    \
  4473.     (This)->lpVtbl -> Release(This)
  4474.  
  4475.  
  4476. #define IViewRowset_GetSpecification(This,riid,ppObject)    \
  4477.     (This)->lpVtbl -> GetSpecification(This,riid,ppObject)
  4478.  
  4479. #define IViewRowset_OpenViewRowset(This,pUnkOuter,riid,ppRowset)    \
  4480.     (This)->lpVtbl -> OpenViewRowset(This,pUnkOuter,riid,ppRowset)
  4481.  
  4482. #endif /* COBJMACROS */
  4483.  
  4484.  
  4485. #endif     /* C style interface */
  4486.  
  4487.  
  4488.  
  4489. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewRowset_RemoteGetSpecification_Proxy( 
  4490.     IViewRowset __RPC_FAR * This,
  4491.     /* [in] */ REFIID riid,
  4492.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject,
  4493.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4494.  
  4495.  
  4496. void __RPC_STUB IViewRowset_RemoteGetSpecification_Stub(
  4497.     IRpcStubBuffer *This,
  4498.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4499.     PRPC_MESSAGE _pRpcMessage,
  4500.     DWORD *_pdwStubPhase);
  4501.  
  4502.  
  4503. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewRowset_RemoteOpenViewRowset_Proxy( 
  4504.     IViewRowset __RPC_FAR * This,
  4505.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  4506.     /* [in] */ REFIID riid,
  4507.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  4508.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4509.  
  4510.  
  4511. void __RPC_STUB IViewRowset_RemoteOpenViewRowset_Stub(
  4512.     IRpcStubBuffer *This,
  4513.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4514.     PRPC_MESSAGE _pRpcMessage,
  4515.     DWORD *_pdwStubPhase);
  4516.  
  4517.  
  4518.  
  4519. #endif     /* __IViewRowset_INTERFACE_DEFINED__ */
  4520.  
  4521.  
  4522. #ifndef __IViewChapter_INTERFACE_DEFINED__
  4523. #define __IViewChapter_INTERFACE_DEFINED__
  4524.  
  4525. /****************************************
  4526.  * Generated header for interface: IViewChapter
  4527.  * at Tue Apr 28 11:55:07 1998
  4528.  * using MIDL 3.01.75
  4529.  ****************************************/
  4530. /* [unique][uuid][object] */ 
  4531.  
  4532.  
  4533.  
  4534. EXTERN_C const IID IID_IViewChapter;
  4535.  
  4536. #if defined(__cplusplus) && !defined(CINTERFACE)
  4537.     
  4538.     interface DECLSPEC_UUID("0c733a98-2a1c-11ce-ade5-00aa0044773d")
  4539.     IViewChapter : public IUnknown
  4540.     {
  4541.     public:
  4542.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSpecification( 
  4543.             /* [in] */ REFIID riid,
  4544.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  4545.         
  4546.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OpenViewChapter( 
  4547.             /* [in] */ HCHAPTER hSource,
  4548.             /* [out] */ HCHAPTER __RPC_FAR *phViewChapter) = 0;
  4549.         
  4550.     };
  4551.     
  4552. #else     /* C style interface */
  4553.  
  4554.     typedef struct IViewChapterVtbl
  4555.     {
  4556.         BEGIN_INTERFACE
  4557.         
  4558.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4559.             IViewChapter __RPC_FAR * This,
  4560.             /* [in] */ REFIID riid,
  4561.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4562.         
  4563.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4564.             IViewChapter __RPC_FAR * This);
  4565.         
  4566.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4567.             IViewChapter __RPC_FAR * This);
  4568.         
  4569.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSpecification )( 
  4570.             IViewChapter __RPC_FAR * This,
  4571.             /* [in] */ REFIID riid,
  4572.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  4573.         
  4574.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenViewChapter )( 
  4575.             IViewChapter __RPC_FAR * This,
  4576.             /* [in] */ HCHAPTER hSource,
  4577.             /* [out] */ HCHAPTER __RPC_FAR *phViewChapter);
  4578.         
  4579.         END_INTERFACE
  4580.     } IViewChapterVtbl;
  4581.  
  4582.     interface IViewChapter
  4583.     {
  4584.         CONST_VTBL struct IViewChapterVtbl __RPC_FAR *lpVtbl;
  4585.     };
  4586.  
  4587.     
  4588.  
  4589. #ifdef COBJMACROS
  4590.  
  4591.  
  4592. #define IViewChapter_QueryInterface(This,riid,ppvObject)    \
  4593.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4594.  
  4595. #define IViewChapter_AddRef(This)    \
  4596.     (This)->lpVtbl -> AddRef(This)
  4597.  
  4598. #define IViewChapter_Release(This)    \
  4599.     (This)->lpVtbl -> Release(This)
  4600.  
  4601.  
  4602. #define IViewChapter_GetSpecification(This,riid,ppRowset)    \
  4603.     (This)->lpVtbl -> GetSpecification(This,riid,ppRowset)
  4604.  
  4605. #define IViewChapter_OpenViewChapter(This,hSource,phViewChapter)    \
  4606.     (This)->lpVtbl -> OpenViewChapter(This,hSource,phViewChapter)
  4607.  
  4608. #endif /* COBJMACROS */
  4609.  
  4610.  
  4611. #endif     /* C style interface */
  4612.  
  4613.  
  4614.  
  4615. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewChapter_RemoteGetSpecification_Proxy( 
  4616.     IViewChapter __RPC_FAR * This,
  4617.     /* [in] */ REFIID riid,
  4618.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  4619.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4620.  
  4621.  
  4622. void __RPC_STUB IViewChapter_RemoteGetSpecification_Stub(
  4623.     IRpcStubBuffer *This,
  4624.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4625.     PRPC_MESSAGE _pRpcMessage,
  4626.     DWORD *_pdwStubPhase);
  4627.  
  4628.  
  4629. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewChapter_RemoteOpenViewChapter_Proxy( 
  4630.     IViewChapter __RPC_FAR * This,
  4631.     /* [in] */ HCHAPTER hSource,
  4632.     /* [out] */ HCHAPTER __RPC_FAR *phViewChapter,
  4633.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4634.  
  4635.  
  4636. void __RPC_STUB IViewChapter_RemoteOpenViewChapter_Stub(
  4637.     IRpcStubBuffer *This,
  4638.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4639.     PRPC_MESSAGE _pRpcMessage,
  4640.     DWORD *_pdwStubPhase);
  4641.  
  4642.  
  4643.  
  4644. #endif     /* __IViewChapter_INTERFACE_DEFINED__ */
  4645.  
  4646.  
  4647. #ifndef __IViewSort_INTERFACE_DEFINED__
  4648. #define __IViewSort_INTERFACE_DEFINED__
  4649.  
  4650. /****************************************
  4651.  * Generated header for interface: IViewSort
  4652.  * at Tue Apr 28 11:55:07 1998
  4653.  * using MIDL 3.01.75
  4654.  ****************************************/
  4655. /* [unique][uuid][object] */ 
  4656.  
  4657.  
  4658.  
  4659. EXTERN_C const IID IID_IViewSort;
  4660.  
  4661. #if defined(__cplusplus) && !defined(CINTERFACE)
  4662.     
  4663.     interface DECLSPEC_UUID("0c733a9a-2a1c-11ce-ade5-00aa0044773d")
  4664.     IViewSort : public IUnknown
  4665.     {
  4666.     public:
  4667.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSortOrder( 
  4668.             /* [out] */ ULONG __RPC_FAR *pcValues,
  4669.             /* [out] */ ULONG __RPC_FAR *__RPC_FAR prgColumns[  ],
  4670.             /* [out] */ DBSORT __RPC_FAR *__RPC_FAR prgOrders[  ]) = 0;
  4671.         
  4672.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetSortOrder( 
  4673.             /* [in] */ ULONG cValues,
  4674.             /* [size_is][in] */ const ULONG __RPC_FAR rgColumns[  ],
  4675.             /* [size_is][in] */ const DBSORT __RPC_FAR rgOrders[  ]) = 0;
  4676.         
  4677.     };
  4678.     
  4679. #else     /* C style interface */
  4680.  
  4681.     typedef struct IViewSortVtbl
  4682.     {
  4683.         BEGIN_INTERFACE
  4684.         
  4685.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4686.             IViewSort __RPC_FAR * This,
  4687.             /* [in] */ REFIID riid,
  4688.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4689.         
  4690.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4691.             IViewSort __RPC_FAR * This);
  4692.         
  4693.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4694.             IViewSort __RPC_FAR * This);
  4695.         
  4696.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSortOrder )( 
  4697.             IViewSort __RPC_FAR * This,
  4698.             /* [out] */ ULONG __RPC_FAR *pcValues,
  4699.             /* [out] */ ULONG __RPC_FAR *__RPC_FAR prgColumns[  ],
  4700.             /* [out] */ DBSORT __RPC_FAR *__RPC_FAR prgOrders[  ]);
  4701.         
  4702.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSortOrder )( 
  4703.             IViewSort __RPC_FAR * This,
  4704.             /* [in] */ ULONG cValues,
  4705.             /* [size_is][in] */ const ULONG __RPC_FAR rgColumns[  ],
  4706.             /* [size_is][in] */ const DBSORT __RPC_FAR rgOrders[  ]);
  4707.         
  4708.         END_INTERFACE
  4709.     } IViewSortVtbl;
  4710.  
  4711.     interface IViewSort
  4712.     {
  4713.         CONST_VTBL struct IViewSortVtbl __RPC_FAR *lpVtbl;
  4714.     };
  4715.  
  4716.     
  4717.  
  4718. #ifdef COBJMACROS
  4719.  
  4720.  
  4721. #define IViewSort_QueryInterface(This,riid,ppvObject)    \
  4722.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4723.  
  4724. #define IViewSort_AddRef(This)    \
  4725.     (This)->lpVtbl -> AddRef(This)
  4726.  
  4727. #define IViewSort_Release(This)    \
  4728.     (This)->lpVtbl -> Release(This)
  4729.  
  4730.  
  4731. #define IViewSort_GetSortOrder(This,pcValues,prgColumns,prgOrders)    \
  4732.     (This)->lpVtbl -> GetSortOrder(This,pcValues,prgColumns,prgOrders)
  4733.  
  4734. #define IViewSort_SetSortOrder(This,cValues,rgColumns,rgOrders)    \
  4735.     (This)->lpVtbl -> SetSortOrder(This,cValues,rgColumns,rgOrders)
  4736.  
  4737. #endif /* COBJMACROS */
  4738.  
  4739.  
  4740. #endif     /* C style interface */
  4741.  
  4742.  
  4743.  
  4744. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewSort_RemoteGetSortOrder_Proxy( 
  4745.     IViewSort __RPC_FAR * This,
  4746.     /* [out][in] */ ULONG __RPC_FAR *pcValues,
  4747.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgColumns,
  4748.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgOrders,
  4749.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4750.  
  4751.  
  4752. void __RPC_STUB IViewSort_RemoteGetSortOrder_Stub(
  4753.     IRpcStubBuffer *This,
  4754.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4755.     PRPC_MESSAGE _pRpcMessage,
  4756.     DWORD *_pdwStubPhase);
  4757.  
  4758.  
  4759. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewSort_RemoteSetSortOrder_Proxy( 
  4760.     IViewSort __RPC_FAR * This,
  4761.     /* [in] */ ULONG cValues,
  4762.     /* [size_is][in] */ const ULONG __RPC_FAR *rgColumns,
  4763.     /* [size_is][in] */ const DBSORT __RPC_FAR *rgOrders,
  4764.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4765.  
  4766.  
  4767. void __RPC_STUB IViewSort_RemoteSetSortOrder_Stub(
  4768.     IRpcStubBuffer *This,
  4769.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4770.     PRPC_MESSAGE _pRpcMessage,
  4771.     DWORD *_pdwStubPhase);
  4772.  
  4773.  
  4774.  
  4775. #endif     /* __IViewSort_INTERFACE_DEFINED__ */
  4776.  
  4777.  
  4778. #ifndef __IViewFilter_INTERFACE_DEFINED__
  4779. #define __IViewFilter_INTERFACE_DEFINED__
  4780.  
  4781. /****************************************
  4782.  * Generated header for interface: IViewFilter
  4783.  * at Tue Apr 28 11:55:07 1998
  4784.  * using MIDL 3.01.75
  4785.  ****************************************/
  4786. /* [unique][uuid][object] */ 
  4787.  
  4788.  
  4789.  
  4790. EXTERN_C const IID IID_IViewFilter;
  4791.  
  4792. #if defined(__cplusplus) && !defined(CINTERFACE)
  4793.     
  4794.     interface DECLSPEC_UUID("0c733a9b-2a1c-11ce-ade5-00aa0044773d")
  4795.     IViewFilter : public IUnknown
  4796.     {
  4797.     public:
  4798.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetFilter( 
  4799.             /* [in] */ HACCESSOR hAccessor,
  4800.             /* [out] */ ULONG __RPC_FAR *pcRows,
  4801.             /* [out] */ DBCOMPAREOP __RPC_FAR *__RPC_FAR pCompareOps[  ],
  4802.             /* [out] */ void __RPC_FAR *pCriteriaData) = 0;
  4803.         
  4804.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetFilterBindings( 
  4805.             /* [out] */ ULONG __RPC_FAR *pcBindings,
  4806.             /* [out] */ DBBINDING __RPC_FAR *__RPC_FAR *prgBindings) = 0;
  4807.         
  4808.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetFilter( 
  4809.             /* [in] */ HACCESSOR hAccessor,
  4810.             /* [in] */ ULONG cRows,
  4811.             /* [in] */ DBCOMPAREOP __RPC_FAR CompareOps[  ],
  4812.             /* [in] */ void __RPC_FAR *pCriteriaData) = 0;
  4813.         
  4814.     };
  4815.     
  4816. #else     /* C style interface */
  4817.  
  4818.     typedef struct IViewFilterVtbl
  4819.     {
  4820.         BEGIN_INTERFACE
  4821.         
  4822.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4823.             IViewFilter __RPC_FAR * This,
  4824.             /* [in] */ REFIID riid,
  4825.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4826.         
  4827.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4828.             IViewFilter __RPC_FAR * This);
  4829.         
  4830.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4831.             IViewFilter __RPC_FAR * This);
  4832.         
  4833.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFilter )( 
  4834.             IViewFilter __RPC_FAR * This,
  4835.             /* [in] */ HACCESSOR hAccessor,
  4836.             /* [out] */ ULONG __RPC_FAR *pcRows,
  4837.             /* [out] */ DBCOMPAREOP __RPC_FAR *__RPC_FAR pCompareOps[  ],
  4838.             /* [out] */ void __RPC_FAR *pCriteriaData);
  4839.         
  4840.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFilterBindings )( 
  4841.             IViewFilter __RPC_FAR * This,
  4842.             /* [out] */ ULONG __RPC_FAR *pcBindings,
  4843.             /* [out] */ DBBINDING __RPC_FAR *__RPC_FAR *prgBindings);
  4844.         
  4845.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFilter )( 
  4846.             IViewFilter __RPC_FAR * This,
  4847.             /* [in] */ HACCESSOR hAccessor,
  4848.             /* [in] */ ULONG cRows,
  4849.             /* [in] */ DBCOMPAREOP __RPC_FAR CompareOps[  ],
  4850.             /* [in] */ void __RPC_FAR *pCriteriaData);
  4851.         
  4852.         END_INTERFACE
  4853.     } IViewFilterVtbl;
  4854.  
  4855.     interface IViewFilter
  4856.     {
  4857.         CONST_VTBL struct IViewFilterVtbl __RPC_FAR *lpVtbl;
  4858.     };
  4859.  
  4860.     
  4861.  
  4862. #ifdef COBJMACROS
  4863.  
  4864.  
  4865. #define IViewFilter_QueryInterface(This,riid,ppvObject)    \
  4866.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4867.  
  4868. #define IViewFilter_AddRef(This)    \
  4869.     (This)->lpVtbl -> AddRef(This)
  4870.  
  4871. #define IViewFilter_Release(This)    \
  4872.     (This)->lpVtbl -> Release(This)
  4873.  
  4874.  
  4875. #define IViewFilter_GetFilter(This,hAccessor,pcRows,pCompareOps,pCriteriaData)    \
  4876.     (This)->lpVtbl -> GetFilter(This,hAccessor,pcRows,pCompareOps,pCriteriaData)
  4877.  
  4878. #define IViewFilter_GetFilterBindings(This,pcBindings,prgBindings)    \
  4879.     (This)->lpVtbl -> GetFilterBindings(This,pcBindings,prgBindings)
  4880.  
  4881. #define IViewFilter_SetFilter(This,hAccessor,cRows,CompareOps,pCriteriaData)    \
  4882.     (This)->lpVtbl -> SetFilter(This,hAccessor,cRows,CompareOps,pCriteriaData)
  4883.  
  4884. #endif /* COBJMACROS */
  4885.  
  4886.  
  4887. #endif     /* C style interface */
  4888.  
  4889.  
  4890.  
  4891. /* [local] */ HRESULT STDMETHODCALLTYPE IViewFilter_GetFilter_Proxy( 
  4892.     IViewFilter __RPC_FAR * This,
  4893.     /* [in] */ HACCESSOR hAccessor,
  4894.     /* [out] */ ULONG __RPC_FAR *pcRows,
  4895.     /* [out] */ DBCOMPAREOP __RPC_FAR *__RPC_FAR pCompareOps[  ],
  4896.     /* [out] */ void __RPC_FAR *pCriteriaData);
  4897.  
  4898.  
  4899. void __RPC_STUB IViewFilter_GetFilter_Stub(
  4900.     IRpcStubBuffer *This,
  4901.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4902.     PRPC_MESSAGE _pRpcMessage,
  4903.     DWORD *_pdwStubPhase);
  4904.  
  4905.  
  4906. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewFilter_RemoteGetFilterBindings_Proxy( 
  4907.     IViewFilter __RPC_FAR * This,
  4908.     /* [out][in] */ ULONG __RPC_FAR *pcBindings,
  4909.     /* [size_is][size_is][out] */ DBBINDING __RPC_FAR *__RPC_FAR *prgBindings,
  4910.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4911.  
  4912.  
  4913. void __RPC_STUB IViewFilter_RemoteGetFilterBindings_Stub(
  4914.     IRpcStubBuffer *This,
  4915.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4916.     PRPC_MESSAGE _pRpcMessage,
  4917.     DWORD *_pdwStubPhase);
  4918.  
  4919.  
  4920. /* [local] */ HRESULT STDMETHODCALLTYPE IViewFilter_SetFilter_Proxy( 
  4921.     IViewFilter __RPC_FAR * This,
  4922.     /* [in] */ HACCESSOR hAccessor,
  4923.     /* [in] */ ULONG cRows,
  4924.     /* [in] */ DBCOMPAREOP __RPC_FAR CompareOps[  ],
  4925.     /* [in] */ void __RPC_FAR *pCriteriaData);
  4926.  
  4927.  
  4928. void __RPC_STUB IViewFilter_SetFilter_Stub(
  4929.     IRpcStubBuffer *This,
  4930.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4931.     PRPC_MESSAGE _pRpcMessage,
  4932.     DWORD *_pdwStubPhase);
  4933.  
  4934.  
  4935.  
  4936. #endif     /* __IViewFilter_INTERFACE_DEFINED__ */
  4937.  
  4938.  
  4939. #ifndef __IRowsetView_INTERFACE_DEFINED__
  4940. #define __IRowsetView_INTERFACE_DEFINED__
  4941.  
  4942. /****************************************
  4943.  * Generated header for interface: IRowsetView
  4944.  * at Tue Apr 28 11:55:07 1998
  4945.  * using MIDL 3.01.75
  4946.  ****************************************/
  4947. /* [unique][uuid][object] */ 
  4948.  
  4949.  
  4950.  
  4951. EXTERN_C const IID IID_IRowsetView;
  4952.  
  4953. #if defined(__cplusplus) && !defined(CINTERFACE)
  4954.     
  4955.     interface DECLSPEC_UUID("0c733a99-2a1c-11ce-ade5-00aa0044773d")
  4956.     IRowsetView : public IUnknown
  4957.     {
  4958.     public:
  4959.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateView( 
  4960.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  4961.             /* [in] */ REFIID riid,
  4962.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppView) = 0;
  4963.         
  4964.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetView( 
  4965.             /* [in] */ HCHAPTER hChapter,
  4966.             /* [in] */ REFIID riid,
  4967.             /* [out] */ HCHAPTER __RPC_FAR *phChapterSource,
  4968.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppView) = 0;
  4969.         
  4970.     };
  4971.     
  4972. #else     /* C style interface */
  4973.  
  4974.     typedef struct IRowsetViewVtbl
  4975.     {
  4976.         BEGIN_INTERFACE
  4977.         
  4978.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4979.             IRowsetView __RPC_FAR * This,
  4980.             /* [in] */ REFIID riid,
  4981.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4982.         
  4983.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4984.             IRowsetView __RPC_FAR * This);
  4985.         
  4986.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4987.             IRowsetView __RPC_FAR * This);
  4988.         
  4989.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateView )( 
  4990.             IRowsetView __RPC_FAR * This,
  4991.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  4992.             /* [in] */ REFIID riid,
  4993.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppView);
  4994.         
  4995.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetView )( 
  4996.             IRowsetView __RPC_FAR * This,
  4997.             /* [in] */ HCHAPTER hChapter,
  4998.             /* [in] */ REFIID riid,
  4999.             /* [out] */ HCHAPTER __RPC_FAR *phChapterSource,
  5000.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppView);
  5001.         
  5002.         END_INTERFACE
  5003.     } IRowsetViewVtbl;
  5004.  
  5005.     interface IRowsetView
  5006.     {
  5007.         CONST_VTBL struct IRowsetViewVtbl __RPC_FAR *lpVtbl;
  5008.     };
  5009.  
  5010.     
  5011.  
  5012. #ifdef COBJMACROS
  5013.  
  5014.  
  5015. #define IRowsetView_QueryInterface(This,riid,ppvObject)    \
  5016.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5017.  
  5018. #define IRowsetView_AddRef(This)    \
  5019.     (This)->lpVtbl -> AddRef(This)
  5020.  
  5021. #define IRowsetView_Release(This)    \
  5022.     (This)->lpVtbl -> Release(This)
  5023.  
  5024.  
  5025. #define IRowsetView_CreateView(This,pUnkOuter,riid,ppView)    \
  5026.     (This)->lpVtbl -> CreateView(This,pUnkOuter,riid,ppView)
  5027.  
  5028. #define IRowsetView_GetView(This,hChapter,riid,phChapterSource,ppView)    \
  5029.     (This)->lpVtbl -> GetView(This,hChapter,riid,phChapterSource,ppView)
  5030.  
  5031. #endif /* COBJMACROS */
  5032.  
  5033.  
  5034. #endif     /* C style interface */
  5035.  
  5036.  
  5037.  
  5038. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetView_RemoteCreateView_Proxy( 
  5039.     IRowsetView __RPC_FAR * This,
  5040.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  5041.     /* [in] */ REFIID riid,
  5042.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppView,
  5043.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  5044.  
  5045.  
  5046. void __RPC_STUB IRowsetView_RemoteCreateView_Stub(
  5047.     IRpcStubBuffer *This,
  5048.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5049.     PRPC_MESSAGE _pRpcMessage,
  5050.     DWORD *_pdwStubPhase);
  5051.  
  5052.  
  5053. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetView_RemoteGetView_Proxy( 
  5054.     IRowsetView __RPC_FAR * This,
  5055.     /* [in] */ HCHAPTER hChapter,
  5056.     /* [in] */ REFIID riid,
  5057.     /* [out] */ HCHAPTER __RPC_FAR *phChapterSource,
  5058.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppView,
  5059.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  5060.  
  5061.  
  5062. void __RPC_STUB IRowsetView_RemoteGetView_Stub(
  5063.     IRpcStubBuffer *This,
  5064.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5065.     PRPC_MESSAGE _pRpcMessage,
  5066.     DWORD *_pdwStubPhase);
  5067.  
  5068.  
  5069.  
  5070. #endif     /* __IRowsetView_INTERFACE_DEFINED__ */
  5071.  
  5072.  
  5073. /****************************************
  5074.  * Generated header for interface: __MIDL_itf_oledb_0087
  5075.  * at Tue Apr 28 11:55:07 1998
  5076.  * using MIDL 3.01.75
  5077.  ****************************************/
  5078. /* [local] */ 
  5079.  
  5080.  
  5081. #endif // OLEDBVER >= 0x0150
  5082. //@@@- V1.5
  5083. //@@@+ deprecated
  5084. #ifdef deprecated
  5085.  
  5086.  
  5087. extern RPC_IF_HANDLE __MIDL_itf_oledb_0087_v0_0_c_ifspec;
  5088. extern RPC_IF_HANDLE __MIDL_itf_oledb_0087_v0_0_s_ifspec;
  5089.  
  5090. #ifndef __IRowsetExactScroll_INTERFACE_DEFINED__
  5091. #define __IRowsetExactScroll_INTERFACE_DEFINED__
  5092.  
  5093. /****************************************
  5094.  * Generated header for interface: IRowsetExactScroll
  5095.  * at Tue Apr 28 11:55:07 1998
  5096.  * using MIDL 3.01.75
  5097.  ****************************************/
  5098. /* [unique][uuid][object][local] */ 
  5099.  
  5100.  
  5101.  
  5102. EXTERN_C const IID IID_IRowsetExactScroll;
  5103.  
  5104. #if defined(__cplusplus) && !defined(CINTERFACE)
  5105.     
  5106.     interface DECLSPEC_UUID("0c733a7f-2a1c-11ce-ade5-00aa0044773d")
  5107.     IRowsetExactScroll : public IRowsetScroll
  5108.     {
  5109.     public:
  5110.         virtual HRESULT STDMETHODCALLTYPE GetExactPosition( 
  5111.             /* [in] */ HCHAPTER hChapter,
  5112.             /* [in] */ ULONG cbBookmark,
  5113.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  5114.             /* [out] */ ULONG __RPC_FAR *pulPosition,
  5115.             /* [out] */ ULONG __RPC_FAR *pcRows) = 0;
  5116.         
  5117.     };
  5118.     
  5119. #else     /* C style interface */
  5120.  
  5121.     typedef struct IRowsetExactScrollVtbl
  5122.     {
  5123.         BEGIN_INTERFACE
  5124.         
  5125.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5126.             IRowsetExactScroll __RPC_FAR * This,
  5127.             /* [in] */ REFIID riid,
  5128.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5129.         
  5130.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5131.             IRowsetExactScroll __RPC_FAR * This);
  5132.         
  5133.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5134.             IRowsetExactScroll __RPC_FAR * This);
  5135.         
  5136.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddRefRows )( 
  5137.             IRowsetExactScroll __RPC_FAR * This,
  5138.             /* [in] */ ULONG cRows,
  5139.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5140.             /* [size_is][out] */ ULONG __RPC_FAR rgRefCounts[  ],
  5141.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  5142.         
  5143.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetData )( 
  5144.             IRowsetExactScroll __RPC_FAR * This,
  5145.             /* [in] */ HROW hRow,
  5146.             /* [in] */ HACCESSOR hAccessor,
  5147.             /* [out] */ void __RPC_FAR *pData);
  5148.         
  5149.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNextRows )( 
  5150.             IRowsetExactScroll __RPC_FAR * This,
  5151.             /* [in] */ HCHAPTER hReserved,
  5152.             /* [in] */ LONG lRowsOffset,
  5153.             /* [in] */ LONG cRows,
  5154.             /* [out] */ ULONG __RPC_FAR *pcRowsObtained,
  5155.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  5156.         
  5157.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseRows )( 
  5158.             IRowsetExactScroll __RPC_FAR * This,
  5159.             /* [in] */ ULONG cRows,
  5160.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5161.             /* [size_is][in] */ DBROWOPTIONS __RPC_FAR rgRowOptions[  ],
  5162.             /* [size_is][out] */ ULONG __RPC_FAR rgRefCounts[  ],
  5163.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  5164.         
  5165.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RestartPosition )( 
  5166.             IRowsetExactScroll __RPC_FAR * This,
  5167.             /* [in] */ HCHAPTER hReserved);
  5168.         
  5169.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Compare )( 
  5170.             IRowsetExactScroll __RPC_FAR * This,
  5171.             /* [in] */ HCHAPTER hReserved,
  5172.             /* [in] */ ULONG cbBookmark1,
  5173.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark1,
  5174.             /* [in] */ ULONG cbBookmark2,
  5175.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark2,
  5176.             /* [out] */ DBCOMPARE __RPC_FAR *pComparison);
  5177.         
  5178.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowsAt )( 
  5179.             IRowsetExactScroll __RPC_FAR * This,
  5180.             /* [in] */ HWATCHREGION hReserved1,
  5181.             /* [in] */ HCHAPTER hReserved2,
  5182.             /* [in] */ ULONG cbBookmark,
  5183.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  5184.             /* [in] */ LONG lRowsOffset,
  5185.             /* [in] */ LONG cRows,
  5186.             /* [out] */ ULONG __RPC_FAR *pcRowsObtained,
  5187.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  5188.         
  5189.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowsByBookmark )( 
  5190.             IRowsetExactScroll __RPC_FAR * This,
  5191.             /* [in] */ HCHAPTER hReserved,
  5192.             /* [in] */ ULONG cRows,
  5193.             /* [size_is][in] */ const ULONG __RPC_FAR rgcbBookmarks[  ],
  5194.             /* [size_is][in] */ const BYTE __RPC_FAR *__RPC_FAR rgpBookmarks[  ],
  5195.             /* [size_is][out] */ HROW __RPC_FAR rghRows[  ],
  5196.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  5197.         
  5198.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Hash )( 
  5199.             IRowsetExactScroll __RPC_FAR * This,
  5200.             /* [in] */ HCHAPTER hReserved,
  5201.             /* [in] */ ULONG cBookmarks,
  5202.             /* [size_is][in] */ const ULONG __RPC_FAR rgcbBookmarks[  ],
  5203.             /* [size_is][in] */ const BYTE __RPC_FAR *__RPC_FAR rgpBookmarks[  ],
  5204.             /* [size_is][out] */ DWORD __RPC_FAR rgHashedValues[  ],
  5205.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgBookmarkStatus[  ]);
  5206.         
  5207.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetApproximatePosition )( 
  5208.             IRowsetExactScroll __RPC_FAR * This,
  5209.             /* [in] */ HCHAPTER hReserved,
  5210.             /* [in] */ ULONG cbBookmark,
  5211.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  5212.             /* [out] */ ULONG __RPC_FAR *pulPosition,
  5213.             /* [out] */ ULONG __RPC_FAR *pcRows);
  5214.         
  5215.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowsAtRatio )( 
  5216.             IRowsetExactScroll __RPC_FAR * This,
  5217.             /* [in] */ HWATCHREGION hReserved1,
  5218.             /* [in] */ HCHAPTER hReserved2,
  5219.             /* [in] */ ULONG ulNumerator,
  5220.             /* [in] */ ULONG ulDenominator,
  5221.             /* [in] */ LONG cRows,
  5222.             /* [out] */ ULONG __RPC_FAR *pcRowsObtained,
  5223.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  5224.         
  5225.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetExactPosition )( 
  5226.             IRowsetExactScroll __RPC_FAR * This,
  5227.             /* [in] */ HCHAPTER hChapter,
  5228.             /* [in] */ ULONG cbBookmark,
  5229.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  5230.             /* [out] */ ULONG __RPC_FAR *pulPosition,
  5231.             /* [out] */ ULONG __RPC_FAR *pcRows);
  5232.         
  5233.         END_INTERFACE
  5234.     } IRowsetExactScrollVtbl;
  5235.  
  5236.     interface IRowsetExactScroll
  5237.     {
  5238.         CONST_VTBL struct IRowsetExactScrollVtbl __RPC_FAR *lpVtbl;
  5239.     };
  5240.  
  5241.     
  5242.  
  5243. #ifdef COBJMACROS
  5244.  
  5245.  
  5246. #define IRowsetExactScroll_QueryInterface(This,riid,ppvObject)    \
  5247.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5248.  
  5249. #define IRowsetExactScroll_AddRef(This)    \
  5250.     (This)->lpVtbl -> AddRef(This)
  5251.  
  5252. #define IRowsetExactScroll_Release(This)    \
  5253.     (This)->lpVtbl -> Release(This)
  5254.  
  5255.  
  5256. #define IRowsetExactScroll_AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus)    \
  5257.     (This)->lpVtbl -> AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus)
  5258.  
  5259. #define IRowsetExactScroll_GetData(This,hRow,hAccessor,pData)    \
  5260.     (This)->lpVtbl -> GetData(This,hRow,hAccessor,pData)
  5261.  
  5262. #define IRowsetExactScroll_GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows)    \
  5263.     (This)->lpVtbl -> GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows)
  5264.  
  5265. #define IRowsetExactScroll_ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus)    \
  5266.     (This)->lpVtbl -> ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus)
  5267.  
  5268. #define IRowsetExactScroll_RestartPosition(This,hReserved)    \
  5269.     (This)->lpVtbl -> RestartPosition(This,hReserved)
  5270.  
  5271.  
  5272. #define IRowsetExactScroll_Compare(This,hReserved,cbBookmark1,pBookmark1,cbBookmark2,pBookmark2,pComparison)    \
  5273.     (This)->lpVtbl -> Compare(This,hReserved,cbBookmark1,pBookmark1,cbBookmark2,pBookmark2,pComparison)
  5274.  
  5275. #define IRowsetExactScroll_GetRowsAt(This,hReserved1,hReserved2,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows)    \
  5276.     (This)->lpVtbl -> GetRowsAt(This,hReserved1,hReserved2,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows)
  5277.  
  5278. #define IRowsetExactScroll_GetRowsByBookmark(This,hReserved,cRows,rgcbBookmarks,rgpBookmarks,rghRows,rgRowStatus)    \
  5279.     (This)->lpVtbl -> GetRowsByBookmark(This,hReserved,cRows,rgcbBookmarks,rgpBookmarks,rghRows,rgRowStatus)
  5280.  
  5281. #define IRowsetExactScroll_Hash(This,hReserved,cBookmarks,rgcbBookmarks,rgpBookmarks,rgHashedValues,rgBookmarkStatus)    \
  5282.     (This)->lpVtbl -> Hash(This,hReserved,cBookmarks,rgcbBookmarks,rgpBookmarks,rgHashedValues,rgBookmarkStatus)
  5283.  
  5284.  
  5285. #define IRowsetExactScroll_GetApproximatePosition(This,hReserved,cbBookmark,pBookmark,pulPosition,pcRows)    \
  5286.     (This)->lpVtbl -> GetApproximatePosition(This,hReserved,cbBookmark,pBookmark,pulPosition,pcRows)
  5287.  
  5288. #define IRowsetExactScroll_GetRowsAtRatio(This,hReserved1,hReserved2,ulNumerator,ulDenominator,cRows,pcRowsObtained,prghRows)    \
  5289.     (This)->lpVtbl -> GetRowsAtRatio(This,hReserved1,hReserved2,ulNumerator,ulDenominator,cRows,pcRowsObtained,prghRows)
  5290.  
  5291.  
  5292. #define IRowsetExactScroll_GetExactPosition(This,hChapter,cbBookmark,pBookmark,pulPosition,pcRows)    \
  5293.     (This)->lpVtbl -> GetExactPosition(This,hChapter,cbBookmark,pBookmark,pulPosition,pcRows)
  5294.  
  5295. #endif /* COBJMACROS */
  5296.  
  5297.  
  5298. #endif     /* C style interface */
  5299.  
  5300.  
  5301.  
  5302. HRESULT STDMETHODCALLTYPE IRowsetExactScroll_GetExactPosition_Proxy( 
  5303.     IRowsetExactScroll __RPC_FAR * This,
  5304.     /* [in] */ HCHAPTER hChapter,
  5305.     /* [in] */ ULONG cbBookmark,
  5306.     /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  5307.     /* [out] */ ULONG __RPC_FAR *pulPosition,
  5308.     /* [out] */ ULONG __RPC_FAR *pcRows);
  5309.  
  5310.  
  5311. void __RPC_STUB IRowsetExactScroll_GetExactPosition_Stub(
  5312.     IRpcStubBuffer *This,
  5313.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5314.     PRPC_MESSAGE _pRpcMessage,
  5315.     DWORD *_pdwStubPhase);
  5316.  
  5317.  
  5318.  
  5319. #endif     /* __IRowsetExactScroll_INTERFACE_DEFINED__ */
  5320.  
  5321.  
  5322. /****************************************
  5323.  * Generated header for interface: __MIDL_itf_oledb_0088
  5324.  * at Tue Apr 28 11:55:07 1998
  5325.  * using MIDL 3.01.75
  5326.  ****************************************/
  5327. /* [local] */ 
  5328.  
  5329.  
  5330. #endif // deprecated
  5331. //@@@- deprecated
  5332.  
  5333.  
  5334. extern RPC_IF_HANDLE __MIDL_itf_oledb_0088_v0_0_c_ifspec;
  5335. extern RPC_IF_HANDLE __MIDL_itf_oledb_0088_v0_0_s_ifspec;
  5336.  
  5337. #ifndef __IRowsetChange_INTERFACE_DEFINED__
  5338. #define __IRowsetChange_INTERFACE_DEFINED__
  5339.  
  5340. /****************************************
  5341.  * Generated header for interface: IRowsetChange
  5342.  * at Tue Apr 28 11:55:07 1998
  5343.  * using MIDL 3.01.75
  5344.  ****************************************/
  5345. /* [unique][uuid][object][local] */ 
  5346.  
  5347.  
  5348.  
  5349. EXTERN_C const IID IID_IRowsetChange;
  5350.  
  5351. #if defined(__cplusplus) && !defined(CINTERFACE)
  5352.     
  5353.     interface DECLSPEC_UUID("0c733a05-2a1c-11ce-ade5-00aa0044773d")
  5354.     IRowsetChange : public IUnknown
  5355.     {
  5356.     public:
  5357.         virtual HRESULT STDMETHODCALLTYPE DeleteRows( 
  5358.             /* [in] */ HCHAPTER hReserved,
  5359.             /* [in] */ ULONG cRows,
  5360.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5361.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]) = 0;
  5362.         
  5363.         virtual HRESULT STDMETHODCALLTYPE SetData( 
  5364.             /* [in] */ HROW hRow,
  5365.             /* [in] */ HACCESSOR hAccessor,
  5366.             /* [in] */ void __RPC_FAR *pData) = 0;
  5367.         
  5368.         virtual HRESULT STDMETHODCALLTYPE InsertRow( 
  5369.             /* [in] */ HCHAPTER hReserved,
  5370.             /* [in] */ HACCESSOR hAccessor,
  5371.             /* [in] */ void __RPC_FAR *pData,
  5372.             /* [out] */ HROW __RPC_FAR *phRow) = 0;
  5373.         
  5374.     };
  5375.     
  5376. #else     /* C style interface */
  5377.  
  5378.     typedef struct IRowsetChangeVtbl
  5379.     {
  5380.         BEGIN_INTERFACE
  5381.         
  5382.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5383.             IRowsetChange __RPC_FAR * This,
  5384.             /* [in] */ REFIID riid,
  5385.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5386.         
  5387.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5388.             IRowsetChange __RPC_FAR * This);
  5389.         
  5390.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5391.             IRowsetChange __RPC_FAR * This);
  5392.         
  5393.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteRows )( 
  5394.             IRowsetChange __RPC_FAR * This,
  5395.             /* [in] */ HCHAPTER hReserved,
  5396.             /* [in] */ ULONG cRows,
  5397.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5398.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  5399.         
  5400.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetData )( 
  5401.             IRowsetChange __RPC_FAR * This,
  5402.             /* [in] */ HROW hRow,
  5403.             /* [in] */ HACCESSOR hAccessor,
  5404.             /* [in] */ void __RPC_FAR *pData);
  5405.         
  5406.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InsertRow )( 
  5407.             IRowsetChange __RPC_FAR * This,
  5408.             /* [in] */ HCHAPTER hReserved,
  5409.             /* [in] */ HACCESSOR hAccessor,
  5410.             /* [in] */ void __RPC_FAR *pData,
  5411.             /* [out] */ HROW __RPC_FAR *phRow);
  5412.         
  5413.         END_INTERFACE
  5414.     } IRowsetChangeVtbl;
  5415.  
  5416.     interface IRowsetChange
  5417.     {
  5418.         CONST_VTBL struct IRowsetChangeVtbl __RPC_FAR *lpVtbl;
  5419.     };
  5420.  
  5421.     
  5422.  
  5423. #ifdef COBJMACROS
  5424.  
  5425.  
  5426. #define IRowsetChange_QueryInterface(This,riid,ppvObject)    \
  5427.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5428.  
  5429. #define IRowsetChange_AddRef(This)    \
  5430.     (This)->lpVtbl -> AddRef(This)
  5431.  
  5432. #define IRowsetChange_Release(This)    \
  5433.     (This)->lpVtbl -> Release(This)
  5434.  
  5435.  
  5436. #define IRowsetChange_DeleteRows(This,hReserved,cRows,rghRows,rgRowStatus)    \
  5437.     (This)->lpVtbl -> DeleteRows(This,hReserved,cRows,rghRows,rgRowStatus)
  5438.  
  5439. #define IRowsetChange_SetData(This,hRow,hAccessor,pData)    \
  5440.     (This)->lpVtbl -> SetData(This,hRow,hAccessor,pData)
  5441.  
  5442. #define IRowsetChange_InsertRow(This,hReserved,hAccessor,pData,phRow)    \
  5443.     (This)->lpVtbl -> InsertRow(This,hReserved,hAccessor,pData,phRow)
  5444.  
  5445. #endif /* COBJMACROS */
  5446.  
  5447.  
  5448. #endif     /* C style interface */
  5449.  
  5450.  
  5451.  
  5452. HRESULT STDMETHODCALLTYPE IRowsetChange_DeleteRows_Proxy( 
  5453.     IRowsetChange __RPC_FAR * This,
  5454.     /* [in] */ HCHAPTER hReserved,
  5455.     /* [in] */ ULONG cRows,
  5456.     /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5457.     /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  5458.  
  5459.  
  5460. void __RPC_STUB IRowsetChange_DeleteRows_Stub(
  5461.     IRpcStubBuffer *This,
  5462.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5463.     PRPC_MESSAGE _pRpcMessage,
  5464.     DWORD *_pdwStubPhase);
  5465.  
  5466.  
  5467. HRESULT STDMETHODCALLTYPE IRowsetChange_SetData_Proxy( 
  5468.     IRowsetChange __RPC_FAR * This,
  5469.     /* [in] */ HROW hRow,
  5470.     /* [in] */ HACCESSOR hAccessor,
  5471.     /* [in] */ void __RPC_FAR *pData);
  5472.  
  5473.  
  5474. void __RPC_STUB IRowsetChange_SetData_Stub(
  5475.     IRpcStubBuffer *This,
  5476.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5477.     PRPC_MESSAGE _pRpcMessage,
  5478.     DWORD *_pdwStubPhase);
  5479.  
  5480.  
  5481. HRESULT STDMETHODCALLTYPE IRowsetChange_InsertRow_Proxy( 
  5482.     IRowsetChange __RPC_FAR * This,
  5483.     /* [in] */ HCHAPTER hReserved,
  5484.     /* [in] */ HACCESSOR hAccessor,
  5485.     /* [in] */ void __RPC_FAR *pData,
  5486.     /* [out] */ HROW __RPC_FAR *phRow);
  5487.  
  5488.  
  5489. void __RPC_STUB IRowsetChange_InsertRow_Stub(
  5490.     IRpcStubBuffer *This,
  5491.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5492.     PRPC_MESSAGE _pRpcMessage,
  5493.     DWORD *_pdwStubPhase);
  5494.  
  5495.  
  5496.  
  5497. #endif     /* __IRowsetChange_INTERFACE_DEFINED__ */
  5498.  
  5499.  
  5500. #ifndef __IRowsetUpdate_INTERFACE_DEFINED__
  5501. #define __IRowsetUpdate_INTERFACE_DEFINED__
  5502.  
  5503. /****************************************
  5504.  * Generated header for interface: IRowsetUpdate
  5505.  * at Tue Apr 28 11:55:07 1998
  5506.  * using MIDL 3.01.75
  5507.  ****************************************/
  5508. /* [unique][uuid][object][local] */ 
  5509.  
  5510.  
  5511. typedef DWORD DBPENDINGSTATUS;
  5512.  
  5513.  
  5514. enum DBPENDINGSTATUSENUM
  5515.     {    DBPENDINGSTATUS_NEW    = 0x1,
  5516.     DBPENDINGSTATUS_CHANGED    = 0x2,
  5517.     DBPENDINGSTATUS_DELETED    = 0x4,
  5518.     DBPENDINGSTATUS_UNCHANGED    = 0x8,
  5519.     DBPENDINGSTATUS_INVALIDROW    = 0x10
  5520.     };
  5521.  
  5522. EXTERN_C const IID IID_IRowsetUpdate;
  5523.  
  5524. #if defined(__cplusplus) && !defined(CINTERFACE)
  5525.     
  5526.     interface DECLSPEC_UUID("0c733a6d-2a1c-11ce-ade5-00aa0044773d")
  5527.     IRowsetUpdate : public IRowsetChange
  5528.     {
  5529.     public:
  5530.         virtual HRESULT STDMETHODCALLTYPE GetOriginalData( 
  5531.             /* [in] */ HROW hRow,
  5532.             /* [in] */ HACCESSOR hAccessor,
  5533.             /* [out] */ void __RPC_FAR *pData) = 0;
  5534.         
  5535.         virtual HRESULT STDMETHODCALLTYPE GetPendingRows( 
  5536.             /* [in] */ HCHAPTER hReserved,
  5537.             /* [in] */ DBPENDINGSTATUS dwRowStatus,
  5538.             /* [out][in] */ ULONG __RPC_FAR *pcPendingRows,
  5539.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prgPendingRows,
  5540.             /* [size_is][size_is][out] */ DBPENDINGSTATUS __RPC_FAR *__RPC_FAR *prgPendingStatus) = 0;
  5541.         
  5542.         virtual HRESULT STDMETHODCALLTYPE GetRowStatus( 
  5543.             /* [in] */ HCHAPTER hReserved,
  5544.             /* [in] */ ULONG cRows,
  5545.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5546.             /* [size_is][out] */ DBPENDINGSTATUS __RPC_FAR rgPendingStatus[  ]) = 0;
  5547.         
  5548.         virtual HRESULT STDMETHODCALLTYPE Undo( 
  5549.             /* [in] */ HCHAPTER hReserved,
  5550.             /* [in] */ ULONG cRows,
  5551.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5552.             /* [out][in] */ ULONG __RPC_FAR *pcRowsUndone,
  5553.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prgRowsUndone,
  5554.             /* [size_is][size_is][out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus) = 0;
  5555.         
  5556.         virtual HRESULT STDMETHODCALLTYPE Update( 
  5557.             /* [in] */ HCHAPTER hReserved,
  5558.             /* [in] */ ULONG cRows,
  5559.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5560.             /* [out][in] */ ULONG __RPC_FAR *pcRows,
  5561.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prgRows,
  5562.             /* [size_is][size_is][out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus) = 0;
  5563.         
  5564.     };
  5565.     
  5566. #else     /* C style interface */
  5567.  
  5568.     typedef struct IRowsetUpdateVtbl
  5569.     {
  5570.         BEGIN_INTERFACE
  5571.         
  5572.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5573.             IRowsetUpdate __RPC_FAR * This,
  5574.             /* [in] */ REFIID riid,
  5575.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5576.         
  5577.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5578.             IRowsetUpdate __RPC_FAR * This);
  5579.         
  5580.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5581.             IRowsetUpdate __RPC_FAR * This);
  5582.         
  5583.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteRows )( 
  5584.             IRowsetUpdate __RPC_FAR * This,
  5585.             /* [in] */ HCHAPTER hReserved,
  5586.             /* [in] */ ULONG cRows,
  5587.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5588.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  5589.         
  5590.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetData )( 
  5591.             IRowsetUpdate __RPC_FAR * This,
  5592.             /* [in] */ HROW hRow,
  5593.             /* [in] */ HACCESSOR hAccessor,
  5594.             /* [in] */ void __RPC_FAR *pData);
  5595.         
  5596.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InsertRow )( 
  5597.             IRowsetUpdate __RPC_FAR * This,
  5598.             /* [in] */ HCHAPTER hReserved,
  5599.             /* [in] */ HACCESSOR hAccessor,
  5600.             /* [in] */ void __RPC_FAR *pData,
  5601.             /* [out] */ HROW __RPC_FAR *phRow);
  5602.         
  5603.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOriginalData )( 
  5604.             IRowsetUpdate __RPC_FAR * This,
  5605.             /* [in] */ HROW hRow,
  5606.             /* [in] */ HACCESSOR hAccessor,
  5607.             /* [out] */ void __RPC_FAR *pData);
  5608.         
  5609.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPendingRows )( 
  5610.             IRowsetUpdate __RPC_FAR * This,
  5611.             /* [in] */ HCHAPTER hReserved,
  5612.             /* [in] */ DBPENDINGSTATUS dwRowStatus,
  5613.             /* [out][in] */ ULONG __RPC_FAR *pcPendingRows,
  5614.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prgPendingRows,
  5615.             /* [size_is][size_is][out] */ DBPENDINGSTATUS __RPC_FAR *__RPC_FAR *prgPendingStatus);
  5616.         
  5617.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowStatus )( 
  5618.             IRowsetUpdate __RPC_FAR * This,
  5619.             /* [in] */ HCHAPTER hReserved,
  5620.             /* [in] */ ULONG cRows,
  5621.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5622.             /* [size_is][out] */ DBPENDINGSTATUS __RPC_FAR rgPendingStatus[  ]);
  5623.         
  5624.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Undo )( 
  5625.             IRowsetUpdate __RPC_FAR * This,
  5626.             /* [in] */ HCHAPTER hReserved,
  5627.             /* [in] */ ULONG cRows,
  5628.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5629.             /* [out][in] */ ULONG __RPC_FAR *pcRowsUndone,
  5630.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prgRowsUndone,
  5631.             /* [size_is][size_is][out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus);
  5632.         
  5633.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
  5634.             IRowsetUpdate __RPC_FAR * This,
  5635.             /* [in] */ HCHAPTER hReserved,
  5636.             /* [in] */ ULONG cRows,
  5637.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5638.             /* [out][in] */ ULONG __RPC_FAR *pcRows,
  5639.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prgRows,
  5640.             /* [size_is][size_is][out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus);
  5641.         
  5642.         END_INTERFACE
  5643.     } IRowsetUpdateVtbl;
  5644.  
  5645.     interface IRowsetUpdate
  5646.     {
  5647.         CONST_VTBL struct IRowsetUpdateVtbl __RPC_FAR *lpVtbl;
  5648.     };
  5649.  
  5650.     
  5651.  
  5652. #ifdef COBJMACROS
  5653.  
  5654.  
  5655. #define IRowsetUpdate_QueryInterface(This,riid,ppvObject)    \
  5656.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5657.  
  5658. #define IRowsetUpdate_AddRef(This)    \
  5659.     (This)->lpVtbl -> AddRef(This)
  5660.  
  5661. #define IRowsetUpdate_Release(This)    \
  5662.     (This)->lpVtbl -> Release(This)
  5663.  
  5664.  
  5665. #define IRowsetUpdate_DeleteRows(This,hReserved,cRows,rghRows,rgRowStatus)    \
  5666.     (This)->lpVtbl -> DeleteRows(This,hReserved,cRows,rghRows,rgRowStatus)
  5667.  
  5668. #define IRowsetUpdate_SetData(This,hRow,hAccessor,pData)    \
  5669.     (This)->lpVtbl -> SetData(This,hRow,hAccessor,pData)
  5670.  
  5671. #define IRowsetUpdate_InsertRow(This,hReserved,hAccessor,pData,phRow)    \
  5672.     (This)->lpVtbl -> InsertRow(This,hReserved,hAccessor,pData,phRow)
  5673.  
  5674.  
  5675. #define IRowsetUpdate_GetOriginalData(This,hRow,hAccessor,pData)    \
  5676.     (This)->lpVtbl -> GetOriginalData(This,hRow,hAccessor,pData)
  5677.  
  5678. #define IRowsetUpdate_GetPendingRows(This,hReserved,dwRowStatus,pcPendingRows,prgPendingRows,prgPendingStatus)    \
  5679.     (This)->lpVtbl -> GetPendingRows(This,hReserved,dwRowStatus,pcPendingRows,prgPendingRows,prgPendingStatus)
  5680.  
  5681. #define IRowsetUpdate_GetRowStatus(This,hReserved,cRows,rghRows,rgPendingStatus)    \
  5682.     (This)->lpVtbl -> GetRowStatus(This,hReserved,cRows,rghRows,rgPendingStatus)
  5683.  
  5684. #define IRowsetUpdate_Undo(This,hReserved,cRows,rghRows,pcRowsUndone,prgRowsUndone,prgRowStatus)    \
  5685.     (This)->lpVtbl -> Undo(This,hReserved,cRows,rghRows,pcRowsUndone,prgRowsUndone,prgRowStatus)
  5686.  
  5687. #define IRowsetUpdate_Update(This,hReserved,cRows,rghRows,pcRows,prgRows,prgRowStatus)    \
  5688.     (This)->lpVtbl -> Update(This,hReserved,cRows,rghRows,pcRows,prgRows,prgRowStatus)
  5689.  
  5690. #endif /* COBJMACROS */
  5691.  
  5692.  
  5693. #endif     /* C style interface */
  5694.  
  5695.  
  5696.  
  5697. HRESULT STDMETHODCALLTYPE IRowsetUpdate_GetOriginalData_Proxy( 
  5698.     IRowsetUpdate __RPC_FAR * This,
  5699.     /* [in] */ HROW hRow,
  5700.     /* [in] */ HACCESSOR hAccessor,
  5701.     /* [out] */ void __RPC_FAR *pData);
  5702.  
  5703.  
  5704. void __RPC_STUB IRowsetUpdate_GetOriginalData_Stub(
  5705.     IRpcStubBuffer *This,
  5706.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5707.     PRPC_MESSAGE _pRpcMessage,
  5708.     DWORD *_pdwStubPhase);
  5709.  
  5710.  
  5711. HRESULT STDMETHODCALLTYPE IRowsetUpdate_GetPendingRows_Proxy( 
  5712.     IRowsetUpdate __RPC_FAR * This,
  5713.     /* [in] */ HCHAPTER hReserved,
  5714.     /* [in] */ DBPENDINGSTATUS dwRowStatus,
  5715.     /* [out][in] */ ULONG __RPC_FAR *pcPendingRows,
  5716.     /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prgPendingRows,
  5717.     /* [size_is][size_is][out] */ DBPENDINGSTATUS __RPC_FAR *__RPC_FAR *prgPendingStatus);
  5718.  
  5719.  
  5720. void __RPC_STUB IRowsetUpdate_GetPendingRows_Stub(
  5721.     IRpcStubBuffer *This,
  5722.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5723.     PRPC_MESSAGE _pRpcMessage,
  5724.     DWORD *_pdwStubPhase);
  5725.  
  5726.  
  5727. HRESULT STDMETHODCALLTYPE IRowsetUpdate_GetRowStatus_Proxy( 
  5728.     IRowsetUpdate __RPC_FAR * This,
  5729.     /* [in] */ HCHAPTER hReserved,
  5730.     /* [in] */ ULONG cRows,
  5731.     /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5732.     /* [size_is][out] */ DBPENDINGSTATUS __RPC_FAR rgPendingStatus[  ]);
  5733.  
  5734.  
  5735. void __RPC_STUB IRowsetUpdate_GetRowStatus_Stub(
  5736.     IRpcStubBuffer *This,
  5737.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5738.     PRPC_MESSAGE _pRpcMessage,
  5739.     DWORD *_pdwStubPhase);
  5740.  
  5741.  
  5742. HRESULT STDMETHODCALLTYPE IRowsetUpdate_Undo_Proxy( 
  5743.     IRowsetUpdate __RPC_FAR * This,
  5744.     /* [in] */ HCHAPTER hReserved,
  5745.     /* [in] */ ULONG cRows,
  5746.     /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5747.     /* [out][in] */ ULONG __RPC_FAR *pcRowsUndone,
  5748.     /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prgRowsUndone,
  5749.     /* [size_is][size_is][out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus);
  5750.  
  5751.  
  5752. void __RPC_STUB IRowsetUpdate_Undo_Stub(
  5753.     IRpcStubBuffer *This,
  5754.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5755.     PRPC_MESSAGE _pRpcMessage,
  5756.     DWORD *_pdwStubPhase);
  5757.  
  5758.  
  5759. HRESULT STDMETHODCALLTYPE IRowsetUpdate_Update_Proxy( 
  5760.     IRowsetUpdate __RPC_FAR * This,
  5761.     /* [in] */ HCHAPTER hReserved,
  5762.     /* [in] */ ULONG cRows,
  5763.     /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5764.     /* [out][in] */ ULONG __RPC_FAR *pcRows,
  5765.     /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prgRows,
  5766.     /* [size_is][size_is][out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus);
  5767.  
  5768.  
  5769. void __RPC_STUB IRowsetUpdate_Update_Stub(
  5770.     IRpcStubBuffer *This,
  5771.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5772.     PRPC_MESSAGE _pRpcMessage,
  5773.     DWORD *_pdwStubPhase);
  5774.  
  5775.  
  5776.  
  5777. #endif     /* __IRowsetUpdate_INTERFACE_DEFINED__ */
  5778.  
  5779.  
  5780. /****************************************
  5781.  * Generated header for interface: __MIDL_itf_oledb_0090
  5782.  * at Tue Apr 28 11:55:07 1998
  5783.  * using MIDL 3.01.75
  5784.  ****************************************/
  5785. /* [local] */ 
  5786.  
  5787.  
  5788. //@@@+ V2.5
  5789. #if( OLEDBVER >= 0x0250 )
  5790.  
  5791.  
  5792. extern RPC_IF_HANDLE __MIDL_itf_oledb_0090_v0_0_c_ifspec;
  5793. extern RPC_IF_HANDLE __MIDL_itf_oledb_0090_v0_0_s_ifspec;
  5794.  
  5795. #ifndef __IRowsetNextRowset_INTERFACE_DEFINED__
  5796. #define __IRowsetNextRowset_INTERFACE_DEFINED__
  5797.  
  5798. /****************************************
  5799.  * Generated header for interface: IRowsetNextRowset
  5800.  * at Tue Apr 28 11:55:07 1998
  5801.  * using MIDL 3.01.75
  5802.  ****************************************/
  5803. /* [unique][uuid][object][local] */ 
  5804.  
  5805.  
  5806.  
  5807. EXTERN_C const IID IID_IRowsetNextRowset;
  5808.  
  5809. #if defined(__cplusplus) && !defined(CINTERFACE)
  5810.     
  5811.     interface DECLSPEC_UUID("0c733a72-2a1c-11ce-ade5-00aa0044773d")
  5812.     IRowsetNextRowset : public IUnknown
  5813.     {
  5814.     public:
  5815.         virtual HRESULT STDMETHODCALLTYPE GetNextRowset( 
  5816.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  5817.             /* [in] */ REFIID riid,
  5818.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppNextRowset) = 0;
  5819.         
  5820.     };
  5821.     
  5822. #else     /* C style interface */
  5823.  
  5824.     typedef struct IRowsetNextRowsetVtbl
  5825.     {
  5826.         BEGIN_INTERFACE
  5827.         
  5828.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5829.             IRowsetNextRowset __RPC_FAR * This,
  5830.             /* [in] */ REFIID riid,
  5831.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5832.         
  5833.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5834.             IRowsetNextRowset __RPC_FAR * This);
  5835.         
  5836.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5837.             IRowsetNextRowset __RPC_FAR * This);
  5838.         
  5839.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNextRowset )( 
  5840.             IRowsetNextRowset __RPC_FAR * This,
  5841.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  5842.             /* [in] */ REFIID riid,
  5843.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppNextRowset);
  5844.         
  5845.         END_INTERFACE
  5846.     } IRowsetNextRowsetVtbl;
  5847.  
  5848.     interface IRowsetNextRowset
  5849.     {
  5850.         CONST_VTBL struct IRowsetNextRowsetVtbl __RPC_FAR *lpVtbl;
  5851.     };
  5852.  
  5853.     
  5854.  
  5855. #ifdef COBJMACROS
  5856.  
  5857.  
  5858. #define IRowsetNextRowset_QueryInterface(This,riid,ppvObject)    \
  5859.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5860.  
  5861. #define IRowsetNextRowset_AddRef(This)    \
  5862.     (This)->lpVtbl -> AddRef(This)
  5863.  
  5864. #define IRowsetNextRowset_Release(This)    \
  5865.     (This)->lpVtbl -> Release(This)
  5866.  
  5867.  
  5868. #define IRowsetNextRowset_GetNextRowset(This,pUnkOuter,riid,ppNextRowset)    \
  5869.     (This)->lpVtbl -> GetNextRowset(This,pUnkOuter,riid,ppNextRowset)
  5870.  
  5871. #endif /* COBJMACROS */
  5872.  
  5873.  
  5874. #endif     /* C style interface */
  5875.  
  5876.  
  5877.  
  5878. HRESULT STDMETHODCALLTYPE IRowsetNextRowset_GetNextRowset_Proxy( 
  5879.     IRowsetNextRowset __RPC_FAR * This,
  5880.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  5881.     /* [in] */ REFIID riid,
  5882.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppNextRowset);
  5883.  
  5884.  
  5885. void __RPC_STUB IRowsetNextRowset_GetNextRowset_Stub(
  5886.     IRpcStubBuffer *This,
  5887.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5888.     PRPC_MESSAGE _pRpcMessage,
  5889.     DWORD *_pdwStubPhase);
  5890.  
  5891.  
  5892.  
  5893. #endif     /* __IRowsetNextRowset_INTERFACE_DEFINED__ */
  5894.  
  5895.  
  5896. /****************************************
  5897.  * Generated header for interface: __MIDL_itf_oledb_0091
  5898.  * at Tue Apr 28 11:55:07 1998
  5899.  * using MIDL 3.01.75
  5900.  ****************************************/
  5901. /* [local] */ 
  5902.  
  5903.  
  5904. #endif // OLEDBVER >= 0x0250
  5905. //@@@- V2.5
  5906.  
  5907.  
  5908. extern RPC_IF_HANDLE __MIDL_itf_oledb_0091_v0_0_c_ifspec;
  5909. extern RPC_IF_HANDLE __MIDL_itf_oledb_0091_v0_0_s_ifspec;
  5910.  
  5911. #ifndef __IRowsetIdentity_INTERFACE_DEFINED__
  5912. #define __IRowsetIdentity_INTERFACE_DEFINED__
  5913.  
  5914. /****************************************
  5915.  * Generated header for interface: IRowsetIdentity
  5916.  * at Tue Apr 28 11:55:07 1998
  5917.  * using MIDL 3.01.75
  5918.  ****************************************/
  5919. /* [unique][uuid][object] */ 
  5920.  
  5921.  
  5922.  
  5923. EXTERN_C const IID IID_IRowsetIdentity;
  5924.  
  5925. #if defined(__cplusplus) && !defined(CINTERFACE)
  5926.     
  5927.     interface DECLSPEC_UUID("0c733a09-2a1c-11ce-ade5-00aa0044773d")
  5928.     IRowsetIdentity : public IUnknown
  5929.     {
  5930.     public:
  5931.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE IsSameRow( 
  5932.             /* [in] */ HROW hThisRow,
  5933.             /* [in] */ HROW hThatRow) = 0;
  5934.         
  5935.     };
  5936.     
  5937. #else     /* C style interface */
  5938.  
  5939.     typedef struct IRowsetIdentityVtbl
  5940.     {
  5941.         BEGIN_INTERFACE
  5942.         
  5943.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5944.             IRowsetIdentity __RPC_FAR * This,
  5945.             /* [in] */ REFIID riid,
  5946.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5947.         
  5948.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5949.             IRowsetIdentity __RPC_FAR * This);
  5950.         
  5951.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5952.             IRowsetIdentity __RPC_FAR * This);
  5953.         
  5954.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsSameRow )( 
  5955.             IRowsetIdentity __RPC_FAR * This,
  5956.             /* [in] */ HROW hThisRow,
  5957.             /* [in] */ HROW hThatRow);
  5958.         
  5959.         END_INTERFACE
  5960.     } IRowsetIdentityVtbl;
  5961.  
  5962.     interface IRowsetIdentity
  5963.     {
  5964.         CONST_VTBL struct IRowsetIdentityVtbl __RPC_FAR *lpVtbl;
  5965.     };
  5966.  
  5967.     
  5968.  
  5969. #ifdef COBJMACROS
  5970.  
  5971.  
  5972. #define IRowsetIdentity_QueryInterface(This,riid,ppvObject)    \
  5973.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5974.  
  5975. #define IRowsetIdentity_AddRef(This)    \
  5976.     (This)->lpVtbl -> AddRef(This)
  5977.  
  5978. #define IRowsetIdentity_Release(This)    \
  5979.     (This)->lpVtbl -> Release(This)
  5980.  
  5981.  
  5982. #define IRowsetIdentity_IsSameRow(This,hThisRow,hThatRow)    \
  5983.     (This)->lpVtbl -> IsSameRow(This,hThisRow,hThatRow)
  5984.  
  5985. #endif /* COBJMACROS */
  5986.  
  5987.  
  5988. #endif     /* C style interface */
  5989.  
  5990.  
  5991.  
  5992. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetIdentity_RemoteIsSameRow_Proxy( 
  5993.     IRowsetIdentity __RPC_FAR * This,
  5994.     /* [in] */ HROW hThisRow,
  5995.     /* [in] */ HROW hThatRow,
  5996.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  5997.  
  5998.  
  5999. void __RPC_STUB IRowsetIdentity_RemoteIsSameRow_Stub(
  6000.     IRpcStubBuffer *This,
  6001.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6002.     PRPC_MESSAGE _pRpcMessage,
  6003.     DWORD *_pdwStubPhase);
  6004.  
  6005.  
  6006.  
  6007. #endif     /* __IRowsetIdentity_INTERFACE_DEFINED__ */
  6008.  
  6009.  
  6010. /****************************************
  6011.  * Generated header for interface: __MIDL_itf_oledb_0092
  6012.  * at Tue Apr 28 11:55:07 1998
  6013.  * using MIDL 3.01.75
  6014.  ****************************************/
  6015. /* [local] */ 
  6016.  
  6017.  
  6018. //@@@+ V2.5
  6019. #if( OLEDBVER >= 0x0250 )
  6020.  
  6021.  
  6022. extern RPC_IF_HANDLE __MIDL_itf_oledb_0092_v0_0_c_ifspec;
  6023. extern RPC_IF_HANDLE __MIDL_itf_oledb_0092_v0_0_s_ifspec;
  6024.  
  6025. #ifndef __IRowsetNewRowAfter_INTERFACE_DEFINED__
  6026. #define __IRowsetNewRowAfter_INTERFACE_DEFINED__
  6027.  
  6028. /****************************************
  6029.  * Generated header for interface: IRowsetNewRowAfter
  6030.  * at Tue Apr 28 11:55:07 1998
  6031.  * using MIDL 3.01.75
  6032.  ****************************************/
  6033. /* [unique][uuid][object][local] */ 
  6034.  
  6035.  
  6036.  
  6037. EXTERN_C const IID IID_IRowsetNewRowAfter;
  6038.  
  6039. #if defined(__cplusplus) && !defined(CINTERFACE)
  6040.     
  6041.     interface DECLSPEC_UUID("0c733a71-2a1c-11ce-ade5-00aa0044773d")
  6042.     IRowsetNewRowAfter : public IUnknown
  6043.     {
  6044.     public:
  6045.         virtual HRESULT STDMETHODCALLTYPE SetNewDataAfter( 
  6046.             /* [in] */ HCHAPTER hChapter,
  6047.             /* [in] */ ULONG cbbmPrevious,
  6048.             /* [size_is][in] */ const BYTE __RPC_FAR *pbmPrevious,
  6049.             /* [in] */ HACCESSOR hAccessor,
  6050.             /* [in] */ BYTE __RPC_FAR *pData,
  6051.             /* [out] */ HROW __RPC_FAR *phRow) = 0;
  6052.         
  6053.     };
  6054.     
  6055. #else     /* C style interface */
  6056.  
  6057.     typedef struct IRowsetNewRowAfterVtbl
  6058.     {
  6059.         BEGIN_INTERFACE
  6060.         
  6061.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6062.             IRowsetNewRowAfter __RPC_FAR * This,
  6063.             /* [in] */ REFIID riid,
  6064.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6065.         
  6066.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6067.             IRowsetNewRowAfter __RPC_FAR * This);
  6068.         
  6069.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6070.             IRowsetNewRowAfter __RPC_FAR * This);
  6071.         
  6072.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetNewDataAfter )( 
  6073.             IRowsetNewRowAfter __RPC_FAR * This,
  6074.             /* [in] */ HCHAPTER hChapter,
  6075.             /* [in] */ ULONG cbbmPrevious,
  6076.             /* [size_is][in] */ const BYTE __RPC_FAR *pbmPrevious,
  6077.             /* [in] */ HACCESSOR hAccessor,
  6078.             /* [in] */ BYTE __RPC_FAR *pData,
  6079.             /* [out] */ HROW __RPC_FAR *phRow);
  6080.         
  6081.         END_INTERFACE
  6082.     } IRowsetNewRowAfterVtbl;
  6083.  
  6084.     interface IRowsetNewRowAfter
  6085.     {
  6086.         CONST_VTBL struct IRowsetNewRowAfterVtbl __RPC_FAR *lpVtbl;
  6087.     };
  6088.  
  6089.     
  6090.  
  6091. #ifdef COBJMACROS
  6092.  
  6093.  
  6094. #define IRowsetNewRowAfter_QueryInterface(This,riid,ppvObject)    \
  6095.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6096.  
  6097. #define IRowsetNewRowAfter_AddRef(This)    \
  6098.     (This)->lpVtbl -> AddRef(This)
  6099.  
  6100. #define IRowsetNewRowAfter_Release(This)    \
  6101.     (This)->lpVtbl -> Release(This)
  6102.  
  6103.  
  6104. #define IRowsetNewRowAfter_SetNewDataAfter(This,hChapter,cbbmPrevious,pbmPrevious,hAccessor,pData,phRow)    \
  6105.     (This)->lpVtbl -> SetNewDataAfter(This,hChapter,cbbmPrevious,pbmPrevious,hAccessor,pData,phRow)
  6106.  
  6107. #endif /* COBJMACROS */
  6108.  
  6109.  
  6110. #endif     /* C style interface */
  6111.  
  6112.  
  6113.  
  6114. HRESULT STDMETHODCALLTYPE IRowsetNewRowAfter_SetNewDataAfter_Proxy( 
  6115.     IRowsetNewRowAfter __RPC_FAR * This,
  6116.     /* [in] */ HCHAPTER hChapter,
  6117.     /* [in] */ ULONG cbbmPrevious,
  6118.     /* [size_is][in] */ const BYTE __RPC_FAR *pbmPrevious,
  6119.     /* [in] */ HACCESSOR hAccessor,
  6120.     /* [in] */ BYTE __RPC_FAR *pData,
  6121.     /* [out] */ HROW __RPC_FAR *phRow);
  6122.  
  6123.  
  6124. void __RPC_STUB IRowsetNewRowAfter_SetNewDataAfter_Stub(
  6125.     IRpcStubBuffer *This,
  6126.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6127.     PRPC_MESSAGE _pRpcMessage,
  6128.     DWORD *_pdwStubPhase);
  6129.  
  6130.  
  6131.  
  6132. #endif     /* __IRowsetNewRowAfter_INTERFACE_DEFINED__ */
  6133.  
  6134.  
  6135. #ifndef __IRowsetWithParameters_INTERFACE_DEFINED__
  6136. #define __IRowsetWithParameters_INTERFACE_DEFINED__
  6137.  
  6138. /****************************************
  6139.  * Generated header for interface: IRowsetWithParameters
  6140.  * at Tue Apr 28 11:55:07 1998
  6141.  * using MIDL 3.01.75
  6142.  ****************************************/
  6143. /* [unique][uuid][object][local] */ 
  6144.  
  6145.  
  6146.  
  6147. EXTERN_C const IID IID_IRowsetWithParameters;
  6148.  
  6149. #if defined(__cplusplus) && !defined(CINTERFACE)
  6150.     
  6151.     interface DECLSPEC_UUID("0c733a6e-2a1c-11ce-ade5-00aa0044773d")
  6152.     IRowsetWithParameters : public IUnknown
  6153.     {
  6154.     public:
  6155.         virtual HRESULT STDMETHODCALLTYPE GetParameterInfo( 
  6156.             /* [out][in] */ ULONG __RPC_FAR *pcParams,
  6157.             /* [size_is][size_is][out] */ DBPARAMINFO __RPC_FAR *__RPC_FAR *prgParamInfo,
  6158.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppNamesBuffer) = 0;
  6159.         
  6160.         virtual HRESULT STDMETHODCALLTYPE Requery( 
  6161.             /* [in] */ DBPARAMS __RPC_FAR *pParams,
  6162.             /* [out] */ ULONG __RPC_FAR *pulErrorParam,
  6163.             /* [out] */ HCHAPTER __RPC_FAR *phReserved) = 0;
  6164.         
  6165.     };
  6166.     
  6167. #else     /* C style interface */
  6168.  
  6169.     typedef struct IRowsetWithParametersVtbl
  6170.     {
  6171.         BEGIN_INTERFACE
  6172.         
  6173.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6174.             IRowsetWithParameters __RPC_FAR * This,
  6175.             /* [in] */ REFIID riid,
  6176.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6177.         
  6178.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6179.             IRowsetWithParameters __RPC_FAR * This);
  6180.         
  6181.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6182.             IRowsetWithParameters __RPC_FAR * This);
  6183.         
  6184.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetParameterInfo )( 
  6185.             IRowsetWithParameters __RPC_FAR * This,
  6186.             /* [out][in] */ ULONG __RPC_FAR *pcParams,
  6187.             /* [size_is][size_is][out] */ DBPARAMINFO __RPC_FAR *__RPC_FAR *prgParamInfo,
  6188.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppNamesBuffer);
  6189.         
  6190.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Requery )( 
  6191.             IRowsetWithParameters __RPC_FAR * This,
  6192.             /* [in] */ DBPARAMS __RPC_FAR *pParams,
  6193.             /* [out] */ ULONG __RPC_FAR *pulErrorParam,
  6194.             /* [out] */ HCHAPTER __RPC_FAR *phReserved);
  6195.         
  6196.         END_INTERFACE
  6197.     } IRowsetWithParametersVtbl;
  6198.  
  6199.     interface IRowsetWithParameters
  6200.     {
  6201.         CONST_VTBL struct IRowsetWithParametersVtbl __RPC_FAR *lpVtbl;
  6202.     };
  6203.  
  6204.     
  6205.  
  6206. #ifdef COBJMACROS
  6207.  
  6208.  
  6209. #define IRowsetWithParameters_QueryInterface(This,riid,ppvObject)    \
  6210.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6211.  
  6212. #define IRowsetWithParameters_AddRef(This)    \
  6213.     (This)->lpVtbl -> AddRef(This)
  6214.  
  6215. #define IRowsetWithParameters_Release(This)    \
  6216.     (This)->lpVtbl -> Release(This)
  6217.  
  6218.  
  6219. #define IRowsetWithParameters_GetParameterInfo(This,pcParams,prgParamInfo,ppNamesBuffer)    \
  6220.     (This)->lpVtbl -> GetParameterInfo(This,pcParams,prgParamInfo,ppNamesBuffer)
  6221.  
  6222. #define IRowsetWithParameters_Requery(This,pParams,pulErrorParam,phReserved)    \
  6223.     (This)->lpVtbl -> Requery(This,pParams,pulErrorParam,phReserved)
  6224.  
  6225. #endif /* COBJMACROS */
  6226.  
  6227.  
  6228. #endif     /* C style interface */
  6229.  
  6230.  
  6231.  
  6232. HRESULT STDMETHODCALLTYPE IRowsetWithParameters_GetParameterInfo_Proxy( 
  6233.     IRowsetWithParameters __RPC_FAR * This,
  6234.     /* [out][in] */ ULONG __RPC_FAR *pcParams,
  6235.     /* [size_is][size_is][out] */ DBPARAMINFO __RPC_FAR *__RPC_FAR *prgParamInfo,
  6236.     /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppNamesBuffer);
  6237.  
  6238.  
  6239. void __RPC_STUB IRowsetWithParameters_GetParameterInfo_Stub(
  6240.     IRpcStubBuffer *This,
  6241.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6242.     PRPC_MESSAGE _pRpcMessage,
  6243.     DWORD *_pdwStubPhase);
  6244.  
  6245.  
  6246. HRESULT STDMETHODCALLTYPE IRowsetWithParameters_Requery_Proxy( 
  6247.     IRowsetWithParameters __RPC_FAR * This,
  6248.     /* [in] */ DBPARAMS __RPC_FAR *pParams,
  6249.     /* [out] */ ULONG __RPC_FAR *pulErrorParam,
  6250.     /* [out] */ HCHAPTER __RPC_FAR *phReserved);
  6251.  
  6252.  
  6253. void __RPC_STUB IRowsetWithParameters_Requery_Stub(
  6254.     IRpcStubBuffer *This,
  6255.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6256.     PRPC_MESSAGE _pRpcMessage,
  6257.     DWORD *_pdwStubPhase);
  6258.  
  6259.  
  6260.  
  6261. #endif     /* __IRowsetWithParameters_INTERFACE_DEFINED__ */
  6262.  
  6263.  
  6264. #ifndef __IRowsetAsynch_INTERFACE_DEFINED__
  6265. #define __IRowsetAsynch_INTERFACE_DEFINED__
  6266.  
  6267. /****************************************
  6268.  * Generated header for interface: IRowsetAsynch
  6269.  * at Tue Apr 28 11:55:07 1998
  6270.  * using MIDL 3.01.75
  6271.  ****************************************/
  6272. /* [unique][uuid][object][local] */ 
  6273.  
  6274.  
  6275.  
  6276. EXTERN_C const IID IID_IRowsetAsynch;
  6277.  
  6278. #if defined(__cplusplus) && !defined(CINTERFACE)
  6279.     
  6280.     interface DECLSPEC_UUID("0c733a0f-2a1c-11ce-ade5-00aa0044773d")
  6281.     IRowsetAsynch : public IUnknown
  6282.     {
  6283.     public:
  6284.         virtual HRESULT STDMETHODCALLTYPE RatioFinished( 
  6285.             /* [out] */ ULONG __RPC_FAR *pulDenominator,
  6286.             /* [out] */ ULONG __RPC_FAR *pulNumerator,
  6287.             /* [out] */ ULONG __RPC_FAR *pcRows,
  6288.             /* [out] */ BOOL __RPC_FAR *pfNewRows) = 0;
  6289.         
  6290.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  6291.         
  6292.     };
  6293.     
  6294. #else     /* C style interface */
  6295.  
  6296.     typedef struct IRowsetAsynchVtbl
  6297.     {
  6298.         BEGIN_INTERFACE
  6299.         
  6300.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6301.             IRowsetAsynch __RPC_FAR * This,
  6302.             /* [in] */ REFIID riid,
  6303.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6304.         
  6305.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6306.             IRowsetAsynch __RPC_FAR * This);
  6307.         
  6308.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6309.             IRowsetAsynch __RPC_FAR * This);
  6310.         
  6311.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RatioFinished )( 
  6312.             IRowsetAsynch __RPC_FAR * This,
  6313.             /* [out] */ ULONG __RPC_FAR *pulDenominator,
  6314.             /* [out] */ ULONG __RPC_FAR *pulNumerator,
  6315.             /* [out] */ ULONG __RPC_FAR *pcRows,
  6316.             /* [out] */ BOOL __RPC_FAR *pfNewRows);
  6317.         
  6318.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
  6319.             IRowsetAsynch __RPC_FAR * This);
  6320.         
  6321.         END_INTERFACE
  6322.     } IRowsetAsynchVtbl;
  6323.  
  6324.     interface IRowsetAsynch
  6325.     {
  6326.         CONST_VTBL struct IRowsetAsynchVtbl __RPC_FAR *lpVtbl;
  6327.     };
  6328.  
  6329.     
  6330.  
  6331. #ifdef COBJMACROS
  6332.  
  6333.  
  6334. #define IRowsetAsynch_QueryInterface(This,riid,ppvObject)    \
  6335.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6336.  
  6337. #define IRowsetAsynch_AddRef(This)    \
  6338.     (This)->lpVtbl -> AddRef(This)
  6339.  
  6340. #define IRowsetAsynch_Release(This)    \
  6341.     (This)->lpVtbl -> Release(This)
  6342.  
  6343.  
  6344. #define IRowsetAsynch_RatioFinished(This,pulDenominator,pulNumerator,pcRows,pfNewRows)    \
  6345.     (This)->lpVtbl -> RatioFinished(This,pulDenominator,pulNumerator,pcRows,pfNewRows)
  6346.  
  6347. #define IRowsetAsynch_Stop(This)    \
  6348.     (This)->lpVtbl -> Stop(This)
  6349.  
  6350. #endif /* COBJMACROS */
  6351.  
  6352.  
  6353. #endif     /* C style interface */
  6354.  
  6355.  
  6356.  
  6357. HRESULT STDMETHODCALLTYPE IRowsetAsynch_RatioFinished_Proxy( 
  6358.     IRowsetAsynch __RPC_FAR * This,
  6359.     /* [out] */ ULONG __RPC_FAR *pulDenominator,
  6360.     /* [out] */ ULONG __RPC_FAR *pulNumerator,
  6361.     /* [out] */ ULONG __RPC_FAR *pcRows,
  6362.     /* [out] */ BOOL __RPC_FAR *pfNewRows);
  6363.  
  6364.  
  6365. void __RPC_STUB IRowsetAsynch_RatioFinished_Stub(
  6366.     IRpcStubBuffer *This,
  6367.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6368.     PRPC_MESSAGE _pRpcMessage,
  6369.     DWORD *_pdwStubPhase);
  6370.  
  6371.  
  6372. HRESULT STDMETHODCALLTYPE IRowsetAsynch_Stop_Proxy( 
  6373.     IRowsetAsynch __RPC_FAR * This);
  6374.  
  6375.  
  6376. void __RPC_STUB IRowsetAsynch_Stop_Stub(
  6377.     IRpcStubBuffer *This,
  6378.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6379.     PRPC_MESSAGE _pRpcMessage,
  6380.     DWORD *_pdwStubPhase);
  6381.  
  6382.  
  6383.  
  6384. #endif     /* __IRowsetAsynch_INTERFACE_DEFINED__ */
  6385.  
  6386.  
  6387. #ifndef __IRowsetKeys_INTERFACE_DEFINED__
  6388. #define __IRowsetKeys_INTERFACE_DEFINED__
  6389.  
  6390. /****************************************
  6391.  * Generated header for interface: IRowsetKeys
  6392.  * at Tue Apr 28 11:55:07 1998
  6393.  * using MIDL 3.01.75
  6394.  ****************************************/
  6395. /* [unique][uuid][object][local] */ 
  6396.  
  6397.  
  6398.  
  6399. EXTERN_C const IID IID_IRowsetKeys;
  6400.  
  6401. #if defined(__cplusplus) && !defined(CINTERFACE)
  6402.     
  6403.     interface DECLSPEC_UUID("0c733a12-2a1c-11ce-ade5-00aa0044773d")
  6404.     IRowsetKeys : public IUnknown
  6405.     {
  6406.     public:
  6407.         virtual HRESULT STDMETHODCALLTYPE ListKeys( 
  6408.             /* [out][in] */ ULONG __RPC_FAR *pcColumns,
  6409.             /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgColumns) = 0;
  6410.         
  6411.     };
  6412.     
  6413. #else     /* C style interface */
  6414.  
  6415.     typedef struct IRowsetKeysVtbl
  6416.     {
  6417.         BEGIN_INTERFACE
  6418.         
  6419.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6420.             IRowsetKeys __RPC_FAR * This,
  6421.             /* [in] */ REFIID riid,
  6422.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6423.         
  6424.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6425.             IRowsetKeys __RPC_FAR * This);
  6426.         
  6427.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6428.             IRowsetKeys __RPC_FAR * This);
  6429.         
  6430.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ListKeys )( 
  6431.             IRowsetKeys __RPC_FAR * This,
  6432.             /* [out][in] */ ULONG __RPC_FAR *pcColumns,
  6433.             /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgColumns);
  6434.         
  6435.         END_INTERFACE
  6436.     } IRowsetKeysVtbl;
  6437.  
  6438.     interface IRowsetKeys
  6439.     {
  6440.         CONST_VTBL struct IRowsetKeysVtbl __RPC_FAR *lpVtbl;
  6441.     };
  6442.  
  6443.     
  6444.  
  6445. #ifdef COBJMACROS
  6446.  
  6447.  
  6448. #define IRowsetKeys_QueryInterface(This,riid,ppvObject)    \
  6449.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6450.  
  6451. #define IRowsetKeys_AddRef(This)    \
  6452.     (This)->lpVtbl -> AddRef(This)
  6453.  
  6454. #define IRowsetKeys_Release(This)    \
  6455.     (This)->lpVtbl -> Release(This)
  6456.  
  6457.  
  6458. #define IRowsetKeys_ListKeys(This,pcColumns,prgColumns)    \
  6459.     (This)->lpVtbl -> ListKeys(This,pcColumns,prgColumns)
  6460.  
  6461. #endif /* COBJMACROS */
  6462.  
  6463.  
  6464. #endif     /* C style interface */
  6465.  
  6466.  
  6467.  
  6468. HRESULT STDMETHODCALLTYPE IRowsetKeys_ListKeys_Proxy( 
  6469.     IRowsetKeys __RPC_FAR * This,
  6470.     /* [out][in] */ ULONG __RPC_FAR *pcColumns,
  6471.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgColumns);
  6472.  
  6473.  
  6474. void __RPC_STUB IRowsetKeys_ListKeys_Stub(
  6475.     IRpcStubBuffer *This,
  6476.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6477.     PRPC_MESSAGE _pRpcMessage,
  6478.     DWORD *_pdwStubPhase);
  6479.  
  6480.  
  6481.  
  6482. #endif     /* __IRowsetKeys_INTERFACE_DEFINED__ */
  6483.  
  6484.  
  6485. /****************************************
  6486.  * Generated header for interface: __MIDL_itf_oledb_0096
  6487.  * at Tue Apr 28 11:55:07 1998
  6488.  * using MIDL 3.01.75
  6489.  ****************************************/
  6490. /* [local] */ 
  6491.  
  6492.  
  6493. #endif // OLEDBVER >= 0x0250
  6494. //@@@- V2.5
  6495.  
  6496.  
  6497. extern RPC_IF_HANDLE __MIDL_itf_oledb_0096_v0_0_c_ifspec;
  6498. extern RPC_IF_HANDLE __MIDL_itf_oledb_0096_v0_0_s_ifspec;
  6499.  
  6500. #ifndef __IRowsetNotify_INTERFACE_DEFINED__
  6501. #define __IRowsetNotify_INTERFACE_DEFINED__
  6502.  
  6503. /****************************************
  6504.  * Generated header for interface: IRowsetNotify
  6505.  * at Tue Apr 28 11:55:07 1998
  6506.  * using MIDL 3.01.75
  6507.  ****************************************/
  6508. /* [unique][uuid][object] */ 
  6509.  
  6510.  
  6511.  
  6512. EXTERN_C const IID IID_IRowsetNotify;
  6513.  
  6514. #if defined(__cplusplus) && !defined(CINTERFACE)
  6515.     
  6516.     interface DECLSPEC_UUID("0c733a83-2a1c-11ce-ade5-00aa0044773d")
  6517.     IRowsetNotify : public IUnknown
  6518.     {
  6519.     public:
  6520.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnFieldChange( 
  6521.             /* [in] */ IRowset __RPC_FAR *pRowset,
  6522.             /* [in] */ HROW hRow,
  6523.             /* [in] */ ULONG cColumns,
  6524.             /* [size_is][in] */ ULONG __RPC_FAR rgColumns[  ],
  6525.             /* [in] */ DBREASON eReason,
  6526.             /* [in] */ DBEVENTPHASE ePhase,
  6527.             /* [in] */ BOOL fCantDeny) = 0;
  6528.         
  6529.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnRowChange( 
  6530.             /* [in] */ IRowset __RPC_FAR *pRowset,
  6531.             /* [in] */ ULONG cRows,
  6532.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  6533.             /* [in] */ DBREASON eReason,
  6534.             /* [in] */ DBEVENTPHASE ePhase,
  6535.             /* [in] */ BOOL fCantDeny) = 0;
  6536.         
  6537.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnRowsetChange( 
  6538.             /* [in] */ IRowset __RPC_FAR *pRowset,
  6539.             /* [in] */ DBREASON eReason,
  6540.             /* [in] */ DBEVENTPHASE ePhase,
  6541.             /* [in] */ BOOL fCantDeny) = 0;
  6542.         
  6543.     };
  6544.     
  6545. #else     /* C style interface */
  6546.  
  6547.     typedef struct IRowsetNotifyVtbl
  6548.     {
  6549.         BEGIN_INTERFACE
  6550.         
  6551.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6552.             IRowsetNotify __RPC_FAR * This,
  6553.             /* [in] */ REFIID riid,
  6554.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6555.         
  6556.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6557.             IRowsetNotify __RPC_FAR * This);
  6558.         
  6559.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6560.             IRowsetNotify __RPC_FAR * This);
  6561.         
  6562.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnFieldChange )( 
  6563.             IRowsetNotify __RPC_FAR * This,
  6564.             /* [in] */ IRowset __RPC_FAR *pRowset,
  6565.             /* [in] */ HROW hRow,
  6566.             /* [in] */ ULONG cColumns,
  6567.             /* [size_is][in] */ ULONG __RPC_FAR rgColumns[  ],
  6568.             /* [in] */ DBREASON eReason,
  6569.             /* [in] */ DBEVENTPHASE ePhase,
  6570.             /* [in] */ BOOL fCantDeny);
  6571.         
  6572.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnRowChange )( 
  6573.             IRowsetNotify __RPC_FAR * This,
  6574.             /* [in] */ IRowset __RPC_FAR *pRowset,
  6575.             /* [in] */ ULONG cRows,
  6576.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  6577.             /* [in] */ DBREASON eReason,
  6578.             /* [in] */ DBEVENTPHASE ePhase,
  6579.             /* [in] */ BOOL fCantDeny);
  6580.         
  6581.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnRowsetChange )( 
  6582.             IRowsetNotify __RPC_FAR * This,
  6583.             /* [in] */ IRowset __RPC_FAR *pRowset,
  6584.             /* [in] */ DBREASON eReason,
  6585.             /* [in] */ DBEVENTPHASE ePhase,
  6586.             /* [in] */ BOOL fCantDeny);
  6587.         
  6588.         END_INTERFACE
  6589.     } IRowsetNotifyVtbl;
  6590.  
  6591.     interface IRowsetNotify
  6592.     {
  6593.         CONST_VTBL struct IRowsetNotifyVtbl __RPC_FAR *lpVtbl;
  6594.     };
  6595.  
  6596.     
  6597.  
  6598. #ifdef COBJMACROS
  6599.  
  6600.  
  6601. #define IRowsetNotify_QueryInterface(This,riid,ppvObject)    \
  6602.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6603.  
  6604. #define IRowsetNotify_AddRef(This)    \
  6605.     (This)->lpVtbl -> AddRef(This)
  6606.  
  6607. #define IRowsetNotify_Release(This)    \
  6608.     (This)->lpVtbl -> Release(This)
  6609.  
  6610.  
  6611. #define IRowsetNotify_OnFieldChange(This,pRowset,hRow,cColumns,rgColumns,eReason,ePhase,fCantDeny)    \
  6612.     (This)->lpVtbl -> OnFieldChange(This,pRowset,hRow,cColumns,rgColumns,eReason,ePhase,fCantDeny)
  6613.  
  6614. #define IRowsetNotify_OnRowChange(This,pRowset,cRows,rghRows,eReason,ePhase,fCantDeny)    \
  6615.     (This)->lpVtbl -> OnRowChange(This,pRowset,cRows,rghRows,eReason,ePhase,fCantDeny)
  6616.  
  6617. #define IRowsetNotify_OnRowsetChange(This,pRowset,eReason,ePhase,fCantDeny)    \
  6618.     (This)->lpVtbl -> OnRowsetChange(This,pRowset,eReason,ePhase,fCantDeny)
  6619.  
  6620. #endif /* COBJMACROS */
  6621.  
  6622.  
  6623. #endif     /* C style interface */
  6624.  
  6625.  
  6626.  
  6627. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_RemoteOnFieldChange_Proxy( 
  6628.     IRowsetNotify __RPC_FAR * This,
  6629.     /* [in] */ IRowset __RPC_FAR *pRowset,
  6630.     /* [in] */ HROW hRow,
  6631.     /* [in] */ ULONG cColumns,
  6632.     /* [size_is][in] */ ULONG __RPC_FAR *rgColumns,
  6633.     /* [in] */ DBREASON eReason,
  6634.     /* [in] */ DBEVENTPHASE ePhase,
  6635.     /* [in] */ BOOL fCantDeny,
  6636.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  6637.  
  6638.  
  6639. void __RPC_STUB IRowsetNotify_RemoteOnFieldChange_Stub(
  6640.     IRpcStubBuffer *This,
  6641.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6642.     PRPC_MESSAGE _pRpcMessage,
  6643.     DWORD *_pdwStubPhase);
  6644.  
  6645.  
  6646. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_RemoteOnRowChange_Proxy( 
  6647.     IRowsetNotify __RPC_FAR * This,
  6648.     /* [in] */ IRowset __RPC_FAR *pRowset,
  6649.     /* [in] */ ULONG cRows,
  6650.     /* [size_is][in] */ const HROW __RPC_FAR *rghRows,
  6651.     /* [in] */ DBREASON eReason,
  6652.     /* [in] */ DBEVENTPHASE ePhase,
  6653.     /* [in] */ BOOL fCantDeny,
  6654.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  6655.  
  6656.  
  6657. void __RPC_STUB IRowsetNotify_RemoteOnRowChange_Stub(
  6658.     IRpcStubBuffer *This,
  6659.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6660.     PRPC_MESSAGE _pRpcMessage,
  6661.     DWORD *_pdwStubPhase);
  6662.  
  6663.  
  6664. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_RemoteOnRowsetChange_Proxy( 
  6665.     IRowsetNotify __RPC_FAR * This,
  6666.     /* [in] */ IRowset __RPC_FAR *pRowset,
  6667.     /* [in] */ DBREASON eReason,
  6668.     /* [in] */ DBEVENTPHASE ePhase,
  6669.     /* [in] */ BOOL fCantDeny,
  6670.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  6671.  
  6672.  
  6673. void __RPC_STUB IRowsetNotify_RemoteOnRowsetChange_Stub(
  6674.     IRpcStubBuffer *This,
  6675.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6676.     PRPC_MESSAGE _pRpcMessage,
  6677.     DWORD *_pdwStubPhase);
  6678.  
  6679.  
  6680.  
  6681. #endif     /* __IRowsetNotify_INTERFACE_DEFINED__ */
  6682.  
  6683.  
  6684. #ifndef __IRowsetIndex_INTERFACE_DEFINED__
  6685. #define __IRowsetIndex_INTERFACE_DEFINED__
  6686.  
  6687. /****************************************
  6688.  * Generated header for interface: IRowsetIndex
  6689.  * at Tue Apr 28 11:55:07 1998
  6690.  * using MIDL 3.01.75
  6691.  ****************************************/
  6692. /* [unique][uuid][object][local] */ 
  6693.  
  6694.  
  6695. typedef DWORD DBSEEK;
  6696.  
  6697.  
  6698. enum DBSEEKENUM
  6699.     {    DBSEEK_INVALID    = 0,
  6700.     DBSEEK_FIRSTEQ    = 0x1,
  6701.     DBSEEK_LASTEQ    = 0x2,
  6702.     DBSEEK_GE    = 0x4,
  6703.     DBSEEK_GT    = 0x8,
  6704.     DBSEEK_LE    = 0x10,
  6705.     DBSEEK_LT    = 0x20
  6706.     };
  6707. typedef DWORD DBRANGE;
  6708.  
  6709.  
  6710. enum DBRANGEENUM
  6711.     {    DBRANGE_INCLUSIVESTART    = 0,
  6712.     DBRANGE_INCLUSIVEEND    = 0,
  6713.     DBRANGE_EXCLUSIVESTART    = 0x1,
  6714.     DBRANGE_EXCLUSIVEEND    = 0x2,
  6715.     DBRANGE_EXCLUDENULLS    = 0x4,
  6716.     DBRANGE_PREFIX    = 0x8,
  6717.     DBRANGE_MATCH    = 0x10
  6718.     };
  6719. //@@@+ V2.0
  6720. #if( OLEDBVER >= 0x0200 )
  6721.  
  6722. enum DBRANGEENUM20
  6723.     {    DBRANGE_MATCH_N_SHIFT    = 0x18,
  6724.     DBRANGE_MATCH_N_MASK    = 0xff
  6725.     };
  6726. #endif // OLEDBVER >= 0x0200
  6727. //@@@- V2.0
  6728.  
  6729. EXTERN_C const IID IID_IRowsetIndex;
  6730.  
  6731. #if defined(__cplusplus) && !defined(CINTERFACE)
  6732.     
  6733.     interface DECLSPEC_UUID("0c733a82-2a1c-11ce-ade5-00aa0044773d")
  6734.     IRowsetIndex : public IUnknown
  6735.     {
  6736.     public:
  6737.         virtual HRESULT STDMETHODCALLTYPE GetIndexInfo( 
  6738.             /* [out][in] */ ULONG __RPC_FAR *pcKeyColumns,
  6739.             /* [size_is][size_is][out] */ DBINDEXCOLUMNDESC __RPC_FAR *__RPC_FAR *prgIndexColumnDesc,
  6740.             /* [out][in] */ ULONG __RPC_FAR *pcIndexProperties,
  6741.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgIndexProperties) = 0;
  6742.         
  6743.         virtual HRESULT STDMETHODCALLTYPE Seek( 
  6744.             /* [in] */ HACCESSOR hAccessor,
  6745.             /* [in] */ ULONG cKeyValues,
  6746.             /* [in] */ void __RPC_FAR *pData,
  6747.             /* [in] */ DBSEEK dwSeekOptions) = 0;
  6748.         
  6749.         virtual HRESULT STDMETHODCALLTYPE SetRange( 
  6750.             /* [in] */ HACCESSOR hAccessor,
  6751.             /* [in] */ ULONG cStartKeyColumns,
  6752.             /* [in] */ void __RPC_FAR *pStartData,
  6753.             /* [in] */ ULONG cEndKeyColumns,
  6754.             /* [in] */ void __RPC_FAR *pEndData,
  6755.             /* [in] */ DBRANGE dwRangeOptions) = 0;
  6756.         
  6757.     };
  6758.     
  6759. #else     /* C style interface */
  6760.  
  6761.     typedef struct IRowsetIndexVtbl
  6762.     {
  6763.         BEGIN_INTERFACE
  6764.         
  6765.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6766.             IRowsetIndex __RPC_FAR * This,
  6767.             /* [in] */ REFIID riid,
  6768.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6769.         
  6770.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6771.             IRowsetIndex __RPC_FAR * This);
  6772.         
  6773.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6774.             IRowsetIndex __RPC_FAR * This);
  6775.         
  6776.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIndexInfo )( 
  6777.             IRowsetIndex __RPC_FAR * This,
  6778.             /* [out][in] */ ULONG __RPC_FAR *pcKeyColumns,
  6779.             /* [size_is][size_is][out] */ DBINDEXCOLUMNDESC __RPC_FAR *__RPC_FAR *prgIndexColumnDesc,
  6780.             /* [out][in] */ ULONG __RPC_FAR *pcIndexProperties,
  6781.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgIndexProperties);
  6782.         
  6783.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Seek )( 
  6784.             IRowsetIndex __RPC_FAR * This,
  6785.             /* [in] */ HACCESSOR hAccessor,
  6786.             /* [in] */ ULONG cKeyValues,
  6787.             /* [in] */ void __RPC_FAR *pData,
  6788.             /* [in] */ DBSEEK dwSeekOptions);
  6789.         
  6790.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetRange )( 
  6791.             IRowsetIndex __RPC_FAR * This,
  6792.             /* [in] */ HACCESSOR hAccessor,
  6793.             /* [in] */ ULONG cStartKeyColumns,
  6794.             /* [in] */ void __RPC_FAR *pStartData,
  6795.             /* [in] */ ULONG cEndKeyColumns,
  6796.             /* [in] */ void __RPC_FAR *pEndData,
  6797.             /* [in] */ DBRANGE dwRangeOptions);
  6798.         
  6799.         END_INTERFACE
  6800.     } IRowsetIndexVtbl;
  6801.  
  6802.     interface IRowsetIndex
  6803.     {
  6804.         CONST_VTBL struct IRowsetIndexVtbl __RPC_FAR *lpVtbl;
  6805.     };
  6806.  
  6807.     
  6808.  
  6809. #ifdef COBJMACROS
  6810.  
  6811.  
  6812. #define IRowsetIndex_QueryInterface(This,riid,ppvObject)    \
  6813.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6814.  
  6815. #define IRowsetIndex_AddRef(This)    \
  6816.     (This)->lpVtbl -> AddRef(This)
  6817.  
  6818. #define IRowsetIndex_Release(This)    \
  6819.     (This)->lpVtbl -> Release(This)
  6820.  
  6821.  
  6822. #define IRowsetIndex_GetIndexInfo(This,pcKeyColumns,prgIndexColumnDesc,pcIndexProperties,prgIndexProperties)    \
  6823.     (This)->lpVtbl -> GetIndexInfo(This,pcKeyColumns,prgIndexColumnDesc,pcIndexProperties,prgIndexProperties)
  6824.  
  6825. #define IRowsetIndex_Seek(This,hAccessor,cKeyValues,pData,dwSeekOptions)    \
  6826.     (This)->lpVtbl -> Seek(This,hAccessor,cKeyValues,pData,dwSeekOptions)
  6827.  
  6828. #define IRowsetIndex_SetRange(This,hAccessor,cStartKeyColumns,pStartData,cEndKeyColumns,pEndData,dwRangeOptions)    \
  6829.     (This)->lpVtbl -> SetRange(This,hAccessor,cStartKeyColumns,pStartData,cEndKeyColumns,pEndData,dwRangeOptions)
  6830.  
  6831. #endif /* COBJMACROS */
  6832.  
  6833.  
  6834. #endif     /* C style interface */
  6835.  
  6836.  
  6837.  
  6838. HRESULT STDMETHODCALLTYPE IRowsetIndex_GetIndexInfo_Proxy( 
  6839.     IRowsetIndex __RPC_FAR * This,
  6840.     /* [out][in] */ ULONG __RPC_FAR *pcKeyColumns,
  6841.     /* [size_is][size_is][out] */ DBINDEXCOLUMNDESC __RPC_FAR *__RPC_FAR *prgIndexColumnDesc,
  6842.     /* [out][in] */ ULONG __RPC_FAR *pcIndexProperties,
  6843.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgIndexProperties);
  6844.  
  6845.  
  6846. void __RPC_STUB IRowsetIndex_GetIndexInfo_Stub(
  6847.     IRpcStubBuffer *This,
  6848.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6849.     PRPC_MESSAGE _pRpcMessage,
  6850.     DWORD *_pdwStubPhase);
  6851.  
  6852.  
  6853. HRESULT STDMETHODCALLTYPE IRowsetIndex_Seek_Proxy( 
  6854.     IRowsetIndex __RPC_FAR * This,
  6855.     /* [in] */ HACCESSOR hAccessor,
  6856.     /* [in] */ ULONG cKeyValues,
  6857.     /* [in] */ void __RPC_FAR *pData,
  6858.     /* [in] */ DBSEEK dwSeekOptions);
  6859.  
  6860.  
  6861. void __RPC_STUB IRowsetIndex_Seek_Stub(
  6862.     IRpcStubBuffer *This,
  6863.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6864.     PRPC_MESSAGE _pRpcMessage,
  6865.     DWORD *_pdwStubPhase);
  6866.  
  6867.  
  6868. HRESULT STDMETHODCALLTYPE IRowsetIndex_SetRange_Proxy( 
  6869.     IRowsetIndex __RPC_FAR * This,
  6870.     /* [in] */ HACCESSOR hAccessor,
  6871.     /* [in] */ ULONG cStartKeyColumns,
  6872.     /* [in] */ void __RPC_FAR *pStartData,
  6873.     /* [in] */ ULONG cEndKeyColumns,
  6874.     /* [in] */ void __RPC_FAR *pEndData,
  6875.     /* [in] */ DBRANGE dwRangeOptions);
  6876.  
  6877.  
  6878. void __RPC_STUB IRowsetIndex_SetRange_Stub(
  6879.     IRpcStubBuffer *This,
  6880.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6881.     PRPC_MESSAGE _pRpcMessage,
  6882.     DWORD *_pdwStubPhase);
  6883.  
  6884.  
  6885.  
  6886. #endif     /* __IRowsetIndex_INTERFACE_DEFINED__ */
  6887.  
  6888.  
  6889. /****************************************
  6890.  * Generated header for interface: __MIDL_itf_oledb_0098
  6891.  * at Tue Apr 28 11:55:07 1998
  6892.  * using MIDL 3.01.75
  6893.  ****************************************/
  6894. /* [local] */ 
  6895.  
  6896.  
  6897. //@@@+ V2.5
  6898. #if( OLEDBVER >= 0x0250 )
  6899.  
  6900.  
  6901. extern RPC_IF_HANDLE __MIDL_itf_oledb_0098_v0_0_c_ifspec;
  6902. extern RPC_IF_HANDLE __MIDL_itf_oledb_0098_v0_0_s_ifspec;
  6903.  
  6904. #ifndef __IRowsetWatchAll_INTERFACE_DEFINED__
  6905. #define __IRowsetWatchAll_INTERFACE_DEFINED__
  6906.  
  6907. /****************************************
  6908.  * Generated header for interface: IRowsetWatchAll
  6909.  * at Tue Apr 28 11:55:07 1998
  6910.  * using MIDL 3.01.75
  6911.  ****************************************/
  6912. /* [unique][uuid][object][local] */ 
  6913.  
  6914.  
  6915.  
  6916. EXTERN_C const IID IID_IRowsetWatchAll;
  6917.  
  6918. #if defined(__cplusplus) && !defined(CINTERFACE)
  6919.     
  6920.     interface DECLSPEC_UUID("0c733a73-2a1c-11ce-ade5-00aa0044773d")
  6921.     IRowsetWatchAll : public IUnknown
  6922.     {
  6923.     public:
  6924.         virtual HRESULT STDMETHODCALLTYPE Acknowledge( void) = 0;
  6925.         
  6926.         virtual HRESULT STDMETHODCALLTYPE Start( void) = 0;
  6927.         
  6928.         virtual HRESULT STDMETHODCALLTYPE StopWatching( void) = 0;
  6929.         
  6930.     };
  6931.     
  6932. #else     /* C style interface */
  6933.  
  6934.     typedef struct IRowsetWatchAllVtbl
  6935.     {
  6936.         BEGIN_INTERFACE
  6937.         
  6938.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6939.             IRowsetWatchAll __RPC_FAR * This,
  6940.             /* [in] */ REFIID riid,
  6941.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6942.         
  6943.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6944.             IRowsetWatchAll __RPC_FAR * This);
  6945.         
  6946.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6947.             IRowsetWatchAll __RPC_FAR * This);
  6948.         
  6949.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Acknowledge )( 
  6950.             IRowsetWatchAll __RPC_FAR * This);
  6951.         
  6952.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Start )( 
  6953.             IRowsetWatchAll __RPC_FAR * This);
  6954.         
  6955.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StopWatching )( 
  6956.             IRowsetWatchAll __RPC_FAR * This);
  6957.         
  6958.         END_INTERFACE
  6959.     } IRowsetWatchAllVtbl;
  6960.  
  6961.     interface IRowsetWatchAll
  6962.     {
  6963.         CONST_VTBL struct IRowsetWatchAllVtbl __RPC_FAR *lpVtbl;
  6964.     };
  6965.  
  6966.     
  6967.  
  6968. #ifdef COBJMACROS
  6969.  
  6970.  
  6971. #define IRowsetWatchAll_QueryInterface(This,riid,ppvObject)    \
  6972.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6973.  
  6974. #define IRowsetWatchAll_AddRef(This)    \
  6975.     (This)->lpVtbl -> AddRef(This)
  6976.  
  6977. #define IRowsetWatchAll_Release(This)    \
  6978.     (This)->lpVtbl -> Release(This)
  6979.  
  6980.  
  6981. #define IRowsetWatchAll_Acknowledge(This)    \
  6982.     (This)->lpVtbl -> Acknowledge(This)
  6983.  
  6984. #define IRowsetWatchAll_Start(This)    \
  6985.     (This)->lpVtbl -> Start(This)
  6986.  
  6987. #define IRowsetWatchAll_StopWatching(This)    \
  6988.     (This)->lpVtbl -> StopWatching(This)
  6989.  
  6990. #endif /* COBJMACROS */
  6991.  
  6992.  
  6993. #endif     /* C style interface */
  6994.  
  6995.  
  6996.  
  6997. HRESULT STDMETHODCALLTYPE IRowsetWatchAll_Acknowledge_Proxy( 
  6998.     IRowsetWatchAll __RPC_FAR * This);
  6999.  
  7000.  
  7001. void __RPC_STUB IRowsetWatchAll_Acknowledge_Stub(
  7002.     IRpcStubBuffer *This,
  7003.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7004.     PRPC_MESSAGE _pRpcMessage,
  7005.     DWORD *_pdwStubPhase);
  7006.  
  7007.  
  7008. HRESULT STDMETHODCALLTYPE IRowsetWatchAll_Start_Proxy( 
  7009.     IRowsetWatchAll __RPC_FAR * This);
  7010.  
  7011.  
  7012. void __RPC_STUB IRowsetWatchAll_Start_Stub(
  7013.     IRpcStubBuffer *This,
  7014.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7015.     PRPC_MESSAGE _pRpcMessage,
  7016.     DWORD *_pdwStubPhase);
  7017.  
  7018.  
  7019. HRESULT STDMETHODCALLTYPE IRowsetWatchAll_StopWatching_Proxy( 
  7020.     IRowsetWatchAll __RPC_FAR * This);
  7021.  
  7022.  
  7023. void __RPC_STUB IRowsetWatchAll_StopWatching_Stub(
  7024.     IRpcStubBuffer *This,
  7025.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7026.     PRPC_MESSAGE _pRpcMessage,
  7027.     DWORD *_pdwStubPhase);
  7028.  
  7029.  
  7030.  
  7031. #endif     /* __IRowsetWatchAll_INTERFACE_DEFINED__ */
  7032.  
  7033.  
  7034. #ifndef __IRowsetWatchNotify_INTERFACE_DEFINED__
  7035. #define __IRowsetWatchNotify_INTERFACE_DEFINED__
  7036.  
  7037. /****************************************
  7038.  * Generated header for interface: IRowsetWatchNotify
  7039.  * at Tue Apr 28 11:55:07 1998
  7040.  * using MIDL 3.01.75
  7041.  ****************************************/
  7042. /* [unique][uuid][object][local] */ 
  7043.  
  7044.  
  7045. typedef DWORD DBWATCHNOTIFY;
  7046.  
  7047.  
  7048. enum DBWATCHNOTIFYENUM
  7049.     {    DBWATCHNOTIFY_ROWSCHANGED    = 1,
  7050.     DBWATCHNOTIFY_QUERYDONE    = 2,
  7051.     DBWATCHNOTIFY_QUERYREEXECUTED    = 3
  7052.     };
  7053.  
  7054. EXTERN_C const IID IID_IRowsetWatchNotify;
  7055.  
  7056. #if defined(__cplusplus) && !defined(CINTERFACE)
  7057.     
  7058.     interface DECLSPEC_UUID("0c733a44-2a1c-11ce-ade5-00aa0044773d")
  7059.     IRowsetWatchNotify : public IUnknown
  7060.     {
  7061.     public:
  7062.         virtual HRESULT STDMETHODCALLTYPE OnChange( 
  7063.             /* [in] */ IRowset __RPC_FAR *pRowset,
  7064.             /* [in] */ DBWATCHNOTIFY eChangeReason) = 0;
  7065.         
  7066.     };
  7067.     
  7068. #else     /* C style interface */
  7069.  
  7070.     typedef struct IRowsetWatchNotifyVtbl
  7071.     {
  7072.         BEGIN_INTERFACE
  7073.         
  7074.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7075.             IRowsetWatchNotify __RPC_FAR * This,
  7076.             /* [in] */ REFIID riid,
  7077.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7078.         
  7079.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7080.             IRowsetWatchNotify __RPC_FAR * This);
  7081.         
  7082.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7083.             IRowsetWatchNotify __RPC_FAR * This);
  7084.         
  7085.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnChange )( 
  7086.             IRowsetWatchNotify __RPC_FAR * This,
  7087.             /* [in] */ IRowset __RPC_FAR *pRowset,
  7088.             /* [in] */ DBWATCHNOTIFY eChangeReason);
  7089.         
  7090.         END_INTERFACE
  7091.     } IRowsetWatchNotifyVtbl;
  7092.  
  7093.     interface IRowsetWatchNotify
  7094.     {
  7095.         CONST_VTBL struct IRowsetWatchNotifyVtbl __RPC_FAR *lpVtbl;
  7096.     };
  7097.  
  7098.     
  7099.  
  7100. #ifdef COBJMACROS
  7101.  
  7102.  
  7103. #define IRowsetWatchNotify_QueryInterface(This,riid,ppvObject)    \
  7104.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7105.  
  7106. #define IRowsetWatchNotify_AddRef(This)    \
  7107.     (This)->lpVtbl -> AddRef(This)
  7108.  
  7109. #define IRowsetWatchNotify_Release(This)    \
  7110.     (This)->lpVtbl -> Release(This)
  7111.  
  7112.  
  7113. #define IRowsetWatchNotify_OnChange(This,pRowset,eChangeReason)    \
  7114.     (This)->lpVtbl -> OnChange(This,pRowset,eChangeReason)
  7115.  
  7116. #endif /* COBJMACROS */
  7117.  
  7118.  
  7119. #endif     /* C style interface */
  7120.  
  7121.  
  7122.  
  7123. HRESULT STDMETHODCALLTYPE IRowsetWatchNotify_OnChange_Proxy( 
  7124.     IRowsetWatchNotify __RPC_FAR * This,
  7125.     /* [in] */ IRowset __RPC_FAR *pRowset,
  7126.     /* [in] */ DBWATCHNOTIFY eChangeReason);
  7127.  
  7128.  
  7129. void __RPC_STUB IRowsetWatchNotify_OnChange_Stub(
  7130.     IRpcStubBuffer *This,
  7131.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7132.     PRPC_MESSAGE _pRpcMessage,
  7133.     DWORD *_pdwStubPhase);
  7134.  
  7135.  
  7136.  
  7137. #endif     /* __IRowsetWatchNotify_INTERFACE_DEFINED__ */
  7138.  
  7139.  
  7140. #ifndef __IRowsetWatchRegion_INTERFACE_DEFINED__
  7141. #define __IRowsetWatchRegion_INTERFACE_DEFINED__
  7142.  
  7143. /****************************************
  7144.  * Generated header for interface: IRowsetWatchRegion
  7145.  * at Tue Apr 28 11:55:07 1998
  7146.  * using MIDL 3.01.75
  7147.  ****************************************/
  7148. /* [unique][uuid][object][local] */ 
  7149.  
  7150.  
  7151. typedef DWORD DBWATCHMODE;
  7152.  
  7153.  
  7154. enum DBWATCHMODEENUM
  7155.     {    DBWATCHMODE_ALL    = 0x1,
  7156.     DBWATCHMODE_EXTEND    = 0x2,
  7157.     DBWATCHMODE_MOVE    = 0x4,
  7158.     DBWATCHMODE_COUNT    = 0x8
  7159.     };
  7160. typedef DWORD DBROWCHANGEKIND;
  7161.  
  7162.  
  7163. enum DBROWCHANGEKINDENUM
  7164.     {    DBROWCHANGEKIND_INSERT    = 0,
  7165.     DBROWCHANGEKIND_DELETE    = DBROWCHANGEKIND_INSERT + 1,
  7166.     DBROWCHANGEKIND_UPDATE    = DBROWCHANGEKIND_DELETE + 1,
  7167.     DBROWCHANGEKIND_COUNT    = DBROWCHANGEKIND_UPDATE + 1
  7168.     };
  7169. typedef struct  tagDBROWWATCHRANGE
  7170.     {
  7171.     HWATCHREGION hRegion;
  7172.     DBROWCHANGEKIND eChangeKind;
  7173.     HROW hRow;
  7174.     ULONG iRow;
  7175.     }    DBROWWATCHCHANGE;
  7176.  
  7177.  
  7178. EXTERN_C const IID IID_IRowsetWatchRegion;
  7179.  
  7180. #if defined(__cplusplus) && !defined(CINTERFACE)
  7181.     
  7182.     interface DECLSPEC_UUID("0c733a45-2a1c-11ce-ade5-00aa0044773d")
  7183.     IRowsetWatchRegion : public IRowsetWatchAll
  7184.     {
  7185.     public:
  7186.         virtual HRESULT STDMETHODCALLTYPE CreateWatchRegion( 
  7187.             /* [in] */ DBWATCHMODE dwWatchMode,
  7188.             /* [out] */ HWATCHREGION __RPC_FAR *phRegion) = 0;
  7189.         
  7190.         virtual HRESULT STDMETHODCALLTYPE ChangeWatchMode( 
  7191.             /* [in] */ HWATCHREGION hRegion,
  7192.             /* [in] */ DBWATCHMODE dwWatchMode) = 0;
  7193.         
  7194.         virtual HRESULT STDMETHODCALLTYPE DeleteWatchRegion( 
  7195.             /* [in] */ HWATCHREGION hRegion) = 0;
  7196.         
  7197.         virtual HRESULT STDMETHODCALLTYPE GetWatchRegionInfo( 
  7198.             /* [in] */ HWATCHREGION hRegion,
  7199.             /* [out] */ DBWATCHMODE __RPC_FAR *pdwWatchMode,
  7200.             /* [out] */ HCHAPTER __RPC_FAR *phChapter,
  7201.             /* [out][in] */ ULONG __RPC_FAR *pcbBookmark,
  7202.             /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppBookmark,
  7203.             /* [out] */ LONG __RPC_FAR *pcRows) = 0;
  7204.         
  7205.         virtual HRESULT STDMETHODCALLTYPE Refresh( 
  7206.             /* [out][in] */ ULONG __RPC_FAR *pcChangesObtained,
  7207.             /* [size_is][size_is][out] */ DBROWWATCHCHANGE __RPC_FAR *__RPC_FAR *prgChanges) = 0;
  7208.         
  7209.         virtual HRESULT STDMETHODCALLTYPE ShrinkWatchRegion( 
  7210.             /* [in] */ HWATCHREGION hRegion,
  7211.             /* [in] */ HCHAPTER hChapter,
  7212.             /* [in] */ ULONG cbBookmark,
  7213.             /* [size_is][in] */ BYTE __RPC_FAR *pBookmark,
  7214.             /* [in] */ LONG cRows) = 0;
  7215.         
  7216.     };
  7217.     
  7218. #else     /* C style interface */
  7219.  
  7220.     typedef struct IRowsetWatchRegionVtbl
  7221.     {
  7222.         BEGIN_INTERFACE
  7223.         
  7224.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7225.             IRowsetWatchRegion __RPC_FAR * This,
  7226.             /* [in] */ REFIID riid,
  7227.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7228.         
  7229.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7230.             IRowsetWatchRegion __RPC_FAR * This);
  7231.         
  7232.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7233.             IRowsetWatchRegion __RPC_FAR * This);
  7234.         
  7235.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Acknowledge )( 
  7236.             IRowsetWatchRegion __RPC_FAR * This);
  7237.         
  7238.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Start )( 
  7239.             IRowsetWatchRegion __RPC_FAR * This);
  7240.         
  7241.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StopWatching )( 
  7242.             IRowsetWatchRegion __RPC_FAR * This);
  7243.         
  7244.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateWatchRegion )( 
  7245.             IRowsetWatchRegion __RPC_FAR * This,
  7246.             /* [in] */ DBWATCHMODE dwWatchMode,
  7247.             /* [out] */ HWATCHREGION __RPC_FAR *phRegion);
  7248.         
  7249.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ChangeWatchMode )( 
  7250.             IRowsetWatchRegion __RPC_FAR * This,
  7251.             /* [in] */ HWATCHREGION hRegion,
  7252.             /* [in] */ DBWATCHMODE dwWatchMode);
  7253.         
  7254.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteWatchRegion )( 
  7255.             IRowsetWatchRegion __RPC_FAR * This,
  7256.             /* [in] */ HWATCHREGION hRegion);
  7257.         
  7258.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetWatchRegionInfo )( 
  7259.             IRowsetWatchRegion __RPC_FAR * This,
  7260.             /* [in] */ HWATCHREGION hRegion,
  7261.             /* [out] */ DBWATCHMODE __RPC_FAR *pdwWatchMode,
  7262.             /* [out] */ HCHAPTER __RPC_FAR *phChapter,
  7263.             /* [out][in] */ ULONG __RPC_FAR *pcbBookmark,
  7264.             /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppBookmark,
  7265.             /* [out] */ LONG __RPC_FAR *pcRows);
  7266.         
  7267.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  7268.             IRowsetWatchRegion __RPC_FAR * This,
  7269.             /* [out][in] */ ULONG __RPC_FAR *pcChangesObtained,
  7270.             /* [size_is][size_is][out] */ DBROWWATCHCHANGE __RPC_FAR *__RPC_FAR *prgChanges);
  7271.         
  7272.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShrinkWatchRegion )( 
  7273.             IRowsetWatchRegion __RPC_FAR * This,
  7274.             /* [in] */ HWATCHREGION hRegion,
  7275.             /* [in] */ HCHAPTER hChapter,
  7276.             /* [in] */ ULONG cbBookmark,
  7277.             /* [size_is][in] */ BYTE __RPC_FAR *pBookmark,
  7278.             /* [in] */ LONG cRows);
  7279.         
  7280.         END_INTERFACE
  7281.     } IRowsetWatchRegionVtbl;
  7282.  
  7283.     interface IRowsetWatchRegion
  7284.     {
  7285.         CONST_VTBL struct IRowsetWatchRegionVtbl __RPC_FAR *lpVtbl;
  7286.     };
  7287.  
  7288.     
  7289.  
  7290. #ifdef COBJMACROS
  7291.  
  7292.  
  7293. #define IRowsetWatchRegion_QueryInterface(This,riid,ppvObject)    \
  7294.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7295.  
  7296. #define IRowsetWatchRegion_AddRef(This)    \
  7297.     (This)->lpVtbl -> AddRef(This)
  7298.  
  7299. #define IRowsetWatchRegion_Release(This)    \
  7300.     (This)->lpVtbl -> Release(This)
  7301.  
  7302.  
  7303. #define IRowsetWatchRegion_Acknowledge(This)    \
  7304.     (This)->lpVtbl -> Acknowledge(This)
  7305.  
  7306. #define IRowsetWatchRegion_Start(This)    \
  7307.     (This)->lpVtbl -> Start(This)
  7308.  
  7309. #define IRowsetWatchRegion_StopWatching(This)    \
  7310.     (This)->lpVtbl -> StopWatching(This)
  7311.  
  7312.  
  7313. #define IRowsetWatchRegion_CreateWatchRegion(This,dwWatchMode,phRegion)    \
  7314.     (This)->lpVtbl -> CreateWatchRegion(This,dwWatchMode,phRegion)
  7315.  
  7316. #define IRowsetWatchRegion_ChangeWatchMode(This,hRegion,dwWatchMode)    \
  7317.     (This)->lpVtbl -> ChangeWatchMode(This,hRegion,dwWatchMode)
  7318.  
  7319. #define IRowsetWatchRegion_DeleteWatchRegion(This,hRegion)    \
  7320.     (This)->lpVtbl -> DeleteWatchRegion(This,hRegion)
  7321.  
  7322. #define IRowsetWatchRegion_GetWatchRegionInfo(This,hRegion,pdwWatchMode,phChapter,pcbBookmark,ppBookmark,pcRows)    \
  7323.     (This)->lpVtbl -> GetWatchRegionInfo(This,hRegion,pdwWatchMode,phChapter,pcbBookmark,ppBookmark,pcRows)
  7324.  
  7325. #define IRowsetWatchRegion_Refresh(This,pcChangesObtained,prgChanges)    \
  7326.     (This)->lpVtbl -> Refresh(This,pcChangesObtained,prgChanges)
  7327.  
  7328. #define IRowsetWatchRegion_ShrinkWatchRegion(This,hRegion,hChapter,cbBookmark,pBookmark,cRows)    \
  7329.     (This)->lpVtbl -> ShrinkWatchRegion(This,hRegion,hChapter,cbBookmark,pBookmark,cRows)
  7330.  
  7331. #endif /* COBJMACROS */
  7332.  
  7333.  
  7334. #endif     /* C style interface */
  7335.  
  7336.  
  7337.  
  7338. HRESULT STDMETHODCALLTYPE IRowsetWatchRegion_CreateWatchRegion_Proxy( 
  7339.     IRowsetWatchRegion __RPC_FAR * This,
  7340.     /* [in] */ DBWATCHMODE dwWatchMode,
  7341.     /* [out] */ HWATCHREGION __RPC_FAR *phRegion);
  7342.  
  7343.  
  7344. void __RPC_STUB IRowsetWatchRegion_CreateWatchRegion_Stub(
  7345.     IRpcStubBuffer *This,
  7346.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7347.     PRPC_MESSAGE _pRpcMessage,
  7348.     DWORD *_pdwStubPhase);
  7349.  
  7350.  
  7351. HRESULT STDMETHODCALLTYPE IRowsetWatchRegion_ChangeWatchMode_Proxy( 
  7352.     IRowsetWatchRegion __RPC_FAR * This,
  7353.     /* [in] */ HWATCHREGION hRegion,
  7354.     /* [in] */ DBWATCHMODE dwWatchMode);
  7355.  
  7356.  
  7357. void __RPC_STUB IRowsetWatchRegion_ChangeWatchMode_Stub(
  7358.     IRpcStubBuffer *This,
  7359.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7360.     PRPC_MESSAGE _pRpcMessage,
  7361.     DWORD *_pdwStubPhase);
  7362.  
  7363.  
  7364. HRESULT STDMETHODCALLTYPE IRowsetWatchRegion_DeleteWatchRegion_Proxy( 
  7365.     IRowsetWatchRegion __RPC_FAR * This,
  7366.     /* [in] */ HWATCHREGION hRegion);
  7367.  
  7368.  
  7369. void __RPC_STUB IRowsetWatchRegion_DeleteWatchRegion_Stub(
  7370.     IRpcStubBuffer *This,
  7371.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7372.     PRPC_MESSAGE _pRpcMessage,
  7373.     DWORD *_pdwStubPhase);
  7374.  
  7375.  
  7376. HRESULT STDMETHODCALLTYPE IRowsetWatchRegion_GetWatchRegionInfo_Proxy( 
  7377.     IRowsetWatchRegion __RPC_FAR * This,
  7378.     /* [in] */ HWATCHREGION hRegion,
  7379.     /* [out] */ DBWATCHMODE __RPC_FAR *pdwWatchMode,
  7380.     /* [out] */ HCHAPTER __RPC_FAR *phChapter,
  7381.     /* [out][in] */ ULONG __RPC_FAR *pcbBookmark,
  7382.     /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppBookmark,
  7383.     /* [out] */ LONG __RPC_FAR *pcRows);
  7384.  
  7385.  
  7386. void __RPC_STUB IRowsetWatchRegion_GetWatchRegionInfo_Stub(
  7387.     IRpcStubBuffer *This,
  7388.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7389.     PRPC_MESSAGE _pRpcMessage,
  7390.     DWORD *_pdwStubPhase);
  7391.  
  7392.  
  7393. HRESULT STDMETHODCALLTYPE IRowsetWatchRegion_Refresh_Proxy( 
  7394.     IRowsetWatchRegion __RPC_FAR * This,
  7395.     /* [out][in] */ ULONG __RPC_FAR *pcChangesObtained,
  7396.     /* [size_is][size_is][out] */ DBROWWATCHCHANGE __RPC_FAR *__RPC_FAR *prgChanges);
  7397.  
  7398.  
  7399. void __RPC_STUB IRowsetWatchRegion_Refresh_Stub(
  7400.     IRpcStubBuffer *This,
  7401.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7402.     PRPC_MESSAGE _pRpcMessage,
  7403.     DWORD *_pdwStubPhase);
  7404.  
  7405.  
  7406. HRESULT STDMETHODCALLTYPE IRowsetWatchRegion_ShrinkWatchRegion_Proxy( 
  7407.     IRowsetWatchRegion __RPC_FAR * This,
  7408.     /* [in] */ HWATCHREGION hRegion,
  7409.     /* [in] */ HCHAPTER hChapter,
  7410.     /* [in] */ ULONG cbBookmark,
  7411.     /* [size_is][in] */ BYTE __RPC_FAR *pBookmark,
  7412.     /* [in] */ LONG cRows);
  7413.  
  7414.  
  7415. void __RPC_STUB IRowsetWatchRegion_ShrinkWatchRegion_Stub(
  7416.     IRpcStubBuffer *This,
  7417.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7418.     PRPC_MESSAGE _pRpcMessage,
  7419.     DWORD *_pdwStubPhase);
  7420.  
  7421.  
  7422.  
  7423. #endif     /* __IRowsetWatchRegion_INTERFACE_DEFINED__ */
  7424.  
  7425.  
  7426. #ifndef __IRowsetCopyRows_INTERFACE_DEFINED__
  7427. #define __IRowsetCopyRows_INTERFACE_DEFINED__
  7428.  
  7429. /****************************************
  7430.  * Generated header for interface: IRowsetCopyRows
  7431.  * at Tue Apr 28 11:55:07 1998
  7432.  * using MIDL 3.01.75
  7433.  ****************************************/
  7434. /* [unique][uuid][object][local] */ 
  7435.  
  7436.  
  7437. typedef WORD HSOURCE;
  7438.  
  7439.  
  7440. EXTERN_C const IID IID_IRowsetCopyRows;
  7441.  
  7442. #if defined(__cplusplus) && !defined(CINTERFACE)
  7443.     
  7444.     interface DECLSPEC_UUID("0c733a6b-2a1c-11ce-ade5-00aa0044773d")
  7445.     IRowsetCopyRows : public IUnknown
  7446.     {
  7447.     public:
  7448.         virtual HRESULT STDMETHODCALLTYPE CloseSource( 
  7449.             /* [in] */ HSOURCE hSourceID) = 0;
  7450.         
  7451.         virtual HRESULT STDMETHODCALLTYPE CopyByHROWS( 
  7452.             /* [in] */ HSOURCE hSourceID,
  7453.             /* [in] */ HCHAPTER hReserved,
  7454.             /* [in] */ LONG cRows,
  7455.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  7456.             /* [in] */ ULONG bFlags) = 0;
  7457.         
  7458.         virtual HRESULT STDMETHODCALLTYPE CopyRows( 
  7459.             /* [in] */ HSOURCE hSourceID,
  7460.             /* [in] */ HCHAPTER hReserved,
  7461.             /* [in] */ LONG cRows,
  7462.             /* [in] */ ULONG bFlags,
  7463.             /* [out] */ ULONG __RPC_FAR *pcRowsCopied) = 0;
  7464.         
  7465.         virtual HRESULT STDMETHODCALLTYPE DefineSource( 
  7466.             /* [in] */ const IRowset __RPC_FAR *pRowsetSource,
  7467.             /* [in] */ const ULONG cColIds,
  7468.             /* [size_is][in] */ const LONG __RPC_FAR rgSourceColumns[  ],
  7469.             /* [size_is][in] */ const LONG __RPC_FAR rgTargetColumns[  ],
  7470.             /* [out] */ HSOURCE __RPC_FAR *phSourceID) = 0;
  7471.         
  7472.     };
  7473.     
  7474. #else     /* C style interface */
  7475.  
  7476.     typedef struct IRowsetCopyRowsVtbl
  7477.     {
  7478.         BEGIN_INTERFACE
  7479.         
  7480.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7481.             IRowsetCopyRows __RPC_FAR * This,
  7482.             /* [in] */ REFIID riid,
  7483.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7484.         
  7485.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7486.             IRowsetCopyRows __RPC_FAR * This);
  7487.         
  7488.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7489.             IRowsetCopyRows __RPC_FAR * This);
  7490.         
  7491.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseSource )( 
  7492.             IRowsetCopyRows __RPC_FAR * This,
  7493.             /* [in] */ HSOURCE hSourceID);
  7494.         
  7495.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopyByHROWS )( 
  7496.             IRowsetCopyRows __RPC_FAR * This,
  7497.             /* [in] */ HSOURCE hSourceID,
  7498.             /* [in] */ HCHAPTER hReserved,
  7499.             /* [in] */ LONG cRows,
  7500.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  7501.             /* [in] */ ULONG bFlags);
  7502.         
  7503.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopyRows )( 
  7504.             IRowsetCopyRows __RPC_FAR * This,
  7505.             /* [in] */ HSOURCE hSourceID,
  7506.             /* [in] */ HCHAPTER hReserved,
  7507.             /* [in] */ LONG cRows,
  7508.             /* [in] */ ULONG bFlags,
  7509.             /* [out] */ ULONG __RPC_FAR *pcRowsCopied);
  7510.         
  7511.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DefineSource )( 
  7512.             IRowsetCopyRows __RPC_FAR * This,
  7513.             /* [in] */ const IRowset __RPC_FAR *pRowsetSource,
  7514.             /* [in] */ const ULONG cColIds,
  7515.             /* [size_is][in] */ const LONG __RPC_FAR rgSourceColumns[  ],
  7516.             /* [size_is][in] */ const LONG __RPC_FAR rgTargetColumns[  ],
  7517.             /* [out] */ HSOURCE __RPC_FAR *phSourceID);
  7518.         
  7519.         END_INTERFACE
  7520.     } IRowsetCopyRowsVtbl;
  7521.  
  7522.     interface IRowsetCopyRows
  7523.     {
  7524.         CONST_VTBL struct IRowsetCopyRowsVtbl __RPC_FAR *lpVtbl;
  7525.     };
  7526.  
  7527.     
  7528.  
  7529. #ifdef COBJMACROS
  7530.  
  7531.  
  7532. #define IRowsetCopyRows_QueryInterface(This,riid,ppvObject)    \
  7533.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7534.  
  7535. #define IRowsetCopyRows_AddRef(This)    \
  7536.     (This)->lpVtbl -> AddRef(This)
  7537.  
  7538. #define IRowsetCopyRows_Release(This)    \
  7539.     (This)->lpVtbl -> Release(This)
  7540.  
  7541.  
  7542. #define IRowsetCopyRows_CloseSource(This,hSourceID)    \
  7543.     (This)->lpVtbl -> CloseSource(This,hSourceID)
  7544.  
  7545. #define IRowsetCopyRows_CopyByHROWS(This,hSourceID,hReserved,cRows,rghRows,bFlags)    \
  7546.     (This)->lpVtbl -> CopyByHROWS(This,hSourceID,hReserved,cRows,rghRows,bFlags)
  7547.  
  7548. #define IRowsetCopyRows_CopyRows(This,hSourceID,hReserved,cRows,bFlags,pcRowsCopied)    \
  7549.     (This)->lpVtbl -> CopyRows(This,hSourceID,hReserved,cRows,bFlags,pcRowsCopied)
  7550.  
  7551. #define IRowsetCopyRows_DefineSource(This,pRowsetSource,cColIds,rgSourceColumns,rgTargetColumns,phSourceID)    \
  7552.     (This)->lpVtbl -> DefineSource(This,pRowsetSource,cColIds,rgSourceColumns,rgTargetColumns,phSourceID)
  7553.  
  7554. #endif /* COBJMACROS */
  7555.  
  7556.  
  7557. #endif     /* C style interface */
  7558.  
  7559.  
  7560.  
  7561. HRESULT STDMETHODCALLTYPE IRowsetCopyRows_CloseSource_Proxy( 
  7562.     IRowsetCopyRows __RPC_FAR * This,
  7563.     /* [in] */ HSOURCE hSourceID);
  7564.  
  7565.  
  7566. void __RPC_STUB IRowsetCopyRows_CloseSource_Stub(
  7567.     IRpcStubBuffer *This,
  7568.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7569.     PRPC_MESSAGE _pRpcMessage,
  7570.     DWORD *_pdwStubPhase);
  7571.  
  7572.  
  7573. HRESULT STDMETHODCALLTYPE IRowsetCopyRows_CopyByHROWS_Proxy( 
  7574.     IRowsetCopyRows __RPC_FAR * This,
  7575.     /* [in] */ HSOURCE hSourceID,
  7576.     /* [in] */ HCHAPTER hReserved,
  7577.     /* [in] */ LONG cRows,
  7578.     /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  7579.     /* [in] */ ULONG bFlags);
  7580.  
  7581.  
  7582. void __RPC_STUB IRowsetCopyRows_CopyByHROWS_Stub(
  7583.     IRpcStubBuffer *This,
  7584.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7585.     PRPC_MESSAGE _pRpcMessage,
  7586.     DWORD *_pdwStubPhase);
  7587.  
  7588.  
  7589. HRESULT STDMETHODCALLTYPE IRowsetCopyRows_CopyRows_Proxy( 
  7590.     IRowsetCopyRows __RPC_FAR * This,
  7591.     /* [in] */ HSOURCE hSourceID,
  7592.     /* [in] */ HCHAPTER hReserved,
  7593.     /* [in] */ LONG cRows,
  7594.     /* [in] */ ULONG bFlags,
  7595.     /* [out] */ ULONG __RPC_FAR *pcRowsCopied);
  7596.  
  7597.  
  7598. void __RPC_STUB IRowsetCopyRows_CopyRows_Stub(
  7599.     IRpcStubBuffer *This,
  7600.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7601.     PRPC_MESSAGE _pRpcMessage,
  7602.     DWORD *_pdwStubPhase);
  7603.  
  7604.  
  7605. HRESULT STDMETHODCALLTYPE IRowsetCopyRows_DefineSource_Proxy( 
  7606.     IRowsetCopyRows __RPC_FAR * This,
  7607.     /* [in] */ const IRowset __RPC_FAR *pRowsetSource,
  7608.     /* [in] */ const ULONG cColIds,
  7609.     /* [size_is][in] */ const LONG __RPC_FAR rgSourceColumns[  ],
  7610.     /* [size_is][in] */ const LONG __RPC_FAR rgTargetColumns[  ],
  7611.     /* [out] */ HSOURCE __RPC_FAR *phSourceID);
  7612.  
  7613.  
  7614. void __RPC_STUB IRowsetCopyRows_DefineSource_Stub(
  7615.     IRpcStubBuffer *This,
  7616.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7617.     PRPC_MESSAGE _pRpcMessage,
  7618.     DWORD *_pdwStubPhase);
  7619.  
  7620.  
  7621.  
  7622. #endif     /* __IRowsetCopyRows_INTERFACE_DEFINED__ */
  7623.  
  7624.  
  7625. #ifndef __IReadData_INTERFACE_DEFINED__
  7626. #define __IReadData_INTERFACE_DEFINED__
  7627.  
  7628. /****************************************
  7629.  * Generated header for interface: IReadData
  7630.  * at Tue Apr 28 11:55:07 1998
  7631.  * using MIDL 3.01.75
  7632.  ****************************************/
  7633. /* [unique][uuid][object][local] */ 
  7634.  
  7635.  
  7636.  
  7637. EXTERN_C const IID IID_IReadData;
  7638.  
  7639. #if defined(__cplusplus) && !defined(CINTERFACE)
  7640.     
  7641.     interface DECLSPEC_UUID("0c733a6a-2a1c-11ce-ade5-00aa0044773d")
  7642.     IReadData : public IUnknown
  7643.     {
  7644.     public:
  7645.         virtual HRESULT STDMETHODCALLTYPE ReadData( 
  7646.             /* [in] */ HCHAPTER hChapter,
  7647.             /* [in] */ ULONG cbBookmark,
  7648.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  7649.             /* [in] */ LONG lRowsOffset,
  7650.             /* [in] */ HACCESSOR hAccessor,
  7651.             /* [in] */ LONG cRows,
  7652.             /* [out] */ ULONG __RPC_FAR *pcRowsObtained,
  7653.             /* [out][in] */ BYTE __RPC_FAR *__RPC_FAR *ppFixedData,
  7654.             /* [out][in] */ ULONG __RPC_FAR *pcbVariableTotal,
  7655.             /* [out][in] */ BYTE __RPC_FAR *__RPC_FAR *ppVariableData) = 0;
  7656.         
  7657.         virtual HRESULT STDMETHODCALLTYPE ReleaseChapter( 
  7658.             /* [in] */ HCHAPTER hChapter) = 0;
  7659.         
  7660.     };
  7661.     
  7662. #else     /* C style interface */
  7663.  
  7664.     typedef struct IReadDataVtbl
  7665.     {
  7666.         BEGIN_INTERFACE
  7667.         
  7668.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7669.             IReadData __RPC_FAR * This,
  7670.             /* [in] */ REFIID riid,
  7671.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7672.         
  7673.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7674.             IReadData __RPC_FAR * This);
  7675.         
  7676.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7677.             IReadData __RPC_FAR * This);
  7678.         
  7679.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReadData )( 
  7680.             IReadData __RPC_FAR * This,
  7681.             /* [in] */ HCHAPTER hChapter,
  7682.             /* [in] */ ULONG cbBookmark,
  7683.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  7684.             /* [in] */ LONG lRowsOffset,
  7685.             /* [in] */ HACCESSOR hAccessor,
  7686.             /* [in] */ LONG cRows,
  7687.             /* [out] */ ULONG __RPC_FAR *pcRowsObtained,
  7688.             /* [out][in] */ BYTE __RPC_FAR *__RPC_FAR *ppFixedData,
  7689.             /* [out][in] */ ULONG __RPC_FAR *pcbVariableTotal,
  7690.             /* [out][in] */ BYTE __RPC_FAR *__RPC_FAR *ppVariableData);
  7691.         
  7692.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseChapter )( 
  7693.             IReadData __RPC_FAR * This,
  7694.             /* [in] */ HCHAPTER hChapter);
  7695.         
  7696.         END_INTERFACE
  7697.     } IReadDataVtbl;
  7698.  
  7699.     interface IReadData
  7700.     {
  7701.         CONST_VTBL struct IReadDataVtbl __RPC_FAR *lpVtbl;
  7702.     };
  7703.  
  7704.     
  7705.  
  7706. #ifdef COBJMACROS
  7707.  
  7708.  
  7709. #define IReadData_QueryInterface(This,riid,ppvObject)    \
  7710.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7711.  
  7712. #define IReadData_AddRef(This)    \
  7713.     (This)->lpVtbl -> AddRef(This)
  7714.  
  7715. #define IReadData_Release(This)    \
  7716.     (This)->lpVtbl -> Release(This)
  7717.  
  7718.  
  7719. #define IReadData_ReadData(This,hChapter,cbBookmark,pBookmark,lRowsOffset,hAccessor,cRows,pcRowsObtained,ppFixedData,pcbVariableTotal,ppVariableData)    \
  7720.     (This)->lpVtbl -> ReadData(This,hChapter,cbBookmark,pBookmark,lRowsOffset,hAccessor,cRows,pcRowsObtained,ppFixedData,pcbVariableTotal,ppVariableData)
  7721.  
  7722. #define IReadData_ReleaseChapter(This,hChapter)    \
  7723.     (This)->lpVtbl -> ReleaseChapter(This,hChapter)
  7724.  
  7725. #endif /* COBJMACROS */
  7726.  
  7727.  
  7728. #endif     /* C style interface */
  7729.  
  7730.  
  7731.  
  7732. HRESULT STDMETHODCALLTYPE IReadData_ReadData_Proxy( 
  7733.     IReadData __RPC_FAR * This,
  7734.     /* [in] */ HCHAPTER hChapter,
  7735.     /* [in] */ ULONG cbBookmark,
  7736.     /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  7737.     /* [in] */ LONG lRowsOffset,
  7738.     /* [in] */ HACCESSOR hAccessor,
  7739.     /* [in] */ LONG cRows,
  7740.     /* [out] */ ULONG __RPC_FAR *pcRowsObtained,
  7741.     /* [out][in] */ BYTE __RPC_FAR *__RPC_FAR *ppFixedData,
  7742.     /* [out][in] */ ULONG __RPC_FAR *pcbVariableTotal,
  7743.     /* [out][in] */ BYTE __RPC_FAR *__RPC_FAR *ppVariableData);
  7744.  
  7745.  
  7746. void __RPC_STUB IReadData_ReadData_Stub(
  7747.     IRpcStubBuffer *This,
  7748.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7749.     PRPC_MESSAGE _pRpcMessage,
  7750.     DWORD *_pdwStubPhase);
  7751.  
  7752.  
  7753. HRESULT STDMETHODCALLTYPE IReadData_ReleaseChapter_Proxy( 
  7754.     IReadData __RPC_FAR * This,
  7755.     /* [in] */ HCHAPTER hChapter);
  7756.  
  7757.  
  7758. void __RPC_STUB IReadData_ReleaseChapter_Stub(
  7759.     IRpcStubBuffer *This,
  7760.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7761.     PRPC_MESSAGE _pRpcMessage,
  7762.     DWORD *_pdwStubPhase);
  7763.  
  7764.  
  7765.  
  7766. #endif     /* __IReadData_INTERFACE_DEFINED__ */
  7767.  
  7768.  
  7769. /****************************************
  7770.  * Generated header for interface: __MIDL_itf_oledb_0103
  7771.  * at Tue Apr 28 11:55:07 1998
  7772.  * using MIDL 3.01.75
  7773.  ****************************************/
  7774. /* [local] */ 
  7775.  
  7776.  
  7777. #endif // OLEDBVER >= 0x0250
  7778. //@@@- V2.5
  7779.  
  7780.  
  7781. extern RPC_IF_HANDLE __MIDL_itf_oledb_0103_v0_0_c_ifspec;
  7782. extern RPC_IF_HANDLE __MIDL_itf_oledb_0103_v0_0_s_ifspec;
  7783.  
  7784. #ifndef __ICommand_INTERFACE_DEFINED__
  7785. #define __ICommand_INTERFACE_DEFINED__
  7786.  
  7787. /****************************************
  7788.  * Generated header for interface: ICommand
  7789.  * at Tue Apr 28 11:55:07 1998
  7790.  * using MIDL 3.01.75
  7791.  ****************************************/
  7792. /* [unique][uuid][object] */ 
  7793.  
  7794.  
  7795.  
  7796. EXTERN_C const IID IID_ICommand;
  7797.  
  7798. #if defined(__cplusplus) && !defined(CINTERFACE)
  7799.     
  7800.     interface DECLSPEC_UUID("0c733a63-2a1c-11ce-ade5-00aa0044773d")
  7801.     ICommand : public IUnknown
  7802.     {
  7803.     public:
  7804.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  7805.         
  7806.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Execute( 
  7807.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  7808.             /* [in] */ REFIID riid,
  7809.             /* [out][in] */ DBPARAMS __RPC_FAR *pParams,
  7810.             /* [out] */ LONG __RPC_FAR *pcRowsAffected,
  7811.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  7812.         
  7813.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDBSession( 
  7814.             /* [in] */ REFIID riid,
  7815.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession) = 0;
  7816.         
  7817.     };
  7818.     
  7819. #else     /* C style interface */
  7820.  
  7821.     typedef struct ICommandVtbl
  7822.     {
  7823.         BEGIN_INTERFACE
  7824.         
  7825.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7826.             ICommand __RPC_FAR * This,
  7827.             /* [in] */ REFIID riid,
  7828.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7829.         
  7830.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7831.             ICommand __RPC_FAR * This);
  7832.         
  7833.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7834.             ICommand __RPC_FAR * This);
  7835.         
  7836.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Cancel )( 
  7837.             ICommand __RPC_FAR * This);
  7838.         
  7839.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Execute )( 
  7840.             ICommand __RPC_FAR * This,
  7841.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  7842.             /* [in] */ REFIID riid,
  7843.             /* [out][in] */ DBPARAMS __RPC_FAR *pParams,
  7844.             /* [out] */ LONG __RPC_FAR *pcRowsAffected,
  7845.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  7846.         
  7847.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDBSession )( 
  7848.             ICommand __RPC_FAR * This,
  7849.             /* [in] */ REFIID riid,
  7850.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession);
  7851.         
  7852.         END_INTERFACE
  7853.     } ICommandVtbl;
  7854.  
  7855.     interface ICommand
  7856.     {
  7857.         CONST_VTBL struct ICommandVtbl __RPC_FAR *lpVtbl;
  7858.     };
  7859.  
  7860.     
  7861.  
  7862. #ifdef COBJMACROS
  7863.  
  7864.  
  7865. #define ICommand_QueryInterface(This,riid,ppvObject)    \
  7866.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7867.  
  7868. #define ICommand_AddRef(This)    \
  7869.     (This)->lpVtbl -> AddRef(This)
  7870.  
  7871. #define ICommand_Release(This)    \
  7872.     (This)->lpVtbl -> Release(This)
  7873.  
  7874.  
  7875. #define ICommand_Cancel(This)    \
  7876.     (This)->lpVtbl -> Cancel(This)
  7877.  
  7878. #define ICommand_Execute(This,pUnkOuter,riid,pParams,pcRowsAffected,ppRowset)    \
  7879.     (This)->lpVtbl -> Execute(This,pUnkOuter,riid,pParams,pcRowsAffected,ppRowset)
  7880.  
  7881. #define ICommand_GetDBSession(This,riid,ppSession)    \
  7882.     (This)->lpVtbl -> GetDBSession(This,riid,ppSession)
  7883.  
  7884. #endif /* COBJMACROS */
  7885.  
  7886.  
  7887. #endif     /* C style interface */
  7888.  
  7889.  
  7890.  
  7891. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommand_RemoteCancel_Proxy( 
  7892.     ICommand __RPC_FAR * This,
  7893.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  7894.  
  7895.  
  7896. void __RPC_STUB ICommand_RemoteCancel_Stub(
  7897.     IRpcStubBuffer *This,
  7898.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7899.     PRPC_MESSAGE _pRpcMessage,
  7900.     DWORD *_pdwStubPhase);
  7901.  
  7902.  
  7903. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommand_RemoteExecute_Proxy( 
  7904.     ICommand __RPC_FAR * This,
  7905.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  7906.     /* [in] */ REFIID riid,
  7907.     /* [in] */ HACCESSOR hAccessor,
  7908.     /* [in] */ ULONG cParamSets,
  7909.     /* [in] */ ULONG cbData,
  7910.     /* [size_is][unique][out][in] */ BYTE __RPC_FAR *pbData,
  7911.     /* [unique][out][in] */ LONG __RPC_FAR *pcRowsAffected,
  7912.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  7913.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  7914.  
  7915.  
  7916. void __RPC_STUB ICommand_RemoteExecute_Stub(
  7917.     IRpcStubBuffer *This,
  7918.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7919.     PRPC_MESSAGE _pRpcMessage,
  7920.     DWORD *_pdwStubPhase);
  7921.  
  7922.  
  7923. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommand_RemoteGetDBSession_Proxy( 
  7924.     ICommand __RPC_FAR * This,
  7925.     /* [in] */ REFIID riid,
  7926.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession,
  7927.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  7928.  
  7929.  
  7930. void __RPC_STUB ICommand_RemoteGetDBSession_Stub(
  7931.     IRpcStubBuffer *This,
  7932.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7933.     PRPC_MESSAGE _pRpcMessage,
  7934.     DWORD *_pdwStubPhase);
  7935.  
  7936.  
  7937.  
  7938. #endif     /* __ICommand_INTERFACE_DEFINED__ */
  7939.  
  7940.  
  7941. #ifndef __IMultipleResults_INTERFACE_DEFINED__
  7942. #define __IMultipleResults_INTERFACE_DEFINED__
  7943.  
  7944. /****************************************
  7945.  * Generated header for interface: IMultipleResults
  7946.  * at Tue Apr 28 11:55:07 1998
  7947.  * using MIDL 3.01.75
  7948.  ****************************************/
  7949. /* [unique][uuid][object] */ 
  7950.  
  7951.  
  7952.  
  7953. EXTERN_C const IID IID_IMultipleResults;
  7954.  
  7955. #if defined(__cplusplus) && !defined(CINTERFACE)
  7956.     
  7957.     interface DECLSPEC_UUID("0c733a90-2a1c-11ce-ade5-00aa0044773d")
  7958.     IMultipleResults : public IUnknown
  7959.     {
  7960.     public:
  7961.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetResult( 
  7962.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  7963.             /* [in] */ LONG reserved,
  7964.             /* [in] */ REFIID riid,
  7965.             /* [out] */ LONG __RPC_FAR *pcRowsAffected,
  7966.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  7967.         
  7968.     };
  7969.     
  7970. #else     /* C style interface */
  7971.  
  7972.     typedef struct IMultipleResultsVtbl
  7973.     {
  7974.         BEGIN_INTERFACE
  7975.         
  7976.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7977.             IMultipleResults __RPC_FAR * This,
  7978.             /* [in] */ REFIID riid,
  7979.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7980.         
  7981.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7982.             IMultipleResults __RPC_FAR * This);
  7983.         
  7984.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7985.             IMultipleResults __RPC_FAR * This);
  7986.         
  7987.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetResult )( 
  7988.             IMultipleResults __RPC_FAR * This,
  7989.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  7990.             /* [in] */ LONG reserved,
  7991.             /* [in] */ REFIID riid,
  7992.             /* [out] */ LONG __RPC_FAR *pcRowsAffected,
  7993.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  7994.         
  7995.         END_INTERFACE
  7996.     } IMultipleResultsVtbl;
  7997.  
  7998.     interface IMultipleResults
  7999.     {
  8000.         CONST_VTBL struct IMultipleResultsVtbl __RPC_FAR *lpVtbl;
  8001.     };
  8002.  
  8003.     
  8004.  
  8005. #ifdef COBJMACROS
  8006.  
  8007.  
  8008. #define IMultipleResults_QueryInterface(This,riid,ppvObject)    \
  8009.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8010.  
  8011. #define IMultipleResults_AddRef(This)    \
  8012.     (This)->lpVtbl -> AddRef(This)
  8013.  
  8014. #define IMultipleResults_Release(This)    \
  8015.     (This)->lpVtbl -> Release(This)
  8016.  
  8017.  
  8018. #define IMultipleResults_GetResult(This,pUnkOuter,reserved,riid,pcRowsAffected,ppRowset)    \
  8019.     (This)->lpVtbl -> GetResult(This,pUnkOuter,reserved,riid,pcRowsAffected,ppRowset)
  8020.  
  8021. #endif /* COBJMACROS */
  8022.  
  8023.  
  8024. #endif     /* C style interface */
  8025.  
  8026.  
  8027.  
  8028. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMultipleResults_RemoteGetResult_Proxy( 
  8029.     IMultipleResults __RPC_FAR * This,
  8030.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  8031.     /* [in] */ LONG reserved,
  8032.     /* [in] */ REFIID riid,
  8033.     /* [unique][out][in] */ LONG __RPC_FAR *pcRowsAffected,
  8034.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  8035.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  8036.  
  8037.  
  8038. void __RPC_STUB IMultipleResults_RemoteGetResult_Stub(
  8039.     IRpcStubBuffer *This,
  8040.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8041.     PRPC_MESSAGE _pRpcMessage,
  8042.     DWORD *_pdwStubPhase);
  8043.  
  8044.  
  8045.  
  8046. #endif     /* __IMultipleResults_INTERFACE_DEFINED__ */
  8047.  
  8048.  
  8049. #ifndef __IConvertType_INTERFACE_DEFINED__
  8050. #define __IConvertType_INTERFACE_DEFINED__
  8051.  
  8052. /****************************************
  8053.  * Generated header for interface: IConvertType
  8054.  * at Tue Apr 28 11:55:07 1998
  8055.  * using MIDL 3.01.75
  8056.  ****************************************/
  8057. /* [unique][uuid][object] */ 
  8058.  
  8059.  
  8060. typedef DWORD DBCONVERTFLAGS;
  8061.  
  8062.  
  8063. enum DBCONVERTFLAGSENUM
  8064.     {    DBCONVERTFLAGS_COLUMN    = 0,
  8065.     DBCONVERTFLAGS_PARAMETER    = 0x1
  8066.     };
  8067. //@@@+ V2.0
  8068. #if( OLEDBVER >= 0x0200 )
  8069.  
  8070. enum DBCONVERTFLAGSENUM20
  8071.     {    DBCONVERTFLAGS_ISLONG    = 0x2,
  8072.     DBCONVERTFLAGS_ISFIXEDLENGTH    = 0x4,
  8073.     DBCONVERTFLAGS_FROMVARIANT    = 0x8
  8074.     };
  8075. #endif // OLEDBVER >= 0x0200
  8076. //@@@- V2.0
  8077.  
  8078. EXTERN_C const IID IID_IConvertType;
  8079.  
  8080. #if defined(__cplusplus) && !defined(CINTERFACE)
  8081.     
  8082.     interface DECLSPEC_UUID("0c733a88-2a1c-11ce-ade5-00aa0044773d")
  8083.     IConvertType : public IUnknown
  8084.     {
  8085.     public:
  8086.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CanConvert( 
  8087.             /* [in] */ DBTYPE wFromType,
  8088.             /* [in] */ DBTYPE wToType,
  8089.             /* [in] */ DBCONVERTFLAGS dwConvertFlags) = 0;
  8090.         
  8091.     };
  8092.     
  8093. #else     /* C style interface */
  8094.  
  8095.     typedef struct IConvertTypeVtbl
  8096.     {
  8097.         BEGIN_INTERFACE
  8098.         
  8099.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8100.             IConvertType __RPC_FAR * This,
  8101.             /* [in] */ REFIID riid,
  8102.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8103.         
  8104.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8105.             IConvertType __RPC_FAR * This);
  8106.         
  8107.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8108.             IConvertType __RPC_FAR * This);
  8109.         
  8110.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CanConvert )( 
  8111.             IConvertType __RPC_FAR * This,
  8112.             /* [in] */ DBTYPE wFromType,
  8113.             /* [in] */ DBTYPE wToType,
  8114.             /* [in] */ DBCONVERTFLAGS dwConvertFlags);
  8115.         
  8116.         END_INTERFACE
  8117.     } IConvertTypeVtbl;
  8118.  
  8119.     interface IConvertType
  8120.     {
  8121.         CONST_VTBL struct IConvertTypeVtbl __RPC_FAR *lpVtbl;
  8122.     };
  8123.  
  8124.     
  8125.  
  8126. #ifdef COBJMACROS
  8127.  
  8128.  
  8129. #define IConvertType_QueryInterface(This,riid,ppvObject)    \
  8130.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8131.  
  8132. #define IConvertType_AddRef(This)    \
  8133.     (This)->lpVtbl -> AddRef(This)
  8134.  
  8135. #define IConvertType_Release(This)    \
  8136.     (This)->lpVtbl -> Release(This)
  8137.  
  8138.  
  8139. #define IConvertType_CanConvert(This,wFromType,wToType,dwConvertFlags)    \
  8140.     (This)->lpVtbl -> CanConvert(This,wFromType,wToType,dwConvertFlags)
  8141.  
  8142. #endif /* COBJMACROS */
  8143.  
  8144.  
  8145. #endif     /* C style interface */
  8146.  
  8147.  
  8148.  
  8149. /* [call_as] */ HRESULT STDMETHODCALLTYPE IConvertType_RemoteCanConvert_Proxy( 
  8150.     IConvertType __RPC_FAR * This,
  8151.     /* [in] */ DBTYPE wFromType,
  8152.     /* [in] */ DBTYPE wToType,
  8153.     /* [in] */ DBCONVERTFLAGS dwConvertFlags,
  8154.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  8155.  
  8156.  
  8157. void __RPC_STUB IConvertType_RemoteCanConvert_Stub(
  8158.     IRpcStubBuffer *This,
  8159.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8160.     PRPC_MESSAGE _pRpcMessage,
  8161.     DWORD *_pdwStubPhase);
  8162.  
  8163.  
  8164.  
  8165. #endif     /* __IConvertType_INTERFACE_DEFINED__ */
  8166.  
  8167.  
  8168. /****************************************
  8169.  * Generated header for interface: __MIDL_itf_oledb_0106
  8170.  * at Tue Apr 28 11:55:07 1998
  8171.  * using MIDL 3.01.75
  8172.  ****************************************/
  8173. /* [local] */ 
  8174.  
  8175.  
  8176. //@@@+ V2.5
  8177. #if( OLEDBVER >= 0x0250 )
  8178.  
  8179.  
  8180. extern RPC_IF_HANDLE __MIDL_itf_oledb_0106_v0_0_c_ifspec;
  8181. extern RPC_IF_HANDLE __MIDL_itf_oledb_0106_v0_0_s_ifspec;
  8182.  
  8183. #ifndef __ICommandCost_INTERFACE_DEFINED__
  8184. #define __ICommandCost_INTERFACE_DEFINED__
  8185.  
  8186. /****************************************
  8187.  * Generated header for interface: ICommandCost
  8188.  * at Tue Apr 28 11:55:07 1998
  8189.  * using MIDL 3.01.75
  8190.  ****************************************/
  8191. /* [unique][uuid][object][local] */ 
  8192.  
  8193.  
  8194. typedef DWORD DBRESOURCEKIND;
  8195.  
  8196.  
  8197. enum DBRESOURCEKINDENUM
  8198.     {    DBRESOURCE_INVALID    = 0,
  8199.     DBRESOURCE_TOTAL    = 1,
  8200.     DBRESOURCE_CPU    = 2,
  8201.     DBRESOURCE_MEMORY    = 3,
  8202.     DBRESOURCE_DISK    = 4,
  8203.     DBRESOURCE_NETWORK    = 5,
  8204.     DBRESOURCE_RESPONSE    = 6,
  8205.     DBRESOURCE_ROWS    = 7,
  8206.     DBRESOURCE_OTHER    = 8
  8207.     };
  8208. typedef DWORD DBCOSTUNIT;
  8209.  
  8210.  
  8211. enum DBCOSTUNITENUM
  8212.     {    DBUNIT_INVALID    = 0,
  8213.     DBUNIT_WEIGHT    = 0x1,
  8214.     DBUNIT_PERCENT    = 0x2,
  8215.     DBUNIT_MAXIMUM    = 0x4,
  8216.     DBUNIT_MINIMUM    = 0x8,
  8217.     DBUNIT_MICRO_SECOND    = 0x10,
  8218.     DBUNIT_MILLI_SECOND    = 0x20,
  8219.     DBUNIT_SECOND    = 0x40,
  8220.     DBUNIT_MINUTE    = 0x80,
  8221.     DBUNIT_HOUR    = 0x100,
  8222.     DBUNIT_BYTE    = 0x200,
  8223.     DBUNIT_KILO_BYTE    = 0x400,
  8224.     DBUNIT_MEGA_BYTE    = 0x800,
  8225.     DBUNIT_GIGA_BYTE    = 0x1000,
  8226.     DBUNIT_NUM_MSGS    = 0x2000,
  8227.     DBUNIT_NUM_LOCKS    = 0x4000,
  8228.     DBUNIT_NUM_ROWS    = 0x8000,
  8229.     DBUNIT_OTHER    = 0x10000
  8230.     };
  8231. typedef struct  tagDBCOST
  8232.     {
  8233.     DBRESOURCEKIND eKind;
  8234.     DBCOSTUNIT dwUnits;
  8235.     LONG lValue;
  8236.     }    DBCOST;
  8237.  
  8238. typedef DWORD DBEXECLIMITS;
  8239.  
  8240.  
  8241. enum DBEXECLIMITSENUM
  8242.     {    DBEXECLIMITS_ABORT    = 1,
  8243.     DBEXECLIMITS_STOP    = 2,
  8244.     DBEXECLIMITS_SUSPEND    = 3
  8245.     };
  8246.  
  8247. EXTERN_C const IID IID_ICommandCost;
  8248.  
  8249. #if defined(__cplusplus) && !defined(CINTERFACE)
  8250.     
  8251.     interface DECLSPEC_UUID("0c733a4e-2a1c-11ce-ade5-00aa0044773d")
  8252.     ICommandCost : public IUnknown
  8253.     {
  8254.     public:
  8255.         virtual HRESULT STDMETHODCALLTYPE GetAccumulatedCost( 
  8256.             /* [in] */ LPCOLESTR pwszRowsetName,
  8257.             /* [out][in] */ ULONG __RPC_FAR *pcCostLimits,
  8258.             /* [size_is][size_is][out] */ DBCOST __RPC_FAR *__RPC_FAR *prgCostLimits) = 0;
  8259.         
  8260.         virtual HRESULT STDMETHODCALLTYPE GetCostEstimate( 
  8261.             /* [in] */ LPCOLESTR pwszRowsetName,
  8262.             /* [out] */ ULONG __RPC_FAR *pcCostEstimates,
  8263.             /* [out] */ DBCOST __RPC_FAR *prgCostEstimates) = 0;
  8264.         
  8265.         virtual HRESULT STDMETHODCALLTYPE GetCostGoals( 
  8266.             /* [in] */ LPCOLESTR pwszRowsetName,
  8267.             /* [out] */ ULONG __RPC_FAR *pcCostGoals,
  8268.             /* [out] */ DBCOST __RPC_FAR *prgCostGoals) = 0;
  8269.         
  8270.         virtual HRESULT STDMETHODCALLTYPE GetCostLimits( 
  8271.             /* [in] */ LPCOLESTR pwszRowsetName,
  8272.             /* [out] */ ULONG __RPC_FAR *pcCostLimits,
  8273.             /* [out] */ DBCOST __RPC_FAR *prgCostLimits) = 0;
  8274.         
  8275.         virtual HRESULT STDMETHODCALLTYPE SetCostGoals( 
  8276.             /* [in] */ LPCOLESTR pwszRowsetName,
  8277.             /* [in] */ ULONG cCostGoals,
  8278.             /* [size_is][in] */ const DBCOST __RPC_FAR rgCostGoals[  ]) = 0;
  8279.         
  8280.         virtual HRESULT STDMETHODCALLTYPE SetCostLimits( 
  8281.             /* [in] */ LPCOLESTR pwszRowsetName,
  8282.             /* [in] */ ULONG cCostLimits,
  8283.             /* [in] */ DBCOST __RPC_FAR *prgCostLimits,
  8284.             /* [in] */ DBEXECLIMITS dwExecutionFlags) = 0;
  8285.         
  8286.     };
  8287.     
  8288. #else     /* C style interface */
  8289.  
  8290.     typedef struct ICommandCostVtbl
  8291.     {
  8292.         BEGIN_INTERFACE
  8293.         
  8294.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8295.             ICommandCost __RPC_FAR * This,
  8296.             /* [in] */ REFIID riid,
  8297.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8298.         
  8299.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8300.             ICommandCost __RPC_FAR * This);
  8301.         
  8302.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8303.             ICommandCost __RPC_FAR * This);
  8304.         
  8305.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAccumulatedCost )( 
  8306.             ICommandCost __RPC_FAR * This,
  8307.             /* [in] */ LPCOLESTR pwszRowsetName,
  8308.             /* [out][in] */ ULONG __RPC_FAR *pcCostLimits,
  8309.             /* [size_is][size_is][out] */ DBCOST __RPC_FAR *__RPC_FAR *prgCostLimits);
  8310.         
  8311.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCostEstimate )( 
  8312.             ICommandCost __RPC_FAR * This,
  8313.             /* [in] */ LPCOLESTR pwszRowsetName,
  8314.             /* [out] */ ULONG __RPC_FAR *pcCostEstimates,
  8315.             /* [out] */ DBCOST __RPC_FAR *prgCostEstimates);
  8316.         
  8317.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCostGoals )( 
  8318.             ICommandCost __RPC_FAR * This,
  8319.             /* [in] */ LPCOLESTR pwszRowsetName,
  8320.             /* [out] */ ULONG __RPC_FAR *pcCostGoals,
  8321.             /* [out] */ DBCOST __RPC_FAR *prgCostGoals);
  8322.         
  8323.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCostLimits )( 
  8324.             ICommandCost __RPC_FAR * This,
  8325.             /* [in] */ LPCOLESTR pwszRowsetName,
  8326.             /* [out] */ ULONG __RPC_FAR *pcCostLimits,
  8327.             /* [out] */ DBCOST __RPC_FAR *prgCostLimits);
  8328.         
  8329.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCostGoals )( 
  8330.             ICommandCost __RPC_FAR * This,
  8331.             /* [in] */ LPCOLESTR pwszRowsetName,
  8332.             /* [in] */ ULONG cCostGoals,
  8333.             /* [size_is][in] */ const DBCOST __RPC_FAR rgCostGoals[  ]);
  8334.         
  8335.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCostLimits )( 
  8336.             ICommandCost __RPC_FAR * This,
  8337.             /* [in] */ LPCOLESTR pwszRowsetName,
  8338.             /* [in] */ ULONG cCostLimits,
  8339.             /* [in] */ DBCOST __RPC_FAR *prgCostLimits,
  8340.             /* [in] */ DBEXECLIMITS dwExecutionFlags);
  8341.         
  8342.         END_INTERFACE
  8343.     } ICommandCostVtbl;
  8344.  
  8345.     interface ICommandCost
  8346.     {
  8347.         CONST_VTBL struct ICommandCostVtbl __RPC_FAR *lpVtbl;
  8348.     };
  8349.  
  8350.     
  8351.  
  8352. #ifdef COBJMACROS
  8353.  
  8354.  
  8355. #define ICommandCost_QueryInterface(This,riid,ppvObject)    \
  8356.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8357.  
  8358. #define ICommandCost_AddRef(This)    \
  8359.     (This)->lpVtbl -> AddRef(This)
  8360.  
  8361. #define ICommandCost_Release(This)    \
  8362.     (This)->lpVtbl -> Release(This)
  8363.  
  8364.  
  8365. #define ICommandCost_GetAccumulatedCost(This,pwszRowsetName,pcCostLimits,prgCostLimits)    \
  8366.     (This)->lpVtbl -> GetAccumulatedCost(This,pwszRowsetName,pcCostLimits,prgCostLimits)
  8367.  
  8368. #define ICommandCost_GetCostEstimate(This,pwszRowsetName,pcCostEstimates,prgCostEstimates)    \
  8369.     (This)->lpVtbl -> GetCostEstimate(This,pwszRowsetName,pcCostEstimates,prgCostEstimates)
  8370.  
  8371. #define ICommandCost_GetCostGoals(This,pwszRowsetName,pcCostGoals,prgCostGoals)    \
  8372.     (This)->lpVtbl -> GetCostGoals(This,pwszRowsetName,pcCostGoals,prgCostGoals)
  8373.  
  8374. #define ICommandCost_GetCostLimits(This,pwszRowsetName,pcCostLimits,prgCostLimits)    \
  8375.     (This)->lpVtbl -> GetCostLimits(This,pwszRowsetName,pcCostLimits,prgCostLimits)
  8376.  
  8377. #define ICommandCost_SetCostGoals(This,pwszRowsetName,cCostGoals,rgCostGoals)    \
  8378.     (This)->lpVtbl -> SetCostGoals(This,pwszRowsetName,cCostGoals,rgCostGoals)
  8379.  
  8380. #define ICommandCost_SetCostLimits(This,pwszRowsetName,cCostLimits,prgCostLimits,dwExecutionFlags)    \
  8381.     (This)->lpVtbl -> SetCostLimits(This,pwszRowsetName,cCostLimits,prgCostLimits,dwExecutionFlags)
  8382.  
  8383. #endif /* COBJMACROS */
  8384.  
  8385.  
  8386. #endif     /* C style interface */
  8387.  
  8388.  
  8389.  
  8390. HRESULT STDMETHODCALLTYPE ICommandCost_GetAccumulatedCost_Proxy( 
  8391.     ICommandCost __RPC_FAR * This,
  8392.     /* [in] */ LPCOLESTR pwszRowsetName,
  8393.     /* [out][in] */ ULONG __RPC_FAR *pcCostLimits,
  8394.     /* [size_is][size_is][out] */ DBCOST __RPC_FAR *__RPC_FAR *prgCostLimits);
  8395.  
  8396.  
  8397. void __RPC_STUB ICommandCost_GetAccumulatedCost_Stub(
  8398.     IRpcStubBuffer *This,
  8399.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8400.     PRPC_MESSAGE _pRpcMessage,
  8401.     DWORD *_pdwStubPhase);
  8402.  
  8403.  
  8404. HRESULT STDMETHODCALLTYPE ICommandCost_GetCostEstimate_Proxy( 
  8405.     ICommandCost __RPC_FAR * This,
  8406.     /* [in] */ LPCOLESTR pwszRowsetName,
  8407.     /* [out] */ ULONG __RPC_FAR *pcCostEstimates,
  8408.     /* [out] */ DBCOST __RPC_FAR *prgCostEstimates);
  8409.  
  8410.  
  8411. void __RPC_STUB ICommandCost_GetCostEstimate_Stub(
  8412.     IRpcStubBuffer *This,
  8413.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8414.     PRPC_MESSAGE _pRpcMessage,
  8415.     DWORD *_pdwStubPhase);
  8416.  
  8417.  
  8418. HRESULT STDMETHODCALLTYPE ICommandCost_GetCostGoals_Proxy( 
  8419.     ICommandCost __RPC_FAR * This,
  8420.     /* [in] */ LPCOLESTR pwszRowsetName,
  8421.     /* [out] */ ULONG __RPC_FAR *pcCostGoals,
  8422.     /* [out] */ DBCOST __RPC_FAR *prgCostGoals);
  8423.  
  8424.  
  8425. void __RPC_STUB ICommandCost_GetCostGoals_Stub(
  8426.     IRpcStubBuffer *This,
  8427.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8428.     PRPC_MESSAGE _pRpcMessage,
  8429.     DWORD *_pdwStubPhase);
  8430.  
  8431.  
  8432. HRESULT STDMETHODCALLTYPE ICommandCost_GetCostLimits_Proxy( 
  8433.     ICommandCost __RPC_FAR * This,
  8434.     /* [in] */ LPCOLESTR pwszRowsetName,
  8435.     /* [out] */ ULONG __RPC_FAR *pcCostLimits,
  8436.     /* [out] */ DBCOST __RPC_FAR *prgCostLimits);
  8437.  
  8438.  
  8439. void __RPC_STUB ICommandCost_GetCostLimits_Stub(
  8440.     IRpcStubBuffer *This,
  8441.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8442.     PRPC_MESSAGE _pRpcMessage,
  8443.     DWORD *_pdwStubPhase);
  8444.  
  8445.  
  8446. HRESULT STDMETHODCALLTYPE ICommandCost_SetCostGoals_Proxy( 
  8447.     ICommandCost __RPC_FAR * This,
  8448.     /* [in] */ LPCOLESTR pwszRowsetName,
  8449.     /* [in] */ ULONG cCostGoals,
  8450.     /* [size_is][in] */ const DBCOST __RPC_FAR rgCostGoals[  ]);
  8451.  
  8452.  
  8453. void __RPC_STUB ICommandCost_SetCostGoals_Stub(
  8454.     IRpcStubBuffer *This,
  8455.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8456.     PRPC_MESSAGE _pRpcMessage,
  8457.     DWORD *_pdwStubPhase);
  8458.  
  8459.  
  8460. HRESULT STDMETHODCALLTYPE ICommandCost_SetCostLimits_Proxy( 
  8461.     ICommandCost __RPC_FAR * This,
  8462.     /* [in] */ LPCOLESTR pwszRowsetName,
  8463.     /* [in] */ ULONG cCostLimits,
  8464.     /* [in] */ DBCOST __RPC_FAR *prgCostLimits,
  8465.     /* [in] */ DBEXECLIMITS dwExecutionFlags);
  8466.  
  8467.  
  8468. void __RPC_STUB ICommandCost_SetCostLimits_Stub(
  8469.     IRpcStubBuffer *This,
  8470.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8471.     PRPC_MESSAGE _pRpcMessage,
  8472.     DWORD *_pdwStubPhase);
  8473.  
  8474.  
  8475.  
  8476. #endif     /* __ICommandCost_INTERFACE_DEFINED__ */
  8477.  
  8478.  
  8479. /****************************************
  8480.  * Generated header for interface: __MIDL_itf_oledb_0107
  8481.  * at Tue Apr 28 11:55:07 1998
  8482.  * using MIDL 3.01.75
  8483.  ****************************************/
  8484. /* [local] */ 
  8485.  
  8486.  
  8487. #endif // OLEDBVER >= 0x0250
  8488. //@@@- V2.5
  8489.  
  8490.  
  8491. extern RPC_IF_HANDLE __MIDL_itf_oledb_0107_v0_0_c_ifspec;
  8492. extern RPC_IF_HANDLE __MIDL_itf_oledb_0107_v0_0_s_ifspec;
  8493.  
  8494. #ifndef __ICommandPrepare_INTERFACE_DEFINED__
  8495. #define __ICommandPrepare_INTERFACE_DEFINED__
  8496.  
  8497. /****************************************
  8498.  * Generated header for interface: ICommandPrepare
  8499.  * at Tue Apr 28 11:55:07 1998
  8500.  * using MIDL 3.01.75
  8501.  ****************************************/
  8502. /* [unique][uuid][object] */ 
  8503.  
  8504.  
  8505.  
  8506. EXTERN_C const IID IID_ICommandPrepare;
  8507.  
  8508. #if defined(__cplusplus) && !defined(CINTERFACE)
  8509.     
  8510.     interface DECLSPEC_UUID("0c733a26-2a1c-11ce-ade5-00aa0044773d")
  8511.     ICommandPrepare : public IUnknown
  8512.     {
  8513.     public:
  8514.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Prepare( 
  8515.             /* [in] */ ULONG cExpectedRuns) = 0;
  8516.         
  8517.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Unprepare( void) = 0;
  8518.         
  8519.     };
  8520.     
  8521. #else     /* C style interface */
  8522.  
  8523.     typedef struct ICommandPrepareVtbl
  8524.     {
  8525.         BEGIN_INTERFACE
  8526.         
  8527.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8528.             ICommandPrepare __RPC_FAR * This,
  8529.             /* [in] */ REFIID riid,
  8530.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8531.         
  8532.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8533.             ICommandPrepare __RPC_FAR * This);
  8534.         
  8535.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8536.             ICommandPrepare __RPC_FAR * This);
  8537.         
  8538.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Prepare )( 
  8539.             ICommandPrepare __RPC_FAR * This,
  8540.             /* [in] */ ULONG cExpectedRuns);
  8541.         
  8542.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Unprepare )( 
  8543.             ICommandPrepare __RPC_FAR * This);
  8544.         
  8545.         END_INTERFACE
  8546.     } ICommandPrepareVtbl;
  8547.  
  8548.     interface ICommandPrepare
  8549.     {
  8550.         CONST_VTBL struct ICommandPrepareVtbl __RPC_FAR *lpVtbl;
  8551.     };
  8552.  
  8553.     
  8554.  
  8555. #ifdef COBJMACROS
  8556.  
  8557.  
  8558. #define ICommandPrepare_QueryInterface(This,riid,ppvObject)    \
  8559.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8560.  
  8561. #define ICommandPrepare_AddRef(This)    \
  8562.     (This)->lpVtbl -> AddRef(This)
  8563.  
  8564. #define ICommandPrepare_Release(This)    \
  8565.     (This)->lpVtbl -> Release(This)
  8566.  
  8567.  
  8568. #define ICommandPrepare_Prepare(This,cExpectedRuns)    \
  8569.     (This)->lpVtbl -> Prepare(This,cExpectedRuns)
  8570.  
  8571. #define ICommandPrepare_Unprepare(This)    \
  8572.     (This)->lpVtbl -> Unprepare(This)
  8573.  
  8574. #endif /* COBJMACROS */
  8575.  
  8576.  
  8577. #endif     /* C style interface */
  8578.  
  8579.  
  8580.  
  8581. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandPrepare_RemotePrepare_Proxy( 
  8582.     ICommandPrepare __RPC_FAR * This,
  8583.     /* [in] */ ULONG cExpectedRuns,
  8584.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  8585.  
  8586.  
  8587. void __RPC_STUB ICommandPrepare_RemotePrepare_Stub(
  8588.     IRpcStubBuffer *This,
  8589.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8590.     PRPC_MESSAGE _pRpcMessage,
  8591.     DWORD *_pdwStubPhase);
  8592.  
  8593.  
  8594. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandPrepare_RemoteUnprepare_Proxy( 
  8595.     ICommandPrepare __RPC_FAR * This,
  8596.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  8597.  
  8598.  
  8599. void __RPC_STUB ICommandPrepare_RemoteUnprepare_Stub(
  8600.     IRpcStubBuffer *This,
  8601.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8602.     PRPC_MESSAGE _pRpcMessage,
  8603.     DWORD *_pdwStubPhase);
  8604.  
  8605.  
  8606.  
  8607. #endif     /* __ICommandPrepare_INTERFACE_DEFINED__ */
  8608.  
  8609.  
  8610. #ifndef __ICommandProperties_INTERFACE_DEFINED__
  8611. #define __ICommandProperties_INTERFACE_DEFINED__
  8612.  
  8613. /****************************************
  8614.  * Generated header for interface: ICommandProperties
  8615.  * at Tue Apr 28 11:55:07 1998
  8616.  * using MIDL 3.01.75
  8617.  ****************************************/
  8618. /* [unique][uuid][object] */ 
  8619.  
  8620.  
  8621.  
  8622. EXTERN_C const IID IID_ICommandProperties;
  8623.  
  8624. #if defined(__cplusplus) && !defined(CINTERFACE)
  8625.     
  8626.     interface DECLSPEC_UUID("0c733a79-2a1c-11ce-ade5-00aa0044773d")
  8627.     ICommandProperties : public IUnknown
  8628.     {
  8629.     public:
  8630.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetProperties( 
  8631.             /* [in] */ const ULONG cPropertyIDSets,
  8632.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  8633.             /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  8634.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets) = 0;
  8635.         
  8636.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetProperties( 
  8637.             /* [in] */ ULONG cPropertySets,
  8638.             /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]) = 0;
  8639.         
  8640.     };
  8641.     
  8642. #else     /* C style interface */
  8643.  
  8644.     typedef struct ICommandPropertiesVtbl
  8645.     {
  8646.         BEGIN_INTERFACE
  8647.         
  8648.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8649.             ICommandProperties __RPC_FAR * This,
  8650.             /* [in] */ REFIID riid,
  8651.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8652.         
  8653.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8654.             ICommandProperties __RPC_FAR * This);
  8655.         
  8656.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8657.             ICommandProperties __RPC_FAR * This);
  8658.         
  8659.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProperties )( 
  8660.             ICommandProperties __RPC_FAR * This,
  8661.             /* [in] */ const ULONG cPropertyIDSets,
  8662.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  8663.             /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  8664.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets);
  8665.         
  8666.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProperties )( 
  8667.             ICommandProperties __RPC_FAR * This,
  8668.             /* [in] */ ULONG cPropertySets,
  8669.             /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  8670.         
  8671.         END_INTERFACE
  8672.     } ICommandPropertiesVtbl;
  8673.  
  8674.     interface ICommandProperties
  8675.     {
  8676.         CONST_VTBL struct ICommandPropertiesVtbl __RPC_FAR *lpVtbl;
  8677.     };
  8678.  
  8679.     
  8680.  
  8681. #ifdef COBJMACROS
  8682.  
  8683.  
  8684. #define ICommandProperties_QueryInterface(This,riid,ppvObject)    \
  8685.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8686.  
  8687. #define ICommandProperties_AddRef(This)    \
  8688.     (This)->lpVtbl -> AddRef(This)
  8689.  
  8690. #define ICommandProperties_Release(This)    \
  8691.     (This)->lpVtbl -> Release(This)
  8692.  
  8693.  
  8694. #define ICommandProperties_GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)    \
  8695.     (This)->lpVtbl -> GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  8696.  
  8697. #define ICommandProperties_SetProperties(This,cPropertySets,rgPropertySets)    \
  8698.     (This)->lpVtbl -> SetProperties(This,cPropertySets,rgPropertySets)
  8699.  
  8700. #endif /* COBJMACROS */
  8701.  
  8702.  
  8703. #endif     /* C style interface */
  8704.  
  8705.  
  8706.  
  8707. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandProperties_RemoteGetProperties_Proxy( 
  8708.     ICommandProperties __RPC_FAR * This,
  8709.     /* [in] */ const ULONG cPropertyIDSets,
  8710.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  8711.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  8712.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets,
  8713.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  8714.  
  8715.  
  8716. void __RPC_STUB ICommandProperties_RemoteGetProperties_Stub(
  8717.     IRpcStubBuffer *This,
  8718.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8719.     PRPC_MESSAGE _pRpcMessage,
  8720.     DWORD *_pdwStubPhase);
  8721.  
  8722.  
  8723. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandProperties_RemoteSetProperties_Proxy( 
  8724.     ICommandProperties __RPC_FAR * This,
  8725.     /* [in] */ ULONG cPropertySets,
  8726.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  8727.     /* [in] */ ULONG cTotalProps,
  8728.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  8729.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  8730.  
  8731.  
  8732. void __RPC_STUB ICommandProperties_RemoteSetProperties_Stub(
  8733.     IRpcStubBuffer *This,
  8734.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8735.     PRPC_MESSAGE _pRpcMessage,
  8736.     DWORD *_pdwStubPhase);
  8737.  
  8738.  
  8739.  
  8740. #endif     /* __ICommandProperties_INTERFACE_DEFINED__ */
  8741.  
  8742.  
  8743. #ifndef __ICommandText_INTERFACE_DEFINED__
  8744. #define __ICommandText_INTERFACE_DEFINED__
  8745.  
  8746. /****************************************
  8747.  * Generated header for interface: ICommandText
  8748.  * at Tue Apr 28 11:55:07 1998
  8749.  * using MIDL 3.01.75
  8750.  ****************************************/
  8751. /* [unique][uuid][object] */ 
  8752.  
  8753.  
  8754.  
  8755. EXTERN_C const IID IID_ICommandText;
  8756.  
  8757. #if defined(__cplusplus) && !defined(CINTERFACE)
  8758.     
  8759.     interface DECLSPEC_UUID("0c733a27-2a1c-11ce-ade5-00aa0044773d")
  8760.     ICommandText : public ICommand
  8761.     {
  8762.     public:
  8763.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetCommandText( 
  8764.             /* [out][in] */ GUID __RPC_FAR *pguidDialect,
  8765.             /* [out] */ LPOLESTR __RPC_FAR *ppwszCommand) = 0;
  8766.         
  8767.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetCommandText( 
  8768.             /* [in] */ REFGUID rguidDialect,
  8769.             /* [unique][in] */ LPCOLESTR pwszCommand) = 0;
  8770.         
  8771.     };
  8772.     
  8773. #else     /* C style interface */
  8774.  
  8775.     typedef struct ICommandTextVtbl
  8776.     {
  8777.         BEGIN_INTERFACE
  8778.         
  8779.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8780.             ICommandText __RPC_FAR * This,
  8781.             /* [in] */ REFIID riid,
  8782.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8783.         
  8784.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8785.             ICommandText __RPC_FAR * This);
  8786.         
  8787.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8788.             ICommandText __RPC_FAR * This);
  8789.         
  8790.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Cancel )( 
  8791.             ICommandText __RPC_FAR * This);
  8792.         
  8793.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Execute )( 
  8794.             ICommandText __RPC_FAR * This,
  8795.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  8796.             /* [in] */ REFIID riid,
  8797.             /* [out][in] */ DBPARAMS __RPC_FAR *pParams,
  8798.             /* [out] */ LONG __RPC_FAR *pcRowsAffected,
  8799.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  8800.         
  8801.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDBSession )( 
  8802.             ICommandText __RPC_FAR * This,
  8803.             /* [in] */ REFIID riid,
  8804.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession);
  8805.         
  8806.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCommandText )( 
  8807.             ICommandText __RPC_FAR * This,
  8808.             /* [out][in] */ GUID __RPC_FAR *pguidDialect,
  8809.             /* [out] */ LPOLESTR __RPC_FAR *ppwszCommand);
  8810.         
  8811.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCommandText )( 
  8812.             ICommandText __RPC_FAR * This,
  8813.             /* [in] */ REFGUID rguidDialect,
  8814.             /* [unique][in] */ LPCOLESTR pwszCommand);
  8815.         
  8816.         END_INTERFACE
  8817.     } ICommandTextVtbl;
  8818.  
  8819.     interface ICommandText
  8820.     {
  8821.         CONST_VTBL struct ICommandTextVtbl __RPC_FAR *lpVtbl;
  8822.     };
  8823.  
  8824.     
  8825.  
  8826. #ifdef COBJMACROS
  8827.  
  8828.  
  8829. #define ICommandText_QueryInterface(This,riid,ppvObject)    \
  8830.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8831.  
  8832. #define ICommandText_AddRef(This)    \
  8833.     (This)->lpVtbl -> AddRef(This)
  8834.  
  8835. #define ICommandText_Release(This)    \
  8836.     (This)->lpVtbl -> Release(This)
  8837.  
  8838.  
  8839. #define ICommandText_Cancel(This)    \
  8840.     (This)->lpVtbl -> Cancel(This)
  8841.  
  8842. #define ICommandText_Execute(This,pUnkOuter,riid,pParams,pcRowsAffected,ppRowset)    \
  8843.     (This)->lpVtbl -> Execute(This,pUnkOuter,riid,pParams,pcRowsAffected,ppRowset)
  8844.  
  8845. #define ICommandText_GetDBSession(This,riid,ppSession)    \
  8846.     (This)->lpVtbl -> GetDBSession(This,riid,ppSession)
  8847.  
  8848.  
  8849. #define ICommandText_GetCommandText(This,pguidDialect,ppwszCommand)    \
  8850.     (This)->lpVtbl -> GetCommandText(This,pguidDialect,ppwszCommand)
  8851.  
  8852. #define ICommandText_SetCommandText(This,rguidDialect,pwszCommand)    \
  8853.     (This)->lpVtbl -> SetCommandText(This,rguidDialect,pwszCommand)
  8854.  
  8855. #endif /* COBJMACROS */
  8856.  
  8857.  
  8858. #endif     /* C style interface */
  8859.  
  8860.  
  8861.  
  8862. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandText_RemoteGetCommandText_Proxy( 
  8863.     ICommandText __RPC_FAR * This,
  8864.     /* [unique][out][in] */ GUID __RPC_FAR *pguidDialect,
  8865.     /* [out] */ LPOLESTR __RPC_FAR *ppwszCommand,
  8866.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  8867.  
  8868.  
  8869. void __RPC_STUB ICommandText_RemoteGetCommandText_Stub(
  8870.     IRpcStubBuffer *This,
  8871.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8872.     PRPC_MESSAGE _pRpcMessage,
  8873.     DWORD *_pdwStubPhase);
  8874.  
  8875.  
  8876. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandText_RemoteSetCommandText_Proxy( 
  8877.     ICommandText __RPC_FAR * This,
  8878.     /* [in] */ REFGUID rguidDialect,
  8879.     /* [unique][in] */ LPCOLESTR pwszCommand,
  8880.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  8881.  
  8882.  
  8883. void __RPC_STUB ICommandText_RemoteSetCommandText_Stub(
  8884.     IRpcStubBuffer *This,
  8885.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8886.     PRPC_MESSAGE _pRpcMessage,
  8887.     DWORD *_pdwStubPhase);
  8888.  
  8889.  
  8890.  
  8891. #endif     /* __ICommandText_INTERFACE_DEFINED__ */
  8892.  
  8893.  
  8894. /****************************************
  8895.  * Generated header for interface: __MIDL_itf_oledb_0110
  8896.  * at Tue Apr 28 11:55:07 1998
  8897.  * using MIDL 3.01.75
  8898.  ****************************************/
  8899. /* [local] */ 
  8900.  
  8901.  
  8902. //@@@+ V2.5
  8903. #if( OLEDBVER >= 0x0250 )
  8904.  
  8905.  
  8906. extern RPC_IF_HANDLE __MIDL_itf_oledb_0110_v0_0_c_ifspec;
  8907. extern RPC_IF_HANDLE __MIDL_itf_oledb_0110_v0_0_s_ifspec;
  8908.  
  8909. #ifndef __ICommandTree_INTERFACE_DEFINED__
  8910. #define __ICommandTree_INTERFACE_DEFINED__
  8911.  
  8912. /****************************************
  8913.  * Generated header for interface: ICommandTree
  8914.  * at Tue Apr 28 11:55:07 1998
  8915.  * using MIDL 3.01.75
  8916.  ****************************************/
  8917. /* [unique][uuid][object][local] */ 
  8918.  
  8919.  
  8920. typedef DWORD DBCOMMANDREUSE;
  8921.  
  8922.  
  8923. enum DBCOMMANDREUSEENUM
  8924.     {    DBCOMMANDREUSE_NONE    = 0,
  8925.     DBCOMMANDREUSE_PROPERTIES    = 0x1,
  8926.     DBCOMMANDREUSE_PARAMETERS    = 0x2
  8927.     };
  8928. typedef DWORD DBVALUEKIND;
  8929.  
  8930.  
  8931. enum DBVALUEKINDENUM
  8932.     {    DBVALUEKIND_BYGUID    = 256,
  8933.     DBVALUEKIND_COLDESC    = DBVALUEKIND_BYGUID + 1,
  8934.     DBVALUEKIND_ID    = DBVALUEKIND_COLDESC + 1,
  8935.     DBVALUEKIND_CONTENT    = DBVALUEKIND_ID + 1,
  8936.     DBVALUEKIND_CONTENTVECTOR    = DBVALUEKIND_CONTENT + 1,
  8937.     DBVALUEKIND_GROUPINFO    = DBVALUEKIND_CONTENTVECTOR + 1,
  8938.     DBVALUEKIND_PARAMETER    = DBVALUEKIND_GROUPINFO + 1,
  8939.     DBVALUEKIND_PROPERTY    = DBVALUEKIND_PARAMETER + 1,
  8940.     DBVALUEKIND_SETFUNC    = DBVALUEKIND_PROPERTY + 1,
  8941.     DBVALUEKIND_SORTINFO    = DBVALUEKIND_SETFUNC + 1,
  8942.     DBVALUEKIND_TEXT    = DBVALUEKIND_SORTINFO + 1,
  8943.     DBVALUEKIND_COMMAND    = DBVALUEKIND_TEXT + 1,
  8944.     DBVALUEKIND_MONIKER    = DBVALUEKIND_COMMAND + 1,
  8945.     DBVALUEKIND_ROWSET    = DBVALUEKIND_MONIKER + 1,
  8946.     DBVALUEKIND_LIKE    = DBVALUEKIND_ROWSET + 1,
  8947.     DBVALUEKIND_CONTENTPROXIMITY    = DBVALUEKIND_LIKE + 1,
  8948.     DBVALUEKIND_IDISPATCH    = 9,
  8949.     DBVALUEKIND_IUNKNOWN    = 13,
  8950.     DBVALUEKIND_EMPTY    = 0,
  8951.     DBVALUEKIND_NULL    = 1,
  8952.     DBVALUEKIND_I2    = 2,
  8953.     DBVALUEKIND_I4    = 3,
  8954.     DBVALUEKIND_R4    = 4,
  8955.     DBVALUEKIND_R8    = 5,
  8956.     DBVALUEKIND_CY    = 6,
  8957.     DBVALUEKIND_DATE    = 7,
  8958.     DBVALUEKIND_BSTR    = 8,
  8959.     DBVALUEKIND_ERROR    = 10,
  8960.     DBVALUEKIND_BOOL    = 11,
  8961.     DBVALUEKIND_VARIANT    = 12,
  8962.     DBVALUEKIND_VECTOR    = 0x1000,
  8963.     DBVALUEKIND_ARRAY    = 0x2000,
  8964.     DBVALUEKIND_BYREF    = 0x4000,
  8965.     DBVALUEKIND_I1    = 16,
  8966.     DBVALUEKIND_UI1    = 17,
  8967.     DBVALUEKIND_UI2    = 18,
  8968.     DBVALUEKIND_UI4    = DBVALUEKIND_UI2 + 1,
  8969.     DBVALUEKIND_I8    = DBVALUEKIND_UI4 + 1,
  8970.     DBVALUEKIND_UI8    = DBVALUEKIND_I8 + 1,
  8971.     DBVALUEKIND_GUID    = 72,
  8972.     DBVALUEKIND_BYTES    = 128,
  8973.     DBVALUEKIND_STR    = 129,
  8974.     DBVALUEKIND_WSTR    = 130,
  8975.     DBVALUEKIND_NUMERIC    = 131,
  8976.     DBVALUEKIND_DBDATE    = 133,
  8977.     DBVALUEKIND_DBTIME    = 134,
  8978.     DBVALUEKIND_DBTIMESTAMP    = 135
  8979.     };
  8980. typedef struct  tagDBBYGUID
  8981.     {
  8982.     /* [size_is] */ BYTE __RPC_FAR *pbInfo;
  8983.     ULONG cbInfo;
  8984.     GUID guid;
  8985.     }    DBBYGUID;
  8986.  
  8987. #define GENERATE_METHOD_EXACT    ( 0 )
  8988. #define GENERATE_METHOD_PREFIX    ( 1 )
  8989. #define GENERATE_METHOD_INFLECT    ( 2 )
  8990. typedef struct  tagDBCONTENT
  8991.     {
  8992.     LPOLESTR pwszPhrase;
  8993.     DWORD dwGenerateMethod;
  8994.     LONG lWeight;
  8995.     LCID lcid;
  8996.     }    DBCONTENT;
  8997.  
  8998. #define PROPID_QUERY_RANKVECTOR    ( 0x2 )
  8999. #define PROPID_QUERY_RANK        ( 0x3 )
  9000. #define PROPID_QUERY_HITCOUNT    ( 0x4 )
  9001. #define PROPID_QUERY_ALL            ( 0x6 )
  9002. #define PROPID_STG_CONTENTS        ( 0x13 )
  9003. #define VECTOR_RANK_MIN        ( 0 )
  9004. #define VECTOR_RANK_MAX        ( 1 )
  9005. #define VECTOR_RANK_INNER    ( 2 )
  9006. #define VECTOR_RANK_DICE        ( 3 )
  9007. #define VECTOR_RANK_JACCARD    ( 4 )
  9008. typedef struct  tagDBCONTENTVECTOR
  9009.     {
  9010.     LONG lWeight;
  9011.     DWORD dwRankingMethod;
  9012.     }    DBCONTENTVECTOR;
  9013.  
  9014. typedef struct  tagDBGROUPINFO
  9015.     {
  9016.     LCID lcid;
  9017.     }    DBGROUPINFO;
  9018.  
  9019. typedef struct  tagDBPARAMETER
  9020.     {
  9021.     LPOLESTR pwszName;
  9022.     ITypeInfo __RPC_FAR *pTypeInfo;
  9023.     DB_NUMERIC __RPC_FAR *pNum;
  9024.     ULONG cbMaxLength;
  9025.     DBPARAMFLAGS dwFlags;
  9026.     DBTYPE wType;
  9027.     }    DBPARAMETER;
  9028.  
  9029. #define DBSETFUNC_NONE        0x0
  9030. #define DBSETFUNC_ALL        0x1
  9031. #define DBSETFUNC_DISTINCT    0x2
  9032. typedef struct  tagDBSETFUNC
  9033.     {
  9034.     DWORD dwSetQuantifier;
  9035.     }    DBSETFUNC;
  9036.  
  9037. typedef struct  tagDBSORTINFO
  9038.     {
  9039.     BOOL fDesc;
  9040.     LCID lcid;
  9041.     }    DBSORTINFO;
  9042.  
  9043. typedef struct  tagDBTEXT
  9044.     {
  9045.     LPOLESTR pwszText;
  9046.     ULONG ulErrorLocator;
  9047.     ULONG ulTokenLength;
  9048.     GUID guidDialect;
  9049.     }    DBTEXT;
  9050.  
  9051. typedef struct  tagDBLIKE
  9052.     {
  9053.     LONG lWeight;
  9054.     GUID guidDialect;
  9055.     }    DBLIKE;
  9056.  
  9057. #define PROXIMITY_UNIT_WORD           ( 0 )
  9058. #define PROXIMITY_UNIT_SENTENCE       ( 1 )
  9059. #define PROXIMITY_UNIT_PARAGRAPH      ( 2 )
  9060. #define PROXIMITY_UNIT_CHAPTER        ( 3 )
  9061. typedef struct  tagDBCONTENTPROXIMITY
  9062.     {
  9063.     DWORD dwProximityUnit;
  9064.     ULONG ulProximityDistance;
  9065.     LONG lWeight;
  9066.     }    DBCONTENTPROXIMITY;
  9067.  
  9068. typedef struct  tagDBCOMMANDTREE
  9069.     {
  9070.     DBCOMMANDOP op;
  9071.     WORD wKind;
  9072.     struct tagDBCOMMANDTREE __RPC_FAR *pctFirstChild;
  9073.     struct tagDBCOMMANDTREE __RPC_FAR *pctNextSibling;
  9074.     /* [switch_is][switch_type] */ union 
  9075.         {
  9076.         /* [case()] */ BOOL fValue;
  9077.         /* [case()] */ unsigned char uchValue;
  9078.         /* [case()] */ signed char schValue;
  9079.         /* [case()] */ unsigned short usValue;
  9080.         /* [case()] */ short sValue;
  9081.         /* [case()] */ LPOLESTR pwszValue;
  9082.         /* [case()] */ LONG lValue;
  9083.         /* [case()] */ ULONG ulValue;
  9084.         /* [case()] */ float flValue;
  9085.         /* [case()] */ double dblValue;
  9086.         /* [case()] */ CY cyValue;
  9087.         /* [case()] */ DATE dateValue;
  9088.         /* [case()] */ DBDATE dbdateValue;
  9089.         /* [case()] */ DBTIME dbtimeValue;
  9090.         /* [case()] */ SCODE scodeValue;
  9091.         /* [case()] */ hyper llValue;
  9092.         /* [case()] */ MIDL_uhyper ullValue;
  9093.         /* [case()] */ BSTR __RPC_FAR *pbstrValue;
  9094.         /* [case()] */ ICommand __RPC_FAR *pCommand;
  9095.         /* [case()] */ IDispatch __RPC_FAR *pDispatch;
  9096.         /* [case()] */ IMoniker __RPC_FAR *pMoniker;
  9097.         /* [case()] */ IRowset __RPC_FAR *pRowset;
  9098.         /* [case()] */ IUnknown __RPC_FAR *pUnknown;
  9099.         /* [case()] */ DBBYGUID __RPC_FAR *pdbbygdValue;
  9100.         /* [case()] */ DBCOLUMNDESC __RPC_FAR *pcoldescValue;
  9101.         /* [case()] */ DBID __RPC_FAR *pdbidValue;
  9102.         /* [case()] */ DBLIKE __RPC_FAR *pdblikeValue;
  9103.         /* [case()] */ DBCONTENT __RPC_FAR *pdbcntntValue;
  9104.         /* [case()] */ DBCONTENTVECTOR __RPC_FAR *pdbcntntvcValue;
  9105.         /* [case()] */ DBCONTENTPROXIMITY __RPC_FAR *pdbcntntproxValue;
  9106.         /* [case()] */ DBGROUPINFO __RPC_FAR *pdbgrpinfValue;
  9107.         /* [case()] */ DBPARAMETER __RPC_FAR *pdbparamValue;
  9108.         /* [case()] */ DBPROPSET __RPC_FAR *pdbpropValue;
  9109.         /* [case()] */ DBSETFUNC __RPC_FAR *pdbstfncValue;
  9110.         /* [case()] */ DBSORTINFO __RPC_FAR *pdbsrtinfValue;
  9111.         /* [case()] */ DBTEXT __RPC_FAR *pdbtxtValue;
  9112.         /* [case()] */ DBVECTOR __RPC_FAR *pdbvectorValue;
  9113.         /* [case()] */ SAFEARRAY __RPC_FAR *parrayValue;
  9114.         /* [case()] */ VARIANT __RPC_FAR *pvarValue;
  9115.         /* [case()] */ GUID __RPC_FAR *pGuid;
  9116.         /* [case()] */ BYTE __RPC_FAR *pbValue;
  9117.         /* [case()] */ char __RPC_FAR *pzValue;
  9118.         /* [case()] */ DB_NUMERIC __RPC_FAR *pdbnValue;
  9119.         /* [case()] */ DBTIMESTAMP __RPC_FAR *pdbtsValue;
  9120.         /* [case()] */ void __RPC_FAR *pvValue;
  9121.         }    value;
  9122.     HRESULT hrError;
  9123.     }    DBCOMMANDTREE;
  9124.  
  9125.  
  9126. EXTERN_C const IID IID_ICommandTree;
  9127.  
  9128. #if defined(__cplusplus) && !defined(CINTERFACE)
  9129.     
  9130.     interface DECLSPEC_UUID("0c733a87-2a1c-11ce-ade5-00aa0044773d")
  9131.     ICommandTree : public IUnknown
  9132.     {
  9133.     public:
  9134.         virtual HRESULT STDMETHODCALLTYPE FindErrorNodes( 
  9135.             /* [in] */ const DBCOMMANDTREE __RPC_FAR *pRoot,
  9136.             /* [out] */ ULONG __RPC_FAR *pcErrorNodes,
  9137.             /* [out] */ DBCOMMANDTREE __RPC_FAR *__RPC_FAR *__RPC_FAR *prgErrorNodes) = 0;
  9138.         
  9139.         virtual HRESULT STDMETHODCALLTYPE FreeCommandTree( 
  9140.             /* [in] */ DBCOMMANDTREE __RPC_FAR *__RPC_FAR *ppRoot) = 0;
  9141.         
  9142.         virtual HRESULT STDMETHODCALLTYPE GetCommandTree( 
  9143.             /* [out] */ DBCOMMANDTREE __RPC_FAR *__RPC_FAR *ppRoot) = 0;
  9144.         
  9145.         virtual HRESULT STDMETHODCALLTYPE SetCommandTree( 
  9146.             /* [in] */ DBCOMMANDTREE __RPC_FAR *__RPC_FAR *ppRoot,
  9147.             /* [in] */ DBCOMMANDREUSE dwCommandReuse,
  9148.             /* [in] */ BOOL fCopy) = 0;
  9149.         
  9150.     };
  9151.     
  9152. #else     /* C style interface */
  9153.  
  9154.     typedef struct ICommandTreeVtbl
  9155.     {
  9156.         BEGIN_INTERFACE
  9157.         
  9158.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9159.             ICommandTree __RPC_FAR * This,
  9160.             /* [in] */ REFIID riid,
  9161.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9162.         
  9163.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9164.             ICommandTree __RPC_FAR * This);
  9165.         
  9166.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9167.             ICommandTree __RPC_FAR * This);
  9168.         
  9169.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindErrorNodes )( 
  9170.             ICommandTree __RPC_FAR * This,
  9171.             /* [in] */ const DBCOMMANDTREE __RPC_FAR *pRoot,
  9172.             /* [out] */ ULONG __RPC_FAR *pcErrorNodes,
  9173.             /* [out] */ DBCOMMANDTREE __RPC_FAR *__RPC_FAR *__RPC_FAR *prgErrorNodes);
  9174.         
  9175.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FreeCommandTree )( 
  9176.             ICommandTree __RPC_FAR * This,
  9177.             /* [in] */ DBCOMMANDTREE __RPC_FAR *__RPC_FAR *ppRoot);
  9178.         
  9179.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCommandTree )( 
  9180.             ICommandTree __RPC_FAR * This,
  9181.             /* [out] */ DBCOMMANDTREE __RPC_FAR *__RPC_FAR *ppRoot);
  9182.         
  9183.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCommandTree )( 
  9184.             ICommandTree __RPC_FAR * This,
  9185.             /* [in] */ DBCOMMANDTREE __RPC_FAR *__RPC_FAR *ppRoot,
  9186.             /* [in] */ DBCOMMANDREUSE dwCommandReuse,
  9187.             /* [in] */ BOOL fCopy);
  9188.         
  9189.         END_INTERFACE
  9190.     } ICommandTreeVtbl;
  9191.  
  9192.     interface ICommandTree
  9193.     {
  9194.         CONST_VTBL struct ICommandTreeVtbl __RPC_FAR *lpVtbl;
  9195.     };
  9196.  
  9197.     
  9198.  
  9199. #ifdef COBJMACROS
  9200.  
  9201.  
  9202. #define ICommandTree_QueryInterface(This,riid,ppvObject)    \
  9203.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9204.  
  9205. #define ICommandTree_AddRef(This)    \
  9206.     (This)->lpVtbl -> AddRef(This)
  9207.  
  9208. #define ICommandTree_Release(This)    \
  9209.     (This)->lpVtbl -> Release(This)
  9210.  
  9211.  
  9212. #define ICommandTree_FindErrorNodes(This,pRoot,pcErrorNodes,prgErrorNodes)    \
  9213.     (This)->lpVtbl -> FindErrorNodes(This,pRoot,pcErrorNodes,prgErrorNodes)
  9214.  
  9215. #define ICommandTree_FreeCommandTree(This,ppRoot)    \
  9216.     (This)->lpVtbl -> FreeCommandTree(This,ppRoot)
  9217.  
  9218. #define ICommandTree_GetCommandTree(This,ppRoot)    \
  9219.     (This)->lpVtbl -> GetCommandTree(This,ppRoot)
  9220.  
  9221. #define ICommandTree_SetCommandTree(This,ppRoot,dwCommandReuse,fCopy)    \
  9222.     (This)->lpVtbl -> SetCommandTree(This,ppRoot,dwCommandReuse,fCopy)
  9223.  
  9224. #endif /* COBJMACROS */
  9225.  
  9226.  
  9227. #endif     /* C style interface */
  9228.  
  9229.  
  9230.  
  9231. HRESULT STDMETHODCALLTYPE ICommandTree_FindErrorNodes_Proxy( 
  9232.     ICommandTree __RPC_FAR * This,
  9233.     /* [in] */ const DBCOMMANDTREE __RPC_FAR *pRoot,
  9234.     /* [out] */ ULONG __RPC_FAR *pcErrorNodes,
  9235.     /* [out] */ DBCOMMANDTREE __RPC_FAR *__RPC_FAR *__RPC_FAR *prgErrorNodes);
  9236.  
  9237.  
  9238. void __RPC_STUB ICommandTree_FindErrorNodes_Stub(
  9239.     IRpcStubBuffer *This,
  9240.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9241.     PRPC_MESSAGE _pRpcMessage,
  9242.     DWORD *_pdwStubPhase);
  9243.  
  9244.  
  9245. HRESULT STDMETHODCALLTYPE ICommandTree_FreeCommandTree_Proxy( 
  9246.     ICommandTree __RPC_FAR * This,
  9247.     /* [in] */ DBCOMMANDTREE __RPC_FAR *__RPC_FAR *ppRoot);
  9248.  
  9249.  
  9250. void __RPC_STUB ICommandTree_FreeCommandTree_Stub(
  9251.     IRpcStubBuffer *This,
  9252.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9253.     PRPC_MESSAGE _pRpcMessage,
  9254.     DWORD *_pdwStubPhase);
  9255.  
  9256.  
  9257. HRESULT STDMETHODCALLTYPE ICommandTree_GetCommandTree_Proxy( 
  9258.     ICommandTree __RPC_FAR * This,
  9259.     /* [out] */ DBCOMMANDTREE __RPC_FAR *__RPC_FAR *ppRoot);
  9260.  
  9261.  
  9262. void __RPC_STUB ICommandTree_GetCommandTree_Stub(
  9263.     IRpcStubBuffer *This,
  9264.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9265.     PRPC_MESSAGE _pRpcMessage,
  9266.     DWORD *_pdwStubPhase);
  9267.  
  9268.  
  9269. HRESULT STDMETHODCALLTYPE ICommandTree_SetCommandTree_Proxy( 
  9270.     ICommandTree __RPC_FAR * This,
  9271.     /* [in] */ DBCOMMANDTREE __RPC_FAR *__RPC_FAR *ppRoot,
  9272.     /* [in] */ DBCOMMANDREUSE dwCommandReuse,
  9273.     /* [in] */ BOOL fCopy);
  9274.  
  9275.  
  9276. void __RPC_STUB ICommandTree_SetCommandTree_Stub(
  9277.     IRpcStubBuffer *This,
  9278.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9279.     PRPC_MESSAGE _pRpcMessage,
  9280.     DWORD *_pdwStubPhase);
  9281.  
  9282.  
  9283.  
  9284. #endif     /* __ICommandTree_INTERFACE_DEFINED__ */
  9285.  
  9286.  
  9287. #ifndef __ICommandValidate_INTERFACE_DEFINED__
  9288. #define __ICommandValidate_INTERFACE_DEFINED__
  9289.  
  9290. /****************************************
  9291.  * Generated header for interface: ICommandValidate
  9292.  * at Tue Apr 28 11:55:07 1998
  9293.  * using MIDL 3.01.75
  9294.  ****************************************/
  9295. /* [unique][uuid][object][local] */ 
  9296.  
  9297.  
  9298.  
  9299. EXTERN_C const IID IID_ICommandValidate;
  9300.  
  9301. #if defined(__cplusplus) && !defined(CINTERFACE)
  9302.     
  9303.     interface DECLSPEC_UUID("0c733a18-2a1c-11ce-ade5-00aa0044773d")
  9304.     ICommandValidate : public IUnknown
  9305.     {
  9306.     public:
  9307.         virtual HRESULT STDMETHODCALLTYPE ValidateCompletely( void) = 0;
  9308.         
  9309.         virtual HRESULT STDMETHODCALLTYPE ValidateSyntax( void) = 0;
  9310.         
  9311.     };
  9312.     
  9313. #else     /* C style interface */
  9314.  
  9315.     typedef struct ICommandValidateVtbl
  9316.     {
  9317.         BEGIN_INTERFACE
  9318.         
  9319.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9320.             ICommandValidate __RPC_FAR * This,
  9321.             /* [in] */ REFIID riid,
  9322.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9323.         
  9324.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9325.             ICommandValidate __RPC_FAR * This);
  9326.         
  9327.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9328.             ICommandValidate __RPC_FAR * This);
  9329.         
  9330.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ValidateCompletely )( 
  9331.             ICommandValidate __RPC_FAR * This);
  9332.         
  9333.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ValidateSyntax )( 
  9334.             ICommandValidate __RPC_FAR * This);
  9335.         
  9336.         END_INTERFACE
  9337.     } ICommandValidateVtbl;
  9338.  
  9339.     interface ICommandValidate
  9340.     {
  9341.         CONST_VTBL struct ICommandValidateVtbl __RPC_FAR *lpVtbl;
  9342.     };
  9343.  
  9344.     
  9345.  
  9346. #ifdef COBJMACROS
  9347.  
  9348.  
  9349. #define ICommandValidate_QueryInterface(This,riid,ppvObject)    \
  9350.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9351.  
  9352. #define ICommandValidate_AddRef(This)    \
  9353.     (This)->lpVtbl -> AddRef(This)
  9354.  
  9355. #define ICommandValidate_Release(This)    \
  9356.     (This)->lpVtbl -> Release(This)
  9357.  
  9358.  
  9359. #define ICommandValidate_ValidateCompletely(This)    \
  9360.     (This)->lpVtbl -> ValidateCompletely(This)
  9361.  
  9362. #define ICommandValidate_ValidateSyntax(This)    \
  9363.     (This)->lpVtbl -> ValidateSyntax(This)
  9364.  
  9365. #endif /* COBJMACROS */
  9366.  
  9367.  
  9368. #endif     /* C style interface */
  9369.  
  9370.  
  9371.  
  9372. HRESULT STDMETHODCALLTYPE ICommandValidate_ValidateCompletely_Proxy( 
  9373.     ICommandValidate __RPC_FAR * This);
  9374.  
  9375.  
  9376. void __RPC_STUB ICommandValidate_ValidateCompletely_Stub(
  9377.     IRpcStubBuffer *This,
  9378.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9379.     PRPC_MESSAGE _pRpcMessage,
  9380.     DWORD *_pdwStubPhase);
  9381.  
  9382.  
  9383. HRESULT STDMETHODCALLTYPE ICommandValidate_ValidateSyntax_Proxy( 
  9384.     ICommandValidate __RPC_FAR * This);
  9385.  
  9386.  
  9387. void __RPC_STUB ICommandValidate_ValidateSyntax_Stub(
  9388.     IRpcStubBuffer *This,
  9389.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9390.     PRPC_MESSAGE _pRpcMessage,
  9391.     DWORD *_pdwStubPhase);
  9392.  
  9393.  
  9394.  
  9395. #endif     /* __ICommandValidate_INTERFACE_DEFINED__ */
  9396.  
  9397.  
  9398. /****************************************
  9399.  * Generated header for interface: __MIDL_itf_oledb_0112
  9400.  * at Tue Apr 28 11:55:07 1998
  9401.  * using MIDL 3.01.75
  9402.  ****************************************/
  9403. /* [local] */ 
  9404.  
  9405.  
  9406. #endif // OLEDBVER >= 0x0250
  9407. //@@@- V2.5
  9408.  
  9409.  
  9410. extern RPC_IF_HANDLE __MIDL_itf_oledb_0112_v0_0_c_ifspec;
  9411. extern RPC_IF_HANDLE __MIDL_itf_oledb_0112_v0_0_s_ifspec;
  9412.  
  9413. #ifndef __ICommandWithParameters_INTERFACE_DEFINED__
  9414. #define __ICommandWithParameters_INTERFACE_DEFINED__
  9415.  
  9416. /****************************************
  9417.  * Generated header for interface: ICommandWithParameters
  9418.  * at Tue Apr 28 11:55:07 1998
  9419.  * using MIDL 3.01.75
  9420.  ****************************************/
  9421. /* [unique][uuid][object] */ 
  9422.  
  9423.  
  9424. typedef struct  tagDBPARAMBINDINFO
  9425.     {
  9426.     LPOLESTR pwszDataSourceType;
  9427.     LPOLESTR pwszName;
  9428.     ULONG ulParamSize;
  9429.     DBPARAMFLAGS dwFlags;
  9430.     BYTE bPrecision;
  9431.     BYTE bScale;
  9432.     }    DBPARAMBINDINFO;
  9433.  
  9434.  
  9435. EXTERN_C const IID IID_ICommandWithParameters;
  9436.  
  9437. #if defined(__cplusplus) && !defined(CINTERFACE)
  9438.     
  9439.     interface DECLSPEC_UUID("0c733a64-2a1c-11ce-ade5-00aa0044773d")
  9440.     ICommandWithParameters : public IUnknown
  9441.     {
  9442.     public:
  9443.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetParameterInfo( 
  9444.             /* [out][in] */ ULONG __RPC_FAR *pcParams,
  9445.             /* [size_is][size_is][out] */ DBPARAMINFO __RPC_FAR *__RPC_FAR *prgParamInfo,
  9446.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppNamesBuffer) = 0;
  9447.         
  9448.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE MapParameterNames( 
  9449.             /* [in] */ ULONG cParamNames,
  9450.             /* [size_is][in] */ const OLECHAR __RPC_FAR *__RPC_FAR rgParamNames[  ],
  9451.             /* [size_is][out] */ LONG __RPC_FAR rgParamOrdinals[  ]) = 0;
  9452.         
  9453.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetParameterInfo( 
  9454.             /* [in] */ ULONG cParams,
  9455.             /* [size_is][unique][in] */ const ULONG __RPC_FAR rgParamOrdinals[  ],
  9456.             /* [size_is][unique][in] */ const DBPARAMBINDINFO __RPC_FAR rgParamBindInfo[  ]) = 0;
  9457.         
  9458.     };
  9459.     
  9460. #else     /* C style interface */
  9461.  
  9462.     typedef struct ICommandWithParametersVtbl
  9463.     {
  9464.         BEGIN_INTERFACE
  9465.         
  9466.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9467.             ICommandWithParameters __RPC_FAR * This,
  9468.             /* [in] */ REFIID riid,
  9469.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9470.         
  9471.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9472.             ICommandWithParameters __RPC_FAR * This);
  9473.         
  9474.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9475.             ICommandWithParameters __RPC_FAR * This);
  9476.         
  9477.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetParameterInfo )( 
  9478.             ICommandWithParameters __RPC_FAR * This,
  9479.             /* [out][in] */ ULONG __RPC_FAR *pcParams,
  9480.             /* [size_is][size_is][out] */ DBPARAMINFO __RPC_FAR *__RPC_FAR *prgParamInfo,
  9481.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppNamesBuffer);
  9482.         
  9483.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MapParameterNames )( 
  9484.             ICommandWithParameters __RPC_FAR * This,
  9485.             /* [in] */ ULONG cParamNames,
  9486.             /* [size_is][in] */ const OLECHAR __RPC_FAR *__RPC_FAR rgParamNames[  ],
  9487.             /* [size_is][out] */ LONG __RPC_FAR rgParamOrdinals[  ]);
  9488.         
  9489.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetParameterInfo )( 
  9490.             ICommandWithParameters __RPC_FAR * This,
  9491.             /* [in] */ ULONG cParams,
  9492.             /* [size_is][unique][in] */ const ULONG __RPC_FAR rgParamOrdinals[  ],
  9493.             /* [size_is][unique][in] */ const DBPARAMBINDINFO __RPC_FAR rgParamBindInfo[  ]);
  9494.         
  9495.         END_INTERFACE
  9496.     } ICommandWithParametersVtbl;
  9497.  
  9498.     interface ICommandWithParameters
  9499.     {
  9500.         CONST_VTBL struct ICommandWithParametersVtbl __RPC_FAR *lpVtbl;
  9501.     };
  9502.  
  9503.     
  9504.  
  9505. #ifdef COBJMACROS
  9506.  
  9507.  
  9508. #define ICommandWithParameters_QueryInterface(This,riid,ppvObject)    \
  9509.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9510.  
  9511. #define ICommandWithParameters_AddRef(This)    \
  9512.     (This)->lpVtbl -> AddRef(This)
  9513.  
  9514. #define ICommandWithParameters_Release(This)    \
  9515.     (This)->lpVtbl -> Release(This)
  9516.  
  9517.  
  9518. #define ICommandWithParameters_GetParameterInfo(This,pcParams,prgParamInfo,ppNamesBuffer)    \
  9519.     (This)->lpVtbl -> GetParameterInfo(This,pcParams,prgParamInfo,ppNamesBuffer)
  9520.  
  9521. #define ICommandWithParameters_MapParameterNames(This,cParamNames,rgParamNames,rgParamOrdinals)    \
  9522.     (This)->lpVtbl -> MapParameterNames(This,cParamNames,rgParamNames,rgParamOrdinals)
  9523.  
  9524. #define ICommandWithParameters_SetParameterInfo(This,cParams,rgParamOrdinals,rgParamBindInfo)    \
  9525.     (This)->lpVtbl -> SetParameterInfo(This,cParams,rgParamOrdinals,rgParamBindInfo)
  9526.  
  9527. #endif /* COBJMACROS */
  9528.  
  9529.  
  9530. #endif     /* C style interface */
  9531.  
  9532.  
  9533.  
  9534. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_RemoteGetParameterInfo_Proxy( 
  9535.     ICommandWithParameters __RPC_FAR * This,
  9536.     /* [out][in] */ ULONG __RPC_FAR *pcParams,
  9537.     /* [size_is][size_is][out] */ DBPARAMINFO __RPC_FAR *__RPC_FAR *prgParamInfo,
  9538.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgNameOffsets,
  9539.     /* [out][in] */ ULONG __RPC_FAR *pcbNamesBuffer,
  9540.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppNamesBuffer,
  9541.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  9542.  
  9543.  
  9544. void __RPC_STUB ICommandWithParameters_RemoteGetParameterInfo_Stub(
  9545.     IRpcStubBuffer *This,
  9546.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9547.     PRPC_MESSAGE _pRpcMessage,
  9548.     DWORD *_pdwStubPhase);
  9549.  
  9550.  
  9551. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_RemoteMapParameterNames_Proxy( 
  9552.     ICommandWithParameters __RPC_FAR * This,
  9553.     /* [in] */ ULONG cParamNames,
  9554.     /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgParamNames,
  9555.     /* [size_is][out] */ LONG __RPC_FAR *rgParamOrdinals,
  9556.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  9557.  
  9558.  
  9559. void __RPC_STUB ICommandWithParameters_RemoteMapParameterNames_Stub(
  9560.     IRpcStubBuffer *This,
  9561.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9562.     PRPC_MESSAGE _pRpcMessage,
  9563.     DWORD *_pdwStubPhase);
  9564.  
  9565.  
  9566. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_RemoteSetParameterInfo_Proxy( 
  9567.     ICommandWithParameters __RPC_FAR * This,
  9568.     /* [in] */ ULONG cParams,
  9569.     /* [size_is][unique][in] */ const ULONG __RPC_FAR *rgParamOrdinals,
  9570.     /* [size_is][unique][in] */ const DBPARAMBINDINFO __RPC_FAR *rgParamBindInfo,
  9571.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  9572.  
  9573.  
  9574. void __RPC_STUB ICommandWithParameters_RemoteSetParameterInfo_Stub(
  9575.     IRpcStubBuffer *This,
  9576.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9577.     PRPC_MESSAGE _pRpcMessage,
  9578.     DWORD *_pdwStubPhase);
  9579.  
  9580.  
  9581.  
  9582. #endif     /* __ICommandWithParameters_INTERFACE_DEFINED__ */
  9583.  
  9584.  
  9585. /****************************************
  9586.  * Generated header for interface: __MIDL_itf_oledb_0113
  9587.  * at Tue Apr 28 11:55:07 1998
  9588.  * using MIDL 3.01.75
  9589.  ****************************************/
  9590. /* [local] */ 
  9591.  
  9592.  
  9593. //@@@+ V2.5
  9594. #if( OLEDBVER >= 0x0250 )
  9595.  
  9596.  
  9597. extern RPC_IF_HANDLE __MIDL_itf_oledb_0113_v0_0_c_ifspec;
  9598. extern RPC_IF_HANDLE __MIDL_itf_oledb_0113_v0_0_s_ifspec;
  9599.  
  9600. #ifndef __IQuery_INTERFACE_DEFINED__
  9601. #define __IQuery_INTERFACE_DEFINED__
  9602.  
  9603. /****************************************
  9604.  * Generated header for interface: IQuery
  9605.  * at Tue Apr 28 11:55:07 1998
  9606.  * using MIDL 3.01.75
  9607.  ****************************************/
  9608. /* [unique][uuid][object][local] */ 
  9609.  
  9610.  
  9611.  
  9612. EXTERN_C const IID IID_IQuery;
  9613.  
  9614. #if defined(__cplusplus) && !defined(CINTERFACE)
  9615.     
  9616.     interface DECLSPEC_UUID("0c733a51-2a1c-11ce-ade5-00aa0044773d")
  9617.     IQuery : public ICommandTree
  9618.     {
  9619.     public:
  9620.         virtual HRESULT STDMETHODCALLTYPE AddPostProcessing( 
  9621.             /* [in] */ DBCOMMANDTREE __RPC_FAR *__RPC_FAR *ppRoot,
  9622.             /* [in] */ BOOL fCopy) = 0;
  9623.         
  9624.         virtual HRESULT STDMETHODCALLTYPE GetCardinalityEstimate( 
  9625.             /* [out] */ ULONG __RPC_FAR *pulCardinality) = 0;
  9626.         
  9627.     };
  9628.     
  9629. #else     /* C style interface */
  9630.  
  9631.     typedef struct IQueryVtbl
  9632.     {
  9633.         BEGIN_INTERFACE
  9634.         
  9635.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9636.             IQuery __RPC_FAR * This,
  9637.             /* [in] */ REFIID riid,
  9638.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9639.         
  9640.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9641.             IQuery __RPC_FAR * This);
  9642.         
  9643.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9644.             IQuery __RPC_FAR * This);
  9645.         
  9646.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindErrorNodes )( 
  9647.             IQuery __RPC_FAR * This,
  9648.             /* [in] */ const DBCOMMANDTREE __RPC_FAR *pRoot,
  9649.             /* [out] */ ULONG __RPC_FAR *pcErrorNodes,
  9650.             /* [out] */ DBCOMMANDTREE __RPC_FAR *__RPC_FAR *__RPC_FAR *prgErrorNodes);
  9651.         
  9652.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FreeCommandTree )( 
  9653.             IQuery __RPC_FAR * This,
  9654.             /* [in] */ DBCOMMANDTREE __RPC_FAR *__RPC_FAR *ppRoot);
  9655.         
  9656.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCommandTree )( 
  9657.             IQuery __RPC_FAR * This,
  9658.             /* [out] */ DBCOMMANDTREE __RPC_FAR *__RPC_FAR *ppRoot);
  9659.         
  9660.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCommandTree )( 
  9661.             IQuery __RPC_FAR * This,
  9662.             /* [in] */ DBCOMMANDTREE __RPC_FAR *__RPC_FAR *ppRoot,
  9663.             /* [in] */ DBCOMMANDREUSE dwCommandReuse,
  9664.             /* [in] */ BOOL fCopy);
  9665.         
  9666.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddPostProcessing )( 
  9667.             IQuery __RPC_FAR * This,
  9668.             /* [in] */ DBCOMMANDTREE __RPC_FAR *__RPC_FAR *ppRoot,
  9669.             /* [in] */ BOOL fCopy);
  9670.         
  9671.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCardinalityEstimate )( 
  9672.             IQuery __RPC_FAR * This,
  9673.             /* [out] */ ULONG __RPC_FAR *pulCardinality);
  9674.         
  9675.         END_INTERFACE
  9676.     } IQueryVtbl;
  9677.  
  9678.     interface IQuery
  9679.     {
  9680.         CONST_VTBL struct IQueryVtbl __RPC_FAR *lpVtbl;
  9681.     };
  9682.  
  9683.     
  9684.  
  9685. #ifdef COBJMACROS
  9686.  
  9687.  
  9688. #define IQuery_QueryInterface(This,riid,ppvObject)    \
  9689.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9690.  
  9691. #define IQuery_AddRef(This)    \
  9692.     (This)->lpVtbl -> AddRef(This)
  9693.  
  9694. #define IQuery_Release(This)    \
  9695.     (This)->lpVtbl -> Release(This)
  9696.  
  9697.  
  9698. #define IQuery_FindErrorNodes(This,pRoot,pcErrorNodes,prgErrorNodes)    \
  9699.     (This)->lpVtbl -> FindErrorNodes(This,pRoot,pcErrorNodes,prgErrorNodes)
  9700.  
  9701. #define IQuery_FreeCommandTree(This,ppRoot)    \
  9702.     (This)->lpVtbl -> FreeCommandTree(This,ppRoot)
  9703.  
  9704. #define IQuery_GetCommandTree(This,ppRoot)    \
  9705.     (This)->lpVtbl -> GetCommandTree(This,ppRoot)
  9706.  
  9707. #define IQuery_SetCommandTree(This,ppRoot,dwCommandReuse,fCopy)    \
  9708.     (This)->lpVtbl -> SetCommandTree(This,ppRoot,dwCommandReuse,fCopy)
  9709.  
  9710.  
  9711. #define IQuery_AddPostProcessing(This,ppRoot,fCopy)    \
  9712.     (This)->lpVtbl -> AddPostProcessing(This,ppRoot,fCopy)
  9713.  
  9714. #define IQuery_GetCardinalityEstimate(This,pulCardinality)    \
  9715.     (This)->lpVtbl -> GetCardinalityEstimate(This,pulCardinality)
  9716.  
  9717. #endif /* COBJMACROS */
  9718.  
  9719.  
  9720. #endif     /* C style interface */
  9721.  
  9722.  
  9723.  
  9724. HRESULT STDMETHODCALLTYPE IQuery_AddPostProcessing_Proxy( 
  9725.     IQuery __RPC_FAR * This,
  9726.     /* [in] */ DBCOMMANDTREE __RPC_FAR *__RPC_FAR *ppRoot,
  9727.     /* [in] */ BOOL fCopy);
  9728.  
  9729.  
  9730. void __RPC_STUB IQuery_AddPostProcessing_Stub(
  9731.     IRpcStubBuffer *This,
  9732.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9733.     PRPC_MESSAGE _pRpcMessage,
  9734.     DWORD *_pdwStubPhase);
  9735.  
  9736.  
  9737. HRESULT STDMETHODCALLTYPE IQuery_GetCardinalityEstimate_Proxy( 
  9738.     IQuery __RPC_FAR * This,
  9739.     /* [out] */ ULONG __RPC_FAR *pulCardinality);
  9740.  
  9741.  
  9742. void __RPC_STUB IQuery_GetCardinalityEstimate_Stub(
  9743.     IRpcStubBuffer *This,
  9744.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9745.     PRPC_MESSAGE _pRpcMessage,
  9746.     DWORD *_pdwStubPhase);
  9747.  
  9748.  
  9749.  
  9750. #endif     /* __IQuery_INTERFACE_DEFINED__ */
  9751.  
  9752.  
  9753. /****************************************
  9754.  * Generated header for interface: __MIDL_itf_oledb_0114
  9755.  * at Tue Apr 28 11:55:07 1998
  9756.  * using MIDL 3.01.75
  9757.  ****************************************/
  9758. /* [local] */ 
  9759.  
  9760.  
  9761. #endif // OLEDBVER >= 0x0250
  9762. //@@@- V2.5
  9763.  
  9764.  
  9765. extern RPC_IF_HANDLE __MIDL_itf_oledb_0114_v0_0_c_ifspec;
  9766. extern RPC_IF_HANDLE __MIDL_itf_oledb_0114_v0_0_s_ifspec;
  9767.  
  9768. #ifndef __IColumnsRowset_INTERFACE_DEFINED__
  9769. #define __IColumnsRowset_INTERFACE_DEFINED__
  9770.  
  9771. /****************************************
  9772.  * Generated header for interface: IColumnsRowset
  9773.  * at Tue Apr 28 11:55:07 1998
  9774.  * using MIDL 3.01.75
  9775.  ****************************************/
  9776. /* [unique][uuid][object] */ 
  9777.  
  9778.  
  9779.  
  9780. EXTERN_C const IID IID_IColumnsRowset;
  9781.  
  9782. #if defined(__cplusplus) && !defined(CINTERFACE)
  9783.     
  9784.     interface DECLSPEC_UUID("0c733a10-2a1c-11ce-ade5-00aa0044773d")
  9785.     IColumnsRowset : public IUnknown
  9786.     {
  9787.     public:
  9788.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetAvailableColumns( 
  9789.             /* [out][in] */ ULONG __RPC_FAR *pcOptColumns,
  9790.             /* [size_is][size_is][out] */ DBID __RPC_FAR *__RPC_FAR *prgOptColumns) = 0;
  9791.         
  9792.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetColumnsRowset( 
  9793.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  9794.             /* [in] */ ULONG cOptColumns,
  9795.             /* [size_is][in] */ const DBID __RPC_FAR rgOptColumns[  ],
  9796.             /* [in] */ REFIID riid,
  9797.             /* [in] */ ULONG cPropertySets,
  9798.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  9799.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppColRowset) = 0;
  9800.         
  9801.     };
  9802.     
  9803. #else     /* C style interface */
  9804.  
  9805.     typedef struct IColumnsRowsetVtbl
  9806.     {
  9807.         BEGIN_INTERFACE
  9808.         
  9809.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9810.             IColumnsRowset __RPC_FAR * This,
  9811.             /* [in] */ REFIID riid,
  9812.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9813.         
  9814.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9815.             IColumnsRowset __RPC_FAR * This);
  9816.         
  9817.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9818.             IColumnsRowset __RPC_FAR * This);
  9819.         
  9820.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAvailableColumns )( 
  9821.             IColumnsRowset __RPC_FAR * This,
  9822.             /* [out][in] */ ULONG __RPC_FAR *pcOptColumns,
  9823.             /* [size_is][size_is][out] */ DBID __RPC_FAR *__RPC_FAR *prgOptColumns);
  9824.         
  9825.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetColumnsRowset )( 
  9826.             IColumnsRowset __RPC_FAR * This,
  9827.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  9828.             /* [in] */ ULONG cOptColumns,
  9829.             /* [size_is][in] */ const DBID __RPC_FAR rgOptColumns[  ],
  9830.             /* [in] */ REFIID riid,
  9831.             /* [in] */ ULONG cPropertySets,
  9832.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  9833.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppColRowset);
  9834.         
  9835.         END_INTERFACE
  9836.     } IColumnsRowsetVtbl;
  9837.  
  9838.     interface IColumnsRowset
  9839.     {
  9840.         CONST_VTBL struct IColumnsRowsetVtbl __RPC_FAR *lpVtbl;
  9841.     };
  9842.  
  9843.     
  9844.  
  9845. #ifdef COBJMACROS
  9846.  
  9847.  
  9848. #define IColumnsRowset_QueryInterface(This,riid,ppvObject)    \
  9849.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9850.  
  9851. #define IColumnsRowset_AddRef(This)    \
  9852.     (This)->lpVtbl -> AddRef(This)
  9853.  
  9854. #define IColumnsRowset_Release(This)    \
  9855.     (This)->lpVtbl -> Release(This)
  9856.  
  9857.  
  9858. #define IColumnsRowset_GetAvailableColumns(This,pcOptColumns,prgOptColumns)    \
  9859.     (This)->lpVtbl -> GetAvailableColumns(This,pcOptColumns,prgOptColumns)
  9860.  
  9861. #define IColumnsRowset_GetColumnsRowset(This,pUnkOuter,cOptColumns,rgOptColumns,riid,cPropertySets,rgPropertySets,ppColRowset)    \
  9862.     (This)->lpVtbl -> GetColumnsRowset(This,pUnkOuter,cOptColumns,rgOptColumns,riid,cPropertySets,rgPropertySets,ppColRowset)
  9863.  
  9864. #endif /* COBJMACROS */
  9865.  
  9866.  
  9867. #endif     /* C style interface */
  9868.  
  9869.  
  9870.  
  9871. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsRowset_RemoteGetAvailableColumns_Proxy( 
  9872.     IColumnsRowset __RPC_FAR * This,
  9873.     /* [out][in] */ ULONG __RPC_FAR *pcOptColumns,
  9874.     /* [size_is][size_is][out] */ DBID __RPC_FAR *__RPC_FAR *prgOptColumns,
  9875.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  9876.  
  9877.  
  9878. void __RPC_STUB IColumnsRowset_RemoteGetAvailableColumns_Stub(
  9879.     IRpcStubBuffer *This,
  9880.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9881.     PRPC_MESSAGE _pRpcMessage,
  9882.     DWORD *_pdwStubPhase);
  9883.  
  9884.  
  9885. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsRowset_RemoteGetColumnsRowset_Proxy( 
  9886.     IColumnsRowset __RPC_FAR * This,
  9887.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  9888.     /* [in] */ ULONG cOptColumns,
  9889.     /* [size_is][unique][in] */ const DBID __RPC_FAR *rgOptColumns,
  9890.     /* [in] */ REFIID riid,
  9891.     /* [in] */ ULONG cPropertySets,
  9892.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  9893.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppColRowset,
  9894.     /* [in] */ ULONG cTotalProps,
  9895.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  9896.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  9897.  
  9898.  
  9899. void __RPC_STUB IColumnsRowset_RemoteGetColumnsRowset_Stub(
  9900.     IRpcStubBuffer *This,
  9901.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9902.     PRPC_MESSAGE _pRpcMessage,
  9903.     DWORD *_pdwStubPhase);
  9904.  
  9905.  
  9906.  
  9907. #endif     /* __IColumnsRowset_INTERFACE_DEFINED__ */
  9908.  
  9909.  
  9910. #ifndef __IColumnsInfo_INTERFACE_DEFINED__
  9911. #define __IColumnsInfo_INTERFACE_DEFINED__
  9912.  
  9913. /****************************************
  9914.  * Generated header for interface: IColumnsInfo
  9915.  * at Tue Apr 28 11:55:07 1998
  9916.  * using MIDL 3.01.75
  9917.  ****************************************/
  9918. /* [unique][uuid][object] */ 
  9919.  
  9920.  
  9921.  
  9922. EXTERN_C const IID IID_IColumnsInfo;
  9923.  
  9924. #if defined(__cplusplus) && !defined(CINTERFACE)
  9925.     
  9926.     interface DECLSPEC_UUID("0c733a11-2a1c-11ce-ade5-00aa0044773d")
  9927.     IColumnsInfo : public IUnknown
  9928.     {
  9929.     public:
  9930.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetColumnInfo( 
  9931.             /* [out][in] */ ULONG __RPC_FAR *pcColumns,
  9932.             /* [size_is][size_is][out] */ DBCOLUMNINFO __RPC_FAR *__RPC_FAR *prgInfo,
  9933.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer) = 0;
  9934.         
  9935.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE MapColumnIDs( 
  9936.             /* [in] */ ULONG cColumnIDs,
  9937.             /* [size_is][in] */ const DBID __RPC_FAR rgColumnIDs[  ],
  9938.             /* [size_is][out] */ ULONG __RPC_FAR rgColumns[  ]) = 0;
  9939.         
  9940.     };
  9941.     
  9942. #else     /* C style interface */
  9943.  
  9944.     typedef struct IColumnsInfoVtbl
  9945.     {
  9946.         BEGIN_INTERFACE
  9947.         
  9948.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9949.             IColumnsInfo __RPC_FAR * This,
  9950.             /* [in] */ REFIID riid,
  9951.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9952.         
  9953.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9954.             IColumnsInfo __RPC_FAR * This);
  9955.         
  9956.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9957.             IColumnsInfo __RPC_FAR * This);
  9958.         
  9959.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetColumnInfo )( 
  9960.             IColumnsInfo __RPC_FAR * This,
  9961.             /* [out][in] */ ULONG __RPC_FAR *pcColumns,
  9962.             /* [size_is][size_is][out] */ DBCOLUMNINFO __RPC_FAR *__RPC_FAR *prgInfo,
  9963.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer);
  9964.         
  9965.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MapColumnIDs )( 
  9966.             IColumnsInfo __RPC_FAR * This,
  9967.             /* [in] */ ULONG cColumnIDs,
  9968.             /* [size_is][in] */ const DBID __RPC_FAR rgColumnIDs[  ],
  9969.             /* [size_is][out] */ ULONG __RPC_FAR rgColumns[  ]);
  9970.         
  9971.         END_INTERFACE
  9972.     } IColumnsInfoVtbl;
  9973.  
  9974.     interface IColumnsInfo
  9975.     {
  9976.         CONST_VTBL struct IColumnsInfoVtbl __RPC_FAR *lpVtbl;
  9977.     };
  9978.  
  9979.     
  9980.  
  9981. #ifdef COBJMACROS
  9982.  
  9983.  
  9984. #define IColumnsInfo_QueryInterface(This,riid,ppvObject)    \
  9985.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9986.  
  9987. #define IColumnsInfo_AddRef(This)    \
  9988.     (This)->lpVtbl -> AddRef(This)
  9989.  
  9990. #define IColumnsInfo_Release(This)    \
  9991.     (This)->lpVtbl -> Release(This)
  9992.  
  9993.  
  9994. #define IColumnsInfo_GetColumnInfo(This,pcColumns,prgInfo,ppStringsBuffer)    \
  9995.     (This)->lpVtbl -> GetColumnInfo(This,pcColumns,prgInfo,ppStringsBuffer)
  9996.  
  9997. #define IColumnsInfo_MapColumnIDs(This,cColumnIDs,rgColumnIDs,rgColumns)    \
  9998.     (This)->lpVtbl -> MapColumnIDs(This,cColumnIDs,rgColumnIDs,rgColumns)
  9999.  
  10000. #endif /* COBJMACROS */
  10001.  
  10002.  
  10003. #endif     /* C style interface */
  10004.  
  10005.  
  10006.  
  10007. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsInfo_RemoteGetColumnInfo_Proxy( 
  10008.     IColumnsInfo __RPC_FAR * This,
  10009.     /* [out][in] */ ULONG __RPC_FAR *pcColumns,
  10010.     /* [size_is][size_is][out] */ DBCOLUMNINFO __RPC_FAR *__RPC_FAR *prgInfo,
  10011.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgNameOffsets,
  10012.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgcolumnidOffsets,
  10013.     /* [out][in] */ ULONG __RPC_FAR *pcbStringsBuffer,
  10014.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer,
  10015.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  10016.  
  10017.  
  10018. void __RPC_STUB IColumnsInfo_RemoteGetColumnInfo_Stub(
  10019.     IRpcStubBuffer *This,
  10020.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10021.     PRPC_MESSAGE _pRpcMessage,
  10022.     DWORD *_pdwStubPhase);
  10023.  
  10024.  
  10025. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsInfo_RemoteMapColumnIDs_Proxy( 
  10026.     IColumnsInfo __RPC_FAR * This,
  10027.     /* [in] */ ULONG cColumnIDs,
  10028.     /* [size_is][in] */ const DBID __RPC_FAR *rgColumnIDs,
  10029.     /* [size_is][out] */ ULONG __RPC_FAR *rgColumns,
  10030.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  10031.  
  10032.  
  10033. void __RPC_STUB IColumnsInfo_RemoteMapColumnIDs_Stub(
  10034.     IRpcStubBuffer *This,
  10035.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10036.     PRPC_MESSAGE _pRpcMessage,
  10037.     DWORD *_pdwStubPhase);
  10038.  
  10039.  
  10040.  
  10041. #endif     /* __IColumnsInfo_INTERFACE_DEFINED__ */
  10042.  
  10043.  
  10044. #ifndef __IDBCreateCommand_INTERFACE_DEFINED__
  10045. #define __IDBCreateCommand_INTERFACE_DEFINED__
  10046.  
  10047. /****************************************
  10048.  * Generated header for interface: IDBCreateCommand
  10049.  * at Tue Apr 28 11:55:07 1998
  10050.  * using MIDL 3.01.75
  10051.  ****************************************/
  10052. /* [unique][uuid][object] */ 
  10053.  
  10054.  
  10055.  
  10056. EXTERN_C const IID IID_IDBCreateCommand;
  10057.  
  10058. #if defined(__cplusplus) && !defined(CINTERFACE)
  10059.     
  10060.     interface DECLSPEC_UUID("0c733a1d-2a1c-11ce-ade5-00aa0044773d")
  10061.     IDBCreateCommand : public IUnknown
  10062.     {
  10063.     public:
  10064.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateCommand( 
  10065.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  10066.             /* [in] */ REFIID riid,
  10067.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppCommand) = 0;
  10068.         
  10069.     };
  10070.     
  10071. #else     /* C style interface */
  10072.  
  10073.     typedef struct IDBCreateCommandVtbl
  10074.     {
  10075.         BEGIN_INTERFACE
  10076.         
  10077.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10078.             IDBCreateCommand __RPC_FAR * This,
  10079.             /* [in] */ REFIID riid,
  10080.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10081.         
  10082.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10083.             IDBCreateCommand __RPC_FAR * This);
  10084.         
  10085.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10086.             IDBCreateCommand __RPC_FAR * This);
  10087.         
  10088.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateCommand )( 
  10089.             IDBCreateCommand __RPC_FAR * This,
  10090.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  10091.             /* [in] */ REFIID riid,
  10092.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppCommand);
  10093.         
  10094.         END_INTERFACE
  10095.     } IDBCreateCommandVtbl;
  10096.  
  10097.     interface IDBCreateCommand
  10098.     {
  10099.         CONST_VTBL struct IDBCreateCommandVtbl __RPC_FAR *lpVtbl;
  10100.     };
  10101.  
  10102.     
  10103.  
  10104. #ifdef COBJMACROS
  10105.  
  10106.  
  10107. #define IDBCreateCommand_QueryInterface(This,riid,ppvObject)    \
  10108.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10109.  
  10110. #define IDBCreateCommand_AddRef(This)    \
  10111.     (This)->lpVtbl -> AddRef(This)
  10112.  
  10113. #define IDBCreateCommand_Release(This)    \
  10114.     (This)->lpVtbl -> Release(This)
  10115.  
  10116.  
  10117. #define IDBCreateCommand_CreateCommand(This,pUnkOuter,riid,ppCommand)    \
  10118.     (This)->lpVtbl -> CreateCommand(This,pUnkOuter,riid,ppCommand)
  10119.  
  10120. #endif /* COBJMACROS */
  10121.  
  10122.  
  10123. #endif     /* C style interface */
  10124.  
  10125.  
  10126.  
  10127. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBCreateCommand_RemoteCreateCommand_Proxy( 
  10128.     IDBCreateCommand __RPC_FAR * This,
  10129.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  10130.     /* [in] */ REFIID riid,
  10131.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppCommand,
  10132.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  10133.  
  10134.  
  10135. void __RPC_STUB IDBCreateCommand_RemoteCreateCommand_Stub(
  10136.     IRpcStubBuffer *This,
  10137.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10138.     PRPC_MESSAGE _pRpcMessage,
  10139.     DWORD *_pdwStubPhase);
  10140.  
  10141.  
  10142.  
  10143. #endif     /* __IDBCreateCommand_INTERFACE_DEFINED__ */
  10144.  
  10145.  
  10146. #ifndef __IDBCreateSession_INTERFACE_DEFINED__
  10147. #define __IDBCreateSession_INTERFACE_DEFINED__
  10148.  
  10149. /****************************************
  10150.  * Generated header for interface: IDBCreateSession
  10151.  * at Tue Apr 28 11:55:07 1998
  10152.  * using MIDL 3.01.75
  10153.  ****************************************/
  10154. /* [unique][uuid][object] */ 
  10155.  
  10156.  
  10157.  
  10158. EXTERN_C const IID IID_IDBCreateSession;
  10159.  
  10160. #if defined(__cplusplus) && !defined(CINTERFACE)
  10161.     
  10162.     interface DECLSPEC_UUID("0c733a5d-2a1c-11ce-ade5-00aa0044773d")
  10163.     IDBCreateSession : public IUnknown
  10164.     {
  10165.     public:
  10166.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateSession( 
  10167.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  10168.             /* [in] */ REFIID riid,
  10169.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDBSession) = 0;
  10170.         
  10171.     };
  10172.     
  10173. #else     /* C style interface */
  10174.  
  10175.     typedef struct IDBCreateSessionVtbl
  10176.     {
  10177.         BEGIN_INTERFACE
  10178.         
  10179.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10180.             IDBCreateSession __RPC_FAR * This,
  10181.             /* [in] */ REFIID riid,
  10182.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10183.         
  10184.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10185.             IDBCreateSession __RPC_FAR * This);
  10186.         
  10187.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10188.             IDBCreateSession __RPC_FAR * This);
  10189.         
  10190.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateSession )( 
  10191.             IDBCreateSession __RPC_FAR * This,
  10192.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  10193.             /* [in] */ REFIID riid,
  10194.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDBSession);
  10195.         
  10196.         END_INTERFACE
  10197.     } IDBCreateSessionVtbl;
  10198.  
  10199.     interface IDBCreateSession
  10200.     {
  10201.         CONST_VTBL struct IDBCreateSessionVtbl __RPC_FAR *lpVtbl;
  10202.     };
  10203.  
  10204.     
  10205.  
  10206. #ifdef COBJMACROS
  10207.  
  10208.  
  10209. #define IDBCreateSession_QueryInterface(This,riid,ppvObject)    \
  10210.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10211.  
  10212. #define IDBCreateSession_AddRef(This)    \
  10213.     (This)->lpVtbl -> AddRef(This)
  10214.  
  10215. #define IDBCreateSession_Release(This)    \
  10216.     (This)->lpVtbl -> Release(This)
  10217.  
  10218.  
  10219. #define IDBCreateSession_CreateSession(This,pUnkOuter,riid,ppDBSession)    \
  10220.     (This)->lpVtbl -> CreateSession(This,pUnkOuter,riid,ppDBSession)
  10221.  
  10222. #endif /* COBJMACROS */
  10223.  
  10224.  
  10225. #endif     /* C style interface */
  10226.  
  10227.  
  10228.  
  10229. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBCreateSession_RemoteCreateSession_Proxy( 
  10230.     IDBCreateSession __RPC_FAR * This,
  10231.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  10232.     /* [in] */ REFIID riid,
  10233.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDBSession,
  10234.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  10235.  
  10236.  
  10237. void __RPC_STUB IDBCreateSession_RemoteCreateSession_Stub(
  10238.     IRpcStubBuffer *This,
  10239.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10240.     PRPC_MESSAGE _pRpcMessage,
  10241.     DWORD *_pdwStubPhase);
  10242.  
  10243.  
  10244.  
  10245. #endif     /* __IDBCreateSession_INTERFACE_DEFINED__ */
  10246.  
  10247.  
  10248. #ifndef __ISourcesRowset_INTERFACE_DEFINED__
  10249. #define __ISourcesRowset_INTERFACE_DEFINED__
  10250.  
  10251. /****************************************
  10252.  * Generated header for interface: ISourcesRowset
  10253.  * at Tue Apr 28 11:55:07 1998
  10254.  * using MIDL 3.01.75
  10255.  ****************************************/
  10256. /* [unique][uuid][object] */ 
  10257.  
  10258.  
  10259. typedef DWORD DBSOURCETYPE;
  10260.  
  10261.  
  10262. enum DBSOURCETYPEENUM
  10263.     {    DBSOURCETYPE_DATASOURCE    = 1,
  10264.     DBSOURCETYPE_ENUMERATOR    = 2
  10265.     };
  10266. //@@@+ V2.0
  10267. #if( OLEDBVER >= 0x0200 )
  10268.  
  10269. enum DBSOURCETYPEENUM20
  10270.     {    DBSOURCETYPE_DATASOURCE_TDP    = 1,
  10271.     DBSOURCETYPE_DATASOURCE_MDP    = 3
  10272.     };
  10273. #endif // OLEDBVER >= 0x0200
  10274. //@@@- V2.0
  10275.  
  10276. EXTERN_C const IID IID_ISourcesRowset;
  10277.  
  10278. #if defined(__cplusplus) && !defined(CINTERFACE)
  10279.     
  10280.     interface DECLSPEC_UUID("0c733a1e-2a1c-11ce-ade5-00aa0044773d")
  10281.     ISourcesRowset : public IUnknown
  10282.     {
  10283.     public:
  10284.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSourcesRowset( 
  10285.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  10286.             /* [in] */ REFIID riid,
  10287.             /* [in] */ ULONG cPropertySets,
  10288.             /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgProperties[  ],
  10289.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSourcesRowset) = 0;
  10290.         
  10291.     };
  10292.     
  10293. #else     /* C style interface */
  10294.  
  10295.     typedef struct ISourcesRowsetVtbl
  10296.     {
  10297.         BEGIN_INTERFACE
  10298.         
  10299.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10300.             ISourcesRowset __RPC_FAR * This,
  10301.             /* [in] */ REFIID riid,
  10302.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10303.         
  10304.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10305.             ISourcesRowset __RPC_FAR * This);
  10306.         
  10307.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10308.             ISourcesRowset __RPC_FAR * This);
  10309.         
  10310.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourcesRowset )( 
  10311.             ISourcesRowset __RPC_FAR * This,
  10312.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  10313.             /* [in] */ REFIID riid,
  10314.             /* [in] */ ULONG cPropertySets,
  10315.             /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgProperties[  ],
  10316.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSourcesRowset);
  10317.         
  10318.         END_INTERFACE
  10319.     } ISourcesRowsetVtbl;
  10320.  
  10321.     interface ISourcesRowset
  10322.     {
  10323.         CONST_VTBL struct ISourcesRowsetVtbl __RPC_FAR *lpVtbl;
  10324.     };
  10325.  
  10326.     
  10327.  
  10328. #ifdef COBJMACROS
  10329.  
  10330.  
  10331. #define ISourcesRowset_QueryInterface(This,riid,ppvObject)    \
  10332.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10333.  
  10334. #define ISourcesRowset_AddRef(This)    \
  10335.     (This)->lpVtbl -> AddRef(This)
  10336.  
  10337. #define ISourcesRowset_Release(This)    \
  10338.     (This)->lpVtbl -> Release(This)
  10339.  
  10340.  
  10341. #define ISourcesRowset_GetSourcesRowset(This,pUnkOuter,riid,cPropertySets,rgProperties,ppSourcesRowset)    \
  10342.     (This)->lpVtbl -> GetSourcesRowset(This,pUnkOuter,riid,cPropertySets,rgProperties,ppSourcesRowset)
  10343.  
  10344. #endif /* COBJMACROS */
  10345.  
  10346.  
  10347. #endif     /* C style interface */
  10348.  
  10349.  
  10350.  
  10351. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISourcesRowset_RemoteGetSourcesRowset_Proxy( 
  10352.     ISourcesRowset __RPC_FAR * This,
  10353.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  10354.     /* [in] */ REFIID riid,
  10355.     /* [in] */ ULONG cPropertySets,
  10356.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgProperties,
  10357.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSourcesRowset,
  10358.     /* [in] */ ULONG cTotalProps,
  10359.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  10360.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  10361.  
  10362.  
  10363. void __RPC_STUB ISourcesRowset_RemoteGetSourcesRowset_Stub(
  10364.     IRpcStubBuffer *This,
  10365.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10366.     PRPC_MESSAGE _pRpcMessage,
  10367.     DWORD *_pdwStubPhase);
  10368.  
  10369.  
  10370.  
  10371. #endif     /* __ISourcesRowset_INTERFACE_DEFINED__ */
  10372.  
  10373.  
  10374. #ifndef __IDBProperties_INTERFACE_DEFINED__
  10375. #define __IDBProperties_INTERFACE_DEFINED__
  10376.  
  10377. /****************************************
  10378.  * Generated header for interface: IDBProperties
  10379.  * at Tue Apr 28 11:55:07 1998
  10380.  * using MIDL 3.01.75
  10381.  ****************************************/
  10382. /* [unique][uuid][object] */ 
  10383.  
  10384.  
  10385.  
  10386. EXTERN_C const IID IID_IDBProperties;
  10387.  
  10388. #if defined(__cplusplus) && !defined(CINTERFACE)
  10389.     
  10390.     interface DECLSPEC_UUID("0c733a8a-2a1c-11ce-ade5-00aa0044773d")
  10391.     IDBProperties : public IUnknown
  10392.     {
  10393.     public:
  10394.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetProperties( 
  10395.             /* [in] */ ULONG cPropertyIDSets,
  10396.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  10397.             /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  10398.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets) = 0;
  10399.         
  10400.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetPropertyInfo( 
  10401.             /* [in] */ ULONG cPropertyIDSets,
  10402.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  10403.             /* [out][in] */ ULONG __RPC_FAR *pcPropertyInfoSets,
  10404.             /* [size_is][size_is][out] */ DBPROPINFOSET __RPC_FAR *__RPC_FAR *prgPropertyInfoSets,
  10405.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppDescBuffer) = 0;
  10406.         
  10407.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetProperties( 
  10408.             /* [in] */ ULONG cPropertySets,
  10409.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]) = 0;
  10410.         
  10411.     };
  10412.     
  10413. #else     /* C style interface */
  10414.  
  10415.     typedef struct IDBPropertiesVtbl
  10416.     {
  10417.         BEGIN_INTERFACE
  10418.         
  10419.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10420.             IDBProperties __RPC_FAR * This,
  10421.             /* [in] */ REFIID riid,
  10422.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10423.         
  10424.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10425.             IDBProperties __RPC_FAR * This);
  10426.         
  10427.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10428.             IDBProperties __RPC_FAR * This);
  10429.         
  10430.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProperties )( 
  10431.             IDBProperties __RPC_FAR * This,
  10432.             /* [in] */ ULONG cPropertyIDSets,
  10433.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  10434.             /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  10435.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets);
  10436.         
  10437.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPropertyInfo )( 
  10438.             IDBProperties __RPC_FAR * This,
  10439.             /* [in] */ ULONG cPropertyIDSets,
  10440.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  10441.             /* [out][in] */ ULONG __RPC_FAR *pcPropertyInfoSets,
  10442.             /* [size_is][size_is][out] */ DBPROPINFOSET __RPC_FAR *__RPC_FAR *prgPropertyInfoSets,
  10443.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppDescBuffer);
  10444.         
  10445.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProperties )( 
  10446.             IDBProperties __RPC_FAR * This,
  10447.             /* [in] */ ULONG cPropertySets,
  10448.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  10449.         
  10450.         END_INTERFACE
  10451.     } IDBPropertiesVtbl;
  10452.  
  10453.     interface IDBProperties
  10454.     {
  10455.         CONST_VTBL struct IDBPropertiesVtbl __RPC_FAR *lpVtbl;
  10456.     };
  10457.  
  10458.     
  10459.  
  10460. #ifdef COBJMACROS
  10461.  
  10462.  
  10463. #define IDBProperties_QueryInterface(This,riid,ppvObject)    \
  10464.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10465.  
  10466. #define IDBProperties_AddRef(This)    \
  10467.     (This)->lpVtbl -> AddRef(This)
  10468.  
  10469. #define IDBProperties_Release(This)    \
  10470.     (This)->lpVtbl -> Release(This)
  10471.  
  10472.  
  10473. #define IDBProperties_GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)    \
  10474.     (This)->lpVtbl -> GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  10475.  
  10476. #define IDBProperties_GetPropertyInfo(This,cPropertyIDSets,rgPropertyIDSets,pcPropertyInfoSets,prgPropertyInfoSets,ppDescBuffer)    \
  10477.     (This)->lpVtbl -> GetPropertyInfo(This,cPropertyIDSets,rgPropertyIDSets,pcPropertyInfoSets,prgPropertyInfoSets,ppDescBuffer)
  10478.  
  10479. #define IDBProperties_SetProperties(This,cPropertySets,rgPropertySets)    \
  10480.     (This)->lpVtbl -> SetProperties(This,cPropertySets,rgPropertySets)
  10481.  
  10482. #endif /* COBJMACROS */
  10483.  
  10484.  
  10485. #endif     /* C style interface */
  10486.  
  10487.  
  10488.  
  10489. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBProperties_RemoteGetProperties_Proxy( 
  10490.     IDBProperties __RPC_FAR * This,
  10491.     /* [in] */ ULONG cPropertyIDSets,
  10492.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  10493.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  10494.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets,
  10495.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  10496.  
  10497.  
  10498. void __RPC_STUB IDBProperties_RemoteGetProperties_Stub(
  10499.     IRpcStubBuffer *This,
  10500.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10501.     PRPC_MESSAGE _pRpcMessage,
  10502.     DWORD *_pdwStubPhase);
  10503.  
  10504.  
  10505. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBProperties_RemoteGetPropertyInfo_Proxy( 
  10506.     IDBProperties __RPC_FAR * This,
  10507.     /* [in] */ ULONG cPropertyIDSets,
  10508.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  10509.     /* [out][in] */ ULONG __RPC_FAR *pcPropertyInfoSets,
  10510.     /* [size_is][size_is][out] */ DBPROPINFOSET __RPC_FAR *__RPC_FAR *prgPropertyInfoSets,
  10511.     /* [out][in] */ ULONG __RPC_FAR *pcOffsets,
  10512.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgDescOffsets,
  10513.     /* [out][in] */ ULONG __RPC_FAR *pcbDescBuffer,
  10514.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppDescBuffer,
  10515.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  10516.  
  10517.  
  10518. void __RPC_STUB IDBProperties_RemoteGetPropertyInfo_Stub(
  10519.     IRpcStubBuffer *This,
  10520.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10521.     PRPC_MESSAGE _pRpcMessage,
  10522.     DWORD *_pdwStubPhase);
  10523.  
  10524.  
  10525. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBProperties_RemoteSetProperties_Proxy( 
  10526.     IDBProperties __RPC_FAR * This,
  10527.     /* [in] */ ULONG cPropertySets,
  10528.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  10529.     /* [in] */ ULONG cTotalProps,
  10530.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  10531.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  10532.  
  10533.  
  10534. void __RPC_STUB IDBProperties_RemoteSetProperties_Stub(
  10535.     IRpcStubBuffer *This,
  10536.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10537.     PRPC_MESSAGE _pRpcMessage,
  10538.     DWORD *_pdwStubPhase);
  10539.  
  10540.  
  10541.  
  10542. #endif     /* __IDBProperties_INTERFACE_DEFINED__ */
  10543.  
  10544.  
  10545. #ifndef __IDBInitialize_INTERFACE_DEFINED__
  10546. #define __IDBInitialize_INTERFACE_DEFINED__
  10547.  
  10548. /****************************************
  10549.  * Generated header for interface: IDBInitialize
  10550.  * at Tue Apr 28 11:55:07 1998
  10551.  * using MIDL 3.01.75
  10552.  ****************************************/
  10553. /* [unique][uuid][object] */ 
  10554.  
  10555.  
  10556.  
  10557. EXTERN_C const IID IID_IDBInitialize;
  10558.  
  10559. #if defined(__cplusplus) && !defined(CINTERFACE)
  10560.     
  10561.     interface DECLSPEC_UUID("0c733a8b-2a1c-11ce-ade5-00aa0044773d")
  10562.     IDBInitialize : public IUnknown
  10563.     {
  10564.     public:
  10565.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Initialize( void) = 0;
  10566.         
  10567.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Uninitialize( void) = 0;
  10568.         
  10569.     };
  10570.     
  10571. #else     /* C style interface */
  10572.  
  10573.     typedef struct IDBInitializeVtbl
  10574.     {
  10575.         BEGIN_INTERFACE
  10576.         
  10577.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10578.             IDBInitialize __RPC_FAR * This,
  10579.             /* [in] */ REFIID riid,
  10580.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10581.         
  10582.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10583.             IDBInitialize __RPC_FAR * This);
  10584.         
  10585.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10586.             IDBInitialize __RPC_FAR * This);
  10587.         
  10588.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Initialize )( 
  10589.             IDBInitialize __RPC_FAR * This);
  10590.         
  10591.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Uninitialize )( 
  10592.             IDBInitialize __RPC_FAR * This);
  10593.         
  10594.         END_INTERFACE
  10595.     } IDBInitializeVtbl;
  10596.  
  10597.     interface IDBInitialize
  10598.     {
  10599.         CONST_VTBL struct IDBInitializeVtbl __RPC_FAR *lpVtbl;
  10600.     };
  10601.  
  10602.     
  10603.  
  10604. #ifdef COBJMACROS
  10605.  
  10606.  
  10607. #define IDBInitialize_QueryInterface(This,riid,ppvObject)    \
  10608.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10609.  
  10610. #define IDBInitialize_AddRef(This)    \
  10611.     (This)->lpVtbl -> AddRef(This)
  10612.  
  10613. #define IDBInitialize_Release(This)    \
  10614.     (This)->lpVtbl -> Release(This)
  10615.  
  10616.  
  10617. #define IDBInitialize_Initialize(This)    \
  10618.     (This)->lpVtbl -> Initialize(This)
  10619.  
  10620. #define IDBInitialize_Uninitialize(This)    \
  10621.     (This)->lpVtbl -> Uninitialize(This)
  10622.  
  10623. #endif /* COBJMACROS */
  10624.  
  10625.  
  10626. #endif     /* C style interface */
  10627.  
  10628.  
  10629.  
  10630. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInitialize_RemoteInitialize_Proxy( 
  10631.     IDBInitialize __RPC_FAR * This,
  10632.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  10633.  
  10634.  
  10635. void __RPC_STUB IDBInitialize_RemoteInitialize_Stub(
  10636.     IRpcStubBuffer *This,
  10637.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10638.     PRPC_MESSAGE _pRpcMessage,
  10639.     DWORD *_pdwStubPhase);
  10640.  
  10641.  
  10642. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInitialize_RemoteUninitialize_Proxy( 
  10643.     IDBInitialize __RPC_FAR * This,
  10644.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  10645.  
  10646.  
  10647. void __RPC_STUB IDBInitialize_RemoteUninitialize_Stub(
  10648.     IRpcStubBuffer *This,
  10649.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10650.     PRPC_MESSAGE _pRpcMessage,
  10651.     DWORD *_pdwStubPhase);
  10652.  
  10653.  
  10654.  
  10655. #endif     /* __IDBInitialize_INTERFACE_DEFINED__ */
  10656.  
  10657.  
  10658. #ifndef __IDBInfo_INTERFACE_DEFINED__
  10659. #define __IDBInfo_INTERFACE_DEFINED__
  10660.  
  10661. /****************************************
  10662.  * Generated header for interface: IDBInfo
  10663.  * at Tue Apr 28 11:55:07 1998
  10664.  * using MIDL 3.01.75
  10665.  ****************************************/
  10666. /* [unique][uuid][object] */ 
  10667.  
  10668.  
  10669. typedef DWORD DBLITERAL;
  10670.  
  10671.  
  10672. enum DBLITERALENUM
  10673.     {    DBLITERAL_INVALID    = 0,
  10674.     DBLITERAL_BINARY_LITERAL    = 1,
  10675.     DBLITERAL_CATALOG_NAME    = 2,
  10676.     DBLITERAL_CATALOG_SEPARATOR    = 3,
  10677.     DBLITERAL_CHAR_LITERAL    = 4,
  10678.     DBLITERAL_COLUMN_ALIAS    = 5,
  10679.     DBLITERAL_COLUMN_NAME    = 6,
  10680.     DBLITERAL_CORRELATION_NAME    = 7,
  10681.     DBLITERAL_CURSOR_NAME    = 8,
  10682.     DBLITERAL_ESCAPE_PERCENT    = 9,
  10683.     DBLITERAL_ESCAPE_UNDERSCORE    = 10,
  10684.     DBLITERAL_INDEX_NAME    = 11,
  10685.     DBLITERAL_LIKE_PERCENT    = 12,
  10686.     DBLITERAL_LIKE_UNDERSCORE    = 13,
  10687.     DBLITERAL_PROCEDURE_NAME    = 14,
  10688.     DBLITERAL_QUOTE    = 15,
  10689.     DBLITERAL_SCHEMA_NAME    = 16,
  10690.     DBLITERAL_TABLE_NAME    = 17,
  10691.     DBLITERAL_TEXT_COMMAND    = 18,
  10692.     DBLITERAL_USER_NAME    = 19,
  10693.     DBLITERAL_VIEW_NAME    = 20
  10694.     };
  10695. //@@@+ V2.0
  10696. #if( OLEDBVER >= 0x0200 )
  10697. #define DBLITERAL_QUOTE_PREFIX DBLITERAL_QUOTE
  10698.  
  10699. enum DBLITERALENUM20
  10700.     {    DBLITERAL_CUBE_NAME    = 21,
  10701.     DBLITERAL_DIMENSION_NAME    = 22,
  10702.     DBLITERAL_HIERARCHY_NAME    = 23,
  10703.     DBLITERAL_LEVEL_NAME    = 24,
  10704.     DBLITERAL_MEMBER_NAME    = 25,
  10705.     DBLITERAL_PROPERTY_NAME    = 26,
  10706.     DBLITERAL_SCHEMA_SEPARATOR    = 27,
  10707.     DBLITERAL_QUOTE_SUFFIX    = 28
  10708.     };
  10709. #endif // OLEDBVER >= 0x0200
  10710. //@@@- V2.0
  10711. typedef struct  tagDBLITERALINFO
  10712.     {
  10713.     LPOLESTR pwszLiteralValue;
  10714.     LPOLESTR pwszInvalidChars;
  10715.     LPOLESTR pwszInvalidStartingChars;
  10716.     DBLITERAL lt;
  10717.     BOOL fSupported;
  10718.     ULONG cchMaxLen;
  10719.     }    DBLITERALINFO;
  10720.  
  10721.  
  10722. EXTERN_C const IID IID_IDBInfo;
  10723.  
  10724. #if defined(__cplusplus) && !defined(CINTERFACE)
  10725.     
  10726.     interface DECLSPEC_UUID("0c733a89-2a1c-11ce-ade5-00aa0044773d")
  10727.     IDBInfo : public IUnknown
  10728.     {
  10729.     public:
  10730.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetKeywords( 
  10731.             /* [out] */ LPOLESTR __RPC_FAR *ppwszKeywords) = 0;
  10732.         
  10733.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetLiteralInfo( 
  10734.             /* [in] */ ULONG cLiterals,
  10735.             /* [size_is][in] */ const DBLITERAL __RPC_FAR rgLiterals[  ],
  10736.             /* [out][in] */ ULONG __RPC_FAR *pcLiteralInfo,
  10737.             /* [size_is][size_is][out] */ DBLITERALINFO __RPC_FAR *__RPC_FAR *prgLiteralInfo,
  10738.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppCharBuffer) = 0;
  10739.         
  10740.     };
  10741.     
  10742. #else     /* C style interface */
  10743.  
  10744.     typedef struct IDBInfoVtbl
  10745.     {
  10746.         BEGIN_INTERFACE
  10747.         
  10748.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10749.             IDBInfo __RPC_FAR * This,
  10750.             /* [in] */ REFIID riid,
  10751.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10752.         
  10753.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10754.             IDBInfo __RPC_FAR * This);
  10755.         
  10756.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10757.             IDBInfo __RPC_FAR * This);
  10758.         
  10759.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetKeywords )( 
  10760.             IDBInfo __RPC_FAR * This,
  10761.             /* [out] */ LPOLESTR __RPC_FAR *ppwszKeywords);
  10762.         
  10763.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLiteralInfo )( 
  10764.             IDBInfo __RPC_FAR * This,
  10765.             /* [in] */ ULONG cLiterals,
  10766.             /* [size_is][in] */ const DBLITERAL __RPC_FAR rgLiterals[  ],
  10767.             /* [out][in] */ ULONG __RPC_FAR *pcLiteralInfo,
  10768.             /* [size_is][size_is][out] */ DBLITERALINFO __RPC_FAR *__RPC_FAR *prgLiteralInfo,
  10769.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppCharBuffer);
  10770.         
  10771.         END_INTERFACE
  10772.     } IDBInfoVtbl;
  10773.  
  10774.     interface IDBInfo
  10775.     {
  10776.         CONST_VTBL struct IDBInfoVtbl __RPC_FAR *lpVtbl;
  10777.     };
  10778.  
  10779.     
  10780.  
  10781. #ifdef COBJMACROS
  10782.  
  10783.  
  10784. #define IDBInfo_QueryInterface(This,riid,ppvObject)    \
  10785.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10786.  
  10787. #define IDBInfo_AddRef(This)    \
  10788.     (This)->lpVtbl -> AddRef(This)
  10789.  
  10790. #define IDBInfo_Release(This)    \
  10791.     (This)->lpVtbl -> Release(This)
  10792.  
  10793.  
  10794. #define IDBInfo_GetKeywords(This,ppwszKeywords)    \
  10795.     (This)->lpVtbl -> GetKeywords(This,ppwszKeywords)
  10796.  
  10797. #define IDBInfo_GetLiteralInfo(This,cLiterals,rgLiterals,pcLiteralInfo,prgLiteralInfo,ppCharBuffer)    \
  10798.     (This)->lpVtbl -> GetLiteralInfo(This,cLiterals,rgLiterals,pcLiteralInfo,prgLiteralInfo,ppCharBuffer)
  10799.  
  10800. #endif /* COBJMACROS */
  10801.  
  10802.  
  10803. #endif     /* C style interface */
  10804.  
  10805.  
  10806.  
  10807. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInfo_RemoteGetKeywords_Proxy( 
  10808.     IDBInfo __RPC_FAR * This,
  10809.     /* [unique][out][in] */ LPOLESTR __RPC_FAR *ppwszKeywords,
  10810.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  10811.  
  10812.  
  10813. void __RPC_STUB IDBInfo_RemoteGetKeywords_Stub(
  10814.     IRpcStubBuffer *This,
  10815.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10816.     PRPC_MESSAGE _pRpcMessage,
  10817.     DWORD *_pdwStubPhase);
  10818.  
  10819.  
  10820. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInfo_RemoteGetLiteralInfo_Proxy( 
  10821.     IDBInfo __RPC_FAR * This,
  10822.     /* [in] */ ULONG cLiterals,
  10823.     /* [size_is][unique][in] */ const DBLITERAL __RPC_FAR *rgLiterals,
  10824.     /* [out][in] */ ULONG __RPC_FAR *pcLiteralInfo,
  10825.     /* [size_is][size_is][out] */ DBLITERALINFO __RPC_FAR *__RPC_FAR *prgLiteralInfo,
  10826.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgLVOffsets,
  10827.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgICOffsets,
  10828.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgISCOffsets,
  10829.     /* [out][in] */ ULONG __RPC_FAR *pcbCharBuffer,
  10830.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppCharBuffer,
  10831.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  10832.  
  10833.  
  10834. void __RPC_STUB IDBInfo_RemoteGetLiteralInfo_Stub(
  10835.     IRpcStubBuffer *This,
  10836.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10837.     PRPC_MESSAGE _pRpcMessage,
  10838.     DWORD *_pdwStubPhase);
  10839.  
  10840.  
  10841.  
  10842. #endif     /* __IDBInfo_INTERFACE_DEFINED__ */
  10843.  
  10844.  
  10845. #ifndef __IDBDataSourceAdmin_INTERFACE_DEFINED__
  10846. #define __IDBDataSourceAdmin_INTERFACE_DEFINED__
  10847.  
  10848. /****************************************
  10849.  * Generated header for interface: IDBDataSourceAdmin
  10850.  * at Tue Apr 28 11:55:07 1998
  10851.  * using MIDL 3.01.75
  10852.  ****************************************/
  10853. /* [unique][uuid][object] */ 
  10854.  
  10855.  
  10856.  
  10857. EXTERN_C const IID IID_IDBDataSourceAdmin;
  10858.  
  10859. #if defined(__cplusplus) && !defined(CINTERFACE)
  10860.     
  10861.     interface DECLSPEC_UUID("0c733a7a-2a1c-11ce-ade5-00aa0044773d")
  10862.     IDBDataSourceAdmin : public IUnknown
  10863.     {
  10864.     public:
  10865.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateDataSource( 
  10866.             /* [in] */ ULONG cPropertySets,
  10867.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  10868.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  10869.             /* [in] */ REFIID riid,
  10870.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDBSession) = 0;
  10871.         
  10872.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE DestroyDataSource( void) = 0;
  10873.         
  10874.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetCreationProperties( 
  10875.             /* [in] */ ULONG cPropertyIDSets,
  10876.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  10877.             /* [out][in] */ ULONG __RPC_FAR *pcPropertyInfoSets,
  10878.             /* [size_is][size_is][out] */ DBPROPINFOSET __RPC_FAR *__RPC_FAR *prgPropertyInfoSets,
  10879.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppDescBuffer) = 0;
  10880.         
  10881.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE ModifyDataSource( 
  10882.             /* [in] */ ULONG cPropertySets,
  10883.             /* [size_is][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]) = 0;
  10884.         
  10885.     };
  10886.     
  10887. #else     /* C style interface */
  10888.  
  10889.     typedef struct IDBDataSourceAdminVtbl
  10890.     {
  10891.         BEGIN_INTERFACE
  10892.         
  10893.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10894.             IDBDataSourceAdmin __RPC_FAR * This,
  10895.             /* [in] */ REFIID riid,
  10896.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10897.         
  10898.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10899.             IDBDataSourceAdmin __RPC_FAR * This);
  10900.         
  10901.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10902.             IDBDataSourceAdmin __RPC_FAR * This);
  10903.         
  10904.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateDataSource )( 
  10905.             IDBDataSourceAdmin __RPC_FAR * This,
  10906.             /* [in] */ ULONG cPropertySets,
  10907.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  10908.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  10909.             /* [in] */ REFIID riid,
  10910.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDBSession);
  10911.         
  10912.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DestroyDataSource )( 
  10913.             IDBDataSourceAdmin __RPC_FAR * This);
  10914.         
  10915.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCreationProperties )( 
  10916.             IDBDataSourceAdmin __RPC_FAR * This,
  10917.             /* [in] */ ULONG cPropertyIDSets,
  10918.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  10919.             /* [out][in] */ ULONG __RPC_FAR *pcPropertyInfoSets,
  10920.             /* [size_is][size_is][out] */ DBPROPINFOSET __RPC_FAR *__RPC_FAR *prgPropertyInfoSets,
  10921.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppDescBuffer);
  10922.         
  10923.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ModifyDataSource )( 
  10924.             IDBDataSourceAdmin __RPC_FAR * This,
  10925.             /* [in] */ ULONG cPropertySets,
  10926.             /* [size_is][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  10927.         
  10928.         END_INTERFACE
  10929.     } IDBDataSourceAdminVtbl;
  10930.  
  10931.     interface IDBDataSourceAdmin
  10932.     {
  10933.         CONST_VTBL struct IDBDataSourceAdminVtbl __RPC_FAR *lpVtbl;
  10934.     };
  10935.  
  10936.     
  10937.  
  10938. #ifdef COBJMACROS
  10939.  
  10940.  
  10941. #define IDBDataSourceAdmin_QueryInterface(This,riid,ppvObject)    \
  10942.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10943.  
  10944. #define IDBDataSourceAdmin_AddRef(This)    \
  10945.     (This)->lpVtbl -> AddRef(This)
  10946.  
  10947. #define IDBDataSourceAdmin_Release(This)    \
  10948.     (This)->lpVtbl -> Release(This)
  10949.  
  10950.  
  10951. #define IDBDataSourceAdmin_CreateDataSource(This,cPropertySets,rgPropertySets,pUnkOuter,riid,ppDBSession)    \
  10952.     (This)->lpVtbl -> CreateDataSource(This,cPropertySets,rgPropertySets,pUnkOuter,riid,ppDBSession)
  10953.  
  10954. #define IDBDataSourceAdmin_DestroyDataSource(This)    \
  10955.     (This)->lpVtbl -> DestroyDataSource(This)
  10956.  
  10957. #define IDBDataSourceAdmin_GetCreationProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertyInfoSets,prgPropertyInfoSets,ppDescBuffer)    \
  10958.     (This)->lpVtbl -> GetCreationProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertyInfoSets,prgPropertyInfoSets,ppDescBuffer)
  10959.  
  10960. #define IDBDataSourceAdmin_ModifyDataSource(This,cPropertySets,rgPropertySets)    \
  10961.     (This)->lpVtbl -> ModifyDataSource(This,cPropertySets,rgPropertySets)
  10962.  
  10963. #endif /* COBJMACROS */
  10964.  
  10965.  
  10966. #endif     /* C style interface */
  10967.  
  10968.  
  10969.  
  10970. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_RemoteCreateDataSource_Proxy( 
  10971.     IDBDataSourceAdmin __RPC_FAR * This,
  10972.     /* [in] */ ULONG cPropertySets,
  10973.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  10974.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  10975.     /* [in] */ REFIID riid,
  10976.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppDBSession,
  10977.     /* [in] */ ULONG cTotalProps,
  10978.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  10979.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  10980.  
  10981.  
  10982. void __RPC_STUB IDBDataSourceAdmin_RemoteCreateDataSource_Stub(
  10983.     IRpcStubBuffer *This,
  10984.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10985.     PRPC_MESSAGE _pRpcMessage,
  10986.     DWORD *_pdwStubPhase);
  10987.  
  10988.  
  10989. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_RemoteDestroyDataSource_Proxy( 
  10990.     IDBDataSourceAdmin __RPC_FAR * This,
  10991.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  10992.  
  10993.  
  10994. void __RPC_STUB IDBDataSourceAdmin_RemoteDestroyDataSource_Stub(
  10995.     IRpcStubBuffer *This,
  10996.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10997.     PRPC_MESSAGE _pRpcMessage,
  10998.     DWORD *_pdwStubPhase);
  10999.  
  11000.  
  11001. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_RemoteGetCreationProperties_Proxy( 
  11002.     IDBDataSourceAdmin __RPC_FAR * This,
  11003.     /* [in] */ ULONG cPropertyIDSets,
  11004.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  11005.     /* [out][in] */ ULONG __RPC_FAR *pcPropertyInfoSets,
  11006.     /* [size_is][size_is][out] */ DBPROPINFOSET __RPC_FAR *__RPC_FAR *prgPropertyInfoSets,
  11007.     /* [out][in] */ ULONG __RPC_FAR *pcOffsets,
  11008.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgDescOffsets,
  11009.     /* [out][in] */ ULONG __RPC_FAR *pcbDescBuffer,
  11010.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppDescBuffer,
  11011.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11012.  
  11013.  
  11014. void __RPC_STUB IDBDataSourceAdmin_RemoteGetCreationProperties_Stub(
  11015.     IRpcStubBuffer *This,
  11016.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11017.     PRPC_MESSAGE _pRpcMessage,
  11018.     DWORD *_pdwStubPhase);
  11019.  
  11020.  
  11021. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_RemoteModifyDataSource_Proxy( 
  11022.     IDBDataSourceAdmin __RPC_FAR * This,
  11023.     /* [in] */ ULONG cPropertySets,
  11024.     /* [size_is][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  11025.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11026.  
  11027.  
  11028. void __RPC_STUB IDBDataSourceAdmin_RemoteModifyDataSource_Stub(
  11029.     IRpcStubBuffer *This,
  11030.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11031.     PRPC_MESSAGE _pRpcMessage,
  11032.     DWORD *_pdwStubPhase);
  11033.  
  11034.  
  11035.  
  11036. #endif     /* __IDBDataSourceAdmin_INTERFACE_DEFINED__ */
  11037.  
  11038.  
  11039. /****************************************
  11040.  * Generated header for interface: __MIDL_itf_oledb_0123
  11041.  * at Tue Apr 28 11:55:07 1998
  11042.  * using MIDL 3.01.75
  11043.  ****************************************/
  11044. /* [local] */ 
  11045.  
  11046.  
  11047. //@@@+ V1.5
  11048. #if( OLEDBVER >= 0x0150 )
  11049.  
  11050.  
  11051. extern RPC_IF_HANDLE __MIDL_itf_oledb_0123_v0_0_c_ifspec;
  11052. extern RPC_IF_HANDLE __MIDL_itf_oledb_0123_v0_0_s_ifspec;
  11053.  
  11054. #ifndef __IDBAsynchNotify_INTERFACE_DEFINED__
  11055. #define __IDBAsynchNotify_INTERFACE_DEFINED__
  11056.  
  11057. /****************************************
  11058.  * Generated header for interface: IDBAsynchNotify
  11059.  * at Tue Apr 28 11:55:07 1998
  11060.  * using MIDL 3.01.75
  11061.  ****************************************/
  11062. /* [unique][uuid][object] */ 
  11063.  
  11064.  
  11065.  
  11066. EXTERN_C const IID IID_IDBAsynchNotify;
  11067.  
  11068. #if defined(__cplusplus) && !defined(CINTERFACE)
  11069.     
  11070.     interface DECLSPEC_UUID("0c733a96-2a1c-11ce-ade5-00aa0044773d")
  11071.     IDBAsynchNotify : public IUnknown
  11072.     {
  11073.     public:
  11074.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnLowResource( 
  11075.             /* [in] */ DWORD dwReserved) = 0;
  11076.         
  11077.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnProgress( 
  11078.             /* [in] */ HCHAPTER hChapter,
  11079.             /* [in] */ DBASYNCHOP eOperation,
  11080.             /* [in] */ ULONG ulProgress,
  11081.             /* [in] */ ULONG ulProgressMax,
  11082.             /* [in] */ DBASYNCHPHASE eAsynchPhase,
  11083.             /* [in] */ LPOLESTR pwszStatusText) = 0;
  11084.         
  11085.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnStop( 
  11086.             /* [in] */ HCHAPTER hChapter,
  11087.             /* [in] */ DBASYNCHOP eOperation,
  11088.             /* [in] */ HRESULT hrStatus,
  11089.             /* [in] */ LPOLESTR pwszStatusText) = 0;
  11090.         
  11091.     };
  11092.     
  11093. #else     /* C style interface */
  11094.  
  11095.     typedef struct IDBAsynchNotifyVtbl
  11096.     {
  11097.         BEGIN_INTERFACE
  11098.         
  11099.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11100.             IDBAsynchNotify __RPC_FAR * This,
  11101.             /* [in] */ REFIID riid,
  11102.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11103.         
  11104.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11105.             IDBAsynchNotify __RPC_FAR * This);
  11106.         
  11107.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11108.             IDBAsynchNotify __RPC_FAR * This);
  11109.         
  11110.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnLowResource )( 
  11111.             IDBAsynchNotify __RPC_FAR * This,
  11112.             /* [in] */ DWORD dwReserved);
  11113.         
  11114.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnProgress )( 
  11115.             IDBAsynchNotify __RPC_FAR * This,
  11116.             /* [in] */ HCHAPTER hChapter,
  11117.             /* [in] */ DBASYNCHOP eOperation,
  11118.             /* [in] */ ULONG ulProgress,
  11119.             /* [in] */ ULONG ulProgressMax,
  11120.             /* [in] */ DBASYNCHPHASE eAsynchPhase,
  11121.             /* [in] */ LPOLESTR pwszStatusText);
  11122.         
  11123.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnStop )( 
  11124.             IDBAsynchNotify __RPC_FAR * This,
  11125.             /* [in] */ HCHAPTER hChapter,
  11126.             /* [in] */ DBASYNCHOP eOperation,
  11127.             /* [in] */ HRESULT hrStatus,
  11128.             /* [in] */ LPOLESTR pwszStatusText);
  11129.         
  11130.         END_INTERFACE
  11131.     } IDBAsynchNotifyVtbl;
  11132.  
  11133.     interface IDBAsynchNotify
  11134.     {
  11135.         CONST_VTBL struct IDBAsynchNotifyVtbl __RPC_FAR *lpVtbl;
  11136.     };
  11137.  
  11138.     
  11139.  
  11140. #ifdef COBJMACROS
  11141.  
  11142.  
  11143. #define IDBAsynchNotify_QueryInterface(This,riid,ppvObject)    \
  11144.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11145.  
  11146. #define IDBAsynchNotify_AddRef(This)    \
  11147.     (This)->lpVtbl -> AddRef(This)
  11148.  
  11149. #define IDBAsynchNotify_Release(This)    \
  11150.     (This)->lpVtbl -> Release(This)
  11151.  
  11152.  
  11153. #define IDBAsynchNotify_OnLowResource(This,dwReserved)    \
  11154.     (This)->lpVtbl -> OnLowResource(This,dwReserved)
  11155.  
  11156. #define IDBAsynchNotify_OnProgress(This,hChapter,eOperation,ulProgress,ulProgressMax,eAsynchPhase,pwszStatusText)    \
  11157.     (This)->lpVtbl -> OnProgress(This,hChapter,eOperation,ulProgress,ulProgressMax,eAsynchPhase,pwszStatusText)
  11158.  
  11159. #define IDBAsynchNotify_OnStop(This,hChapter,eOperation,hrStatus,pwszStatusText)    \
  11160.     (This)->lpVtbl -> OnStop(This,hChapter,eOperation,hrStatus,pwszStatusText)
  11161.  
  11162. #endif /* COBJMACROS */
  11163.  
  11164.  
  11165. #endif     /* C style interface */
  11166.  
  11167.  
  11168.  
  11169. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_RemoteOnLowResource_Proxy( 
  11170.     IDBAsynchNotify __RPC_FAR * This,
  11171.     /* [in] */ DWORD dwReserved,
  11172.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11173.  
  11174.  
  11175. void __RPC_STUB IDBAsynchNotify_RemoteOnLowResource_Stub(
  11176.     IRpcStubBuffer *This,
  11177.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11178.     PRPC_MESSAGE _pRpcMessage,
  11179.     DWORD *_pdwStubPhase);
  11180.  
  11181.  
  11182. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_RemoteOnProgress_Proxy( 
  11183.     IDBAsynchNotify __RPC_FAR * This,
  11184.     /* [in] */ HCHAPTER hChapter,
  11185.     /* [in] */ DBASYNCHOP eOperation,
  11186.     /* [in] */ ULONG ulProgress,
  11187.     /* [in] */ ULONG ulProgressMax,
  11188.     /* [in] */ DBASYNCHPHASE eAsynchPhase,
  11189.     /* [in] */ LPOLESTR pwszStatusText,
  11190.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11191.  
  11192.  
  11193. void __RPC_STUB IDBAsynchNotify_RemoteOnProgress_Stub(
  11194.     IRpcStubBuffer *This,
  11195.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11196.     PRPC_MESSAGE _pRpcMessage,
  11197.     DWORD *_pdwStubPhase);
  11198.  
  11199.  
  11200. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_RemoteOnStop_Proxy( 
  11201.     IDBAsynchNotify __RPC_FAR * This,
  11202.     /* [in] */ HCHAPTER hChapter,
  11203.     /* [in] */ DBASYNCHOP eOperation,
  11204.     /* [in] */ HRESULT hrStatus,
  11205.     /* [in] */ LPOLESTR pwszStatusText,
  11206.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11207.  
  11208.  
  11209. void __RPC_STUB IDBAsynchNotify_RemoteOnStop_Stub(
  11210.     IRpcStubBuffer *This,
  11211.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11212.     PRPC_MESSAGE _pRpcMessage,
  11213.     DWORD *_pdwStubPhase);
  11214.  
  11215.  
  11216.  
  11217. #endif     /* __IDBAsynchNotify_INTERFACE_DEFINED__ */
  11218.  
  11219.  
  11220. #ifndef __IDBAsynchStatus_INTERFACE_DEFINED__
  11221. #define __IDBAsynchStatus_INTERFACE_DEFINED__
  11222.  
  11223. /****************************************
  11224.  * Generated header for interface: IDBAsynchStatus
  11225.  * at Tue Apr 28 11:55:07 1998
  11226.  * using MIDL 3.01.75
  11227.  ****************************************/
  11228. /* [unique][uuid][object] */ 
  11229.  
  11230.  
  11231.  
  11232. EXTERN_C const IID IID_IDBAsynchStatus;
  11233.  
  11234. #if defined(__cplusplus) && !defined(CINTERFACE)
  11235.     
  11236.     interface DECLSPEC_UUID("0c733a95-2a1c-11ce-ade5-00aa0044773d")
  11237.     IDBAsynchStatus : public IUnknown
  11238.     {
  11239.     public:
  11240.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Abort( 
  11241.             /* [in] */ HCHAPTER hChapter,
  11242.             /* [in] */ DBASYNCHOP eOperation) = 0;
  11243.         
  11244.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetStatus( 
  11245.             /* [in] */ HCHAPTER hChapter,
  11246.             /* [in] */ DBASYNCHOP eOperation,
  11247.             /* [out] */ ULONG __RPC_FAR *pulProgress,
  11248.             /* [out] */ ULONG __RPC_FAR *pulProgressMax,
  11249.             /* [out] */ DBASYNCHPHASE __RPC_FAR *peAsynchPhase,
  11250.             /* [out] */ LPOLESTR __RPC_FAR *ppwszStatusText) = 0;
  11251.         
  11252.     };
  11253.     
  11254. #else     /* C style interface */
  11255.  
  11256.     typedef struct IDBAsynchStatusVtbl
  11257.     {
  11258.         BEGIN_INTERFACE
  11259.         
  11260.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11261.             IDBAsynchStatus __RPC_FAR * This,
  11262.             /* [in] */ REFIID riid,
  11263.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11264.         
  11265.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11266.             IDBAsynchStatus __RPC_FAR * This);
  11267.         
  11268.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11269.             IDBAsynchStatus __RPC_FAR * This);
  11270.         
  11271.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Abort )( 
  11272.             IDBAsynchStatus __RPC_FAR * This,
  11273.             /* [in] */ HCHAPTER hChapter,
  11274.             /* [in] */ DBASYNCHOP eOperation);
  11275.         
  11276.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatus )( 
  11277.             IDBAsynchStatus __RPC_FAR * This,
  11278.             /* [in] */ HCHAPTER hChapter,
  11279.             /* [in] */ DBASYNCHOP eOperation,
  11280.             /* [out] */ ULONG __RPC_FAR *pulProgress,
  11281.             /* [out] */ ULONG __RPC_FAR *pulProgressMax,
  11282.             /* [out] */ DBASYNCHPHASE __RPC_FAR *peAsynchPhase,
  11283.             /* [out] */ LPOLESTR __RPC_FAR *ppwszStatusText);
  11284.         
  11285.         END_INTERFACE
  11286.     } IDBAsynchStatusVtbl;
  11287.  
  11288.     interface IDBAsynchStatus
  11289.     {
  11290.         CONST_VTBL struct IDBAsynchStatusVtbl __RPC_FAR *lpVtbl;
  11291.     };
  11292.  
  11293.     
  11294.  
  11295. #ifdef COBJMACROS
  11296.  
  11297.  
  11298. #define IDBAsynchStatus_QueryInterface(This,riid,ppvObject)    \
  11299.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11300.  
  11301. #define IDBAsynchStatus_AddRef(This)    \
  11302.     (This)->lpVtbl -> AddRef(This)
  11303.  
  11304. #define IDBAsynchStatus_Release(This)    \
  11305.     (This)->lpVtbl -> Release(This)
  11306.  
  11307.  
  11308. #define IDBAsynchStatus_Abort(This,hChapter,eOperation)    \
  11309.     (This)->lpVtbl -> Abort(This,hChapter,eOperation)
  11310.  
  11311. #define IDBAsynchStatus_GetStatus(This,hChapter,eOperation,pulProgress,pulProgressMax,peAsynchPhase,ppwszStatusText)    \
  11312.     (This)->lpVtbl -> GetStatus(This,hChapter,eOperation,pulProgress,pulProgressMax,peAsynchPhase,ppwszStatusText)
  11313.  
  11314. #endif /* COBJMACROS */
  11315.  
  11316.  
  11317. #endif     /* C style interface */
  11318.  
  11319.  
  11320.  
  11321. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchStatus_RemoteAbort_Proxy( 
  11322.     IDBAsynchStatus __RPC_FAR * This,
  11323.     /* [in] */ HCHAPTER hChapter,
  11324.     /* [in] */ DBASYNCHOP eOperation,
  11325.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11326.  
  11327.  
  11328. void __RPC_STUB IDBAsynchStatus_RemoteAbort_Stub(
  11329.     IRpcStubBuffer *This,
  11330.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11331.     PRPC_MESSAGE _pRpcMessage,
  11332.     DWORD *_pdwStubPhase);
  11333.  
  11334.  
  11335. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchStatus_RemoteGetStatus_Proxy( 
  11336.     IDBAsynchStatus __RPC_FAR * This,
  11337.     /* [in] */ HCHAPTER hChapter,
  11338.     /* [in] */ DBASYNCHOP eOperation,
  11339.     /* [out] */ ULONG __RPC_FAR *pulProgress,
  11340.     /* [out] */ ULONG __RPC_FAR *pulProgressMax,
  11341.     /* [out] */ DBASYNCHPHASE __RPC_FAR *peAsynchPhase,
  11342.     /* [out] */ LPOLESTR __RPC_FAR *ppwszStatusText,
  11343.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11344.  
  11345.  
  11346. void __RPC_STUB IDBAsynchStatus_RemoteGetStatus_Stub(
  11347.     IRpcStubBuffer *This,
  11348.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11349.     PRPC_MESSAGE _pRpcMessage,
  11350.     DWORD *_pdwStubPhase);
  11351.  
  11352.  
  11353.  
  11354. #endif     /* __IDBAsynchStatus_INTERFACE_DEFINED__ */
  11355.  
  11356.  
  11357. /****************************************
  11358.  * Generated header for interface: __MIDL_itf_oledb_0125
  11359.  * at Tue Apr 28 11:55:07 1998
  11360.  * using MIDL 3.01.75
  11361.  ****************************************/
  11362. /* [local] */ 
  11363.  
  11364.  
  11365. #endif // OLEDBVER >= 0x0150
  11366. //@@@- V1.5
  11367.  
  11368.  
  11369. extern RPC_IF_HANDLE __MIDL_itf_oledb_0125_v0_0_c_ifspec;
  11370. extern RPC_IF_HANDLE __MIDL_itf_oledb_0125_v0_0_s_ifspec;
  11371.  
  11372. #ifndef __ISessionProperties_INTERFACE_DEFINED__
  11373. #define __ISessionProperties_INTERFACE_DEFINED__
  11374.  
  11375. /****************************************
  11376.  * Generated header for interface: ISessionProperties
  11377.  * at Tue Apr 28 11:55:07 1998
  11378.  * using MIDL 3.01.75
  11379.  ****************************************/
  11380. /* [unique][uuid][object] */ 
  11381.  
  11382.  
  11383.  
  11384. EXTERN_C const IID IID_ISessionProperties;
  11385.  
  11386. #if defined(__cplusplus) && !defined(CINTERFACE)
  11387.     
  11388.     interface DECLSPEC_UUID("0c733a85-2a1c-11ce-ade5-00aa0044773d")
  11389.     ISessionProperties : public IUnknown
  11390.     {
  11391.     public:
  11392.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetProperties( 
  11393.             /* [in] */ ULONG cPropertyIDSets,
  11394.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  11395.             /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  11396.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets) = 0;
  11397.         
  11398.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetProperties( 
  11399.             /* [in] */ ULONG cPropertySets,
  11400.             /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]) = 0;
  11401.         
  11402.     };
  11403.     
  11404. #else     /* C style interface */
  11405.  
  11406.     typedef struct ISessionPropertiesVtbl
  11407.     {
  11408.         BEGIN_INTERFACE
  11409.         
  11410.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11411.             ISessionProperties __RPC_FAR * This,
  11412.             /* [in] */ REFIID riid,
  11413.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11414.         
  11415.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11416.             ISessionProperties __RPC_FAR * This);
  11417.         
  11418.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11419.             ISessionProperties __RPC_FAR * This);
  11420.         
  11421.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProperties )( 
  11422.             ISessionProperties __RPC_FAR * This,
  11423.             /* [in] */ ULONG cPropertyIDSets,
  11424.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  11425.             /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  11426.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets);
  11427.         
  11428.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProperties )( 
  11429.             ISessionProperties __RPC_FAR * This,
  11430.             /* [in] */ ULONG cPropertySets,
  11431.             /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  11432.         
  11433.         END_INTERFACE
  11434.     } ISessionPropertiesVtbl;
  11435.  
  11436.     interface ISessionProperties
  11437.     {
  11438.         CONST_VTBL struct ISessionPropertiesVtbl __RPC_FAR *lpVtbl;
  11439.     };
  11440.  
  11441.     
  11442.  
  11443. #ifdef COBJMACROS
  11444.  
  11445.  
  11446. #define ISessionProperties_QueryInterface(This,riid,ppvObject)    \
  11447.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11448.  
  11449. #define ISessionProperties_AddRef(This)    \
  11450.     (This)->lpVtbl -> AddRef(This)
  11451.  
  11452. #define ISessionProperties_Release(This)    \
  11453.     (This)->lpVtbl -> Release(This)
  11454.  
  11455.  
  11456. #define ISessionProperties_GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)    \
  11457.     (This)->lpVtbl -> GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  11458.  
  11459. #define ISessionProperties_SetProperties(This,cPropertySets,rgPropertySets)    \
  11460.     (This)->lpVtbl -> SetProperties(This,cPropertySets,rgPropertySets)
  11461.  
  11462. #endif /* COBJMACROS */
  11463.  
  11464.  
  11465. #endif     /* C style interface */
  11466.  
  11467.  
  11468.  
  11469. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISessionProperties_RemoteGetProperties_Proxy( 
  11470.     ISessionProperties __RPC_FAR * This,
  11471.     /* [in] */ ULONG cPropertyIDSets,
  11472.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  11473.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  11474.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets,
  11475.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11476.  
  11477.  
  11478. void __RPC_STUB ISessionProperties_RemoteGetProperties_Stub(
  11479.     IRpcStubBuffer *This,
  11480.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11481.     PRPC_MESSAGE _pRpcMessage,
  11482.     DWORD *_pdwStubPhase);
  11483.  
  11484.  
  11485. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISessionProperties_RemoteSetProperties_Proxy( 
  11486.     ISessionProperties __RPC_FAR * This,
  11487.     /* [in] */ ULONG cPropertySets,
  11488.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  11489.     /* [in] */ ULONG cTotalProps,
  11490.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  11491.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11492.  
  11493.  
  11494. void __RPC_STUB ISessionProperties_RemoteSetProperties_Stub(
  11495.     IRpcStubBuffer *This,
  11496.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11497.     PRPC_MESSAGE _pRpcMessage,
  11498.     DWORD *_pdwStubPhase);
  11499.  
  11500.  
  11501.  
  11502. #endif     /* __ISessionProperties_INTERFACE_DEFINED__ */
  11503.  
  11504.  
  11505. #ifndef __IIndexDefinition_INTERFACE_DEFINED__
  11506. #define __IIndexDefinition_INTERFACE_DEFINED__
  11507.  
  11508. /****************************************
  11509.  * Generated header for interface: IIndexDefinition
  11510.  * at Tue Apr 28 11:55:07 1998
  11511.  * using MIDL 3.01.75
  11512.  ****************************************/
  11513. /* [unique][uuid][object] */ 
  11514.  
  11515.  
  11516.  
  11517. EXTERN_C const IID IID_IIndexDefinition;
  11518.  
  11519. #if defined(__cplusplus) && !defined(CINTERFACE)
  11520.     
  11521.     interface DECLSPEC_UUID("0c733a68-2a1c-11ce-ade5-00aa0044773d")
  11522.     IIndexDefinition : public IUnknown
  11523.     {
  11524.     public:
  11525.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateIndex( 
  11526.             /* [in] */ DBID __RPC_FAR *pTableID,
  11527.             /* [in] */ DBID __RPC_FAR *pIndexID,
  11528.             /* [in] */ ULONG cIndexColumnDescs,
  11529.             /* [size_is][in] */ const DBINDEXCOLUMNDESC __RPC_FAR rgIndexColumnDescs[  ],
  11530.             /* [in] */ ULONG cPropertySets,
  11531.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  11532.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppIndexID) = 0;
  11533.         
  11534.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE DropIndex( 
  11535.             /* [unique][in] */ DBID __RPC_FAR *pTableID,
  11536.             /* [unique][in] */ DBID __RPC_FAR *pIndexID) = 0;
  11537.         
  11538.     };
  11539.     
  11540. #else     /* C style interface */
  11541.  
  11542.     typedef struct IIndexDefinitionVtbl
  11543.     {
  11544.         BEGIN_INTERFACE
  11545.         
  11546.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11547.             IIndexDefinition __RPC_FAR * This,
  11548.             /* [in] */ REFIID riid,
  11549.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11550.         
  11551.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11552.             IIndexDefinition __RPC_FAR * This);
  11553.         
  11554.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11555.             IIndexDefinition __RPC_FAR * This);
  11556.         
  11557.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateIndex )( 
  11558.             IIndexDefinition __RPC_FAR * This,
  11559.             /* [in] */ DBID __RPC_FAR *pTableID,
  11560.             /* [in] */ DBID __RPC_FAR *pIndexID,
  11561.             /* [in] */ ULONG cIndexColumnDescs,
  11562.             /* [size_is][in] */ const DBINDEXCOLUMNDESC __RPC_FAR rgIndexColumnDescs[  ],
  11563.             /* [in] */ ULONG cPropertySets,
  11564.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  11565.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppIndexID);
  11566.         
  11567.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DropIndex )( 
  11568.             IIndexDefinition __RPC_FAR * This,
  11569.             /* [unique][in] */ DBID __RPC_FAR *pTableID,
  11570.             /* [unique][in] */ DBID __RPC_FAR *pIndexID);
  11571.         
  11572.         END_INTERFACE
  11573.     } IIndexDefinitionVtbl;
  11574.  
  11575.     interface IIndexDefinition
  11576.     {
  11577.         CONST_VTBL struct IIndexDefinitionVtbl __RPC_FAR *lpVtbl;
  11578.     };
  11579.  
  11580.     
  11581.  
  11582. #ifdef COBJMACROS
  11583.  
  11584.  
  11585. #define IIndexDefinition_QueryInterface(This,riid,ppvObject)    \
  11586.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11587.  
  11588. #define IIndexDefinition_AddRef(This)    \
  11589.     (This)->lpVtbl -> AddRef(This)
  11590.  
  11591. #define IIndexDefinition_Release(This)    \
  11592.     (This)->lpVtbl -> Release(This)
  11593.  
  11594.  
  11595. #define IIndexDefinition_CreateIndex(This,pTableID,pIndexID,cIndexColumnDescs,rgIndexColumnDescs,cPropertySets,rgPropertySets,ppIndexID)    \
  11596.     (This)->lpVtbl -> CreateIndex(This,pTableID,pIndexID,cIndexColumnDescs,rgIndexColumnDescs,cPropertySets,rgPropertySets,ppIndexID)
  11597.  
  11598. #define IIndexDefinition_DropIndex(This,pTableID,pIndexID)    \
  11599.     (This)->lpVtbl -> DropIndex(This,pTableID,pIndexID)
  11600.  
  11601. #endif /* COBJMACROS */
  11602.  
  11603.  
  11604. #endif     /* C style interface */
  11605.  
  11606.  
  11607.  
  11608. /* [call_as] */ HRESULT STDMETHODCALLTYPE IIndexDefinition_RemoteCreateIndex_Proxy( 
  11609.     IIndexDefinition __RPC_FAR * This,
  11610.     /* [in] */ DBID __RPC_FAR *pTableID,
  11611.     /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  11612.     /* [in] */ ULONG cIndexColumnDescs,
  11613.     /* [size_is][in] */ const DBINDEXCOLUMNDESC __RPC_FAR *rgIndexColumnDescs,
  11614.     /* [in] */ ULONG cPropertySets,
  11615.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  11616.     /* [unique][out][in] */ DBID __RPC_FAR *__RPC_FAR *ppIndexID,
  11617.     /* [in] */ ULONG cTotalProps,
  11618.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  11619.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11620.  
  11621.  
  11622. void __RPC_STUB IIndexDefinition_RemoteCreateIndex_Stub(
  11623.     IRpcStubBuffer *This,
  11624.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11625.     PRPC_MESSAGE _pRpcMessage,
  11626.     DWORD *_pdwStubPhase);
  11627.  
  11628.  
  11629. /* [call_as] */ HRESULT STDMETHODCALLTYPE IIndexDefinition_RemoteDropIndex_Proxy( 
  11630.     IIndexDefinition __RPC_FAR * This,
  11631.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  11632.     /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  11633.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11634.  
  11635.  
  11636. void __RPC_STUB IIndexDefinition_RemoteDropIndex_Stub(
  11637.     IRpcStubBuffer *This,
  11638.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11639.     PRPC_MESSAGE _pRpcMessage,
  11640.     DWORD *_pdwStubPhase);
  11641.  
  11642.  
  11643.  
  11644. #endif     /* __IIndexDefinition_INTERFACE_DEFINED__ */
  11645.  
  11646.  
  11647. #ifndef __ITableDefinition_INTERFACE_DEFINED__
  11648. #define __ITableDefinition_INTERFACE_DEFINED__
  11649.  
  11650. /****************************************
  11651.  * Generated header for interface: ITableDefinition
  11652.  * at Tue Apr 28 11:55:07 1998
  11653.  * using MIDL 3.01.75
  11654.  ****************************************/
  11655. /* [unique][uuid][object] */ 
  11656.  
  11657.  
  11658.  
  11659. EXTERN_C const IID IID_ITableDefinition;
  11660.  
  11661. #if defined(__cplusplus) && !defined(CINTERFACE)
  11662.     
  11663.     interface DECLSPEC_UUID("0c733a86-2a1c-11ce-ade5-00aa0044773d")
  11664.     ITableDefinition : public IUnknown
  11665.     {
  11666.     public:
  11667.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateTable( 
  11668.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  11669.             /* [in] */ DBID __RPC_FAR *pTableID,
  11670.             /* [in] */ ULONG cColumnDescs,
  11671.             /* [size_is][in] */ const DBCOLUMNDESC __RPC_FAR rgColumnDescs[  ],
  11672.             /* [in] */ REFIID riid,
  11673.             /* [in] */ ULONG cPropertySets,
  11674.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  11675.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppTableID,
  11676.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  11677.         
  11678.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE DropTable( 
  11679.             /* [unique][in] */ DBID __RPC_FAR *pTableID) = 0;
  11680.         
  11681.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddColumn( 
  11682.             /* [in] */ DBID __RPC_FAR *pTableID,
  11683.             /* [out][in] */ DBCOLUMNDESC __RPC_FAR *pColumnDesc,
  11684.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppColumnID) = 0;
  11685.         
  11686.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE DropColumn( 
  11687.             /* [unique][in] */ DBID __RPC_FAR *pTableID,
  11688.             /* [unique][in] */ DBID __RPC_FAR *pColumnID) = 0;
  11689.         
  11690.     };
  11691.     
  11692. #else     /* C style interface */
  11693.  
  11694.     typedef struct ITableDefinitionVtbl
  11695.     {
  11696.         BEGIN_INTERFACE
  11697.         
  11698.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11699.             ITableDefinition __RPC_FAR * This,
  11700.             /* [in] */ REFIID riid,
  11701.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11702.         
  11703.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11704.             ITableDefinition __RPC_FAR * This);
  11705.         
  11706.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11707.             ITableDefinition __RPC_FAR * This);
  11708.         
  11709.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateTable )( 
  11710.             ITableDefinition __RPC_FAR * This,
  11711.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  11712.             /* [in] */ DBID __RPC_FAR *pTableID,
  11713.             /* [in] */ ULONG cColumnDescs,
  11714.             /* [size_is][in] */ const DBCOLUMNDESC __RPC_FAR rgColumnDescs[  ],
  11715.             /* [in] */ REFIID riid,
  11716.             /* [in] */ ULONG cPropertySets,
  11717.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  11718.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppTableID,
  11719.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  11720.         
  11721.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DropTable )( 
  11722.             ITableDefinition __RPC_FAR * This,
  11723.             /* [unique][in] */ DBID __RPC_FAR *pTableID);
  11724.         
  11725.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddColumn )( 
  11726.             ITableDefinition __RPC_FAR * This,
  11727.             /* [in] */ DBID __RPC_FAR *pTableID,
  11728.             /* [out][in] */ DBCOLUMNDESC __RPC_FAR *pColumnDesc,
  11729.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppColumnID);
  11730.         
  11731.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DropColumn )( 
  11732.             ITableDefinition __RPC_FAR * This,
  11733.             /* [unique][in] */ DBID __RPC_FAR *pTableID,
  11734.             /* [unique][in] */ DBID __RPC_FAR *pColumnID);
  11735.         
  11736.         END_INTERFACE
  11737.     } ITableDefinitionVtbl;
  11738.  
  11739.     interface ITableDefinition
  11740.     {
  11741.         CONST_VTBL struct ITableDefinitionVtbl __RPC_FAR *lpVtbl;
  11742.     };
  11743.  
  11744.     
  11745.  
  11746. #ifdef COBJMACROS
  11747.  
  11748.  
  11749. #define ITableDefinition_QueryInterface(This,riid,ppvObject)    \
  11750.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11751.  
  11752. #define ITableDefinition_AddRef(This)    \
  11753.     (This)->lpVtbl -> AddRef(This)
  11754.  
  11755. #define ITableDefinition_Release(This)    \
  11756.     (This)->lpVtbl -> Release(This)
  11757.  
  11758.  
  11759. #define ITableDefinition_CreateTable(This,pUnkOuter,pTableID,cColumnDescs,rgColumnDescs,riid,cPropertySets,rgPropertySets,ppTableID,ppRowset)    \
  11760.     (This)->lpVtbl -> CreateTable(This,pUnkOuter,pTableID,cColumnDescs,rgColumnDescs,riid,cPropertySets,rgPropertySets,ppTableID,ppRowset)
  11761.  
  11762. #define ITableDefinition_DropTable(This,pTableID)    \
  11763.     (This)->lpVtbl -> DropTable(This,pTableID)
  11764.  
  11765. #define ITableDefinition_AddColumn(This,pTableID,pColumnDesc,ppColumnID)    \
  11766.     (This)->lpVtbl -> AddColumn(This,pTableID,pColumnDesc,ppColumnID)
  11767.  
  11768. #define ITableDefinition_DropColumn(This,pTableID,pColumnID)    \
  11769.     (This)->lpVtbl -> DropColumn(This,pTableID,pColumnID)
  11770.  
  11771. #endif /* COBJMACROS */
  11772.  
  11773.  
  11774. #endif     /* C style interface */
  11775.  
  11776.  
  11777.  
  11778. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_RemoteCreateTable_Proxy( 
  11779.     ITableDefinition __RPC_FAR * This,
  11780.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  11781.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  11782.     /* [in] */ ULONG cColumnDescs,
  11783.     /* [size_is][in] */ const DBCOLUMNDESC __RPC_FAR *rgColumnDescs,
  11784.     /* [in] */ REFIID riid,
  11785.     /* [in] */ ULONG cPropertySets,
  11786.     /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  11787.     /* [unique][out][in] */ DBID __RPC_FAR *__RPC_FAR *ppTableID,
  11788.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  11789.     /* [in] */ ULONG cTotalProps,
  11790.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  11791.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11792.  
  11793.  
  11794. void __RPC_STUB ITableDefinition_RemoteCreateTable_Stub(
  11795.     IRpcStubBuffer *This,
  11796.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11797.     PRPC_MESSAGE _pRpcMessage,
  11798.     DWORD *_pdwStubPhase);
  11799.  
  11800.  
  11801. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_RemoteDropTable_Proxy( 
  11802.     ITableDefinition __RPC_FAR * This,
  11803.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  11804.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11805.  
  11806.  
  11807. void __RPC_STUB ITableDefinition_RemoteDropTable_Stub(
  11808.     IRpcStubBuffer *This,
  11809.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11810.     PRPC_MESSAGE _pRpcMessage,
  11811.     DWORD *_pdwStubPhase);
  11812.  
  11813.  
  11814. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_RemoteAddColumn_Proxy( 
  11815.     ITableDefinition __RPC_FAR * This,
  11816.     /* [in] */ DBID __RPC_FAR *pTableID,
  11817.     /* [out][in] */ DBCOLUMNDESC __RPC_FAR *pColumnDesc,
  11818.     /* [unique][out][in] */ DBID __RPC_FAR *__RPC_FAR *ppColumnID,
  11819.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11820.  
  11821.  
  11822. void __RPC_STUB ITableDefinition_RemoteAddColumn_Stub(
  11823.     IRpcStubBuffer *This,
  11824.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11825.     PRPC_MESSAGE _pRpcMessage,
  11826.     DWORD *_pdwStubPhase);
  11827.  
  11828.  
  11829. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_RemoteDropColumn_Proxy( 
  11830.     ITableDefinition __RPC_FAR * This,
  11831.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  11832.     /* [unique][in] */ DBID __RPC_FAR *pColumnID,
  11833.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11834.  
  11835.  
  11836. void __RPC_STUB ITableDefinition_RemoteDropColumn_Stub(
  11837.     IRpcStubBuffer *This,
  11838.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11839.     PRPC_MESSAGE _pRpcMessage,
  11840.     DWORD *_pdwStubPhase);
  11841.  
  11842.  
  11843.  
  11844. #endif     /* __ITableDefinition_INTERFACE_DEFINED__ */
  11845.  
  11846.  
  11847. #ifndef __IOpenRowset_INTERFACE_DEFINED__
  11848. #define __IOpenRowset_INTERFACE_DEFINED__
  11849.  
  11850. /****************************************
  11851.  * Generated header for interface: IOpenRowset
  11852.  * at Tue Apr 28 11:55:07 1998
  11853.  * using MIDL 3.01.75
  11854.  ****************************************/
  11855. /* [unique][uuid][object] */ 
  11856.  
  11857.  
  11858.  
  11859. EXTERN_C const IID IID_IOpenRowset;
  11860.  
  11861. #if defined(__cplusplus) && !defined(CINTERFACE)
  11862.     
  11863.     interface DECLSPEC_UUID("0c733a69-2a1c-11ce-ade5-00aa0044773d")
  11864.     IOpenRowset : public IUnknown
  11865.     {
  11866.     public:
  11867.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OpenRowset( 
  11868.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  11869.             /* [unique][in] */ DBID __RPC_FAR *pTableID,
  11870.             /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  11871.             /* [in] */ REFIID riid,
  11872.             /* [in] */ ULONG cPropertySets,
  11873.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  11874.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  11875.         
  11876.     };
  11877.     
  11878. #else     /* C style interface */
  11879.  
  11880.     typedef struct IOpenRowsetVtbl
  11881.     {
  11882.         BEGIN_INTERFACE
  11883.         
  11884.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11885.             IOpenRowset __RPC_FAR * This,
  11886.             /* [in] */ REFIID riid,
  11887.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11888.         
  11889.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11890.             IOpenRowset __RPC_FAR * This);
  11891.         
  11892.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11893.             IOpenRowset __RPC_FAR * This);
  11894.         
  11895.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenRowset )( 
  11896.             IOpenRowset __RPC_FAR * This,
  11897.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  11898.             /* [unique][in] */ DBID __RPC_FAR *pTableID,
  11899.             /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  11900.             /* [in] */ REFIID riid,
  11901.             /* [in] */ ULONG cPropertySets,
  11902.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  11903.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  11904.         
  11905.         END_INTERFACE
  11906.     } IOpenRowsetVtbl;
  11907.  
  11908.     interface IOpenRowset
  11909.     {
  11910.         CONST_VTBL struct IOpenRowsetVtbl __RPC_FAR *lpVtbl;
  11911.     };
  11912.  
  11913.     
  11914.  
  11915. #ifdef COBJMACROS
  11916.  
  11917.  
  11918. #define IOpenRowset_QueryInterface(This,riid,ppvObject)    \
  11919.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11920.  
  11921. #define IOpenRowset_AddRef(This)    \
  11922.     (This)->lpVtbl -> AddRef(This)
  11923.  
  11924. #define IOpenRowset_Release(This)    \
  11925.     (This)->lpVtbl -> Release(This)
  11926.  
  11927.  
  11928. #define IOpenRowset_OpenRowset(This,pUnkOuter,pTableID,pIndexID,riid,cPropertySets,rgPropertySets,ppRowset)    \
  11929.     (This)->lpVtbl -> OpenRowset(This,pUnkOuter,pTableID,pIndexID,riid,cPropertySets,rgPropertySets,ppRowset)
  11930.  
  11931. #endif /* COBJMACROS */
  11932.  
  11933.  
  11934. #endif     /* C style interface */
  11935.  
  11936.  
  11937.  
  11938. /* [call_as] */ HRESULT STDMETHODCALLTYPE IOpenRowset_RemoteOpenRowset_Proxy( 
  11939.     IOpenRowset __RPC_FAR * This,
  11940.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  11941.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  11942.     /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  11943.     /* [in] */ REFIID riid,
  11944.     /* [in] */ ULONG cPropertySets,
  11945.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  11946.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  11947.     /* [in] */ ULONG cTotalProps,
  11948.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  11949.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11950.  
  11951.  
  11952. void __RPC_STUB IOpenRowset_RemoteOpenRowset_Stub(
  11953.     IRpcStubBuffer *This,
  11954.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11955.     PRPC_MESSAGE _pRpcMessage,
  11956.     DWORD *_pdwStubPhase);
  11957.  
  11958.  
  11959.  
  11960. #endif     /* __IOpenRowset_INTERFACE_DEFINED__ */
  11961.  
  11962.  
  11963. /****************************************
  11964.  * Generated header for interface: __MIDL_itf_oledb_0129
  11965.  * at Tue Apr 28 11:55:07 1998
  11966.  * using MIDL 3.01.75
  11967.  ****************************************/
  11968. /* [local] */ 
  11969.  
  11970.  
  11971. //@@@+ V2.5
  11972. #if( OLEDBVER >= 0x0250 )
  11973.  
  11974.  
  11975. extern RPC_IF_HANDLE __MIDL_itf_oledb_0129_v0_0_c_ifspec;
  11976. extern RPC_IF_HANDLE __MIDL_itf_oledb_0129_v0_0_s_ifspec;
  11977.  
  11978. #ifndef __ITableRename_INTERFACE_DEFINED__
  11979. #define __ITableRename_INTERFACE_DEFINED__
  11980.  
  11981. /****************************************
  11982.  * Generated header for interface: ITableRename
  11983.  * at Tue Apr 28 11:55:07 1998
  11984.  * using MIDL 3.01.75
  11985.  ****************************************/
  11986. /* [unique][uuid][object][local] */ 
  11987.  
  11988.  
  11989.  
  11990. EXTERN_C const IID IID_ITableRename;
  11991.  
  11992. #if defined(__cplusplus) && !defined(CINTERFACE)
  11993.     
  11994.     interface DECLSPEC_UUID("0c733a77-2a1c-11ce-ade5-00aa0044773d")
  11995.     ITableRename : public IUnknown
  11996.     {
  11997.     public:
  11998.         virtual HRESULT STDMETHODCALLTYPE RenameColumn( 
  11999.             /* [in] */ DBID __RPC_FAR *pTableId,
  12000.             /* [in] */ DBID __RPC_FAR *pOldColumnId,
  12001.             /* [in] */ DBID __RPC_FAR *pNewColumnId) = 0;
  12002.         
  12003.         virtual HRESULT STDMETHODCALLTYPE RenameTable( 
  12004.             /* [in] */ DBID __RPC_FAR *pOldTableId,
  12005.             /* [in] */ DBID __RPC_FAR *pOldIndexId,
  12006.             /* [in] */ DBID __RPC_FAR *pNewTableId,
  12007.             /* [in] */ DBID __RPC_FAR *pNewIndexId) = 0;
  12008.         
  12009.     };
  12010.     
  12011. #else     /* C style interface */
  12012.  
  12013.     typedef struct ITableRenameVtbl
  12014.     {
  12015.         BEGIN_INTERFACE
  12016.         
  12017.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12018.             ITableRename __RPC_FAR * This,
  12019.             /* [in] */ REFIID riid,
  12020.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12021.         
  12022.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12023.             ITableRename __RPC_FAR * This);
  12024.         
  12025.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12026.             ITableRename __RPC_FAR * This);
  12027.         
  12028.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RenameColumn )( 
  12029.             ITableRename __RPC_FAR * This,
  12030.             /* [in] */ DBID __RPC_FAR *pTableId,
  12031.             /* [in] */ DBID __RPC_FAR *pOldColumnId,
  12032.             /* [in] */ DBID __RPC_FAR *pNewColumnId);
  12033.         
  12034.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RenameTable )( 
  12035.             ITableRename __RPC_FAR * This,
  12036.             /* [in] */ DBID __RPC_FAR *pOldTableId,
  12037.             /* [in] */ DBID __RPC_FAR *pOldIndexId,
  12038.             /* [in] */ DBID __RPC_FAR *pNewTableId,
  12039.             /* [in] */ DBID __RPC_FAR *pNewIndexId);
  12040.         
  12041.         END_INTERFACE
  12042.     } ITableRenameVtbl;
  12043.  
  12044.     interface ITableRename
  12045.     {
  12046.         CONST_VTBL struct ITableRenameVtbl __RPC_FAR *lpVtbl;
  12047.     };
  12048.  
  12049.     
  12050.  
  12051. #ifdef COBJMACROS
  12052.  
  12053.  
  12054. #define ITableRename_QueryInterface(This,riid,ppvObject)    \
  12055.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12056.  
  12057. #define ITableRename_AddRef(This)    \
  12058.     (This)->lpVtbl -> AddRef(This)
  12059.  
  12060. #define ITableRename_Release(This)    \
  12061.     (This)->lpVtbl -> Release(This)
  12062.  
  12063.  
  12064. #define ITableRename_RenameColumn(This,pTableId,pOldColumnId,pNewColumnId)    \
  12065.     (This)->lpVtbl -> RenameColumn(This,pTableId,pOldColumnId,pNewColumnId)
  12066.  
  12067. #define ITableRename_RenameTable(This,pOldTableId,pOldIndexId,pNewTableId,pNewIndexId)    \
  12068.     (This)->lpVtbl -> RenameTable(This,pOldTableId,pOldIndexId,pNewTableId,pNewIndexId)
  12069.  
  12070. #endif /* COBJMACROS */
  12071.  
  12072.  
  12073. #endif     /* C style interface */
  12074.  
  12075.  
  12076.  
  12077. HRESULT STDMETHODCALLTYPE ITableRename_RenameColumn_Proxy( 
  12078.     ITableRename __RPC_FAR * This,
  12079.     /* [in] */ DBID __RPC_FAR *pTableId,
  12080.     /* [in] */ DBID __RPC_FAR *pOldColumnId,
  12081.     /* [in] */ DBID __RPC_FAR *pNewColumnId);
  12082.  
  12083.  
  12084. void __RPC_STUB ITableRename_RenameColumn_Stub(
  12085.     IRpcStubBuffer *This,
  12086.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12087.     PRPC_MESSAGE _pRpcMessage,
  12088.     DWORD *_pdwStubPhase);
  12089.  
  12090.  
  12091. HRESULT STDMETHODCALLTYPE ITableRename_RenameTable_Proxy( 
  12092.     ITableRename __RPC_FAR * This,
  12093.     /* [in] */ DBID __RPC_FAR *pOldTableId,
  12094.     /* [in] */ DBID __RPC_FAR *pOldIndexId,
  12095.     /* [in] */ DBID __RPC_FAR *pNewTableId,
  12096.     /* [in] */ DBID __RPC_FAR *pNewIndexId);
  12097.  
  12098.  
  12099. void __RPC_STUB ITableRename_RenameTable_Stub(
  12100.     IRpcStubBuffer *This,
  12101.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12102.     PRPC_MESSAGE _pRpcMessage,
  12103.     DWORD *_pdwStubPhase);
  12104.  
  12105.  
  12106.  
  12107. #endif     /* __ITableRename_INTERFACE_DEFINED__ */
  12108.  
  12109.  
  12110. #ifndef __IDBSchemaCommand_INTERFACE_DEFINED__
  12111. #define __IDBSchemaCommand_INTERFACE_DEFINED__
  12112.  
  12113. /****************************************
  12114.  * Generated header for interface: IDBSchemaCommand
  12115.  * at Tue Apr 28 11:55:07 1998
  12116.  * using MIDL 3.01.75
  12117.  ****************************************/
  12118. /* [unique][uuid][object][local] */ 
  12119.  
  12120.  
  12121.  
  12122. EXTERN_C const IID IID_IDBSchemaCommand;
  12123.  
  12124. #if defined(__cplusplus) && !defined(CINTERFACE)
  12125.     
  12126.     interface DECLSPEC_UUID("0c733a50-2a1c-11ce-ade5-00aa0044773d")
  12127.     IDBSchemaCommand : public IUnknown
  12128.     {
  12129.     public:
  12130.         virtual HRESULT STDMETHODCALLTYPE GetCommand( 
  12131.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  12132.             /* [in] */ REFGUID rguidSchema,
  12133.             /* [out] */ ICommand __RPC_FAR *__RPC_FAR *ppCommand) = 0;
  12134.         
  12135.         virtual HRESULT STDMETHODCALLTYPE GetSchemas( 
  12136.             /* [out][in] */ ULONG __RPC_FAR *pcSchemas,
  12137.             /* [size_is][size_is][out] */ GUID __RPC_FAR *__RPC_FAR *prgSchemas) = 0;
  12138.         
  12139.     };
  12140.     
  12141. #else     /* C style interface */
  12142.  
  12143.     typedef struct IDBSchemaCommandVtbl
  12144.     {
  12145.         BEGIN_INTERFACE
  12146.         
  12147.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12148.             IDBSchemaCommand __RPC_FAR * This,
  12149.             /* [in] */ REFIID riid,
  12150.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12151.         
  12152.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12153.             IDBSchemaCommand __RPC_FAR * This);
  12154.         
  12155.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12156.             IDBSchemaCommand __RPC_FAR * This);
  12157.         
  12158.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCommand )( 
  12159.             IDBSchemaCommand __RPC_FAR * This,
  12160.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  12161.             /* [in] */ REFGUID rguidSchema,
  12162.             /* [out] */ ICommand __RPC_FAR *__RPC_FAR *ppCommand);
  12163.         
  12164.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSchemas )( 
  12165.             IDBSchemaCommand __RPC_FAR * This,
  12166.             /* [out][in] */ ULONG __RPC_FAR *pcSchemas,
  12167.             /* [size_is][size_is][out] */ GUID __RPC_FAR *__RPC_FAR *prgSchemas);
  12168.         
  12169.         END_INTERFACE
  12170.     } IDBSchemaCommandVtbl;
  12171.  
  12172.     interface IDBSchemaCommand
  12173.     {
  12174.         CONST_VTBL struct IDBSchemaCommandVtbl __RPC_FAR *lpVtbl;
  12175.     };
  12176.  
  12177.     
  12178.  
  12179. #ifdef COBJMACROS
  12180.  
  12181.  
  12182. #define IDBSchemaCommand_QueryInterface(This,riid,ppvObject)    \
  12183.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12184.  
  12185. #define IDBSchemaCommand_AddRef(This)    \
  12186.     (This)->lpVtbl -> AddRef(This)
  12187.  
  12188. #define IDBSchemaCommand_Release(This)    \
  12189.     (This)->lpVtbl -> Release(This)
  12190.  
  12191.  
  12192. #define IDBSchemaCommand_GetCommand(This,pUnkOuter,rguidSchema,ppCommand)    \
  12193.     (This)->lpVtbl -> GetCommand(This,pUnkOuter,rguidSchema,ppCommand)
  12194.  
  12195. #define IDBSchemaCommand_GetSchemas(This,pcSchemas,prgSchemas)    \
  12196.     (This)->lpVtbl -> GetSchemas(This,pcSchemas,prgSchemas)
  12197.  
  12198. #endif /* COBJMACROS */
  12199.  
  12200.  
  12201. #endif     /* C style interface */
  12202.  
  12203.  
  12204.  
  12205. HRESULT STDMETHODCALLTYPE IDBSchemaCommand_GetCommand_Proxy( 
  12206.     IDBSchemaCommand __RPC_FAR * This,
  12207.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  12208.     /* [in] */ REFGUID rguidSchema,
  12209.     /* [out] */ ICommand __RPC_FAR *__RPC_FAR *ppCommand);
  12210.  
  12211.  
  12212. void __RPC_STUB IDBSchemaCommand_GetCommand_Stub(
  12213.     IRpcStubBuffer *This,
  12214.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12215.     PRPC_MESSAGE _pRpcMessage,
  12216.     DWORD *_pdwStubPhase);
  12217.  
  12218.  
  12219. HRESULT STDMETHODCALLTYPE IDBSchemaCommand_GetSchemas_Proxy( 
  12220.     IDBSchemaCommand __RPC_FAR * This,
  12221.     /* [out][in] */ ULONG __RPC_FAR *pcSchemas,
  12222.     /* [size_is][size_is][out] */ GUID __RPC_FAR *__RPC_FAR *prgSchemas);
  12223.  
  12224.  
  12225. void __RPC_STUB IDBSchemaCommand_GetSchemas_Stub(
  12226.     IRpcStubBuffer *This,
  12227.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12228.     PRPC_MESSAGE _pRpcMessage,
  12229.     DWORD *_pdwStubPhase);
  12230.  
  12231.  
  12232.  
  12233. #endif     /* __IDBSchemaCommand_INTERFACE_DEFINED__ */
  12234.  
  12235.  
  12236. /****************************************
  12237.  * Generated header for interface: __MIDL_itf_oledb_0131
  12238.  * at Tue Apr 28 11:55:07 1998
  12239.  * using MIDL 3.01.75
  12240.  ****************************************/
  12241. /* [local] */ 
  12242.  
  12243.  
  12244. #endif // OLEDBVER >= 0x0250
  12245. //@@@- V2.5
  12246.  
  12247.  
  12248. extern RPC_IF_HANDLE __MIDL_itf_oledb_0131_v0_0_c_ifspec;
  12249. extern RPC_IF_HANDLE __MIDL_itf_oledb_0131_v0_0_s_ifspec;
  12250.  
  12251. #ifndef __IDBSchemaRowset_INTERFACE_DEFINED__
  12252. #define __IDBSchemaRowset_INTERFACE_DEFINED__
  12253.  
  12254. /****************************************
  12255.  * Generated header for interface: IDBSchemaRowset
  12256.  * at Tue Apr 28 11:55:07 1998
  12257.  * using MIDL 3.01.75
  12258.  ****************************************/
  12259. /* [unique][uuid][object] */ 
  12260.  
  12261.  
  12262. #define CRESTRICTIONS_DBSCHEMA_ASSERTIONS                      3
  12263. #define CRESTRICTIONS_DBSCHEMA_CATALOGS                        1
  12264. #define CRESTRICTIONS_DBSCHEMA_CHARACTER_SETS                  3
  12265. #define CRESTRICTIONS_DBSCHEMA_COLLATIONS                      3
  12266. #define CRESTRICTIONS_DBSCHEMA_COLUMNS                         4
  12267. #define CRESTRICTIONS_DBSCHEMA_CHECK_CONSTRAINTS               3
  12268. #define CRESTRICTIONS_DBSCHEMA_CONSTRAINT_COLUMN_USAGE         4
  12269. #define CRESTRICTIONS_DBSCHEMA_CONSTRAINT_TABLE_USAGE          3
  12270. #define CRESTRICTIONS_DBSCHEMA_KEY_COLUMN_USAGE                7
  12271. #define CRESTRICTIONS_DBSCHEMA_REFERENTIAL_CONSTRAINTS         3
  12272. #define CRESTRICTIONS_DBSCHEMA_TABLE_CONSTRAINTS               7
  12273. #define CRESTRICTIONS_DBSCHEMA_COLUMN_DOMAIN_USAGE             4
  12274. #define CRESTRICTIONS_DBSCHEMA_INDEXES                         5
  12275. #define CRESTRICTIONS_DBSCHEMA_OBJECT_ACTIONS                  1
  12276. #define CRESTRICTIONS_DBSCHEMA_OBJECTS                         1
  12277. #define CRESTRICTIONS_DBSCHEMA_COLUMN_PRIVILEGES               6
  12278. #define CRESTRICTIONS_DBSCHEMA_TABLE_PRIVILEGES                5
  12279. #define CRESTRICTIONS_DBSCHEMA_USAGE_PRIVILEGES                6
  12280. #define CRESTRICTIONS_DBSCHEMA_PROCEDURES                      4
  12281. #define CRESTRICTIONS_DBSCHEMA_SCHEMATA                        3
  12282. #define CRESTRICTIONS_DBSCHEMA_SQL_LANGUAGES                   0
  12283. #define CRESTRICTIONS_DBSCHEMA_STATISTICS                      3
  12284. #define CRESTRICTIONS_DBSCHEMA_TABLES                          4
  12285. #define CRESTRICTIONS_DBSCHEMA_TRANSLATIONS                    3
  12286. #define CRESTRICTIONS_DBSCHEMA_PROVIDER_TYPES                  2
  12287. #define CRESTRICTIONS_DBSCHEMA_VIEWS                           3
  12288. #define CRESTRICTIONS_DBSCHEMA_VIEW_COLUMN_USAGE               3
  12289. #define CRESTRICTIONS_DBSCHEMA_VIEW_TABLE_USAGE                3
  12290. #define CRESTRICTIONS_DBSCHEMA_PROCEDURE_PARAMETERS            4
  12291. #define CRESTRICTIONS_DBSCHEMA_FOREIGN_KEYS                    6
  12292. #define CRESTRICTIONS_DBSCHEMA_PRIMARY_KEYS                    3
  12293. #define CRESTRICTIONS_DBSCHEMA_PROCEDURE_COLUMNS               4
  12294. //@@@+ V2.0
  12295. #if( OLEDBVER >= 0x0200 )
  12296. #define CRESTRICTIONS_DBSCHEMA_TABLES_INFO                     4
  12297. #define CRESTRICTIONS_MDSCHEMA_CUBES                           3
  12298. #define CRESTRICTIONS_MDSCHEMA_DIMENSIONS                      5
  12299. #define CRESTRICTIONS_MDSCHEMA_HIERARCHIES                     6
  12300. #define CRESTRICTIONS_MDSCHEMA_LEVELS                          7
  12301. #define CRESTRICTIONS_MDSCHEMA_MEASURES                        5
  12302. #define CRESTRICTIONS_MDSCHEMA_PROPERTIES                      9
  12303. #define CRESTRICTIONS_MDSCHEMA_MEMBERS                         12
  12304. #endif // OLEDBVER >= 0x0200
  12305. //@@@- V2.0
  12306.  
  12307. EXTERN_C const IID IID_IDBSchemaRowset;
  12308.  
  12309. #if defined(__cplusplus) && !defined(CINTERFACE)
  12310.     
  12311.     interface DECLSPEC_UUID("0c733a7b-2a1c-11ce-ade5-00aa0044773d")
  12312.     IDBSchemaRowset : public IUnknown
  12313.     {
  12314.     public:
  12315.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetRowset( 
  12316.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  12317.             /* [in] */ REFGUID rguidSchema,
  12318.             /* [in] */ ULONG cRestrictions,
  12319.             /* [size_is][in] */ const VARIANT __RPC_FAR rgRestrictions[  ],
  12320.             /* [in] */ REFIID riid,
  12321.             /* [in] */ ULONG cPropertySets,
  12322.             /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  12323.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  12324.         
  12325.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSchemas( 
  12326.             /* [out][in] */ ULONG __RPC_FAR *pcSchemas,
  12327.             /* [size_is][size_is][out] */ GUID __RPC_FAR *__RPC_FAR *prgSchemas,
  12328.             /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgRestrictionSupport) = 0;
  12329.         
  12330.     };
  12331.     
  12332. #else     /* C style interface */
  12333.  
  12334.     typedef struct IDBSchemaRowsetVtbl
  12335.     {
  12336.         BEGIN_INTERFACE
  12337.         
  12338.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12339.             IDBSchemaRowset __RPC_FAR * This,
  12340.             /* [in] */ REFIID riid,
  12341.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12342.         
  12343.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12344.             IDBSchemaRowset __RPC_FAR * This);
  12345.         
  12346.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12347.             IDBSchemaRowset __RPC_FAR * This);
  12348.         
  12349.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowset )( 
  12350.             IDBSchemaRowset __RPC_FAR * This,
  12351.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  12352.             /* [in] */ REFGUID rguidSchema,
  12353.             /* [in] */ ULONG cRestrictions,
  12354.             /* [size_is][in] */ const VARIANT __RPC_FAR rgRestrictions[  ],
  12355.             /* [in] */ REFIID riid,
  12356.             /* [in] */ ULONG cPropertySets,
  12357.             /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  12358.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  12359.         
  12360.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSchemas )( 
  12361.             IDBSchemaRowset __RPC_FAR * This,
  12362.             /* [out][in] */ ULONG __RPC_FAR *pcSchemas,
  12363.             /* [size_is][size_is][out] */ GUID __RPC_FAR *__RPC_FAR *prgSchemas,
  12364.             /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgRestrictionSupport);
  12365.         
  12366.         END_INTERFACE
  12367.     } IDBSchemaRowsetVtbl;
  12368.  
  12369.     interface IDBSchemaRowset
  12370.     {
  12371.         CONST_VTBL struct IDBSchemaRowsetVtbl __RPC_FAR *lpVtbl;
  12372.     };
  12373.  
  12374.     
  12375.  
  12376. #ifdef COBJMACROS
  12377.  
  12378.  
  12379. #define IDBSchemaRowset_QueryInterface(This,riid,ppvObject)    \
  12380.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12381.  
  12382. #define IDBSchemaRowset_AddRef(This)    \
  12383.     (This)->lpVtbl -> AddRef(This)
  12384.  
  12385. #define IDBSchemaRowset_Release(This)    \
  12386.     (This)->lpVtbl -> Release(This)
  12387.  
  12388.  
  12389. #define IDBSchemaRowset_GetRowset(This,pUnkOuter,rguidSchema,cRestrictions,rgRestrictions,riid,cPropertySets,rgPropertySets,ppRowset)    \
  12390.     (This)->lpVtbl -> GetRowset(This,pUnkOuter,rguidSchema,cRestrictions,rgRestrictions,riid,cPropertySets,rgPropertySets,ppRowset)
  12391.  
  12392. #define IDBSchemaRowset_GetSchemas(This,pcSchemas,prgSchemas,prgRestrictionSupport)    \
  12393.     (This)->lpVtbl -> GetSchemas(This,pcSchemas,prgSchemas,prgRestrictionSupport)
  12394.  
  12395. #endif /* COBJMACROS */
  12396.  
  12397.  
  12398. #endif     /* C style interface */
  12399.  
  12400.  
  12401.  
  12402. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBSchemaRowset_RemoteGetRowset_Proxy( 
  12403.     IDBSchemaRowset __RPC_FAR * This,
  12404.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  12405.     /* [in] */ REFGUID rguidSchema,
  12406.     /* [in] */ ULONG cRestrictions,
  12407.     /* [size_is][unique][in] */ const VARIANT __RPC_FAR *rgRestrictions,
  12408.     /* [in] */ REFIID riid,
  12409.     /* [in] */ ULONG cPropertySets,
  12410.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  12411.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  12412.     /* [in] */ ULONG cTotalProps,
  12413.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  12414.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  12415.  
  12416.  
  12417. void __RPC_STUB IDBSchemaRowset_RemoteGetRowset_Stub(
  12418.     IRpcStubBuffer *This,
  12419.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12420.     PRPC_MESSAGE _pRpcMessage,
  12421.     DWORD *_pdwStubPhase);
  12422.  
  12423.  
  12424. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBSchemaRowset_RemoteGetSchemas_Proxy( 
  12425.     IDBSchemaRowset __RPC_FAR * This,
  12426.     /* [out][in] */ ULONG __RPC_FAR *pcSchemas,
  12427.     /* [size_is][size_is][out] */ GUID __RPC_FAR *__RPC_FAR *prgSchemas,
  12428.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgRestrictionSupport,
  12429.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  12430.  
  12431.  
  12432. void __RPC_STUB IDBSchemaRowset_RemoteGetSchemas_Stub(
  12433.     IRpcStubBuffer *This,
  12434.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12435.     PRPC_MESSAGE _pRpcMessage,
  12436.     DWORD *_pdwStubPhase);
  12437.  
  12438.  
  12439.  
  12440. #endif     /* __IDBSchemaRowset_INTERFACE_DEFINED__ */
  12441.  
  12442.  
  12443. /****************************************
  12444.  * Generated header for interface: __MIDL_itf_oledb_0132
  12445.  * at Tue Apr 28 11:55:07 1998
  12446.  * using MIDL 3.01.75
  12447.  ****************************************/
  12448. /* [local] */ 
  12449.  
  12450.  
  12451. //@@@+ V2.5
  12452. #if( OLEDBVER >= 0x0250 )
  12453.  
  12454.  
  12455. extern RPC_IF_HANDLE __MIDL_itf_oledb_0132_v0_0_c_ifspec;
  12456. extern RPC_IF_HANDLE __MIDL_itf_oledb_0132_v0_0_s_ifspec;
  12457.  
  12458. #ifndef __IProvideMoniker_INTERFACE_DEFINED__
  12459. #define __IProvideMoniker_INTERFACE_DEFINED__
  12460.  
  12461. /****************************************
  12462.  * Generated header for interface: IProvideMoniker
  12463.  * at Tue Apr 28 11:55:07 1998
  12464.  * using MIDL 3.01.75
  12465.  ****************************************/
  12466. /* [unique][uuid][object][local] */ 
  12467.  
  12468.  
  12469.  
  12470. EXTERN_C const IID IID_IProvideMoniker;
  12471.  
  12472. #if defined(__cplusplus) && !defined(CINTERFACE)
  12473.     
  12474.     interface DECLSPEC_UUID("0c733a4d-2a1c-11ce-ade5-00aa0044773d")
  12475.     IProvideMoniker : public IUnknown
  12476.     {
  12477.     public:
  12478.         virtual HRESULT STDMETHODCALLTYPE GetMoniker( 
  12479.             /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppIMoniker) = 0;
  12480.         
  12481.     };
  12482.     
  12483. #else     /* C style interface */
  12484.  
  12485.     typedef struct IProvideMonikerVtbl
  12486.     {
  12487.         BEGIN_INTERFACE
  12488.         
  12489.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12490.             IProvideMoniker __RPC_FAR * This,
  12491.             /* [in] */ REFIID riid,
  12492.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12493.         
  12494.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12495.             IProvideMoniker __RPC_FAR * This);
  12496.         
  12497.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12498.             IProvideMoniker __RPC_FAR * This);
  12499.         
  12500.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMoniker )( 
  12501.             IProvideMoniker __RPC_FAR * This,
  12502.             /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppIMoniker);
  12503.         
  12504.         END_INTERFACE
  12505.     } IProvideMonikerVtbl;
  12506.  
  12507.     interface IProvideMoniker
  12508.     {
  12509.         CONST_VTBL struct IProvideMonikerVtbl __RPC_FAR *lpVtbl;
  12510.     };
  12511.  
  12512.     
  12513.  
  12514. #ifdef COBJMACROS
  12515.  
  12516.  
  12517. #define IProvideMoniker_QueryInterface(This,riid,ppvObject)    \
  12518.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12519.  
  12520. #define IProvideMoniker_AddRef(This)    \
  12521.     (This)->lpVtbl -> AddRef(This)
  12522.  
  12523. #define IProvideMoniker_Release(This)    \
  12524.     (This)->lpVtbl -> Release(This)
  12525.  
  12526.  
  12527. #define IProvideMoniker_GetMoniker(This,ppIMoniker)    \
  12528.     (This)->lpVtbl -> GetMoniker(This,ppIMoniker)
  12529.  
  12530. #endif /* COBJMACROS */
  12531.  
  12532.  
  12533. #endif     /* C style interface */
  12534.  
  12535.  
  12536.  
  12537. HRESULT STDMETHODCALLTYPE IProvideMoniker_GetMoniker_Proxy( 
  12538.     IProvideMoniker __RPC_FAR * This,
  12539.     /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppIMoniker);
  12540.  
  12541.  
  12542. void __RPC_STUB IProvideMoniker_GetMoniker_Stub(
  12543.     IRpcStubBuffer *This,
  12544.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12545.     PRPC_MESSAGE _pRpcMessage,
  12546.     DWORD *_pdwStubPhase);
  12547.  
  12548.  
  12549.  
  12550. #endif     /* __IProvideMoniker_INTERFACE_DEFINED__ */
  12551.  
  12552.  
  12553. /****************************************
  12554.  * Generated header for interface: __MIDL_itf_oledb_0133
  12555.  * at Tue Apr 28 11:55:07 1998
  12556.  * using MIDL 3.01.75
  12557.  ****************************************/
  12558. /* [local] */ 
  12559.  
  12560.  
  12561. #endif // OLEDBVER >= 0x0250
  12562. //@@@- V2.5
  12563. //@@@+ V2.0
  12564. #if( OLEDBVER >= 0x0200 )
  12565.  
  12566.  
  12567. extern RPC_IF_HANDLE __MIDL_itf_oledb_0133_v0_0_c_ifspec;
  12568. extern RPC_IF_HANDLE __MIDL_itf_oledb_0133_v0_0_s_ifspec;
  12569.  
  12570. #ifndef __IMDDataset_INTERFACE_DEFINED__
  12571. #define __IMDDataset_INTERFACE_DEFINED__
  12572.  
  12573. /****************************************
  12574.  * Generated header for interface: IMDDataset
  12575.  * at Tue Apr 28 11:55:07 1998
  12576.  * using MIDL 3.01.75
  12577.  ****************************************/
  12578. /* [unique][uuid][object][local] */ 
  12579.  
  12580.  
  12581.  
  12582. EXTERN_C const IID IID_IMDDataset;
  12583.  
  12584. #if defined(__cplusplus) && !defined(CINTERFACE)
  12585.     
  12586.     interface DECLSPEC_UUID("a07cccd1-8148-11d0-87bb-00c04fc33942")
  12587.     IMDDataset : public IUnknown
  12588.     {
  12589.     public:
  12590.         virtual HRESULT STDMETHODCALLTYPE FreeAxisInfo( 
  12591.             /* [in] */ ULONG cAxes,
  12592.             /* [size_is][in] */ MDAXISINFO __RPC_FAR *rgAxisInfo) = 0;
  12593.         
  12594.         virtual HRESULT STDMETHODCALLTYPE GetAxisInfo( 
  12595.             /* [out][in] */ ULONG __RPC_FAR *pcAxes,
  12596.             /* [size_is][size_is][out] */ MDAXISINFO __RPC_FAR *__RPC_FAR *prgAxisInfo) = 0;
  12597.         
  12598.         virtual HRESULT STDMETHODCALLTYPE GetAxisRowset( 
  12599.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  12600.             /* [in] */ ULONG iAxis,
  12601.             /* [in] */ REFIID riid,
  12602.             /* [in] */ ULONG cPropertySets,
  12603.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  12604.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  12605.         
  12606.         virtual HRESULT STDMETHODCALLTYPE GetCellData( 
  12607.             /* [in] */ HACCESSOR hAccessor,
  12608.             /* [in] */ ULONG ulStartCell,
  12609.             /* [in] */ ULONG ulEndCell,
  12610.             /* [out] */ void __RPC_FAR *pData) = 0;
  12611.         
  12612.         virtual HRESULT STDMETHODCALLTYPE GetSpecification( 
  12613.             /* [in] */ REFIID riid,
  12614.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSpecification) = 0;
  12615.         
  12616.     };
  12617.     
  12618. #else     /* C style interface */
  12619.  
  12620.     typedef struct IMDDatasetVtbl
  12621.     {
  12622.         BEGIN_INTERFACE
  12623.         
  12624.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12625.             IMDDataset __RPC_FAR * This,
  12626.             /* [in] */ REFIID riid,
  12627.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12628.         
  12629.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12630.             IMDDataset __RPC_FAR * This);
  12631.         
  12632.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12633.             IMDDataset __RPC_FAR * This);
  12634.         
  12635.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FreeAxisInfo )( 
  12636.             IMDDataset __RPC_FAR * This,
  12637.             /* [in] */ ULONG cAxes,
  12638.             /* [size_is][in] */ MDAXISINFO __RPC_FAR *rgAxisInfo);
  12639.         
  12640.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAxisInfo )( 
  12641.             IMDDataset __RPC_FAR * This,
  12642.             /* [out][in] */ ULONG __RPC_FAR *pcAxes,
  12643.             /* [size_is][size_is][out] */ MDAXISINFO __RPC_FAR *__RPC_FAR *prgAxisInfo);
  12644.         
  12645.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAxisRowset )( 
  12646.             IMDDataset __RPC_FAR * This,
  12647.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  12648.             /* [in] */ ULONG iAxis,
  12649.             /* [in] */ REFIID riid,
  12650.             /* [in] */ ULONG cPropertySets,
  12651.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  12652.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  12653.         
  12654.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCellData )( 
  12655.             IMDDataset __RPC_FAR * This,
  12656.             /* [in] */ HACCESSOR hAccessor,
  12657.             /* [in] */ ULONG ulStartCell,
  12658.             /* [in] */ ULONG ulEndCell,
  12659.             /* [out] */ void __RPC_FAR *pData);
  12660.         
  12661.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSpecification )( 
  12662.             IMDDataset __RPC_FAR * This,
  12663.             /* [in] */ REFIID riid,
  12664.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSpecification);
  12665.         
  12666.         END_INTERFACE
  12667.     } IMDDatasetVtbl;
  12668.  
  12669.     interface IMDDataset
  12670.     {
  12671.         CONST_VTBL struct IMDDatasetVtbl __RPC_FAR *lpVtbl;
  12672.     };
  12673.  
  12674.     
  12675.  
  12676. #ifdef COBJMACROS
  12677.  
  12678.  
  12679. #define IMDDataset_QueryInterface(This,riid,ppvObject)    \
  12680.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12681.  
  12682. #define IMDDataset_AddRef(This)    \
  12683.     (This)->lpVtbl -> AddRef(This)
  12684.  
  12685. #define IMDDataset_Release(This)    \
  12686.     (This)->lpVtbl -> Release(This)
  12687.  
  12688.  
  12689. #define IMDDataset_FreeAxisInfo(This,cAxes,rgAxisInfo)    \
  12690.     (This)->lpVtbl -> FreeAxisInfo(This,cAxes,rgAxisInfo)
  12691.  
  12692. #define IMDDataset_GetAxisInfo(This,pcAxes,prgAxisInfo)    \
  12693.     (This)->lpVtbl -> GetAxisInfo(This,pcAxes,prgAxisInfo)
  12694.  
  12695. #define IMDDataset_GetAxisRowset(This,pUnkOuter,iAxis,riid,cPropertySets,rgPropertySets,ppRowset)    \
  12696.     (This)->lpVtbl -> GetAxisRowset(This,pUnkOuter,iAxis,riid,cPropertySets,rgPropertySets,ppRowset)
  12697.  
  12698. #define IMDDataset_GetCellData(This,hAccessor,ulStartCell,ulEndCell,pData)    \
  12699.     (This)->lpVtbl -> GetCellData(This,hAccessor,ulStartCell,ulEndCell,pData)
  12700.  
  12701. #define IMDDataset_GetSpecification(This,riid,ppSpecification)    \
  12702.     (This)->lpVtbl -> GetSpecification(This,riid,ppSpecification)
  12703.  
  12704. #endif /* COBJMACROS */
  12705.  
  12706.  
  12707. #endif     /* C style interface */
  12708.  
  12709.  
  12710.  
  12711. HRESULT STDMETHODCALLTYPE IMDDataset_FreeAxisInfo_Proxy( 
  12712.     IMDDataset __RPC_FAR * This,
  12713.     /* [in] */ ULONG cAxes,
  12714.     /* [size_is][in] */ MDAXISINFO __RPC_FAR *rgAxisInfo);
  12715.  
  12716.  
  12717. void __RPC_STUB IMDDataset_FreeAxisInfo_Stub(
  12718.     IRpcStubBuffer *This,
  12719.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12720.     PRPC_MESSAGE _pRpcMessage,
  12721.     DWORD *_pdwStubPhase);
  12722.  
  12723.  
  12724. HRESULT STDMETHODCALLTYPE IMDDataset_GetAxisInfo_Proxy( 
  12725.     IMDDataset __RPC_FAR * This,
  12726.     /* [out][in] */ ULONG __RPC_FAR *pcAxes,
  12727.     /* [size_is][size_is][out] */ MDAXISINFO __RPC_FAR *__RPC_FAR *prgAxisInfo);
  12728.  
  12729.  
  12730. void __RPC_STUB IMDDataset_GetAxisInfo_Stub(
  12731.     IRpcStubBuffer *This,
  12732.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12733.     PRPC_MESSAGE _pRpcMessage,
  12734.     DWORD *_pdwStubPhase);
  12735.  
  12736.  
  12737. HRESULT STDMETHODCALLTYPE IMDDataset_GetAxisRowset_Proxy( 
  12738.     IMDDataset __RPC_FAR * This,
  12739.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  12740.     /* [in] */ ULONG iAxis,
  12741.     /* [in] */ REFIID riid,
  12742.     /* [in] */ ULONG cPropertySets,
  12743.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  12744.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  12745.  
  12746.  
  12747. void __RPC_STUB IMDDataset_GetAxisRowset_Stub(
  12748.     IRpcStubBuffer *This,
  12749.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12750.     PRPC_MESSAGE _pRpcMessage,
  12751.     DWORD *_pdwStubPhase);
  12752.  
  12753.  
  12754. HRESULT STDMETHODCALLTYPE IMDDataset_GetCellData_Proxy( 
  12755.     IMDDataset __RPC_FAR * This,
  12756.     /* [in] */ HACCESSOR hAccessor,
  12757.     /* [in] */ ULONG ulStartCell,
  12758.     /* [in] */ ULONG ulEndCell,
  12759.     /* [out] */ void __RPC_FAR *pData);
  12760.  
  12761.  
  12762. void __RPC_STUB IMDDataset_GetCellData_Stub(
  12763.     IRpcStubBuffer *This,
  12764.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12765.     PRPC_MESSAGE _pRpcMessage,
  12766.     DWORD *_pdwStubPhase);
  12767.  
  12768.  
  12769. HRESULT STDMETHODCALLTYPE IMDDataset_GetSpecification_Proxy( 
  12770.     IMDDataset __RPC_FAR * This,
  12771.     /* [in] */ REFIID riid,
  12772.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSpecification);
  12773.  
  12774.  
  12775. void __RPC_STUB IMDDataset_GetSpecification_Stub(
  12776.     IRpcStubBuffer *This,
  12777.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12778.     PRPC_MESSAGE _pRpcMessage,
  12779.     DWORD *_pdwStubPhase);
  12780.  
  12781.  
  12782.  
  12783. #endif     /* __IMDDataset_INTERFACE_DEFINED__ */
  12784.  
  12785.  
  12786. #ifndef __IMDFind_INTERFACE_DEFINED__
  12787. #define __IMDFind_INTERFACE_DEFINED__
  12788.  
  12789. /****************************************
  12790.  * Generated header for interface: IMDFind
  12791.  * at Tue Apr 28 11:55:07 1998
  12792.  * using MIDL 3.01.75
  12793.  ****************************************/
  12794. /* [unique][uuid][object][local] */ 
  12795.  
  12796.  
  12797.  
  12798. EXTERN_C const IID IID_IMDFind;
  12799.  
  12800. #if defined(__cplusplus) && !defined(CINTERFACE)
  12801.     
  12802.     interface DECLSPEC_UUID("a07cccd2-8148-11d0-87bb-00c04fc33942")
  12803.     IMDFind : public IUnknown
  12804.     {
  12805.     public:
  12806.         virtual HRESULT STDMETHODCALLTYPE FindCell( 
  12807.             /* [in] */ ULONG ulStartingOrdinal,
  12808.             /* [in] */ ULONG cMembers,
  12809.             /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgpwszMember,
  12810.             /* [out] */ ULONG __RPC_FAR *pulCellOrdinal) = 0;
  12811.         
  12812.         virtual HRESULT STDMETHODCALLTYPE FindTuple( 
  12813.             /* [in] */ ULONG ulAxisIdentifier,
  12814.             /* [in] */ ULONG ulStartingOrdinal,
  12815.             /* [in] */ ULONG cMembers,
  12816.             /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgpwszMember,
  12817.             /* [out] */ ULONG __RPC_FAR *pulTupleOrdinal) = 0;
  12818.         
  12819.     };
  12820.     
  12821. #else     /* C style interface */
  12822.  
  12823.     typedef struct IMDFindVtbl
  12824.     {
  12825.         BEGIN_INTERFACE
  12826.         
  12827.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12828.             IMDFind __RPC_FAR * This,
  12829.             /* [in] */ REFIID riid,
  12830.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12831.         
  12832.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12833.             IMDFind __RPC_FAR * This);
  12834.         
  12835.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12836.             IMDFind __RPC_FAR * This);
  12837.         
  12838.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindCell )( 
  12839.             IMDFind __RPC_FAR * This,
  12840.             /* [in] */ ULONG ulStartingOrdinal,
  12841.             /* [in] */ ULONG cMembers,
  12842.             /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgpwszMember,
  12843.             /* [out] */ ULONG __RPC_FAR *pulCellOrdinal);
  12844.         
  12845.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindTuple )( 
  12846.             IMDFind __RPC_FAR * This,
  12847.             /* [in] */ ULONG ulAxisIdentifier,
  12848.             /* [in] */ ULONG ulStartingOrdinal,
  12849.             /* [in] */ ULONG cMembers,
  12850.             /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgpwszMember,
  12851.             /* [out] */ ULONG __RPC_FAR *pulTupleOrdinal);
  12852.         
  12853.         END_INTERFACE
  12854.     } IMDFindVtbl;
  12855.  
  12856.     interface IMDFind
  12857.     {
  12858.         CONST_VTBL struct IMDFindVtbl __RPC_FAR *lpVtbl;
  12859.     };
  12860.  
  12861.     
  12862.  
  12863. #ifdef COBJMACROS
  12864.  
  12865.  
  12866. #define IMDFind_QueryInterface(This,riid,ppvObject)    \
  12867.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12868.  
  12869. #define IMDFind_AddRef(This)    \
  12870.     (This)->lpVtbl -> AddRef(This)
  12871.  
  12872. #define IMDFind_Release(This)    \
  12873.     (This)->lpVtbl -> Release(This)
  12874.  
  12875.  
  12876. #define IMDFind_FindCell(This,ulStartingOrdinal,cMembers,rgpwszMember,pulCellOrdinal)    \
  12877.     (This)->lpVtbl -> FindCell(This,ulStartingOrdinal,cMembers,rgpwszMember,pulCellOrdinal)
  12878.  
  12879. #define IMDFind_FindTuple(This,ulAxisIdentifier,ulStartingOrdinal,cMembers,rgpwszMember,pulTupleOrdinal)    \
  12880.     (This)->lpVtbl -> FindTuple(This,ulAxisIdentifier,ulStartingOrdinal,cMembers,rgpwszMember,pulTupleOrdinal)
  12881.  
  12882. #endif /* COBJMACROS */
  12883.  
  12884.  
  12885. #endif     /* C style interface */
  12886.  
  12887.  
  12888.  
  12889. HRESULT STDMETHODCALLTYPE IMDFind_FindCell_Proxy( 
  12890.     IMDFind __RPC_FAR * This,
  12891.     /* [in] */ ULONG ulStartingOrdinal,
  12892.     /* [in] */ ULONG cMembers,
  12893.     /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgpwszMember,
  12894.     /* [out] */ ULONG __RPC_FAR *pulCellOrdinal);
  12895.  
  12896.  
  12897. void __RPC_STUB IMDFind_FindCell_Stub(
  12898.     IRpcStubBuffer *This,
  12899.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12900.     PRPC_MESSAGE _pRpcMessage,
  12901.     DWORD *_pdwStubPhase);
  12902.  
  12903.  
  12904. HRESULT STDMETHODCALLTYPE IMDFind_FindTuple_Proxy( 
  12905.     IMDFind __RPC_FAR * This,
  12906.     /* [in] */ ULONG ulAxisIdentifier,
  12907.     /* [in] */ ULONG ulStartingOrdinal,
  12908.     /* [in] */ ULONG cMembers,
  12909.     /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgpwszMember,
  12910.     /* [out] */ ULONG __RPC_FAR *pulTupleOrdinal);
  12911.  
  12912.  
  12913. void __RPC_STUB IMDFind_FindTuple_Stub(
  12914.     IRpcStubBuffer *This,
  12915.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12916.     PRPC_MESSAGE _pRpcMessage,
  12917.     DWORD *_pdwStubPhase);
  12918.  
  12919.  
  12920.  
  12921. #endif     /* __IMDFind_INTERFACE_DEFINED__ */
  12922.  
  12923.  
  12924. #ifndef __IMDRangeRowset_INTERFACE_DEFINED__
  12925. #define __IMDRangeRowset_INTERFACE_DEFINED__
  12926.  
  12927. /****************************************
  12928.  * Generated header for interface: IMDRangeRowset
  12929.  * at Tue Apr 28 11:55:07 1998
  12930.  * using MIDL 3.01.75
  12931.  ****************************************/
  12932. /* [unique][uuid][object][local] */ 
  12933.  
  12934.  
  12935.  
  12936. EXTERN_C const IID IID_IMDRangeRowset;
  12937.  
  12938. #if defined(__cplusplus) && !defined(CINTERFACE)
  12939.     
  12940.     interface DECLSPEC_UUID("0c733aa0-2a1c-11ce-ade5-00aa0044773d")
  12941.     IMDRangeRowset : public IUnknown
  12942.     {
  12943.     public:
  12944.         virtual HRESULT STDMETHODCALLTYPE GetRangeRowset( 
  12945.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  12946.             /* [in] */ ULONG ulStartCell,
  12947.             /* [in] */ ULONG ulEndCell,
  12948.             /* [in] */ REFIID riid,
  12949.             /* [in] */ ULONG cPropertySets,
  12950.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  12951.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  12952.         
  12953.     };
  12954.     
  12955. #else     /* C style interface */
  12956.  
  12957.     typedef struct IMDRangeRowsetVtbl
  12958.     {
  12959.         BEGIN_INTERFACE
  12960.         
  12961.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12962.             IMDRangeRowset __RPC_FAR * This,
  12963.             /* [in] */ REFIID riid,
  12964.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12965.         
  12966.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12967.             IMDRangeRowset __RPC_FAR * This);
  12968.         
  12969.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12970.             IMDRangeRowset __RPC_FAR * This);
  12971.         
  12972.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRangeRowset )( 
  12973.             IMDRangeRowset __RPC_FAR * This,
  12974.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  12975.             /* [in] */ ULONG ulStartCell,
  12976.             /* [in] */ ULONG ulEndCell,
  12977.             /* [in] */ REFIID riid,
  12978.             /* [in] */ ULONG cPropertySets,
  12979.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  12980.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  12981.         
  12982.         END_INTERFACE
  12983.     } IMDRangeRowsetVtbl;
  12984.  
  12985.     interface IMDRangeRowset
  12986.     {
  12987.         CONST_VTBL struct IMDRangeRowsetVtbl __RPC_FAR *lpVtbl;
  12988.     };
  12989.  
  12990.     
  12991.  
  12992. #ifdef COBJMACROS
  12993.  
  12994.  
  12995. #define IMDRangeRowset_QueryInterface(This,riid,ppvObject)    \
  12996.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12997.  
  12998. #define IMDRangeRowset_AddRef(This)    \
  12999.     (This)->lpVtbl -> AddRef(This)
  13000.  
  13001. #define IMDRangeRowset_Release(This)    \
  13002.     (This)->lpVtbl -> Release(This)
  13003.  
  13004.  
  13005. #define IMDRangeRowset_GetRangeRowset(This,pUnkOuter,ulStartCell,ulEndCell,riid,cPropertySets,rgPropertySets,ppRowset)    \
  13006.     (This)->lpVtbl -> GetRangeRowset(This,pUnkOuter,ulStartCell,ulEndCell,riid,cPropertySets,rgPropertySets,ppRowset)
  13007.  
  13008. #endif /* COBJMACROS */
  13009.  
  13010.  
  13011. #endif     /* C style interface */
  13012.  
  13013.  
  13014.  
  13015. HRESULT STDMETHODCALLTYPE IMDRangeRowset_GetRangeRowset_Proxy( 
  13016.     IMDRangeRowset __RPC_FAR * This,
  13017.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  13018.     /* [in] */ ULONG ulStartCell,
  13019.     /* [in] */ ULONG ulEndCell,
  13020.     /* [in] */ REFIID riid,
  13021.     /* [in] */ ULONG cPropertySets,
  13022.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  13023.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  13024.  
  13025.  
  13026. void __RPC_STUB IMDRangeRowset_GetRangeRowset_Stub(
  13027.     IRpcStubBuffer *This,
  13028.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13029.     PRPC_MESSAGE _pRpcMessage,
  13030.     DWORD *_pdwStubPhase);
  13031.  
  13032.  
  13033.  
  13034. #endif     /* __IMDRangeRowset_INTERFACE_DEFINED__ */
  13035.  
  13036.  
  13037. #ifndef __IAlterTable_INTERFACE_DEFINED__
  13038. #define __IAlterTable_INTERFACE_DEFINED__
  13039.  
  13040. /****************************************
  13041.  * Generated header for interface: IAlterTable
  13042.  * at Tue Apr 28 11:55:07 1998
  13043.  * using MIDL 3.01.75
  13044.  ****************************************/
  13045. /* [unique][uuid][object][local] */ 
  13046.  
  13047.  
  13048.  
  13049. EXTERN_C const IID IID_IAlterTable;
  13050.  
  13051. #if defined(__cplusplus) && !defined(CINTERFACE)
  13052.     
  13053.     interface DECLSPEC_UUID("0c733aa5-2a1c-11ce-ade5-00aa0044773d")
  13054.     IAlterTable : public IUnknown
  13055.     {
  13056.     public:
  13057.         virtual HRESULT STDMETHODCALLTYPE AlterColumn( 
  13058.             /* [in] */ DBID __RPC_FAR *pTableId,
  13059.             /* [in] */ DBID __RPC_FAR *pColumnId,
  13060.             /* [in] */ DBCOLUMNDESCFLAGS ColumnDescFlags,
  13061.             /* [in] */ DBCOLUMNDESC __RPC_FAR *pColumnDesc) = 0;
  13062.         
  13063.         virtual HRESULT STDMETHODCALLTYPE AlterTable( 
  13064.             /* [in] */ DBID __RPC_FAR *pTableId,
  13065.             /* [in] */ DBID __RPC_FAR *pNewTableId,
  13066.             /* [in] */ ULONG cPropertySets,
  13067.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]) = 0;
  13068.         
  13069.     };
  13070.     
  13071. #else     /* C style interface */
  13072.  
  13073.     typedef struct IAlterTableVtbl
  13074.     {
  13075.         BEGIN_INTERFACE
  13076.         
  13077.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13078.             IAlterTable __RPC_FAR * This,
  13079.             /* [in] */ REFIID riid,
  13080.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13081.         
  13082.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13083.             IAlterTable __RPC_FAR * This);
  13084.         
  13085.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13086.             IAlterTable __RPC_FAR * This);
  13087.         
  13088.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AlterColumn )( 
  13089.             IAlterTable __RPC_FAR * This,
  13090.             /* [in] */ DBID __RPC_FAR *pTableId,
  13091.             /* [in] */ DBID __RPC_FAR *pColumnId,
  13092.             /* [in] */ DBCOLUMNDESCFLAGS ColumnDescFlags,
  13093.             /* [in] */ DBCOLUMNDESC __RPC_FAR *pColumnDesc);
  13094.         
  13095.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AlterTable )( 
  13096.             IAlterTable __RPC_FAR * This,
  13097.             /* [in] */ DBID __RPC_FAR *pTableId,
  13098.             /* [in] */ DBID __RPC_FAR *pNewTableId,
  13099.             /* [in] */ ULONG cPropertySets,
  13100.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  13101.         
  13102.         END_INTERFACE
  13103.     } IAlterTableVtbl;
  13104.  
  13105.     interface IAlterTable
  13106.     {
  13107.         CONST_VTBL struct IAlterTableVtbl __RPC_FAR *lpVtbl;
  13108.     };
  13109.  
  13110.     
  13111.  
  13112. #ifdef COBJMACROS
  13113.  
  13114.  
  13115. #define IAlterTable_QueryInterface(This,riid,ppvObject)    \
  13116.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13117.  
  13118. #define IAlterTable_AddRef(This)    \
  13119.     (This)->lpVtbl -> AddRef(This)
  13120.  
  13121. #define IAlterTable_Release(This)    \
  13122.     (This)->lpVtbl -> Release(This)
  13123.  
  13124.  
  13125. #define IAlterTable_AlterColumn(This,pTableId,pColumnId,ColumnDescFlags,pColumnDesc)    \
  13126.     (This)->lpVtbl -> AlterColumn(This,pTableId,pColumnId,ColumnDescFlags,pColumnDesc)
  13127.  
  13128. #define IAlterTable_AlterTable(This,pTableId,pNewTableId,cPropertySets,rgPropertySets)    \
  13129.     (This)->lpVtbl -> AlterTable(This,pTableId,pNewTableId,cPropertySets,rgPropertySets)
  13130.  
  13131. #endif /* COBJMACROS */
  13132.  
  13133.  
  13134. #endif     /* C style interface */
  13135.  
  13136.  
  13137.  
  13138. HRESULT STDMETHODCALLTYPE IAlterTable_AlterColumn_Proxy( 
  13139.     IAlterTable __RPC_FAR * This,
  13140.     /* [in] */ DBID __RPC_FAR *pTableId,
  13141.     /* [in] */ DBID __RPC_FAR *pColumnId,
  13142.     /* [in] */ DBCOLUMNDESCFLAGS ColumnDescFlags,
  13143.     /* [in] */ DBCOLUMNDESC __RPC_FAR *pColumnDesc);
  13144.  
  13145.  
  13146. void __RPC_STUB IAlterTable_AlterColumn_Stub(
  13147.     IRpcStubBuffer *This,
  13148.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13149.     PRPC_MESSAGE _pRpcMessage,
  13150.     DWORD *_pdwStubPhase);
  13151.  
  13152.  
  13153. HRESULT STDMETHODCALLTYPE IAlterTable_AlterTable_Proxy( 
  13154.     IAlterTable __RPC_FAR * This,
  13155.     /* [in] */ DBID __RPC_FAR *pTableId,
  13156.     /* [in] */ DBID __RPC_FAR *pNewTableId,
  13157.     /* [in] */ ULONG cPropertySets,
  13158.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  13159.  
  13160.  
  13161. void __RPC_STUB IAlterTable_AlterTable_Stub(
  13162.     IRpcStubBuffer *This,
  13163.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13164.     PRPC_MESSAGE _pRpcMessage,
  13165.     DWORD *_pdwStubPhase);
  13166.  
  13167.  
  13168.  
  13169. #endif     /* __IAlterTable_INTERFACE_DEFINED__ */
  13170.  
  13171.  
  13172. #ifndef __IAlterIndex_INTERFACE_DEFINED__
  13173. #define __IAlterIndex_INTERFACE_DEFINED__
  13174.  
  13175. /****************************************
  13176.  * Generated header for interface: IAlterIndex
  13177.  * at Tue Apr 28 11:55:07 1998
  13178.  * using MIDL 3.01.75
  13179.  ****************************************/
  13180. /* [unique][uuid][object][local] */ 
  13181.  
  13182.  
  13183.  
  13184. EXTERN_C const IID IID_IAlterIndex;
  13185.  
  13186. #if defined(__cplusplus) && !defined(CINTERFACE)
  13187.     
  13188.     interface DECLSPEC_UUID("0c733aa6-2a1c-11ce-ade5-00aa0044773d")
  13189.     IAlterIndex : public IUnknown
  13190.     {
  13191.     public:
  13192.         virtual HRESULT STDMETHODCALLTYPE AlterIndex( 
  13193.             /* [in] */ DBID __RPC_FAR *pTableId,
  13194.             /* [in] */ DBID __RPC_FAR *pIndexId,
  13195.             /* [in] */ DBID __RPC_FAR *pNewIndexId,
  13196.             /* [in] */ ULONG cPropertySets,
  13197.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySet[  ]) = 0;
  13198.         
  13199.     };
  13200.     
  13201. #else     /* C style interface */
  13202.  
  13203.     typedef struct IAlterIndexVtbl
  13204.     {
  13205.         BEGIN_INTERFACE
  13206.         
  13207.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13208.             IAlterIndex __RPC_FAR * This,
  13209.             /* [in] */ REFIID riid,
  13210.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13211.         
  13212.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13213.             IAlterIndex __RPC_FAR * This);
  13214.         
  13215.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13216.             IAlterIndex __RPC_FAR * This);
  13217.         
  13218.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AlterIndex )( 
  13219.             IAlterIndex __RPC_FAR * This,
  13220.             /* [in] */ DBID __RPC_FAR *pTableId,
  13221.             /* [in] */ DBID __RPC_FAR *pIndexId,
  13222.             /* [in] */ DBID __RPC_FAR *pNewIndexId,
  13223.             /* [in] */ ULONG cPropertySets,
  13224.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySet[  ]);
  13225.         
  13226.         END_INTERFACE
  13227.     } IAlterIndexVtbl;
  13228.  
  13229.     interface IAlterIndex
  13230.     {
  13231.         CONST_VTBL struct IAlterIndexVtbl __RPC_FAR *lpVtbl;
  13232.     };
  13233.  
  13234.     
  13235.  
  13236. #ifdef COBJMACROS
  13237.  
  13238.  
  13239. #define IAlterIndex_QueryInterface(This,riid,ppvObject)    \
  13240.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13241.  
  13242. #define IAlterIndex_AddRef(This)    \
  13243.     (This)->lpVtbl -> AddRef(This)
  13244.  
  13245. #define IAlterIndex_Release(This)    \
  13246.     (This)->lpVtbl -> Release(This)
  13247.  
  13248.  
  13249. #define IAlterIndex_AlterIndex(This,pTableId,pIndexId,pNewIndexId,cPropertySets,rgPropertySet)    \
  13250.     (This)->lpVtbl -> AlterIndex(This,pTableId,pIndexId,pNewIndexId,cPropertySets,rgPropertySet)
  13251.  
  13252. #endif /* COBJMACROS */
  13253.  
  13254.  
  13255. #endif     /* C style interface */
  13256.  
  13257.  
  13258.  
  13259. HRESULT STDMETHODCALLTYPE IAlterIndex_AlterIndex_Proxy( 
  13260.     IAlterIndex __RPC_FAR * This,
  13261.     /* [in] */ DBID __RPC_FAR *pTableId,
  13262.     /* [in] */ DBID __RPC_FAR *pIndexId,
  13263.     /* [in] */ DBID __RPC_FAR *pNewIndexId,
  13264.     /* [in] */ ULONG cPropertySets,
  13265.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySet[  ]);
  13266.  
  13267.  
  13268. void __RPC_STUB IAlterIndex_AlterIndex_Stub(
  13269.     IRpcStubBuffer *This,
  13270.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13271.     PRPC_MESSAGE _pRpcMessage,
  13272.     DWORD *_pdwStubPhase);
  13273.  
  13274.  
  13275.  
  13276. #endif     /* __IAlterIndex_INTERFACE_DEFINED__ */
  13277.  
  13278.  
  13279. #ifndef __IRowsetChapterMember_INTERFACE_DEFINED__
  13280. #define __IRowsetChapterMember_INTERFACE_DEFINED__
  13281.  
  13282. /****************************************
  13283.  * Generated header for interface: IRowsetChapterMember
  13284.  * at Tue Apr 28 11:55:07 1998
  13285.  * using MIDL 3.01.75
  13286.  ****************************************/
  13287. /* [unique][uuid][object][local] */ 
  13288.  
  13289.  
  13290.  
  13291. EXTERN_C const IID IID_IRowsetChapterMember;
  13292.  
  13293. #if defined(__cplusplus) && !defined(CINTERFACE)
  13294.     
  13295.     interface DECLSPEC_UUID("0c733aa8-2a1c-11ce-ade5-00aa0044773d")
  13296.     IRowsetChapterMember : public IUnknown
  13297.     {
  13298.     public:
  13299.         virtual HRESULT STDMETHODCALLTYPE IsRowInChapter( 
  13300.             /* [in] */ HCHAPTER hChapter,
  13301.             /* [in] */ HROW hRow) = 0;
  13302.         
  13303.     };
  13304.     
  13305. #else     /* C style interface */
  13306.  
  13307.     typedef struct IRowsetChapterMemberVtbl
  13308.     {
  13309.         BEGIN_INTERFACE
  13310.         
  13311.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13312.             IRowsetChapterMember __RPC_FAR * This,
  13313.             /* [in] */ REFIID riid,
  13314.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13315.         
  13316.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13317.             IRowsetChapterMember __RPC_FAR * This);
  13318.         
  13319.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13320.             IRowsetChapterMember __RPC_FAR * This);
  13321.         
  13322.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsRowInChapter )( 
  13323.             IRowsetChapterMember __RPC_FAR * This,
  13324.             /* [in] */ HCHAPTER hChapter,
  13325.             /* [in] */ HROW hRow);
  13326.         
  13327.         END_INTERFACE
  13328.     } IRowsetChapterMemberVtbl;
  13329.  
  13330.     interface IRowsetChapterMember
  13331.     {
  13332.         CONST_VTBL struct IRowsetChapterMemberVtbl __RPC_FAR *lpVtbl;
  13333.     };
  13334.  
  13335.     
  13336.  
  13337. #ifdef COBJMACROS
  13338.  
  13339.  
  13340. #define IRowsetChapterMember_QueryInterface(This,riid,ppvObject)    \
  13341.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13342.  
  13343. #define IRowsetChapterMember_AddRef(This)    \
  13344.     (This)->lpVtbl -> AddRef(This)
  13345.  
  13346. #define IRowsetChapterMember_Release(This)    \
  13347.     (This)->lpVtbl -> Release(This)
  13348.  
  13349.  
  13350. #define IRowsetChapterMember_IsRowInChapter(This,hChapter,hRow)    \
  13351.     (This)->lpVtbl -> IsRowInChapter(This,hChapter,hRow)
  13352.  
  13353. #endif /* COBJMACROS */
  13354.  
  13355.  
  13356. #endif     /* C style interface */
  13357.  
  13358.  
  13359.  
  13360. HRESULT STDMETHODCALLTYPE IRowsetChapterMember_IsRowInChapter_Proxy( 
  13361.     IRowsetChapterMember __RPC_FAR * This,
  13362.     /* [in] */ HCHAPTER hChapter,
  13363.     /* [in] */ HROW hRow);
  13364.  
  13365.  
  13366. void __RPC_STUB IRowsetChapterMember_IsRowInChapter_Stub(
  13367.     IRpcStubBuffer *This,
  13368.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13369.     PRPC_MESSAGE _pRpcMessage,
  13370.     DWORD *_pdwStubPhase);
  13371.  
  13372.  
  13373.  
  13374. #endif     /* __IRowsetChapterMember_INTERFACE_DEFINED__ */
  13375.  
  13376.  
  13377. #ifndef __ICommandPersist_INTERFACE_DEFINED__
  13378. #define __ICommandPersist_INTERFACE_DEFINED__
  13379.  
  13380. /****************************************
  13381.  * Generated header for interface: ICommandPersist
  13382.  * at Tue Apr 28 11:55:07 1998
  13383.  * using MIDL 3.01.75
  13384.  ****************************************/
  13385. /* [unique][uuid][object][local] */ 
  13386.  
  13387.  
  13388. typedef DWORD DBCOMMANDPERSISTFLAG;
  13389.  
  13390.  
  13391. enum DBCOMMANDPERSISTFLAGENUM
  13392.     {    DBCOMMANDPERSISTFLAG_NOSAVE    = 0x1
  13393.     };
  13394.  
  13395. EXTERN_C const IID IID_ICommandPersist;
  13396.  
  13397. #if defined(__cplusplus) && !defined(CINTERFACE)
  13398.     
  13399.     interface DECLSPEC_UUID("0c733aa7-2a1c-11ce-ade5-00aa0044773d")
  13400.     ICommandPersist : public IUnknown
  13401.     {
  13402.     public:
  13403.         virtual HRESULT STDMETHODCALLTYPE DeleteCommand( 
  13404.             /* [in] */ DBID __RPC_FAR *pCommandID) = 0;
  13405.         
  13406.         virtual HRESULT STDMETHODCALLTYPE GetCurrentCommand( 
  13407.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppCommandID) = 0;
  13408.         
  13409.         virtual HRESULT STDMETHODCALLTYPE LoadCommand( 
  13410.             /* [in] */ DBID __RPC_FAR *pCommandID,
  13411.             /* [in] */ DWORD dwFlags) = 0;
  13412.         
  13413.         virtual HRESULT STDMETHODCALLTYPE SaveCommand( 
  13414.             /* [in] */ DBID __RPC_FAR *pCommandID,
  13415.             /* [in] */ DWORD dwFlags) = 0;
  13416.         
  13417.     };
  13418.     
  13419. #else     /* C style interface */
  13420.  
  13421.     typedef struct ICommandPersistVtbl
  13422.     {
  13423.         BEGIN_INTERFACE
  13424.         
  13425.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13426.             ICommandPersist __RPC_FAR * This,
  13427.             /* [in] */ REFIID riid,
  13428.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13429.         
  13430.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13431.             ICommandPersist __RPC_FAR * This);
  13432.         
  13433.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13434.             ICommandPersist __RPC_FAR * This);
  13435.         
  13436.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteCommand )( 
  13437.             ICommandPersist __RPC_FAR * This,
  13438.             /* [in] */ DBID __RPC_FAR *pCommandID);
  13439.         
  13440.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurrentCommand )( 
  13441.             ICommandPersist __RPC_FAR * This,
  13442.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppCommandID);
  13443.         
  13444.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadCommand )( 
  13445.             ICommandPersist __RPC_FAR * This,
  13446.             /* [in] */ DBID __RPC_FAR *pCommandID,
  13447.             /* [in] */ DWORD dwFlags);
  13448.         
  13449.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveCommand )( 
  13450.             ICommandPersist __RPC_FAR * This,
  13451.             /* [in] */ DBID __RPC_FAR *pCommandID,
  13452.             /* [in] */ DWORD dwFlags);
  13453.         
  13454.         END_INTERFACE
  13455.     } ICommandPersistVtbl;
  13456.  
  13457.     interface ICommandPersist
  13458.     {
  13459.         CONST_VTBL struct ICommandPersistVtbl __RPC_FAR *lpVtbl;
  13460.     };
  13461.  
  13462.     
  13463.  
  13464. #ifdef COBJMACROS
  13465.  
  13466.  
  13467. #define ICommandPersist_QueryInterface(This,riid,ppvObject)    \
  13468.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13469.  
  13470. #define ICommandPersist_AddRef(This)    \
  13471.     (This)->lpVtbl -> AddRef(This)
  13472.  
  13473. #define ICommandPersist_Release(This)    \
  13474.     (This)->lpVtbl -> Release(This)
  13475.  
  13476.  
  13477. #define ICommandPersist_DeleteCommand(This,pCommandID)    \
  13478.     (This)->lpVtbl -> DeleteCommand(This,pCommandID)
  13479.  
  13480. #define ICommandPersist_GetCurrentCommand(This,ppCommandID)    \
  13481.     (This)->lpVtbl -> GetCurrentCommand(This,ppCommandID)
  13482.  
  13483. #define ICommandPersist_LoadCommand(This,pCommandID,dwFlags)    \
  13484.     (This)->lpVtbl -> LoadCommand(This,pCommandID,dwFlags)
  13485.  
  13486. #define ICommandPersist_SaveCommand(This,pCommandID,dwFlags)    \
  13487.     (This)->lpVtbl -> SaveCommand(This,pCommandID,dwFlags)
  13488.  
  13489. #endif /* COBJMACROS */
  13490.  
  13491.  
  13492. #endif     /* C style interface */
  13493.  
  13494.  
  13495.  
  13496. HRESULT STDMETHODCALLTYPE ICommandPersist_DeleteCommand_Proxy( 
  13497.     ICommandPersist __RPC_FAR * This,
  13498.     /* [in] */ DBID __RPC_FAR *pCommandID);
  13499.  
  13500.  
  13501. void __RPC_STUB ICommandPersist_DeleteCommand_Stub(
  13502.     IRpcStubBuffer *This,
  13503.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13504.     PRPC_MESSAGE _pRpcMessage,
  13505.     DWORD *_pdwStubPhase);
  13506.  
  13507.  
  13508. HRESULT STDMETHODCALLTYPE ICommandPersist_GetCurrentCommand_Proxy( 
  13509.     ICommandPersist __RPC_FAR * This,
  13510.     /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppCommandID);
  13511.  
  13512.  
  13513. void __RPC_STUB ICommandPersist_GetCurrentCommand_Stub(
  13514.     IRpcStubBuffer *This,
  13515.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13516.     PRPC_MESSAGE _pRpcMessage,
  13517.     DWORD *_pdwStubPhase);
  13518.  
  13519.  
  13520. HRESULT STDMETHODCALLTYPE ICommandPersist_LoadCommand_Proxy( 
  13521.     ICommandPersist __RPC_FAR * This,
  13522.     /* [in] */ DBID __RPC_FAR *pCommandID,
  13523.     /* [in] */ DWORD dwFlags);
  13524.  
  13525.  
  13526. void __RPC_STUB ICommandPersist_LoadCommand_Stub(
  13527.     IRpcStubBuffer *This,
  13528.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13529.     PRPC_MESSAGE _pRpcMessage,
  13530.     DWORD *_pdwStubPhase);
  13531.  
  13532.  
  13533. HRESULT STDMETHODCALLTYPE ICommandPersist_SaveCommand_Proxy( 
  13534.     ICommandPersist __RPC_FAR * This,
  13535.     /* [in] */ DBID __RPC_FAR *pCommandID,
  13536.     /* [in] */ DWORD dwFlags);
  13537.  
  13538.  
  13539. void __RPC_STUB ICommandPersist_SaveCommand_Stub(
  13540.     IRpcStubBuffer *This,
  13541.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13542.     PRPC_MESSAGE _pRpcMessage,
  13543.     DWORD *_pdwStubPhase);
  13544.  
  13545.  
  13546.  
  13547. #endif     /* __ICommandPersist_INTERFACE_DEFINED__ */
  13548.  
  13549.  
  13550. #ifndef __IRowsetRefresh_INTERFACE_DEFINED__
  13551. #define __IRowsetRefresh_INTERFACE_DEFINED__
  13552.  
  13553. /****************************************
  13554.  * Generated header for interface: IRowsetRefresh
  13555.  * at Tue Apr 28 11:55:07 1998
  13556.  * using MIDL 3.01.75
  13557.  ****************************************/
  13558. /* [unique][uuid][object][local] */ 
  13559.  
  13560.  
  13561.  
  13562. EXTERN_C const IID IID_IRowsetRefresh;
  13563.  
  13564. #if defined(__cplusplus) && !defined(CINTERFACE)
  13565.     
  13566.     interface DECLSPEC_UUID("0c733aa9-2a1c-11ce-ade5-00aa0044773d")
  13567.     IRowsetRefresh : public IUnknown
  13568.     {
  13569.     public:
  13570.         virtual HRESULT STDMETHODCALLTYPE RefreshVisibleData( 
  13571.             /* [in] */ HCHAPTER hChapter,
  13572.             /* [in] */ ULONG cRows,
  13573.             /* [in] */ const HROW __RPC_FAR rghRows[  ],
  13574.             /* [in] */ BOOL fOverWrite,
  13575.             /* [out] */ ULONG __RPC_FAR *pcRowsRefreshed,
  13576.             /* [out] */ HROW __RPC_FAR *__RPC_FAR *prghRowsRefreshed,
  13577.             /* [out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus) = 0;
  13578.         
  13579.         virtual HRESULT STDMETHODCALLTYPE GetLastVisibleData( 
  13580.             /* [in] */ HROW hRow,
  13581.             /* [in] */ HACCESSOR hAccessor,
  13582.             /* [out] */ void __RPC_FAR *pData) = 0;
  13583.         
  13584.     };
  13585.     
  13586. #else     /* C style interface */
  13587.  
  13588.     typedef struct IRowsetRefreshVtbl
  13589.     {
  13590.         BEGIN_INTERFACE
  13591.         
  13592.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13593.             IRowsetRefresh __RPC_FAR * This,
  13594.             /* [in] */ REFIID riid,
  13595.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13596.         
  13597.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13598.             IRowsetRefresh __RPC_FAR * This);
  13599.         
  13600.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13601.             IRowsetRefresh __RPC_FAR * This);
  13602.         
  13603.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RefreshVisibleData )( 
  13604.             IRowsetRefresh __RPC_FAR * This,
  13605.             /* [in] */ HCHAPTER hChapter,
  13606.             /* [in] */ ULONG cRows,
  13607.             /* [in] */ const HROW __RPC_FAR rghRows[  ],
  13608.             /* [in] */ BOOL fOverWrite,
  13609.             /* [out] */ ULONG __RPC_FAR *pcRowsRefreshed,
  13610.             /* [out] */ HROW __RPC_FAR *__RPC_FAR *prghRowsRefreshed,
  13611.             /* [out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus);
  13612.         
  13613.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLastVisibleData )( 
  13614.             IRowsetRefresh __RPC_FAR * This,
  13615.             /* [in] */ HROW hRow,
  13616.             /* [in] */ HACCESSOR hAccessor,
  13617.             /* [out] */ void __RPC_FAR *pData);
  13618.         
  13619.         END_INTERFACE
  13620.     } IRowsetRefreshVtbl;
  13621.  
  13622.     interface IRowsetRefresh
  13623.     {
  13624.         CONST_VTBL struct IRowsetRefreshVtbl __RPC_FAR *lpVtbl;
  13625.     };
  13626.  
  13627.     
  13628.  
  13629. #ifdef COBJMACROS
  13630.  
  13631.  
  13632. #define IRowsetRefresh_QueryInterface(This,riid,ppvObject)    \
  13633.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13634.  
  13635. #define IRowsetRefresh_AddRef(This)    \
  13636.     (This)->lpVtbl -> AddRef(This)
  13637.  
  13638. #define IRowsetRefresh_Release(This)    \
  13639.     (This)->lpVtbl -> Release(This)
  13640.  
  13641.  
  13642. #define IRowsetRefresh_RefreshVisibleData(This,hChapter,cRows,rghRows,fOverWrite,pcRowsRefreshed,prghRowsRefreshed,prgRowStatus)    \
  13643.     (This)->lpVtbl -> RefreshVisibleData(This,hChapter,cRows,rghRows,fOverWrite,pcRowsRefreshed,prghRowsRefreshed,prgRowStatus)
  13644.  
  13645. #define IRowsetRefresh_GetLastVisibleData(This,hRow,hAccessor,pData)    \
  13646.     (This)->lpVtbl -> GetLastVisibleData(This,hRow,hAccessor,pData)
  13647.  
  13648. #endif /* COBJMACROS */
  13649.  
  13650.  
  13651. #endif     /* C style interface */
  13652.  
  13653.  
  13654.  
  13655. HRESULT STDMETHODCALLTYPE IRowsetRefresh_RefreshVisibleData_Proxy( 
  13656.     IRowsetRefresh __RPC_FAR * This,
  13657.     /* [in] */ HCHAPTER hChapter,
  13658.     /* [in] */ ULONG cRows,
  13659.     /* [in] */ const HROW __RPC_FAR rghRows[  ],
  13660.     /* [in] */ BOOL fOverWrite,
  13661.     /* [out] */ ULONG __RPC_FAR *pcRowsRefreshed,
  13662.     /* [out] */ HROW __RPC_FAR *__RPC_FAR *prghRowsRefreshed,
  13663.     /* [out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus);
  13664.  
  13665.  
  13666. void __RPC_STUB IRowsetRefresh_RefreshVisibleData_Stub(
  13667.     IRpcStubBuffer *This,
  13668.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13669.     PRPC_MESSAGE _pRpcMessage,
  13670.     DWORD *_pdwStubPhase);
  13671.  
  13672.  
  13673. HRESULT STDMETHODCALLTYPE IRowsetRefresh_GetLastVisibleData_Proxy( 
  13674.     IRowsetRefresh __RPC_FAR * This,
  13675.     /* [in] */ HROW hRow,
  13676.     /* [in] */ HACCESSOR hAccessor,
  13677.     /* [out] */ void __RPC_FAR *pData);
  13678.  
  13679.  
  13680. void __RPC_STUB IRowsetRefresh_GetLastVisibleData_Stub(
  13681.     IRpcStubBuffer *This,
  13682.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13683.     PRPC_MESSAGE _pRpcMessage,
  13684.     DWORD *_pdwStubPhase);
  13685.  
  13686.  
  13687.  
  13688. #endif     /* __IRowsetRefresh_INTERFACE_DEFINED__ */
  13689.  
  13690.  
  13691. #ifndef __IParentRowset_INTERFACE_DEFINED__
  13692. #define __IParentRowset_INTERFACE_DEFINED__
  13693.  
  13694. /****************************************
  13695.  * Generated header for interface: IParentRowset
  13696.  * at Tue Apr 28 11:55:07 1998
  13697.  * using MIDL 3.01.75
  13698.  ****************************************/
  13699. /* [unique][uuid][object][local] */ 
  13700.  
  13701.  
  13702.  
  13703. EXTERN_C const IID IID_IParentRowset;
  13704.  
  13705. #if defined(__cplusplus) && !defined(CINTERFACE)
  13706.     
  13707.     interface DECLSPEC_UUID("0c733aaa-2a1c-11ce-ade5-00aa0044773d")
  13708.     IParentRowset : public IUnknown
  13709.     {
  13710.     public:
  13711.         virtual HRESULT STDMETHODCALLTYPE GetChildRowset( 
  13712.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  13713.             /* [in] */ ULONG iOrdinal,
  13714.             /* [in] */ REFIID riid,
  13715.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  13716.         
  13717.     };
  13718.     
  13719. #else     /* C style interface */
  13720.  
  13721.     typedef struct IParentRowsetVtbl
  13722.     {
  13723.         BEGIN_INTERFACE
  13724.         
  13725.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13726.             IParentRowset __RPC_FAR * This,
  13727.             /* [in] */ REFIID riid,
  13728.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13729.         
  13730.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13731.             IParentRowset __RPC_FAR * This);
  13732.         
  13733.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13734.             IParentRowset __RPC_FAR * This);
  13735.         
  13736.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetChildRowset )( 
  13737.             IParentRowset __RPC_FAR * This,
  13738.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  13739.             /* [in] */ ULONG iOrdinal,
  13740.             /* [in] */ REFIID riid,
  13741.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  13742.         
  13743.         END_INTERFACE
  13744.     } IParentRowsetVtbl;
  13745.  
  13746.     interface IParentRowset
  13747.     {
  13748.         CONST_VTBL struct IParentRowsetVtbl __RPC_FAR *lpVtbl;
  13749.     };
  13750.  
  13751.     
  13752.  
  13753. #ifdef COBJMACROS
  13754.  
  13755.  
  13756. #define IParentRowset_QueryInterface(This,riid,ppvObject)    \
  13757.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13758.  
  13759. #define IParentRowset_AddRef(This)    \
  13760.     (This)->lpVtbl -> AddRef(This)
  13761.  
  13762. #define IParentRowset_Release(This)    \
  13763.     (This)->lpVtbl -> Release(This)
  13764.  
  13765.  
  13766. #define IParentRowset_GetChildRowset(This,pUnkOuter,iOrdinal,riid,ppRowset)    \
  13767.     (This)->lpVtbl -> GetChildRowset(This,pUnkOuter,iOrdinal,riid,ppRowset)
  13768.  
  13769. #endif /* COBJMACROS */
  13770.  
  13771.  
  13772. #endif     /* C style interface */
  13773.  
  13774.  
  13775.  
  13776. HRESULT STDMETHODCALLTYPE IParentRowset_GetChildRowset_Proxy( 
  13777.     IParentRowset __RPC_FAR * This,
  13778.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  13779.     /* [in] */ ULONG iOrdinal,
  13780.     /* [in] */ REFIID riid,
  13781.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  13782.  
  13783.  
  13784. void __RPC_STUB IParentRowset_GetChildRowset_Stub(
  13785.     IRpcStubBuffer *This,
  13786.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13787.     PRPC_MESSAGE _pRpcMessage,
  13788.     DWORD *_pdwStubPhase);
  13789.  
  13790.  
  13791.  
  13792. #endif     /* __IParentRowset_INTERFACE_DEFINED__ */
  13793.  
  13794.  
  13795. /****************************************
  13796.  * Generated header for interface: __MIDL_itf_oledb_0142
  13797.  * at Tue Apr 28 11:55:07 1998
  13798.  * using MIDL 3.01.75
  13799.  ****************************************/
  13800. /* [local] */ 
  13801.  
  13802.  
  13803. #endif // OLEDBVER >= 0x0200
  13804. //@@@- V2.0
  13805.  
  13806.  
  13807. extern RPC_IF_HANDLE __MIDL_itf_oledb_0142_v0_0_c_ifspec;
  13808. extern RPC_IF_HANDLE __MIDL_itf_oledb_0142_v0_0_s_ifspec;
  13809.  
  13810. #ifndef __IErrorRecords_INTERFACE_DEFINED__
  13811. #define __IErrorRecords_INTERFACE_DEFINED__
  13812.  
  13813. /****************************************
  13814.  * Generated header for interface: IErrorRecords
  13815.  * at Tue Apr 28 11:55:07 1998
  13816.  * using MIDL 3.01.75
  13817.  ****************************************/
  13818. /* [unique][uuid][object] */ 
  13819.  
  13820.  
  13821. #define IDENTIFIER_SDK_MASK    0xF0000000
  13822. #define IDENTIFIER_SDK_ERROR    0x10000000
  13823. typedef struct  tagERRORINFO
  13824.     {
  13825.     HRESULT hrError;
  13826.     DWORD dwMinor;
  13827.     CLSID clsid;
  13828.     IID iid;
  13829.     DISPID dispid;
  13830.     }    ERRORINFO;
  13831.  
  13832.  
  13833. EXTERN_C const IID IID_IErrorRecords;
  13834.  
  13835. #if defined(__cplusplus) && !defined(CINTERFACE)
  13836.     
  13837.     interface DECLSPEC_UUID("0c733a67-2a1c-11ce-ade5-00aa0044773d")
  13838.     IErrorRecords : public IUnknown
  13839.     {
  13840.     public:
  13841.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddErrorRecord( 
  13842.             /* [in] */ ERRORINFO __RPC_FAR *pErrorInfo,
  13843.             /* [in] */ DWORD dwLookupID,
  13844.             /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  13845.             /* [in] */ IUnknown __RPC_FAR *punkCustomError,
  13846.             /* [in] */ DWORD dwDynamicErrorID) = 0;
  13847.         
  13848.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetBasicErrorInfo( 
  13849.             /* [in] */ ULONG ulRecordNum,
  13850.             /* [out] */ ERRORINFO __RPC_FAR *pErrorInfo) = 0;
  13851.         
  13852.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetCustomErrorObject( 
  13853.             /* [in] */ ULONG ulRecordNum,
  13854.             /* [in] */ REFIID riid,
  13855.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject) = 0;
  13856.         
  13857.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetErrorInfo( 
  13858.             /* [in] */ ULONG ulRecordNum,
  13859.             /* [in] */ LCID lcid,
  13860.             /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfo) = 0;
  13861.         
  13862.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetErrorParameters( 
  13863.             /* [in] */ ULONG ulRecordNum,
  13864.             /* [out] */ DISPPARAMS __RPC_FAR *pdispparams) = 0;
  13865.         
  13866.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetRecordCount( 
  13867.             /* [out] */ ULONG __RPC_FAR *pcRecords) = 0;
  13868.         
  13869.     };
  13870.     
  13871. #else     /* C style interface */
  13872.  
  13873.     typedef struct IErrorRecordsVtbl
  13874.     {
  13875.         BEGIN_INTERFACE
  13876.         
  13877.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13878.             IErrorRecords __RPC_FAR * This,
  13879.             /* [in] */ REFIID riid,
  13880.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13881.         
  13882.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13883.             IErrorRecords __RPC_FAR * This);
  13884.         
  13885.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13886.             IErrorRecords __RPC_FAR * This);
  13887.         
  13888.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddErrorRecord )( 
  13889.             IErrorRecords __RPC_FAR * This,
  13890.             /* [in] */ ERRORINFO __RPC_FAR *pErrorInfo,
  13891.             /* [in] */ DWORD dwLookupID,
  13892.             /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  13893.             /* [in] */ IUnknown __RPC_FAR *punkCustomError,
  13894.             /* [in] */ DWORD dwDynamicErrorID);
  13895.         
  13896.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBasicErrorInfo )( 
  13897.             IErrorRecords __RPC_FAR * This,
  13898.             /* [in] */ ULONG ulRecordNum,
  13899.             /* [out] */ ERRORINFO __RPC_FAR *pErrorInfo);
  13900.         
  13901.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCustomErrorObject )( 
  13902.             IErrorRecords __RPC_FAR * This,
  13903.             /* [in] */ ULONG ulRecordNum,
  13904.             /* [in] */ REFIID riid,
  13905.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject);
  13906.         
  13907.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetErrorInfo )( 
  13908.             IErrorRecords __RPC_FAR * This,
  13909.             /* [in] */ ULONG ulRecordNum,
  13910.             /* [in] */ LCID lcid,
  13911.             /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfo);
  13912.         
  13913.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetErrorParameters )( 
  13914.             IErrorRecords __RPC_FAR * This,
  13915.             /* [in] */ ULONG ulRecordNum,
  13916.             /* [out] */ DISPPARAMS __RPC_FAR *pdispparams);
  13917.         
  13918.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRecordCount )( 
  13919.             IErrorRecords __RPC_FAR * This,
  13920.             /* [out] */ ULONG __RPC_FAR *pcRecords);
  13921.         
  13922.         END_INTERFACE
  13923.     } IErrorRecordsVtbl;
  13924.  
  13925.     interface IErrorRecords
  13926.     {
  13927.         CONST_VTBL struct IErrorRecordsVtbl __RPC_FAR *lpVtbl;
  13928.     };
  13929.  
  13930.     
  13931.  
  13932. #ifdef COBJMACROS
  13933.  
  13934.  
  13935. #define IErrorRecords_QueryInterface(This,riid,ppvObject)    \
  13936.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13937.  
  13938. #define IErrorRecords_AddRef(This)    \
  13939.     (This)->lpVtbl -> AddRef(This)
  13940.  
  13941. #define IErrorRecords_Release(This)    \
  13942.     (This)->lpVtbl -> Release(This)
  13943.  
  13944.  
  13945. #define IErrorRecords_AddErrorRecord(This,pErrorInfo,dwLookupID,pdispparams,punkCustomError,dwDynamicErrorID)    \
  13946.     (This)->lpVtbl -> AddErrorRecord(This,pErrorInfo,dwLookupID,pdispparams,punkCustomError,dwDynamicErrorID)
  13947.  
  13948. #define IErrorRecords_GetBasicErrorInfo(This,ulRecordNum,pErrorInfo)    \
  13949.     (This)->lpVtbl -> GetBasicErrorInfo(This,ulRecordNum,pErrorInfo)
  13950.  
  13951. #define IErrorRecords_GetCustomErrorObject(This,ulRecordNum,riid,ppObject)    \
  13952.     (This)->lpVtbl -> GetCustomErrorObject(This,ulRecordNum,riid,ppObject)
  13953.  
  13954. #define IErrorRecords_GetErrorInfo(This,ulRecordNum,lcid,ppErrorInfo)    \
  13955.     (This)->lpVtbl -> GetErrorInfo(This,ulRecordNum,lcid,ppErrorInfo)
  13956.  
  13957. #define IErrorRecords_GetErrorParameters(This,ulRecordNum,pdispparams)    \
  13958.     (This)->lpVtbl -> GetErrorParameters(This,ulRecordNum,pdispparams)
  13959.  
  13960. #define IErrorRecords_GetRecordCount(This,pcRecords)    \
  13961.     (This)->lpVtbl -> GetRecordCount(This,pcRecords)
  13962.  
  13963. #endif /* COBJMACROS */
  13964.  
  13965.  
  13966. #endif     /* C style interface */
  13967.  
  13968.  
  13969.  
  13970. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_RemoteAddErrorRecord_Proxy( 
  13971.     IErrorRecords __RPC_FAR * This,
  13972.     /* [in] */ ERRORINFO __RPC_FAR *pErrorInfo,
  13973.     /* [in] */ DWORD dwLookupID,
  13974.     /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  13975.     /* [in] */ IUnknown __RPC_FAR *punkCustomError,
  13976.     /* [in] */ DWORD dwDynamicErrorID,
  13977.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  13978.  
  13979.  
  13980. void __RPC_STUB IErrorRecords_RemoteAddErrorRecord_Stub(
  13981.     IRpcStubBuffer *This,
  13982.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13983.     PRPC_MESSAGE _pRpcMessage,
  13984.     DWORD *_pdwStubPhase);
  13985.  
  13986.  
  13987. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_RemoteGetBasicErrorInfo_Proxy( 
  13988.     IErrorRecords __RPC_FAR * This,
  13989.     /* [in] */ ULONG ulRecordNum,
  13990.     /* [out] */ ERRORINFO __RPC_FAR *pErrorInfo,
  13991.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  13992.  
  13993.  
  13994. void __RPC_STUB IErrorRecords_RemoteGetBasicErrorInfo_Stub(
  13995.     IRpcStubBuffer *This,
  13996.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13997.     PRPC_MESSAGE _pRpcMessage,
  13998.     DWORD *_pdwStubPhase);
  13999.  
  14000.  
  14001. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_RemoteGetCustomErrorObject_Proxy( 
  14002.     IErrorRecords __RPC_FAR * This,
  14003.     /* [in] */ ULONG ulRecordNum,
  14004.     /* [in] */ REFIID riid,
  14005.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject,
  14006.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  14007.  
  14008.  
  14009. void __RPC_STUB IErrorRecords_RemoteGetCustomErrorObject_Stub(
  14010.     IRpcStubBuffer *This,
  14011.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14012.     PRPC_MESSAGE _pRpcMessage,
  14013.     DWORD *_pdwStubPhase);
  14014.  
  14015.  
  14016. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_RemoteGetErrorInfo_Proxy( 
  14017.     IErrorRecords __RPC_FAR * This,
  14018.     /* [in] */ ULONG ulRecordNum,
  14019.     /* [in] */ LCID lcid,
  14020.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfo,
  14021.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  14022.  
  14023.  
  14024. void __RPC_STUB IErrorRecords_RemoteGetErrorInfo_Stub(
  14025.     IRpcStubBuffer *This,
  14026.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14027.     PRPC_MESSAGE _pRpcMessage,
  14028.     DWORD *_pdwStubPhase);
  14029.  
  14030.  
  14031. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_RemoteGetErrorParameters_Proxy( 
  14032.     IErrorRecords __RPC_FAR * This,
  14033.     /* [in] */ ULONG ulRecordNum,
  14034.     /* [out] */ DISPPARAMS __RPC_FAR *pdispparams,
  14035.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  14036.  
  14037.  
  14038. void __RPC_STUB IErrorRecords_RemoteGetErrorParameters_Stub(
  14039.     IRpcStubBuffer *This,
  14040.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14041.     PRPC_MESSAGE _pRpcMessage,
  14042.     DWORD *_pdwStubPhase);
  14043.  
  14044.  
  14045. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_RemoteGetRecordCount_Proxy( 
  14046.     IErrorRecords __RPC_FAR * This,
  14047.     /* [out] */ ULONG __RPC_FAR *pcRecords,
  14048.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  14049.  
  14050.  
  14051. void __RPC_STUB IErrorRecords_RemoteGetRecordCount_Stub(
  14052.     IRpcStubBuffer *This,
  14053.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14054.     PRPC_MESSAGE _pRpcMessage,
  14055.     DWORD *_pdwStubPhase);
  14056.  
  14057.  
  14058.  
  14059. #endif     /* __IErrorRecords_INTERFACE_DEFINED__ */
  14060.  
  14061.  
  14062. #ifndef __IErrorLookup_INTERFACE_DEFINED__
  14063. #define __IErrorLookup_INTERFACE_DEFINED__
  14064.  
  14065. /****************************************
  14066.  * Generated header for interface: IErrorLookup
  14067.  * at Tue Apr 28 11:55:07 1998
  14068.  * using MIDL 3.01.75
  14069.  ****************************************/
  14070. /* [unique][uuid][object] */ 
  14071.  
  14072.  
  14073.  
  14074. EXTERN_C const IID IID_IErrorLookup;
  14075.  
  14076. #if defined(__cplusplus) && !defined(CINTERFACE)
  14077.     
  14078.     interface DECLSPEC_UUID("0c733a66-2a1c-11ce-ade5-00aa0044773d")
  14079.     IErrorLookup : public IUnknown
  14080.     {
  14081.     public:
  14082.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetErrorDescription( 
  14083.             /* [in] */ HRESULT hrError,
  14084.             /* [in] */ DWORD dwLookupID,
  14085.             /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  14086.             /* [in] */ LCID lcid,
  14087.             /* [out] */ BSTR __RPC_FAR *pbstrSource,
  14088.             /* [out] */ BSTR __RPC_FAR *pbstrDescription) = 0;
  14089.         
  14090.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetHelpInfo( 
  14091.             /* [in] */ HRESULT hrError,
  14092.             /* [in] */ DWORD dwLookupID,
  14093.             /* [in] */ LCID lcid,
  14094.             /* [out] */ BSTR __RPC_FAR *pbstrHelpFile,
  14095.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext) = 0;
  14096.         
  14097.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE ReleaseErrors( 
  14098.             /* [in] */ const DWORD dwDynamicErrorID) = 0;
  14099.         
  14100.     };
  14101.     
  14102. #else     /* C style interface */
  14103.  
  14104.     typedef struct IErrorLookupVtbl
  14105.     {
  14106.         BEGIN_INTERFACE
  14107.         
  14108.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  14109.             IErrorLookup __RPC_FAR * This,
  14110.             /* [in] */ REFIID riid,
  14111.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  14112.         
  14113.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  14114.             IErrorLookup __RPC_FAR * This);
  14115.         
  14116.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  14117.             IErrorLookup __RPC_FAR * This);
  14118.         
  14119.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetErrorDescription )( 
  14120.             IErrorLookup __RPC_FAR * This,
  14121.             /* [in] */ HRESULT hrError,
  14122.             /* [in] */ DWORD dwLookupID,
  14123.             /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  14124.             /* [in] */ LCID lcid,
  14125.             /* [out] */ BSTR __RPC_FAR *pbstrSource,
  14126.             /* [out] */ BSTR __RPC_FAR *pbstrDescription);
  14127.         
  14128.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetHelpInfo )( 
  14129.             IErrorLookup __RPC_FAR * This,
  14130.             /* [in] */ HRESULT hrError,
  14131.             /* [in] */ DWORD dwLookupID,
  14132.             /* [in] */ LCID lcid,
  14133.             /* [out] */ BSTR __RPC_FAR *pbstrHelpFile,
  14134.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext);
  14135.         
  14136.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseErrors )( 
  14137.             IErrorLookup __RPC_FAR * This,
  14138.             /* [in] */ const DWORD dwDynamicErrorID);
  14139.         
  14140.         END_INTERFACE
  14141.     } IErrorLookupVtbl;
  14142.  
  14143.     interface IErrorLookup
  14144.     {
  14145.         CONST_VTBL struct IErrorLookupVtbl __RPC_FAR *lpVtbl;
  14146.     };
  14147.  
  14148.     
  14149.  
  14150. #ifdef COBJMACROS
  14151.  
  14152.  
  14153. #define IErrorLookup_QueryInterface(This,riid,ppvObject)    \
  14154.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14155.  
  14156. #define IErrorLookup_AddRef(This)    \
  14157.     (This)->lpVtbl -> AddRef(This)
  14158.  
  14159. #define IErrorLookup_Release(This)    \
  14160.     (This)->lpVtbl -> Release(This)
  14161.  
  14162.  
  14163. #define IErrorLookup_GetErrorDescription(This,hrError,dwLookupID,pdispparams,lcid,pbstrSource,pbstrDescription)    \
  14164.     (This)->lpVtbl -> GetErrorDescription(This,hrError,dwLookupID,pdispparams,lcid,pbstrSource,pbstrDescription)
  14165.  
  14166. #define IErrorLookup_GetHelpInfo(This,hrError,dwLookupID,lcid,pbstrHelpFile,pdwHelpContext)    \
  14167.     (This)->lpVtbl -> GetHelpInfo(This,hrError,dwLookupID,lcid,pbstrHelpFile,pdwHelpContext)
  14168.  
  14169. #define IErrorLookup_ReleaseErrors(This,dwDynamicErrorID)    \
  14170.     (This)->lpVtbl -> ReleaseErrors(This,dwDynamicErrorID)
  14171.  
  14172. #endif /* COBJMACROS */
  14173.  
  14174.  
  14175. #endif     /* C style interface */
  14176.  
  14177.  
  14178.  
  14179. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorLookup_RemoteGetErrorDescription_Proxy( 
  14180.     IErrorLookup __RPC_FAR * This,
  14181.     /* [in] */ HRESULT hrError,
  14182.     /* [in] */ DWORD dwLookupID,
  14183.     /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  14184.     /* [in] */ LCID lcid,
  14185.     /* [out] */ BSTR __RPC_FAR *pbstrSource,
  14186.     /* [out] */ BSTR __RPC_FAR *pbstrDescription,
  14187.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  14188.  
  14189.  
  14190. void __RPC_STUB IErrorLookup_RemoteGetErrorDescription_Stub(
  14191.     IRpcStubBuffer *This,
  14192.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14193.     PRPC_MESSAGE _pRpcMessage,
  14194.     DWORD *_pdwStubPhase);
  14195.  
  14196.  
  14197. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorLookup_RemoteGetHelpInfo_Proxy( 
  14198.     IErrorLookup __RPC_FAR * This,
  14199.     /* [in] */ HRESULT hrError,
  14200.     /* [in] */ DWORD dwLookupID,
  14201.     /* [in] */ LCID lcid,
  14202.     /* [out] */ BSTR __RPC_FAR *pbstrHelpFile,
  14203.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  14204.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  14205.  
  14206.  
  14207. void __RPC_STUB IErrorLookup_RemoteGetHelpInfo_Stub(
  14208.     IRpcStubBuffer *This,
  14209.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14210.     PRPC_MESSAGE _pRpcMessage,
  14211.     DWORD *_pdwStubPhase);
  14212.  
  14213.  
  14214. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorLookup_RemoteReleaseErrors_Proxy( 
  14215.     IErrorLookup __RPC_FAR * This,
  14216.     /* [in] */ const DWORD dwDynamicErrorID,
  14217.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  14218.  
  14219.  
  14220. void __RPC_STUB IErrorLookup_RemoteReleaseErrors_Stub(
  14221.     IRpcStubBuffer *This,
  14222.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14223.     PRPC_MESSAGE _pRpcMessage,
  14224.     DWORD *_pdwStubPhase);
  14225.  
  14226.  
  14227.  
  14228. #endif     /* __IErrorLookup_INTERFACE_DEFINED__ */
  14229.  
  14230.  
  14231. #ifndef __ISQLErrorInfo_INTERFACE_DEFINED__
  14232. #define __ISQLErrorInfo_INTERFACE_DEFINED__
  14233.  
  14234. /****************************************
  14235.  * Generated header for interface: ISQLErrorInfo
  14236.  * at Tue Apr 28 11:55:07 1998
  14237.  * using MIDL 3.01.75
  14238.  ****************************************/
  14239. /* [unique][uuid][object] */ 
  14240.  
  14241.  
  14242.  
  14243. EXTERN_C const IID IID_ISQLErrorInfo;
  14244.  
  14245. #if defined(__cplusplus) && !defined(CINTERFACE)
  14246.     
  14247.     interface DECLSPEC_UUID("0c733a74-2a1c-11ce-ade5-00aa0044773d")
  14248.     ISQLErrorInfo : public IUnknown
  14249.     {
  14250.     public:
  14251.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSQLInfo( 
  14252.             /* [out] */ BSTR __RPC_FAR *pbstrSQLState,
  14253.             /* [out] */ LONG __RPC_FAR *plNativeError) = 0;
  14254.         
  14255.     };
  14256.     
  14257. #else     /* C style interface */
  14258.  
  14259.     typedef struct ISQLErrorInfoVtbl
  14260.     {
  14261.         BEGIN_INTERFACE
  14262.         
  14263.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  14264.             ISQLErrorInfo __RPC_FAR * This,
  14265.             /* [in] */ REFIID riid,
  14266.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  14267.         
  14268.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  14269.             ISQLErrorInfo __RPC_FAR * This);
  14270.         
  14271.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  14272.             ISQLErrorInfo __RPC_FAR * This);
  14273.         
  14274.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSQLInfo )( 
  14275.             ISQLErrorInfo __RPC_FAR * This,
  14276.             /* [out] */ BSTR __RPC_FAR *pbstrSQLState,
  14277.             /* [out] */ LONG __RPC_FAR *plNativeError);
  14278.         
  14279.         END_INTERFACE
  14280.     } ISQLErrorInfoVtbl;
  14281.  
  14282.     interface ISQLErrorInfo
  14283.     {
  14284.         CONST_VTBL struct ISQLErrorInfoVtbl __RPC_FAR *lpVtbl;
  14285.     };
  14286.  
  14287.     
  14288.  
  14289. #ifdef COBJMACROS
  14290.  
  14291.  
  14292. #define ISQLErrorInfo_QueryInterface(This,riid,ppvObject)    \
  14293.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14294.  
  14295. #define ISQLErrorInfo_AddRef(This)    \
  14296.     (This)->lpVtbl -> AddRef(This)
  14297.  
  14298. #define ISQLErrorInfo_Release(This)    \
  14299.     (This)->lpVtbl -> Release(This)
  14300.  
  14301.  
  14302. #define ISQLErrorInfo_GetSQLInfo(This,pbstrSQLState,plNativeError)    \
  14303.     (This)->lpVtbl -> GetSQLInfo(This,pbstrSQLState,plNativeError)
  14304.  
  14305. #endif /* COBJMACROS */
  14306.  
  14307.  
  14308. #endif     /* C style interface */
  14309.  
  14310.  
  14311.  
  14312. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISQLErrorInfo_RemoteGetSQLInfo_Proxy( 
  14313.     ISQLErrorInfo __RPC_FAR * This,
  14314.     /* [out] */ BSTR __RPC_FAR *pbstrSQLState,
  14315.     /* [out] */ LONG __RPC_FAR *plNativeError,
  14316.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  14317.  
  14318.  
  14319. void __RPC_STUB ISQLErrorInfo_RemoteGetSQLInfo_Stub(
  14320.     IRpcStubBuffer *This,
  14321.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14322.     PRPC_MESSAGE _pRpcMessage,
  14323.     DWORD *_pdwStubPhase);
  14324.  
  14325.  
  14326.  
  14327. #endif     /* __ISQLErrorInfo_INTERFACE_DEFINED__ */
  14328.  
  14329.  
  14330. #ifndef __IGetDataSource_INTERFACE_DEFINED__
  14331. #define __IGetDataSource_INTERFACE_DEFINED__
  14332.  
  14333. /****************************************
  14334.  * Generated header for interface: IGetDataSource
  14335.  * at Tue Apr 28 11:55:07 1998
  14336.  * using MIDL 3.01.75
  14337.  ****************************************/
  14338. /* [unique][uuid][object] */ 
  14339.  
  14340.  
  14341.  
  14342. EXTERN_C const IID IID_IGetDataSource;
  14343.  
  14344. #if defined(__cplusplus) && !defined(CINTERFACE)
  14345.     
  14346.     interface DECLSPEC_UUID("0c733a75-2a1c-11ce-ade5-00aa0044773d")
  14347.     IGetDataSource : public IUnknown
  14348.     {
  14349.     public:
  14350.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDataSource( 
  14351.             /* [in] */ REFIID riid,
  14352.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDataSource) = 0;
  14353.         
  14354.     };
  14355.     
  14356. #else     /* C style interface */
  14357.  
  14358.     typedef struct IGetDataSourceVtbl
  14359.     {
  14360.         BEGIN_INTERFACE
  14361.         
  14362.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  14363.             IGetDataSource __RPC_FAR * This,
  14364.             /* [in] */ REFIID riid,
  14365.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  14366.         
  14367.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  14368.             IGetDataSource __RPC_FAR * This);
  14369.         
  14370.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  14371.             IGetDataSource __RPC_FAR * This);
  14372.         
  14373.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDataSource )( 
  14374.             IGetDataSource __RPC_FAR * This,
  14375.             /* [in] */ REFIID riid,
  14376.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDataSource);
  14377.         
  14378.         END_INTERFACE
  14379.     } IGetDataSourceVtbl;
  14380.  
  14381.     interface IGetDataSource
  14382.     {
  14383.         CONST_VTBL struct IGetDataSourceVtbl __RPC_FAR *lpVtbl;
  14384.     };
  14385.  
  14386.     
  14387.  
  14388. #ifdef COBJMACROS
  14389.  
  14390.  
  14391. #define IGetDataSource_QueryInterface(This,riid,ppvObject)    \
  14392.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14393.  
  14394. #define IGetDataSource_AddRef(This)    \
  14395.     (This)->lpVtbl -> AddRef(This)
  14396.  
  14397. #define IGetDataSource_Release(This)    \
  14398.     (This)->lpVtbl -> Release(This)
  14399.  
  14400.  
  14401. #define IGetDataSource_GetDataSource(This,riid,ppDataSource)    \
  14402.     (This)->lpVtbl -> GetDataSource(This,riid,ppDataSource)
  14403.  
  14404. #endif /* COBJMACROS */
  14405.  
  14406.  
  14407. #endif     /* C style interface */
  14408.  
  14409.  
  14410.  
  14411. /* [call_as] */ HRESULT STDMETHODCALLTYPE IGetDataSource_RemoteGetDataSource_Proxy( 
  14412.     IGetDataSource __RPC_FAR * This,
  14413.     /* [in] */ REFIID riid,
  14414.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDataSource,
  14415.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  14416.  
  14417.  
  14418. void __RPC_STUB IGetDataSource_RemoteGetDataSource_Stub(
  14419.     IRpcStubBuffer *This,
  14420.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14421.     PRPC_MESSAGE _pRpcMessage,
  14422.     DWORD *_pdwStubPhase);
  14423.  
  14424.  
  14425.  
  14426. #endif     /* __IGetDataSource_INTERFACE_DEFINED__ */
  14427.  
  14428.  
  14429. #ifndef __ITransactionLocal_INTERFACE_DEFINED__
  14430. #define __ITransactionLocal_INTERFACE_DEFINED__
  14431.  
  14432. /****************************************
  14433.  * Generated header for interface: ITransactionLocal
  14434.  * at Tue Apr 28 11:55:07 1998
  14435.  * using MIDL 3.01.75
  14436.  ****************************************/
  14437. /* [unique][uuid][object] */ 
  14438.  
  14439.  
  14440.  
  14441. EXTERN_C const IID IID_ITransactionLocal;
  14442.  
  14443. #if defined(__cplusplus) && !defined(CINTERFACE)
  14444.     
  14445.     interface DECLSPEC_UUID("0c733a5f-2a1c-11ce-ade5-00aa0044773d")
  14446.     ITransactionLocal : public ITransaction
  14447.     {
  14448.     public:
  14449.         virtual HRESULT STDMETHODCALLTYPE GetOptionsObject( 
  14450.             /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions) = 0;
  14451.         
  14452.         virtual HRESULT STDMETHODCALLTYPE StartTransaction( 
  14453.             /* [in] */ ISOLEVEL isoLevel,
  14454.             /* [in] */ ULONG isoFlags,
  14455.             /* [in] */ ITransactionOptions __RPC_FAR *pOtherOptions,
  14456.             /* [out] */ ULONG __RPC_FAR *pulTransactionLevel) = 0;
  14457.         
  14458.     };
  14459.     
  14460. #else     /* C style interface */
  14461.  
  14462.     typedef struct ITransactionLocalVtbl
  14463.     {
  14464.         BEGIN_INTERFACE
  14465.         
  14466.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  14467.             ITransactionLocal __RPC_FAR * This,
  14468.             /* [in] */ REFIID riid,
  14469.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  14470.         
  14471.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  14472.             ITransactionLocal __RPC_FAR * This);
  14473.         
  14474.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  14475.             ITransactionLocal __RPC_FAR * This);
  14476.         
  14477.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Commit )( 
  14478.             ITransactionLocal __RPC_FAR * This,
  14479.             /* [in] */ BOOL fRetaining,
  14480.             /* [in] */ DWORD grfTC,
  14481.             /* [in] */ DWORD grfRM);
  14482.         
  14483.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Abort )( 
  14484.             ITransactionLocal __RPC_FAR * This,
  14485.             /* [unique][in] */ BOID __RPC_FAR *pboidReason,
  14486.             /* [in] */ BOOL fRetaining,
  14487.             /* [in] */ BOOL fAsync);
  14488.         
  14489.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTransactionInfo )( 
  14490.             ITransactionLocal __RPC_FAR * This,
  14491.             /* [out] */ XACTTRANSINFO __RPC_FAR *pinfo);
  14492.         
  14493.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOptionsObject )( 
  14494.             ITransactionLocal __RPC_FAR * This,
  14495.             /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions);
  14496.         
  14497.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StartTransaction )( 
  14498.             ITransactionLocal __RPC_FAR * This,
  14499.             /* [in] */ ISOLEVEL isoLevel,
  14500.             /* [in] */ ULONG isoFlags,
  14501.             /* [in] */ ITransactionOptions __RPC_FAR *pOtherOptions,
  14502.             /* [out] */ ULONG __RPC_FAR *pulTransactionLevel);
  14503.         
  14504.         END_INTERFACE
  14505.     } ITransactionLocalVtbl;
  14506.  
  14507.     interface ITransactionLocal
  14508.     {
  14509.         CONST_VTBL struct ITransactionLocalVtbl __RPC_FAR *lpVtbl;
  14510.     };
  14511.  
  14512.     
  14513.  
  14514. #ifdef COBJMACROS
  14515.  
  14516.  
  14517. #define ITransactionLocal_QueryInterface(This,riid,ppvObject)    \
  14518.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14519.  
  14520. #define ITransactionLocal_AddRef(This)    \
  14521.     (This)->lpVtbl -> AddRef(This)
  14522.  
  14523. #define ITransactionLocal_Release(This)    \
  14524.     (This)->lpVtbl -> Release(This)
  14525.  
  14526.  
  14527. #define ITransactionLocal_Commit(This,fRetaining,grfTC,grfRM)    \
  14528.     (This)->lpVtbl -> Commit(This,fRetaining,grfTC,grfRM)
  14529.  
  14530. #define ITransactionLocal_Abort(This,pboidReason,fRetaining,fAsync)    \
  14531.     (This)->lpVtbl -> Abort(This,pboidReason,fRetaining,fAsync)
  14532.  
  14533. #define ITransactionLocal_GetTransactionInfo(This,pinfo)    \
  14534.     (This)->lpVtbl -> GetTransactionInfo(This,pinfo)
  14535.  
  14536.  
  14537. #define ITransactionLocal_GetOptionsObject(This,ppOptions)    \
  14538.     (This)->lpVtbl -> GetOptionsObject(This,ppOptions)
  14539.  
  14540. #define ITransactionLocal_StartTransaction(This,isoLevel,isoFlags,pOtherOptions,pulTransactionLevel)    \
  14541.     (This)->lpVtbl -> StartTransaction(This,isoLevel,isoFlags,pOtherOptions,pulTransactionLevel)
  14542.  
  14543. #endif /* COBJMACROS */
  14544.  
  14545.  
  14546. #endif     /* C style interface */
  14547.  
  14548.  
  14549.  
  14550. HRESULT STDMETHODCALLTYPE ITransactionLocal_GetOptionsObject_Proxy( 
  14551.     ITransactionLocal __RPC_FAR * This,
  14552.     /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions);
  14553.  
  14554.  
  14555. void __RPC_STUB ITransactionLocal_GetOptionsObject_Stub(
  14556.     IRpcStubBuffer *This,
  14557.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14558.     PRPC_MESSAGE _pRpcMessage,
  14559.     DWORD *_pdwStubPhase);
  14560.  
  14561.  
  14562. HRESULT STDMETHODCALLTYPE ITransactionLocal_StartTransaction_Proxy( 
  14563.     ITransactionLocal __RPC_FAR * This,
  14564.     /* [in] */ ISOLEVEL isoLevel,
  14565.     /* [in] */ ULONG isoFlags,
  14566.     /* [in] */ ITransactionOptions __RPC_FAR *pOtherOptions,
  14567.     /* [out] */ ULONG __RPC_FAR *pulTransactionLevel);
  14568.  
  14569.  
  14570. void __RPC_STUB ITransactionLocal_StartTransaction_Stub(
  14571.     IRpcStubBuffer *This,
  14572.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14573.     PRPC_MESSAGE _pRpcMessage,
  14574.     DWORD *_pdwStubPhase);
  14575.  
  14576.  
  14577.  
  14578. #endif     /* __ITransactionLocal_INTERFACE_DEFINED__ */
  14579.  
  14580.  
  14581. #ifndef __ITransactionJoin_INTERFACE_DEFINED__
  14582. #define __ITransactionJoin_INTERFACE_DEFINED__
  14583.  
  14584. /****************************************
  14585.  * Generated header for interface: ITransactionJoin
  14586.  * at Tue Apr 28 11:55:07 1998
  14587.  * using MIDL 3.01.75
  14588.  ****************************************/
  14589. /* [unique][uuid][object] */ 
  14590.  
  14591.  
  14592.  
  14593. EXTERN_C const IID IID_ITransactionJoin;
  14594.  
  14595. #if defined(__cplusplus) && !defined(CINTERFACE)
  14596.     
  14597.     interface DECLSPEC_UUID("0c733a5e-2a1c-11ce-ade5-00aa0044773d")
  14598.     ITransactionJoin : public IUnknown
  14599.     {
  14600.     public:
  14601.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetOptionsObject( 
  14602.             /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions) = 0;
  14603.         
  14604.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE JoinTransaction( 
  14605.             /* [in] */ IUnknown __RPC_FAR *punkTransactionCoord,
  14606.             /* [in] */ ISOLEVEL isoLevel,
  14607.             /* [in] */ ULONG isoFlags,
  14608.             /* [in] */ ITransactionOptions __RPC_FAR *pOtherOptions) = 0;
  14609.         
  14610.     };
  14611.     
  14612. #else     /* C style interface */
  14613.  
  14614.     typedef struct ITransactionJoinVtbl
  14615.     {
  14616.         BEGIN_INTERFACE
  14617.         
  14618.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  14619.             ITransactionJoin __RPC_FAR * This,
  14620.             /* [in] */ REFIID riid,
  14621.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  14622.         
  14623.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  14624.             ITransactionJoin __RPC_FAR * This);
  14625.         
  14626.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  14627.             ITransactionJoin __RPC_FAR * This);
  14628.         
  14629.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOptionsObject )( 
  14630.             ITransactionJoin __RPC_FAR * This,
  14631.             /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions);
  14632.         
  14633.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *JoinTransaction )( 
  14634.             ITransactionJoin __RPC_FAR * This,
  14635.             /* [in] */ IUnknown __RPC_FAR *punkTransactionCoord,
  14636.             /* [in] */ ISOLEVEL isoLevel,
  14637.             /* [in] */ ULONG isoFlags,
  14638.             /* [in] */ ITransactionOptions __RPC_FAR *pOtherOptions);
  14639.         
  14640.         END_INTERFACE
  14641.     } ITransactionJoinVtbl;
  14642.  
  14643.     interface ITransactionJoin
  14644.     {
  14645.         CONST_VTBL struct ITransactionJoinVtbl __RPC_FAR *lpVtbl;
  14646.     };
  14647.  
  14648.     
  14649.  
  14650. #ifdef COBJMACROS
  14651.  
  14652.  
  14653. #define ITransactionJoin_QueryInterface(This,riid,ppvObject)    \
  14654.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14655.  
  14656. #define ITransactionJoin_AddRef(This)    \
  14657.     (This)->lpVtbl -> AddRef(This)
  14658.  
  14659. #define ITransactionJoin_Release(This)    \
  14660.     (This)->lpVtbl -> Release(This)
  14661.  
  14662.  
  14663. #define ITransactionJoin_GetOptionsObject(This,ppOptions)    \
  14664.     (This)->lpVtbl -> GetOptionsObject(This,ppOptions)
  14665.  
  14666. #define ITransactionJoin_JoinTransaction(This,punkTransactionCoord,isoLevel,isoFlags,pOtherOptions)    \
  14667.     (This)->lpVtbl -> JoinTransaction(This,punkTransactionCoord,isoLevel,isoFlags,pOtherOptions)
  14668.  
  14669. #endif /* COBJMACROS */
  14670.  
  14671.  
  14672. #endif     /* C style interface */
  14673.  
  14674.  
  14675.  
  14676. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionJoin_RemoteGetOptionsObject_Proxy( 
  14677.     ITransactionJoin __RPC_FAR * This,
  14678.     /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions,
  14679.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  14680.  
  14681.  
  14682. void __RPC_STUB ITransactionJoin_RemoteGetOptionsObject_Stub(
  14683.     IRpcStubBuffer *This,
  14684.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14685.     PRPC_MESSAGE _pRpcMessage,
  14686.     DWORD *_pdwStubPhase);
  14687.  
  14688.  
  14689. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionJoin_RemoteJoinTransaction_Proxy( 
  14690.     ITransactionJoin __RPC_FAR * This,
  14691.     /* [in] */ IUnknown __RPC_FAR *punkTransactionCoord,
  14692.     /* [in] */ ISOLEVEL isoLevel,
  14693.     /* [in] */ ULONG isoFlags,
  14694.     /* [in] */ ITransactionOptions __RPC_FAR *pOtherOptions,
  14695.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  14696.  
  14697.  
  14698. void __RPC_STUB ITransactionJoin_RemoteJoinTransaction_Stub(
  14699.     IRpcStubBuffer *This,
  14700.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14701.     PRPC_MESSAGE _pRpcMessage,
  14702.     DWORD *_pdwStubPhase);
  14703.  
  14704.  
  14705.  
  14706. #endif     /* __ITransactionJoin_INTERFACE_DEFINED__ */
  14707.  
  14708.  
  14709. #ifndef __ITransactionObject_INTERFACE_DEFINED__
  14710. #define __ITransactionObject_INTERFACE_DEFINED__
  14711.  
  14712. /****************************************
  14713.  * Generated header for interface: ITransactionObject
  14714.  * at Tue Apr 28 11:55:07 1998
  14715.  * using MIDL 3.01.75
  14716.  ****************************************/
  14717. /* [unique][uuid][object] */ 
  14718.  
  14719.  
  14720.  
  14721. EXTERN_C const IID IID_ITransactionObject;
  14722.  
  14723. #if defined(__cplusplus) && !defined(CINTERFACE)
  14724.     
  14725.     interface DECLSPEC_UUID("0c733a60-2a1c-11ce-ade5-00aa0044773d")
  14726.     ITransactionObject : public IUnknown
  14727.     {
  14728.     public:
  14729.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetTransactionObject( 
  14730.             /* [in] */ ULONG ulTransactionLevel,
  14731.             /* [out] */ ITransaction __RPC_FAR *__RPC_FAR *ppTransactionObject) = 0;
  14732.         
  14733.     };
  14734.     
  14735. #else     /* C style interface */
  14736.  
  14737.     typedef struct ITransactionObjectVtbl
  14738.     {
  14739.         BEGIN_INTERFACE
  14740.         
  14741.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  14742.             ITransactionObject __RPC_FAR * This,
  14743.             /* [in] */ REFIID riid,
  14744.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  14745.         
  14746.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  14747.             ITransactionObject __RPC_FAR * This);
  14748.         
  14749.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  14750.             ITransactionObject __RPC_FAR * This);
  14751.         
  14752.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTransactionObject )( 
  14753.             ITransactionObject __RPC_FAR * This,
  14754.             /* [in] */ ULONG ulTransactionLevel,
  14755.             /* [out] */ ITransaction __RPC_FAR *__RPC_FAR *ppTransactionObject);
  14756.         
  14757.         END_INTERFACE
  14758.     } ITransactionObjectVtbl;
  14759.  
  14760.     interface ITransactionObject
  14761.     {
  14762.         CONST_VTBL struct ITransactionObjectVtbl __RPC_FAR *lpVtbl;
  14763.     };
  14764.  
  14765.     
  14766.  
  14767. #ifdef COBJMACROS
  14768.  
  14769.  
  14770. #define ITransactionObject_QueryInterface(This,riid,ppvObject)    \
  14771.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14772.  
  14773. #define ITransactionObject_AddRef(This)    \
  14774.     (This)->lpVtbl -> AddRef(This)
  14775.  
  14776. #define ITransactionObject_Release(This)    \
  14777.     (This)->lpVtbl -> Release(This)
  14778.  
  14779.  
  14780. #define ITransactionObject_GetTransactionObject(This,ulTransactionLevel,ppTransactionObject)    \
  14781.     (This)->lpVtbl -> GetTransactionObject(This,ulTransactionLevel,ppTransactionObject)
  14782.  
  14783. #endif /* COBJMACROS */
  14784.  
  14785.  
  14786. #endif     /* C style interface */
  14787.  
  14788.  
  14789.  
  14790. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionObject_RemoteGetTransactionObject_Proxy( 
  14791.     ITransactionObject __RPC_FAR * This,
  14792.     /* [in] */ ULONG ulTransactionLevel,
  14793.     /* [out] */ ITransaction __RPC_FAR *__RPC_FAR *ppTransactionObject,
  14794.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  14795.  
  14796.  
  14797. void __RPC_STUB ITransactionObject_RemoteGetTransactionObject_Stub(
  14798.     IRpcStubBuffer *This,
  14799.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14800.     PRPC_MESSAGE _pRpcMessage,
  14801.     DWORD *_pdwStubPhase);
  14802.  
  14803.  
  14804.  
  14805. #endif     /* __ITransactionObject_INTERFACE_DEFINED__ */
  14806.  
  14807.  
  14808. /****************************************
  14809.  * Generated header for interface: __MIDL_itf_oledb_0156
  14810.  * at Tue Apr 28 11:55:07 1998
  14811.  * using MIDL 3.01.75
  14812.  ****************************************/
  14813. /* [local] */ 
  14814.  
  14815.  
  14816. //@@@+ V2.1
  14817. #if( OLEDBVER >= 0x0210 )
  14818. #if 0  // to get around a MIDL limitation
  14819. typedef 
  14820. enum _TRUSTEE_TYPE
  14821.     {    TRUSTEE_IS_UNKNOWN    = 0,
  14822.     TRUSTEE_IS_USER    = TRUSTEE_IS_UNKNOWN + 1,
  14823.     TRUSTEE_IS_GROUP    = TRUSTEE_IS_USER + 1
  14824.     }    TRUSTEE_TYPE;
  14825.  
  14826. typedef 
  14827. enum _TRUSTEE_FORM
  14828.     {    TRUSTEE_IS_SID    = 0,
  14829.     TRUSTEE_IS_NAME    = TRUSTEE_IS_SID + 1
  14830.     }    TRUSTEE_FORM;
  14831.  
  14832. typedef 
  14833. enum _MULTIPLE_TRUSTEE_OPERATION
  14834.     {    NO_MULTIPLE_TRUSTEE    = 0,
  14835.     TRUSTEE_IS_IMPERSONATE    = NO_MULTIPLE_TRUSTEE + 1
  14836.     }    MULTIPLE_TRUSTEE_OPERATION;
  14837.  
  14838. typedef struct _TRUSTEE_A __RPC_FAR *PTRUSTEE_A;
  14839.  
  14840. typedef struct _TRUSTEE_W __RPC_FAR *PTRUSTEE_W;
  14841.  
  14842. typedef struct  _TRUSTEE_W
  14843.     {
  14844.     PTRUSTEE_W pMultipleTrustee;
  14845.     MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation;
  14846.     TRUSTEE_FORM TrusteeForm;
  14847.     TRUSTEE_TYPE TrusteeType;
  14848.     LPWSTR ptstrName;
  14849.     }    TRUSTEE_W;
  14850.  
  14851. typedef struct  _TRUSTEE_A
  14852.     {
  14853.     PTRUSTEE_A pMultipleTrustee;
  14854.     MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation;
  14855.     TRUSTEE_FORM TrusteeForm;
  14856.     TRUSTEE_TYPE TrusteeType;
  14857.     LPSTR ptstrName;
  14858.     }    TRUSTEE_A;
  14859.  
  14860. typedef 
  14861. enum _ACCESS_MODE
  14862.     {    NOT_USED_ACCESS    = 0,
  14863.     GRANT_ACCESS    = NOT_USED_ACCESS + 1,
  14864.     SET_ACCESS    = GRANT_ACCESS + 1,
  14865.     DENY_ACCESS    = SET_ACCESS + 1,
  14866.     REVOKE_ACCESS    = DENY_ACCESS + 1,
  14867.     SET_AUDIT_SUCCESS    = REVOKE_ACCESS + 1,
  14868.     SET_AUDIT_FAILURE    = SET_AUDIT_SUCCESS + 1
  14869.     }    ACCESS_MODE;
  14870.  
  14871. typedef 
  14872. enum _SE_OBJECT_TYPE
  14873.     {    SE_UNKNOWN_OBJECT_TYPE    = 0,
  14874.     SE_FILE_OBJECT    = SE_UNKNOWN_OBJECT_TYPE + 1,
  14875.     SE_SERVICE    = SE_FILE_OBJECT + 1,
  14876.     SE_PRINTER    = SE_SERVICE + 1,
  14877.     SE_REGISTRY_KEY    = SE_PRINTER + 1,
  14878.     SE_LMSHARE    = SE_REGISTRY_KEY + 1,
  14879.     SE_KERNEL_OBJECT    = SE_LMSHARE + 1,
  14880.     SE_WINDOW_OBJECT    = SE_KERNEL_OBJECT + 1
  14881.     }    SE_OBJECT_TYPE;
  14882.  
  14883. typedef struct  _EXPLICIT_ACCESS_W
  14884.     {
  14885.     DWORD grfAccessPermissions;
  14886.     ACCESS_MODE grfAccessMode;
  14887.     DWORD grfInheritance;
  14888.     TRUSTEE_W Trustee;
  14889.     }    EXPLICIT_ACCESS_W;
  14890.  
  14891. typedef struct _EXPLICIT_ACCESS_W __RPC_FAR *PEXPLICIT_ACCESS_W;
  14892.  
  14893. typedef struct  _EXPLICIT_ACCESS_A
  14894.     {
  14895.     DWORD grfAccessPermissions;
  14896.     ACCESS_MODE grfAccessMode;
  14897.     DWORD grfInheritance;
  14898.     TRUSTEE_A Trustee;
  14899.     }    EXPLICIT_ACCESS_A;
  14900.  
  14901. typedef struct _EXPLICIT_ACCESS_A __RPC_FAR *PEXPLICIT_ACCESS_A;
  14902.  
  14903. #else
  14904. #include <accctrl.h>
  14905. #endif
  14906.  
  14907.  
  14908. extern RPC_IF_HANDLE __MIDL_itf_oledb_0156_v0_0_c_ifspec;
  14909. extern RPC_IF_HANDLE __MIDL_itf_oledb_0156_v0_0_s_ifspec;
  14910.  
  14911. #ifndef __ITrusteeAdmin_INTERFACE_DEFINED__
  14912. #define __ITrusteeAdmin_INTERFACE_DEFINED__
  14913.  
  14914. /****************************************
  14915.  * Generated header for interface: ITrusteeAdmin
  14916.  * at Tue Apr 28 11:55:07 1998
  14917.  * using MIDL 3.01.75
  14918.  ****************************************/
  14919. /* [unique][uuid][object][local] */ 
  14920.  
  14921.  
  14922.  
  14923. EXTERN_C const IID IID_ITrusteeAdmin;
  14924.  
  14925. #if defined(__cplusplus) && !defined(CINTERFACE)
  14926.     
  14927.     interface DECLSPEC_UUID("0c733aa1-2a1c-11ce-ade5-00aa0044773d")
  14928.     ITrusteeAdmin : public IUnknown
  14929.     {
  14930.     public:
  14931.         virtual HRESULT STDMETHODCALLTYPE CompareTrustees( 
  14932.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee1,
  14933.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee2) = 0;
  14934.         
  14935.         virtual HRESULT STDMETHODCALLTYPE CreateTrustee( 
  14936.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  14937.             /* [in] */ ULONG cPropertySets,
  14938.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]) = 0;
  14939.         
  14940.         virtual HRESULT STDMETHODCALLTYPE DeleteTrustee( 
  14941.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee) = 0;
  14942.         
  14943.         virtual HRESULT STDMETHODCALLTYPE SetTrusteeProperties( 
  14944.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  14945.             /* [in] */ ULONG cPropertySets,
  14946.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]) = 0;
  14947.         
  14948.         virtual HRESULT STDMETHODCALLTYPE GetTrusteeProperties( 
  14949.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  14950.             /* [in] */ const ULONG cPropertyIDSets,
  14951.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  14952.             /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  14953.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets) = 0;
  14954.         
  14955.     };
  14956.     
  14957. #else     /* C style interface */
  14958.  
  14959.     typedef struct ITrusteeAdminVtbl
  14960.     {
  14961.         BEGIN_INTERFACE
  14962.         
  14963.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  14964.             ITrusteeAdmin __RPC_FAR * This,
  14965.             /* [in] */ REFIID riid,
  14966.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  14967.         
  14968.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  14969.             ITrusteeAdmin __RPC_FAR * This);
  14970.         
  14971.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  14972.             ITrusteeAdmin __RPC_FAR * This);
  14973.         
  14974.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CompareTrustees )( 
  14975.             ITrusteeAdmin __RPC_FAR * This,
  14976.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee1,
  14977.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee2);
  14978.         
  14979.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateTrustee )( 
  14980.             ITrusteeAdmin __RPC_FAR * This,
  14981.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  14982.             /* [in] */ ULONG cPropertySets,
  14983.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  14984.         
  14985.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteTrustee )( 
  14986.             ITrusteeAdmin __RPC_FAR * This,
  14987.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee);
  14988.         
  14989.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTrusteeProperties )( 
  14990.             ITrusteeAdmin __RPC_FAR * This,
  14991.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  14992.             /* [in] */ ULONG cPropertySets,
  14993.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  14994.         
  14995.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTrusteeProperties )( 
  14996.             ITrusteeAdmin __RPC_FAR * This,
  14997.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  14998.             /* [in] */ const ULONG cPropertyIDSets,
  14999.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  15000.             /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  15001.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets);
  15002.         
  15003.         END_INTERFACE
  15004.     } ITrusteeAdminVtbl;
  15005.  
  15006.     interface ITrusteeAdmin
  15007.     {
  15008.         CONST_VTBL struct ITrusteeAdminVtbl __RPC_FAR *lpVtbl;
  15009.     };
  15010.  
  15011.     
  15012.  
  15013. #ifdef COBJMACROS
  15014.  
  15015.  
  15016. #define ITrusteeAdmin_QueryInterface(This,riid,ppvObject)    \
  15017.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15018.  
  15019. #define ITrusteeAdmin_AddRef(This)    \
  15020.     (This)->lpVtbl -> AddRef(This)
  15021.  
  15022. #define ITrusteeAdmin_Release(This)    \
  15023.     (This)->lpVtbl -> Release(This)
  15024.  
  15025.  
  15026. #define ITrusteeAdmin_CompareTrustees(This,pTrustee1,pTrustee2)    \
  15027.     (This)->lpVtbl -> CompareTrustees(This,pTrustee1,pTrustee2)
  15028.  
  15029. #define ITrusteeAdmin_CreateTrustee(This,pTrustee,cPropertySets,rgPropertySets)    \
  15030.     (This)->lpVtbl -> CreateTrustee(This,pTrustee,cPropertySets,rgPropertySets)
  15031.  
  15032. #define ITrusteeAdmin_DeleteTrustee(This,pTrustee)    \
  15033.     (This)->lpVtbl -> DeleteTrustee(This,pTrustee)
  15034.  
  15035. #define ITrusteeAdmin_SetTrusteeProperties(This,pTrustee,cPropertySets,rgPropertySets)    \
  15036.     (This)->lpVtbl -> SetTrusteeProperties(This,pTrustee,cPropertySets,rgPropertySets)
  15037.  
  15038. #define ITrusteeAdmin_GetTrusteeProperties(This,pTrustee,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)    \
  15039.     (This)->lpVtbl -> GetTrusteeProperties(This,pTrustee,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  15040.  
  15041. #endif /* COBJMACROS */
  15042.  
  15043.  
  15044. #endif     /* C style interface */
  15045.  
  15046.  
  15047.  
  15048. HRESULT STDMETHODCALLTYPE ITrusteeAdmin_CompareTrustees_Proxy( 
  15049.     ITrusteeAdmin __RPC_FAR * This,
  15050.     /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee1,
  15051.     /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee2);
  15052.  
  15053.  
  15054. void __RPC_STUB ITrusteeAdmin_CompareTrustees_Stub(
  15055.     IRpcStubBuffer *This,
  15056.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15057.     PRPC_MESSAGE _pRpcMessage,
  15058.     DWORD *_pdwStubPhase);
  15059.  
  15060.  
  15061. HRESULT STDMETHODCALLTYPE ITrusteeAdmin_CreateTrustee_Proxy( 
  15062.     ITrusteeAdmin __RPC_FAR * This,
  15063.     /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  15064.     /* [in] */ ULONG cPropertySets,
  15065.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  15066.  
  15067.  
  15068. void __RPC_STUB ITrusteeAdmin_CreateTrustee_Stub(
  15069.     IRpcStubBuffer *This,
  15070.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15071.     PRPC_MESSAGE _pRpcMessage,
  15072.     DWORD *_pdwStubPhase);
  15073.  
  15074.  
  15075. HRESULT STDMETHODCALLTYPE ITrusteeAdmin_DeleteTrustee_Proxy( 
  15076.     ITrusteeAdmin __RPC_FAR * This,
  15077.     /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee);
  15078.  
  15079.  
  15080. void __RPC_STUB ITrusteeAdmin_DeleteTrustee_Stub(
  15081.     IRpcStubBuffer *This,
  15082.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15083.     PRPC_MESSAGE _pRpcMessage,
  15084.     DWORD *_pdwStubPhase);
  15085.  
  15086.  
  15087. HRESULT STDMETHODCALLTYPE ITrusteeAdmin_SetTrusteeProperties_Proxy( 
  15088.     ITrusteeAdmin __RPC_FAR * This,
  15089.     /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  15090.     /* [in] */ ULONG cPropertySets,
  15091.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  15092.  
  15093.  
  15094. void __RPC_STUB ITrusteeAdmin_SetTrusteeProperties_Stub(
  15095.     IRpcStubBuffer *This,
  15096.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15097.     PRPC_MESSAGE _pRpcMessage,
  15098.     DWORD *_pdwStubPhase);
  15099.  
  15100.  
  15101. HRESULT STDMETHODCALLTYPE ITrusteeAdmin_GetTrusteeProperties_Proxy( 
  15102.     ITrusteeAdmin __RPC_FAR * This,
  15103.     /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  15104.     /* [in] */ const ULONG cPropertyIDSets,
  15105.     /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  15106.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  15107.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets);
  15108.  
  15109.  
  15110. void __RPC_STUB ITrusteeAdmin_GetTrusteeProperties_Stub(
  15111.     IRpcStubBuffer *This,
  15112.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15113.     PRPC_MESSAGE _pRpcMessage,
  15114.     DWORD *_pdwStubPhase);
  15115.  
  15116.  
  15117.  
  15118. #endif     /* __ITrusteeAdmin_INTERFACE_DEFINED__ */
  15119.  
  15120.  
  15121. #ifndef __ITrusteeGroupAdmin_INTERFACE_DEFINED__
  15122. #define __ITrusteeGroupAdmin_INTERFACE_DEFINED__
  15123.  
  15124. /****************************************
  15125.  * Generated header for interface: ITrusteeGroupAdmin
  15126.  * at Tue Apr 28 11:55:07 1998
  15127.  * using MIDL 3.01.75
  15128.  ****************************************/
  15129. /* [unique][uuid][object][local] */ 
  15130.  
  15131.  
  15132.  
  15133. EXTERN_C const IID IID_ITrusteeGroupAdmin;
  15134.  
  15135. #if defined(__cplusplus) && !defined(CINTERFACE)
  15136.     
  15137.     interface DECLSPEC_UUID("0c733aa2-2a1c-11ce-ade5-00aa0044773d")
  15138.     ITrusteeGroupAdmin : public IUnknown
  15139.     {
  15140.     public:
  15141.         virtual HRESULT STDMETHODCALLTYPE AddMember( 
  15142.             /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  15143.             /* [in] */ TRUSTEE_W __RPC_FAR *pMemberTrustee) = 0;
  15144.         
  15145.         virtual HRESULT STDMETHODCALLTYPE DeleteMember( 
  15146.             /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  15147.             /* [in] */ TRUSTEE_W __RPC_FAR *pMemberTrustee) = 0;
  15148.         
  15149.         virtual HRESULT STDMETHODCALLTYPE IsMember( 
  15150.             /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  15151.             /* [in] */ TRUSTEE_W __RPC_FAR *pMemberTrustee,
  15152.             /* [out] */ BOOL __RPC_FAR *pfStatus) = 0;
  15153.         
  15154.         virtual HRESULT STDMETHODCALLTYPE GetMembers( 
  15155.             /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  15156.             /* [out] */ ULONG __RPC_FAR *pcMembers,
  15157.             /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *prgMembers) = 0;
  15158.         
  15159.         virtual HRESULT STDMETHODCALLTYPE GetMemberships( 
  15160.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  15161.             /* [out] */ ULONG __RPC_FAR *pcMemberships,
  15162.             /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *prgMemberships) = 0;
  15163.         
  15164.     };
  15165.     
  15166. #else     /* C style interface */
  15167.  
  15168.     typedef struct ITrusteeGroupAdminVtbl
  15169.     {
  15170.         BEGIN_INTERFACE
  15171.         
  15172.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  15173.             ITrusteeGroupAdmin __RPC_FAR * This,
  15174.             /* [in] */ REFIID riid,
  15175.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  15176.         
  15177.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  15178.             ITrusteeGroupAdmin __RPC_FAR * This);
  15179.         
  15180.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  15181.             ITrusteeGroupAdmin __RPC_FAR * This);
  15182.         
  15183.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddMember )( 
  15184.             ITrusteeGroupAdmin __RPC_FAR * This,
  15185.             /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  15186.             /* [in] */ TRUSTEE_W __RPC_FAR *pMemberTrustee);
  15187.         
  15188.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteMember )( 
  15189.             ITrusteeGroupAdmin __RPC_FAR * This,
  15190.             /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  15191.             /* [in] */ TRUSTEE_W __RPC_FAR *pMemberTrustee);
  15192.         
  15193.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsMember )( 
  15194.             ITrusteeGroupAdmin __RPC_FAR * This,
  15195.             /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  15196.             /* [in] */ TRUSTEE_W __RPC_FAR *pMemberTrustee,
  15197.             /* [out] */ BOOL __RPC_FAR *pfStatus);
  15198.         
  15199.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMembers )( 
  15200.             ITrusteeGroupAdmin __RPC_FAR * This,
  15201.             /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  15202.             /* [out] */ ULONG __RPC_FAR *pcMembers,
  15203.             /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *prgMembers);
  15204.         
  15205.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMemberships )( 
  15206.             ITrusteeGroupAdmin __RPC_FAR * This,
  15207.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  15208.             /* [out] */ ULONG __RPC_FAR *pcMemberships,
  15209.             /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *prgMemberships);
  15210.         
  15211.         END_INTERFACE
  15212.     } ITrusteeGroupAdminVtbl;
  15213.  
  15214.     interface ITrusteeGroupAdmin
  15215.     {
  15216.         CONST_VTBL struct ITrusteeGroupAdminVtbl __RPC_FAR *lpVtbl;
  15217.     };
  15218.  
  15219.     
  15220.  
  15221. #ifdef COBJMACROS
  15222.  
  15223.  
  15224. #define ITrusteeGroupAdmin_QueryInterface(This,riid,ppvObject)    \
  15225.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15226.  
  15227. #define ITrusteeGroupAdmin_AddRef(This)    \
  15228.     (This)->lpVtbl -> AddRef(This)
  15229.  
  15230. #define ITrusteeGroupAdmin_Release(This)    \
  15231.     (This)->lpVtbl -> Release(This)
  15232.  
  15233.  
  15234. #define ITrusteeGroupAdmin_AddMember(This,pMembershipTrustee,pMemberTrustee)    \
  15235.     (This)->lpVtbl -> AddMember(This,pMembershipTrustee,pMemberTrustee)
  15236.  
  15237. #define ITrusteeGroupAdmin_DeleteMember(This,pMembershipTrustee,pMemberTrustee)    \
  15238.     (This)->lpVtbl -> DeleteMember(This,pMembershipTrustee,pMemberTrustee)
  15239.  
  15240. #define ITrusteeGroupAdmin_IsMember(This,pMembershipTrustee,pMemberTrustee,pfStatus)    \
  15241.     (This)->lpVtbl -> IsMember(This,pMembershipTrustee,pMemberTrustee,pfStatus)
  15242.  
  15243. #define ITrusteeGroupAdmin_GetMembers(This,pMembershipTrustee,pcMembers,prgMembers)    \
  15244.     (This)->lpVtbl -> GetMembers(This,pMembershipTrustee,pcMembers,prgMembers)
  15245.  
  15246. #define ITrusteeGroupAdmin_GetMemberships(This,pTrustee,pcMemberships,prgMemberships)    \
  15247.     (This)->lpVtbl -> GetMemberships(This,pTrustee,pcMemberships,prgMemberships)
  15248.  
  15249. #endif /* COBJMACROS */
  15250.  
  15251.  
  15252. #endif     /* C style interface */
  15253.  
  15254.  
  15255.  
  15256. HRESULT STDMETHODCALLTYPE ITrusteeGroupAdmin_AddMember_Proxy( 
  15257.     ITrusteeGroupAdmin __RPC_FAR * This,
  15258.     /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  15259.     /* [in] */ TRUSTEE_W __RPC_FAR *pMemberTrustee);
  15260.  
  15261.  
  15262. void __RPC_STUB ITrusteeGroupAdmin_AddMember_Stub(
  15263.     IRpcStubBuffer *This,
  15264.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15265.     PRPC_MESSAGE _pRpcMessage,
  15266.     DWORD *_pdwStubPhase);
  15267.  
  15268.  
  15269. HRESULT STDMETHODCALLTYPE ITrusteeGroupAdmin_DeleteMember_Proxy( 
  15270.     ITrusteeGroupAdmin __RPC_FAR * This,
  15271.     /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  15272.     /* [in] */ TRUSTEE_W __RPC_FAR *pMemberTrustee);
  15273.  
  15274.  
  15275. void __RPC_STUB ITrusteeGroupAdmin_DeleteMember_Stub(
  15276.     IRpcStubBuffer *This,
  15277.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15278.     PRPC_MESSAGE _pRpcMessage,
  15279.     DWORD *_pdwStubPhase);
  15280.  
  15281.  
  15282. HRESULT STDMETHODCALLTYPE ITrusteeGroupAdmin_IsMember_Proxy( 
  15283.     ITrusteeGroupAdmin __RPC_FAR * This,
  15284.     /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  15285.     /* [in] */ TRUSTEE_W __RPC_FAR *pMemberTrustee,
  15286.     /* [out] */ BOOL __RPC_FAR *pfStatus);
  15287.  
  15288.  
  15289. void __RPC_STUB ITrusteeGroupAdmin_IsMember_Stub(
  15290.     IRpcStubBuffer *This,
  15291.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15292.     PRPC_MESSAGE _pRpcMessage,
  15293.     DWORD *_pdwStubPhase);
  15294.  
  15295.  
  15296. HRESULT STDMETHODCALLTYPE ITrusteeGroupAdmin_GetMembers_Proxy( 
  15297.     ITrusteeGroupAdmin __RPC_FAR * This,
  15298.     /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  15299.     /* [out] */ ULONG __RPC_FAR *pcMembers,
  15300.     /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *prgMembers);
  15301.  
  15302.  
  15303. void __RPC_STUB ITrusteeGroupAdmin_GetMembers_Stub(
  15304.     IRpcStubBuffer *This,
  15305.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15306.     PRPC_MESSAGE _pRpcMessage,
  15307.     DWORD *_pdwStubPhase);
  15308.  
  15309.  
  15310. HRESULT STDMETHODCALLTYPE ITrusteeGroupAdmin_GetMemberships_Proxy( 
  15311.     ITrusteeGroupAdmin __RPC_FAR * This,
  15312.     /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  15313.     /* [out] */ ULONG __RPC_FAR *pcMemberships,
  15314.     /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *prgMemberships);
  15315.  
  15316.  
  15317. void __RPC_STUB ITrusteeGroupAdmin_GetMemberships_Stub(
  15318.     IRpcStubBuffer *This,
  15319.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15320.     PRPC_MESSAGE _pRpcMessage,
  15321.     DWORD *_pdwStubPhase);
  15322.  
  15323.  
  15324.  
  15325. #endif     /* __ITrusteeGroupAdmin_INTERFACE_DEFINED__ */
  15326.  
  15327.  
  15328. #ifndef __IObjectAccessControl_INTERFACE_DEFINED__
  15329. #define __IObjectAccessControl_INTERFACE_DEFINED__
  15330.  
  15331. /****************************************
  15332.  * Generated header for interface: IObjectAccessControl
  15333.  * at Tue Apr 28 11:55:07 1998
  15334.  * using MIDL 3.01.75
  15335.  ****************************************/
  15336. /* [unique][uuid][object][local] */ 
  15337.  
  15338.  
  15339.  
  15340. EXTERN_C const IID IID_IObjectAccessControl;
  15341.  
  15342. #if defined(__cplusplus) && !defined(CINTERFACE)
  15343.     
  15344.     interface DECLSPEC_UUID("0c733aa3-2a1c-11ce-ade5-00aa0044773d")
  15345.     IObjectAccessControl : public IUnknown
  15346.     {
  15347.     public:
  15348.         virtual HRESULT STDMETHODCALLTYPE GetObjectAccessRights( 
  15349.             /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  15350.             /* [out][in] */ ULONG __RPC_FAR *pcAccessEntries,
  15351.             /* [out][in] */ EXPLICIT_ACCESS_W __RPC_FAR *__RPC_FAR *prgAccessEntries) = 0;
  15352.         
  15353.         virtual HRESULT STDMETHODCALLTYPE GetObjectOwner( 
  15354.             /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  15355.             /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *ppOwner) = 0;
  15356.         
  15357.         virtual HRESULT STDMETHODCALLTYPE IsObjectAccessAllowed( 
  15358.             /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  15359.             /* [in] */ EXPLICIT_ACCESS_W __RPC_FAR *pAccessEntry,
  15360.             /* [out] */ BOOL __RPC_FAR *pfResult) = 0;
  15361.         
  15362.         virtual HRESULT STDMETHODCALLTYPE SetObjectAccessRights( 
  15363.             /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  15364.             /* [in] */ ULONG cAccessEntries,
  15365.             /* [out][in] */ EXPLICIT_ACCESS_W __RPC_FAR *prgAccessEntries) = 0;
  15366.         
  15367.         virtual HRESULT STDMETHODCALLTYPE SetObjectOwner( 
  15368.             /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  15369.             /* [in] */ TRUSTEE_W __RPC_FAR *pOwner) = 0;
  15370.         
  15371.     };
  15372.     
  15373. #else     /* C style interface */
  15374.  
  15375.     typedef struct IObjectAccessControlVtbl
  15376.     {
  15377.         BEGIN_INTERFACE
  15378.         
  15379.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  15380.             IObjectAccessControl __RPC_FAR * This,
  15381.             /* [in] */ REFIID riid,
  15382.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  15383.         
  15384.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  15385.             IObjectAccessControl __RPC_FAR * This);
  15386.         
  15387.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  15388.             IObjectAccessControl __RPC_FAR * This);
  15389.         
  15390.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObjectAccessRights )( 
  15391.             IObjectAccessControl __RPC_FAR * This,
  15392.             /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  15393.             /* [out][in] */ ULONG __RPC_FAR *pcAccessEntries,
  15394.             /* [out][in] */ EXPLICIT_ACCESS_W __RPC_FAR *__RPC_FAR *prgAccessEntries);
  15395.         
  15396.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObjectOwner )( 
  15397.             IObjectAccessControl __RPC_FAR * This,
  15398.             /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  15399.             /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *ppOwner);
  15400.         
  15401.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsObjectAccessAllowed )( 
  15402.             IObjectAccessControl __RPC_FAR * This,
  15403.             /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  15404.             /* [in] */ EXPLICIT_ACCESS_W __RPC_FAR *pAccessEntry,
  15405.             /* [out] */ BOOL __RPC_FAR *pfResult);
  15406.         
  15407.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetObjectAccessRights )( 
  15408.             IObjectAccessControl __RPC_FAR * This,
  15409.             /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  15410.             /* [in] */ ULONG cAccessEntries,
  15411.             /* [out][in] */ EXPLICIT_ACCESS_W __RPC_FAR *prgAccessEntries);
  15412.         
  15413.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetObjectOwner )( 
  15414.             IObjectAccessControl __RPC_FAR * This,
  15415.             /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  15416.             /* [in] */ TRUSTEE_W __RPC_FAR *pOwner);
  15417.         
  15418.         END_INTERFACE
  15419.     } IObjectAccessControlVtbl;
  15420.  
  15421.     interface IObjectAccessControl
  15422.     {
  15423.         CONST_VTBL struct IObjectAccessControlVtbl __RPC_FAR *lpVtbl;
  15424.     };
  15425.  
  15426.     
  15427.  
  15428. #ifdef COBJMACROS
  15429.  
  15430.  
  15431. #define IObjectAccessControl_QueryInterface(This,riid,ppvObject)    \
  15432.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15433.  
  15434. #define IObjectAccessControl_AddRef(This)    \
  15435.     (This)->lpVtbl -> AddRef(This)
  15436.  
  15437. #define IObjectAccessControl_Release(This)    \
  15438.     (This)->lpVtbl -> Release(This)
  15439.  
  15440.  
  15441. #define IObjectAccessControl_GetObjectAccessRights(This,pObject,pcAccessEntries,prgAccessEntries)    \
  15442.     (This)->lpVtbl -> GetObjectAccessRights(This,pObject,pcAccessEntries,prgAccessEntries)
  15443.  
  15444. #define IObjectAccessControl_GetObjectOwner(This,pObject,ppOwner)    \
  15445.     (This)->lpVtbl -> GetObjectOwner(This,pObject,ppOwner)
  15446.  
  15447. #define IObjectAccessControl_IsObjectAccessAllowed(This,pObject,pAccessEntry,pfResult)    \
  15448.     (This)->lpVtbl -> IsObjectAccessAllowed(This,pObject,pAccessEntry,pfResult)
  15449.  
  15450. #define IObjectAccessControl_SetObjectAccessRights(This,pObject,cAccessEntries,prgAccessEntries)    \
  15451.     (This)->lpVtbl -> SetObjectAccessRights(This,pObject,cAccessEntries,prgAccessEntries)
  15452.  
  15453. #define IObjectAccessControl_SetObjectOwner(This,pObject,pOwner)    \
  15454.     (This)->lpVtbl -> SetObjectOwner(This,pObject,pOwner)
  15455.  
  15456. #endif /* COBJMACROS */
  15457.  
  15458.  
  15459. #endif     /* C style interface */
  15460.  
  15461.  
  15462.  
  15463. HRESULT STDMETHODCALLTYPE IObjectAccessControl_GetObjectAccessRights_Proxy( 
  15464.     IObjectAccessControl __RPC_FAR * This,
  15465.     /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  15466.     /* [out][in] */ ULONG __RPC_FAR *pcAccessEntries,
  15467.     /* [out][in] */ EXPLICIT_ACCESS_W __RPC_FAR *__RPC_FAR *prgAccessEntries);
  15468.  
  15469.  
  15470. void __RPC_STUB IObjectAccessControl_GetObjectAccessRights_Stub(
  15471.     IRpcStubBuffer *This,
  15472.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15473.     PRPC_MESSAGE _pRpcMessage,
  15474.     DWORD *_pdwStubPhase);
  15475.  
  15476.  
  15477. HRESULT STDMETHODCALLTYPE IObjectAccessControl_GetObjectOwner_Proxy( 
  15478.     IObjectAccessControl __RPC_FAR * This,
  15479.     /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  15480.     /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *ppOwner);
  15481.  
  15482.  
  15483. void __RPC_STUB IObjectAccessControl_GetObjectOwner_Stub(
  15484.     IRpcStubBuffer *This,
  15485.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15486.     PRPC_MESSAGE _pRpcMessage,
  15487.     DWORD *_pdwStubPhase);
  15488.  
  15489.  
  15490. HRESULT STDMETHODCALLTYPE IObjectAccessControl_IsObjectAccessAllowed_Proxy( 
  15491.     IObjectAccessControl __RPC_FAR * This,
  15492.     /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  15493.     /* [in] */ EXPLICIT_ACCESS_W __RPC_FAR *pAccessEntry,
  15494.     /* [out] */ BOOL __RPC_FAR *pfResult);
  15495.  
  15496.  
  15497. void __RPC_STUB IObjectAccessControl_IsObjectAccessAllowed_Stub(
  15498.     IRpcStubBuffer *This,
  15499.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15500.     PRPC_MESSAGE _pRpcMessage,
  15501.     DWORD *_pdwStubPhase);
  15502.  
  15503.  
  15504. HRESULT STDMETHODCALLTYPE IObjectAccessControl_SetObjectAccessRights_Proxy( 
  15505.     IObjectAccessControl __RPC_FAR * This,
  15506.     /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  15507.     /* [in] */ ULONG cAccessEntries,
  15508.     /* [out][in] */ EXPLICIT_ACCESS_W __RPC_FAR *prgAccessEntries);
  15509.  
  15510.  
  15511. void __RPC_STUB IObjectAccessControl_SetObjectAccessRights_Stub(
  15512.     IRpcStubBuffer *This,
  15513.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15514.     PRPC_MESSAGE _pRpcMessage,
  15515.     DWORD *_pdwStubPhase);
  15516.  
  15517.  
  15518. HRESULT STDMETHODCALLTYPE IObjectAccessControl_SetObjectOwner_Proxy( 
  15519.     IObjectAccessControl __RPC_FAR * This,
  15520.     /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  15521.     /* [in] */ TRUSTEE_W __RPC_FAR *pOwner);
  15522.  
  15523.  
  15524. void __RPC_STUB IObjectAccessControl_SetObjectOwner_Stub(
  15525.     IRpcStubBuffer *This,
  15526.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15527.     PRPC_MESSAGE _pRpcMessage,
  15528.     DWORD *_pdwStubPhase);
  15529.  
  15530.  
  15531.  
  15532. #endif     /* __IObjectAccessControl_INTERFACE_DEFINED__ */
  15533.  
  15534.  
  15535. #ifndef __ISecurityInfo_INTERFACE_DEFINED__
  15536. #define __ISecurityInfo_INTERFACE_DEFINED__
  15537.  
  15538. /****************************************
  15539.  * Generated header for interface: ISecurityInfo
  15540.  * at Tue Apr 28 11:55:07 1998
  15541.  * using MIDL 3.01.75
  15542.  ****************************************/
  15543. /* [unique][uuid][object][local] */ 
  15544.  
  15545.  
  15546. //@@@+ V2.1
  15547. #if( OLEDBVER >= 0x0210 )
  15548. typedef DWORD ACCESS_MASK;
  15549.  
  15550.  
  15551. enum ACCESS_MASKENUM
  15552.     {    PERM_DESIGN    = 0x800L,
  15553.     PERM_WITHGRANT    = 0x1000L,
  15554.     PERM_REFERENCE    = 0x2000L,
  15555.     PERM_CREATE    = 0x4000L,
  15556.     PERM_INSERT    = 0x8000L,
  15557.     PERM_DELETE    = 0x10000L,
  15558.     PERM_MAXIMUM_ALLOWED    = 0x2000000L,
  15559.     PERM_ALL    = 0x10000000L,
  15560.     PERM_EXECUTE    = 0x20000000L,
  15561.     PERM_READ    = 0x80000000L,
  15562.     PERM_UPDATE    = 0x40000000L
  15563.     };
  15564. #endif // OLEDBVER >= 0x0210
  15565. //@@@- V2.1
  15566.  
  15567. EXTERN_C const IID IID_ISecurityInfo;
  15568.  
  15569. #if defined(__cplusplus) && !defined(CINTERFACE)
  15570.     
  15571.     interface DECLSPEC_UUID("0c733aa4-2a1c-11ce-ade5-00aa0044773d")
  15572.     ISecurityInfo : public IUnknown
  15573.     {
  15574.     public:
  15575.         virtual HRESULT STDMETHODCALLTYPE GetCurrentTrustee( 
  15576.             /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *ppTrustee) = 0;
  15577.         
  15578.         virtual HRESULT STDMETHODCALLTYPE GetObjectTypes( 
  15579.             /* [out] */ ULONG __RPC_FAR *cObjectTypes,
  15580.             /* [out] */ GUID __RPC_FAR *__RPC_FAR *rgObjectTypes) = 0;
  15581.         
  15582.         virtual HRESULT STDMETHODCALLTYPE GetPermissions( 
  15583.             /* [in] */ GUID ObjectType,
  15584.             /* [out] */ ACCESS_MASK __RPC_FAR *pPermissions) = 0;
  15585.         
  15586.     };
  15587.     
  15588. #else     /* C style interface */
  15589.  
  15590.     typedef struct ISecurityInfoVtbl
  15591.     {
  15592.         BEGIN_INTERFACE
  15593.         
  15594.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  15595.             ISecurityInfo __RPC_FAR * This,
  15596.             /* [in] */ REFIID riid,
  15597.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  15598.         
  15599.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  15600.             ISecurityInfo __RPC_FAR * This);
  15601.         
  15602.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  15603.             ISecurityInfo __RPC_FAR * This);
  15604.         
  15605.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurrentTrustee )( 
  15606.             ISecurityInfo __RPC_FAR * This,
  15607.             /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *ppTrustee);
  15608.         
  15609.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObjectTypes )( 
  15610.             ISecurityInfo __RPC_FAR * This,
  15611.             /* [out] */ ULONG __RPC_FAR *cObjectTypes,
  15612.             /* [out] */ GUID __RPC_FAR *__RPC_FAR *rgObjectTypes);
  15613.         
  15614.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPermissions )( 
  15615.             ISecurityInfo __RPC_FAR * This,
  15616.             /* [in] */ GUID ObjectType,
  15617.             /* [out] */ ACCESS_MASK __RPC_FAR *pPermissions);
  15618.         
  15619.         END_INTERFACE
  15620.     } ISecurityInfoVtbl;
  15621.  
  15622.     interface ISecurityInfo
  15623.     {
  15624.         CONST_VTBL struct ISecurityInfoVtbl __RPC_FAR *lpVtbl;
  15625.     };
  15626.  
  15627.     
  15628.  
  15629. #ifdef COBJMACROS
  15630.  
  15631.  
  15632. #define ISecurityInfo_QueryInterface(This,riid,ppvObject)    \
  15633.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15634.  
  15635. #define ISecurityInfo_AddRef(This)    \
  15636.     (This)->lpVtbl -> AddRef(This)
  15637.  
  15638. #define ISecurityInfo_Release(This)    \
  15639.     (This)->lpVtbl -> Release(This)
  15640.  
  15641.  
  15642. #define ISecurityInfo_GetCurrentTrustee(This,ppTrustee)    \
  15643.     (This)->lpVtbl -> GetCurrentTrustee(This,ppTrustee)
  15644.  
  15645. #define ISecurityInfo_GetObjectTypes(This,cObjectTypes,rgObjectTypes)    \
  15646.     (This)->lpVtbl -> GetObjectTypes(This,cObjectTypes,rgObjectTypes)
  15647.  
  15648. #define ISecurityInfo_GetPermissions(This,ObjectType,pPermissions)    \
  15649.     (This)->lpVtbl -> GetPermissions(This,ObjectType,pPermissions)
  15650.  
  15651. #endif /* COBJMACROS */
  15652.  
  15653.  
  15654. #endif     /* C style interface */
  15655.  
  15656.  
  15657.  
  15658. HRESULT STDMETHODCALLTYPE ISecurityInfo_GetCurrentTrustee_Proxy( 
  15659.     ISecurityInfo __RPC_FAR * This,
  15660.     /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *ppTrustee);
  15661.  
  15662.  
  15663. void __RPC_STUB ISecurityInfo_GetCurrentTrustee_Stub(
  15664.     IRpcStubBuffer *This,
  15665.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15666.     PRPC_MESSAGE _pRpcMessage,
  15667.     DWORD *_pdwStubPhase);
  15668.  
  15669.  
  15670. HRESULT STDMETHODCALLTYPE ISecurityInfo_GetObjectTypes_Proxy( 
  15671.     ISecurityInfo __RPC_FAR * This,
  15672.     /* [out] */ ULONG __RPC_FAR *cObjectTypes,
  15673.     /* [out] */ GUID __RPC_FAR *__RPC_FAR *rgObjectTypes);
  15674.  
  15675.  
  15676. void __RPC_STUB ISecurityInfo_GetObjectTypes_Stub(
  15677.     IRpcStubBuffer *This,
  15678.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15679.     PRPC_MESSAGE _pRpcMessage,
  15680.     DWORD *_pdwStubPhase);
  15681.  
  15682.  
  15683. HRESULT STDMETHODCALLTYPE ISecurityInfo_GetPermissions_Proxy( 
  15684.     ISecurityInfo __RPC_FAR * This,
  15685.     /* [in] */ GUID ObjectType,
  15686.     /* [out] */ ACCESS_MASK __RPC_FAR *pPermissions);
  15687.  
  15688.  
  15689. void __RPC_STUB ISecurityInfo_GetPermissions_Stub(
  15690.     IRpcStubBuffer *This,
  15691.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15692.     PRPC_MESSAGE _pRpcMessage,
  15693.     DWORD *_pdwStubPhase);
  15694.  
  15695.  
  15696.  
  15697. #endif     /* __ISecurityInfo_INTERFACE_DEFINED__ */
  15698.  
  15699.  
  15700. /****************************************
  15701.  * Generated header for interface: __MIDL_itf_oledb_0160
  15702.  * at Tue Apr 28 11:55:07 1998
  15703.  * using MIDL 3.01.75
  15704.  ****************************************/
  15705. /* [local] */ 
  15706.  
  15707.  
  15708. #endif // OLEDBVER >= 0x0210
  15709. //@@@- V2.1
  15710. //
  15711. // IID values
  15712. //
  15713.  
  15714. // IID_IAccessor                = {0x0c733a8c,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15715. // IID_IRowset                    = {0x0c733a7c,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15716. // IID_IRowsetInfo                = {0x0c733a55,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15717. // IID_IRowsetLocate            = {0x0c733a7d,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15718. // IID_IRowsetResynch            = {0x0c733a84,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15719. // IID_IRowsetScroll            = {0x0c733a7e,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15720. // IID_IRowsetChange            = {0x0c733a05,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15721. // IID_IRowsetUpdate            = {0x0c733a6d,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15722. // IID_IRowsetIdentity            = {0x0c733a09,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15723. // IID_IRowsetNotify            = {0x0c733a83,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15724. // IID_IRowsetIndex                = {0x0c733a82,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15725. // IID_ICommand                    = {0x0c733a63,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15726. // IID_IMultipleResults            = {0x0c733a90,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15727. // IID_IConvertType                = {0x0c733a88,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15728. // IID_ICommandPrepare            = {0x0c733a26,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15729. // IID_ICommandProperties        = {0x0c733a79,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15730. // IID_ICommandText                = {0x0c733a27,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15731. // IID_ICommandWithParameters    = {0x0c733a64,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15732. // IID_IColumnsRowset            = {0x0c733a10,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15733. // IID_IColumnsInfo                = {0x0c733a11,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15734. // IID_IDBCreateCommand            = {0x0c733a1d,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15735. // IID_IDBCreateSession            = {0x0c733a5d,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15736. // IID_ISourcesRowset            = {0x0c733a1e,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15737. // IID_IDBProperties            = {0x0c733a8a,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15738. // IID_IDBInitialize            = {0x0c733a8b,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15739. // IID_IDBInfo                    = {0x0c733a89,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15740. // IID_IDBDataSourceAdmin        = {0x0c733a7a,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15741. // IID_ISessionProperties        = {0x0c733a85,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15742. // IID_IIndexDefinition            = {0x0c733a68,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15743. // IID_ITableDefinition            = {0x0c733a86,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15744. // IID_IOpenRowset                = {0x0c733a69,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15745. // IID_IDBSchemaRowset            = {0x0c733a7b,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15746. // IID_IErrorRecords            = {0x0c733a67,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15747. // IID_IErrorLookup                = {0x0c733a66,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15748. // IID_ISQLErrorInfo            = {0x0c733a74,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15749. // IID_IGetDataSource            = {0x0c733a75,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15750. // IID_ITransactionLocal        = {0x0c733a5f,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15751. // IID_ITransactionJoin            = {0x0c733a5e,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15752. // IID_ITransactionObject        = {0x0c733a60,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15753. //@@@+ V1.5
  15754. #if( OLEDBVER >= 0x0150 )
  15755. //IID_IChapteredRowset            = {0x0c733a93,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15756. //IID_IDBAsynchNotify            = {0x0c733a96,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15757. //IID_IDBAsynchStatus            = {0x0c733a95,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15758. //IID_IRowsetFind                = {0x0c733a9d,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15759. //IID_IRowPosition                = {0x0c733a94,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15760. //IID_IRowPositionChange        = {0x0997a571,0x126e,0x11d0,{0x9f,0x8a,0x00,0xa0,0xc9,0xa0,0x63,0x1e}}
  15761. //IID_IViewRowset                = {0x0c733a97,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15762. //IID_IViewChapter                = {0x0c733a98,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15763. //IID_IViewSort                    = {0x0c733a9a,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15764. //IID_IViewFilter                = {0x0c733a9b,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15765. //IID_IRowsetView                = {0x0c733a99,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15766. #endif // OLEDBVER >= 0x0150
  15767. //@@@- V1.5
  15768. //@@@+ V2.0
  15769. #if( OLEDBVER >= 0x0200 )
  15770. // IID_IMDDataset                = {0xa07cccd1,0x8148,0x11d0,{0x87,0xbb,0x00,0xc0,0x4f,0xc3,0x39,0x42}}
  15771. // IID_IMDFind                    = {0xa07cccd2,0x8148,0x11d0,{0x87,0xbb,0x00,0xc0,0x4f,0xc3,0x39,0x42}}
  15772. // IID_IMDRangeRowset            = {0x0c733aa0,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15773. // IID_IAlterTable                = {0x0c733aa5,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15774. // IID_IAlterIndex                = {0x0c733aa6,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15775. // IID_ICommandPersist            = {0x0c733aa7,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15776. // IID_IRowsetChapterMember        = {0x0c733aa8,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15777. // IID_IRowsetRefresh            = {0x0c733aa9,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15778. // IID_IParentRowset                = {0x0c733aaa,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15779. #endif // OLEDBVER >= 0x0200
  15780. //@@@- V2.0
  15781. //@@@+ V2.1
  15782. #if( OLEDBVER >= 0x0210 )
  15783. // IID_ITrusteeAdmin                = {0c733aa1,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15784. // IID_ITrusteeGroupAdmin        = {0c733aa2,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15785. // IID_IObjectAccessControl        = {0c733aa3,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15786. // IID_ISecurityInfo                = {0c733aa4,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15787. #endif // OLEDBVER >= 0x0210
  15788. //@@@- V2.1
  15789. //@@@+ V2.5
  15790. #if( OLEDBVER >= 0x0250 )
  15791. // IID_IRowsetExactScroll        = {0x0c733a7f,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15792. // IID_IRowsetNextRowset            = {0x0c733a72,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15793. // IID_IRowsetNewRowAfter        = {0x0c733a71,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15794. // IID_IRowsetWithParameters    = {0x0c733a6e,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15795. // IID_IRowsetFind                = {0x0c733a0d,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15796. // IID_IRowsetAsynch            = {0x0c733a0f,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15797. // IID_IRowsetKeys                = {0x0c733a12,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15798. // IID_IRowsetWatchAll            = {0x0c733a73,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15799. // IID_IRowsetWatchNotify        = {0x0c733a44,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15800. // IID_IRowsetWatchRegion        = {0x0c733a45,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15801. // IID_IRowsetCopyRows            = {0x0c733a6b,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15802. // IID_IReadData                = {0x0c733a6a,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15803. // IID_ICommandCost                = {0x0c733a4e,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15804. // IID_ICommandTree                = {0x0c733a87,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15805. // IID_ICommandValidate            = {0x0c733a18,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15806. // IID_IQuery                    = {0x0c733a51,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15807. // IID_ITableRename                = {0x0c733a77,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15808. // IID_IDBSchemaCommand            = {0x0c733a50,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15809. // IID_IProvideMoniker            = {0x0c733a4d,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15810. #endif // OLEDBVER >= 0x0250
  15811. //@@@- V2.5
  15812. #include <poppack.h>    // restore original structure packing
  15813.  
  15814.  
  15815. extern RPC_IF_HANDLE __MIDL_itf_oledb_0160_v0_0_c_ifspec;
  15816. extern RPC_IF_HANDLE __MIDL_itf_oledb_0160_v0_0_s_ifspec;
  15817.  
  15818. /* Additional Prototypes for ALL interfaces */
  15819.  
  15820. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long __RPC_FAR *, unsigned long            , BSTR __RPC_FAR * ); 
  15821. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  15822. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  15823. void                      __RPC_USER  BSTR_UserFree(     unsigned long __RPC_FAR *, BSTR __RPC_FAR * ); 
  15824.  
  15825. unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long __RPC_FAR *, unsigned long            , VARIANT __RPC_FAR * ); 
  15826. unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * ); 
  15827. unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * ); 
  15828. void                      __RPC_USER  VARIANT_UserFree(     unsigned long __RPC_FAR *, VARIANT __RPC_FAR * ); 
  15829.  
  15830. /* [local] */ HRESULT STDMETHODCALLTYPE IAccessor_AddRefAccessor_Proxy( 
  15831.     IAccessor __RPC_FAR * This,
  15832.     /* [in] */ HACCESSOR hAccessor,
  15833.     /* [unique][out][in] */ ULONG __RPC_FAR *pcRefCount);
  15834.  
  15835.  
  15836. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_AddRefAccessor_Stub( 
  15837.     IAccessor __RPC_FAR * This,
  15838.     /* [in] */ HACCESSOR hAccessor,
  15839.     /* [unique][out][in] */ ULONG __RPC_FAR *pcRefCount,
  15840.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15841.  
  15842. /* [local] */ HRESULT STDMETHODCALLTYPE IAccessor_CreateAccessor_Proxy( 
  15843.     IAccessor __RPC_FAR * This,
  15844.     /* [in] */ DBACCESSORFLAGS dwAccessorFlags,
  15845.     /* [in] */ ULONG cBindings,
  15846.     /* [size_is][in] */ const DBBINDING __RPC_FAR rgBindings[  ],
  15847.     /* [in] */ ULONG cbRowSize,
  15848.     /* [out] */ HACCESSOR __RPC_FAR *phAccessor,
  15849.     /* [size_is][out] */ DBBINDSTATUS __RPC_FAR rgStatus[  ]);
  15850.  
  15851.  
  15852. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_CreateAccessor_Stub( 
  15853.     IAccessor __RPC_FAR * This,
  15854.     /* [in] */ DBACCESSORFLAGS dwAccessorFlags,
  15855.     /* [in] */ ULONG cBindings,
  15856.     /* [size_is][unique][in] */ DBBINDING __RPC_FAR *rgBindings,
  15857.     /* [in] */ ULONG cbRowSize,
  15858.     /* [out] */ HACCESSOR __RPC_FAR *phAccessor,
  15859.     /* [size_is][unique][out][in] */ DBBINDSTATUS __RPC_FAR *rgStatus,
  15860.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15861.  
  15862. /* [local] */ HRESULT STDMETHODCALLTYPE IAccessor_GetBindings_Proxy( 
  15863.     IAccessor __RPC_FAR * This,
  15864.     /* [in] */ HACCESSOR hAccessor,
  15865.     /* [out] */ DBACCESSORFLAGS __RPC_FAR *pdwAccessorFlags,
  15866.     /* [out][in] */ ULONG __RPC_FAR *pcBindings,
  15867.     /* [size_is][size_is][out] */ DBBINDING __RPC_FAR *__RPC_FAR *prgBindings);
  15868.  
  15869.  
  15870. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_GetBindings_Stub( 
  15871.     IAccessor __RPC_FAR * This,
  15872.     /* [in] */ HACCESSOR hAccessor,
  15873.     /* [out] */ DBACCESSORFLAGS __RPC_FAR *pdwAccessorFlags,
  15874.     /* [out][in] */ ULONG __RPC_FAR *pcBindings,
  15875.     /* [size_is][size_is][out] */ DBBINDING __RPC_FAR *__RPC_FAR *prgBindings,
  15876.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15877.  
  15878. /* [local] */ HRESULT STDMETHODCALLTYPE IAccessor_ReleaseAccessor_Proxy( 
  15879.     IAccessor __RPC_FAR * This,
  15880.     /* [in] */ HACCESSOR hAccessor,
  15881.     /* [unique][out][in] */ ULONG __RPC_FAR *pcRefCount);
  15882.  
  15883.  
  15884. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_ReleaseAccessor_Stub( 
  15885.     IAccessor __RPC_FAR * This,
  15886.     /* [in] */ HACCESSOR hAccessor,
  15887.     /* [unique][out][in] */ ULONG __RPC_FAR *pcRefCount,
  15888.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15889.  
  15890. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_GetProperties_Proxy( 
  15891.     IRowsetInfo __RPC_FAR * This,
  15892.     /* [in] */ const ULONG cPropertyIDSets,
  15893.     /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  15894.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  15895.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets);
  15896.  
  15897.  
  15898. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_GetProperties_Stub( 
  15899.     IRowsetInfo __RPC_FAR * This,
  15900.     /* [in] */ ULONG cPropertyIDSets,
  15901.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  15902.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  15903.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets,
  15904.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15905.  
  15906. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_GetReferencedRowset_Proxy( 
  15907.     IRowsetInfo __RPC_FAR * This,
  15908.     /* [in] */ ULONG iOrdinal,
  15909.     /* [in] */ REFIID riid,
  15910.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppReferencedRowset);
  15911.  
  15912.  
  15913. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_GetReferencedRowset_Stub( 
  15914.     IRowsetInfo __RPC_FAR * This,
  15915.     /* [in] */ ULONG iOrdinal,
  15916.     /* [in] */ REFIID riid,
  15917.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppReferencedRowset,
  15918.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15919.  
  15920. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_GetSpecification_Proxy( 
  15921.     IRowsetInfo __RPC_FAR * This,
  15922.     /* [in] */ REFIID riid,
  15923.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSpecification);
  15924.  
  15925.  
  15926. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_GetSpecification_Stub( 
  15927.     IRowsetInfo __RPC_FAR * This,
  15928.     /* [in] */ REFIID riid,
  15929.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSpecification,
  15930.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15931.  
  15932. /* [local] */ HRESULT STDMETHODCALLTYPE IChapteredRowset_AddRefChapter_Proxy( 
  15933.     IChapteredRowset __RPC_FAR * This,
  15934.     /* [in] */ HCHAPTER hChapter,
  15935.     /* [out] */ ULONG __RPC_FAR *pcRefCount);
  15936.  
  15937.  
  15938. /* [call_as] */ HRESULT STDMETHODCALLTYPE IChapteredRowset_AddRefChapter_Stub( 
  15939.     IChapteredRowset __RPC_FAR * This,
  15940.     /* [in] */ HCHAPTER hChapter,
  15941.     /* [out] */ ULONG __RPC_FAR *pcRefCount,
  15942.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15943.  
  15944. /* [local] */ HRESULT STDMETHODCALLTYPE IChapteredRowset_ReleaseChapter_Proxy( 
  15945.     IChapteredRowset __RPC_FAR * This,
  15946.     /* [in] */ HCHAPTER hChapter,
  15947.     /* [out] */ ULONG __RPC_FAR *pcRefCount);
  15948.  
  15949.  
  15950. /* [call_as] */ HRESULT STDMETHODCALLTYPE IChapteredRowset_ReleaseChapter_Stub( 
  15951.     IChapteredRowset __RPC_FAR * This,
  15952.     /* [in] */ HCHAPTER hChapter,
  15953.     /* [out] */ ULONG __RPC_FAR *pcRefCount,
  15954.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15955.  
  15956. /* [local] */ HRESULT STDMETHODCALLTYPE IRowPosition_ClearRowPosition_Proxy( 
  15957.     IRowPosition __RPC_FAR * This);
  15958.  
  15959.  
  15960. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_ClearRowPosition_Stub( 
  15961.     IRowPosition __RPC_FAR * This,
  15962.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15963.  
  15964. /* [local] */ HRESULT STDMETHODCALLTYPE IRowPosition_GetRowPosition_Proxy( 
  15965.     IRowPosition __RPC_FAR * This,
  15966.     /* [out] */ HCHAPTER __RPC_FAR *phChapter,
  15967.     /* [out] */ HROW __RPC_FAR *phRow,
  15968.     /* [out] */ DBPOSITIONFLAGS __RPC_FAR *pdwPositionFlags);
  15969.  
  15970.  
  15971. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_GetRowPosition_Stub( 
  15972.     IRowPosition __RPC_FAR * This,
  15973.     /* [out] */ HCHAPTER __RPC_FAR *phChapter,
  15974.     /* [out] */ HROW __RPC_FAR *phRow,
  15975.     /* [out] */ DBPOSITIONFLAGS __RPC_FAR *pdwPositionFlags,
  15976.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15977.  
  15978. /* [local] */ HRESULT STDMETHODCALLTYPE IRowPosition_GetRowset_Proxy( 
  15979.     IRowPosition __RPC_FAR * This,
  15980.     /* [in] */ REFIID riid,
  15981.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  15982.  
  15983.  
  15984. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_GetRowset_Stub( 
  15985.     IRowPosition __RPC_FAR * This,
  15986.     /* [in] */ REFIID riid,
  15987.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  15988.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15989.  
  15990. /* [local] */ HRESULT STDMETHODCALLTYPE IRowPosition_Initialize_Proxy( 
  15991.     IRowPosition __RPC_FAR * This,
  15992.     /* [in] */ IUnknown __RPC_FAR *pRowset);
  15993.  
  15994.  
  15995. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_Initialize_Stub( 
  15996.     IRowPosition __RPC_FAR * This,
  15997.     /* [in] */ IUnknown __RPC_FAR *pRowset,
  15998.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15999.  
  16000. /* [local] */ HRESULT STDMETHODCALLTYPE IRowPosition_SetRowPosition_Proxy( 
  16001.     IRowPosition __RPC_FAR * This,
  16002.     /* [in] */ HCHAPTER hChapter,
  16003.     /* [in] */ HROW hRow,
  16004.     /* [in] */ DBPOSITIONFLAGS dwPositionFlags);
  16005.  
  16006.  
  16007. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_SetRowPosition_Stub( 
  16008.     IRowPosition __RPC_FAR * This,
  16009.     /* [in] */ HCHAPTER hChapter,
  16010.     /* [in] */ HROW hRow,
  16011.     /* [in] */ DBPOSITIONFLAGS dwPositionFlags,
  16012.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16013.  
  16014. /* [local] */ HRESULT STDMETHODCALLTYPE IRowPositionChange_OnRowPositionChange_Proxy( 
  16015.     IRowPositionChange __RPC_FAR * This,
  16016.     /* [in] */ DBREASON eReason,
  16017.     /* [in] */ DBEVENTPHASE ePhase,
  16018.     /* [in] */ BOOL fCantDeny);
  16019.  
  16020.  
  16021. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPositionChange_OnRowPositionChange_Stub( 
  16022.     IRowPositionChange __RPC_FAR * This,
  16023.     /* [in] */ DBREASON eReason,
  16024.     /* [in] */ DBEVENTPHASE ePhase,
  16025.     /* [in] */ BOOL fCantDeny,
  16026.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16027.  
  16028. /* [local] */ HRESULT STDMETHODCALLTYPE IViewRowset_GetSpecification_Proxy( 
  16029.     IViewRowset __RPC_FAR * This,
  16030.     /* [in] */ REFIID riid,
  16031.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject);
  16032.  
  16033.  
  16034. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewRowset_GetSpecification_Stub( 
  16035.     IViewRowset __RPC_FAR * This,
  16036.     /* [in] */ REFIID riid,
  16037.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject,
  16038.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16039.  
  16040. /* [local] */ HRESULT STDMETHODCALLTYPE IViewRowset_OpenViewRowset_Proxy( 
  16041.     IViewRowset __RPC_FAR * This,
  16042.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16043.     /* [in] */ REFIID riid,
  16044.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  16045.  
  16046.  
  16047. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewRowset_OpenViewRowset_Stub( 
  16048.     IViewRowset __RPC_FAR * This,
  16049.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16050.     /* [in] */ REFIID riid,
  16051.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  16052.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16053.  
  16054. /* [local] */ HRESULT STDMETHODCALLTYPE IViewChapter_GetSpecification_Proxy( 
  16055.     IViewChapter __RPC_FAR * This,
  16056.     /* [in] */ REFIID riid,
  16057.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  16058.  
  16059.  
  16060. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewChapter_GetSpecification_Stub( 
  16061.     IViewChapter __RPC_FAR * This,
  16062.     /* [in] */ REFIID riid,
  16063.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  16064.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16065.  
  16066. /* [local] */ HRESULT STDMETHODCALLTYPE IViewChapter_OpenViewChapter_Proxy( 
  16067.     IViewChapter __RPC_FAR * This,
  16068.     /* [in] */ HCHAPTER hSource,
  16069.     /* [out] */ HCHAPTER __RPC_FAR *phViewChapter);
  16070.  
  16071.  
  16072. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewChapter_OpenViewChapter_Stub( 
  16073.     IViewChapter __RPC_FAR * This,
  16074.     /* [in] */ HCHAPTER hSource,
  16075.     /* [out] */ HCHAPTER __RPC_FAR *phViewChapter,
  16076.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16077.  
  16078. /* [local] */ HRESULT STDMETHODCALLTYPE IViewSort_GetSortOrder_Proxy( 
  16079.     IViewSort __RPC_FAR * This,
  16080.     /* [out] */ ULONG __RPC_FAR *pcValues,
  16081.     /* [out] */ ULONG __RPC_FAR *__RPC_FAR prgColumns[  ],
  16082.     /* [out] */ DBSORT __RPC_FAR *__RPC_FAR prgOrders[  ]);
  16083.  
  16084.  
  16085. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewSort_GetSortOrder_Stub( 
  16086.     IViewSort __RPC_FAR * This,
  16087.     /* [out][in] */ ULONG __RPC_FAR *pcValues,
  16088.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgColumns,
  16089.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgOrders,
  16090.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16091.  
  16092. /* [local] */ HRESULT STDMETHODCALLTYPE IViewSort_SetSortOrder_Proxy( 
  16093.     IViewSort __RPC_FAR * This,
  16094.     /* [in] */ ULONG cValues,
  16095.     /* [size_is][in] */ const ULONG __RPC_FAR rgColumns[  ],
  16096.     /* [size_is][in] */ const DBSORT __RPC_FAR rgOrders[  ]);
  16097.  
  16098.  
  16099. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewSort_SetSortOrder_Stub( 
  16100.     IViewSort __RPC_FAR * This,
  16101.     /* [in] */ ULONG cValues,
  16102.     /* [size_is][in] */ const ULONG __RPC_FAR *rgColumns,
  16103.     /* [size_is][in] */ const DBSORT __RPC_FAR *rgOrders,
  16104.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16105.  
  16106. /* [local] */ HRESULT STDMETHODCALLTYPE IViewFilter_GetFilterBindings_Proxy( 
  16107.     IViewFilter __RPC_FAR * This,
  16108.     /* [out] */ ULONG __RPC_FAR *pcBindings,
  16109.     /* [out] */ DBBINDING __RPC_FAR *__RPC_FAR *prgBindings);
  16110.  
  16111.  
  16112. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewFilter_GetFilterBindings_Stub( 
  16113.     IViewFilter __RPC_FAR * This,
  16114.     /* [out][in] */ ULONG __RPC_FAR *pcBindings,
  16115.     /* [size_is][size_is][out] */ DBBINDING __RPC_FAR *__RPC_FAR *prgBindings,
  16116.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16117.  
  16118. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetView_CreateView_Proxy( 
  16119.     IRowsetView __RPC_FAR * This,
  16120.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16121.     /* [in] */ REFIID riid,
  16122.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppView);
  16123.  
  16124.  
  16125. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetView_CreateView_Stub( 
  16126.     IRowsetView __RPC_FAR * This,
  16127.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16128.     /* [in] */ REFIID riid,
  16129.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppView,
  16130.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16131.  
  16132. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetView_GetView_Proxy( 
  16133.     IRowsetView __RPC_FAR * This,
  16134.     /* [in] */ HCHAPTER hChapter,
  16135.     /* [in] */ REFIID riid,
  16136.     /* [out] */ HCHAPTER __RPC_FAR *phChapterSource,
  16137.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppView);
  16138.  
  16139.  
  16140. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetView_GetView_Stub( 
  16141.     IRowsetView __RPC_FAR * This,
  16142.     /* [in] */ HCHAPTER hChapter,
  16143.     /* [in] */ REFIID riid,
  16144.     /* [out] */ HCHAPTER __RPC_FAR *phChapterSource,
  16145.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppView,
  16146.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16147.  
  16148. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetIdentity_IsSameRow_Proxy( 
  16149.     IRowsetIdentity __RPC_FAR * This,
  16150.     /* [in] */ HROW hThisRow,
  16151.     /* [in] */ HROW hThatRow);
  16152.  
  16153.  
  16154. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetIdentity_IsSameRow_Stub( 
  16155.     IRowsetIdentity __RPC_FAR * This,
  16156.     /* [in] */ HROW hThisRow,
  16157.     /* [in] */ HROW hThatRow,
  16158.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16159.  
  16160. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_OnFieldChange_Proxy( 
  16161.     IRowsetNotify __RPC_FAR * This,
  16162.     /* [in] */ IRowset __RPC_FAR *pRowset,
  16163.     /* [in] */ HROW hRow,
  16164.     /* [in] */ ULONG cColumns,
  16165.     /* [size_is][in] */ ULONG __RPC_FAR rgColumns[  ],
  16166.     /* [in] */ DBREASON eReason,
  16167.     /* [in] */ DBEVENTPHASE ePhase,
  16168.     /* [in] */ BOOL fCantDeny);
  16169.  
  16170.  
  16171. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_OnFieldChange_Stub( 
  16172.     IRowsetNotify __RPC_FAR * This,
  16173.     /* [in] */ IRowset __RPC_FAR *pRowset,
  16174.     /* [in] */ HROW hRow,
  16175.     /* [in] */ ULONG cColumns,
  16176.     /* [size_is][in] */ ULONG __RPC_FAR *rgColumns,
  16177.     /* [in] */ DBREASON eReason,
  16178.     /* [in] */ DBEVENTPHASE ePhase,
  16179.     /* [in] */ BOOL fCantDeny,
  16180.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16181.  
  16182. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_OnRowChange_Proxy( 
  16183.     IRowsetNotify __RPC_FAR * This,
  16184.     /* [in] */ IRowset __RPC_FAR *pRowset,
  16185.     /* [in] */ ULONG cRows,
  16186.     /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  16187.     /* [in] */ DBREASON eReason,
  16188.     /* [in] */ DBEVENTPHASE ePhase,
  16189.     /* [in] */ BOOL fCantDeny);
  16190.  
  16191.  
  16192. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_OnRowChange_Stub( 
  16193.     IRowsetNotify __RPC_FAR * This,
  16194.     /* [in] */ IRowset __RPC_FAR *pRowset,
  16195.     /* [in] */ ULONG cRows,
  16196.     /* [size_is][in] */ const HROW __RPC_FAR *rghRows,
  16197.     /* [in] */ DBREASON eReason,
  16198.     /* [in] */ DBEVENTPHASE ePhase,
  16199.     /* [in] */ BOOL fCantDeny,
  16200.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16201.  
  16202. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_OnRowsetChange_Proxy( 
  16203.     IRowsetNotify __RPC_FAR * This,
  16204.     /* [in] */ IRowset __RPC_FAR *pRowset,
  16205.     /* [in] */ DBREASON eReason,
  16206.     /* [in] */ DBEVENTPHASE ePhase,
  16207.     /* [in] */ BOOL fCantDeny);
  16208.  
  16209.  
  16210. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_OnRowsetChange_Stub( 
  16211.     IRowsetNotify __RPC_FAR * This,
  16212.     /* [in] */ IRowset __RPC_FAR *pRowset,
  16213.     /* [in] */ DBREASON eReason,
  16214.     /* [in] */ DBEVENTPHASE ePhase,
  16215.     /* [in] */ BOOL fCantDeny,
  16216.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16217.  
  16218. /* [local] */ HRESULT STDMETHODCALLTYPE ICommand_Cancel_Proxy( 
  16219.     ICommand __RPC_FAR * This);
  16220.  
  16221.  
  16222. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommand_Cancel_Stub( 
  16223.     ICommand __RPC_FAR * This,
  16224.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16225.  
  16226. /* [local] */ HRESULT STDMETHODCALLTYPE ICommand_Execute_Proxy( 
  16227.     ICommand __RPC_FAR * This,
  16228.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16229.     /* [in] */ REFIID riid,
  16230.     /* [out][in] */ DBPARAMS __RPC_FAR *pParams,
  16231.     /* [out] */ LONG __RPC_FAR *pcRowsAffected,
  16232.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  16233.  
  16234.  
  16235. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommand_Execute_Stub( 
  16236.     ICommand __RPC_FAR * This,
  16237.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16238.     /* [in] */ REFIID riid,
  16239.     /* [in] */ HACCESSOR hAccessor,
  16240.     /* [in] */ ULONG cParamSets,
  16241.     /* [in] */ ULONG cbData,
  16242.     /* [size_is][unique][out][in] */ BYTE __RPC_FAR *pbData,
  16243.     /* [unique][out][in] */ LONG __RPC_FAR *pcRowsAffected,
  16244.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  16245.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16246.  
  16247. /* [local] */ HRESULT STDMETHODCALLTYPE ICommand_GetDBSession_Proxy( 
  16248.     ICommand __RPC_FAR * This,
  16249.     /* [in] */ REFIID riid,
  16250.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession);
  16251.  
  16252.  
  16253. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommand_GetDBSession_Stub( 
  16254.     ICommand __RPC_FAR * This,
  16255.     /* [in] */ REFIID riid,
  16256.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession,
  16257.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16258.  
  16259. /* [local] */ HRESULT STDMETHODCALLTYPE IMultipleResults_GetResult_Proxy( 
  16260.     IMultipleResults __RPC_FAR * This,
  16261.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16262.     /* [in] */ LONG reserved,
  16263.     /* [in] */ REFIID riid,
  16264.     /* [out] */ LONG __RPC_FAR *pcRowsAffected,
  16265.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  16266.  
  16267.  
  16268. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMultipleResults_GetResult_Stub( 
  16269.     IMultipleResults __RPC_FAR * This,
  16270.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16271.     /* [in] */ LONG reserved,
  16272.     /* [in] */ REFIID riid,
  16273.     /* [unique][out][in] */ LONG __RPC_FAR *pcRowsAffected,
  16274.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  16275.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16276.  
  16277. /* [local] */ HRESULT STDMETHODCALLTYPE IConvertType_CanConvert_Proxy( 
  16278.     IConvertType __RPC_FAR * This,
  16279.     /* [in] */ DBTYPE wFromType,
  16280.     /* [in] */ DBTYPE wToType,
  16281.     /* [in] */ DBCONVERTFLAGS dwConvertFlags);
  16282.  
  16283.  
  16284. /* [call_as] */ HRESULT STDMETHODCALLTYPE IConvertType_CanConvert_Stub( 
  16285.     IConvertType __RPC_FAR * This,
  16286.     /* [in] */ DBTYPE wFromType,
  16287.     /* [in] */ DBTYPE wToType,
  16288.     /* [in] */ DBCONVERTFLAGS dwConvertFlags,
  16289.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16290.  
  16291. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandPrepare_Prepare_Proxy( 
  16292.     ICommandPrepare __RPC_FAR * This,
  16293.     /* [in] */ ULONG cExpectedRuns);
  16294.  
  16295.  
  16296. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandPrepare_Prepare_Stub( 
  16297.     ICommandPrepare __RPC_FAR * This,
  16298.     /* [in] */ ULONG cExpectedRuns,
  16299.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16300.  
  16301. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandPrepare_Unprepare_Proxy( 
  16302.     ICommandPrepare __RPC_FAR * This);
  16303.  
  16304.  
  16305. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandPrepare_Unprepare_Stub( 
  16306.     ICommandPrepare __RPC_FAR * This,
  16307.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16308.  
  16309. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandProperties_GetProperties_Proxy( 
  16310.     ICommandProperties __RPC_FAR * This,
  16311.     /* [in] */ const ULONG cPropertyIDSets,
  16312.     /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  16313.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  16314.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets);
  16315.  
  16316.  
  16317. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandProperties_GetProperties_Stub( 
  16318.     ICommandProperties __RPC_FAR * This,
  16319.     /* [in] */ const ULONG cPropertyIDSets,
  16320.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  16321.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  16322.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets,
  16323.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16324.  
  16325. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandProperties_SetProperties_Proxy( 
  16326.     ICommandProperties __RPC_FAR * This,
  16327.     /* [in] */ ULONG cPropertySets,
  16328.     /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  16329.  
  16330.  
  16331. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandProperties_SetProperties_Stub( 
  16332.     ICommandProperties __RPC_FAR * This,
  16333.     /* [in] */ ULONG cPropertySets,
  16334.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  16335.     /* [in] */ ULONG cTotalProps,
  16336.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  16337.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16338.  
  16339. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandText_GetCommandText_Proxy( 
  16340.     ICommandText __RPC_FAR * This,
  16341.     /* [out][in] */ GUID __RPC_FAR *pguidDialect,
  16342.     /* [out] */ LPOLESTR __RPC_FAR *ppwszCommand);
  16343.  
  16344.  
  16345. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandText_GetCommandText_Stub( 
  16346.     ICommandText __RPC_FAR * This,
  16347.     /* [unique][out][in] */ GUID __RPC_FAR *pguidDialect,
  16348.     /* [out] */ LPOLESTR __RPC_FAR *ppwszCommand,
  16349.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16350.  
  16351. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandText_SetCommandText_Proxy( 
  16352.     ICommandText __RPC_FAR * This,
  16353.     /* [in] */ REFGUID rguidDialect,
  16354.     /* [unique][in] */ LPCOLESTR pwszCommand);
  16355.  
  16356.  
  16357. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandText_SetCommandText_Stub( 
  16358.     ICommandText __RPC_FAR * This,
  16359.     /* [in] */ REFGUID rguidDialect,
  16360.     /* [unique][in] */ LPCOLESTR pwszCommand,
  16361.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16362.  
  16363. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_GetParameterInfo_Proxy( 
  16364.     ICommandWithParameters __RPC_FAR * This,
  16365.     /* [out][in] */ ULONG __RPC_FAR *pcParams,
  16366.     /* [size_is][size_is][out] */ DBPARAMINFO __RPC_FAR *__RPC_FAR *prgParamInfo,
  16367.     /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppNamesBuffer);
  16368.  
  16369.  
  16370. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_GetParameterInfo_Stub( 
  16371.     ICommandWithParameters __RPC_FAR * This,
  16372.     /* [out][in] */ ULONG __RPC_FAR *pcParams,
  16373.     /* [size_is][size_is][out] */ DBPARAMINFO __RPC_FAR *__RPC_FAR *prgParamInfo,
  16374.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgNameOffsets,
  16375.     /* [out][in] */ ULONG __RPC_FAR *pcbNamesBuffer,
  16376.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppNamesBuffer,
  16377.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16378.  
  16379. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_MapParameterNames_Proxy( 
  16380.     ICommandWithParameters __RPC_FAR * This,
  16381.     /* [in] */ ULONG cParamNames,
  16382.     /* [size_is][in] */ const OLECHAR __RPC_FAR *__RPC_FAR rgParamNames[  ],
  16383.     /* [size_is][out] */ LONG __RPC_FAR rgParamOrdinals[  ]);
  16384.  
  16385.  
  16386. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_MapParameterNames_Stub( 
  16387.     ICommandWithParameters __RPC_FAR * This,
  16388.     /* [in] */ ULONG cParamNames,
  16389.     /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgParamNames,
  16390.     /* [size_is][out] */ LONG __RPC_FAR *rgParamOrdinals,
  16391.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16392.  
  16393. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_SetParameterInfo_Proxy( 
  16394.     ICommandWithParameters __RPC_FAR * This,
  16395.     /* [in] */ ULONG cParams,
  16396.     /* [size_is][unique][in] */ const ULONG __RPC_FAR rgParamOrdinals[  ],
  16397.     /* [size_is][unique][in] */ const DBPARAMBINDINFO __RPC_FAR rgParamBindInfo[  ]);
  16398.  
  16399.  
  16400. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_SetParameterInfo_Stub( 
  16401.     ICommandWithParameters __RPC_FAR * This,
  16402.     /* [in] */ ULONG cParams,
  16403.     /* [size_is][unique][in] */ const ULONG __RPC_FAR *rgParamOrdinals,
  16404.     /* [size_is][unique][in] */ const DBPARAMBINDINFO __RPC_FAR *rgParamBindInfo,
  16405.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16406.  
  16407. /* [local] */ HRESULT STDMETHODCALLTYPE IColumnsRowset_GetAvailableColumns_Proxy( 
  16408.     IColumnsRowset __RPC_FAR * This,
  16409.     /* [out][in] */ ULONG __RPC_FAR *pcOptColumns,
  16410.     /* [size_is][size_is][out] */ DBID __RPC_FAR *__RPC_FAR *prgOptColumns);
  16411.  
  16412.  
  16413. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsRowset_GetAvailableColumns_Stub( 
  16414.     IColumnsRowset __RPC_FAR * This,
  16415.     /* [out][in] */ ULONG __RPC_FAR *pcOptColumns,
  16416.     /* [size_is][size_is][out] */ DBID __RPC_FAR *__RPC_FAR *prgOptColumns,
  16417.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16418.  
  16419. /* [local] */ HRESULT STDMETHODCALLTYPE IColumnsRowset_GetColumnsRowset_Proxy( 
  16420.     IColumnsRowset __RPC_FAR * This,
  16421.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16422.     /* [in] */ ULONG cOptColumns,
  16423.     /* [size_is][in] */ const DBID __RPC_FAR rgOptColumns[  ],
  16424.     /* [in] */ REFIID riid,
  16425.     /* [in] */ ULONG cPropertySets,
  16426.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  16427.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppColRowset);
  16428.  
  16429.  
  16430. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsRowset_GetColumnsRowset_Stub( 
  16431.     IColumnsRowset __RPC_FAR * This,
  16432.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16433.     /* [in] */ ULONG cOptColumns,
  16434.     /* [size_is][unique][in] */ const DBID __RPC_FAR *rgOptColumns,
  16435.     /* [in] */ REFIID riid,
  16436.     /* [in] */ ULONG cPropertySets,
  16437.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  16438.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppColRowset,
  16439.     /* [in] */ ULONG cTotalProps,
  16440.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  16441.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16442.  
  16443. /* [local] */ HRESULT STDMETHODCALLTYPE IColumnsInfo_GetColumnInfo_Proxy( 
  16444.     IColumnsInfo __RPC_FAR * This,
  16445.     /* [out][in] */ ULONG __RPC_FAR *pcColumns,
  16446.     /* [size_is][size_is][out] */ DBCOLUMNINFO __RPC_FAR *__RPC_FAR *prgInfo,
  16447.     /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer);
  16448.  
  16449.  
  16450. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsInfo_GetColumnInfo_Stub( 
  16451.     IColumnsInfo __RPC_FAR * This,
  16452.     /* [out][in] */ ULONG __RPC_FAR *pcColumns,
  16453.     /* [size_is][size_is][out] */ DBCOLUMNINFO __RPC_FAR *__RPC_FAR *prgInfo,
  16454.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgNameOffsets,
  16455.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgcolumnidOffsets,
  16456.     /* [out][in] */ ULONG __RPC_FAR *pcbStringsBuffer,
  16457.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer,
  16458.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16459.  
  16460. /* [local] */ HRESULT STDMETHODCALLTYPE IColumnsInfo_MapColumnIDs_Proxy( 
  16461.     IColumnsInfo __RPC_FAR * This,
  16462.     /* [in] */ ULONG cColumnIDs,
  16463.     /* [size_is][in] */ const DBID __RPC_FAR rgColumnIDs[  ],
  16464.     /* [size_is][out] */ ULONG __RPC_FAR rgColumns[  ]);
  16465.  
  16466.  
  16467. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsInfo_MapColumnIDs_Stub( 
  16468.     IColumnsInfo __RPC_FAR * This,
  16469.     /* [in] */ ULONG cColumnIDs,
  16470.     /* [size_is][in] */ const DBID __RPC_FAR *rgColumnIDs,
  16471.     /* [size_is][out] */ ULONG __RPC_FAR *rgColumns,
  16472.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16473.  
  16474. /* [local] */ HRESULT STDMETHODCALLTYPE IDBCreateCommand_CreateCommand_Proxy( 
  16475.     IDBCreateCommand __RPC_FAR * This,
  16476.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16477.     /* [in] */ REFIID riid,
  16478.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppCommand);
  16479.  
  16480.  
  16481. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBCreateCommand_CreateCommand_Stub( 
  16482.     IDBCreateCommand __RPC_FAR * This,
  16483.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16484.     /* [in] */ REFIID riid,
  16485.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppCommand,
  16486.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16487.  
  16488. /* [local] */ HRESULT STDMETHODCALLTYPE IDBCreateSession_CreateSession_Proxy( 
  16489.     IDBCreateSession __RPC_FAR * This,
  16490.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16491.     /* [in] */ REFIID riid,
  16492.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDBSession);
  16493.  
  16494.  
  16495. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBCreateSession_CreateSession_Stub( 
  16496.     IDBCreateSession __RPC_FAR * This,
  16497.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16498.     /* [in] */ REFIID riid,
  16499.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDBSession,
  16500.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16501.  
  16502. /* [local] */ HRESULT STDMETHODCALLTYPE ISourcesRowset_GetSourcesRowset_Proxy( 
  16503.     ISourcesRowset __RPC_FAR * This,
  16504.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16505.     /* [in] */ REFIID riid,
  16506.     /* [in] */ ULONG cPropertySets,
  16507.     /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgProperties[  ],
  16508.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSourcesRowset);
  16509.  
  16510.  
  16511. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISourcesRowset_GetSourcesRowset_Stub( 
  16512.     ISourcesRowset __RPC_FAR * This,
  16513.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16514.     /* [in] */ REFIID riid,
  16515.     /* [in] */ ULONG cPropertySets,
  16516.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgProperties,
  16517.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSourcesRowset,
  16518.     /* [in] */ ULONG cTotalProps,
  16519.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  16520.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16521.  
  16522. /* [local] */ HRESULT STDMETHODCALLTYPE IDBProperties_GetProperties_Proxy( 
  16523.     IDBProperties __RPC_FAR * This,
  16524.     /* [in] */ ULONG cPropertyIDSets,
  16525.     /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  16526.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  16527.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets);
  16528.  
  16529.  
  16530. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBProperties_GetProperties_Stub( 
  16531.     IDBProperties __RPC_FAR * This,
  16532.     /* [in] */ ULONG cPropertyIDSets,
  16533.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  16534.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  16535.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets,
  16536.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16537.  
  16538. /* [local] */ HRESULT STDMETHODCALLTYPE IDBProperties_GetPropertyInfo_Proxy( 
  16539.     IDBProperties __RPC_FAR * This,
  16540.     /* [in] */ ULONG cPropertyIDSets,
  16541.     /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  16542.     /* [out][in] */ ULONG __RPC_FAR *pcPropertyInfoSets,
  16543.     /* [size_is][size_is][out] */ DBPROPINFOSET __RPC_FAR *__RPC_FAR *prgPropertyInfoSets,
  16544.     /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppDescBuffer);
  16545.  
  16546.  
  16547. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBProperties_GetPropertyInfo_Stub( 
  16548.     IDBProperties __RPC_FAR * This,
  16549.     /* [in] */ ULONG cPropertyIDSets,
  16550.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  16551.     /* [out][in] */ ULONG __RPC_FAR *pcPropertyInfoSets,
  16552.     /* [size_is][size_is][out] */ DBPROPINFOSET __RPC_FAR *__RPC_FAR *prgPropertyInfoSets,
  16553.     /* [out][in] */ ULONG __RPC_FAR *pcOffsets,
  16554.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgDescOffsets,
  16555.     /* [out][in] */ ULONG __RPC_FAR *pcbDescBuffer,
  16556.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppDescBuffer,
  16557.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16558.  
  16559. /* [local] */ HRESULT STDMETHODCALLTYPE IDBProperties_SetProperties_Proxy( 
  16560.     IDBProperties __RPC_FAR * This,
  16561.     /* [in] */ ULONG cPropertySets,
  16562.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  16563.  
  16564.  
  16565. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBProperties_SetProperties_Stub( 
  16566.     IDBProperties __RPC_FAR * This,
  16567.     /* [in] */ ULONG cPropertySets,
  16568.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  16569.     /* [in] */ ULONG cTotalProps,
  16570.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  16571.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16572.  
  16573. /* [local] */ HRESULT STDMETHODCALLTYPE IDBInitialize_Initialize_Proxy( 
  16574.     IDBInitialize __RPC_FAR * This);
  16575.  
  16576.  
  16577. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInitialize_Initialize_Stub( 
  16578.     IDBInitialize __RPC_FAR * This,
  16579.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16580.  
  16581. /* [local] */ HRESULT STDMETHODCALLTYPE IDBInitialize_Uninitialize_Proxy( 
  16582.     IDBInitialize __RPC_FAR * This);
  16583.  
  16584.  
  16585. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInitialize_Uninitialize_Stub( 
  16586.     IDBInitialize __RPC_FAR * This,
  16587.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16588.  
  16589. /* [local] */ HRESULT STDMETHODCALLTYPE IDBInfo_GetKeywords_Proxy( 
  16590.     IDBInfo __RPC_FAR * This,
  16591.     /* [out] */ LPOLESTR __RPC_FAR *ppwszKeywords);
  16592.  
  16593.  
  16594. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInfo_GetKeywords_Stub( 
  16595.     IDBInfo __RPC_FAR * This,
  16596.     /* [unique][out][in] */ LPOLESTR __RPC_FAR *ppwszKeywords,
  16597.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16598.  
  16599. /* [local] */ HRESULT STDMETHODCALLTYPE IDBInfo_GetLiteralInfo_Proxy( 
  16600.     IDBInfo __RPC_FAR * This,
  16601.     /* [in] */ ULONG cLiterals,
  16602.     /* [size_is][in] */ const DBLITERAL __RPC_FAR rgLiterals[  ],
  16603.     /* [out][in] */ ULONG __RPC_FAR *pcLiteralInfo,
  16604.     /* [size_is][size_is][out] */ DBLITERALINFO __RPC_FAR *__RPC_FAR *prgLiteralInfo,
  16605.     /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppCharBuffer);
  16606.  
  16607.  
  16608. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInfo_GetLiteralInfo_Stub( 
  16609.     IDBInfo __RPC_FAR * This,
  16610.     /* [in] */ ULONG cLiterals,
  16611.     /* [size_is][unique][in] */ const DBLITERAL __RPC_FAR *rgLiterals,
  16612.     /* [out][in] */ ULONG __RPC_FAR *pcLiteralInfo,
  16613.     /* [size_is][size_is][out] */ DBLITERALINFO __RPC_FAR *__RPC_FAR *prgLiteralInfo,
  16614.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgLVOffsets,
  16615.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgICOffsets,
  16616.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgISCOffsets,
  16617.     /* [out][in] */ ULONG __RPC_FAR *pcbCharBuffer,
  16618.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppCharBuffer,
  16619.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16620.  
  16621. /* [local] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_CreateDataSource_Proxy( 
  16622.     IDBDataSourceAdmin __RPC_FAR * This,
  16623.     /* [in] */ ULONG cPropertySets,
  16624.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  16625.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16626.     /* [in] */ REFIID riid,
  16627.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDBSession);
  16628.  
  16629.  
  16630. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_CreateDataSource_Stub( 
  16631.     IDBDataSourceAdmin __RPC_FAR * This,
  16632.     /* [in] */ ULONG cPropertySets,
  16633.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  16634.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16635.     /* [in] */ REFIID riid,
  16636.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppDBSession,
  16637.     /* [in] */ ULONG cTotalProps,
  16638.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  16639.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16640.  
  16641. /* [local] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_DestroyDataSource_Proxy( 
  16642.     IDBDataSourceAdmin __RPC_FAR * This);
  16643.  
  16644.  
  16645. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_DestroyDataSource_Stub( 
  16646.     IDBDataSourceAdmin __RPC_FAR * This,
  16647.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16648.  
  16649. /* [local] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_GetCreationProperties_Proxy( 
  16650.     IDBDataSourceAdmin __RPC_FAR * This,
  16651.     /* [in] */ ULONG cPropertyIDSets,
  16652.     /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  16653.     /* [out][in] */ ULONG __RPC_FAR *pcPropertyInfoSets,
  16654.     /* [size_is][size_is][out] */ DBPROPINFOSET __RPC_FAR *__RPC_FAR *prgPropertyInfoSets,
  16655.     /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppDescBuffer);
  16656.  
  16657.  
  16658. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_GetCreationProperties_Stub( 
  16659.     IDBDataSourceAdmin __RPC_FAR * This,
  16660.     /* [in] */ ULONG cPropertyIDSets,
  16661.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  16662.     /* [out][in] */ ULONG __RPC_FAR *pcPropertyInfoSets,
  16663.     /* [size_is][size_is][out] */ DBPROPINFOSET __RPC_FAR *__RPC_FAR *prgPropertyInfoSets,
  16664.     /* [out][in] */ ULONG __RPC_FAR *pcOffsets,
  16665.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgDescOffsets,
  16666.     /* [out][in] */ ULONG __RPC_FAR *pcbDescBuffer,
  16667.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppDescBuffer,
  16668.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16669.  
  16670. /* [local] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_ModifyDataSource_Proxy( 
  16671.     IDBDataSourceAdmin __RPC_FAR * This,
  16672.     /* [in] */ ULONG cPropertySets,
  16673.     /* [size_is][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  16674.  
  16675.  
  16676. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_ModifyDataSource_Stub( 
  16677.     IDBDataSourceAdmin __RPC_FAR * This,
  16678.     /* [in] */ ULONG cPropertySets,
  16679.     /* [size_is][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  16680.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16681.  
  16682. /* [local] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_OnLowResource_Proxy( 
  16683.     IDBAsynchNotify __RPC_FAR * This,
  16684.     /* [in] */ DWORD dwReserved);
  16685.  
  16686.  
  16687. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_OnLowResource_Stub( 
  16688.     IDBAsynchNotify __RPC_FAR * This,
  16689.     /* [in] */ DWORD dwReserved,
  16690.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16691.  
  16692. /* [local] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_OnProgress_Proxy( 
  16693.     IDBAsynchNotify __RPC_FAR * This,
  16694.     /* [in] */ HCHAPTER hChapter,
  16695.     /* [in] */ DBASYNCHOP eOperation,
  16696.     /* [in] */ ULONG ulProgress,
  16697.     /* [in] */ ULONG ulProgressMax,
  16698.     /* [in] */ DBASYNCHPHASE eAsynchPhase,
  16699.     /* [in] */ LPOLESTR pwszStatusText);
  16700.  
  16701.  
  16702. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_OnProgress_Stub( 
  16703.     IDBAsynchNotify __RPC_FAR * This,
  16704.     /* [in] */ HCHAPTER hChapter,
  16705.     /* [in] */ DBASYNCHOP eOperation,
  16706.     /* [in] */ ULONG ulProgress,
  16707.     /* [in] */ ULONG ulProgressMax,
  16708.     /* [in] */ DBASYNCHPHASE eAsynchPhase,
  16709.     /* [in] */ LPOLESTR pwszStatusText,
  16710.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16711.  
  16712. /* [local] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_OnStop_Proxy( 
  16713.     IDBAsynchNotify __RPC_FAR * This,
  16714.     /* [in] */ HCHAPTER hChapter,
  16715.     /* [in] */ DBASYNCHOP eOperation,
  16716.     /* [in] */ HRESULT hrStatus,
  16717.     /* [in] */ LPOLESTR pwszStatusText);
  16718.  
  16719.  
  16720. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_OnStop_Stub( 
  16721.     IDBAsynchNotify __RPC_FAR * This,
  16722.     /* [in] */ HCHAPTER hChapter,
  16723.     /* [in] */ DBASYNCHOP eOperation,
  16724.     /* [in] */ HRESULT hrStatus,
  16725.     /* [in] */ LPOLESTR pwszStatusText,
  16726.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16727.  
  16728. /* [local] */ HRESULT STDMETHODCALLTYPE IDBAsynchStatus_Abort_Proxy( 
  16729.     IDBAsynchStatus __RPC_FAR * This,
  16730.     /* [in] */ HCHAPTER hChapter,
  16731.     /* [in] */ DBASYNCHOP eOperation);
  16732.  
  16733.  
  16734. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchStatus_Abort_Stub( 
  16735.     IDBAsynchStatus __RPC_FAR * This,
  16736.     /* [in] */ HCHAPTER hChapter,
  16737.     /* [in] */ DBASYNCHOP eOperation,
  16738.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16739.  
  16740. /* [local] */ HRESULT STDMETHODCALLTYPE IDBAsynchStatus_GetStatus_Proxy( 
  16741.     IDBAsynchStatus __RPC_FAR * This,
  16742.     /* [in] */ HCHAPTER hChapter,
  16743.     /* [in] */ DBASYNCHOP eOperation,
  16744.     /* [out] */ ULONG __RPC_FAR *pulProgress,
  16745.     /* [out] */ ULONG __RPC_FAR *pulProgressMax,
  16746.     /* [out] */ DBASYNCHPHASE __RPC_FAR *peAsynchPhase,
  16747.     /* [out] */ LPOLESTR __RPC_FAR *ppwszStatusText);
  16748.  
  16749.  
  16750. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchStatus_GetStatus_Stub( 
  16751.     IDBAsynchStatus __RPC_FAR * This,
  16752.     /* [in] */ HCHAPTER hChapter,
  16753.     /* [in] */ DBASYNCHOP eOperation,
  16754.     /* [out] */ ULONG __RPC_FAR *pulProgress,
  16755.     /* [out] */ ULONG __RPC_FAR *pulProgressMax,
  16756.     /* [out] */ DBASYNCHPHASE __RPC_FAR *peAsynchPhase,
  16757.     /* [out] */ LPOLESTR __RPC_FAR *ppwszStatusText,
  16758.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16759.  
  16760. /* [local] */ HRESULT STDMETHODCALLTYPE ISessionProperties_GetProperties_Proxy( 
  16761.     ISessionProperties __RPC_FAR * This,
  16762.     /* [in] */ ULONG cPropertyIDSets,
  16763.     /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  16764.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  16765.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets);
  16766.  
  16767.  
  16768. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISessionProperties_GetProperties_Stub( 
  16769.     ISessionProperties __RPC_FAR * This,
  16770.     /* [in] */ ULONG cPropertyIDSets,
  16771.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  16772.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  16773.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets,
  16774.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16775.  
  16776. /* [local] */ HRESULT STDMETHODCALLTYPE ISessionProperties_SetProperties_Proxy( 
  16777.     ISessionProperties __RPC_FAR * This,
  16778.     /* [in] */ ULONG cPropertySets,
  16779.     /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  16780.  
  16781.  
  16782. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISessionProperties_SetProperties_Stub( 
  16783.     ISessionProperties __RPC_FAR * This,
  16784.     /* [in] */ ULONG cPropertySets,
  16785.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  16786.     /* [in] */ ULONG cTotalProps,
  16787.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  16788.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16789.  
  16790. /* [local] */ HRESULT STDMETHODCALLTYPE IIndexDefinition_CreateIndex_Proxy( 
  16791.     IIndexDefinition __RPC_FAR * This,
  16792.     /* [in] */ DBID __RPC_FAR *pTableID,
  16793.     /* [in] */ DBID __RPC_FAR *pIndexID,
  16794.     /* [in] */ ULONG cIndexColumnDescs,
  16795.     /* [size_is][in] */ const DBINDEXCOLUMNDESC __RPC_FAR rgIndexColumnDescs[  ],
  16796.     /* [in] */ ULONG cPropertySets,
  16797.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  16798.     /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppIndexID);
  16799.  
  16800.  
  16801. /* [call_as] */ HRESULT STDMETHODCALLTYPE IIndexDefinition_CreateIndex_Stub( 
  16802.     IIndexDefinition __RPC_FAR * This,
  16803.     /* [in] */ DBID __RPC_FAR *pTableID,
  16804.     /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  16805.     /* [in] */ ULONG cIndexColumnDescs,
  16806.     /* [size_is][in] */ const DBINDEXCOLUMNDESC __RPC_FAR *rgIndexColumnDescs,
  16807.     /* [in] */ ULONG cPropertySets,
  16808.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  16809.     /* [unique][out][in] */ DBID __RPC_FAR *__RPC_FAR *ppIndexID,
  16810.     /* [in] */ ULONG cTotalProps,
  16811.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  16812.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16813.  
  16814. /* [local] */ HRESULT STDMETHODCALLTYPE IIndexDefinition_DropIndex_Proxy( 
  16815.     IIndexDefinition __RPC_FAR * This,
  16816.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  16817.     /* [unique][in] */ DBID __RPC_FAR *pIndexID);
  16818.  
  16819.  
  16820. /* [call_as] */ HRESULT STDMETHODCALLTYPE IIndexDefinition_DropIndex_Stub( 
  16821.     IIndexDefinition __RPC_FAR * This,
  16822.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  16823.     /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  16824.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16825.  
  16826. /* [local] */ HRESULT STDMETHODCALLTYPE ITableDefinition_CreateTable_Proxy( 
  16827.     ITableDefinition __RPC_FAR * This,
  16828.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16829.     /* [in] */ DBID __RPC_FAR *pTableID,
  16830.     /* [in] */ ULONG cColumnDescs,
  16831.     /* [size_is][in] */ const DBCOLUMNDESC __RPC_FAR rgColumnDescs[  ],
  16832.     /* [in] */ REFIID riid,
  16833.     /* [in] */ ULONG cPropertySets,
  16834.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  16835.     /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppTableID,
  16836.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  16837.  
  16838.  
  16839. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_CreateTable_Stub( 
  16840.     ITableDefinition __RPC_FAR * This,
  16841.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16842.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  16843.     /* [in] */ ULONG cColumnDescs,
  16844.     /* [size_is][in] */ const DBCOLUMNDESC __RPC_FAR *rgColumnDescs,
  16845.     /* [in] */ REFIID riid,
  16846.     /* [in] */ ULONG cPropertySets,
  16847.     /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  16848.     /* [unique][out][in] */ DBID __RPC_FAR *__RPC_FAR *ppTableID,
  16849.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  16850.     /* [in] */ ULONG cTotalProps,
  16851.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  16852.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16853.  
  16854. /* [local] */ HRESULT STDMETHODCALLTYPE ITableDefinition_DropTable_Proxy( 
  16855.     ITableDefinition __RPC_FAR * This,
  16856.     /* [unique][in] */ DBID __RPC_FAR *pTableID);
  16857.  
  16858.  
  16859. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_DropTable_Stub( 
  16860.     ITableDefinition __RPC_FAR * This,
  16861.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  16862.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16863.  
  16864. /* [local] */ HRESULT STDMETHODCALLTYPE ITableDefinition_AddColumn_Proxy( 
  16865.     ITableDefinition __RPC_FAR * This,
  16866.     /* [in] */ DBID __RPC_FAR *pTableID,
  16867.     /* [out][in] */ DBCOLUMNDESC __RPC_FAR *pColumnDesc,
  16868.     /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppColumnID);
  16869.  
  16870.  
  16871. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_AddColumn_Stub( 
  16872.     ITableDefinition __RPC_FAR * This,
  16873.     /* [in] */ DBID __RPC_FAR *pTableID,
  16874.     /* [out][in] */ DBCOLUMNDESC __RPC_FAR *pColumnDesc,
  16875.     /* [unique][out][in] */ DBID __RPC_FAR *__RPC_FAR *ppColumnID,
  16876.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16877.  
  16878. /* [local] */ HRESULT STDMETHODCALLTYPE ITableDefinition_DropColumn_Proxy( 
  16879.     ITableDefinition __RPC_FAR * This,
  16880.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  16881.     /* [unique][in] */ DBID __RPC_FAR *pColumnID);
  16882.  
  16883.  
  16884. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_DropColumn_Stub( 
  16885.     ITableDefinition __RPC_FAR * This,
  16886.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  16887.     /* [unique][in] */ DBID __RPC_FAR *pColumnID,
  16888.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16889.  
  16890. /* [local] */ HRESULT STDMETHODCALLTYPE IOpenRowset_OpenRowset_Proxy( 
  16891.     IOpenRowset __RPC_FAR * This,
  16892.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16893.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  16894.     /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  16895.     /* [in] */ REFIID riid,
  16896.     /* [in] */ ULONG cPropertySets,
  16897.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  16898.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  16899.  
  16900.  
  16901. /* [call_as] */ HRESULT STDMETHODCALLTYPE IOpenRowset_OpenRowset_Stub( 
  16902.     IOpenRowset __RPC_FAR * This,
  16903.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16904.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  16905.     /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  16906.     /* [in] */ REFIID riid,
  16907.     /* [in] */ ULONG cPropertySets,
  16908.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  16909.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  16910.     /* [in] */ ULONG cTotalProps,
  16911.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  16912.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16913.  
  16914. /* [local] */ HRESULT STDMETHODCALLTYPE IDBSchemaRowset_GetRowset_Proxy( 
  16915.     IDBSchemaRowset __RPC_FAR * This,
  16916.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16917.     /* [in] */ REFGUID rguidSchema,
  16918.     /* [in] */ ULONG cRestrictions,
  16919.     /* [size_is][in] */ const VARIANT __RPC_FAR rgRestrictions[  ],
  16920.     /* [in] */ REFIID riid,
  16921.     /* [in] */ ULONG cPropertySets,
  16922.     /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  16923.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  16924.  
  16925.  
  16926. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBSchemaRowset_GetRowset_Stub( 
  16927.     IDBSchemaRowset __RPC_FAR * This,
  16928.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16929.     /* [in] */ REFGUID rguidSchema,
  16930.     /* [in] */ ULONG cRestrictions,
  16931.     /* [size_is][unique][in] */ const VARIANT __RPC_FAR *rgRestrictions,
  16932.     /* [in] */ REFIID riid,
  16933.     /* [in] */ ULONG cPropertySets,
  16934.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  16935.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  16936.     /* [in] */ ULONG cTotalProps,
  16937.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  16938.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16939.  
  16940. /* [local] */ HRESULT STDMETHODCALLTYPE IDBSchemaRowset_GetSchemas_Proxy( 
  16941.     IDBSchemaRowset __RPC_FAR * This,
  16942.     /* [out][in] */ ULONG __RPC_FAR *pcSchemas,
  16943.     /* [size_is][size_is][out] */ GUID __RPC_FAR *__RPC_FAR *prgSchemas,
  16944.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgRestrictionSupport);
  16945.  
  16946.  
  16947. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBSchemaRowset_GetSchemas_Stub( 
  16948.     IDBSchemaRowset __RPC_FAR * This,
  16949.     /* [out][in] */ ULONG __RPC_FAR *pcSchemas,
  16950.     /* [size_is][size_is][out] */ GUID __RPC_FAR *__RPC_FAR *prgSchemas,
  16951.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgRestrictionSupport,
  16952.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16953.  
  16954. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorRecords_AddErrorRecord_Proxy( 
  16955.     IErrorRecords __RPC_FAR * This,
  16956.     /* [in] */ ERRORINFO __RPC_FAR *pErrorInfo,
  16957.     /* [in] */ DWORD dwLookupID,
  16958.     /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  16959.     /* [in] */ IUnknown __RPC_FAR *punkCustomError,
  16960.     /* [in] */ DWORD dwDynamicErrorID);
  16961.  
  16962.  
  16963. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_AddErrorRecord_Stub( 
  16964.     IErrorRecords __RPC_FAR * This,
  16965.     /* [in] */ ERRORINFO __RPC_FAR *pErrorInfo,
  16966.     /* [in] */ DWORD dwLookupID,
  16967.     /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  16968.     /* [in] */ IUnknown __RPC_FAR *punkCustomError,
  16969.     /* [in] */ DWORD dwDynamicErrorID,
  16970.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16971.  
  16972. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetBasicErrorInfo_Proxy( 
  16973.     IErrorRecords __RPC_FAR * This,
  16974.     /* [in] */ ULONG ulRecordNum,
  16975.     /* [out] */ ERRORINFO __RPC_FAR *pErrorInfo);
  16976.  
  16977.  
  16978. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetBasicErrorInfo_Stub( 
  16979.     IErrorRecords __RPC_FAR * This,
  16980.     /* [in] */ ULONG ulRecordNum,
  16981.     /* [out] */ ERRORINFO __RPC_FAR *pErrorInfo,
  16982.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16983.  
  16984. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetCustomErrorObject_Proxy( 
  16985.     IErrorRecords __RPC_FAR * This,
  16986.     /* [in] */ ULONG ulRecordNum,
  16987.     /* [in] */ REFIID riid,
  16988.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject);
  16989.  
  16990.  
  16991. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetCustomErrorObject_Stub( 
  16992.     IErrorRecords __RPC_FAR * This,
  16993.     /* [in] */ ULONG ulRecordNum,
  16994.     /* [in] */ REFIID riid,
  16995.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject,
  16996.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16997.  
  16998. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetErrorInfo_Proxy( 
  16999.     IErrorRecords __RPC_FAR * This,
  17000.     /* [in] */ ULONG ulRecordNum,
  17001.     /* [in] */ LCID lcid,
  17002.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfo);
  17003.  
  17004.  
  17005. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetErrorInfo_Stub( 
  17006.     IErrorRecords __RPC_FAR * This,
  17007.     /* [in] */ ULONG ulRecordNum,
  17008.     /* [in] */ LCID lcid,
  17009.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfo,
  17010.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  17011.  
  17012. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetErrorParameters_Proxy( 
  17013.     IErrorRecords __RPC_FAR * This,
  17014.     /* [in] */ ULONG ulRecordNum,
  17015.     /* [out] */ DISPPARAMS __RPC_FAR *pdispparams);
  17016.  
  17017.  
  17018. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetErrorParameters_Stub( 
  17019.     IErrorRecords __RPC_FAR * This,
  17020.     /* [in] */ ULONG ulRecordNum,
  17021.     /* [out] */ DISPPARAMS __RPC_FAR *pdispparams,
  17022.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  17023.  
  17024. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetRecordCount_Proxy( 
  17025.     IErrorRecords __RPC_FAR * This,
  17026.     /* [out] */ ULONG __RPC_FAR *pcRecords);
  17027.  
  17028.  
  17029. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetRecordCount_Stub( 
  17030.     IErrorRecords __RPC_FAR * This,
  17031.     /* [out] */ ULONG __RPC_FAR *pcRecords,
  17032.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  17033.  
  17034. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorLookup_GetErrorDescription_Proxy( 
  17035.     IErrorLookup __RPC_FAR * This,
  17036.     /* [in] */ HRESULT hrError,
  17037.     /* [in] */ DWORD dwLookupID,
  17038.     /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  17039.     /* [in] */ LCID lcid,
  17040.     /* [out] */ BSTR __RPC_FAR *pbstrSource,
  17041.     /* [out] */ BSTR __RPC_FAR *pbstrDescription);
  17042.  
  17043.  
  17044. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorLookup_GetErrorDescription_Stub( 
  17045.     IErrorLookup __RPC_FAR * This,
  17046.     /* [in] */ HRESULT hrError,
  17047.     /* [in] */ DWORD dwLookupID,
  17048.     /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  17049.     /* [in] */ LCID lcid,
  17050.     /* [out] */ BSTR __RPC_FAR *pbstrSource,
  17051.     /* [out] */ BSTR __RPC_FAR *pbstrDescription,
  17052.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  17053.  
  17054. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorLookup_GetHelpInfo_Proxy( 
  17055.     IErrorLookup __RPC_FAR * This,
  17056.     /* [in] */ HRESULT hrError,
  17057.     /* [in] */ DWORD dwLookupID,
  17058.     /* [in] */ LCID lcid,
  17059.     /* [out] */ BSTR __RPC_FAR *pbstrHelpFile,
  17060.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext);
  17061.  
  17062.  
  17063. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorLookup_GetHelpInfo_Stub( 
  17064.     IErrorLookup __RPC_FAR * This,
  17065.     /* [in] */ HRESULT hrError,
  17066.     /* [in] */ DWORD dwLookupID,
  17067.     /* [in] */ LCID lcid,
  17068.     /* [out] */ BSTR __RPC_FAR *pbstrHelpFile,
  17069.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  17070.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  17071.  
  17072. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorLookup_ReleaseErrors_Proxy( 
  17073.     IErrorLookup __RPC_FAR * This,
  17074.     /* [in] */ const DWORD dwDynamicErrorID);
  17075.  
  17076.  
  17077. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorLookup_ReleaseErrors_Stub( 
  17078.     IErrorLookup __RPC_FAR * This,
  17079.     /* [in] */ const DWORD dwDynamicErrorID,
  17080.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  17081.  
  17082. /* [local] */ HRESULT STDMETHODCALLTYPE ISQLErrorInfo_GetSQLInfo_Proxy( 
  17083.     ISQLErrorInfo __RPC_FAR * This,
  17084.     /* [out] */ BSTR __RPC_FAR *pbstrSQLState,
  17085.     /* [out] */ LONG __RPC_FAR *plNativeError);
  17086.  
  17087.  
  17088. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISQLErrorInfo_GetSQLInfo_Stub( 
  17089.     ISQLErrorInfo __RPC_FAR * This,
  17090.     /* [out] */ BSTR __RPC_FAR *pbstrSQLState,
  17091.     /* [out] */ LONG __RPC_FAR *plNativeError,
  17092.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  17093.  
  17094. /* [local] */ HRESULT STDMETHODCALLTYPE IGetDataSource_GetDataSource_Proxy( 
  17095.     IGetDataSource __RPC_FAR * This,
  17096.     /* [in] */ REFIID riid,
  17097.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDataSource);
  17098.  
  17099.  
  17100. /* [call_as] */ HRESULT STDMETHODCALLTYPE IGetDataSource_GetDataSource_Stub( 
  17101.     IGetDataSource __RPC_FAR * This,
  17102.     /* [in] */ REFIID riid,
  17103.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDataSource,
  17104.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  17105.  
  17106. /* [local] */ HRESULT STDMETHODCALLTYPE ITransactionJoin_GetOptionsObject_Proxy( 
  17107.     ITransactionJoin __RPC_FAR * This,
  17108.     /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions);
  17109.  
  17110.  
  17111. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionJoin_GetOptionsObject_Stub( 
  17112.     ITransactionJoin __RPC_FAR * This,
  17113.     /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions,
  17114.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  17115.  
  17116. /* [local] */ HRESULT STDMETHODCALLTYPE ITransactionJoin_JoinTransaction_Proxy( 
  17117.     ITransactionJoin __RPC_FAR * This,
  17118.     /* [in] */ IUnknown __RPC_FAR *punkTransactionCoord,
  17119.     /* [in] */ ISOLEVEL isoLevel,
  17120.     /* [in] */ ULONG isoFlags,
  17121.     /* [in] */ ITransactionOptions __RPC_FAR *pOtherOptions);
  17122.  
  17123.  
  17124. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionJoin_JoinTransaction_Stub( 
  17125.     ITransactionJoin __RPC_FAR * This,
  17126.     /* [in] */ IUnknown __RPC_FAR *punkTransactionCoord,
  17127.     /* [in] */ ISOLEVEL isoLevel,
  17128.     /* [in] */ ULONG isoFlags,
  17129.     /* [in] */ ITransactionOptions __RPC_FAR *pOtherOptions,
  17130.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  17131.  
  17132. /* [local] */ HRESULT STDMETHODCALLTYPE ITransactionObject_GetTransactionObject_Proxy( 
  17133.     ITransactionObject __RPC_FAR * This,
  17134.     /* [in] */ ULONG ulTransactionLevel,
  17135.     /* [out] */ ITransaction __RPC_FAR *__RPC_FAR *ppTransactionObject);
  17136.  
  17137.  
  17138. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionObject_GetTransactionObject_Stub( 
  17139.     ITransactionObject __RPC_FAR * This,
  17140.     /* [in] */ ULONG ulTransactionLevel,
  17141.     /* [out] */ ITransaction __RPC_FAR *__RPC_FAR *ppTransactionObject,
  17142.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  17143.  
  17144.  
  17145.  
  17146. /* end of Additional Prototypes */
  17147.  
  17148. #ifdef __cplusplus
  17149. }
  17150. #endif
  17151.  
  17152. #endif
  17153.