home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 25: Programming / pc_actual_25.iso / C_C++ / BorlandCompiler / freecommandLinetools.exe / Include / oledb.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-06-27  |  578.4 KB  |  16,570 lines

  1. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  2.  
  3. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  4.  
  5. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  6.  
  7.  
  8.  /* File created by MIDL compiler version 5.03.0266 */
  9. /* at Thu May 27 02:10:44 1999
  10.  */
  11. /* Compiler settings for oledb.idl:
  12.     Oicf (OptLev=i2), W1, Zp2, env=Win32 (32b run), ms_ext, c_ext
  13.     error checks: allocation ref bounds_check enum stub_data 
  14.     VC __declspec() decoration level: 
  15.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  16.          DECLSPEC_UUID(), MIDL_INTERFACE()
  17. */
  18. //@@MIDL_FILE_HEADING(  )
  19.  
  20.  
  21. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  22. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  23. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  24. #endif
  25.  
  26. #include "rpc.h"
  27. #include "rpcndr.h"
  28.  
  29. #ifndef __RPCNDR_H_VERSION__
  30. #error this stub requires an updated version of <rpcndr.h>
  31. #endif // __RPCNDR_H_VERSION__
  32.  
  33. #ifndef COM_NO_WINDOWS_H
  34. #include "windows.h"
  35. #include "ole2.h"
  36. #endif /*COM_NO_WINDOWS_H*/
  37.  
  38. #ifndef __oledb_h__
  39. #define __oledb_h__
  40.  
  41.  
  42. #ifndef GUID_DEFS_ONLY
  43.  
  44. /* Forward Declarations */ 
  45.  
  46. #ifndef __IAccessor_FWD_DEFINED__
  47. #define __IAccessor_FWD_DEFINED__
  48. typedef interface IAccessor IAccessor;
  49. #endif     /* __IAccessor_FWD_DEFINED__ */
  50.  
  51.  
  52. #ifndef __IRowset_FWD_DEFINED__
  53. #define __IRowset_FWD_DEFINED__
  54. typedef interface IRowset IRowset;
  55. #endif     /* __IRowset_FWD_DEFINED__ */
  56.  
  57.  
  58. #ifndef __IRowsetInfo_FWD_DEFINED__
  59. #define __IRowsetInfo_FWD_DEFINED__
  60. typedef interface IRowsetInfo IRowsetInfo;
  61. #endif     /* __IRowsetInfo_FWD_DEFINED__ */
  62.  
  63.  
  64. #ifndef __IRowsetLocate_FWD_DEFINED__
  65. #define __IRowsetLocate_FWD_DEFINED__
  66. typedef interface IRowsetLocate IRowsetLocate;
  67. #endif     /* __IRowsetLocate_FWD_DEFINED__ */
  68.  
  69.  
  70. #ifndef __IRowsetResynch_FWD_DEFINED__
  71. #define __IRowsetResynch_FWD_DEFINED__
  72. typedef interface IRowsetResynch IRowsetResynch;
  73. #endif     /* __IRowsetResynch_FWD_DEFINED__ */
  74.  
  75.  
  76. #ifndef __IRowsetScroll_FWD_DEFINED__
  77. #define __IRowsetScroll_FWD_DEFINED__
  78. typedef interface IRowsetScroll IRowsetScroll;
  79. #endif     /* __IRowsetScroll_FWD_DEFINED__ */
  80.  
  81.  
  82. #ifndef __IChapteredRowset_FWD_DEFINED__
  83. #define __IChapteredRowset_FWD_DEFINED__
  84. typedef interface IChapteredRowset IChapteredRowset;
  85. #endif     /* __IChapteredRowset_FWD_DEFINED__ */
  86.  
  87.  
  88. #ifndef __IRowsetFind_FWD_DEFINED__
  89. #define __IRowsetFind_FWD_DEFINED__
  90. typedef interface IRowsetFind IRowsetFind;
  91. #endif     /* __IRowsetFind_FWD_DEFINED__ */
  92.  
  93.  
  94. #ifndef __IRowPosition_FWD_DEFINED__
  95. #define __IRowPosition_FWD_DEFINED__
  96. typedef interface IRowPosition IRowPosition;
  97. #endif     /* __IRowPosition_FWD_DEFINED__ */
  98.  
  99.  
  100. #ifndef __IRowPositionChange_FWD_DEFINED__
  101. #define __IRowPositionChange_FWD_DEFINED__
  102. typedef interface IRowPositionChange IRowPositionChange;
  103. #endif     /* __IRowPositionChange_FWD_DEFINED__ */
  104.  
  105.  
  106. #ifndef __IViewRowset_FWD_DEFINED__
  107. #define __IViewRowset_FWD_DEFINED__
  108. typedef interface IViewRowset IViewRowset;
  109. #endif     /* __IViewRowset_FWD_DEFINED__ */
  110.  
  111.  
  112. #ifndef __IViewChapter_FWD_DEFINED__
  113. #define __IViewChapter_FWD_DEFINED__
  114. typedef interface IViewChapter IViewChapter;
  115. #endif     /* __IViewChapter_FWD_DEFINED__ */
  116.  
  117.  
  118. #ifndef __IViewSort_FWD_DEFINED__
  119. #define __IViewSort_FWD_DEFINED__
  120. typedef interface IViewSort IViewSort;
  121. #endif     /* __IViewSort_FWD_DEFINED__ */
  122.  
  123.  
  124. #ifndef __IViewFilter_FWD_DEFINED__
  125. #define __IViewFilter_FWD_DEFINED__
  126. typedef interface IViewFilter IViewFilter;
  127. #endif     /* __IViewFilter_FWD_DEFINED__ */
  128.  
  129.  
  130. #ifndef __IRowsetView_FWD_DEFINED__
  131. #define __IRowsetView_FWD_DEFINED__
  132. typedef interface IRowsetView IRowsetView;
  133. #endif     /* __IRowsetView_FWD_DEFINED__ */
  134.  
  135.  
  136. #ifndef __IRowsetExactScroll_FWD_DEFINED__
  137. #define __IRowsetExactScroll_FWD_DEFINED__
  138. typedef interface IRowsetExactScroll IRowsetExactScroll;
  139. #endif     /* __IRowsetExactScroll_FWD_DEFINED__ */
  140.  
  141.  
  142. #ifndef __IRowsetChange_FWD_DEFINED__
  143. #define __IRowsetChange_FWD_DEFINED__
  144. typedef interface IRowsetChange IRowsetChange;
  145. #endif     /* __IRowsetChange_FWD_DEFINED__ */
  146.  
  147.  
  148. #ifndef __IRowsetUpdate_FWD_DEFINED__
  149. #define __IRowsetUpdate_FWD_DEFINED__
  150. typedef interface IRowsetUpdate IRowsetUpdate;
  151. #endif     /* __IRowsetUpdate_FWD_DEFINED__ */
  152.  
  153.  
  154. #ifndef __IRowsetIdentity_FWD_DEFINED__
  155. #define __IRowsetIdentity_FWD_DEFINED__
  156. typedef interface IRowsetIdentity IRowsetIdentity;
  157. #endif     /* __IRowsetIdentity_FWD_DEFINED__ */
  158.  
  159.  
  160. #ifndef __IRowsetNotify_FWD_DEFINED__
  161. #define __IRowsetNotify_FWD_DEFINED__
  162. typedef interface IRowsetNotify IRowsetNotify;
  163. #endif     /* __IRowsetNotify_FWD_DEFINED__ */
  164.  
  165.  
  166. #ifndef __IRowsetIndex_FWD_DEFINED__
  167. #define __IRowsetIndex_FWD_DEFINED__
  168. typedef interface IRowsetIndex IRowsetIndex;
  169. #endif     /* __IRowsetIndex_FWD_DEFINED__ */
  170.  
  171.  
  172. #ifndef __ICommand_FWD_DEFINED__
  173. #define __ICommand_FWD_DEFINED__
  174. typedef interface ICommand ICommand;
  175. #endif     /* __ICommand_FWD_DEFINED__ */
  176.  
  177.  
  178. #ifndef __IMultipleResults_FWD_DEFINED__
  179. #define __IMultipleResults_FWD_DEFINED__
  180. typedef interface IMultipleResults IMultipleResults;
  181. #endif     /* __IMultipleResults_FWD_DEFINED__ */
  182.  
  183.  
  184. #ifndef __IConvertType_FWD_DEFINED__
  185. #define __IConvertType_FWD_DEFINED__
  186. typedef interface IConvertType IConvertType;
  187. #endif     /* __IConvertType_FWD_DEFINED__ */
  188.  
  189.  
  190. #ifndef __ICommandPrepare_FWD_DEFINED__
  191. #define __ICommandPrepare_FWD_DEFINED__
  192. typedef interface ICommandPrepare ICommandPrepare;
  193. #endif     /* __ICommandPrepare_FWD_DEFINED__ */
  194.  
  195.  
  196. #ifndef __ICommandProperties_FWD_DEFINED__
  197. #define __ICommandProperties_FWD_DEFINED__
  198. typedef interface ICommandProperties ICommandProperties;
  199. #endif     /* __ICommandProperties_FWD_DEFINED__ */
  200.  
  201.  
  202. #ifndef __ICommandText_FWD_DEFINED__
  203. #define __ICommandText_FWD_DEFINED__
  204. typedef interface ICommandText ICommandText;
  205. #endif     /* __ICommandText_FWD_DEFINED__ */
  206.  
  207.  
  208. #ifndef __ICommandWithParameters_FWD_DEFINED__
  209. #define __ICommandWithParameters_FWD_DEFINED__
  210. typedef interface ICommandWithParameters ICommandWithParameters;
  211. #endif     /* __ICommandWithParameters_FWD_DEFINED__ */
  212.  
  213.  
  214. #ifndef __IColumnsRowset_FWD_DEFINED__
  215. #define __IColumnsRowset_FWD_DEFINED__
  216. typedef interface IColumnsRowset IColumnsRowset;
  217. #endif     /* __IColumnsRowset_FWD_DEFINED__ */
  218.  
  219.  
  220. #ifndef __IColumnsInfo_FWD_DEFINED__
  221. #define __IColumnsInfo_FWD_DEFINED__
  222. typedef interface IColumnsInfo IColumnsInfo;
  223. #endif     /* __IColumnsInfo_FWD_DEFINED__ */
  224.  
  225.  
  226. #ifndef __IDBCreateCommand_FWD_DEFINED__
  227. #define __IDBCreateCommand_FWD_DEFINED__
  228. typedef interface IDBCreateCommand IDBCreateCommand;
  229. #endif     /* __IDBCreateCommand_FWD_DEFINED__ */
  230.  
  231.  
  232. #ifndef __IDBCreateSession_FWD_DEFINED__
  233. #define __IDBCreateSession_FWD_DEFINED__
  234. typedef interface IDBCreateSession IDBCreateSession;
  235. #endif     /* __IDBCreateSession_FWD_DEFINED__ */
  236.  
  237.  
  238. #ifndef __ISourcesRowset_FWD_DEFINED__
  239. #define __ISourcesRowset_FWD_DEFINED__
  240. typedef interface ISourcesRowset ISourcesRowset;
  241. #endif     /* __ISourcesRowset_FWD_DEFINED__ */
  242.  
  243.  
  244. #ifndef __IDBProperties_FWD_DEFINED__
  245. #define __IDBProperties_FWD_DEFINED__
  246. typedef interface IDBProperties IDBProperties;
  247. #endif     /* __IDBProperties_FWD_DEFINED__ */
  248.  
  249.  
  250. #ifndef __IDBInitialize_FWD_DEFINED__
  251. #define __IDBInitialize_FWD_DEFINED__
  252. typedef interface IDBInitialize IDBInitialize;
  253. #endif     /* __IDBInitialize_FWD_DEFINED__ */
  254.  
  255.  
  256. #ifndef __IDBInfo_FWD_DEFINED__
  257. #define __IDBInfo_FWD_DEFINED__
  258. typedef interface IDBInfo IDBInfo;
  259. #endif     /* __IDBInfo_FWD_DEFINED__ */
  260.  
  261.  
  262. #ifndef __IDBDataSourceAdmin_FWD_DEFINED__
  263. #define __IDBDataSourceAdmin_FWD_DEFINED__
  264. typedef interface IDBDataSourceAdmin IDBDataSourceAdmin;
  265. #endif     /* __IDBDataSourceAdmin_FWD_DEFINED__ */
  266.  
  267.  
  268. #ifndef __IDBAsynchNotify_FWD_DEFINED__
  269. #define __IDBAsynchNotify_FWD_DEFINED__
  270. typedef interface IDBAsynchNotify IDBAsynchNotify;
  271. #endif     /* __IDBAsynchNotify_FWD_DEFINED__ */
  272.  
  273.  
  274. #ifndef __IDBAsynchStatus_FWD_DEFINED__
  275. #define __IDBAsynchStatus_FWD_DEFINED__
  276. typedef interface IDBAsynchStatus IDBAsynchStatus;
  277. #endif     /* __IDBAsynchStatus_FWD_DEFINED__ */
  278.  
  279.  
  280. #ifndef __ISessionProperties_FWD_DEFINED__
  281. #define __ISessionProperties_FWD_DEFINED__
  282. typedef interface ISessionProperties ISessionProperties;
  283. #endif     /* __ISessionProperties_FWD_DEFINED__ */
  284.  
  285.  
  286. #ifndef __IIndexDefinition_FWD_DEFINED__
  287. #define __IIndexDefinition_FWD_DEFINED__
  288. typedef interface IIndexDefinition IIndexDefinition;
  289. #endif     /* __IIndexDefinition_FWD_DEFINED__ */
  290.  
  291.  
  292. #ifndef __ITableDefinition_FWD_DEFINED__
  293. #define __ITableDefinition_FWD_DEFINED__
  294. typedef interface ITableDefinition ITableDefinition;
  295. #endif     /* __ITableDefinition_FWD_DEFINED__ */
  296.  
  297.  
  298. #ifndef __IOpenRowset_FWD_DEFINED__
  299. #define __IOpenRowset_FWD_DEFINED__
  300. typedef interface IOpenRowset IOpenRowset;
  301. #endif     /* __IOpenRowset_FWD_DEFINED__ */
  302.  
  303.  
  304. #ifndef __IDBSchemaRowset_FWD_DEFINED__
  305. #define __IDBSchemaRowset_FWD_DEFINED__
  306. typedef interface IDBSchemaRowset IDBSchemaRowset;
  307. #endif     /* __IDBSchemaRowset_FWD_DEFINED__ */
  308.  
  309.  
  310. #ifndef __IMDDataset_FWD_DEFINED__
  311. #define __IMDDataset_FWD_DEFINED__
  312. typedef interface IMDDataset IMDDataset;
  313. #endif     /* __IMDDataset_FWD_DEFINED__ */
  314.  
  315.  
  316. #ifndef __IMDFind_FWD_DEFINED__
  317. #define __IMDFind_FWD_DEFINED__
  318. typedef interface IMDFind IMDFind;
  319. #endif     /* __IMDFind_FWD_DEFINED__ */
  320.  
  321.  
  322. #ifndef __IMDRangeRowset_FWD_DEFINED__
  323. #define __IMDRangeRowset_FWD_DEFINED__
  324. typedef interface IMDRangeRowset IMDRangeRowset;
  325. #endif     /* __IMDRangeRowset_FWD_DEFINED__ */
  326.  
  327.  
  328. #ifndef __IAlterTable_FWD_DEFINED__
  329. #define __IAlterTable_FWD_DEFINED__
  330. typedef interface IAlterTable IAlterTable;
  331. #endif     /* __IAlterTable_FWD_DEFINED__ */
  332.  
  333.  
  334. #ifndef __IAlterIndex_FWD_DEFINED__
  335. #define __IAlterIndex_FWD_DEFINED__
  336. typedef interface IAlterIndex IAlterIndex;
  337. #endif     /* __IAlterIndex_FWD_DEFINED__ */
  338.  
  339.  
  340. #ifndef __IRowsetChapterMember_FWD_DEFINED__
  341. #define __IRowsetChapterMember_FWD_DEFINED__
  342. typedef interface IRowsetChapterMember IRowsetChapterMember;
  343. #endif     /* __IRowsetChapterMember_FWD_DEFINED__ */
  344.  
  345.  
  346. #ifndef __ICommandPersist_FWD_DEFINED__
  347. #define __ICommandPersist_FWD_DEFINED__
  348. typedef interface ICommandPersist ICommandPersist;
  349. #endif     /* __ICommandPersist_FWD_DEFINED__ */
  350.  
  351.  
  352. #ifndef __IRowsetRefresh_FWD_DEFINED__
  353. #define __IRowsetRefresh_FWD_DEFINED__
  354. typedef interface IRowsetRefresh IRowsetRefresh;
  355. #endif     /* __IRowsetRefresh_FWD_DEFINED__ */
  356.  
  357.  
  358. #ifndef __IParentRowset_FWD_DEFINED__
  359. #define __IParentRowset_FWD_DEFINED__
  360. typedef interface IParentRowset IParentRowset;
  361. #endif     /* __IParentRowset_FWD_DEFINED__ */
  362.  
  363.  
  364. #ifndef __IErrorRecords_FWD_DEFINED__
  365. #define __IErrorRecords_FWD_DEFINED__
  366. typedef interface IErrorRecords IErrorRecords;
  367. #endif     /* __IErrorRecords_FWD_DEFINED__ */
  368.  
  369.  
  370. #ifndef __IErrorLookup_FWD_DEFINED__
  371. #define __IErrorLookup_FWD_DEFINED__
  372. typedef interface IErrorLookup IErrorLookup;
  373. #endif     /* __IErrorLookup_FWD_DEFINED__ */
  374.  
  375.  
  376. #ifndef __ISQLErrorInfo_FWD_DEFINED__
  377. #define __ISQLErrorInfo_FWD_DEFINED__
  378. typedef interface ISQLErrorInfo ISQLErrorInfo;
  379. #endif     /* __ISQLErrorInfo_FWD_DEFINED__ */
  380.  
  381.  
  382. #ifndef __IGetDataSource_FWD_DEFINED__
  383. #define __IGetDataSource_FWD_DEFINED__
  384. typedef interface IGetDataSource IGetDataSource;
  385. #endif     /* __IGetDataSource_FWD_DEFINED__ */
  386.  
  387.  
  388. #ifndef __ITransactionLocal_FWD_DEFINED__
  389. #define __ITransactionLocal_FWD_DEFINED__
  390. typedef interface ITransactionLocal ITransactionLocal;
  391. #endif     /* __ITransactionLocal_FWD_DEFINED__ */
  392.  
  393.  
  394. #ifndef __ITransactionJoin_FWD_DEFINED__
  395. #define __ITransactionJoin_FWD_DEFINED__
  396. typedef interface ITransactionJoin ITransactionJoin;
  397. #endif     /* __ITransactionJoin_FWD_DEFINED__ */
  398.  
  399.  
  400. #ifndef __ITransactionObject_FWD_DEFINED__
  401. #define __ITransactionObject_FWD_DEFINED__
  402. typedef interface ITransactionObject ITransactionObject;
  403. #endif     /* __ITransactionObject_FWD_DEFINED__ */
  404.  
  405.  
  406. #ifndef __ITrusteeAdmin_FWD_DEFINED__
  407. #define __ITrusteeAdmin_FWD_DEFINED__
  408. typedef interface ITrusteeAdmin ITrusteeAdmin;
  409. #endif     /* __ITrusteeAdmin_FWD_DEFINED__ */
  410.  
  411.  
  412. #ifndef __ITrusteeGroupAdmin_FWD_DEFINED__
  413. #define __ITrusteeGroupAdmin_FWD_DEFINED__
  414. typedef interface ITrusteeGroupAdmin ITrusteeGroupAdmin;
  415. #endif     /* __ITrusteeGroupAdmin_FWD_DEFINED__ */
  416.  
  417.  
  418. #ifndef __IObjectAccessControl_FWD_DEFINED__
  419. #define __IObjectAccessControl_FWD_DEFINED__
  420. typedef interface IObjectAccessControl IObjectAccessControl;
  421. #endif     /* __IObjectAccessControl_FWD_DEFINED__ */
  422.  
  423.  
  424. #ifndef __ISecurityInfo_FWD_DEFINED__
  425. #define __ISecurityInfo_FWD_DEFINED__
  426. typedef interface ISecurityInfo ISecurityInfo;
  427. #endif     /* __ISecurityInfo_FWD_DEFINED__ */
  428.  
  429.  
  430. #ifndef __ITableCreation_FWD_DEFINED__
  431. #define __ITableCreation_FWD_DEFINED__
  432. typedef interface ITableCreation ITableCreation;
  433. #endif     /* __ITableCreation_FWD_DEFINED__ */
  434.  
  435.  
  436. #ifndef __ITableDefinitionWithConstraints_FWD_DEFINED__
  437. #define __ITableDefinitionWithConstraints_FWD_DEFINED__
  438. typedef interface ITableDefinitionWithConstraints ITableDefinitionWithConstraints;
  439. #endif     /* __ITableDefinitionWithConstraints_FWD_DEFINED__ */
  440.  
  441.  
  442. #ifndef __IRow_FWD_DEFINED__
  443. #define __IRow_FWD_DEFINED__
  444. typedef interface IRow IRow;
  445. #endif     /* __IRow_FWD_DEFINED__ */
  446.  
  447.  
  448. #ifndef __IRowChange_FWD_DEFINED__
  449. #define __IRowChange_FWD_DEFINED__
  450. typedef interface IRowChange IRowChange;
  451. #endif     /* __IRowChange_FWD_DEFINED__ */
  452.  
  453.  
  454. #ifndef __IRowSchemaChange_FWD_DEFINED__
  455. #define __IRowSchemaChange_FWD_DEFINED__
  456. typedef interface IRowSchemaChange IRowSchemaChange;
  457. #endif     /* __IRowSchemaChange_FWD_DEFINED__ */
  458.  
  459.  
  460. #ifndef __IGetRow_FWD_DEFINED__
  461. #define __IGetRow_FWD_DEFINED__
  462. typedef interface IGetRow IGetRow;
  463. #endif     /* __IGetRow_FWD_DEFINED__ */
  464.  
  465.  
  466. #ifndef __IBindResource_FWD_DEFINED__
  467. #define __IBindResource_FWD_DEFINED__
  468. typedef interface IBindResource IBindResource;
  469. #endif     /* __IBindResource_FWD_DEFINED__ */
  470.  
  471.  
  472. #ifndef __IScopedOperations_FWD_DEFINED__
  473. #define __IScopedOperations_FWD_DEFINED__
  474. typedef interface IScopedOperations IScopedOperations;
  475. #endif     /* __IScopedOperations_FWD_DEFINED__ */
  476.  
  477.  
  478. #ifndef __ICreateRow_FWD_DEFINED__
  479. #define __ICreateRow_FWD_DEFINED__
  480. typedef interface ICreateRow ICreateRow;
  481. #endif     /* __ICreateRow_FWD_DEFINED__ */
  482.  
  483.  
  484. #ifndef __IDBBinderProperties_FWD_DEFINED__
  485. #define __IDBBinderProperties_FWD_DEFINED__
  486. typedef interface IDBBinderProperties IDBBinderProperties;
  487. #endif     /* __IDBBinderProperties_FWD_DEFINED__ */
  488.  
  489.  
  490. #ifndef __IColumnsInfo2_FWD_DEFINED__
  491. #define __IColumnsInfo2_FWD_DEFINED__
  492. typedef interface IColumnsInfo2 IColumnsInfo2;
  493. #endif     /* __IColumnsInfo2_FWD_DEFINED__ */
  494.  
  495.  
  496. #ifndef __IRegisterProvider_FWD_DEFINED__
  497. #define __IRegisterProvider_FWD_DEFINED__
  498. typedef interface IRegisterProvider IRegisterProvider;
  499. #endif     /* __IRegisterProvider_FWD_DEFINED__ */
  500.  
  501.  
  502. #ifndef __IGetSession_FWD_DEFINED__
  503. #define __IGetSession_FWD_DEFINED__
  504. typedef interface IGetSession IGetSession;
  505. #endif     /* __IGetSession_FWD_DEFINED__ */
  506.  
  507.  
  508. #ifndef __IGetSourceRow_FWD_DEFINED__
  509. #define __IGetSourceRow_FWD_DEFINED__
  510. typedef interface IGetSourceRow IGetSourceRow;
  511. #endif     /* __IGetSourceRow_FWD_DEFINED__ */
  512.  
  513.  
  514. #ifndef __IRowsetCurrentIndex_FWD_DEFINED__
  515. #define __IRowsetCurrentIndex_FWD_DEFINED__
  516. typedef interface IRowsetCurrentIndex IRowsetCurrentIndex;
  517. #endif     /* __IRowsetCurrentIndex_FWD_DEFINED__ */
  518.  
  519.  
  520. /* header files for imported files */
  521. #include "wtypes.h"
  522. #include "oaidl.h"
  523. #include "ocidl.h"
  524. #include "propidl.h"
  525. #include "transact.h"
  526.  
  527. #ifdef __cplusplus
  528. extern "C"{
  529. #endif 
  530.  
  531. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  532. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  533.  
  534. /* interface __MIDL_itf_oledb_0000 */
  535. /* [local] */ 
  536.  
  537. //+---------------------------------------------------------------------------
  538. //
  539. //  Microsoft OLE DB
  540. //  Copyright (C) Microsoft Corporation, 1994 - 1999.
  541. //
  542. //----------------------------------------------------------------------------
  543.  
  544. #ifdef _WIN64
  545. #include <pshpack8.h>    // 8-byte structure packing
  546. #else
  547. #include <pshpack2.h>    // 2-byte structure packing
  548. #endif
  549.  
  550. #endif // GUID_DEFS_ONLY
  551.  
  552. //
  553. // OLEDBVER
  554. //    OLE DB version number is 2.5 (0x0250); to force a particular version,
  555. //    #define OLEDBVER as required before including this file.
  556. //
  557.  
  558. // If OLEDBVER is not defined, assume version 2.5
  559. #ifndef OLEDBVER
  560. #define OLEDBVER 0x0250
  561. #endif
  562.  
  563. #ifndef GUID_DEFS_ONLY
  564.  
  565. #ifdef _WIN64
  566.  
  567. // Length of a non-character object, size
  568. typedef ULONGLONG            DBLENGTH;
  569.  
  570. // Offset within a rowset
  571. typedef LONGLONG                DBROWOFFSET;
  572.  
  573. // Number of rows
  574. typedef LONGLONG                DBROWCOUNT;
  575.  
  576. typedef ULONGLONG            DBCOUNTITEM;
  577.  
  578. // Ordinal (column number, etc.)
  579. typedef ULONGLONG            DBORDINAL;
  580.  
  581. typedef LONGLONG                DB_LORDINAL;
  582.  
  583. // Bookmarks
  584. typedef ULONGLONG            DBBKMARK;
  585. // Offset in the buffer
  586.  
  587. typedef ULONGLONG            DBBYTEOFFSET;
  588. // Reference count of each row/accessor  handle
  589.  
  590. typedef ULONG                DBREFCOUNT;
  591.  
  592. // Parameters
  593. typedef ULONGLONG            DB_UPARAMS;
  594.  
  595. typedef LONGLONG                DB_LPARAMS;
  596.  
  597. // hash values corresponding to the elements (bookmarks)
  598. typedef DWORDLONG            DBHASHVALUE;
  599.  
  600. // For reserve
  601. typedef DWORDLONG            DB_DWRESERVE;
  602.  
  603. typedef LONGLONG                DB_LRESERVE;
  604.  
  605. typedef ULONGLONG            DB_URESERVE;
  606.  
  607. #else
  608.  
  609. // Length of a non-character object, size
  610. typedef ULONG DBLENGTH;
  611.  
  612. // Offset within a rowset
  613. typedef LONG DBROWOFFSET;
  614.  
  615. // Number of rows
  616. typedef LONG DBROWCOUNT;
  617.  
  618. typedef ULONG DBCOUNTITEM;
  619.  
  620. // Ordinal (column number, etc.)
  621. typedef ULONG DBORDINAL;
  622.  
  623. typedef LONG DB_LORDINAL;
  624.  
  625. // Bookmarks
  626. typedef ULONG DBBKMARK;
  627.  
  628. // Offset in the buffer
  629. typedef ULONG DBBYTEOFFSET;
  630.  
  631. // Reference count of each row handle
  632. typedef ULONG DBREFCOUNT;
  633.  
  634. // Parameters
  635. typedef ULONG DB_UPARAMS;
  636.  
  637. typedef LONG DB_LPARAMS;
  638.  
  639. // hash values corresponding to the elements (bookmarks)
  640. typedef DWORD DBHASHVALUE;
  641.  
  642. // For reserve
  643. typedef DWORD DB_DWRESERVE;
  644.  
  645. typedef LONG DB_LRESERVE;
  646.  
  647. typedef ULONG DB_URESERVE;
  648.  
  649. #endif    // _WIN64
  650.  
  651. #endif // GUID_DEFS_ONLY
  652.  
  653.  
  654. extern RPC_IF_HANDLE __MIDL_itf_oledb_0000_v0_0_c_ifspec;
  655. extern RPC_IF_HANDLE __MIDL_itf_oledb_0000_v0_0_s_ifspec;
  656.  
  657. #ifndef __DBStructureDefinitions_INTERFACE_DEFINED__
  658. #define __DBStructureDefinitions_INTERFACE_DEFINED__
  659.  
  660. /* interface DBStructureDefinitions */
  661. /* [auto_handle][unique][uuid] */ 
  662.  
  663. #ifndef UNALIGNED
  664. #if defined(_MIPS_) || defined(_ALPHA_) || defined(_PPC_)
  665. #define UNALIGNED __unaligned
  666. #else
  667. #define UNALIGNED
  668. #endif
  669. #endif //UNALIGNED
  670. #undef OLEDBDECLSPEC
  671. #if _MSC_VER >= 1100
  672. #define OLEDBDECLSPEC __declspec(selectany)
  673. #else
  674. #define OLEDBDECLSPEC 
  675. #endif //_MSC_VER
  676. typedef DWORD DBKIND;
  677.  
  678.  
  679. enum DBKINDENUM
  680.     {    DBKIND_GUID_NAME    = 0,
  681.     DBKIND_GUID_PROPID    = DBKIND_GUID_NAME + 1,
  682.     DBKIND_NAME    = DBKIND_GUID_PROPID + 1,
  683.     DBKIND_PGUID_NAME    = DBKIND_NAME + 1,
  684.     DBKIND_PGUID_PROPID    = DBKIND_PGUID_NAME + 1,
  685.     DBKIND_PROPID    = DBKIND_PGUID_PROPID + 1,
  686.     DBKIND_GUID    = DBKIND_PROPID + 1
  687.     };
  688. typedef struct tagDBID
  689.     {
  690.     /* [switch_is][switch_type] */ union 
  691.         {
  692.         /* [case()] */ GUID guid;
  693.         /* [case()] */ GUID __RPC_FAR *pguid;
  694.         /* [default] */  /* Empty union arm */ 
  695.         }    uGuid;
  696.     DBKIND eKind;
  697.     /* [switch_is][switch_type] */ union 
  698.         {
  699.         /* [case()] */ LPOLESTR pwszName;
  700.         /* [case()] */ ULONG ulPropid;
  701.         /* [default] */  /* Empty union arm */ 
  702.         }    uName;
  703.     }    DBID;
  704.  
  705. typedef struct tagDB_NUMERIC
  706.     {
  707.     BYTE precision;
  708.     BYTE scale;
  709.     BYTE sign;
  710.     BYTE val[ 16 ];
  711.     }    DB_NUMERIC;
  712.  
  713. #ifndef GUID_DEFS_ONLY
  714.  
  715. #ifndef _ULONGLONG_
  716. typedef hyper LONGLONG;
  717.  
  718. typedef MIDL_uhyper ULONGLONG;
  719.  
  720. typedef LONGLONG __RPC_FAR *PLONGLONG;
  721.  
  722. typedef ULONGLONG __RPC_FAR *PULONGLONG;
  723.  
  724. #endif // _ULONGLONG_
  725. #ifndef DECIMAL_NEG
  726. #ifndef DECIMAL_SETZERO
  727. typedef struct tagDEC {
  728.     USHORT wReserved;
  729.     union {
  730.         struct {
  731.             BYTE scale;
  732.             BYTE sign;
  733.         };
  734.         USHORT signscale;
  735.     };
  736.     ULONG Hi32;
  737.     union {
  738.         struct {
  739. #ifdef _MAC
  740.             ULONG Mid32;
  741.             ULONG Lo32;
  742. #else
  743.             ULONG Lo32;
  744.             ULONG Mid32;
  745. #endif
  746.         };
  747.         ULONGLONG Lo64;
  748.     };
  749. } DECIMAL;
  750. #define DECIMAL_NEG ((BYTE)0x80)
  751. #define DECIMAL_SETZERO(dec) {(dec).Lo64 = 0; (dec).Hi32 = 0; (dec).signscale = 0;}
  752. #endif // DECIMAL_SETZERO
  753. #endif // DECIMAL_NEG
  754. typedef struct tagDBVECTOR
  755.     {
  756.     DBLENGTH size;
  757.     /* [size_is] */ void __RPC_FAR *ptr;
  758.     }    DBVECTOR;
  759.  
  760. typedef struct tagDBDATE
  761.     {
  762.     SHORT year;
  763.     USHORT month;
  764.     USHORT day;
  765.     }    DBDATE;
  766.  
  767. typedef struct tagDBTIME
  768.     {
  769.     USHORT hour;
  770.     USHORT minute;
  771.     USHORT second;
  772.     }    DBTIME;
  773.  
  774. typedef struct tagDBTIMESTAMP
  775.     {
  776.     SHORT year;
  777.     USHORT month;
  778.     USHORT day;
  779.     USHORT hour;
  780.     USHORT minute;
  781.     USHORT second;
  782.     ULONG fraction;
  783.     }    DBTIMESTAMP;
  784.  
  785. //@@@+ V2.0
  786. #if( OLEDBVER >= 0x0200 )
  787. #if !defined(_WINBASE_) && !defined(_FILETIME_)
  788. #define _FILETIME_
  789. typedef struct _FILETIME {
  790.         DWORD dwLowDateTime;
  791.         DWORD dwHighDateTime;
  792.      }    FILETIME;
  793. #endif // !_FILETIME
  794. #ifdef __BORLANDC__  /* This was removed by MS for some reason */
  795. typedef struct  tagDBFILETIME     {
  796.     DWORD dwLowDateTime;
  797.     DWORD dwHighDateTime;
  798.     }    DBFILETIME;
  799. #endif
  800. typedef signed char SBYTE;
  801.  
  802. typedef struct tagDB_VARNUMERIC
  803.     {
  804.     BYTE precision;
  805.     SBYTE scale;
  806.     BYTE sign;
  807.     BYTE val[ 1 ];
  808.     }    DB_VARNUMERIC;
  809.  
  810. #endif // OLEDBVER >= 0x0200
  811. //@@@- V2.0
  812. //@@@+ V2.1
  813. #if( OLEDBVER >= 0x0210 )
  814. typedef struct _SEC_OBJECT_ELEMENT
  815.     {
  816.     GUID guidObjectType;
  817.     DBID ObjectID;
  818.     }    SEC_OBJECT_ELEMENT;
  819.  
  820. typedef struct _SEC_OBJECT
  821.     {
  822.     DWORD cObjects;
  823.     /* [size_is] */ SEC_OBJECT_ELEMENT __RPC_FAR *prgObjects;
  824.     }    SEC_OBJECT;
  825.  
  826. typedef struct tagDBIMPLICITSESSION
  827.     {
  828.     IUnknown __RPC_FAR *pUnkOuter;
  829.     IID __RPC_FAR *piid;
  830.     IUnknown __RPC_FAR *pSession;
  831.     }    DBIMPLICITSESSION;
  832.  
  833. #endif // OLEDBVER >= 0x0210
  834. //@@@- V2.1
  835. typedef WORD DBTYPE;
  836.  
  837.  
  838. enum DBTYPEENUM
  839.     {    DBTYPE_EMPTY    = 0,
  840.     DBTYPE_NULL    = 1,
  841.     DBTYPE_I2    = 2,
  842.     DBTYPE_I4    = 3,
  843.     DBTYPE_R4    = 4,
  844.     DBTYPE_R8    = 5,
  845.     DBTYPE_CY    = 6,
  846.     DBTYPE_DATE    = 7,
  847.     DBTYPE_BSTR    = 8,
  848.     DBTYPE_IDISPATCH    = 9,
  849.     DBTYPE_ERROR    = 10,
  850.     DBTYPE_BOOL    = 11,
  851.     DBTYPE_VARIANT    = 12,
  852.     DBTYPE_IUNKNOWN    = 13,
  853.     DBTYPE_DECIMAL    = 14,
  854.     DBTYPE_UI1    = 17,
  855.     DBTYPE_ARRAY    = 0x2000,
  856.     DBTYPE_BYREF    = 0x4000,
  857.     DBTYPE_I1    = 16,
  858.     DBTYPE_UI2    = 18,
  859.     DBTYPE_UI4    = 19,
  860.     DBTYPE_I8    = 20,
  861.     DBTYPE_UI8    = 21,
  862.     DBTYPE_GUID    = 72,
  863.     DBTYPE_VECTOR    = 0x1000,
  864.     DBTYPE_RESERVED    = 0x8000,
  865.     DBTYPE_BYTES    = 128,
  866.     DBTYPE_STR    = 129,
  867.     DBTYPE_WSTR    = 130,
  868.     DBTYPE_NUMERIC    = 131,
  869.     DBTYPE_UDT    = 132,
  870.     DBTYPE_DBDATE    = 133,
  871.     DBTYPE_DBTIME    = 134,
  872.     DBTYPE_DBTIMESTAMP    = 135
  873.     };
  874. //@@@+ V1.5
  875. #if( OLEDBVER >= 0x0150 )
  876.  
  877. enum DBTYPEENUM15
  878.     {    DBTYPE_HCHAPTER    = 136
  879.     };
  880. #endif // OLEDBVER >= 0x0150
  881. //@@@- V1.5
  882. //@@@+ V2.0
  883. #if( OLEDBVER >= 0x0200 )
  884.  
  885. enum DBTYPEENUM20
  886.     {    DBTYPE_FILETIME    = 64,
  887. #ifdef __BORLANDC__  /* This was removed by MS for some reason */
  888.     DBTYPE_DBFILETIME = 137,
  889. #endif
  890.     DBTYPE_PROPVARIANT    = 138,
  891.     DBTYPE_VARNUMERIC    = 139
  892.     };
  893. #endif // OLEDBVER >= 0x0200
  894. //@@@- V2.0
  895. typedef DWORD DBPART;
  896.  
  897.  
  898. enum DBPARTENUM
  899.     {    DBPART_INVALID    = 0,
  900.     DBPART_VALUE    = 0x1,
  901.     DBPART_LENGTH    = 0x2,
  902.     DBPART_STATUS    = 0x4
  903.     };
  904. typedef DWORD DBPARAMIO;
  905.  
  906.  
  907. enum DBPARAMIOENUM
  908.     {    DBPARAMIO_NOTPARAM    = 0,
  909.     DBPARAMIO_INPUT    = 0x1,
  910.     DBPARAMIO_OUTPUT    = 0x2
  911.     };
  912. //@@@+ V1.5
  913. #if( OLEDBVER >= 0x0150 )
  914. typedef DWORD DBBINDFLAG;
  915.  
  916.  
  917. enum DBBINDFLAGENUM
  918.     {    DBBINDFLAG_HTML    = 0x1
  919.     };
  920. #endif // OLEDBVER >= 0x0150
  921. //@@@- V1.5
  922. typedef DWORD DBMEMOWNER;
  923.  
  924.  
  925. enum DBMEMOWNERENUM
  926.     {    DBMEMOWNER_CLIENTOWNED    = 0,
  927.     DBMEMOWNER_PROVIDEROWNED    = 0x1
  928.     };
  929. typedef struct tagDBOBJECT
  930.     {
  931.     DWORD dwFlags;
  932.     IID iid;
  933.     }    DBOBJECT;
  934.  
  935. typedef DWORD DBSTATUS;
  936.  
  937.  
  938. enum DBSTATUSENUM
  939.     {    DBSTATUS_S_OK    = 0,
  940.     DBSTATUS_E_BADACCESSOR    = 1,
  941.     DBSTATUS_E_CANTCONVERTVALUE    = 2,
  942.     DBSTATUS_S_ISNULL    = 3,
  943.     DBSTATUS_S_TRUNCATED    = 4,
  944.     DBSTATUS_E_SIGNMISMATCH    = 5,
  945.     DBSTATUS_E_DATAOVERFLOW    = 6,
  946.     DBSTATUS_E_CANTCREATE    = 7,
  947.     DBSTATUS_E_UNAVAILABLE    = 8,
  948.     DBSTATUS_E_PERMISSIONDENIED    = 9,
  949.     DBSTATUS_E_INTEGRITYVIOLATION    = 10,
  950.     DBSTATUS_E_SCHEMAVIOLATION    = 11,
  951.     DBSTATUS_E_BADSTATUS    = 12,
  952.     DBSTATUS_S_DEFAULT    = 13
  953.     };
  954. //@@@+ V2.0
  955. #if( OLEDBVER >= 0x0200 )
  956.  
  957. enum DBSTATUSENUM20
  958.     {    MDSTATUS_S_CELLEMPTY    = 14,
  959.     DBSTATUS_S_IGNORE    = 15
  960.     };
  961. #endif // OLEDBVER >= 0x0200
  962. //@@@- V2.0
  963. //@@@+ V2.1
  964. #if( OLEDBVER >= 0x0210 )
  965.  
  966. enum DBSTATUSENUM21
  967.     {    DBSTATUS_E_DOESNOTEXIST    = 16,
  968.     DBSTATUS_E_INVALIDURL    = 17,
  969.     DBSTATUS_E_RESOURCELOCKED    = 18,
  970.     DBSTATUS_E_RESOURCEEXISTS    = 19,
  971.     DBSTATUS_E_CANNOTCOMPLETE    = 20,
  972.     DBSTATUS_E_VOLUMENOTFOUND    = 21,
  973.     DBSTATUS_E_OUTOFSPACE    = 22,
  974.     DBSTATUS_S_CANNOTDELETESOURCE    = 23,
  975.     DBSTATUS_E_READONLY    = 24,
  976.     DBSTATUS_E_RESOURCEOUTOFSCOPE    = 25,
  977.     DBSTATUS_S_ALREADYEXISTS    = 26
  978.     };
  979. typedef DWORD DBBINDURLFLAG;
  980.  
  981.  
  982. enum DBBINDURLFLAGENUM
  983.     {    DBBINDURLFLAG_READ    = 0x1L,
  984.     DBBINDURLFLAG_WRITE    = 0x2L,
  985.     DBBINDURLFLAG_READWRITE    = 0x3L,
  986.     DBBINDURLFLAG_SHARE_DENY_READ    = 0x4L,
  987.     DBBINDURLFLAG_SHARE_DENY_WRITE    = 0x8L,
  988.     DBBINDURLFLAG_SHARE_EXCLUSIVE    = 0xcL,
  989.     DBBINDURLFLAG_SHARE_DENY_NONE    = 0x10L,
  990.     DBBINDURLFLAG_ASYNCHRONOUS    = 0x1000L,
  991.     DBBINDURLFLAG_COLLECTION    = 0x2000L,
  992.     DBBINDURLFLAG_DELAYFETCHSTREAM    = 0x4000L,
  993.     DBBINDURLFLAG_DELAYFETCHCOLUMNS    = 0x8000L,
  994.     DBBINDURLFLAG_RECURSIVE    = 0x400000L,
  995.     DBBINDURLFLAG_OUTPUT    = 0x800000L,
  996.     DBBINDURLFLAG_WAITFORINIT    = 0x1000000L,
  997.     DBBINDURLFLAG_OPENIFEXISTS    = 0x2000000L,
  998.     DBBINDURLFLAG_OVERWRITE    = 0x4000000L,
  999.     DBBINDURLFLAG_ISSTRUCTUREDDOCUMENT    = 0x8000000L
  1000.     };
  1001. typedef DWORD DBBINDURLSTATUS;
  1002.  
  1003.  
  1004. enum DBBINDURLSTATUSENUM
  1005.     {    DBBINDURLSTATUS_S_OK    = 0L,
  1006.     DBBINDURLSTATUS_S_DENYNOTSUPPORTED    = 0x1L,
  1007.     DBBINDURLSTATUS_S_DENYTYPENOTSUPPORTED    = 0x4L,
  1008.     DBBINDURLSTATUS_S_REDIRECTED    = 0x8L
  1009.     };
  1010. #endif // OLEDBVER >= 0x0210
  1011. //@@@- V2.1
  1012. //@@@+ V2.5
  1013. #if( OLEDBVER >= 0x0250 )
  1014.  
  1015. enum DBSTATUSENUM25
  1016.     {    DBSTATUS_E_CANCELED    = 27,
  1017.     DBSTATUS_E_NOTCOLLECTION    = 28
  1018.     };
  1019. #endif // OLEDBVER >= 0x0250
  1020. //@@@- V2.5
  1021. typedef struct tagDBBINDEXT
  1022.     {
  1023.     /* [size_is] */ BYTE __RPC_FAR *pExtension;
  1024.     DBCOUNTITEM ulExtension;
  1025.     }    DBBINDEXT;
  1026.  
  1027. typedef struct tagDBBINDING
  1028.     {
  1029.     DBORDINAL iOrdinal;
  1030.     DBBYTEOFFSET obValue;
  1031.     DBBYTEOFFSET obLength;
  1032.     DBBYTEOFFSET obStatus;
  1033.     ITypeInfo __RPC_FAR *pTypeInfo;
  1034.     DBOBJECT __RPC_FAR *pObject;
  1035.     DBBINDEXT __RPC_FAR *pBindExt;
  1036.     DBPART dwPart;
  1037.     DBMEMOWNER dwMemOwner;
  1038.     DBPARAMIO eParamIO;
  1039.     DBLENGTH cbMaxLen;
  1040.     DWORD dwFlags;
  1041.     DBTYPE wType;
  1042.     BYTE bPrecision;
  1043.     BYTE bScale;
  1044.     }    DBBINDING;
  1045.  
  1046. typedef DWORD DBROWSTATUS;
  1047.  
  1048.  
  1049. enum DBROWSTATUSENUM
  1050.     {    DBROWSTATUS_S_OK    = 0,
  1051.     DBROWSTATUS_S_MULTIPLECHANGES    = 2,
  1052.     DBROWSTATUS_S_PENDINGCHANGES    = 3,
  1053.     DBROWSTATUS_E_CANCELED    = 4,
  1054.     DBROWSTATUS_E_CANTRELEASE    = 6,
  1055.     DBROWSTATUS_E_CONCURRENCYVIOLATION    = 7,
  1056.     DBROWSTATUS_E_DELETED    = 8,
  1057.     DBROWSTATUS_E_PENDINGINSERT    = 9,
  1058.     DBROWSTATUS_E_NEWLYINSERTED    = 10,
  1059.     DBROWSTATUS_E_INTEGRITYVIOLATION    = 11,
  1060.     DBROWSTATUS_E_INVALID    = 12,
  1061.     DBROWSTATUS_E_MAXPENDCHANGESEXCEEDED    = 13,
  1062.     DBROWSTATUS_E_OBJECTOPEN    = 14,
  1063.     DBROWSTATUS_E_OUTOFMEMORY    = 15,
  1064.     DBROWSTATUS_E_PERMISSIONDENIED    = 16,
  1065.     DBROWSTATUS_E_LIMITREACHED    = 17,
  1066.     DBROWSTATUS_E_SCHEMAVIOLATION    = 18,
  1067.     DBROWSTATUS_E_FAIL    = 19
  1068.     };
  1069. //@@@+ V2.0
  1070. #if( OLEDBVER >= 0x0200 )
  1071.  
  1072. enum DBROWSTATUSENUM20
  1073.     {    DBROWSTATUS_S_NOCHANGE    = 20
  1074.     };
  1075. #endif // OLEDBVER >= 0x0200
  1076. //@@@- V2.0
  1077. typedef ULONG_PTR HACCESSOR;
  1078.  
  1079. #define DB_NULL_HACCESSOR 0x00 // deprecated; use DB_INVALID_HACCESSOR instead
  1080. #define DB_INVALID_HACCESSOR 0x00
  1081. typedef ULONG_PTR HROW;
  1082.  
  1083. #define DB_NULL_HROW 0x00
  1084. typedef ULONG_PTR HWATCHREGION;
  1085.  
  1086. #define DBWATCHREGION_NULL NULL
  1087. typedef ULONG_PTR HCHAPTER;
  1088.  
  1089. #define DB_NULL_HCHAPTER 0x00
  1090. #define DB_INVALID_HCHAPTER 0x00    // deprecated; use DB_NULL_HCHAPTER instead
  1091. typedef struct tagDBFAILUREINFO
  1092.     {
  1093.     HROW hRow;
  1094.     DBORDINAL iColumn;
  1095.     HRESULT failure;
  1096.     }    DBFAILUREINFO;
  1097.  
  1098. typedef DWORD DBCOLUMNFLAGS;
  1099.  
  1100.  
  1101. enum DBCOLUMNFLAGSENUM
  1102.     {    DBCOLUMNFLAGS_ISBOOKMARK    = 0x1,
  1103.     DBCOLUMNFLAGS_MAYDEFER    = 0x2,
  1104.     DBCOLUMNFLAGS_WRITE    = 0x4,
  1105.     DBCOLUMNFLAGS_WRITEUNKNOWN    = 0x8,
  1106.     DBCOLUMNFLAGS_ISFIXEDLENGTH    = 0x10,
  1107.     DBCOLUMNFLAGS_ISNULLABLE    = 0x20,
  1108.     DBCOLUMNFLAGS_MAYBENULL    = 0x40,
  1109.     DBCOLUMNFLAGS_ISLONG    = 0x80,
  1110.     DBCOLUMNFLAGS_ISROWID    = 0x100,
  1111.     DBCOLUMNFLAGS_ISROWVER    = 0x200,
  1112.     DBCOLUMNFLAGS_CACHEDEFERRED    = 0x1000
  1113.     };
  1114. //@@@+ V2.0
  1115. #if( OLEDBVER >= 0x0200 )
  1116.  
  1117. enum DBCOLUMNFLAGSENUM20
  1118.     {    DBCOLUMNFLAGS_SCALEISNEGATIVE    = 0x4000,
  1119.     DBCOLUMNFLAGS_RESERVED    = 0x8000
  1120.     };
  1121. #endif // OLEDBVER >= 0x0200
  1122. //@@@- V2.0
  1123. //@@@+ deprecated
  1124. #ifdef deprecated
  1125. //@@@+ V2.0
  1126. #if( OLEDBVER >= 0x0200 )
  1127.  
  1128. enum DBCOLUMNFLAGSDEPRECATED
  1129.     {    DBCOLUMNFLAGS_KEYCOLUMN    = 0x8000
  1130.     };
  1131. #endif // OLEDBVER >= 0x0200
  1132. //@@@- V2.0
  1133. #endif // deprecated
  1134. //@@@- deprecated
  1135. //@@@+ V1.5
  1136. #if( OLEDBVER >= 0x0150 )
  1137.  
  1138. enum DBCOLUMNFLAGS15ENUM
  1139.     {    DBCOLUMNFLAGS_ISCHAPTER    = 0x2000
  1140.     };
  1141. #endif // OLEDBVER >= 0x0150
  1142. //@@@- V1.5
  1143. //@@@+ V2.1
  1144. #if( OLEDBVER >= 0x0210 )
  1145.  
  1146. enum DBCOLUMNFLAGSENUM21
  1147.     {    DBCOLUMNFLAGS_ISROWURL    = 0x10000,
  1148.     DBCOLUMNFLAGS_ISDEFAULTSTREAM    = 0x20000,
  1149.     DBCOLUMNFLAGS_ISCOLLECTION    = 0x40000
  1150.     };
  1151. #endif // OLEDBVER >= 0x0210
  1152. //@@@- V2.1
  1153. typedef struct tagDBCOLUMNINFO
  1154.     {
  1155.     LPOLESTR pwszName;
  1156.     ITypeInfo __RPC_FAR *pTypeInfo;
  1157.     DBORDINAL iOrdinal;
  1158.     DBCOLUMNFLAGS dwFlags;
  1159.     DBLENGTH ulColumnSize;
  1160.     DBTYPE wType;
  1161.     BYTE bPrecision;
  1162.     BYTE bScale;
  1163.     DBID columnid;
  1164.     }    DBCOLUMNINFO;
  1165.  
  1166. typedef 
  1167. enum tagDBBOOKMARK
  1168.     {    DBBMK_INVALID    = 0,
  1169.     DBBMK_FIRST    = DBBMK_INVALID + 1,
  1170.     DBBMK_LAST    = DBBMK_FIRST + 1
  1171.     }    DBBOOKMARK;
  1172.  
  1173. #define STD_BOOKMARKLENGTH 1
  1174. #ifdef __cplusplus
  1175. inline BOOL IsEqualGUIDBase(const GUID &rguid1, const GUID &rguid2)
  1176. { return !memcmp(&(rguid1.Data2), &(rguid2.Data2), sizeof(GUID) - sizeof(rguid1.Data1)); }
  1177. #else // !__cplusplus
  1178. #define IsEqualGuidBase(rguid1, rguid2) (!memcmp(&((rguid1).Data2), &((rguid2).Data2), sizeof(GUID) - sizeof((rguid1).Data1)))
  1179. #endif // __cplusplus
  1180. #ifdef _WIN64
  1181.  
  1182. #define DB_INVALIDCOLUMN _UI64_MAX
  1183.  
  1184. #else
  1185.  
  1186. #define DB_INVALIDCOLUMN ULONG_MAX
  1187.  
  1188. #endif    // _WIN64
  1189.  
  1190. #endif // GUID_DEFS_ONLY
  1191. #define DBCIDGUID   {0x0C733A81L,0x2A1C,0x11CE,{0xAD,0xE5,0x00,0xAA,0x00,0x44,0x77,0x3D}}
  1192. #define DB_NULLGUID {0x00000000L,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}
  1193. #ifdef DBINITCONSTANTS
  1194. extern const OLEDBDECLSPEC DBID DB_NULLID                      = {DB_NULLGUID, 0, (LPOLESTR)0};
  1195. extern const OLEDBDECLSPEC DBID DBCOLUMN_IDNAME                = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)2};
  1196. extern const OLEDBDECLSPEC DBID DBCOLUMN_NAME                  = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)3};
  1197. extern const OLEDBDECLSPEC DBID DBCOLUMN_NUMBER                = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)4};
  1198. extern const OLEDBDECLSPEC DBID DBCOLUMN_TYPE                  = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)5};
  1199. extern const OLEDBDECLSPEC DBID DBCOLUMN_PRECISION             = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)7};
  1200. extern const OLEDBDECLSPEC DBID DBCOLUMN_SCALE                 = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)8};
  1201. extern const OLEDBDECLSPEC DBID DBCOLUMN_FLAGS                 = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)9};
  1202. extern const OLEDBDECLSPEC DBID DBCOLUMN_BASECOLUMNNAME        = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)10};
  1203. extern const OLEDBDECLSPEC DBID DBCOLUMN_BASETABLENAME         = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)11};
  1204. extern const OLEDBDECLSPEC DBID DBCOLUMN_COLLATINGSEQUENCE     = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)12};
  1205. extern const OLEDBDECLSPEC DBID DBCOLUMN_COMPUTEMODE           = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)13};
  1206. extern const OLEDBDECLSPEC DBID DBCOLUMN_DEFAULTVALUE          = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)14};
  1207. extern const OLEDBDECLSPEC DBID DBCOLUMN_DOMAINNAME            = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)15};
  1208. extern const OLEDBDECLSPEC DBID DBCOLUMN_HASDEFAULT            = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)16};
  1209. extern const OLEDBDECLSPEC DBID DBCOLUMN_ISAUTOINCREMENT       = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)17};
  1210. extern const OLEDBDECLSPEC DBID DBCOLUMN_ISCASESENSITIVE       = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)18};
  1211. extern const OLEDBDECLSPEC DBID DBCOLUMN_ISSEARCHABLE          = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)20};
  1212. extern const OLEDBDECLSPEC DBID DBCOLUMN_ISUNIQUE              = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)21};
  1213. extern const OLEDBDECLSPEC DBID DBCOLUMN_BASECATALOGNAME       = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)23};
  1214. extern const OLEDBDECLSPEC DBID DBCOLUMN_BASESCHEMANAME        = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)24};
  1215. extern const OLEDBDECLSPEC DBID DBCOLUMN_GUID                  = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)29};
  1216. extern const OLEDBDECLSPEC DBID DBCOLUMN_PROPID                = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)30};
  1217. extern const OLEDBDECLSPEC DBID DBCOLUMN_TYPEINFO              = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)31};
  1218. extern const OLEDBDECLSPEC DBID DBCOLUMN_DOMAINCATALOG         = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)32};
  1219. extern const OLEDBDECLSPEC DBID DBCOLUMN_DOMAINSCHEMA          = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)33};
  1220. extern const OLEDBDECLSPEC DBID DBCOLUMN_DATETIMEPRECISION     = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)34};
  1221. extern const OLEDBDECLSPEC DBID DBCOLUMN_NUMERICPRECISIONRADIX = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)35};
  1222. extern const OLEDBDECLSPEC DBID DBCOLUMN_OCTETLENGTH           = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)36};
  1223. extern const OLEDBDECLSPEC DBID DBCOLUMN_COLUMNSIZE            = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)37};
  1224. extern const OLEDBDECLSPEC DBID DBCOLUMN_CLSID                 = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)38};
  1225. //@@@+ V1.5
  1226. #if( OLEDBVER >= 0x0150 )
  1227. extern const OLEDBDECLSPEC DBID DBCOLUMN_MAYSORT               = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)39};
  1228. #endif // OLEDBVER >= 0x0150
  1229. //@@@- V1.5
  1230. #else // !DBINITCONSTANTS
  1231. extern const DBID DB_NULLID;
  1232. extern const DBID DBCOLUMN_IDNAME;
  1233. extern const DBID DBCOLUMN_NAME;
  1234. extern const DBID DBCOLUMN_NUMBER;
  1235. extern const DBID DBCOLUMN_TYPE;
  1236. extern const DBID DBCOLUMN_PRECISION;
  1237. extern const DBID DBCOLUMN_SCALE;
  1238. extern const DBID DBCOLUMN_FLAGS;
  1239. extern const DBID DBCOLUMN_BASECOLUMNNAME;
  1240. extern const DBID DBCOLUMN_BASETABLENAME;
  1241. extern const DBID DBCOLUMN_COLLATINGSEQUENCE;
  1242. extern const DBID DBCOLUMN_COMPUTEMODE;
  1243. extern const DBID DBCOLUMN_DEFAULTVALUE;
  1244. extern const DBID DBCOLUMN_DOMAINNAME;
  1245. extern const DBID DBCOLUMN_HASDEFAULT;
  1246. extern const DBID DBCOLUMN_ISAUTOINCREMENT;
  1247. extern const DBID DBCOLUMN_ISCASESENSITIVE;
  1248. extern const DBID DBCOLUMN_ISSEARCHABLE;
  1249. extern const DBID DBCOLUMN_ISUNIQUE;
  1250. extern const DBID DBCOLUMN_BASECATALOGNAME;
  1251. extern const DBID DBCOLUMN_BASESCHEMANAME;
  1252. extern const DBID DBCOLUMN_GUID;
  1253. extern const DBID DBCOLUMN_PROPID;
  1254. extern const DBID DBCOLUMN_TYPEINFO;
  1255. extern const DBID DBCOLUMN_DOMAINCATALOG;
  1256. extern const DBID DBCOLUMN_DOMAINSCHEMA;
  1257. extern const DBID DBCOLUMN_DATETIMEPRECISION;
  1258. extern const DBID DBCOLUMN_NUMERICPRECISIONRADIX;
  1259. extern const DBID DBCOLUMN_OCTETLENGTH;
  1260. extern const DBID DBCOLUMN_COLUMNSIZE;
  1261. extern const DBID DBCOLUMN_CLSID;
  1262. //@@@+ V1.5
  1263. #if( OLEDBVER >= 0x0150 )
  1264. extern const DBID DBCOLUMN_MAYSORT;
  1265. #endif // OLEDBVER >= 0x0150
  1266. //@@@- V1.5
  1267. #endif // DBINITCONSTANTS
  1268. #ifdef DBINITCONSTANTS
  1269. //@@@+ V2.0
  1270. #if( OLEDBVER >= 0x0200 )
  1271. extern const OLEDBDECLSPEC GUID DBSCHEMA_TABLES_INFO                   = {0xc8b522e0,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1272. extern const OLEDBDECLSPEC GUID MDGUID_MDX                             = {0xa07cccd0,0x8148,0x11d0,{0x87,0xbb,0x00,0xc0,0x4f,0xc3,0x39,0x42}};
  1273. extern const OLEDBDECLSPEC GUID DBGUID_MDX                             = {0xa07cccd0,0x8148,0x11d0,{0x87,0xbb,0x00,0xc0,0x4f,0xc3,0x39,0x42}};
  1274. extern const OLEDBDECLSPEC GUID MDSCHEMA_CUBES                         = {0xc8b522d8,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1275. extern const OLEDBDECLSPEC GUID MDSCHEMA_DIMENSIONS                    = {0xc8b522d9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1276. extern const OLEDBDECLSPEC GUID MDSCHEMA_HIERARCHIES                   = {0xc8b522da,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1277. extern const OLEDBDECLSPEC GUID MDSCHEMA_LEVELS                        = {0xc8b522db,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1278. extern const OLEDBDECLSPEC GUID MDSCHEMA_MEASURES                      = {0xc8b522dc,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1279. extern const OLEDBDECLSPEC GUID MDSCHEMA_PROPERTIES                    = {0xc8b522dd,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1280. extern const OLEDBDECLSPEC GUID MDSCHEMA_MEMBERS                       = {0xc8b522de,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1281. extern const OLEDBDECLSPEC DBID DBCOLUMN_BASETABLEVERSION                = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)40};
  1282. extern const OLEDBDECLSPEC DBID DBCOLUMN_KEYCOLUMN                        = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)41};
  1283. #endif // OLEDBVER >= 0x0200
  1284. //@@@- V2.0
  1285. //@@@+ V2.1
  1286. #if( OLEDBVER >= 0x0210 )
  1287. #define DBGUID_ROWURL   {0x0C733AB6L,0x2A1C,0x11CE,{0xAD,0xE5,0x00,0xAA,0x00,0x44,0x77,0x3D}}
  1288. #define DBGUID_ROWDEFAULTSTREAM   {0x0C733AB7L,0x2A1C,0x11CE,{0xAD,0xE5,0x00,0xAA,0x00,0x44,0x77,0x3D}}
  1289. extern const OLEDBDECLSPEC GUID DBPROPSET_TRUSTEE                    = {0xc8b522e1,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1290. extern const OLEDBDECLSPEC GUID DBOBJECT_TABLE                         = {0xc8b522e2,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1291. extern const OLEDBDECLSPEC GUID DBOBJECT_COLUMN                         = {0xc8b522e4,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1292. extern const OLEDBDECLSPEC GUID DBOBJECT_DATABASE                    = {0xc8b522e5,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1293. extern const OLEDBDECLSPEC GUID DBOBJECT_PROCEDURE                     = {0xc8b522e6,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1294. extern const OLEDBDECLSPEC GUID DBOBJECT_VIEW                         = {0xc8b522e7,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1295. extern const OLEDBDECLSPEC GUID DBOBJECT_SCHEMA                        = {0xc8b522e8,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1296. extern const OLEDBDECLSPEC GUID DBOBJECT_DOMAIN                         = {0xc8b522e9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1297. extern const OLEDBDECLSPEC GUID DBOBJECT_COLLATION                     = {0xc8b522ea,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1298. extern const OLEDBDECLSPEC GUID DBOBJECT_TRUSTEE                         = {0xc8b522eb,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1299. extern const OLEDBDECLSPEC GUID DBOBJECT_SCHEMAROWSET                = {0xc8b522ec,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1300. extern const OLEDBDECLSPEC GUID DBOBJECT_CHARACTERSET                 = {0xc8b522ed,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1301. extern const OLEDBDECLSPEC GUID DBOBJECT_TRANSLATION                 = {0xc8b522ee,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1302. extern const OLEDBDECLSPEC GUID DBSCHEMA_TRUSTEE                     = {0xc8b522ef,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1303. extern const OLEDBDECLSPEC GUID DBPROPSET_COLUMNALL                     = {0xc8b522f0,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1304. extern const OLEDBDECLSPEC GUID DBPROPSET_INDEXALL                     = {0xc8b522f1,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1305. extern const OLEDBDECLSPEC GUID DBPROPSET_TABLEALL                     = {0xc8b522f2,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1306. extern const OLEDBDECLSPEC GUID DBPROPSET_TRUSTEEALL                    = {0xc8b522f3,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1307. extern const OLEDBDECLSPEC GUID DBPROPSET_CONSTRAINTALL                = {0xc8b522fa,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1308. extern const OLEDBDECLSPEC GUID DBGUID_DSO                            = {0xc8b522f4,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1309. extern const OLEDBDECLSPEC GUID DBGUID_SESSION                        = {0xc8b522f5,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1310. extern const OLEDBDECLSPEC GUID DBGUID_ROWSET                        = {0xc8b522f6,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1311. extern const OLEDBDECLSPEC GUID DBGUID_ROW                            = {0xc8b522f7,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1312. extern const OLEDBDECLSPEC GUID DBGUID_COMMAND                        = {0xc8b522f8,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1313. extern const OLEDBDECLSPEC GUID DBGUID_STREAM                        = {0xc8b522f9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1314. extern const OLEDBDECLSPEC DBID DBROWCOL_ROWURL                 = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)0};
  1315. extern const OLEDBDECLSPEC DBID DBROWCOL_PARSENAME            = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)2};
  1316. extern const OLEDBDECLSPEC DBID DBROWCOL_PARENTNAME           = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)3};
  1317. extern const OLEDBDECLSPEC DBID DBROWCOL_ABSOLUTEPARSENAME    = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)4};
  1318. extern const OLEDBDECLSPEC DBID DBROWCOL_ISHIDDEN             = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)5};
  1319. extern const OLEDBDECLSPEC DBID DBROWCOL_ISREADONLY           = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)6};
  1320. extern const OLEDBDECLSPEC DBID DBROWCOL_CONTENTTYPE          = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)7};
  1321. extern const OLEDBDECLSPEC DBID DBROWCOL_CONTENTCLASS         = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)8};
  1322. extern const OLEDBDECLSPEC DBID DBROWCOL_CONTENTLANGUAGE      = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)9};
  1323. extern const OLEDBDECLSPEC DBID DBROWCOL_CREATIONTIME         = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)10};
  1324. extern const OLEDBDECLSPEC DBID DBROWCOL_LASTACCESSTIME       = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)11};
  1325. extern const OLEDBDECLSPEC DBID DBROWCOL_LASTWRITETIME        = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)12};
  1326. extern const OLEDBDECLSPEC DBID DBROWCOL_STREAMSIZE           = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)13};
  1327. extern const OLEDBDECLSPEC DBID DBROWCOL_ISCOLLECTION         = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)14};
  1328. extern const OLEDBDECLSPEC DBID DBROWCOL_ISSTRUCTUREDDOCUMENT = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)15};
  1329. extern const OLEDBDECLSPEC DBID DBROWCOL_DEFAULTDOCUMENT      = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)16};
  1330. extern const OLEDBDECLSPEC DBID DBROWCOL_DISPLAYNAME          = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)17};
  1331. extern const OLEDBDECLSPEC DBID DBROWCOL_ISROOT               = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)18};
  1332. extern const OLEDBDECLSPEC DBID DBROWCOL_DEFAULTSTREAM        = {DBGUID_ROWDEFAULTSTREAM, DBKIND_GUID_PROPID, (LPOLESTR)0};
  1333. extern const OLEDBDECLSPEC GUID DBGUID_CONTAINEROBJECT        = {0xc8b522fb,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1334. #endif // OLEDBVER >= 0x0210
  1335. //@@@- V2.1
  1336. extern const OLEDBDECLSPEC GUID DBSCHEMA_ASSERTIONS                    = {0xc8b52210,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1337. extern const OLEDBDECLSPEC GUID DBSCHEMA_CATALOGS                      = {0xc8b52211,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1338. extern const OLEDBDECLSPEC GUID DBSCHEMA_CHARACTER_SETS                = {0xc8b52212,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1339. extern const OLEDBDECLSPEC GUID DBSCHEMA_COLLATIONS                    = {0xc8b52213,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1340. extern const OLEDBDECLSPEC GUID DBSCHEMA_COLUMNS                       = {0xc8b52214,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1341. extern const OLEDBDECLSPEC GUID DBSCHEMA_CHECK_CONSTRAINTS             = {0xc8b52215,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1342. extern const OLEDBDECLSPEC GUID DBSCHEMA_CONSTRAINT_COLUMN_USAGE       = {0xc8b52216,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1343. extern const OLEDBDECLSPEC GUID DBSCHEMA_CONSTRAINT_TABLE_USAGE        = {0xc8b52217,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1344. extern const OLEDBDECLSPEC GUID DBSCHEMA_KEY_COLUMN_USAGE              = {0xc8b52218,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1345. extern const OLEDBDECLSPEC GUID DBSCHEMA_REFERENTIAL_CONSTRAINTS       = {0xc8b52219,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1346. extern const OLEDBDECLSPEC GUID DBSCHEMA_TABLE_CONSTRAINTS             = {0xc8b5221a,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1347. extern const OLEDBDECLSPEC GUID DBSCHEMA_COLUMN_DOMAIN_USAGE           = {0xc8b5221b,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1348. extern const OLEDBDECLSPEC GUID DBSCHEMA_INDEXES                       = {0xc8b5221e,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1349. extern const OLEDBDECLSPEC GUID DBSCHEMA_COLUMN_PRIVILEGES             = {0xc8b52221,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1350. extern const OLEDBDECLSPEC GUID DBSCHEMA_TABLE_PRIVILEGES              = {0xc8b52222,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1351. extern const OLEDBDECLSPEC GUID DBSCHEMA_USAGE_PRIVILEGES              = {0xc8b52223,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1352. extern const OLEDBDECLSPEC GUID DBSCHEMA_PROCEDURES                    = {0xc8b52224,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1353. extern const OLEDBDECLSPEC GUID DBSCHEMA_SCHEMATA                      = {0xc8b52225,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1354. extern const OLEDBDECLSPEC GUID DBSCHEMA_SQL_LANGUAGES                 = {0xc8b52226,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1355. extern const OLEDBDECLSPEC GUID DBSCHEMA_STATISTICS                    = {0xc8b52227,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1356. extern const OLEDBDECLSPEC GUID DBSCHEMA_TABLES                        = {0xc8b52229,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1357. extern const OLEDBDECLSPEC GUID DBSCHEMA_TRANSLATIONS                  = {0xc8b5222a,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1358. extern const OLEDBDECLSPEC GUID DBSCHEMA_PROVIDER_TYPES                = {0xc8b5222c,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1359. extern const OLEDBDECLSPEC GUID DBSCHEMA_VIEWS                         = {0xc8b5222d,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1360. extern const OLEDBDECLSPEC GUID DBSCHEMA_VIEW_COLUMN_USAGE             = {0xc8b5222e,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1361. extern const OLEDBDECLSPEC GUID DBSCHEMA_VIEW_TABLE_USAGE              = {0xc8b5222f,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1362. extern const OLEDBDECLSPEC GUID DBSCHEMA_PROCEDURE_PARAMETERS          = {0xc8b522b8,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1363. extern const OLEDBDECLSPEC GUID DBSCHEMA_FOREIGN_KEYS                  = {0xc8b522c4,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1364. extern const OLEDBDECLSPEC GUID DBSCHEMA_PRIMARY_KEYS                  = {0xc8b522c5,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1365. extern const OLEDBDECLSPEC GUID DBSCHEMA_PROCEDURE_COLUMNS             = {0xc8b522c9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1366. extern const OLEDBDECLSPEC GUID DBCOL_SELFCOLUMNS                      = {0xc8b52231,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1367. extern const OLEDBDECLSPEC GUID DBCOL_SPECIALCOL                       = {0xc8b52232,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1368. extern const OLEDBDECLSPEC GUID PSGUID_QUERY                           = {0x49691c90,0x7e17,0x101a,{0xa9,0x1c,0x08,0x00,0x2b,0x2e,0xcd,0xa9}};
  1369. extern const OLEDBDECLSPEC GUID DBPROPSET_COLUMN                       = {0xc8b522b9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1370. extern const OLEDBDECLSPEC GUID DBPROPSET_DATASOURCE                   = {0xc8b522ba,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1371. extern const OLEDBDECLSPEC GUID DBPROPSET_DATASOURCEINFO               = {0xc8b522bb,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1372. extern const OLEDBDECLSPEC GUID DBPROPSET_DBINIT                       = {0xc8b522bc,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1373. extern const OLEDBDECLSPEC GUID DBPROPSET_INDEX                        = {0xc8b522bd,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1374. extern const OLEDBDECLSPEC GUID DBPROPSET_ROWSET                       = {0xc8b522be,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1375. extern const OLEDBDECLSPEC GUID DBPROPSET_TABLE                        = {0xc8b522bf,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1376. extern const OLEDBDECLSPEC GUID DBPROPSET_DATASOURCEALL                = {0xc8b522c0,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1377. extern const OLEDBDECLSPEC GUID DBPROPSET_DATASOURCEINFOALL            = {0xc8b522c1,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1378. extern const OLEDBDECLSPEC GUID DBPROPSET_ROWSETALL                    = {0xc8b522c2,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1379. extern const OLEDBDECLSPEC GUID DBPROPSET_SESSION                      = {0xc8b522c6,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1380. extern const OLEDBDECLSPEC GUID DBPROPSET_SESSIONALL                   = {0xc8b522c7,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1381. extern const OLEDBDECLSPEC GUID DBPROPSET_DBINITALL                    = {0xc8b522ca,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1382. extern const OLEDBDECLSPEC GUID DBPROPSET_PROPERTIESINERROR            = {0xc8b522d4,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1383. //@@@+ V1.5
  1384. #if( OLEDBVER >= 0x0150 )
  1385. extern const OLEDBDECLSPEC GUID DBPROPSET_VIEW                         = {0xc8b522df,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1386. #endif // OLEDBVER >= 0x0150
  1387. //@@@- V1.5
  1388. //@@@+ V2.5
  1389. #if( OLEDBVER >= 0x0250 )
  1390. extern const OLEDBDECLSPEC GUID DBPROPSET_VIEWALL                       = {0xc8b522fc,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1391. #endif // OLEDBVER >= 0x0250
  1392. //@@@- V2.5
  1393. // DBGUID_DBSQL is deprecated; use DBGUID_DEFAULT instead
  1394. extern const OLEDBDECLSPEC  GUID DBGUID_DBSQL                           = {0xc8b521fb,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1395. extern const OLEDBDECLSPEC GUID DBGUID_DEFAULT                         = {0xc8b521fb,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1396. extern const OLEDBDECLSPEC GUID DBGUID_SQL                             = {0xc8b522d7,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  1397. #else // !DBINITCONSTANTS
  1398. //@@@+ V2.0
  1399. #if( OLEDBVER >= 0x0200 )
  1400. extern const GUID DBSCHEMA_TABLES_INFO;
  1401. extern const GUID MDGUID_MDX;
  1402. extern const GUID DBGUID_MDX;
  1403. extern const GUID MDSCHEMA_CUBES;
  1404. extern const GUID MDSCHEMA_DIMENSIONS;
  1405. extern const GUID MDSCHEMA_HIERARCHIES;
  1406. extern const GUID MDSCHEMA_LEVELS;
  1407. extern const GUID MDSCHEMA_MEASURES;
  1408. extern const GUID MDSCHEMA_PROPERTIES;
  1409. extern const GUID MDSCHEMA_MEMBERS;
  1410. extern const DBID DBCOLUMN_BASETABLEVERSION;
  1411. extern const DBID DBCOLUMN_KEYCOLUMN;
  1412. #endif // OLEDBVER >= 0x0200
  1413. //@@@- V2.0
  1414. //@@@+ V2.1
  1415. #if( OLEDBVER >= 0x0210 )
  1416. extern const GUID DBPROPSET_TRUSTEE;
  1417. extern const GUID DBOBJECT_TABLE;
  1418. extern const GUID DBOBJECT_COLUMN;
  1419. extern const GUID DBOBJECT_DATABASE;
  1420. extern const GUID DBOBJECT_PROCEDURE;
  1421. extern const GUID DBOBJECT_VIEW;
  1422. extern const GUID DBOBJECT_SCHEMA;
  1423. extern const GUID DBOBJECT_DOMAIN;
  1424. extern const GUID DBOBJECT_COLLATION;
  1425. extern const GUID DBOBJECT_TRUSTEE;
  1426. extern const GUID DBOBJECT_SCHEMAROWSET;
  1427. extern const GUID DBOBJECT_CHARACTERSET;
  1428. extern const GUID DBOBJECT_TRANSLATION;
  1429. extern const GUID DBSCHEMA_TRUSTEE;
  1430. extern const GUID DBPROPSET_COLUMNALL;
  1431. extern const GUID DBPROPSET_INDEXALL;
  1432. extern const GUID DBPROPSET_TABLEALL;
  1433. extern const GUID DBPROPSET_TRUSTEEALL;
  1434. extern const GUID DBPROPSET_CONSTRAINTALL;
  1435. extern const GUID DBGUID_DSO;    
  1436. extern const GUID DBGUID_SESSION;
  1437. extern const GUID DBGUID_ROWSET; 
  1438. extern const GUID DBGUID_ROW;    
  1439. extern const GUID DBGUID_COMMAND;
  1440. extern const GUID DBGUID_STREAM; 
  1441. extern const DBID DBROWCOL_ROWURL;                
  1442. extern const DBID DBROWCOL_PARSENAME;            
  1443. extern const DBID DBROWCOL_PARENTNAME;           
  1444. extern const DBID DBROWCOL_ABSOLUTEPARSENAME;    
  1445. extern const DBID DBROWCOL_ISHIDDEN;             
  1446. extern const DBID DBROWCOL_ISREADONLY;           
  1447. extern const DBID DBROWCOL_CONTENTTYPE;          
  1448. extern const DBID DBROWCOL_CONTENTCLASS;         
  1449. extern const DBID DBROWCOL_CONTENTLANGUAGE;      
  1450. extern const DBID DBROWCOL_CREATIONTIME;         
  1451. extern const DBID DBROWCOL_LASTACCESSTIME;       
  1452. extern const DBID DBROWCOL_LASTWRITETIME;        
  1453. extern const DBID DBROWCOL_STREAMSIZE;           
  1454. extern const DBID DBROWCOL_ISCOLLECTION;         
  1455. extern const DBID DBROWCOL_ISSTRUCTUREDDOCUMENT; 
  1456. extern const DBID DBROWCOL_DEFAULTDOCUMENT;      
  1457. extern const DBID DBROWCOL_DISPLAYNAME;          
  1458. extern const DBID DBROWCOL_ISROOT;               
  1459. extern const DBID DBROWCOL_DEFAULTSTREAM;        
  1460. extern const GUID DBGUID_CONTAINEROBJECT;
  1461. #endif // OLEDBVER >= 0x0210
  1462. //@@@- V2.1
  1463. extern const GUID DBSCHEMA_ASSERTIONS;
  1464. extern const GUID DBSCHEMA_CATALOGS;
  1465. extern const GUID DBSCHEMA_CHARACTER_SETS;
  1466. extern const GUID DBSCHEMA_COLLATIONS;
  1467. extern const GUID DBSCHEMA_COLUMNS;
  1468. extern const GUID DBSCHEMA_CHECK_CONSTRAINTS;
  1469. extern const GUID DBSCHEMA_CONSTRAINT_COLUMN_USAGE;
  1470. extern const GUID DBSCHEMA_CONSTRAINT_TABLE_USAGE;
  1471. extern const GUID DBSCHEMA_KEY_COLUMN_USAGE;
  1472. extern const GUID DBSCHEMA_REFERENTIAL_CONSTRAINTS;
  1473. extern const GUID DBSCHEMA_TABLE_CONSTRAINTS;
  1474. extern const GUID DBSCHEMA_COLUMN_DOMAIN_USAGE;
  1475. extern const GUID DBSCHEMA_INDEXES;
  1476. extern const GUID DBSCHEMA_COLUMN_PRIVILEGES;
  1477. extern const GUID DBSCHEMA_TABLE_PRIVILEGES;
  1478. extern const GUID DBSCHEMA_USAGE_PRIVILEGES;
  1479. extern const GUID DBSCHEMA_PROCEDURES;
  1480. extern const GUID DBSCHEMA_SCHEMATA;
  1481. extern const GUID DBSCHEMA_SQL_LANGUAGES;
  1482. extern const GUID DBSCHEMA_STATISTICS;
  1483. extern const GUID DBSCHEMA_TABLES;
  1484. extern const GUID DBSCHEMA_TRANSLATIONS;
  1485. extern const GUID DBSCHEMA_PROVIDER_TYPES;
  1486. extern const GUID DBSCHEMA_VIEWS;
  1487. extern const GUID DBSCHEMA_VIEW_COLUMN_USAGE;
  1488. extern const GUID DBSCHEMA_VIEW_TABLE_USAGE;
  1489. extern const GUID DBSCHEMA_PROCEDURE_PARAMETERS;
  1490. extern const GUID DBSCHEMA_FOREIGN_KEYS;
  1491. extern const GUID DBSCHEMA_PRIMARY_KEYS;
  1492. extern const GUID DBSCHEMA_PROCEDURE_COLUMNS;
  1493. extern const GUID DBCOL_SELFCOLUMNS;
  1494. extern const GUID DBCOL_SPECIALCOL;
  1495. extern const GUID PSGUID_QUERY;
  1496. extern const GUID DBPROPSET_COLUMN;
  1497. extern const GUID DBPROPSET_DATASOURCE;
  1498. extern const GUID DBPROPSET_DATASOURCEINFO;
  1499. extern const GUID DBPROPSET_DBINIT;
  1500. extern const GUID DBPROPSET_INDEX;
  1501. extern const GUID DBPROPSET_ROWSET;
  1502. extern const GUID DBPROPSET_TABLE;
  1503. extern const GUID DBPROPSET_DATASOURCEALL;
  1504. extern const GUID DBPROPSET_DATASOURCEINFOALL;
  1505. extern const GUID DBPROPSET_ROWSETALL;
  1506. extern const GUID DBPROPSET_SESSION;
  1507. extern const GUID DBPROPSET_SESSIONALL;
  1508. extern const GUID DBPROPSET_DBINITALL;
  1509. extern const GUID DBPROPSET_PROPERTIESINERROR;
  1510. //@@@+ V1.5
  1511. #if( OLEDBVER >= 0x0150 )
  1512. extern const GUID DBPROPSET_VIEW;
  1513. #endif // OLEDBVER >= 0x0150
  1514. //@@@- V1.5
  1515. //@@@+ V2.5
  1516. #if( OLEDBVER >= 0x0250 )
  1517. extern const GUID DBPROPSET_VIEWALL;
  1518. #endif // OLEDBVER >= 0x0250
  1519. //@@@- V2.5
  1520. // DBGUID_DBSQL is deprecated; use DBGUID_DEFAULT instead
  1521. extern const GUID DBGUID_DBSQL;
  1522. extern const GUID DBGUID_DEFAULT;
  1523. extern const GUID DBGUID_SQL;
  1524. #endif // DBINITCONSTANTS
  1525.  
  1526. #ifndef GUID_DEFS_ONLY
  1527.  
  1528. enum DBPROPENUM
  1529.     {    DBPROP_ABORTPRESERVE    = 0x2L,
  1530.     DBPROP_ACTIVESESSIONS    = 0x3L,
  1531.     DBPROP_APPENDONLY    = 0xbbL,
  1532.     DBPROP_ASYNCTXNABORT    = 0xa8L,
  1533.     DBPROP_ASYNCTXNCOMMIT    = 0x4L,
  1534.     DBPROP_AUTH_CACHE_AUTHINFO    = 0x5L,
  1535.     DBPROP_AUTH_ENCRYPT_PASSWORD    = 0x6L,
  1536.     DBPROP_AUTH_INTEGRATED    = 0x7L,
  1537.     DBPROP_AUTH_MASK_PASSWORD    = 0x8L,
  1538.     DBPROP_AUTH_PASSWORD    = 0x9L,
  1539.     DBPROP_AUTH_PERSIST_ENCRYPTED    = 0xaL,
  1540.     DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO    = 0xbL,
  1541.     DBPROP_AUTH_USERID    = 0xcL,
  1542.     DBPROP_BLOCKINGSTORAGEOBJECTS    = 0xdL,
  1543.     DBPROP_BOOKMARKS    = 0xeL,
  1544.     DBPROP_BOOKMARKSKIPPED    = 0xfL,
  1545.     DBPROP_BOOKMARKTYPE    = 0x10L,
  1546.     DBPROP_BYREFACCESSORS    = 0x78L,
  1547.     DBPROP_CACHEDEFERRED    = 0x11L,
  1548.     DBPROP_CANFETCHBACKWARDS    = 0x12L,
  1549.     DBPROP_CANHOLDROWS    = 0x13L,
  1550.     DBPROP_CANSCROLLBACKWARDS    = 0x15L,
  1551.     DBPROP_CATALOGLOCATION    = 0x16L,
  1552.     DBPROP_CATALOGTERM    = 0x17L,
  1553.     DBPROP_CATALOGUSAGE    = 0x18L,
  1554.     DBPROP_CHANGEINSERTEDROWS    = 0xbcL,
  1555.     DBPROP_COL_AUTOINCREMENT    = 0x1aL,
  1556.     DBPROP_COL_DEFAULT    = 0x1bL,
  1557.     DBPROP_COL_DESCRIPTION    = 0x1cL,
  1558.     DBPROP_COL_FIXEDLENGTH    = 0xa7L,
  1559.     DBPROP_COL_NULLABLE    = 0x1dL,
  1560.     DBPROP_COL_PRIMARYKEY    = 0x1eL,
  1561.     DBPROP_COL_UNIQUE    = 0x1fL,
  1562.     DBPROP_COLUMNDEFINITION    = 0x20L,
  1563.     DBPROP_COLUMNRESTRICT    = 0x21L,
  1564.     DBPROP_COMMANDTIMEOUT    = 0x22L,
  1565.     DBPROP_COMMITPRESERVE    = 0x23L,
  1566.     DBPROP_CONCATNULLBEHAVIOR    = 0x24L,
  1567.     DBPROP_CURRENTCATALOG    = 0x25L,
  1568.     DBPROP_DATASOURCENAME    = 0x26L,
  1569.     DBPROP_DATASOURCEREADONLY    = 0x27L,
  1570.     DBPROP_DBMSNAME    = 0x28L,
  1571.     DBPROP_DBMSVER    = 0x29L,
  1572.     DBPROP_DEFERRED    = 0x2aL,
  1573.     DBPROP_DELAYSTORAGEOBJECTS    = 0x2bL,
  1574.     DBPROP_DSOTHREADMODEL    = 0xa9L,
  1575.     DBPROP_GROUPBY    = 0x2cL,
  1576.     DBPROP_HETEROGENEOUSTABLES    = 0x2dL,
  1577.     DBPROP_IAccessor    = 0x79L,
  1578.     DBPROP_IColumnsInfo    = 0x7aL,
  1579.     DBPROP_IColumnsRowset    = 0x7bL,
  1580.     DBPROP_IConnectionPointContainer    = 0x7cL,
  1581.     DBPROP_IConvertType    = 0xc2L,
  1582.     DBPROP_IRowset    = 0x7eL,
  1583.     DBPROP_IRowsetChange    = 0x7fL,
  1584.     DBPROP_IRowsetIdentity    = 0x80L,
  1585.     DBPROP_IRowsetIndex    = 0x9fL,
  1586.     DBPROP_IRowsetInfo    = 0x81L,
  1587.     DBPROP_IRowsetLocate    = 0x82L,
  1588.     DBPROP_IRowsetResynch    = 0x84L,
  1589.     DBPROP_IRowsetScroll    = 0x85L,
  1590.     DBPROP_IRowsetUpdate    = 0x86L,
  1591.     DBPROP_ISupportErrorInfo    = 0x87L,
  1592.     DBPROP_ILockBytes    = 0x88L,
  1593.     DBPROP_ISequentialStream    = 0x89L,
  1594.     DBPROP_IStorage    = 0x8aL,
  1595.     DBPROP_IStream    = 0x8bL,
  1596.     DBPROP_IDENTIFIERCASE    = 0x2eL,
  1597.     DBPROP_IMMOBILEROWS    = 0x2fL,
  1598.     DBPROP_INDEX_AUTOUPDATE    = 0x30L,
  1599.     DBPROP_INDEX_CLUSTERED    = 0x31L,
  1600.     DBPROP_INDEX_FILLFACTOR    = 0x32L,
  1601.     DBPROP_INDEX_INITIALSIZE    = 0x33L,
  1602.     DBPROP_INDEX_NULLCOLLATION    = 0x34L,
  1603.     DBPROP_INDEX_NULLS    = 0x35L,
  1604.     DBPROP_INDEX_PRIMARYKEY    = 0x36L,
  1605.     DBPROP_INDEX_SORTBOOKMARKS    = 0x37L,
  1606.     DBPROP_INDEX_TEMPINDEX    = 0xa3L,
  1607.     DBPROP_INDEX_TYPE    = 0x38L,
  1608.     DBPROP_INDEX_UNIQUE    = 0x39L,
  1609.     DBPROP_INIT_DATASOURCE    = 0x3bL,
  1610.     DBPROP_INIT_HWND    = 0x3cL,
  1611.     DBPROP_INIT_IMPERSONATION_LEVEL    = 0x3dL,
  1612.     DBPROP_INIT_LCID    = 0xbaL,
  1613.     DBPROP_INIT_LOCATION    = 0x3eL,
  1614.     DBPROP_INIT_MODE    = 0x3fL,
  1615.     DBPROP_INIT_PROMPT    = 0x40L,
  1616.     DBPROP_INIT_PROTECTION_LEVEL    = 0x41L,
  1617.     DBPROP_INIT_PROVIDERSTRING    = 0xa0L,
  1618.     DBPROP_INIT_TIMEOUT    = 0x42L,
  1619.     DBPROP_LITERALBOOKMARKS    = 0x43L,
  1620.     DBPROP_LITERALIDENTITY    = 0x44L,
  1621.     DBPROP_MARSHALLABLE    = 0xc5L,
  1622.     DBPROP_MAXINDEXSIZE    = 0x46L,
  1623.     DBPROP_MAXOPENROWS    = 0x47L,
  1624.     DBPROP_MAXPENDINGROWS    = 0x48L,
  1625.     DBPROP_MAXROWS    = 0x49L,
  1626.     DBPROP_MAXROWSIZE    = 0x4aL,
  1627.     DBPROP_MAXROWSIZEINCLUDESBLOB    = 0x4bL,
  1628.     DBPROP_MAXTABLESINSELECT    = 0x4cL,
  1629.     DBPROP_MAYWRITECOLUMN    = 0x4dL,
  1630.     DBPROP_MEMORYUSAGE    = 0x4eL,
  1631.     DBPROP_MULTIPLEPARAMSETS    = 0xbfL,
  1632.     DBPROP_MULTIPLERESULTS    = 0xc4L,
  1633.     DBPROP_MULTIPLESTORAGEOBJECTS    = 0x50L,
  1634.     DBPROP_MULTITABLEUPDATE    = 0x51L,
  1635.     DBPROP_NOTIFICATIONGRANULARITY    = 0xc6L,
  1636.     DBPROP_NOTIFICATIONPHASES    = 0x52L,
  1637.     DBPROP_NOTIFYCOLUMNSET    = 0xabL,
  1638.     DBPROP_NOTIFYROWDELETE    = 0xadL,
  1639.     DBPROP_NOTIFYROWFIRSTCHANGE    = 0xaeL,
  1640.     DBPROP_NOTIFYROWINSERT    = 0xafL,
  1641.     DBPROP_NOTIFYROWRESYNCH    = 0xb1L,
  1642.     DBPROP_NOTIFYROWSETCHANGED    = 0xd3L,
  1643.     DBPROP_NOTIFYROWSETRELEASE    = 0xb2L,
  1644.     DBPROP_NOTIFYROWSETFETCHPOSITIONCHANGE    = 0xb3L,
  1645.     DBPROP_NOTIFYROWUNDOCHANGE    = 0xb4L,
  1646.     DBPROP_NOTIFYROWUNDODELETE    = 0xb5L,
  1647.     DBPROP_NOTIFYROWUNDOINSERT    = 0xb6L,
  1648.     DBPROP_NOTIFYROWUPDATE    = 0xb7L,
  1649.     DBPROP_NULLCOLLATION    = 0x53L,
  1650.     DBPROP_OLEOBJECTS    = 0x54L,
  1651.     DBPROP_ORDERBYCOLUMNSINSELECT    = 0x55L,
  1652.     DBPROP_ORDEREDBOOKMARKS    = 0x56L,
  1653.     DBPROP_OTHERINSERT    = 0x57L,
  1654.     DBPROP_OTHERUPDATEDELETE    = 0x58L,
  1655.     DBPROP_OUTPUTPARAMETERAVAILABILITY    = 0xb8L,
  1656.     DBPROP_OWNINSERT    = 0x59L,
  1657.     DBPROP_OWNUPDATEDELETE    = 0x5aL,
  1658.     DBPROP_PERSISTENTIDTYPE    = 0xb9L,
  1659.     DBPROP_PREPAREABORTBEHAVIOR    = 0x5bL,
  1660.     DBPROP_PREPARECOMMITBEHAVIOR    = 0x5cL,
  1661.     DBPROP_PROCEDURETERM    = 0x5dL,
  1662.     DBPROP_PROVIDERNAME    = 0x60L,
  1663.     DBPROP_PROVIDEROLEDBVER    = 0x61L,
  1664.     DBPROP_PROVIDERVER    = 0x62L,
  1665.     DBPROP_QUICKRESTART    = 0x63L,
  1666.     DBPROP_QUOTEDIDENTIFIERCASE    = 0x64L,
  1667.     DBPROP_REENTRANTEVENTS    = 0x65L,
  1668.     DBPROP_REMOVEDELETED    = 0x66L,
  1669.     DBPROP_REPORTMULTIPLECHANGES    = 0x67L,
  1670.     DBPROP_RETURNPENDINGINSERTS    = 0xbdL,
  1671.     DBPROP_ROWRESTRICT    = 0x68L,
  1672.     DBPROP_ROWSETCONVERSIONSONCOMMAND    = 0xc0L,
  1673.     DBPROP_ROWTHREADMODEL    = 0x69L,
  1674.     DBPROP_SCHEMATERM    = 0x6aL,
  1675.     DBPROP_SCHEMAUSAGE    = 0x6bL,
  1676.     DBPROP_SERVERCURSOR    = 0x6cL,
  1677.     DBPROP_SESS_AUTOCOMMITISOLEVELS    = 0xbeL,
  1678.     DBPROP_SQLSUPPORT    = 0x6dL,
  1679.     DBPROP_STRONGIDENTITY    = 0x77L,
  1680.     DBPROP_STRUCTUREDSTORAGE    = 0x6fL,
  1681.     DBPROP_SUBQUERIES    = 0x70L,
  1682.     DBPROP_SUPPORTEDTXNDDL    = 0xa1L,
  1683.     DBPROP_SUPPORTEDTXNISOLEVELS    = 0x71L,
  1684.     DBPROP_SUPPORTEDTXNISORETAIN    = 0x72L,
  1685.     DBPROP_TABLETERM    = 0x73L,
  1686.     DBPROP_TBL_TEMPTABLE    = 0x8cL,
  1687.     DBPROP_TRANSACTEDOBJECT    = 0x74L,
  1688.     DBPROP_UPDATABILITY    = 0x75L,
  1689.     DBPROP_USERNAME    = 0x76L
  1690.     };
  1691. //@@@+ V1.5
  1692. #if( OLEDBVER >= 0x0150 )
  1693.  
  1694. enum DBPROPENUM15
  1695.     {    DBPROP_FILTERCOMPAREOPS    = 0xd1L,
  1696.     DBPROP_FINDCOMPAREOPS    = 0xd2L,
  1697.     DBPROP_IChapteredRowset    = 0xcaL,
  1698.     DBPROP_IDBAsynchStatus    = 0xcbL,
  1699.     DBPROP_IRowsetFind    = 0xccL,
  1700.     DBPROP_IRowsetView    = 0xd4L,
  1701.     DBPROP_IViewChapter    = 0xd5L,
  1702.     DBPROP_IViewFilter    = 0xd6L,
  1703.     DBPROP_IViewRowset    = 0xd7L,
  1704.     DBPROP_IViewSort    = 0xd8L,
  1705.     DBPROP_INIT_ASYNCH    = 0xc8L,
  1706.     DBPROP_MAXOPENCHAPTERS    = 0xc7L,
  1707.     DBPROP_MAXORSINFILTER    = 0xcdL,
  1708.     DBPROP_MAXSORTCOLUMNS    = 0xceL,
  1709.     DBPROP_ROWSET_ASYNCH    = 0xc9L,
  1710.     DBPROP_SORTONINDEX    = 0xcfL
  1711.     };
  1712. #endif // OLEDBVER >= 0x0150
  1713. //@@@- V1.5
  1714. //@@@+ V2.0
  1715. #if( OLEDBVER >= 0x0200 )
  1716. #define DBPROP_PROVIDERFILENAME DBPROP_PROVIDERNAME
  1717. #define DBPROP_SERVER_NAME DBPROP_SERVERNAME
  1718.  
  1719. enum DBPROPENUM20
  1720.     {    DBPROP_IMultipleResults    = 0xd9L,
  1721.     DBPROP_DATASOURCE_TYPE    = 0xfbL,
  1722.     MDPROP_AXES    = 0xfcL,
  1723.     MDPROP_FLATTENING_SUPPORT    = 0xfdL,
  1724.     MDPROP_MDX_JOINCUBES    = 0xfeL,
  1725.     MDPROP_NAMED_LEVELS    = 0xffL,
  1726.     MDPROP_RANGEROWSET    = 0x100L,
  1727.     MDPROP_MDX_SLICER    = 0xdaL,
  1728.     MDPROP_MDX_CUBEQUALIFICATION    = 0xdbL,
  1729.     MDPROP_MDX_OUTERREFERENCE    = 0xdcL,
  1730.     MDPROP_MDX_QUERYBYPROPERTY    = 0xddL,
  1731.     MDPROP_MDX_CASESUPPORT    = 0xdeL,
  1732.     MDPROP_MDX_STRING_COMPOP    = 0xe0L,
  1733.     MDPROP_MDX_DESCFLAGS    = 0xe1L,
  1734.     MDPROP_MDX_SET_FUNCTIONS    = 0xe2L,
  1735.     MDPROP_MDX_MEMBER_FUNCTIONS    = 0xe3L,
  1736.     MDPROP_MDX_NUMERIC_FUNCTIONS    = 0xe4L,
  1737.     MDPROP_MDX_FORMULAS    = 0xe5L,
  1738.     MDPROP_AGGREGATECELL_UPDATE    = 0xe6L,
  1739.     MDPROP_MDX_AGGREGATECELL_UPDATE    = MDPROP_AGGREGATECELL_UPDATE,
  1740.     MDPROP_MDX_OBJQUALIFICATION    = 0x105L,
  1741.     MDPROP_MDX_NONMEASURE_EXPRESSONS    = 0x106L,
  1742.     DBPROP_ACCESSORDER    = 0xe7L,
  1743.     DBPROP_BOOKMARKINFO    = 0xe8L,
  1744.     DBPROP_INIT_CATALOG    = 0xe9L,
  1745.     DBPROP_ROW_BULKOPS    = 0xeaL,
  1746.     DBPROP_PROVIDERFRIENDLYNAME    = 0xebL,
  1747.     DBPROP_LOCKMODE    = 0xecL,
  1748.     DBPROP_MULTIPLECONNECTIONS    = 0xedL,
  1749.     DBPROP_UNIQUEROWS    = 0xeeL,
  1750.     DBPROP_SERVERDATAONINSERT    = 0xefL,
  1751.     DBPROP_STORAGEFLAGS    = 0xf0L,
  1752.     DBPROP_CONNECTIONSTATUS    = 0xf4L,
  1753.     DBPROP_ALTERCOLUMN    = 0xf5L,
  1754.     DBPROP_COLUMNLCID    = 0xf6L,
  1755.     DBPROP_RESETDATASOURCE    = 0xf7L,
  1756.     DBPROP_INIT_OLEDBSERVICES    = 0xf8L,
  1757.     DBPROP_IRowsetRefresh    = 0xf9L,
  1758.     DBPROP_SERVERNAME    = 0xfaL,
  1759.     DBPROP_IParentRowset    = 0x101L,
  1760.     DBPROP_HIDDENCOLUMNS    = 0x102L,
  1761.     DBPROP_PROVIDERMEMORY    = 0x103L,
  1762.     DBPROP_CLIENTCURSOR    = 0x104L
  1763.     };
  1764. #endif // OLEDBVER >= 0x0200
  1765. //@@@- V2.0
  1766. //@@@+ V2.1
  1767. #if( OLEDBVER >= 0x0210 )
  1768.  
  1769. enum DBPROPENUM21
  1770.     {    DBPROP_TRUSTEE_USERNAME    = 0xf1L,
  1771.     DBPROP_TRUSTEE_AUTHENTICATION    = 0xf2L,
  1772.     DBPROP_TRUSTEE_NEWAUTHENTICATION    = 0xf3L,
  1773.     DBPROP_IRow    = 0x107L,
  1774.     DBPROP_IRowChange    = 0x108L,
  1775.     DBPROP_IRowSchemaChange    = 0x109L,
  1776.     DBPROP_IGetRow    = 0x10aL,
  1777.     DBPROP_IScopedOperations    = 0x10bL,
  1778.     DBPROP_IBindResource    = 0x10cL,
  1779.     DBPROP_ICreateRow    = 0x10dL,
  1780.     DBPROP_INIT_BINDFLAGS    = 0x10eL,
  1781.     DBPROP_INIT_LOCKOWNER    = 0x10fL,
  1782.     DBPROP_GENERATEURL    = 0x111L,
  1783.     DBPROP_IDBBinderProperties    = 0x112L,
  1784.     DBPROP_IColumnsInfo2    = 0x113L,
  1785.     DBPROP_IRegisterProvider    = 0x114L,
  1786.     DBPROP_IGetSession    = 0x115L,
  1787.     DBPROP_IGetSourceRow    = 0x116L,
  1788.     DBPROP_IRowsetCurrentIndex    = 0x117L,
  1789.     DBPROP_OPENROWSETSUPPORT    = 0x118L,
  1790.     DBPROP_COL_ISLONG    = 0x119L
  1791.     };
  1792. #endif // OLEDBVER >= 0x0210
  1793. //@@@- V2.1
  1794. //@@@+ V2.5
  1795. #if( OLEDBVER >= 0x0250 )
  1796.  
  1797. enum DBPROPENUM25
  1798.     {    DBPROP_COL_SEED    = 0x11aL,
  1799.     DBPROP_COL_INCREMENT    = 0x11bL,
  1800.     DBPROP_INIT_GENERALTIMEOUT    = 0x11cL,
  1801.     DBPROP_COMSERVICES    = 0x11dL
  1802.     };
  1803. #endif // OLEDBVER >= 0x0250
  1804. //@@@- V2.5
  1805. //@@@+ deprecated
  1806. #ifdef deprecated
  1807.  
  1808. enum DBPROPENUMDEPRECATED
  1809.     {    DBPROP_IRowsetExactScroll    = 0x9aL,
  1810.     DBPROP_FILTEROPS    = 0xd0L
  1811.     };
  1812. #endif // deprecated
  1813. //@@@- deprecated
  1814. #define DBPROPVAL_BMK_NUMERIC                             0x00000001L
  1815. #define DBPROPVAL_BMK_KEY                                 0x00000002L
  1816. #define DBPROPVAL_CL_START                                0x00000001L
  1817. #define DBPROPVAL_CL_END                                  0x00000002L
  1818. #define DBPROPVAL_CU_DML_STATEMENTS                         0x00000001L
  1819. #define DBPROPVAL_CU_TABLE_DEFINITION                     0x00000002L
  1820. #define DBPROPVAL_CU_INDEX_DEFINITION                     0x00000004L
  1821. #define DBPROPVAL_CU_PRIVILEGE_DEFINITION                 0x00000008L
  1822. #define DBPROPVAL_CD_NOTNULL                                 0x00000001L
  1823. #define DBPROPVAL_CB_NULL                                 0x00000001L
  1824. #define DBPROPVAL_CB_NON_NULL                             0x00000002L
  1825. #define DBPROPVAL_FU_NOT_SUPPORTED                         0x00000001L
  1826. #define DBPROPVAL_FU_COLUMN                                 0x00000002L
  1827. #define DBPROPVAL_FU_TABLE                                 0x00000004L
  1828. #define DBPROPVAL_FU_CATALOG                                 0x00000008L
  1829. #define DBPROPVAL_GB_NOT_SUPPORTED                         0x00000001L
  1830. #define DBPROPVAL_GB_EQUALS_SELECT                         0x00000002L
  1831. #define DBPROPVAL_GB_CONTAINS_SELECT                         0x00000004L
  1832. #define DBPROPVAL_GB_NO_RELATION                             0x00000008L
  1833. #define DBPROPVAL_HT_DIFFERENT_CATALOGS                     0x00000001L
  1834. #define DBPROPVAL_HT_DIFFERENT_PROVIDERS                     0x00000002L
  1835. #define DBPROPVAL_IC_UPPER                                 0x00000001L
  1836. #define DBPROPVAL_IC_LOWER                                 0x00000002L
  1837. #define DBPROPVAL_IC_SENSITIVE                             0x00000004L
  1838. #define DBPROPVAL_IC_MIXED                                 0x00000008L
  1839. //@@@+ deprecated
  1840. #ifdef deprecated
  1841. #define DBPROPVAL_LM_NONE                                 0x00000001L
  1842. #define DBPROPVAL_LM_READ                                 0x00000002L
  1843. #define DBPROPVAL_LM_INTENT                                 0x00000004L
  1844. #define DBPROPVAL_LM_RITE                                 0x00000008L
  1845. #endif // deprecated
  1846. //@@@- deprecated
  1847. #define DBPROPVAL_NP_OKTODO                                 0x00000001L
  1848. #define DBPROPVAL_NP_ABOUTTODO                             0x00000002L
  1849. #define DBPROPVAL_NP_SYNCHAFTER                             0x00000004L
  1850. #define DBPROPVAL_NP_FAILEDTODO                             0x00000008L
  1851. #define DBPROPVAL_NP_DIDEVENT                             0x00000010L
  1852. #define DBPROPVAL_NC_END                                     0x00000001L
  1853. #define DBPROPVAL_NC_HIGH                                 0x00000002L
  1854. #define DBPROPVAL_NC_LOW                                     0x00000004L
  1855. #define DBPROPVAL_NC_START                                 0x00000008L
  1856. #define DBPROPVAL_OO_BLOB                                 0x00000001L
  1857. #define DBPROPVAL_OO_IPERSIST                             0x00000002L
  1858. #define DBPROPVAL_CB_DELETE                                 0x00000001L
  1859. #define DBPROPVAL_CB_PRESERVE                             0x00000002L
  1860. #define DBPROPVAL_SU_DML_STATEMENTS                         0x00000001L
  1861. #define DBPROPVAL_SU_TABLE_DEFINITION                     0x00000002L
  1862. #define DBPROPVAL_SU_INDEX_DEFINITION                     0x00000004L
  1863. #define DBPROPVAL_SU_PRIVILEGE_DEFINITION                 0x00000008L
  1864. #define DBPROPVAL_SQ_CORRELATEDSUBQUERIES                 0x00000001L
  1865. #define DBPROPVAL_SQ_COMPARISON                             0x00000002L
  1866. #define DBPROPVAL_SQ_EXISTS                                 0x00000004L
  1867. #define DBPROPVAL_SQ_IN                                     0x00000008L
  1868. #define DBPROPVAL_SQ_QUANTIFIED                             0x00000010L
  1869. #define DBPROPVAL_SQ_TABLE                                 0x00000020L
  1870. #define DBPROPVAL_SS_ISEQUENTIALSTREAM                     0x00000001L
  1871. #define DBPROPVAL_SS_ISTREAM                                 0x00000002L
  1872. #define DBPROPVAL_SS_ISTORAGE                             0x00000004L
  1873. #define DBPROPVAL_SS_ILOCKBYTES                             0x00000008L
  1874. #define DBPROPVAL_TI_CHAOS                                 0x00000010L
  1875. #define DBPROPVAL_TI_READUNCOMMITTED                         0x00000100L
  1876. #define DBPROPVAL_TI_BROWSE                                 0x00000100L
  1877. #define DBPROPVAL_TI_CURSORSTABILITY                         0x00001000L
  1878. #define DBPROPVAL_TI_READCOMMITTED                         0x00001000L
  1879. #define DBPROPVAL_TI_REPEATABLEREAD                         0x00010000L
  1880. #define DBPROPVAL_TI_SERIALIZABLE                         0x00100000L
  1881. #define DBPROPVAL_TI_ISOLATED                             0x00100000L
  1882. #define DBPROPVAL_TR_COMMIT_DC                             0x00000001L
  1883. #define DBPROPVAL_TR_COMMIT                                 0x00000002L
  1884. #define DBPROPVAL_TR_COMMIT_NO                             0x00000004L
  1885. #define DBPROPVAL_TR_ABORT_DC                             0x00000008L
  1886. #define DBPROPVAL_TR_ABORT                                 0x00000010L
  1887. #define DBPROPVAL_TR_ABORT_NO                             0x00000020L
  1888. #define DBPROPVAL_TR_DONTCARE                             0x00000040L
  1889. #define DBPROPVAL_TR_BOTH                                 0x00000080L
  1890. #define DBPROPVAL_TR_NONE                                 0x00000100L
  1891. #define DBPROPVAL_TR_OPTIMISTIC                             0x00000200L
  1892. #define DBPROPVAL_RT_FREETHREAD                             0x00000001L
  1893. #define DBPROPVAL_RT_APTMTTHREAD                             0x00000002L
  1894. #define DBPROPVAL_RT_SINGLETHREAD                         0x00000004L
  1895. #define DBPROPVAL_UP_CHANGE                                 0x00000001L
  1896. #define DBPROPVAL_UP_DELETE                                 0x00000002L
  1897. #define DBPROPVAL_UP_INSERT                                 0x00000004L
  1898. #define DBPROPVAL_SQL_NONE                                 0x00000000L
  1899. #define DBPROPVAL_SQL_ODBC_MINIMUM                         0x00000001L
  1900. #define DBPROPVAL_SQL_ODBC_CORE                             0x00000002L
  1901. #define DBPROPVAL_SQL_ODBC_EXTENDED                         0x00000004L
  1902. #define DBPROPVAL_SQL_ANSI89_IEF                             0x00000008L
  1903. #define DBPROPVAL_SQL_ANSI92_ENTRY                         0x00000010L
  1904. #define DBPROPVAL_SQL_FIPS_TRANSITIONAL                     0x00000020L
  1905. #define DBPROPVAL_SQL_ANSI92_INTERMEDIATE                 0x00000040L
  1906. #define DBPROPVAL_SQL_ANSI92_FULL                         0x00000080L
  1907. #define DBPROPVAL_SQL_ESCAPECLAUSES                         0x00000100L
  1908. #define DBPROPVAL_IT_BTREE                                0x00000001L
  1909. #define DBPROPVAL_IT_HASH                                 0x00000002L
  1910. #define DBPROPVAL_IT_CONTENT                              0x00000003L
  1911. #define DBPROPVAL_IT_OTHER                                0x00000004L
  1912. #define DBPROPVAL_IN_DISALLOWNULL                         0x00000001L
  1913. #define DBPROPVAL_IN_IGNORENULL                           0x00000002L
  1914. #define DBPROPVAL_IN_IGNOREANYNULL                        0x00000004L
  1915. #define DBPROPVAL_TC_NONE                                 0x00000000L
  1916. #define DBPROPVAL_TC_DML                                  0x00000001L
  1917. #define DBPROPVAL_TC_DDL_COMMIT                           0x00000002L
  1918. #define DBPROPVAL_TC_DDL_IGNORE                           0x00000004L
  1919. #define DBPROPVAL_TC_ALL                                  0x00000008L
  1920. #define DBPROPVAL_NP_OKTODO                               0x00000001L
  1921. #define DBPROPVAL_NP_ABOUTTODO                            0x00000002L
  1922. #define DBPROPVAL_NP_SYNCHAFTER                           0x00000004L
  1923. #define DBPROPVAL_OA_NOTSUPPORTED                         0x00000001L
  1924. #define DBPROPVAL_OA_ATEXECUTE                            0x00000002L
  1925. #define DBPROPVAL_OA_ATROWRELEASE                         0x00000004L
  1926. #define DBPROPVAL_MR_NOTSUPPORTED                         0x00000000L
  1927. #define DBPROPVAL_MR_SUPPORTED                            0x00000001L
  1928. #define DBPROPVAL_MR_CONCURRENT                           0x00000002L
  1929. #define DBPROPVAL_PT_GUID_NAME                            0x00000001L
  1930. #define DBPROPVAL_PT_GUID_PROPID                          0x00000002L
  1931. #define DBPROPVAL_PT_NAME                                 0x00000004L
  1932. #define DBPROPVAL_PT_GUID                                 0x00000008L
  1933. #define DBPROPVAL_PT_PROPID                                 0x00000010L
  1934. #define DBPROPVAL_PT_PGUID_NAME                           0x00000020L
  1935. #define DBPROPVAL_PT_PGUID_PROPID                         0x00000040L
  1936. #define DBPROPVAL_NT_SINGLEROW                            0x00000001L
  1937. #define DBPROPVAL_NT_MULTIPLEROWS                         0x00000002L
  1938. //@@@+ V1.5
  1939. #if( OLEDBVER >= 0x0150 )
  1940. #define DBPROPVAL_ASYNCH_INITIALIZE                       0x00000001L
  1941. #define DBPROPVAL_ASYNCH_SEQUENTIALPOPULATION             0x00000002L
  1942. #define DBPROPVAL_ASYNCH_RANDOMPOPULATION                 0x00000004L
  1943. #define DBPROPVAL_OP_EQUAL                                0x00000001L
  1944. #define DBPROPVAL_OP_RELATIVE                             0x00000002L
  1945. #define DBPROPVAL_OP_STRING                               0x00000004L
  1946. #define DBPROPVAL_CO_EQUALITY                             0x00000001L
  1947. #define DBPROPVAL_CO_STRING                               0x00000002L
  1948. #define DBPROPVAL_CO_CASESENSITIVE                        0x00000004L
  1949. #define DBPROPVAL_CO_CASEINSENSITIVE                      0x00000008L
  1950. #endif // OLEDBVER >= 0x0150
  1951. //@@@- V1.5
  1952. //@@@+ V2.0
  1953. #if( OLEDBVER >= 0x0200 )
  1954. #define DBPROPVAL_CO_CONTAINS                             0x00000010L
  1955. #define DBPROPVAL_CO_BEGINSWITH                             0x00000020L
  1956. #define DBPROPVAL_ASYNCH_BACKGROUNDPOPULATION            0x00000008L
  1957. #define DBPROPVAL_ASYNCH_PREPOPULATE                        0x00000010L
  1958. #define DBPROPVAL_ASYNCH_POPULATEONDEMAND                0x00000020L
  1959. #define DBPROPVAL_LM_NONE                                 0x00000001L
  1960. #define DBPROPVAL_LM_SINGLEROW                             0x00000002L
  1961. #define DBPROPVAL_SQL_SUBMINIMUM                          0x00000200L
  1962. #define DBPROPVAL_DST_TDP                                 0x00000001L
  1963. #define DBPROPVAL_DST_MDP                                 0x00000002L
  1964. #define DBPROPVAL_DST_TDPANDMDP                           0x00000003L
  1965. #define MDPROPVAL_AU_UNSUPPORTED                          0x00000000L
  1966. #define MDPROPVAL_AU_UNCHANGED                            0x00000001L
  1967. #define MDPROPVAL_AU_UNKNOWN                              0x00000002L
  1968. #define MDPROPVAL_MF_WITH_CALCMEMBERS                     0x00000001L
  1969. #define MDPROPVAL_MF_WITH_NAMEDSETS                       0x00000002L
  1970. #define MDPROPVAL_MF_CREATE_CALCMEMBERS                   0x00000004L
  1971. #define MDPROPVAL_MF_CREATE_NAMEDSETS                     0x00000008L
  1972. #define MDPROPVAL_MF_SCOPE_SESSION                         0x00000010L
  1973. #define MDPROPVAL_MF_SCOPE_GLOBAL                         0x00000020L
  1974. #define MDPROPVAL_MMF_COUSIN                              0x00000001L
  1975. #define MDPROPVAL_MMF_PARALLELPERIOD                      0x00000002L
  1976. #define MDPROPVAL_MMF_OPENINGPERIOD                       0x00000004L
  1977. #define MDPROPVAL_MMF_CLOSINGPERIOD                       0x00000008L
  1978. #define MDPROPVAL_MNF_MEDIAN                                0x00000001L
  1979. #define MDPROPVAL_MNF_VAR                                0x00000002L
  1980. #define MDPROPVAL_MNF_STDDEV                                0x00000004L
  1981. #define MDPROPVAL_MNF_RANK                                0x00000008L
  1982. #define MDPROPVAL_MNF_AGGREGATE                            0x00000010L
  1983. #define MDPROPVAL_MNF_COVARIANCE                            0x00000020L
  1984. #define MDPROPVAL_MNF_CORRELATION                        0x00000040L
  1985. #define MDPROPVAL_MNF_LINREGSLOPE                        0x00000080L
  1986. #define MDPROPVAL_MNF_LINREGVARIANCE                        0x00000100L
  1987. #define MDPROPVAL_MNF_LINREG2                            0x00000200L
  1988. #define MDPROPVAL_MNF_LINREGPOINT                        0x00000400L
  1989. #define MDPROPVAL_MNF_DRILLDOWNLEVEL                        0x00000800L
  1990. #define MDPROPVAL_MNF_DRILLDOWNMEMBERTOP                    0x00001000L
  1991. #define MDPROPVAL_MNF_DRILLDOWNMEMBERBOTTOM                0x00002000L
  1992. #define MDPROPVAL_MNF_DRILLDOWNLEVELTOP                    0x00004000L
  1993. #define MDPROPVAL_MNF_DRILLDOWNLEVELBOTTOM                0x00008000L
  1994. #define MDPROPVAL_MNF_DRILLUPMEMBER                        0x00010000L
  1995. #define MDPROPVAL_MNF_DRILLUPLEVEL                        0x00020000L
  1996. #define MDPROPVAL_MMF_COUSIN                                0x00000001L
  1997. #define MDPROPVAL_MMF_PARALLELPERIOD                        0x00000002L
  1998. #define MDPROPVAL_MMF_OPENINGPERIOD                        0x00000004L
  1999. #define MDPROPVAL_MMF_CLOSINGPERIOD                        0x00000008L
  2000. #define MDPROPVAL_MSF_TOPPERCENT                            0x00000001L
  2001. #define MDPROPVAL_MSF_BOTTOMPERCENT                        0x00000002L
  2002. #define MDPROPVAL_MSF_TOPSUM                                0x00000004L
  2003. #define MDPROPVAL_MSF_BOTTOMSUM                            0x00000008L
  2004. #define MDPROPVAL_MSF_PERIODSTODATE                        0x00000010L
  2005. #define MDPROPVAL_MSF_LASTPERIODS                        0x00000020L
  2006. #define MDPROPVAL_MSF_YTD                                0x00000040L
  2007. #define MDPROPVAL_MSF_QTD                                0x00000080L
  2008. #define MDPROPVAL_MSF_MTD                                0x00000100L
  2009. #define MDPROPVAL_MSF_WTD                                0x00000200L
  2010. #define MDPROPVAL_MSF_DRILLDOWNMEMBBER                    0x00000400L
  2011. #define MDPROPVAL_MSF_DRILLDOWNLEVEL                        0x00000800L
  2012. #define MDPROPVAL_MSF_DRILLDOWNMEMBERTOP                    0x00001000L
  2013. #define MDPROPVAL_MSF_DRILLDOWNMEMBERBOTTOM                0x00002000L
  2014. #define MDPROPVAL_MSF_DRILLDOWNLEVELTOP                    0x00004000L
  2015. #define MDPROPVAL_MSF_DRILLDOWNLEVELBOTTOM                0x00008000L
  2016. #define MDPROPVAL_MSF_DRILLUPMEMBER                        0x00010000L
  2017. #define MDPROPVAL_MSF_DRILLUPLEVEL                        0x00020000L
  2018. #define MDPROPVAL_MSF_TOGGLEDRILLSTATE                    0x00040000L
  2019. // values for MDPROP_MDX_DESCFLAGS
  2020. #define MDPROPVAL_MD_SELF                                0x00000001L
  2021. #define MDPROPVAL_MD_BEFORE                                0x00000002L
  2022. #define MDPROPVAL_MD_AFTER                                0x00000004L
  2023. // values for MDPROP_MDX_STRING_COMPOP
  2024. #define MDPROPVAL_MSC_LESSTHAN                            0x00000001L
  2025. #define MDPROPVAL_MSC_GREATERTHAN                        0x00000002L
  2026. #define MDPROPVAL_MSC_LESSTHANEQUAL                        0x00000004L
  2027. #define MDPROPVAL_MSC_GREATERTHANEQUAL                    0x00000008L
  2028. #define MDPROPVAL_MC_SINGLECASE                            0x00000001L
  2029. #define MDPROPVAL_MC_SEARCHEDCASE                        0x00000002L
  2030. #define MDPROPVAL_MOQ_OUTERREFERENCE                        0x00000001L
  2031. #define MDPROPVAL_MOQ_DATASOURCE_CUBE                    0x00000001L
  2032. #define MDPROPVAL_MOQ_CATALOG_CUBE                        0x00000002L
  2033. #define MDPROPVAL_MOQ_SCHEMA_CUBE                        0x00000004L
  2034. #define MDPROPVAL_MOQ_CUBE_DIM                            0x00000008L
  2035. #define MDPROPVAL_MOQ_DIM_HIER                            0x00000010L
  2036. #define MDPROPVAL_MOQ_DIMHIER_LEVEL                        0x00000020L
  2037. #define MDPROPVAL_MOQ_LEVEL_MEMBER                        0x00000040L
  2038. #define MDPROPVAL_MOQ_MEMBER_MEMBER                        0x00000080L
  2039. #define MDPROPVAL_FS_FULL_SUPPORT                        0x00000001L
  2040. #define MDPROPVAL_FS_GENERATED_COLUMN                    0x00000002L
  2041. #define MDPROPVAL_FS_GENERATED_DIMENSION                    0x00000003L
  2042. #define MDPROPVAL_FS_NO_SUPPORT                            0x00000004L
  2043. #define MDPROPVAL_NL_NAMEDLEVELS                            0x00000001L
  2044. #define MDPROPVAL_NL_NUMBEREDLEVELS                        0x00000002L
  2045. #define MDPROPVAL_MJC_SINGLECUBE                            0x00000001L
  2046. #define MDPROPVAL_MJC_MULTICUBES                            0x00000002L
  2047. #define MDPROPVAL_MJC_IMPLICITCUBE                        0x00000004L
  2048. #define MDPROPVAL_RR_NORANGEROWSET                        0x00000001L
  2049. #define MDPROPVAL_RR_READONLY                            0x00000002L
  2050. #define MDPROPVAL_RR_UPDATE                                0x00000004L
  2051. #define MDPROPVAL_MS_MULTIPLETUPLES                        0x00000001L
  2052. #define MDPROPVAL_MS_SINGLETUPLE                        0x00000002L
  2053. #define DBPROPVAL_AO_SEQUENTIAL                            0x00000000L
  2054. #define DBPROPVAL_AO_SEQUENTIALSTORAGEOBJECTS            0x00000001L
  2055. #define DBPROPVAL_AO_RANDOM                                0x00000002L
  2056. #define DBPROPVAL_BD_ROWSET                                0x00000000L
  2057. #define DBPROPVAL_BD_INTRANSACTION                        0x00000001L
  2058. #define DBPROPVAL_BD_XTRANSACTION                        0x00000002L
  2059. #define DBPROPVAL_BD_REORGANIZATION                        0x00000003L
  2060. #define BMK_DURABILITY_ROWSET                            DBPROPVAL_BD_ROWSET
  2061. #define BMK_DURABILITY_INTRANSACTION                        DBPROPVAL_BD_INTRANSACTION
  2062. #define BMK_DURABILITY_XTRANSACTION                        DBPROPVAL_BD_XTRANSACTION
  2063. #define BMK_DURABILITY_REORGANIZATION                    DBPROPVAL_BD_REORGANIZATION
  2064. #define DBPROPVAL_BO_NOLOG                                0x00000000L
  2065. #define DBPROPVAL_BO_NOINDEXUPDATE                        0x00000001L
  2066. #define DBPROPVAL_BO_REFINTEGRITY                        0x00000002L
  2067. #if !defined(_WINBASE_)
  2068. #define OF_READ             0x00000000
  2069. #define OF_WRITE            0x00000001
  2070. #define OF_READWRITE        0x00000002
  2071. #define OF_SHARE_COMPAT     0x00000000
  2072. #define OF_SHARE_EXCLUSIVE  0x00000010
  2073. #define OF_SHARE_DENY_WRITE 0x00000020
  2074. #define OF_SHARE_DENY_READ  0x00000030
  2075. #define OF_SHARE_DENY_NONE  0x00000040
  2076. #define OF_PARSE            0x00000100
  2077. #define OF_DELETE           0x00000200
  2078. #define OF_VERIFY           0x00000400
  2079. #define OF_CANCEL           0x00000800
  2080. #define OF_CREATE           0x00001000
  2081. #define OF_PROMPT           0x00002000
  2082. #define OF_EXIST            0x00004000
  2083. #define OF_REOPEN           0x00008000
  2084. #endif // !_WINBASE_
  2085. #define DBPROPVAL_STGM_READ                    OF_READ
  2086. #define DBPROPVAL_STGM_WRITE                    OF_WRITE
  2087. #define DBPROPVAL_STGM_READWRITE                OF_READWRITE
  2088. #define DBPROPVAL_STGM_SHARE_DENY_NONE        OF_SHARE_DENY_NONE
  2089. #define DBPROPVAL_STGM_SHARE_DENY_READ        OF_SHARE_DENY_READ
  2090. #define DBPROPVAL_STGM_SHARE_DENY_WRITE        OF_SHARE_DENY_WRITE
  2091. #define DBPROPVAL_STGM_SHARE_EXCLUSIVE        OF_SHARE_EXCLUSIVE
  2092. #define DBPROPVAL_STGM_DIRECT                0x00010000
  2093. #define DBPROPVAL_STGM_TRANSACTED            0x00020000
  2094. #define DBPROPVAL_STGM_CREATE                OF_CREATE
  2095. #define DBPROPVAL_STGM_CONVERT                0x00040000
  2096. #define DBPROPVAL_STGM_FAILIFTHERE            0x00080000
  2097. #define DBPROPVAL_STGM_PRIORITY                0x00100000
  2098. #define DBPROPVAL_STGM_DELETEONRELEASE        0x00200000
  2099. #define DBPROPVAL_GB_COLLATE                 0x00000010L
  2100. #define DBPROPVAL_CS_UNINITIALIZED            0x00000000L
  2101. #define DBPROPVAL_CS_INITIALIZED                0x00000001L
  2102. #define DBPROPVAL_CS_COMMUNICATIONFAILURE    0x00000002L
  2103. #define DBPROPVAL_RD_RESETALL        0xffffffffL
  2104. #define DBPROPVAL_OS_RESOURCEPOOLING    0x00000001L
  2105. #define DBPROPVAL_OS_TXNENLISTMENT    0x00000002L
  2106. #define DBPROPVAL_OS_CLIENTCURSOR    0x00000004L
  2107. #define DBPROPVAL_OS_ENABLEALL        0xffffffffL
  2108. #define DBPROPVAL_BI_CROSSROWSET        0x00000001L
  2109. #endif // OLEDBVER >= 0x0200
  2110. //@@@- V2.0
  2111. //@@@+ V2.1
  2112. #if( OLEDBVER >= 0x0210 )
  2113. #define MDPROPVAL_NL_SCHEMAONLY                          0x00000004L
  2114. #define DBPROPVAL_OS_DISABLEALL    0x00000000L
  2115. #define DBPROPVAL_OO_ROWOBJECT                            0x00000004L
  2116. #define DBPROPVAL_OO_SCOPED                                0x00000008L
  2117. #define DBPROPVAL_OO_DIRECTBIND                            0x00000010L
  2118. #define DBPROPVAL_DST_DOCSOURCE                          0x00000004L
  2119. #define DBPROPVAL_GU_NOTSUPPORTED                         0x00000001L
  2120. #define DBPROPVAL_GU_SUFFIX                                 0x00000002L
  2121. #define DB_BINDFLAGS_DELAYFETCHCOLUMNS                    0x00000001L
  2122. #define DB_BINDFLAGS_DELAYFETCHSTREAM                     0x00000002L
  2123. #define DB_BINDFLAGS_RECURSIVE                             0x00000004L
  2124. #define DB_BINDFLAGS_OUTPUT                                 0x00000008L
  2125. #define DB_BINDFLAGS_COLLECTION                             0x00000010L
  2126. #define DB_BINDFLAGS_OPENIFEXISTS                         0x00000020L
  2127. #define DB_BINDFLAGS_OVERWRITE                             0x00000040L
  2128. #define DB_BINDFLAGS_ISSTRUCTUREDDOCUMENT                 0x00000080L
  2129. #define DBPROPVAL_ORS_TABLE                                 0x00000000L
  2130. #define DBPROPVAL_ORS_INDEX                               0x00000001L
  2131. #define DBPROPVAL_ORS_INTEGRATEDINDEX                     0x00000002L
  2132. #define DBPROPVAL_TC_DDL_LOCK                             0x00000010L
  2133. #define DBPROPVAL_ORS_STOREDPROC                             0x00000004L
  2134. #define DBPROPVAL_IN_ALLOWNULL                             0x00000000L
  2135. #endif // OLEDBVER >= 0x0210
  2136. //@@@- V2.1
  2137. //@@@+ V2.5
  2138. #if( OLEDBVER >= 0x0250 )
  2139. #define DBPROPVAL_OO_SINGLETON                            0x00000020L
  2140. #define DBPROPVAL_OS_AGR_AFTERSESSION                    0x00000008L
  2141. #define DBPROPVAL_CM_TRANSACTIONS                        0x00000001L
  2142. #endif // OLEDBVER >= 0x0250
  2143. //@@@- V2.5
  2144. #define DB_IMP_LEVEL_ANONYMOUS       0x00
  2145. #define DB_IMP_LEVEL_IDENTIFY        0x01
  2146. #define DB_IMP_LEVEL_IMPERSONATE     0x02
  2147. #define DB_IMP_LEVEL_DELEGATE        0x03
  2148. #define DBPROMPT_PROMPT              0x01
  2149. #define DBPROMPT_COMPLETE            0x02
  2150. #define DBPROMPT_COMPLETEREQUIRED    0x03
  2151. #define DBPROMPT_NOPROMPT            0x04
  2152. #define DB_PROT_LEVEL_NONE           0x00
  2153. #define DB_PROT_LEVEL_CONNECT        0x01
  2154. #define DB_PROT_LEVEL_CALL           0x02
  2155. #define DB_PROT_LEVEL_PKT            0x03
  2156. #define DB_PROT_LEVEL_PKT_INTEGRITY  0x04
  2157. #define DB_PROT_LEVEL_PKT_PRIVACY    0x05
  2158. #define DB_MODE_READ                 0x01
  2159. #define DB_MODE_WRITE                0x02
  2160. #define DB_MODE_READWRITE            0x03
  2161. #define DB_MODE_SHARE_DENY_READ      0x04
  2162. #define DB_MODE_SHARE_DENY_WRITE     0x08
  2163. #define DB_MODE_SHARE_EXCLUSIVE        0x0c
  2164. #define DB_MODE_SHARE_DENY_NONE        0x10
  2165. #define DBCOMPUTEMODE_COMPUTED       0x01
  2166. #define DBCOMPUTEMODE_DYNAMIC        0x02
  2167. #define DBCOMPUTEMODE_NOTCOMPUTED    0x03
  2168. #define DBPROPVAL_DF_INITIALLY_DEFERRED      0x01
  2169. #define DBPROPVAL_DF_INITIALLY_IMMEDIATE     0x02
  2170. #define DBPROPVAL_DF_NOT_DEFERRABLE            0x03
  2171. typedef struct tagDBPARAMS
  2172.     {
  2173.     void __RPC_FAR *pData;
  2174.     DB_UPARAMS cParamSets;
  2175.     HACCESSOR hAccessor;
  2176.     }    DBPARAMS;
  2177.  
  2178. typedef DWORD DBPARAMFLAGS;
  2179.  
  2180.  
  2181. enum DBPARAMFLAGSENUM
  2182.     {    DBPARAMFLAGS_ISINPUT    = 0x1,
  2183.     DBPARAMFLAGS_ISOUTPUT    = 0x2,
  2184.     DBPARAMFLAGS_ISSIGNED    = 0x10,
  2185.     DBPARAMFLAGS_ISNULLABLE    = 0x40,
  2186.     DBPARAMFLAGS_ISLONG    = 0x80
  2187.     };
  2188. //@@@+ V2.0
  2189. #if( OLEDBVER >= 0x0200 )
  2190.  
  2191. enum DBPARAMFLAGSENUM20
  2192.     {    DBPARAMFLAGS_SCALEISNEGATIVE    = 0x100
  2193.     };
  2194. #endif // OLEDBVER >= 0x0200
  2195. //@@@- V2.0
  2196. typedef struct tagDBPARAMINFO
  2197.     {
  2198.     DBPARAMFLAGS dwFlags;
  2199.     DBORDINAL iOrdinal;
  2200.     LPOLESTR pwszName;
  2201.     ITypeInfo __RPC_FAR *pTypeInfo;
  2202.     DBLENGTH ulParamSize;
  2203.     DBTYPE wType;
  2204.     BYTE bPrecision;
  2205.     BYTE bScale;
  2206.     }    DBPARAMINFO;
  2207.  
  2208. typedef DWORD DBPROPID;
  2209.  
  2210. typedef struct tagDBPROPIDSET
  2211.     {
  2212.     /* [size_is] */ DBPROPID __RPC_FAR *rgPropertyIDs;
  2213.     ULONG cPropertyIDs;
  2214.     GUID guidPropertySet;
  2215.     }    DBPROPIDSET;
  2216.  
  2217. typedef DWORD DBPROPFLAGS;
  2218.  
  2219.  
  2220. enum DBPROPFLAGSENUM
  2221.     {    DBPROPFLAGS_NOTSUPPORTED    = 0,
  2222.     DBPROPFLAGS_COLUMN    = 0x1,
  2223.     DBPROPFLAGS_DATASOURCE    = 0x2,
  2224.     DBPROPFLAGS_DATASOURCECREATE    = 0x4,
  2225.     DBPROPFLAGS_DATASOURCEINFO    = 0x8,
  2226.     DBPROPFLAGS_DBINIT    = 0x10,
  2227.     DBPROPFLAGS_INDEX    = 0x20,
  2228.     DBPROPFLAGS_ROWSET    = 0x40,
  2229.     DBPROPFLAGS_TABLE    = 0x80,
  2230.     DBPROPFLAGS_COLUMNOK    = 0x100,
  2231.     DBPROPFLAGS_READ    = 0x200,
  2232.     DBPROPFLAGS_WRITE    = 0x400,
  2233.     DBPROPFLAGS_REQUIRED    = 0x800,
  2234.     DBPROPFLAGS_SESSION    = 0x1000
  2235.     };
  2236. //@@@+ V2.1
  2237. #if( OLEDBVER >= 0x0210 )
  2238.  
  2239. enum DBPROPFLAGSENUM21
  2240.     {    DBPROPFLAGS_TRUSTEE    = 0x2000
  2241.     };
  2242. #endif // OLEDBVER >= 0x0210
  2243. //@@@- V2.1
  2244. //@@@+ V2.5
  2245. #if( OLEDBVER >= 0x0250 )
  2246.  
  2247. enum DBPROPFLAGSENUM25
  2248.     {    DBPROPFLAGS_VIEW    = 0x4000
  2249.     };
  2250. #endif // OLEDBVER >= 0x0250
  2251. //@@@- V2.5
  2252. typedef struct tagDBPROPINFO
  2253.     {
  2254.     LPOLESTR pwszDescription;
  2255.     DBPROPID dwPropertyID;
  2256.     DBPROPFLAGS dwFlags;
  2257.     VARTYPE vtType;
  2258.     VARIANT vValues;
  2259.     }    DBPROPINFO;
  2260.  
  2261. #if 0 
  2262. //DBPROPINFO is an unaligned structure. MIDL workaround. 42212352
  2263. typedef DBPROPINFO __RPC_FAR *PDBPROPINFO;
  2264.  
  2265. #else
  2266. typedef DBPROPINFO UNALIGNED __RPC_FAR * PDBPROPINFO;
  2267. #endif
  2268. typedef struct tagDBPROPINFOSET
  2269.     {
  2270.     /* [size_is] */ PDBPROPINFO rgPropertyInfos;
  2271.     ULONG cPropertyInfos;
  2272.     GUID guidPropertySet;
  2273.     }    DBPROPINFOSET;
  2274.  
  2275. typedef DWORD DBPROPOPTIONS;
  2276.  
  2277. // DBPROPOPTIONS_SETIFCHEAP is deprecated; use DBPROPOPTIONS_OPTIONAL instead.
  2278.  
  2279. enum DBPROPOPTIONSENUM
  2280.     {    DBPROPOPTIONS_REQUIRED    = 0,
  2281.     DBPROPOPTIONS_SETIFCHEAP    = 0x1,
  2282.     DBPROPOPTIONS_OPTIONAL    = 0x1
  2283.     };
  2284. typedef DWORD DBPROPSTATUS;
  2285.  
  2286.  
  2287. enum DBPROPSTATUSENUM
  2288.     {    DBPROPSTATUS_OK    = 0,
  2289.     DBPROPSTATUS_NOTSUPPORTED    = 1,
  2290.     DBPROPSTATUS_BADVALUE    = 2,
  2291.     DBPROPSTATUS_BADOPTION    = 3,
  2292.     DBPROPSTATUS_BADCOLUMN    = 4,
  2293.     DBPROPSTATUS_NOTALLSETTABLE    = 5,
  2294.     DBPROPSTATUS_NOTSETTABLE    = 6,
  2295.     DBPROPSTATUS_NOTSET    = 7,
  2296.     DBPROPSTATUS_CONFLICTING    = 8
  2297.     };
  2298. //@@@+ V2.1
  2299. #if( OLEDBVER >= 0x0210 )
  2300.  
  2301. enum DBPROPSTATUSENUM21
  2302.     {    DBPROPSTATUS_NOTAVAILABLE    = 9
  2303.     };
  2304. #endif // OLEDBVER >= 0x0210
  2305. //@@@- V2.1
  2306. typedef struct tagDBPROP
  2307.     {
  2308.     DBPROPID dwPropertyID;
  2309.     DBPROPOPTIONS dwOptions;
  2310.     DBPROPSTATUS dwStatus;
  2311.     DBID colid;
  2312.     VARIANT vValue;
  2313.     }    DBPROP;
  2314.  
  2315. typedef struct tagDBPROPSET
  2316.     {
  2317.     /* [size_is] */ DBPROP __RPC_FAR *rgProperties;
  2318.     ULONG cProperties;
  2319.     GUID guidPropertySet;
  2320.     }    DBPROPSET;
  2321.  
  2322. #define DBPARAMTYPE_INPUT            0x01
  2323. #define DBPARAMTYPE_INPUTOUTPUT        0x02
  2324. #define DBPARAMTYPE_OUTPUT            0x03
  2325. #define DBPARAMTYPE_RETURNVALUE        0x04
  2326. #define DB_PT_UNKNOWN                0x01
  2327. #define DB_PT_PROCEDURE                0x02
  2328. #define DB_PT_FUNCTION                0x03
  2329. #define DB_REMOTE                    0x01
  2330. #define DB_LOCAL_SHARED                0x02
  2331. #define DB_LOCAL_EXCLUSIVE            0x03
  2332. #define DB_COLLATION_ASC                0x01
  2333. #define DB_COLLATION_DESC            0x02
  2334. #define DB_UNSEARCHABLE                0x01
  2335. #define DB_LIKE_ONLY                    0x02
  2336. #define DB_ALL_EXCEPT_LIKE            0x03
  2337. #define DB_SEARCHABLE                0x04
  2338. //@@@+ V2.0
  2339. #if( OLEDBVER >= 0x0200 )
  2340. #define MDTREEOP_CHILDREN            0x01
  2341. #define MDTREEOP_SIBLINGS            0x02
  2342. #define MDTREEOP_PARENT              0x04
  2343. #define MDTREEOP_SELF                0x08
  2344. #define MDTREEOP_DESCENDANTS         0x10
  2345. #define MDTREEOP_ANCESTORS            0x20
  2346. #define MD_DIMTYPE_UNKNOWN           0x00
  2347. #define MD_DIMTYPE_TIME              0x01
  2348. #define MD_DIMTYPE_MEASURE           0x02
  2349. #define MD_DIMTYPE_OTHER             0x03
  2350. #define MDLEVEL_TYPE_UNKNOWN         0x0000
  2351. #define MDLEVEL_TYPE_REGULAR         0x0000
  2352. #define MDLEVEL_TYPE_ALL             0x0001
  2353. #define MDLEVEL_TYPE_CALCULATED      0x0002
  2354. #define MDLEVEL_TYPE_TIME            0x0004
  2355. #define MDLEVEL_TYPE_RESERVED1       0x0008
  2356. #define MDLEVEL_TYPE_TIME_YEARS      0x0014
  2357. #define MDLEVEL_TYPE_TIME_HALF_YEAR  0x0024
  2358. #define MDLEVEL_TYPE_TIME_QUARTERS   0x0044
  2359. #define MDLEVEL_TYPE_TIME_MONTHS     0x0084
  2360. #define MDLEVEL_TYPE_TIME_WEEKS      0x0104
  2361. #define MDLEVEL_TYPE_TIME_DAYS       0x0204
  2362. #define MDLEVEL_TYPE_TIME_HOURS      0x0304
  2363. #define MDLEVEL_TYPE_TIME_MINUTES    0x0404
  2364. #define MDLEVEL_TYPE_TIME_SECONDS    0x0804
  2365. #define MDLEVEL_TYPE_TIME_UNDEFINED  0x1004
  2366. #define MDMEASURE_AGGR_UNKNOWN       0x00
  2367. #define MDMEASURE_AGGR_SUM           0x01
  2368. #define MDMEASURE_AGGR_COUNT         0x02
  2369. #define MDMEASURE_AGGR_MIN           0x03
  2370. #define MDMEASURE_AGGR_MAX           0x04
  2371. #define MDMEASURE_AGGR_AVG           0x05
  2372. #define MDMEASURE_AGGR_VAR           0x06
  2373. #define MDMEASURE_AGGR_STD           0x07
  2374. #define MDMEASURE_AGGR_CALCULATED    0x7f
  2375. #define MDPROP_MEMBER                0x01
  2376. #define MDPROP_CELL                  0x02
  2377. #define MDMEMBER_TYPE_UNKNOWN        0x00
  2378. #define MDMEMBER_TYPE_REGULAR        0x01
  2379. #define MDMEMBER_TYPE_ALL            0x02
  2380. #define MDMEMBER_TYPE_MEASURE        0x03
  2381. #define MDMEMBER_TYPE_FORMULA        0x04
  2382. #define MDMEMBER_TYPE_RESERVE1       0x05
  2383. #define MDMEMBER_TYPE_RESERVE2       0x06
  2384. #define MDMEMBER_TYPE_RESERVE3       0x07
  2385. #define MDMEMBER_TYPE_RESERVE4       0x08
  2386. #define MDDISPINFO_DRILLED_DOWN                0x00010000
  2387. #define MDDISPINFO_PARENT_SAME_AS_PREV        0x00020000
  2388. #endif // OLEDBVER >= 0x0200
  2389. //@@@- V2.0
  2390. typedef DWORD DBINDEX_COL_ORDER;
  2391.  
  2392.  
  2393. enum DBINDEX_COL_ORDERENUM
  2394.     {    DBINDEX_COL_ORDER_ASC    = 0,
  2395.     DBINDEX_COL_ORDER_DESC    = DBINDEX_COL_ORDER_ASC + 1
  2396.     };
  2397. typedef struct tagDBINDEXCOLUMNDESC
  2398.     {
  2399.     DBID __RPC_FAR *pColumnID;
  2400.     DBINDEX_COL_ORDER eIndexColOrder;
  2401.     }    DBINDEXCOLUMNDESC;
  2402.  
  2403. typedef struct tagDBCOLUMNDESC
  2404.     {
  2405.     LPOLESTR pwszTypeName;
  2406.     ITypeInfo __RPC_FAR *pTypeInfo;
  2407.     /* [size_is] */ DBPROPSET __RPC_FAR *rgPropertySets;
  2408.     CLSID __RPC_FAR *pclsid;
  2409.     ULONG cPropertySets;
  2410.     DBLENGTH ulColumnSize;
  2411.     DBID dbcid;
  2412.     DBTYPE wType;
  2413.     BYTE bPrecision;
  2414.     BYTE bScale;
  2415.     }    DBCOLUMNDESC;
  2416.  
  2417. //@@@+ V2.1
  2418. #if( OLEDBVER >= 0x0210 )
  2419. typedef struct tagDBCOLUMNACCESS
  2420.     {
  2421.     void __RPC_FAR *pData;
  2422.     DBID columnid;
  2423.     DBLENGTH cbDataLen;
  2424.     DBSTATUS dwStatus;
  2425.     DBLENGTH cbMaxLen;
  2426.     DB_DWRESERVE dwReserved;
  2427.     DBTYPE wType;
  2428.     BYTE bPrecision;
  2429.     BYTE bScale;
  2430.     }    DBCOLUMNACCESS;
  2431.  
  2432. #endif // OLEDBVER >= 0x0210
  2433. //@@@- V2.1
  2434. //@@@+ V2.0
  2435. #if( OLEDBVER >= 0x0200 )
  2436. typedef DWORD DBCOLUMNDESCFLAGS;
  2437.  
  2438.  
  2439. enum DBCOLUMNDESCFLAGSENUM
  2440.     {    DBCOLUMNDESCFLAGS_TYPENAME    = 0x1,
  2441.     DBCOLUMNDESCFLAGS_ITYPEINFO    = 0x2,
  2442.     DBCOLUMNDESCFLAGS_PROPERTIES    = 0x4,
  2443.     DBCOLUMNDESCFLAGS_CLSID    = 0x8,
  2444.     DBCOLUMNDESCFLAGS_COLSIZE    = 0x10,
  2445.     DBCOLUMNDESCFLAGS_DBCID    = 0x20,
  2446.     DBCOLUMNDESCFLAGS_WTYPE    = 0x40,
  2447.     DBCOLUMNDESCFLAGS_PRECISION    = 0x80,
  2448.     DBCOLUMNDESCFLAGS_SCALE    = 0x100
  2449.     };
  2450. #endif // OLEDBVER >= 0x0200
  2451. //@@@- V2.0
  2452. typedef DWORD DBEVENTPHASE;
  2453.  
  2454.  
  2455. enum DBEVENTPHASEENUM
  2456.     {    DBEVENTPHASE_OKTODO    = 0,
  2457.     DBEVENTPHASE_ABOUTTODO    = DBEVENTPHASE_OKTODO + 1,
  2458.     DBEVENTPHASE_SYNCHAFTER    = DBEVENTPHASE_ABOUTTODO + 1,
  2459.     DBEVENTPHASE_FAILEDTODO    = DBEVENTPHASE_SYNCHAFTER + 1,
  2460.     DBEVENTPHASE_DIDEVENT    = DBEVENTPHASE_FAILEDTODO + 1
  2461.     };
  2462. typedef DWORD DBREASON;
  2463.  
  2464.  
  2465. enum DBREASONENUM
  2466.     {    DBREASON_ROWSET_FETCHPOSITIONCHANGE    = 0,
  2467.     DBREASON_ROWSET_RELEASE    = DBREASON_ROWSET_FETCHPOSITIONCHANGE + 1,
  2468.     DBREASON_COLUMN_SET    = DBREASON_ROWSET_RELEASE + 1,
  2469.     DBREASON_COLUMN_RECALCULATED    = DBREASON_COLUMN_SET + 1,
  2470.     DBREASON_ROW_ACTIVATE    = DBREASON_COLUMN_RECALCULATED + 1,
  2471.     DBREASON_ROW_RELEASE    = DBREASON_ROW_ACTIVATE + 1,
  2472.     DBREASON_ROW_DELETE    = DBREASON_ROW_RELEASE + 1,
  2473.     DBREASON_ROW_FIRSTCHANGE    = DBREASON_ROW_DELETE + 1,
  2474.     DBREASON_ROW_INSERT    = DBREASON_ROW_FIRSTCHANGE + 1,
  2475.     DBREASON_ROW_RESYNCH    = DBREASON_ROW_INSERT + 1,
  2476.     DBREASON_ROW_UNDOCHANGE    = DBREASON_ROW_RESYNCH + 1,
  2477.     DBREASON_ROW_UNDOINSERT    = DBREASON_ROW_UNDOCHANGE + 1,
  2478.     DBREASON_ROW_UNDODELETE    = DBREASON_ROW_UNDOINSERT + 1,
  2479.     DBREASON_ROW_UPDATE    = DBREASON_ROW_UNDODELETE + 1,
  2480.     DBREASON_ROWSET_CHANGED    = DBREASON_ROW_UPDATE + 1
  2481.     };
  2482. //@@@+ V1.5
  2483. #if( OLEDBVER >= 0x0150 )
  2484.  
  2485. enum DBREASONENUM15
  2486.     {    DBREASON_ROWPOSITION_CHANGED    = DBREASON_ROWSET_CHANGED + 1,
  2487.     DBREASON_ROWPOSITION_CHAPTERCHANGED    = DBREASON_ROWPOSITION_CHANGED + 1,
  2488.     DBREASON_ROWPOSITION_CLEARED    = DBREASON_ROWPOSITION_CHAPTERCHANGED + 1,
  2489.     DBREASON_ROW_ASYNCHINSERT    = DBREASON_ROWPOSITION_CLEARED + 1
  2490.     };
  2491. #endif // OLEDBVER >= 0x0150
  2492. //@@@- V1.5
  2493. //@@@+ V1.5
  2494. #if( OLEDBVER >= 0x0150 )
  2495. typedef DWORD DBCOMPAREOP;
  2496.  
  2497.  
  2498. enum DBCOMPAREOPSENUM
  2499.     {    DBCOMPAREOPS_LT    = 0,
  2500.     DBCOMPAREOPS_LE    = 1,
  2501.     DBCOMPAREOPS_EQ    = 2,
  2502.     DBCOMPAREOPS_GE    = 3,
  2503.     DBCOMPAREOPS_GT    = 4,
  2504.     DBCOMPAREOPS_BEGINSWITH    = 5,
  2505.     DBCOMPAREOPS_CONTAINS    = 6,
  2506.     DBCOMPAREOPS_NE    = 7,
  2507.     DBCOMPAREOPS_IGNORE    = 8,
  2508.     DBCOMPAREOPS_CASESENSITIVE    = 0x1000,
  2509.     DBCOMPAREOPS_CASEINSENSITIVE    = 0x2000
  2510.     };
  2511. //@@@+ V2.0
  2512. #if( OLEDBVER >= 0x0200 )
  2513.  
  2514. enum DBCOMPAREOPSENUM20
  2515.     {    DBCOMPAREOPS_NOTBEGINSWITH    = 9,
  2516.     DBCOMPAREOPS_NOTCONTAINS    = 10
  2517.     };
  2518. #endif // OLEDBVER >= 0x0200
  2519. //@@@- V2.0
  2520. typedef DWORD DBASYNCHOP;
  2521.  
  2522.  
  2523. enum DBASYNCHOPENUM
  2524.     {    DBASYNCHOP_OPEN    = 0
  2525.     };
  2526. typedef DWORD DBASYNCHPHASE;
  2527.  
  2528.  
  2529. enum DBASYNCHPHASEENUM
  2530.     {    DBASYNCHPHASE_INITIALIZATION    = 0,
  2531.     DBASYNCHPHASE_POPULATION    = DBASYNCHPHASE_INITIALIZATION + 1,
  2532.     DBASYNCHPHASE_COMPLETE    = DBASYNCHPHASE_POPULATION + 1,
  2533.     DBASYNCHPHASE_CANCELED    = DBASYNCHPHASE_COMPLETE + 1
  2534.     };
  2535. #define DB_COUNTUNAVAILABLE -1
  2536. #endif // OLEDBVER >= 0x0150
  2537. //@@@- V1.5
  2538. typedef DWORD DBSORT;
  2539.  
  2540.  
  2541. enum DBSORTENUM
  2542.     {    DBSORT_ASCENDING    = 0,
  2543.     DBSORT_DESCENDING    = DBSORT_ASCENDING + 1
  2544.     };
  2545. #if( OLEDBVER >= 0x0200 )
  2546. typedef DWORD DBCOMMANDPERSISTFLAG;
  2547.  
  2548.  
  2549. enum DBCOMMANDPERSISTFLAGENUM
  2550.     {    DBCOMMANDPERSISTFLAG_NOSAVE    = 0x1
  2551.     };
  2552. #endif // OLEDBVER >= 0x0200
  2553. //@@@- V2.0
  2554. #if( OLEDBVER >= 0x0210 )
  2555.  
  2556. enum DBCOMMANDPERSISTFLAGENUM21
  2557.     {    DBCOMMANDPERSISTFLAG_DEFAULT    = 0,
  2558.     DBCOMMANDPERSISTFLAG_PERSISTVIEW    = 0x2,
  2559.     DBCOMMANDPERSISTFLAG_PERSISTPROCEDURE    = 0x4
  2560.     };
  2561. typedef DWORD DBCONSTRAINTTYPE;
  2562.  
  2563.  
  2564. enum DBCONSTRAINTTYPEENUM
  2565.     {    DBCONSTRAINTTYPE_UNIQUE    = 0,
  2566.     DBCONSTRAINTTYPE_FOREIGNKEY    = 0x1,
  2567.     DBCONSTRAINTTYPE_PRIMARYKEY    = 0x2,
  2568.     DBCONSTRAINTTYPE_CHECK    = 0x3
  2569.     };
  2570. typedef DWORD DBUPDELRULE;
  2571.  
  2572.  
  2573. enum DBUPDELRULEENUM
  2574.     {    DBUPDELRULE_NOACTION    = 0,
  2575.     DBUPDELRULE_CASCADE    = 0x1,
  2576.     DBUPDELRULE_SETNULL    = 0x2,
  2577.     DBUPDELRULE_SETDEFAULT    = 0x3
  2578.     };
  2579. typedef DWORD DBMATCHTYPE;
  2580.  
  2581.  
  2582. enum DBMATCHTYPEENUM
  2583.     {    DBMATCHTYPE_FULL    = 0,
  2584.     DBMATCHTYPE_NONE    = 0x1,
  2585.     DBMATCHTYPE_PARTIAL    = 0x2
  2586.     };
  2587. typedef DWORD DBDEFERRABILITY;
  2588.  
  2589.  
  2590. enum DBDEFERRABILITYENUM
  2591.     {    DBDEFERRABILITY_DEFERRED    = 0x1,
  2592.     DBDEFERRABILITY_DEFERRABLE    = 0x2
  2593.     };
  2594. typedef struct tagDBCONSTRAINTDESC
  2595.     {
  2596.     DBID __RPC_FAR *pConstraintID;
  2597.     DBCONSTRAINTTYPE ConstraintType;
  2598.     DBORDINAL cColumns;
  2599.     /* [size_is] */ DBID __RPC_FAR *rgColumnList;
  2600.     DBID __RPC_FAR *pReferencedTableID;
  2601.     DBORDINAL cForeignKeyColumns;
  2602.     /* [size_is] */ DBID __RPC_FAR *rgForeignKeyColumnList;
  2603.     OLECHAR __RPC_FAR *pwszConstraintText;
  2604.     DBUPDELRULE UpdateRule;
  2605.     DBUPDELRULE DeleteRule;
  2606.     DBMATCHTYPE MatchType;
  2607.     DBDEFERRABILITY Deferrability;
  2608.     DB_URESERVE cReserved;
  2609.     /* [size_is] */ DBPROPSET __RPC_FAR *rgReserved;
  2610.     }    DBCONSTRAINTDESC;
  2611.  
  2612. #endif // OLEDBVER >= 0x0210
  2613. //@@@- V2.1
  2614. //@@@+ V2.0
  2615. #if( OLEDBVER >= 0x0200 )
  2616. #define MDFF_BOLD                    0x01
  2617. #define MDFF_ITALIC                  0x02
  2618. #define MDFF_UNDERLINE               0x04
  2619. #define MDFF_STRIKEOUT               0x08
  2620. typedef struct tagMDAXISINFO
  2621.     {
  2622.     DBLENGTH cbSize;
  2623.     DBCOUNTITEM iAxis;
  2624.     DBCOUNTITEM cDimensions;
  2625.     DBCOUNTITEM cCoordinates;
  2626.     DBORDINAL __RPC_FAR *rgcColumns;
  2627.     LPOLESTR __RPC_FAR *rgpwszDimensionNames;
  2628.     }    MDAXISINFO;
  2629.  
  2630. #define PMDAXISINFO_GETAT(rgAxisInfo, iAxis) ((MDAXISINFO *)(((BYTE *)(rgAxisInfo)) +((iAxis) * (rgAxisInfo)[0].cbSize)))
  2631. #define MDAXISINFO_GETAT(rgAxisInfo, iAxis) (*PMDAXISINFO_GETAT((rgAxisInfo), (iAxis)))
  2632. #define MDAXIS_COLUMNS               0x00000000
  2633. #define MDAXIS_ROWS                  0x00000001
  2634. #define MDAXIS_PAGES                 0x00000002
  2635. #define MDAXIS_SECTIONS              0x00000003
  2636. #define MDAXIS_CHAPTERS              0x00000004
  2637. #define MDAXIS_SLICERS               0xffffffff
  2638. #endif // OLEDBVER >= 0x0200
  2639. //@@@- V2.0
  2640. typedef struct tagRMTPACK
  2641.     {
  2642.     ISequentialStream __RPC_FAR *pISeqStream;
  2643.     ULONG cbData;
  2644.     ULONG cBSTR;
  2645.     /* [size_is] */ BSTR __RPC_FAR *rgBSTR;
  2646.     ULONG cVARIANT;
  2647.     /* [size_is] */ VARIANT __RPC_FAR *rgVARIANT;
  2648.     ULONG cIDISPATCH;
  2649.     /* [size_is] */ IDispatch __RPC_FAR *__RPC_FAR *rgIDISPATCH;
  2650.     ULONG cIUNKNOWN;
  2651.     /* [size_is] */ IUnknown __RPC_FAR *__RPC_FAR *rgIUNKNOWN;
  2652.     ULONG cPROPVARIANT;
  2653.     /* [size_is] */ PROPVARIANT __RPC_FAR *rgPROPVARIANT;
  2654.     ULONG cArray;
  2655.     /* [size_is] */ VARIANT __RPC_FAR *rgArray;
  2656.     }    RMTPACK;
  2657.  
  2658.  
  2659. #endif // GUID_DEFS_ONLY
  2660.  
  2661.  
  2662. extern RPC_IF_HANDLE DBStructureDefinitions_v0_0_c_ifspec;
  2663. extern RPC_IF_HANDLE DBStructureDefinitions_v0_0_s_ifspec;
  2664. #endif /* __DBStructureDefinitions_INTERFACE_DEFINED__ */
  2665.  
  2666. /* interface __MIDL_itf_oledb_0257 */
  2667. /* [local] */ 
  2668.  
  2669. #ifndef GUID_DEFS_ONLY
  2670.  
  2671.  
  2672.  
  2673. extern RPC_IF_HANDLE __MIDL_itf_oledb_0257_v0_0_c_ifspec;
  2674. extern RPC_IF_HANDLE __MIDL_itf_oledb_0257_v0_0_s_ifspec;
  2675.  
  2676. #ifndef __IAccessor_INTERFACE_DEFINED__
  2677. #define __IAccessor_INTERFACE_DEFINED__
  2678.  
  2679. /* interface IAccessor */
  2680. /* [unique][uuid][object] */ 
  2681.  
  2682. typedef DWORD DBACCESSORFLAGS;
  2683.  
  2684.  
  2685. enum DBACCESSORFLAGSENUM
  2686.     {    DBACCESSOR_INVALID    = 0,
  2687.     DBACCESSOR_PASSBYREF    = 0x1,
  2688.     DBACCESSOR_ROWDATA    = 0x2,
  2689.     DBACCESSOR_PARAMETERDATA    = 0x4,
  2690.     DBACCESSOR_OPTIMIZED    = 0x8,
  2691.     DBACCESSOR_INHERITED    = 0x10
  2692.     };
  2693. typedef DWORD DBBINDSTATUS;
  2694.  
  2695.  
  2696. enum DBBINDSTATUSENUM
  2697.     {    DBBINDSTATUS_OK    = 0,
  2698.     DBBINDSTATUS_BADORDINAL    = 1,
  2699.     DBBINDSTATUS_UNSUPPORTEDCONVERSION    = 2,
  2700.     DBBINDSTATUS_BADBINDINFO    = 3,
  2701.     DBBINDSTATUS_BADSTORAGEFLAGS    = 4,
  2702.     DBBINDSTATUS_NOINTERFACE    = 5,
  2703.     DBBINDSTATUS_MULTIPLESTORAGE    = 6
  2704.     };
  2705.  
  2706. EXTERN_C const IID IID_IAccessor;
  2707.  
  2708. #if defined(__cplusplus) && !defined(CINTERFACE)
  2709.     
  2710.     MIDL_INTERFACE("0c733a8c-2a1c-11ce-ade5-00aa0044773d")
  2711.     IAccessor : public IUnknown
  2712.     {
  2713.     public:
  2714.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddRefAccessor( 
  2715.             /* [in] */ HACCESSOR hAccessor,
  2716.             /* [unique][out][in] */ DBREFCOUNT __RPC_FAR *pcRefCount) = 0;
  2717.         
  2718.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateAccessor( 
  2719.             /* [in] */ DBACCESSORFLAGS dwAccessorFlags,
  2720.             /* [in] */ DBCOUNTITEM cBindings,
  2721.             /* [size_is][in] */ const DBBINDING __RPC_FAR rgBindings[  ],
  2722.             /* [in] */ DBLENGTH cbRowSize,
  2723.             /* [out] */ HACCESSOR __RPC_FAR *phAccessor,
  2724.             /* [size_is][out] */ DBBINDSTATUS __RPC_FAR rgStatus[  ]) = 0;
  2725.         
  2726.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetBindings( 
  2727.             /* [in] */ HACCESSOR hAccessor,
  2728.             /* [out] */ DBACCESSORFLAGS __RPC_FAR *pdwAccessorFlags,
  2729.             /* [out][in] */ DBCOUNTITEM __RPC_FAR *pcBindings,
  2730.             /* [size_is][size_is][out] */ DBBINDING __RPC_FAR *__RPC_FAR *prgBindings) = 0;
  2731.         
  2732.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE ReleaseAccessor( 
  2733.             /* [in] */ HACCESSOR hAccessor,
  2734.             /* [unique][out][in] */ DBREFCOUNT __RPC_FAR *pcRefCount) = 0;
  2735.         
  2736.     };
  2737.     
  2738. #else     /* C style interface */
  2739.  
  2740.     typedef struct IAccessorVtbl
  2741.     {
  2742.         BEGIN_INTERFACE
  2743.         
  2744.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2745.             IAccessor __RPC_FAR * This,
  2746.             /* [in] */ REFIID riid,
  2747.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2748.         
  2749.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2750.             IAccessor __RPC_FAR * This);
  2751.         
  2752.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2753.             IAccessor __RPC_FAR * This);
  2754.         
  2755.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddRefAccessor )( 
  2756.             IAccessor __RPC_FAR * This,
  2757.             /* [in] */ HACCESSOR hAccessor,
  2758.             /* [unique][out][in] */ DBREFCOUNT __RPC_FAR *pcRefCount);
  2759.         
  2760.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateAccessor )( 
  2761.             IAccessor __RPC_FAR * This,
  2762.             /* [in] */ DBACCESSORFLAGS dwAccessorFlags,
  2763.             /* [in] */ DBCOUNTITEM cBindings,
  2764.             /* [size_is][in] */ const DBBINDING __RPC_FAR rgBindings[  ],
  2765.             /* [in] */ DBLENGTH cbRowSize,
  2766.             /* [out] */ HACCESSOR __RPC_FAR *phAccessor,
  2767.             /* [size_is][out] */ DBBINDSTATUS __RPC_FAR rgStatus[  ]);
  2768.         
  2769.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBindings )( 
  2770.             IAccessor __RPC_FAR * This,
  2771.             /* [in] */ HACCESSOR hAccessor,
  2772.             /* [out] */ DBACCESSORFLAGS __RPC_FAR *pdwAccessorFlags,
  2773.             /* [out][in] */ DBCOUNTITEM __RPC_FAR *pcBindings,
  2774.             /* [size_is][size_is][out] */ DBBINDING __RPC_FAR *__RPC_FAR *prgBindings);
  2775.         
  2776.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseAccessor )( 
  2777.             IAccessor __RPC_FAR * This,
  2778.             /* [in] */ HACCESSOR hAccessor,
  2779.             /* [unique][out][in] */ DBREFCOUNT __RPC_FAR *pcRefCount);
  2780.         
  2781.         END_INTERFACE
  2782.     } IAccessorVtbl;
  2783.  
  2784.     interface IAccessor
  2785.     {
  2786.         CONST_VTBL struct IAccessorVtbl __RPC_FAR *lpVtbl;
  2787.     };
  2788.  
  2789.     
  2790.  
  2791. #ifdef COBJMACROS
  2792.  
  2793.  
  2794. #define IAccessor_QueryInterface(This,riid,ppvObject)    \
  2795.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2796.  
  2797. #define IAccessor_AddRef(This)    \
  2798.     (This)->lpVtbl -> AddRef(This)
  2799.  
  2800. #define IAccessor_Release(This)    \
  2801.     (This)->lpVtbl -> Release(This)
  2802.  
  2803.  
  2804. #define IAccessor_AddRefAccessor(This,hAccessor,pcRefCount)    \
  2805.     (This)->lpVtbl -> AddRefAccessor(This,hAccessor,pcRefCount)
  2806.  
  2807. #define IAccessor_CreateAccessor(This,dwAccessorFlags,cBindings,rgBindings,cbRowSize,phAccessor,rgStatus)    \
  2808.     (This)->lpVtbl -> CreateAccessor(This,dwAccessorFlags,cBindings,rgBindings,cbRowSize,phAccessor,rgStatus)
  2809.  
  2810. #define IAccessor_GetBindings(This,hAccessor,pdwAccessorFlags,pcBindings,prgBindings)    \
  2811.     (This)->lpVtbl -> GetBindings(This,hAccessor,pdwAccessorFlags,pcBindings,prgBindings)
  2812.  
  2813. #define IAccessor_ReleaseAccessor(This,hAccessor,pcRefCount)    \
  2814.     (This)->lpVtbl -> ReleaseAccessor(This,hAccessor,pcRefCount)
  2815.  
  2816. #endif /* COBJMACROS */
  2817.  
  2818.  
  2819. #endif     /* C style interface */
  2820.  
  2821.  
  2822.  
  2823. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_RemoteAddRefAccessor_Proxy( 
  2824.     IAccessor __RPC_FAR * This,
  2825.     /* [in] */ HACCESSOR hAccessor,
  2826.     /* [unique][out][in] */ DBREFCOUNT __RPC_FAR *pcRefCount,
  2827.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  2828.  
  2829.  
  2830. void __RPC_STUB IAccessor_RemoteAddRefAccessor_Stub(
  2831.     IRpcStubBuffer *This,
  2832.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2833.     PRPC_MESSAGE _pRpcMessage,
  2834.     DWORD *_pdwStubPhase);
  2835.  
  2836.  
  2837. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_RemoteCreateAccessor_Proxy( 
  2838.     IAccessor __RPC_FAR * This,
  2839.     /* [in] */ DBACCESSORFLAGS dwAccessorFlags,
  2840.     /* [in] */ DBCOUNTITEM cBindings,
  2841.     /* [size_is][unique][in] */ DBBINDING __RPC_FAR *rgBindings,
  2842.     /* [in] */ DBLENGTH cbRowSize,
  2843.     /* [out] */ HACCESSOR __RPC_FAR *phAccessor,
  2844.     /* [size_is][unique][out][in] */ DBBINDSTATUS __RPC_FAR *rgStatus,
  2845.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  2846.  
  2847.  
  2848. void __RPC_STUB IAccessor_RemoteCreateAccessor_Stub(
  2849.     IRpcStubBuffer *This,
  2850.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2851.     PRPC_MESSAGE _pRpcMessage,
  2852.     DWORD *_pdwStubPhase);
  2853.  
  2854.  
  2855. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_RemoteGetBindings_Proxy( 
  2856.     IAccessor __RPC_FAR * This,
  2857.     /* [in] */ HACCESSOR hAccessor,
  2858.     /* [out] */ DBACCESSORFLAGS __RPC_FAR *pdwAccessorFlags,
  2859.     /* [out][in] */ DBCOUNTITEM __RPC_FAR *pcBindings,
  2860.     /* [size_is][size_is][out] */ DBBINDING __RPC_FAR *__RPC_FAR *prgBindings,
  2861.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  2862.  
  2863.  
  2864. void __RPC_STUB IAccessor_RemoteGetBindings_Stub(
  2865.     IRpcStubBuffer *This,
  2866.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2867.     PRPC_MESSAGE _pRpcMessage,
  2868.     DWORD *_pdwStubPhase);
  2869.  
  2870.  
  2871. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_RemoteReleaseAccessor_Proxy( 
  2872.     IAccessor __RPC_FAR * This,
  2873.     /* [in] */ HACCESSOR hAccessor,
  2874.     /* [unique][out][in] */ DBREFCOUNT __RPC_FAR *pcRefCount,
  2875.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  2876.  
  2877.  
  2878. void __RPC_STUB IAccessor_RemoteReleaseAccessor_Stub(
  2879.     IRpcStubBuffer *This,
  2880.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2881.     PRPC_MESSAGE _pRpcMessage,
  2882.     DWORD *_pdwStubPhase);
  2883.  
  2884.  
  2885.  
  2886. #endif     /* __IAccessor_INTERFACE_DEFINED__ */
  2887.  
  2888.  
  2889. #ifndef __IRowset_INTERFACE_DEFINED__
  2890. #define __IRowset_INTERFACE_DEFINED__
  2891.  
  2892. /* interface IRowset */
  2893. /* [unique][uuid][object][local] */ 
  2894.  
  2895. typedef DWORD DBROWOPTIONS;
  2896.  
  2897.  
  2898. EXTERN_C const IID IID_IRowset;
  2899.  
  2900. #if defined(__cplusplus) && !defined(CINTERFACE)
  2901.     
  2902.     MIDL_INTERFACE("0c733a7c-2a1c-11ce-ade5-00aa0044773d")
  2903.     IRowset : public IUnknown
  2904.     {
  2905.     public:
  2906.         virtual HRESULT STDMETHODCALLTYPE AddRefRows( 
  2907.             /* [in] */ DBCOUNTITEM cRows,
  2908.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  2909.             /* [size_is][out] */ DBREFCOUNT __RPC_FAR rgRefCounts[  ],
  2910.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]) = 0;
  2911.         
  2912.         virtual HRESULT STDMETHODCALLTYPE GetData( 
  2913.             /* [in] */ HROW hRow,
  2914.             /* [in] */ HACCESSOR hAccessor,
  2915.             /* [out] */ void __RPC_FAR *pData) = 0;
  2916.         
  2917.         virtual HRESULT STDMETHODCALLTYPE GetNextRows( 
  2918.             /* [in] */ HCHAPTER hReserved,
  2919.             /* [in] */ DBROWOFFSET lRowsOffset,
  2920.             /* [in] */ DBROWCOUNT cRows,
  2921.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRowsObtained,
  2922.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows) = 0;
  2923.         
  2924.         virtual HRESULT STDMETHODCALLTYPE ReleaseRows( 
  2925.             /* [in] */ DBCOUNTITEM cRows,
  2926.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  2927.             /* [size_is][in] */ DBROWOPTIONS __RPC_FAR rgRowOptions[  ],
  2928.             /* [size_is][out] */ DBREFCOUNT __RPC_FAR rgRefCounts[  ],
  2929.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]) = 0;
  2930.         
  2931.         virtual HRESULT STDMETHODCALLTYPE RestartPosition( 
  2932.             /* [in] */ HCHAPTER hReserved) = 0;
  2933.         
  2934.     };
  2935.     
  2936. #else     /* C style interface */
  2937.  
  2938.     typedef struct IRowsetVtbl
  2939.     {
  2940.         BEGIN_INTERFACE
  2941.         
  2942.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2943.             IRowset __RPC_FAR * This,
  2944.             /* [in] */ REFIID riid,
  2945.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2946.         
  2947.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2948.             IRowset __RPC_FAR * This);
  2949.         
  2950.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2951.             IRowset __RPC_FAR * This);
  2952.         
  2953.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddRefRows )( 
  2954.             IRowset __RPC_FAR * This,
  2955.             /* [in] */ DBCOUNTITEM cRows,
  2956.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  2957.             /* [size_is][out] */ DBREFCOUNT __RPC_FAR rgRefCounts[  ],
  2958.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  2959.         
  2960.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetData )( 
  2961.             IRowset __RPC_FAR * This,
  2962.             /* [in] */ HROW hRow,
  2963.             /* [in] */ HACCESSOR hAccessor,
  2964.             /* [out] */ void __RPC_FAR *pData);
  2965.         
  2966.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNextRows )( 
  2967.             IRowset __RPC_FAR * This,
  2968.             /* [in] */ HCHAPTER hReserved,
  2969.             /* [in] */ DBROWOFFSET lRowsOffset,
  2970.             /* [in] */ DBROWCOUNT cRows,
  2971.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRowsObtained,
  2972.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  2973.         
  2974.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseRows )( 
  2975.             IRowset __RPC_FAR * This,
  2976.             /* [in] */ DBCOUNTITEM cRows,
  2977.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  2978.             /* [size_is][in] */ DBROWOPTIONS __RPC_FAR rgRowOptions[  ],
  2979.             /* [size_is][out] */ DBREFCOUNT __RPC_FAR rgRefCounts[  ],
  2980.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  2981.         
  2982.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RestartPosition )( 
  2983.             IRowset __RPC_FAR * This,
  2984.             /* [in] */ HCHAPTER hReserved);
  2985.         
  2986.         END_INTERFACE
  2987.     } IRowsetVtbl;
  2988.  
  2989.     interface IRowset
  2990.     {
  2991.         CONST_VTBL struct IRowsetVtbl __RPC_FAR *lpVtbl;
  2992.     };
  2993.  
  2994.     
  2995.  
  2996. #ifdef COBJMACROS
  2997.  
  2998.  
  2999. #define IRowset_QueryInterface(This,riid,ppvObject)    \
  3000.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3001.  
  3002. #define IRowset_AddRef(This)    \
  3003.     (This)->lpVtbl -> AddRef(This)
  3004.  
  3005. #define IRowset_Release(This)    \
  3006.     (This)->lpVtbl -> Release(This)
  3007.  
  3008.  
  3009. #define IRowset_AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus)    \
  3010.     (This)->lpVtbl -> AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus)
  3011.  
  3012. #define IRowset_GetData(This,hRow,hAccessor,pData)    \
  3013.     (This)->lpVtbl -> GetData(This,hRow,hAccessor,pData)
  3014.  
  3015. #define IRowset_GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows)    \
  3016.     (This)->lpVtbl -> GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows)
  3017.  
  3018. #define IRowset_ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus)    \
  3019.     (This)->lpVtbl -> ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus)
  3020.  
  3021. #define IRowset_RestartPosition(This,hReserved)    \
  3022.     (This)->lpVtbl -> RestartPosition(This,hReserved)
  3023.  
  3024. #endif /* COBJMACROS */
  3025.  
  3026.  
  3027. #endif     /* C style interface */
  3028.  
  3029.  
  3030.  
  3031. HRESULT STDMETHODCALLTYPE IRowset_AddRefRows_Proxy( 
  3032.     IRowset __RPC_FAR * This,
  3033.     /* [in] */ DBCOUNTITEM cRows,
  3034.     /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  3035.     /* [size_is][out] */ DBREFCOUNT __RPC_FAR rgRefCounts[  ],
  3036.     /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  3037.  
  3038.  
  3039. void __RPC_STUB IRowset_AddRefRows_Stub(
  3040.     IRpcStubBuffer *This,
  3041.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3042.     PRPC_MESSAGE _pRpcMessage,
  3043.     DWORD *_pdwStubPhase);
  3044.  
  3045.  
  3046. HRESULT STDMETHODCALLTYPE IRowset_GetData_Proxy( 
  3047.     IRowset __RPC_FAR * This,
  3048.     /* [in] */ HROW hRow,
  3049.     /* [in] */ HACCESSOR hAccessor,
  3050.     /* [out] */ void __RPC_FAR *pData);
  3051.  
  3052.  
  3053. void __RPC_STUB IRowset_GetData_Stub(
  3054.     IRpcStubBuffer *This,
  3055.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3056.     PRPC_MESSAGE _pRpcMessage,
  3057.     DWORD *_pdwStubPhase);
  3058.  
  3059.  
  3060. HRESULT STDMETHODCALLTYPE IRowset_GetNextRows_Proxy( 
  3061.     IRowset __RPC_FAR * This,
  3062.     /* [in] */ HCHAPTER hReserved,
  3063.     /* [in] */ DBROWOFFSET lRowsOffset,
  3064.     /* [in] */ DBROWCOUNT cRows,
  3065.     /* [out] */ DBCOUNTITEM __RPC_FAR *pcRowsObtained,
  3066.     /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  3067.  
  3068.  
  3069. void __RPC_STUB IRowset_GetNextRows_Stub(
  3070.     IRpcStubBuffer *This,
  3071.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3072.     PRPC_MESSAGE _pRpcMessage,
  3073.     DWORD *_pdwStubPhase);
  3074.  
  3075.  
  3076. HRESULT STDMETHODCALLTYPE IRowset_ReleaseRows_Proxy( 
  3077.     IRowset __RPC_FAR * This,
  3078.     /* [in] */ DBCOUNTITEM cRows,
  3079.     /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  3080.     /* [size_is][in] */ DBROWOPTIONS __RPC_FAR rgRowOptions[  ],
  3081.     /* [size_is][out] */ DBREFCOUNT __RPC_FAR rgRefCounts[  ],
  3082.     /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  3083.  
  3084.  
  3085. void __RPC_STUB IRowset_ReleaseRows_Stub(
  3086.     IRpcStubBuffer *This,
  3087.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3088.     PRPC_MESSAGE _pRpcMessage,
  3089.     DWORD *_pdwStubPhase);
  3090.  
  3091.  
  3092. HRESULT STDMETHODCALLTYPE IRowset_RestartPosition_Proxy( 
  3093.     IRowset __RPC_FAR * This,
  3094.     /* [in] */ HCHAPTER hReserved);
  3095.  
  3096.  
  3097. void __RPC_STUB IRowset_RestartPosition_Stub(
  3098.     IRpcStubBuffer *This,
  3099.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3100.     PRPC_MESSAGE _pRpcMessage,
  3101.     DWORD *_pdwStubPhase);
  3102.  
  3103.  
  3104.  
  3105. #endif     /* __IRowset_INTERFACE_DEFINED__ */
  3106.  
  3107.  
  3108. #ifndef __IRowsetInfo_INTERFACE_DEFINED__
  3109. #define __IRowsetInfo_INTERFACE_DEFINED__
  3110.  
  3111. /* interface IRowsetInfo */
  3112. /* [unique][uuid][object] */ 
  3113.  
  3114.  
  3115. EXTERN_C const IID IID_IRowsetInfo;
  3116.  
  3117. #if defined(__cplusplus) && !defined(CINTERFACE)
  3118.     
  3119.     MIDL_INTERFACE("0c733a55-2a1c-11ce-ade5-00aa0044773d")
  3120.     IRowsetInfo : public IUnknown
  3121.     {
  3122.     public:
  3123.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetProperties( 
  3124.             /* [in] */ const ULONG cPropertyIDSets,
  3125.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  3126.             /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  3127.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets) = 0;
  3128.         
  3129.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetReferencedRowset( 
  3130.             /* [in] */ DBORDINAL iOrdinal,
  3131.             /* [in] */ REFIID riid,
  3132.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppReferencedRowset) = 0;
  3133.         
  3134.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSpecification( 
  3135.             /* [in] */ REFIID riid,
  3136.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSpecification) = 0;
  3137.         
  3138.     };
  3139.     
  3140. #else     /* C style interface */
  3141.  
  3142.     typedef struct IRowsetInfoVtbl
  3143.     {
  3144.         BEGIN_INTERFACE
  3145.         
  3146.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3147.             IRowsetInfo __RPC_FAR * This,
  3148.             /* [in] */ REFIID riid,
  3149.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3150.         
  3151.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3152.             IRowsetInfo __RPC_FAR * This);
  3153.         
  3154.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3155.             IRowsetInfo __RPC_FAR * This);
  3156.         
  3157.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProperties )( 
  3158.             IRowsetInfo __RPC_FAR * This,
  3159.             /* [in] */ const ULONG cPropertyIDSets,
  3160.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  3161.             /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  3162.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets);
  3163.         
  3164.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetReferencedRowset )( 
  3165.             IRowsetInfo __RPC_FAR * This,
  3166.             /* [in] */ DBORDINAL iOrdinal,
  3167.             /* [in] */ REFIID riid,
  3168.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppReferencedRowset);
  3169.         
  3170.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSpecification )( 
  3171.             IRowsetInfo __RPC_FAR * This,
  3172.             /* [in] */ REFIID riid,
  3173.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSpecification);
  3174.         
  3175.         END_INTERFACE
  3176.     } IRowsetInfoVtbl;
  3177.  
  3178.     interface IRowsetInfo
  3179.     {
  3180.         CONST_VTBL struct IRowsetInfoVtbl __RPC_FAR *lpVtbl;
  3181.     };
  3182.  
  3183.     
  3184.  
  3185. #ifdef COBJMACROS
  3186.  
  3187.  
  3188. #define IRowsetInfo_QueryInterface(This,riid,ppvObject)    \
  3189.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3190.  
  3191. #define IRowsetInfo_AddRef(This)    \
  3192.     (This)->lpVtbl -> AddRef(This)
  3193.  
  3194. #define IRowsetInfo_Release(This)    \
  3195.     (This)->lpVtbl -> Release(This)
  3196.  
  3197.  
  3198. #define IRowsetInfo_GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)    \
  3199.     (This)->lpVtbl -> GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  3200.  
  3201. #define IRowsetInfo_GetReferencedRowset(This,iOrdinal,riid,ppReferencedRowset)    \
  3202.     (This)->lpVtbl -> GetReferencedRowset(This,iOrdinal,riid,ppReferencedRowset)
  3203.  
  3204. #define IRowsetInfo_GetSpecification(This,riid,ppSpecification)    \
  3205.     (This)->lpVtbl -> GetSpecification(This,riid,ppSpecification)
  3206.  
  3207. #endif /* COBJMACROS */
  3208.  
  3209.  
  3210. #endif     /* C style interface */
  3211.  
  3212.  
  3213.  
  3214. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_RemoteGetProperties_Proxy( 
  3215.     IRowsetInfo __RPC_FAR * This,
  3216.     /* [in] */ ULONG cPropertyIDSets,
  3217.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  3218.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  3219.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets,
  3220.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  3221.  
  3222.  
  3223. void __RPC_STUB IRowsetInfo_RemoteGetProperties_Stub(
  3224.     IRpcStubBuffer *This,
  3225.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3226.     PRPC_MESSAGE _pRpcMessage,
  3227.     DWORD *_pdwStubPhase);
  3228.  
  3229.  
  3230. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_RemoteGetReferencedRowset_Proxy( 
  3231.     IRowsetInfo __RPC_FAR * This,
  3232.     /* [in] */ DBORDINAL iOrdinal,
  3233.     /* [in] */ REFIID riid,
  3234.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppReferencedRowset,
  3235.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  3236.  
  3237.  
  3238. void __RPC_STUB IRowsetInfo_RemoteGetReferencedRowset_Stub(
  3239.     IRpcStubBuffer *This,
  3240.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3241.     PRPC_MESSAGE _pRpcMessage,
  3242.     DWORD *_pdwStubPhase);
  3243.  
  3244.  
  3245. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_RemoteGetSpecification_Proxy( 
  3246.     IRowsetInfo __RPC_FAR * This,
  3247.     /* [in] */ REFIID riid,
  3248.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSpecification,
  3249.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  3250.  
  3251.  
  3252. void __RPC_STUB IRowsetInfo_RemoteGetSpecification_Stub(
  3253.     IRpcStubBuffer *This,
  3254.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3255.     PRPC_MESSAGE _pRpcMessage,
  3256.     DWORD *_pdwStubPhase);
  3257.  
  3258.  
  3259.  
  3260. #endif     /* __IRowsetInfo_INTERFACE_DEFINED__ */
  3261.  
  3262.  
  3263. #ifndef __IRowsetLocate_INTERFACE_DEFINED__
  3264. #define __IRowsetLocate_INTERFACE_DEFINED__
  3265.  
  3266. /* interface IRowsetLocate */
  3267. /* [unique][uuid][object][local] */ 
  3268.  
  3269. typedef DWORD DBCOMPARE;
  3270.  
  3271.  
  3272. enum DBCOMPAREENUM
  3273.     {    DBCOMPARE_LT    = 0,
  3274.     DBCOMPARE_EQ    = DBCOMPARE_LT + 1,
  3275.     DBCOMPARE_GT    = DBCOMPARE_EQ + 1,
  3276.     DBCOMPARE_NE    = DBCOMPARE_GT + 1,
  3277.     DBCOMPARE_NOTCOMPARABLE    = DBCOMPARE_NE + 1
  3278.     };
  3279.  
  3280. EXTERN_C const IID IID_IRowsetLocate;
  3281.  
  3282. #if defined(__cplusplus) && !defined(CINTERFACE)
  3283.     
  3284.     MIDL_INTERFACE("0c733a7d-2a1c-11ce-ade5-00aa0044773d")
  3285.     IRowsetLocate : public IRowset
  3286.     {
  3287.     public:
  3288.         virtual HRESULT STDMETHODCALLTYPE Compare( 
  3289.             /* [in] */ HCHAPTER hReserved,
  3290.             /* [in] */ DBBKMARK cbBookmark1,
  3291.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark1,
  3292.             /* [in] */ DBBKMARK cbBookmark2,
  3293.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark2,
  3294.             /* [out] */ DBCOMPARE __RPC_FAR *pComparison) = 0;
  3295.         
  3296.         virtual HRESULT STDMETHODCALLTYPE GetRowsAt( 
  3297.             /* [in] */ HWATCHREGION hReserved1,
  3298.             /* [in] */ HCHAPTER hReserved2,
  3299.             /* [in] */ DBBKMARK cbBookmark,
  3300.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  3301.             /* [in] */ DBROWOFFSET lRowsOffset,
  3302.             /* [in] */ DBROWCOUNT cRows,
  3303.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRowsObtained,
  3304.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows) = 0;
  3305.         
  3306.         virtual HRESULT STDMETHODCALLTYPE GetRowsByBookmark( 
  3307.             /* [in] */ HCHAPTER hReserved,
  3308.             /* [in] */ DBCOUNTITEM cRows,
  3309.             /* [size_is][in] */ const DBBKMARK __RPC_FAR rgcbBookmarks[  ],
  3310.             /* [size_is][in] */ const BYTE __RPC_FAR *__RPC_FAR rgpBookmarks[  ],
  3311.             /* [size_is][out] */ HROW __RPC_FAR rghRows[  ],
  3312.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]) = 0;
  3313.         
  3314.         virtual HRESULT STDMETHODCALLTYPE Hash( 
  3315.             /* [in] */ HCHAPTER hReserved,
  3316.             /* [in] */ DBBKMARK cBookmarks,
  3317.             /* [size_is][in] */ const DBBKMARK __RPC_FAR rgcbBookmarks[  ],
  3318.             /* [size_is][in] */ const BYTE __RPC_FAR *__RPC_FAR rgpBookmarks[  ],
  3319.             /* [size_is][out] */ DBHASHVALUE __RPC_FAR rgHashedValues[  ],
  3320.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgBookmarkStatus[  ]) = 0;
  3321.         
  3322.     };
  3323.     
  3324. #else     /* C style interface */
  3325.  
  3326.     typedef struct IRowsetLocateVtbl
  3327.     {
  3328.         BEGIN_INTERFACE
  3329.         
  3330.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3331.             IRowsetLocate __RPC_FAR * This,
  3332.             /* [in] */ REFIID riid,
  3333.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3334.         
  3335.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3336.             IRowsetLocate __RPC_FAR * This);
  3337.         
  3338.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3339.             IRowsetLocate __RPC_FAR * This);
  3340.         
  3341.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddRefRows )( 
  3342.             IRowsetLocate __RPC_FAR * This,
  3343.             /* [in] */ DBCOUNTITEM cRows,
  3344.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  3345.             /* [size_is][out] */ DBREFCOUNT __RPC_FAR rgRefCounts[  ],
  3346.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  3347.         
  3348.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetData )( 
  3349.             IRowsetLocate __RPC_FAR * This,
  3350.             /* [in] */ HROW hRow,
  3351.             /* [in] */ HACCESSOR hAccessor,
  3352.             /* [out] */ void __RPC_FAR *pData);
  3353.         
  3354.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNextRows )( 
  3355.             IRowsetLocate __RPC_FAR * This,
  3356.             /* [in] */ HCHAPTER hReserved,
  3357.             /* [in] */ DBROWOFFSET lRowsOffset,
  3358.             /* [in] */ DBROWCOUNT cRows,
  3359.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRowsObtained,
  3360.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  3361.         
  3362.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseRows )( 
  3363.             IRowsetLocate __RPC_FAR * This,
  3364.             /* [in] */ DBCOUNTITEM cRows,
  3365.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  3366.             /* [size_is][in] */ DBROWOPTIONS __RPC_FAR rgRowOptions[  ],
  3367.             /* [size_is][out] */ DBREFCOUNT __RPC_FAR rgRefCounts[  ],
  3368.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  3369.         
  3370.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RestartPosition )( 
  3371.             IRowsetLocate __RPC_FAR * This,
  3372.             /* [in] */ HCHAPTER hReserved);
  3373.         
  3374.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Compare )( 
  3375.             IRowsetLocate __RPC_FAR * This,
  3376.             /* [in] */ HCHAPTER hReserved,
  3377.             /* [in] */ DBBKMARK cbBookmark1,
  3378.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark1,
  3379.             /* [in] */ DBBKMARK cbBookmark2,
  3380.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark2,
  3381.             /* [out] */ DBCOMPARE __RPC_FAR *pComparison);
  3382.         
  3383.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowsAt )( 
  3384.             IRowsetLocate __RPC_FAR * This,
  3385.             /* [in] */ HWATCHREGION hReserved1,
  3386.             /* [in] */ HCHAPTER hReserved2,
  3387.             /* [in] */ DBBKMARK cbBookmark,
  3388.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  3389.             /* [in] */ DBROWOFFSET lRowsOffset,
  3390.             /* [in] */ DBROWCOUNT cRows,
  3391.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRowsObtained,
  3392.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  3393.         
  3394.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowsByBookmark )( 
  3395.             IRowsetLocate __RPC_FAR * This,
  3396.             /* [in] */ HCHAPTER hReserved,
  3397.             /* [in] */ DBCOUNTITEM cRows,
  3398.             /* [size_is][in] */ const DBBKMARK __RPC_FAR rgcbBookmarks[  ],
  3399.             /* [size_is][in] */ const BYTE __RPC_FAR *__RPC_FAR rgpBookmarks[  ],
  3400.             /* [size_is][out] */ HROW __RPC_FAR rghRows[  ],
  3401.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  3402.         
  3403.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Hash )( 
  3404.             IRowsetLocate __RPC_FAR * This,
  3405.             /* [in] */ HCHAPTER hReserved,
  3406.             /* [in] */ DBBKMARK cBookmarks,
  3407.             /* [size_is][in] */ const DBBKMARK __RPC_FAR rgcbBookmarks[  ],
  3408.             /* [size_is][in] */ const BYTE __RPC_FAR *__RPC_FAR rgpBookmarks[  ],
  3409.             /* [size_is][out] */ DBHASHVALUE __RPC_FAR rgHashedValues[  ],
  3410.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgBookmarkStatus[  ]);
  3411.         
  3412.         END_INTERFACE
  3413.     } IRowsetLocateVtbl;
  3414.  
  3415.     interface IRowsetLocate
  3416.     {
  3417.         CONST_VTBL struct IRowsetLocateVtbl __RPC_FAR *lpVtbl;
  3418.     };
  3419.  
  3420.     
  3421.  
  3422. #ifdef COBJMACROS
  3423.  
  3424.  
  3425. #define IRowsetLocate_QueryInterface(This,riid,ppvObject)    \
  3426.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3427.  
  3428. #define IRowsetLocate_AddRef(This)    \
  3429.     (This)->lpVtbl -> AddRef(This)
  3430.  
  3431. #define IRowsetLocate_Release(This)    \
  3432.     (This)->lpVtbl -> Release(This)
  3433.  
  3434.  
  3435. #define IRowsetLocate_AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus)    \
  3436.     (This)->lpVtbl -> AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus)
  3437.  
  3438. #define IRowsetLocate_GetData(This,hRow,hAccessor,pData)    \
  3439.     (This)->lpVtbl -> GetData(This,hRow,hAccessor,pData)
  3440.  
  3441. #define IRowsetLocate_GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows)    \
  3442.     (This)->lpVtbl -> GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows)
  3443.  
  3444. #define IRowsetLocate_ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus)    \
  3445.     (This)->lpVtbl -> ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus)
  3446.  
  3447. #define IRowsetLocate_RestartPosition(This,hReserved)    \
  3448.     (This)->lpVtbl -> RestartPosition(This,hReserved)
  3449.  
  3450.  
  3451. #define IRowsetLocate_Compare(This,hReserved,cbBookmark1,pBookmark1,cbBookmark2,pBookmark2,pComparison)    \
  3452.     (This)->lpVtbl -> Compare(This,hReserved,cbBookmark1,pBookmark1,cbBookmark2,pBookmark2,pComparison)
  3453.  
  3454. #define IRowsetLocate_GetRowsAt(This,hReserved1,hReserved2,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows)    \
  3455.     (This)->lpVtbl -> GetRowsAt(This,hReserved1,hReserved2,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows)
  3456.  
  3457. #define IRowsetLocate_GetRowsByBookmark(This,hReserved,cRows,rgcbBookmarks,rgpBookmarks,rghRows,rgRowStatus)    \
  3458.     (This)->lpVtbl -> GetRowsByBookmark(This,hReserved,cRows,rgcbBookmarks,rgpBookmarks,rghRows,rgRowStatus)
  3459.  
  3460. #define IRowsetLocate_Hash(This,hReserved,cBookmarks,rgcbBookmarks,rgpBookmarks,rgHashedValues,rgBookmarkStatus)    \
  3461.     (This)->lpVtbl -> Hash(This,hReserved,cBookmarks,rgcbBookmarks,rgpBookmarks,rgHashedValues,rgBookmarkStatus)
  3462.  
  3463. #endif /* COBJMACROS */
  3464.  
  3465.  
  3466. #endif     /* C style interface */
  3467.  
  3468.  
  3469.  
  3470. HRESULT STDMETHODCALLTYPE IRowsetLocate_Compare_Proxy( 
  3471.     IRowsetLocate __RPC_FAR * This,
  3472.     /* [in] */ HCHAPTER hReserved,
  3473.     /* [in] */ DBBKMARK cbBookmark1,
  3474.     /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark1,
  3475.     /* [in] */ DBBKMARK cbBookmark2,
  3476.     /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark2,
  3477.     /* [out] */ DBCOMPARE __RPC_FAR *pComparison);
  3478.  
  3479.  
  3480. void __RPC_STUB IRowsetLocate_Compare_Stub(
  3481.     IRpcStubBuffer *This,
  3482.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3483.     PRPC_MESSAGE _pRpcMessage,
  3484.     DWORD *_pdwStubPhase);
  3485.  
  3486.  
  3487. HRESULT STDMETHODCALLTYPE IRowsetLocate_GetRowsAt_Proxy( 
  3488.     IRowsetLocate __RPC_FAR * This,
  3489.     /* [in] */ HWATCHREGION hReserved1,
  3490.     /* [in] */ HCHAPTER hReserved2,
  3491.     /* [in] */ DBBKMARK cbBookmark,
  3492.     /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  3493.     /* [in] */ DBROWOFFSET lRowsOffset,
  3494.     /* [in] */ DBROWCOUNT cRows,
  3495.     /* [out] */ DBCOUNTITEM __RPC_FAR *pcRowsObtained,
  3496.     /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  3497.  
  3498.  
  3499. void __RPC_STUB IRowsetLocate_GetRowsAt_Stub(
  3500.     IRpcStubBuffer *This,
  3501.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3502.     PRPC_MESSAGE _pRpcMessage,
  3503.     DWORD *_pdwStubPhase);
  3504.  
  3505.  
  3506. HRESULT STDMETHODCALLTYPE IRowsetLocate_GetRowsByBookmark_Proxy( 
  3507.     IRowsetLocate __RPC_FAR * This,
  3508.     /* [in] */ HCHAPTER hReserved,
  3509.     /* [in] */ DBCOUNTITEM cRows,
  3510.     /* [size_is][in] */ const DBBKMARK __RPC_FAR rgcbBookmarks[  ],
  3511.     /* [size_is][in] */ const BYTE __RPC_FAR *__RPC_FAR rgpBookmarks[  ],
  3512.     /* [size_is][out] */ HROW __RPC_FAR rghRows[  ],
  3513.     /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  3514.  
  3515.  
  3516. void __RPC_STUB IRowsetLocate_GetRowsByBookmark_Stub(
  3517.     IRpcStubBuffer *This,
  3518.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3519.     PRPC_MESSAGE _pRpcMessage,
  3520.     DWORD *_pdwStubPhase);
  3521.  
  3522.  
  3523. HRESULT STDMETHODCALLTYPE IRowsetLocate_Hash_Proxy( 
  3524.     IRowsetLocate __RPC_FAR * This,
  3525.     /* [in] */ HCHAPTER hReserved,
  3526.     /* [in] */ DBBKMARK cBookmarks,
  3527.     /* [size_is][in] */ const DBBKMARK __RPC_FAR rgcbBookmarks[  ],
  3528.     /* [size_is][in] */ const BYTE __RPC_FAR *__RPC_FAR rgpBookmarks[  ],
  3529.     /* [size_is][out] */ DBHASHVALUE __RPC_FAR rgHashedValues[  ],
  3530.     /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgBookmarkStatus[  ]);
  3531.  
  3532.  
  3533. void __RPC_STUB IRowsetLocate_Hash_Stub(
  3534.     IRpcStubBuffer *This,
  3535.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3536.     PRPC_MESSAGE _pRpcMessage,
  3537.     DWORD *_pdwStubPhase);
  3538.  
  3539.  
  3540.  
  3541. #endif     /* __IRowsetLocate_INTERFACE_DEFINED__ */
  3542.  
  3543.  
  3544. #ifndef __IRowsetResynch_INTERFACE_DEFINED__
  3545. #define __IRowsetResynch_INTERFACE_DEFINED__
  3546.  
  3547. /* interface IRowsetResynch */
  3548. /* [unique][uuid][object][local] */ 
  3549.  
  3550.  
  3551. EXTERN_C const IID IID_IRowsetResynch;
  3552.  
  3553. #if defined(__cplusplus) && !defined(CINTERFACE)
  3554.     
  3555.     MIDL_INTERFACE("0c733a84-2a1c-11ce-ade5-00aa0044773d")
  3556.     IRowsetResynch : public IUnknown
  3557.     {
  3558.     public:
  3559.         virtual HRESULT STDMETHODCALLTYPE GetVisibleData( 
  3560.             /* [in] */ HROW hRow,
  3561.             /* [in] */ HACCESSOR hAccessor,
  3562.             /* [out] */ void __RPC_FAR *pData) = 0;
  3563.         
  3564.         virtual HRESULT STDMETHODCALLTYPE ResynchRows( 
  3565.             /* [in] */ DBCOUNTITEM cRows,
  3566.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  3567.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRowsResynched,
  3568.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRowsResynched,
  3569.             /* [size_is][size_is][out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus) = 0;
  3570.         
  3571.     };
  3572.     
  3573. #else     /* C style interface */
  3574.  
  3575.     typedef struct IRowsetResynchVtbl
  3576.     {
  3577.         BEGIN_INTERFACE
  3578.         
  3579.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3580.             IRowsetResynch __RPC_FAR * This,
  3581.             /* [in] */ REFIID riid,
  3582.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3583.         
  3584.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3585.             IRowsetResynch __RPC_FAR * This);
  3586.         
  3587.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3588.             IRowsetResynch __RPC_FAR * This);
  3589.         
  3590.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVisibleData )( 
  3591.             IRowsetResynch __RPC_FAR * This,
  3592.             /* [in] */ HROW hRow,
  3593.             /* [in] */ HACCESSOR hAccessor,
  3594.             /* [out] */ void __RPC_FAR *pData);
  3595.         
  3596.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ResynchRows )( 
  3597.             IRowsetResynch __RPC_FAR * This,
  3598.             /* [in] */ DBCOUNTITEM cRows,
  3599.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  3600.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRowsResynched,
  3601.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRowsResynched,
  3602.             /* [size_is][size_is][out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus);
  3603.         
  3604.         END_INTERFACE
  3605.     } IRowsetResynchVtbl;
  3606.  
  3607.     interface IRowsetResynch
  3608.     {
  3609.         CONST_VTBL struct IRowsetResynchVtbl __RPC_FAR *lpVtbl;
  3610.     };
  3611.  
  3612.     
  3613.  
  3614. #ifdef COBJMACROS
  3615.  
  3616.  
  3617. #define IRowsetResynch_QueryInterface(This,riid,ppvObject)    \
  3618.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3619.  
  3620. #define IRowsetResynch_AddRef(This)    \
  3621.     (This)->lpVtbl -> AddRef(This)
  3622.  
  3623. #define IRowsetResynch_Release(This)    \
  3624.     (This)->lpVtbl -> Release(This)
  3625.  
  3626.  
  3627. #define IRowsetResynch_GetVisibleData(This,hRow,hAccessor,pData)    \
  3628.     (This)->lpVtbl -> GetVisibleData(This,hRow,hAccessor,pData)
  3629.  
  3630. #define IRowsetResynch_ResynchRows(This,cRows,rghRows,pcRowsResynched,prghRowsResynched,prgRowStatus)    \
  3631.     (This)->lpVtbl -> ResynchRows(This,cRows,rghRows,pcRowsResynched,prghRowsResynched,prgRowStatus)
  3632.  
  3633. #endif /* COBJMACROS */
  3634.  
  3635.  
  3636. #endif     /* C style interface */
  3637.  
  3638.  
  3639.  
  3640. HRESULT STDMETHODCALLTYPE IRowsetResynch_GetVisibleData_Proxy( 
  3641.     IRowsetResynch __RPC_FAR * This,
  3642.     /* [in] */ HROW hRow,
  3643.     /* [in] */ HACCESSOR hAccessor,
  3644.     /* [out] */ void __RPC_FAR *pData);
  3645.  
  3646.  
  3647. void __RPC_STUB IRowsetResynch_GetVisibleData_Stub(
  3648.     IRpcStubBuffer *This,
  3649.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3650.     PRPC_MESSAGE _pRpcMessage,
  3651.     DWORD *_pdwStubPhase);
  3652.  
  3653.  
  3654. HRESULT STDMETHODCALLTYPE IRowsetResynch_ResynchRows_Proxy( 
  3655.     IRowsetResynch __RPC_FAR * This,
  3656.     /* [in] */ DBCOUNTITEM cRows,
  3657.     /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  3658.     /* [out] */ DBCOUNTITEM __RPC_FAR *pcRowsResynched,
  3659.     /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRowsResynched,
  3660.     /* [size_is][size_is][out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus);
  3661.  
  3662.  
  3663. void __RPC_STUB IRowsetResynch_ResynchRows_Stub(
  3664.     IRpcStubBuffer *This,
  3665.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3666.     PRPC_MESSAGE _pRpcMessage,
  3667.     DWORD *_pdwStubPhase);
  3668.  
  3669.  
  3670.  
  3671. #endif     /* __IRowsetResynch_INTERFACE_DEFINED__ */
  3672.  
  3673.  
  3674. #ifndef __IRowsetScroll_INTERFACE_DEFINED__
  3675. #define __IRowsetScroll_INTERFACE_DEFINED__
  3676.  
  3677. /* interface IRowsetScroll */
  3678. /* [unique][uuid][object][local] */ 
  3679.  
  3680.  
  3681. EXTERN_C const IID IID_IRowsetScroll;
  3682.  
  3683. #if defined(__cplusplus) && !defined(CINTERFACE)
  3684.     
  3685.     MIDL_INTERFACE("0c733a7e-2a1c-11ce-ade5-00aa0044773d")
  3686.     IRowsetScroll : public IRowsetLocate
  3687.     {
  3688.     public:
  3689.         virtual HRESULT STDMETHODCALLTYPE GetApproximatePosition( 
  3690.             /* [in] */ HCHAPTER hReserved,
  3691.             /* [in] */ DBBKMARK cbBookmark,
  3692.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  3693.             /* [out] */ DBCOUNTITEM __RPC_FAR *pulPosition,
  3694.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRows) = 0;
  3695.         
  3696.         virtual HRESULT STDMETHODCALLTYPE GetRowsAtRatio( 
  3697.             /* [in] */ HWATCHREGION hReserved1,
  3698.             /* [in] */ HCHAPTER hReserved2,
  3699.             /* [in] */ DBCOUNTITEM ulNumerator,
  3700.             /* [in] */ DBCOUNTITEM ulDenominator,
  3701.             /* [in] */ DBROWCOUNT cRows,
  3702.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRowsObtained,
  3703.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows) = 0;
  3704.         
  3705.     };
  3706.     
  3707. #else     /* C style interface */
  3708.  
  3709.     typedef struct IRowsetScrollVtbl
  3710.     {
  3711.         BEGIN_INTERFACE
  3712.         
  3713.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3714.             IRowsetScroll __RPC_FAR * This,
  3715.             /* [in] */ REFIID riid,
  3716.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3717.         
  3718.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3719.             IRowsetScroll __RPC_FAR * This);
  3720.         
  3721.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3722.             IRowsetScroll __RPC_FAR * This);
  3723.         
  3724.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddRefRows )( 
  3725.             IRowsetScroll __RPC_FAR * This,
  3726.             /* [in] */ DBCOUNTITEM cRows,
  3727.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  3728.             /* [size_is][out] */ DBREFCOUNT __RPC_FAR rgRefCounts[  ],
  3729.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  3730.         
  3731.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetData )( 
  3732.             IRowsetScroll __RPC_FAR * This,
  3733.             /* [in] */ HROW hRow,
  3734.             /* [in] */ HACCESSOR hAccessor,
  3735.             /* [out] */ void __RPC_FAR *pData);
  3736.         
  3737.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNextRows )( 
  3738.             IRowsetScroll __RPC_FAR * This,
  3739.             /* [in] */ HCHAPTER hReserved,
  3740.             /* [in] */ DBROWOFFSET lRowsOffset,
  3741.             /* [in] */ DBROWCOUNT cRows,
  3742.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRowsObtained,
  3743.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  3744.         
  3745.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseRows )( 
  3746.             IRowsetScroll __RPC_FAR * This,
  3747.             /* [in] */ DBCOUNTITEM cRows,
  3748.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  3749.             /* [size_is][in] */ DBROWOPTIONS __RPC_FAR rgRowOptions[  ],
  3750.             /* [size_is][out] */ DBREFCOUNT __RPC_FAR rgRefCounts[  ],
  3751.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  3752.         
  3753.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RestartPosition )( 
  3754.             IRowsetScroll __RPC_FAR * This,
  3755.             /* [in] */ HCHAPTER hReserved);
  3756.         
  3757.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Compare )( 
  3758.             IRowsetScroll __RPC_FAR * This,
  3759.             /* [in] */ HCHAPTER hReserved,
  3760.             /* [in] */ DBBKMARK cbBookmark1,
  3761.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark1,
  3762.             /* [in] */ DBBKMARK cbBookmark2,
  3763.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark2,
  3764.             /* [out] */ DBCOMPARE __RPC_FAR *pComparison);
  3765.         
  3766.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowsAt )( 
  3767.             IRowsetScroll __RPC_FAR * This,
  3768.             /* [in] */ HWATCHREGION hReserved1,
  3769.             /* [in] */ HCHAPTER hReserved2,
  3770.             /* [in] */ DBBKMARK cbBookmark,
  3771.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  3772.             /* [in] */ DBROWOFFSET lRowsOffset,
  3773.             /* [in] */ DBROWCOUNT cRows,
  3774.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRowsObtained,
  3775.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  3776.         
  3777.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowsByBookmark )( 
  3778.             IRowsetScroll __RPC_FAR * This,
  3779.             /* [in] */ HCHAPTER hReserved,
  3780.             /* [in] */ DBCOUNTITEM cRows,
  3781.             /* [size_is][in] */ const DBBKMARK __RPC_FAR rgcbBookmarks[  ],
  3782.             /* [size_is][in] */ const BYTE __RPC_FAR *__RPC_FAR rgpBookmarks[  ],
  3783.             /* [size_is][out] */ HROW __RPC_FAR rghRows[  ],
  3784.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  3785.         
  3786.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Hash )( 
  3787.             IRowsetScroll __RPC_FAR * This,
  3788.             /* [in] */ HCHAPTER hReserved,
  3789.             /* [in] */ DBBKMARK cBookmarks,
  3790.             /* [size_is][in] */ const DBBKMARK __RPC_FAR rgcbBookmarks[  ],
  3791.             /* [size_is][in] */ const BYTE __RPC_FAR *__RPC_FAR rgpBookmarks[  ],
  3792.             /* [size_is][out] */ DBHASHVALUE __RPC_FAR rgHashedValues[  ],
  3793.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgBookmarkStatus[  ]);
  3794.         
  3795.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetApproximatePosition )( 
  3796.             IRowsetScroll __RPC_FAR * This,
  3797.             /* [in] */ HCHAPTER hReserved,
  3798.             /* [in] */ DBBKMARK cbBookmark,
  3799.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  3800.             /* [out] */ DBCOUNTITEM __RPC_FAR *pulPosition,
  3801.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRows);
  3802.         
  3803.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowsAtRatio )( 
  3804.             IRowsetScroll __RPC_FAR * This,
  3805.             /* [in] */ HWATCHREGION hReserved1,
  3806.             /* [in] */ HCHAPTER hReserved2,
  3807.             /* [in] */ DBCOUNTITEM ulNumerator,
  3808.             /* [in] */ DBCOUNTITEM ulDenominator,
  3809.             /* [in] */ DBROWCOUNT cRows,
  3810.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRowsObtained,
  3811.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  3812.         
  3813.         END_INTERFACE
  3814.     } IRowsetScrollVtbl;
  3815.  
  3816.     interface IRowsetScroll
  3817.     {
  3818.         CONST_VTBL struct IRowsetScrollVtbl __RPC_FAR *lpVtbl;
  3819.     };
  3820.  
  3821.     
  3822.  
  3823. #ifdef COBJMACROS
  3824.  
  3825.  
  3826. #define IRowsetScroll_QueryInterface(This,riid,ppvObject)    \
  3827.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3828.  
  3829. #define IRowsetScroll_AddRef(This)    \
  3830.     (This)->lpVtbl -> AddRef(This)
  3831.  
  3832. #define IRowsetScroll_Release(This)    \
  3833.     (This)->lpVtbl -> Release(This)
  3834.  
  3835.  
  3836. #define IRowsetScroll_AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus)    \
  3837.     (This)->lpVtbl -> AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus)
  3838.  
  3839. #define IRowsetScroll_GetData(This,hRow,hAccessor,pData)    \
  3840.     (This)->lpVtbl -> GetData(This,hRow,hAccessor,pData)
  3841.  
  3842. #define IRowsetScroll_GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows)    \
  3843.     (This)->lpVtbl -> GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows)
  3844.  
  3845. #define IRowsetScroll_ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus)    \
  3846.     (This)->lpVtbl -> ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus)
  3847.  
  3848. #define IRowsetScroll_RestartPosition(This,hReserved)    \
  3849.     (This)->lpVtbl -> RestartPosition(This,hReserved)
  3850.  
  3851.  
  3852. #define IRowsetScroll_Compare(This,hReserved,cbBookmark1,pBookmark1,cbBookmark2,pBookmark2,pComparison)    \
  3853.     (This)->lpVtbl -> Compare(This,hReserved,cbBookmark1,pBookmark1,cbBookmark2,pBookmark2,pComparison)
  3854.  
  3855. #define IRowsetScroll_GetRowsAt(This,hReserved1,hReserved2,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows)    \
  3856.     (This)->lpVtbl -> GetRowsAt(This,hReserved1,hReserved2,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows)
  3857.  
  3858. #define IRowsetScroll_GetRowsByBookmark(This,hReserved,cRows,rgcbBookmarks,rgpBookmarks,rghRows,rgRowStatus)    \
  3859.     (This)->lpVtbl -> GetRowsByBookmark(This,hReserved,cRows,rgcbBookmarks,rgpBookmarks,rghRows,rgRowStatus)
  3860.  
  3861. #define IRowsetScroll_Hash(This,hReserved,cBookmarks,rgcbBookmarks,rgpBookmarks,rgHashedValues,rgBookmarkStatus)    \
  3862.     (This)->lpVtbl -> Hash(This,hReserved,cBookmarks,rgcbBookmarks,rgpBookmarks,rgHashedValues,rgBookmarkStatus)
  3863.  
  3864.  
  3865. #define IRowsetScroll_GetApproximatePosition(This,hReserved,cbBookmark,pBookmark,pulPosition,pcRows)    \
  3866.     (This)->lpVtbl -> GetApproximatePosition(This,hReserved,cbBookmark,pBookmark,pulPosition,pcRows)
  3867.  
  3868. #define IRowsetScroll_GetRowsAtRatio(This,hReserved1,hReserved2,ulNumerator,ulDenominator,cRows,pcRowsObtained,prghRows)    \
  3869.     (This)->lpVtbl -> GetRowsAtRatio(This,hReserved1,hReserved2,ulNumerator,ulDenominator,cRows,pcRowsObtained,prghRows)
  3870.  
  3871. #endif /* COBJMACROS */
  3872.  
  3873.  
  3874. #endif     /* C style interface */
  3875.  
  3876.  
  3877.  
  3878. HRESULT STDMETHODCALLTYPE IRowsetScroll_GetApproximatePosition_Proxy( 
  3879.     IRowsetScroll __RPC_FAR * This,
  3880.     /* [in] */ HCHAPTER hReserved,
  3881.     /* [in] */ DBBKMARK cbBookmark,
  3882.     /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  3883.     /* [out] */ DBCOUNTITEM __RPC_FAR *pulPosition,
  3884.     /* [out] */ DBCOUNTITEM __RPC_FAR *pcRows);
  3885.  
  3886.  
  3887. void __RPC_STUB IRowsetScroll_GetApproximatePosition_Stub(
  3888.     IRpcStubBuffer *This,
  3889.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3890.     PRPC_MESSAGE _pRpcMessage,
  3891.     DWORD *_pdwStubPhase);
  3892.  
  3893.  
  3894. HRESULT STDMETHODCALLTYPE IRowsetScroll_GetRowsAtRatio_Proxy( 
  3895.     IRowsetScroll __RPC_FAR * This,
  3896.     /* [in] */ HWATCHREGION hReserved1,
  3897.     /* [in] */ HCHAPTER hReserved2,
  3898.     /* [in] */ DBCOUNTITEM ulNumerator,
  3899.     /* [in] */ DBCOUNTITEM ulDenominator,
  3900.     /* [in] */ DBROWCOUNT cRows,
  3901.     /* [out] */ DBCOUNTITEM __RPC_FAR *pcRowsObtained,
  3902.     /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  3903.  
  3904.  
  3905. void __RPC_STUB IRowsetScroll_GetRowsAtRatio_Stub(
  3906.     IRpcStubBuffer *This,
  3907.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3908.     PRPC_MESSAGE _pRpcMessage,
  3909.     DWORD *_pdwStubPhase);
  3910.  
  3911.  
  3912.  
  3913. #endif     /* __IRowsetScroll_INTERFACE_DEFINED__ */
  3914.  
  3915.  
  3916. /* interface __MIDL_itf_oledb_0263 */
  3917. /* [local] */ 
  3918.  
  3919. //@@@+ V1.5
  3920. #if( OLEDBVER >= 0x0150 )
  3921.  
  3922.  
  3923. extern RPC_IF_HANDLE __MIDL_itf_oledb_0263_v0_0_c_ifspec;
  3924. extern RPC_IF_HANDLE __MIDL_itf_oledb_0263_v0_0_s_ifspec;
  3925.  
  3926. #ifndef __IChapteredRowset_INTERFACE_DEFINED__
  3927. #define __IChapteredRowset_INTERFACE_DEFINED__
  3928.  
  3929. /* interface IChapteredRowset */
  3930. /* [unique][uuid][object] */ 
  3931.  
  3932.  
  3933. EXTERN_C const IID IID_IChapteredRowset;
  3934.  
  3935. #if defined(__cplusplus) && !defined(CINTERFACE)
  3936.     
  3937.     MIDL_INTERFACE("0c733a93-2a1c-11ce-ade5-00aa0044773d")
  3938.     IChapteredRowset : public IUnknown
  3939.     {
  3940.     public:
  3941.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddRefChapter( 
  3942.             /* [in] */ HCHAPTER hChapter,
  3943.             /* [out] */ DBREFCOUNT __RPC_FAR *pcRefCount) = 0;
  3944.         
  3945.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE ReleaseChapter( 
  3946.             /* [in] */ HCHAPTER hChapter,
  3947.             /* [out] */ DBREFCOUNT __RPC_FAR *pcRefCount) = 0;
  3948.         
  3949.     };
  3950.     
  3951. #else     /* C style interface */
  3952.  
  3953.     typedef struct IChapteredRowsetVtbl
  3954.     {
  3955.         BEGIN_INTERFACE
  3956.         
  3957.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3958.             IChapteredRowset __RPC_FAR * This,
  3959.             /* [in] */ REFIID riid,
  3960.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3961.         
  3962.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3963.             IChapteredRowset __RPC_FAR * This);
  3964.         
  3965.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3966.             IChapteredRowset __RPC_FAR * This);
  3967.         
  3968.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddRefChapter )( 
  3969.             IChapteredRowset __RPC_FAR * This,
  3970.             /* [in] */ HCHAPTER hChapter,
  3971.             /* [out] */ DBREFCOUNT __RPC_FAR *pcRefCount);
  3972.         
  3973.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseChapter )( 
  3974.             IChapteredRowset __RPC_FAR * This,
  3975.             /* [in] */ HCHAPTER hChapter,
  3976.             /* [out] */ DBREFCOUNT __RPC_FAR *pcRefCount);
  3977.         
  3978.         END_INTERFACE
  3979.     } IChapteredRowsetVtbl;
  3980.  
  3981.     interface IChapteredRowset
  3982.     {
  3983.         CONST_VTBL struct IChapteredRowsetVtbl __RPC_FAR *lpVtbl;
  3984.     };
  3985.  
  3986.     
  3987.  
  3988. #ifdef COBJMACROS
  3989.  
  3990.  
  3991. #define IChapteredRowset_QueryInterface(This,riid,ppvObject)    \
  3992.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3993.  
  3994. #define IChapteredRowset_AddRef(This)    \
  3995.     (This)->lpVtbl -> AddRef(This)
  3996.  
  3997. #define IChapteredRowset_Release(This)    \
  3998.     (This)->lpVtbl -> Release(This)
  3999.  
  4000.  
  4001. #define IChapteredRowset_AddRefChapter(This,hChapter,pcRefCount)    \
  4002.     (This)->lpVtbl -> AddRefChapter(This,hChapter,pcRefCount)
  4003.  
  4004. #define IChapteredRowset_ReleaseChapter(This,hChapter,pcRefCount)    \
  4005.     (This)->lpVtbl -> ReleaseChapter(This,hChapter,pcRefCount)
  4006.  
  4007. #endif /* COBJMACROS */
  4008.  
  4009.  
  4010. #endif     /* C style interface */
  4011.  
  4012.  
  4013.  
  4014. /* [call_as] */ HRESULT STDMETHODCALLTYPE IChapteredRowset_RemoteAddRefChapter_Proxy( 
  4015.     IChapteredRowset __RPC_FAR * This,
  4016.     /* [in] */ HCHAPTER hChapter,
  4017.     /* [out] */ DBREFCOUNT __RPC_FAR *pcRefCount,
  4018.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4019.  
  4020.  
  4021. void __RPC_STUB IChapteredRowset_RemoteAddRefChapter_Stub(
  4022.     IRpcStubBuffer *This,
  4023.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4024.     PRPC_MESSAGE _pRpcMessage,
  4025.     DWORD *_pdwStubPhase);
  4026.  
  4027.  
  4028. /* [call_as] */ HRESULT STDMETHODCALLTYPE IChapteredRowset_RemoteReleaseChapter_Proxy( 
  4029.     IChapteredRowset __RPC_FAR * This,
  4030.     /* [in] */ HCHAPTER hChapter,
  4031.     /* [out] */ DBREFCOUNT __RPC_FAR *pcRefCount,
  4032.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4033.  
  4034.  
  4035. void __RPC_STUB IChapteredRowset_RemoteReleaseChapter_Stub(
  4036.     IRpcStubBuffer *This,
  4037.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4038.     PRPC_MESSAGE _pRpcMessage,
  4039.     DWORD *_pdwStubPhase);
  4040.  
  4041.  
  4042.  
  4043. #endif     /* __IChapteredRowset_INTERFACE_DEFINED__ */
  4044.  
  4045.  
  4046. #ifndef __IRowsetFind_INTERFACE_DEFINED__
  4047. #define __IRowsetFind_INTERFACE_DEFINED__
  4048.  
  4049. /* interface IRowsetFind */
  4050. /* [unique][uuid][object][local] */ 
  4051.  
  4052.  
  4053. EXTERN_C const IID IID_IRowsetFind;
  4054.  
  4055. #if defined(__cplusplus) && !defined(CINTERFACE)
  4056.     
  4057.     MIDL_INTERFACE("0c733a9d-2a1c-11ce-ade5-00aa0044773d")
  4058.     IRowsetFind : public IUnknown
  4059.     {
  4060.     public:
  4061.         virtual HRESULT STDMETHODCALLTYPE FindNextRow( 
  4062.             /* [in] */ HCHAPTER hChapter,
  4063.             /* [in] */ HACCESSOR hAccessor,
  4064.             /* [in] */ void __RPC_FAR *pFindValue,
  4065.             /* [in] */ DBCOMPAREOP CompareOp,
  4066.             /* [in] */ DBBKMARK cbBookmark,
  4067.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  4068.             /* [in] */ DBROWOFFSET lRowsOffset,
  4069.             /* [in] */ DBROWCOUNT cRows,
  4070.             /* [out][in] */ DBCOUNTITEM __RPC_FAR *pcRowsObtained,
  4071.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows) = 0;
  4072.         
  4073.     };
  4074.     
  4075. #else     /* C style interface */
  4076.  
  4077.     typedef struct IRowsetFindVtbl
  4078.     {
  4079.         BEGIN_INTERFACE
  4080.         
  4081.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4082.             IRowsetFind __RPC_FAR * This,
  4083.             /* [in] */ REFIID riid,
  4084.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4085.         
  4086.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4087.             IRowsetFind __RPC_FAR * This);
  4088.         
  4089.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4090.             IRowsetFind __RPC_FAR * This);
  4091.         
  4092.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindNextRow )( 
  4093.             IRowsetFind __RPC_FAR * This,
  4094.             /* [in] */ HCHAPTER hChapter,
  4095.             /* [in] */ HACCESSOR hAccessor,
  4096.             /* [in] */ void __RPC_FAR *pFindValue,
  4097.             /* [in] */ DBCOMPAREOP CompareOp,
  4098.             /* [in] */ DBBKMARK cbBookmark,
  4099.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  4100.             /* [in] */ DBROWOFFSET lRowsOffset,
  4101.             /* [in] */ DBROWCOUNT cRows,
  4102.             /* [out][in] */ DBCOUNTITEM __RPC_FAR *pcRowsObtained,
  4103.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  4104.         
  4105.         END_INTERFACE
  4106.     } IRowsetFindVtbl;
  4107.  
  4108.     interface IRowsetFind
  4109.     {
  4110.         CONST_VTBL struct IRowsetFindVtbl __RPC_FAR *lpVtbl;
  4111.     };
  4112.  
  4113.     
  4114.  
  4115. #ifdef COBJMACROS
  4116.  
  4117.  
  4118. #define IRowsetFind_QueryInterface(This,riid,ppvObject)    \
  4119.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4120.  
  4121. #define IRowsetFind_AddRef(This)    \
  4122.     (This)->lpVtbl -> AddRef(This)
  4123.  
  4124. #define IRowsetFind_Release(This)    \
  4125.     (This)->lpVtbl -> Release(This)
  4126.  
  4127.  
  4128. #define IRowsetFind_FindNextRow(This,hChapter,hAccessor,pFindValue,CompareOp,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows)    \
  4129.     (This)->lpVtbl -> FindNextRow(This,hChapter,hAccessor,pFindValue,CompareOp,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows)
  4130.  
  4131. #endif /* COBJMACROS */
  4132.  
  4133.  
  4134. #endif     /* C style interface */
  4135.  
  4136.  
  4137.  
  4138. HRESULT STDMETHODCALLTYPE IRowsetFind_FindNextRow_Proxy( 
  4139.     IRowsetFind __RPC_FAR * This,
  4140.     /* [in] */ HCHAPTER hChapter,
  4141.     /* [in] */ HACCESSOR hAccessor,
  4142.     /* [in] */ void __RPC_FAR *pFindValue,
  4143.     /* [in] */ DBCOMPAREOP CompareOp,
  4144.     /* [in] */ DBBKMARK cbBookmark,
  4145.     /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  4146.     /* [in] */ DBROWOFFSET lRowsOffset,
  4147.     /* [in] */ DBROWCOUNT cRows,
  4148.     /* [out][in] */ DBCOUNTITEM __RPC_FAR *pcRowsObtained,
  4149.     /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  4150.  
  4151.  
  4152. void __RPC_STUB IRowsetFind_FindNextRow_Stub(
  4153.     IRpcStubBuffer *This,
  4154.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4155.     PRPC_MESSAGE _pRpcMessage,
  4156.     DWORD *_pdwStubPhase);
  4157.  
  4158.  
  4159.  
  4160. #endif     /* __IRowsetFind_INTERFACE_DEFINED__ */
  4161.  
  4162.  
  4163. #ifndef __IRowPosition_INTERFACE_DEFINED__
  4164. #define __IRowPosition_INTERFACE_DEFINED__
  4165.  
  4166. /* interface IRowPosition */
  4167. /* [unique][uuid][object] */ 
  4168.  
  4169. typedef DWORD DBPOSITIONFLAGS;
  4170.  
  4171.  
  4172. enum DBPOSITIONFLAGSENUM
  4173.     {    DBPOSITION_OK    = 0,
  4174.     DBPOSITION_NOROW    = DBPOSITION_OK + 1,
  4175.     DBPOSITION_BOF    = DBPOSITION_NOROW + 1,
  4176.     DBPOSITION_EOF    = DBPOSITION_BOF + 1
  4177.     };
  4178.  
  4179. EXTERN_C const IID IID_IRowPosition;
  4180.  
  4181. #if defined(__cplusplus) && !defined(CINTERFACE)
  4182.     
  4183.     MIDL_INTERFACE("0c733a94-2a1c-11ce-ade5-00aa0044773d")
  4184.     IRowPosition : public IUnknown
  4185.     {
  4186.     public:
  4187.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE ClearRowPosition( void) = 0;
  4188.         
  4189.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetRowPosition( 
  4190.             /* [out] */ HCHAPTER __RPC_FAR *phChapter,
  4191.             /* [out] */ HROW __RPC_FAR *phRow,
  4192.             /* [out] */ DBPOSITIONFLAGS __RPC_FAR *pdwPositionFlags) = 0;
  4193.         
  4194.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetRowset( 
  4195.             /* [in] */ REFIID riid,
  4196.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  4197.         
  4198.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Initialize( 
  4199.             /* [in] */ IUnknown __RPC_FAR *pRowset) = 0;
  4200.         
  4201.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetRowPosition( 
  4202.             /* [in] */ HCHAPTER hChapter,
  4203.             /* [in] */ HROW hRow,
  4204.             /* [in] */ DBPOSITIONFLAGS dwPositionFlags) = 0;
  4205.         
  4206.     };
  4207.     
  4208. #else     /* C style interface */
  4209.  
  4210.     typedef struct IRowPositionVtbl
  4211.     {
  4212.         BEGIN_INTERFACE
  4213.         
  4214.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4215.             IRowPosition __RPC_FAR * This,
  4216.             /* [in] */ REFIID riid,
  4217.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4218.         
  4219.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4220.             IRowPosition __RPC_FAR * This);
  4221.         
  4222.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4223.             IRowPosition __RPC_FAR * This);
  4224.         
  4225.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ClearRowPosition )( 
  4226.             IRowPosition __RPC_FAR * This);
  4227.         
  4228.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowPosition )( 
  4229.             IRowPosition __RPC_FAR * This,
  4230.             /* [out] */ HCHAPTER __RPC_FAR *phChapter,
  4231.             /* [out] */ HROW __RPC_FAR *phRow,
  4232.             /* [out] */ DBPOSITIONFLAGS __RPC_FAR *pdwPositionFlags);
  4233.         
  4234.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowset )( 
  4235.             IRowPosition __RPC_FAR * This,
  4236.             /* [in] */ REFIID riid,
  4237.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  4238.         
  4239.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Initialize )( 
  4240.             IRowPosition __RPC_FAR * This,
  4241.             /* [in] */ IUnknown __RPC_FAR *pRowset);
  4242.         
  4243.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetRowPosition )( 
  4244.             IRowPosition __RPC_FAR * This,
  4245.             /* [in] */ HCHAPTER hChapter,
  4246.             /* [in] */ HROW hRow,
  4247.             /* [in] */ DBPOSITIONFLAGS dwPositionFlags);
  4248.         
  4249.         END_INTERFACE
  4250.     } IRowPositionVtbl;
  4251.  
  4252.     interface IRowPosition
  4253.     {
  4254.         CONST_VTBL struct IRowPositionVtbl __RPC_FAR *lpVtbl;
  4255.     };
  4256.  
  4257.     
  4258.  
  4259. #ifdef COBJMACROS
  4260.  
  4261.  
  4262. #define IRowPosition_QueryInterface(This,riid,ppvObject)    \
  4263.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4264.  
  4265. #define IRowPosition_AddRef(This)    \
  4266.     (This)->lpVtbl -> AddRef(This)
  4267.  
  4268. #define IRowPosition_Release(This)    \
  4269.     (This)->lpVtbl -> Release(This)
  4270.  
  4271.  
  4272. #define IRowPosition_ClearRowPosition(This)    \
  4273.     (This)->lpVtbl -> ClearRowPosition(This)
  4274.  
  4275. #define IRowPosition_GetRowPosition(This,phChapter,phRow,pdwPositionFlags)    \
  4276.     (This)->lpVtbl -> GetRowPosition(This,phChapter,phRow,pdwPositionFlags)
  4277.  
  4278. #define IRowPosition_GetRowset(This,riid,ppRowset)    \
  4279.     (This)->lpVtbl -> GetRowset(This,riid,ppRowset)
  4280.  
  4281. #define IRowPosition_Initialize(This,pRowset)    \
  4282.     (This)->lpVtbl -> Initialize(This,pRowset)
  4283.  
  4284. #define IRowPosition_SetRowPosition(This,hChapter,hRow,dwPositionFlags)    \
  4285.     (This)->lpVtbl -> SetRowPosition(This,hChapter,hRow,dwPositionFlags)
  4286.  
  4287. #endif /* COBJMACROS */
  4288.  
  4289.  
  4290. #endif     /* C style interface */
  4291.  
  4292.  
  4293.  
  4294. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_RemoteClearRowPosition_Proxy( 
  4295.     IRowPosition __RPC_FAR * This,
  4296.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4297.  
  4298.  
  4299. void __RPC_STUB IRowPosition_RemoteClearRowPosition_Stub(
  4300.     IRpcStubBuffer *This,
  4301.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4302.     PRPC_MESSAGE _pRpcMessage,
  4303.     DWORD *_pdwStubPhase);
  4304.  
  4305.  
  4306. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_RemoteGetRowPosition_Proxy( 
  4307.     IRowPosition __RPC_FAR * This,
  4308.     /* [out] */ HCHAPTER __RPC_FAR *phChapter,
  4309.     /* [out] */ HROW __RPC_FAR *phRow,
  4310.     /* [out] */ DBPOSITIONFLAGS __RPC_FAR *pdwPositionFlags,
  4311.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4312.  
  4313.  
  4314. void __RPC_STUB IRowPosition_RemoteGetRowPosition_Stub(
  4315.     IRpcStubBuffer *This,
  4316.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4317.     PRPC_MESSAGE _pRpcMessage,
  4318.     DWORD *_pdwStubPhase);
  4319.  
  4320.  
  4321. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_RemoteGetRowset_Proxy( 
  4322.     IRowPosition __RPC_FAR * This,
  4323.     /* [in] */ REFIID riid,
  4324.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  4325.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4326.  
  4327.  
  4328. void __RPC_STUB IRowPosition_RemoteGetRowset_Stub(
  4329.     IRpcStubBuffer *This,
  4330.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4331.     PRPC_MESSAGE _pRpcMessage,
  4332.     DWORD *_pdwStubPhase);
  4333.  
  4334.  
  4335. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_RemoteInitialize_Proxy( 
  4336.     IRowPosition __RPC_FAR * This,
  4337.     /* [in] */ IUnknown __RPC_FAR *pRowset,
  4338.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4339.  
  4340.  
  4341. void __RPC_STUB IRowPosition_RemoteInitialize_Stub(
  4342.     IRpcStubBuffer *This,
  4343.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4344.     PRPC_MESSAGE _pRpcMessage,
  4345.     DWORD *_pdwStubPhase);
  4346.  
  4347.  
  4348. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_RemoteSetRowPosition_Proxy( 
  4349.     IRowPosition __RPC_FAR * This,
  4350.     /* [in] */ HCHAPTER hChapter,
  4351.     /* [in] */ HROW hRow,
  4352.     /* [in] */ DBPOSITIONFLAGS dwPositionFlags,
  4353.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4354.  
  4355.  
  4356. void __RPC_STUB IRowPosition_RemoteSetRowPosition_Stub(
  4357.     IRpcStubBuffer *This,
  4358.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4359.     PRPC_MESSAGE _pRpcMessage,
  4360.     DWORD *_pdwStubPhase);
  4361.  
  4362.  
  4363.  
  4364. #endif     /* __IRowPosition_INTERFACE_DEFINED__ */
  4365.  
  4366.  
  4367. #ifndef __IRowPositionChange_INTERFACE_DEFINED__
  4368. #define __IRowPositionChange_INTERFACE_DEFINED__
  4369.  
  4370. /* interface IRowPositionChange */
  4371. /* [unique][uuid][object] */ 
  4372.  
  4373.  
  4374. EXTERN_C const IID IID_IRowPositionChange;
  4375.  
  4376. #if defined(__cplusplus) && !defined(CINTERFACE)
  4377.     
  4378.     MIDL_INTERFACE("0997a571-126e-11d0-9f8a-00a0c9a0631e")
  4379.     IRowPositionChange : public IUnknown
  4380.     {
  4381.     public:
  4382.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnRowPositionChange( 
  4383.             /* [in] */ DBREASON eReason,
  4384.             /* [in] */ DBEVENTPHASE ePhase,
  4385.             /* [in] */ BOOL fCantDeny) = 0;
  4386.         
  4387.     };
  4388.     
  4389. #else     /* C style interface */
  4390.  
  4391.     typedef struct IRowPositionChangeVtbl
  4392.     {
  4393.         BEGIN_INTERFACE
  4394.         
  4395.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4396.             IRowPositionChange __RPC_FAR * This,
  4397.             /* [in] */ REFIID riid,
  4398.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4399.         
  4400.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4401.             IRowPositionChange __RPC_FAR * This);
  4402.         
  4403.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4404.             IRowPositionChange __RPC_FAR * This);
  4405.         
  4406.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnRowPositionChange )( 
  4407.             IRowPositionChange __RPC_FAR * This,
  4408.             /* [in] */ DBREASON eReason,
  4409.             /* [in] */ DBEVENTPHASE ePhase,
  4410.             /* [in] */ BOOL fCantDeny);
  4411.         
  4412.         END_INTERFACE
  4413.     } IRowPositionChangeVtbl;
  4414.  
  4415.     interface IRowPositionChange
  4416.     {
  4417.         CONST_VTBL struct IRowPositionChangeVtbl __RPC_FAR *lpVtbl;
  4418.     };
  4419.  
  4420.     
  4421.  
  4422. #ifdef COBJMACROS
  4423.  
  4424.  
  4425. #define IRowPositionChange_QueryInterface(This,riid,ppvObject)    \
  4426.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4427.  
  4428. #define IRowPositionChange_AddRef(This)    \
  4429.     (This)->lpVtbl -> AddRef(This)
  4430.  
  4431. #define IRowPositionChange_Release(This)    \
  4432.     (This)->lpVtbl -> Release(This)
  4433.  
  4434.  
  4435. #define IRowPositionChange_OnRowPositionChange(This,eReason,ePhase,fCantDeny)    \
  4436.     (This)->lpVtbl -> OnRowPositionChange(This,eReason,ePhase,fCantDeny)
  4437.  
  4438. #endif /* COBJMACROS */
  4439.  
  4440.  
  4441. #endif     /* C style interface */
  4442.  
  4443.  
  4444.  
  4445. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPositionChange_RemoteOnRowPositionChange_Proxy( 
  4446.     IRowPositionChange __RPC_FAR * This,
  4447.     /* [in] */ DBREASON eReason,
  4448.     /* [in] */ DBEVENTPHASE ePhase,
  4449.     /* [in] */ BOOL fCantDeny,
  4450.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4451.  
  4452.  
  4453. void __RPC_STUB IRowPositionChange_RemoteOnRowPositionChange_Stub(
  4454.     IRpcStubBuffer *This,
  4455.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4456.     PRPC_MESSAGE _pRpcMessage,
  4457.     DWORD *_pdwStubPhase);
  4458.  
  4459.  
  4460.  
  4461. #endif     /* __IRowPositionChange_INTERFACE_DEFINED__ */
  4462.  
  4463.  
  4464. #ifndef __IViewRowset_INTERFACE_DEFINED__
  4465. #define __IViewRowset_INTERFACE_DEFINED__
  4466.  
  4467. /* interface IViewRowset */
  4468. /* [unique][uuid][object] */ 
  4469.  
  4470.  
  4471. EXTERN_C const IID IID_IViewRowset;
  4472.  
  4473. #if defined(__cplusplus) && !defined(CINTERFACE)
  4474.     
  4475.     MIDL_INTERFACE("0c733a97-2a1c-11ce-ade5-00aa0044773d")
  4476.     IViewRowset : public IUnknown
  4477.     {
  4478.     public:
  4479.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSpecification( 
  4480.             /* [in] */ REFIID riid,
  4481.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject) = 0;
  4482.         
  4483.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OpenViewRowset( 
  4484.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  4485.             /* [in] */ REFIID riid,
  4486.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  4487.         
  4488.     };
  4489.     
  4490. #else     /* C style interface */
  4491.  
  4492.     typedef struct IViewRowsetVtbl
  4493.     {
  4494.         BEGIN_INTERFACE
  4495.         
  4496.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4497.             IViewRowset __RPC_FAR * This,
  4498.             /* [in] */ REFIID riid,
  4499.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4500.         
  4501.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4502.             IViewRowset __RPC_FAR * This);
  4503.         
  4504.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4505.             IViewRowset __RPC_FAR * This);
  4506.         
  4507.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSpecification )( 
  4508.             IViewRowset __RPC_FAR * This,
  4509.             /* [in] */ REFIID riid,
  4510.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject);
  4511.         
  4512.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenViewRowset )( 
  4513.             IViewRowset __RPC_FAR * This,
  4514.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  4515.             /* [in] */ REFIID riid,
  4516.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  4517.         
  4518.         END_INTERFACE
  4519.     } IViewRowsetVtbl;
  4520.  
  4521.     interface IViewRowset
  4522.     {
  4523.         CONST_VTBL struct IViewRowsetVtbl __RPC_FAR *lpVtbl;
  4524.     };
  4525.  
  4526.     
  4527.  
  4528. #ifdef COBJMACROS
  4529.  
  4530.  
  4531. #define IViewRowset_QueryInterface(This,riid,ppvObject)    \
  4532.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4533.  
  4534. #define IViewRowset_AddRef(This)    \
  4535.     (This)->lpVtbl -> AddRef(This)
  4536.  
  4537. #define IViewRowset_Release(This)    \
  4538.     (This)->lpVtbl -> Release(This)
  4539.  
  4540.  
  4541. #define IViewRowset_GetSpecification(This,riid,ppObject)    \
  4542.     (This)->lpVtbl -> GetSpecification(This,riid,ppObject)
  4543.  
  4544. #define IViewRowset_OpenViewRowset(This,pUnkOuter,riid,ppRowset)    \
  4545.     (This)->lpVtbl -> OpenViewRowset(This,pUnkOuter,riid,ppRowset)
  4546.  
  4547. #endif /* COBJMACROS */
  4548.  
  4549.  
  4550. #endif     /* C style interface */
  4551.  
  4552.  
  4553.  
  4554. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewRowset_RemoteGetSpecification_Proxy( 
  4555.     IViewRowset __RPC_FAR * This,
  4556.     /* [in] */ REFIID riid,
  4557.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject,
  4558.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4559.  
  4560.  
  4561. void __RPC_STUB IViewRowset_RemoteGetSpecification_Stub(
  4562.     IRpcStubBuffer *This,
  4563.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4564.     PRPC_MESSAGE _pRpcMessage,
  4565.     DWORD *_pdwStubPhase);
  4566.  
  4567.  
  4568. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewRowset_RemoteOpenViewRowset_Proxy( 
  4569.     IViewRowset __RPC_FAR * This,
  4570.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  4571.     /* [in] */ REFIID riid,
  4572.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  4573.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4574.  
  4575.  
  4576. void __RPC_STUB IViewRowset_RemoteOpenViewRowset_Stub(
  4577.     IRpcStubBuffer *This,
  4578.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4579.     PRPC_MESSAGE _pRpcMessage,
  4580.     DWORD *_pdwStubPhase);
  4581.  
  4582.  
  4583.  
  4584. #endif     /* __IViewRowset_INTERFACE_DEFINED__ */
  4585.  
  4586.  
  4587. #ifndef __IViewChapter_INTERFACE_DEFINED__
  4588. #define __IViewChapter_INTERFACE_DEFINED__
  4589.  
  4590. /* interface IViewChapter */
  4591. /* [unique][uuid][object] */ 
  4592.  
  4593.  
  4594. EXTERN_C const IID IID_IViewChapter;
  4595.  
  4596. #if defined(__cplusplus) && !defined(CINTERFACE)
  4597.     
  4598.     MIDL_INTERFACE("0c733a98-2a1c-11ce-ade5-00aa0044773d")
  4599.     IViewChapter : public IUnknown
  4600.     {
  4601.     public:
  4602.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSpecification( 
  4603.             /* [in] */ REFIID riid,
  4604.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  4605.         
  4606.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OpenViewChapter( 
  4607.             /* [in] */ HCHAPTER hSource,
  4608.             /* [out] */ HCHAPTER __RPC_FAR *phViewChapter) = 0;
  4609.         
  4610.     };
  4611.     
  4612. #else     /* C style interface */
  4613.  
  4614.     typedef struct IViewChapterVtbl
  4615.     {
  4616.         BEGIN_INTERFACE
  4617.         
  4618.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4619.             IViewChapter __RPC_FAR * This,
  4620.             /* [in] */ REFIID riid,
  4621.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4622.         
  4623.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4624.             IViewChapter __RPC_FAR * This);
  4625.         
  4626.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4627.             IViewChapter __RPC_FAR * This);
  4628.         
  4629.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSpecification )( 
  4630.             IViewChapter __RPC_FAR * This,
  4631.             /* [in] */ REFIID riid,
  4632.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  4633.         
  4634.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenViewChapter )( 
  4635.             IViewChapter __RPC_FAR * This,
  4636.             /* [in] */ HCHAPTER hSource,
  4637.             /* [out] */ HCHAPTER __RPC_FAR *phViewChapter);
  4638.         
  4639.         END_INTERFACE
  4640.     } IViewChapterVtbl;
  4641.  
  4642.     interface IViewChapter
  4643.     {
  4644.         CONST_VTBL struct IViewChapterVtbl __RPC_FAR *lpVtbl;
  4645.     };
  4646.  
  4647.     
  4648.  
  4649. #ifdef COBJMACROS
  4650.  
  4651.  
  4652. #define IViewChapter_QueryInterface(This,riid,ppvObject)    \
  4653.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4654.  
  4655. #define IViewChapter_AddRef(This)    \
  4656.     (This)->lpVtbl -> AddRef(This)
  4657.  
  4658. #define IViewChapter_Release(This)    \
  4659.     (This)->lpVtbl -> Release(This)
  4660.  
  4661.  
  4662. #define IViewChapter_GetSpecification(This,riid,ppRowset)    \
  4663.     (This)->lpVtbl -> GetSpecification(This,riid,ppRowset)
  4664.  
  4665. #define IViewChapter_OpenViewChapter(This,hSource,phViewChapter)    \
  4666.     (This)->lpVtbl -> OpenViewChapter(This,hSource,phViewChapter)
  4667.  
  4668. #endif /* COBJMACROS */
  4669.  
  4670.  
  4671. #endif     /* C style interface */
  4672.  
  4673.  
  4674.  
  4675. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewChapter_RemoteGetSpecification_Proxy( 
  4676.     IViewChapter __RPC_FAR * This,
  4677.     /* [in] */ REFIID riid,
  4678.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  4679.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4680.  
  4681.  
  4682. void __RPC_STUB IViewChapter_RemoteGetSpecification_Stub(
  4683.     IRpcStubBuffer *This,
  4684.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4685.     PRPC_MESSAGE _pRpcMessage,
  4686.     DWORD *_pdwStubPhase);
  4687.  
  4688.  
  4689. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewChapter_RemoteOpenViewChapter_Proxy( 
  4690.     IViewChapter __RPC_FAR * This,
  4691.     /* [in] */ HCHAPTER hSource,
  4692.     /* [out] */ HCHAPTER __RPC_FAR *phViewChapter,
  4693.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4694.  
  4695.  
  4696. void __RPC_STUB IViewChapter_RemoteOpenViewChapter_Stub(
  4697.     IRpcStubBuffer *This,
  4698.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4699.     PRPC_MESSAGE _pRpcMessage,
  4700.     DWORD *_pdwStubPhase);
  4701.  
  4702.  
  4703.  
  4704. #endif     /* __IViewChapter_INTERFACE_DEFINED__ */
  4705.  
  4706.  
  4707. #ifndef __IViewSort_INTERFACE_DEFINED__
  4708. #define __IViewSort_INTERFACE_DEFINED__
  4709.  
  4710. /* interface IViewSort */
  4711. /* [unique][uuid][object] */ 
  4712.  
  4713.  
  4714. EXTERN_C const IID IID_IViewSort;
  4715.  
  4716. #if defined(__cplusplus) && !defined(CINTERFACE)
  4717.     
  4718.     MIDL_INTERFACE("0c733a9a-2a1c-11ce-ade5-00aa0044773d")
  4719.     IViewSort : public IUnknown
  4720.     {
  4721.     public:
  4722.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSortOrder( 
  4723.             /* [out] */ DBORDINAL __RPC_FAR *pcValues,
  4724.             /* [out] */ DBORDINAL __RPC_FAR *__RPC_FAR prgColumns[  ],
  4725.             /* [out] */ DBSORT __RPC_FAR *__RPC_FAR prgOrders[  ]) = 0;
  4726.         
  4727.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetSortOrder( 
  4728.             /* [in] */ DBORDINAL cValues,
  4729.             /* [size_is][in] */ const DBORDINAL __RPC_FAR rgColumns[  ],
  4730.             /* [size_is][in] */ const DBSORT __RPC_FAR rgOrders[  ]) = 0;
  4731.         
  4732.     };
  4733.     
  4734. #else     /* C style interface */
  4735.  
  4736.     typedef struct IViewSortVtbl
  4737.     {
  4738.         BEGIN_INTERFACE
  4739.         
  4740.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4741.             IViewSort __RPC_FAR * This,
  4742.             /* [in] */ REFIID riid,
  4743.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4744.         
  4745.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4746.             IViewSort __RPC_FAR * This);
  4747.         
  4748.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4749.             IViewSort __RPC_FAR * This);
  4750.         
  4751.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSortOrder )( 
  4752.             IViewSort __RPC_FAR * This,
  4753.             /* [out] */ DBORDINAL __RPC_FAR *pcValues,
  4754.             /* [out] */ DBORDINAL __RPC_FAR *__RPC_FAR prgColumns[  ],
  4755.             /* [out] */ DBSORT __RPC_FAR *__RPC_FAR prgOrders[  ]);
  4756.         
  4757.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSortOrder )( 
  4758.             IViewSort __RPC_FAR * This,
  4759.             /* [in] */ DBORDINAL cValues,
  4760.             /* [size_is][in] */ const DBORDINAL __RPC_FAR rgColumns[  ],
  4761.             /* [size_is][in] */ const DBSORT __RPC_FAR rgOrders[  ]);
  4762.         
  4763.         END_INTERFACE
  4764.     } IViewSortVtbl;
  4765.  
  4766.     interface IViewSort
  4767.     {
  4768.         CONST_VTBL struct IViewSortVtbl __RPC_FAR *lpVtbl;
  4769.     };
  4770.  
  4771.     
  4772.  
  4773. #ifdef COBJMACROS
  4774.  
  4775.  
  4776. #define IViewSort_QueryInterface(This,riid,ppvObject)    \
  4777.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4778.  
  4779. #define IViewSort_AddRef(This)    \
  4780.     (This)->lpVtbl -> AddRef(This)
  4781.  
  4782. #define IViewSort_Release(This)    \
  4783.     (This)->lpVtbl -> Release(This)
  4784.  
  4785.  
  4786. #define IViewSort_GetSortOrder(This,pcValues,prgColumns,prgOrders)    \
  4787.     (This)->lpVtbl -> GetSortOrder(This,pcValues,prgColumns,prgOrders)
  4788.  
  4789. #define IViewSort_SetSortOrder(This,cValues,rgColumns,rgOrders)    \
  4790.     (This)->lpVtbl -> SetSortOrder(This,cValues,rgColumns,rgOrders)
  4791.  
  4792. #endif /* COBJMACROS */
  4793.  
  4794.  
  4795. #endif     /* C style interface */
  4796.  
  4797.  
  4798.  
  4799. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewSort_RemoteGetSortOrder_Proxy( 
  4800.     IViewSort __RPC_FAR * This,
  4801.     /* [out][in] */ DBORDINAL __RPC_FAR *pcValues,
  4802.     /* [size_is][size_is][out] */ DBORDINAL __RPC_FAR *__RPC_FAR *prgColumns,
  4803.     /* [size_is][size_is][out] */ DBORDINAL __RPC_FAR *__RPC_FAR *prgOrders,
  4804.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4805.  
  4806.  
  4807. void __RPC_STUB IViewSort_RemoteGetSortOrder_Stub(
  4808.     IRpcStubBuffer *This,
  4809.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4810.     PRPC_MESSAGE _pRpcMessage,
  4811.     DWORD *_pdwStubPhase);
  4812.  
  4813.  
  4814. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewSort_RemoteSetSortOrder_Proxy( 
  4815.     IViewSort __RPC_FAR * This,
  4816.     /* [in] */ DBORDINAL cValues,
  4817.     /* [size_is][in] */ const DBORDINAL __RPC_FAR *rgColumns,
  4818.     /* [size_is][in] */ const DBSORT __RPC_FAR *rgOrders,
  4819.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4820.  
  4821.  
  4822. void __RPC_STUB IViewSort_RemoteSetSortOrder_Stub(
  4823.     IRpcStubBuffer *This,
  4824.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4825.     PRPC_MESSAGE _pRpcMessage,
  4826.     DWORD *_pdwStubPhase);
  4827.  
  4828.  
  4829.  
  4830. #endif     /* __IViewSort_INTERFACE_DEFINED__ */
  4831.  
  4832.  
  4833. #ifndef __IViewFilter_INTERFACE_DEFINED__
  4834. #define __IViewFilter_INTERFACE_DEFINED__
  4835.  
  4836. /* interface IViewFilter */
  4837. /* [unique][uuid][object] */ 
  4838.  
  4839.  
  4840. EXTERN_C const IID IID_IViewFilter;
  4841.  
  4842. #if defined(__cplusplus) && !defined(CINTERFACE)
  4843.     
  4844.     MIDL_INTERFACE("0c733a9b-2a1c-11ce-ade5-00aa0044773d")
  4845.     IViewFilter : public IUnknown
  4846.     {
  4847.     public:
  4848.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetFilter( 
  4849.             /* [in] */ HACCESSOR hAccessor,
  4850.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRows,
  4851.             /* [out] */ DBCOMPAREOP __RPC_FAR *__RPC_FAR pCompareOps[  ],
  4852.             /* [out] */ void __RPC_FAR *pCriteriaData) = 0;
  4853.         
  4854.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetFilterBindings( 
  4855.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcBindings,
  4856.             /* [out] */ DBBINDING __RPC_FAR *__RPC_FAR *prgBindings) = 0;
  4857.         
  4858.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetFilter( 
  4859.             /* [in] */ HACCESSOR hAccessor,
  4860.             /* [in] */ DBCOUNTITEM cRows,
  4861.             /* [in] */ DBCOMPAREOP __RPC_FAR CompareOps[  ],
  4862.             /* [in] */ void __RPC_FAR *pCriteriaData) = 0;
  4863.         
  4864.     };
  4865.     
  4866. #else     /* C style interface */
  4867.  
  4868.     typedef struct IViewFilterVtbl
  4869.     {
  4870.         BEGIN_INTERFACE
  4871.         
  4872.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4873.             IViewFilter __RPC_FAR * This,
  4874.             /* [in] */ REFIID riid,
  4875.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4876.         
  4877.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4878.             IViewFilter __RPC_FAR * This);
  4879.         
  4880.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4881.             IViewFilter __RPC_FAR * This);
  4882.         
  4883.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFilter )( 
  4884.             IViewFilter __RPC_FAR * This,
  4885.             /* [in] */ HACCESSOR hAccessor,
  4886.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRows,
  4887.             /* [out] */ DBCOMPAREOP __RPC_FAR *__RPC_FAR pCompareOps[  ],
  4888.             /* [out] */ void __RPC_FAR *pCriteriaData);
  4889.         
  4890.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFilterBindings )( 
  4891.             IViewFilter __RPC_FAR * This,
  4892.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcBindings,
  4893.             /* [out] */ DBBINDING __RPC_FAR *__RPC_FAR *prgBindings);
  4894.         
  4895.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFilter )( 
  4896.             IViewFilter __RPC_FAR * This,
  4897.             /* [in] */ HACCESSOR hAccessor,
  4898.             /* [in] */ DBCOUNTITEM cRows,
  4899.             /* [in] */ DBCOMPAREOP __RPC_FAR CompareOps[  ],
  4900.             /* [in] */ void __RPC_FAR *pCriteriaData);
  4901.         
  4902.         END_INTERFACE
  4903.     } IViewFilterVtbl;
  4904.  
  4905.     interface IViewFilter
  4906.     {
  4907.         CONST_VTBL struct IViewFilterVtbl __RPC_FAR *lpVtbl;
  4908.     };
  4909.  
  4910.     
  4911.  
  4912. #ifdef COBJMACROS
  4913.  
  4914.  
  4915. #define IViewFilter_QueryInterface(This,riid,ppvObject)    \
  4916.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4917.  
  4918. #define IViewFilter_AddRef(This)    \
  4919.     (This)->lpVtbl -> AddRef(This)
  4920.  
  4921. #define IViewFilter_Release(This)    \
  4922.     (This)->lpVtbl -> Release(This)
  4923.  
  4924.  
  4925. #define IViewFilter_GetFilter(This,hAccessor,pcRows,pCompareOps,pCriteriaData)    \
  4926.     (This)->lpVtbl -> GetFilter(This,hAccessor,pcRows,pCompareOps,pCriteriaData)
  4927.  
  4928. #define IViewFilter_GetFilterBindings(This,pcBindings,prgBindings)    \
  4929.     (This)->lpVtbl -> GetFilterBindings(This,pcBindings,prgBindings)
  4930.  
  4931. #define IViewFilter_SetFilter(This,hAccessor,cRows,CompareOps,pCriteriaData)    \
  4932.     (This)->lpVtbl -> SetFilter(This,hAccessor,cRows,CompareOps,pCriteriaData)
  4933.  
  4934. #endif /* COBJMACROS */
  4935.  
  4936.  
  4937. #endif     /* C style interface */
  4938.  
  4939.  
  4940.  
  4941. /* [local] */ HRESULT STDMETHODCALLTYPE IViewFilter_GetFilter_Proxy( 
  4942.     IViewFilter __RPC_FAR * This,
  4943.     /* [in] */ HACCESSOR hAccessor,
  4944.     /* [out] */ DBCOUNTITEM __RPC_FAR *pcRows,
  4945.     /* [out] */ DBCOMPAREOP __RPC_FAR *__RPC_FAR pCompareOps[  ],
  4946.     /* [out] */ void __RPC_FAR *pCriteriaData);
  4947.  
  4948.  
  4949. void __RPC_STUB IViewFilter_GetFilter_Stub(
  4950.     IRpcStubBuffer *This,
  4951.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4952.     PRPC_MESSAGE _pRpcMessage,
  4953.     DWORD *_pdwStubPhase);
  4954.  
  4955.  
  4956. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewFilter_RemoteGetFilterBindings_Proxy( 
  4957.     IViewFilter __RPC_FAR * This,
  4958.     /* [out][in] */ DBCOUNTITEM __RPC_FAR *pcBindings,
  4959.     /* [size_is][size_is][out] */ DBBINDING __RPC_FAR *__RPC_FAR *prgBindings,
  4960.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  4961.  
  4962.  
  4963. void __RPC_STUB IViewFilter_RemoteGetFilterBindings_Stub(
  4964.     IRpcStubBuffer *This,
  4965.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4966.     PRPC_MESSAGE _pRpcMessage,
  4967.     DWORD *_pdwStubPhase);
  4968.  
  4969.  
  4970. /* [local] */ HRESULT STDMETHODCALLTYPE IViewFilter_SetFilter_Proxy( 
  4971.     IViewFilter __RPC_FAR * This,
  4972.     /* [in] */ HACCESSOR hAccessor,
  4973.     /* [in] */ DBCOUNTITEM cRows,
  4974.     /* [in] */ DBCOMPAREOP __RPC_FAR CompareOps[  ],
  4975.     /* [in] */ void __RPC_FAR *pCriteriaData);
  4976.  
  4977.  
  4978. void __RPC_STUB IViewFilter_SetFilter_Stub(
  4979.     IRpcStubBuffer *This,
  4980.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4981.     PRPC_MESSAGE _pRpcMessage,
  4982.     DWORD *_pdwStubPhase);
  4983.  
  4984.  
  4985.  
  4986. #endif     /* __IViewFilter_INTERFACE_DEFINED__ */
  4987.  
  4988.  
  4989. #ifndef __IRowsetView_INTERFACE_DEFINED__
  4990. #define __IRowsetView_INTERFACE_DEFINED__
  4991.  
  4992. /* interface IRowsetView */
  4993. /* [unique][uuid][object] */ 
  4994.  
  4995.  
  4996. EXTERN_C const IID IID_IRowsetView;
  4997.  
  4998. #if defined(__cplusplus) && !defined(CINTERFACE)
  4999.     
  5000.     MIDL_INTERFACE("0c733a99-2a1c-11ce-ade5-00aa0044773d")
  5001.     IRowsetView : public IUnknown
  5002.     {
  5003.     public:
  5004.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateView( 
  5005.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  5006.             /* [in] */ REFIID riid,
  5007.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppView) = 0;
  5008.         
  5009.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetView( 
  5010.             /* [in] */ HCHAPTER hChapter,
  5011.             /* [in] */ REFIID riid,
  5012.             /* [out] */ HCHAPTER __RPC_FAR *phChapterSource,
  5013.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppView) = 0;
  5014.         
  5015.     };
  5016.     
  5017. #else     /* C style interface */
  5018.  
  5019.     typedef struct IRowsetViewVtbl
  5020.     {
  5021.         BEGIN_INTERFACE
  5022.         
  5023.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5024.             IRowsetView __RPC_FAR * This,
  5025.             /* [in] */ REFIID riid,
  5026.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5027.         
  5028.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5029.             IRowsetView __RPC_FAR * This);
  5030.         
  5031.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5032.             IRowsetView __RPC_FAR * This);
  5033.         
  5034.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateView )( 
  5035.             IRowsetView __RPC_FAR * This,
  5036.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  5037.             /* [in] */ REFIID riid,
  5038.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppView);
  5039.         
  5040.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetView )( 
  5041.             IRowsetView __RPC_FAR * This,
  5042.             /* [in] */ HCHAPTER hChapter,
  5043.             /* [in] */ REFIID riid,
  5044.             /* [out] */ HCHAPTER __RPC_FAR *phChapterSource,
  5045.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppView);
  5046.         
  5047.         END_INTERFACE
  5048.     } IRowsetViewVtbl;
  5049.  
  5050.     interface IRowsetView
  5051.     {
  5052.         CONST_VTBL struct IRowsetViewVtbl __RPC_FAR *lpVtbl;
  5053.     };
  5054.  
  5055.     
  5056.  
  5057. #ifdef COBJMACROS
  5058.  
  5059.  
  5060. #define IRowsetView_QueryInterface(This,riid,ppvObject)    \
  5061.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5062.  
  5063. #define IRowsetView_AddRef(This)    \
  5064.     (This)->lpVtbl -> AddRef(This)
  5065.  
  5066. #define IRowsetView_Release(This)    \
  5067.     (This)->lpVtbl -> Release(This)
  5068.  
  5069.  
  5070. #define IRowsetView_CreateView(This,pUnkOuter,riid,ppView)    \
  5071.     (This)->lpVtbl -> CreateView(This,pUnkOuter,riid,ppView)
  5072.  
  5073. #define IRowsetView_GetView(This,hChapter,riid,phChapterSource,ppView)    \
  5074.     (This)->lpVtbl -> GetView(This,hChapter,riid,phChapterSource,ppView)
  5075.  
  5076. #endif /* COBJMACROS */
  5077.  
  5078.  
  5079. #endif     /* C style interface */
  5080.  
  5081.  
  5082.  
  5083. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetView_RemoteCreateView_Proxy( 
  5084.     IRowsetView __RPC_FAR * This,
  5085.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  5086.     /* [in] */ REFIID riid,
  5087.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppView,
  5088.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  5089.  
  5090.  
  5091. void __RPC_STUB IRowsetView_RemoteCreateView_Stub(
  5092.     IRpcStubBuffer *This,
  5093.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5094.     PRPC_MESSAGE _pRpcMessage,
  5095.     DWORD *_pdwStubPhase);
  5096.  
  5097.  
  5098. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetView_RemoteGetView_Proxy( 
  5099.     IRowsetView __RPC_FAR * This,
  5100.     /* [in] */ HCHAPTER hChapter,
  5101.     /* [in] */ REFIID riid,
  5102.     /* [out] */ HCHAPTER __RPC_FAR *phChapterSource,
  5103.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppView,
  5104.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  5105.  
  5106.  
  5107. void __RPC_STUB IRowsetView_RemoteGetView_Stub(
  5108.     IRpcStubBuffer *This,
  5109.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5110.     PRPC_MESSAGE _pRpcMessage,
  5111.     DWORD *_pdwStubPhase);
  5112.  
  5113.  
  5114.  
  5115. #endif     /* __IRowsetView_INTERFACE_DEFINED__ */
  5116.  
  5117.  
  5118. /* interface __MIDL_itf_oledb_0272 */
  5119. /* [local] */ 
  5120.  
  5121. #endif // OLEDBVER >= 0x0150
  5122. //@@@- V1.5
  5123. //@@@+ deprecated
  5124. #ifdef deprecated
  5125.  
  5126.  
  5127. extern RPC_IF_HANDLE __MIDL_itf_oledb_0272_v0_0_c_ifspec;
  5128. extern RPC_IF_HANDLE __MIDL_itf_oledb_0272_v0_0_s_ifspec;
  5129.  
  5130. #ifndef __IRowsetExactScroll_INTERFACE_DEFINED__
  5131. #define __IRowsetExactScroll_INTERFACE_DEFINED__
  5132.  
  5133. /* interface IRowsetExactScroll */
  5134. /* [unique][uuid][object][local] */ 
  5135.  
  5136.  
  5137. EXTERN_C const IID IID_IRowsetExactScroll;
  5138.  
  5139. #if defined(__cplusplus) && !defined(CINTERFACE)
  5140.     
  5141.     MIDL_INTERFACE("0c733a7f-2a1c-11ce-ade5-00aa0044773d")
  5142.     IRowsetExactScroll : public IRowsetScroll
  5143.     {
  5144.     public:
  5145.         virtual HRESULT STDMETHODCALLTYPE GetExactPosition( 
  5146.             /* [in] */ HCHAPTER hChapter,
  5147.             /* [in] */ DBBKMARK cbBookmark,
  5148.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  5149.             /* [out] */ DBCOUNTITEM __RPC_FAR *pulPosition,
  5150.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRows) = 0;
  5151.         
  5152.     };
  5153.     
  5154. #else     /* C style interface */
  5155.  
  5156.     typedef struct IRowsetExactScrollVtbl
  5157.     {
  5158.         BEGIN_INTERFACE
  5159.         
  5160.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5161.             IRowsetExactScroll __RPC_FAR * This,
  5162.             /* [in] */ REFIID riid,
  5163.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5164.         
  5165.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5166.             IRowsetExactScroll __RPC_FAR * This);
  5167.         
  5168.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5169.             IRowsetExactScroll __RPC_FAR * This);
  5170.         
  5171.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddRefRows )( 
  5172.             IRowsetExactScroll __RPC_FAR * This,
  5173.             /* [in] */ DBCOUNTITEM cRows,
  5174.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5175.             /* [size_is][out] */ DBREFCOUNT __RPC_FAR rgRefCounts[  ],
  5176.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  5177.         
  5178.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetData )( 
  5179.             IRowsetExactScroll __RPC_FAR * This,
  5180.             /* [in] */ HROW hRow,
  5181.             /* [in] */ HACCESSOR hAccessor,
  5182.             /* [out] */ void __RPC_FAR *pData);
  5183.         
  5184.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNextRows )( 
  5185.             IRowsetExactScroll __RPC_FAR * This,
  5186.             /* [in] */ HCHAPTER hReserved,
  5187.             /* [in] */ DBROWOFFSET lRowsOffset,
  5188.             /* [in] */ DBROWCOUNT cRows,
  5189.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRowsObtained,
  5190.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  5191.         
  5192.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseRows )( 
  5193.             IRowsetExactScroll __RPC_FAR * This,
  5194.             /* [in] */ DBCOUNTITEM cRows,
  5195.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5196.             /* [size_is][in] */ DBROWOPTIONS __RPC_FAR rgRowOptions[  ],
  5197.             /* [size_is][out] */ DBREFCOUNT __RPC_FAR rgRefCounts[  ],
  5198.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  5199.         
  5200.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RestartPosition )( 
  5201.             IRowsetExactScroll __RPC_FAR * This,
  5202.             /* [in] */ HCHAPTER hReserved);
  5203.         
  5204.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Compare )( 
  5205.             IRowsetExactScroll __RPC_FAR * This,
  5206.             /* [in] */ HCHAPTER hReserved,
  5207.             /* [in] */ DBBKMARK cbBookmark1,
  5208.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark1,
  5209.             /* [in] */ DBBKMARK cbBookmark2,
  5210.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark2,
  5211.             /* [out] */ DBCOMPARE __RPC_FAR *pComparison);
  5212.         
  5213.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowsAt )( 
  5214.             IRowsetExactScroll __RPC_FAR * This,
  5215.             /* [in] */ HWATCHREGION hReserved1,
  5216.             /* [in] */ HCHAPTER hReserved2,
  5217.             /* [in] */ DBBKMARK cbBookmark,
  5218.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  5219.             /* [in] */ DBROWOFFSET lRowsOffset,
  5220.             /* [in] */ DBROWCOUNT cRows,
  5221.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRowsObtained,
  5222.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  5223.         
  5224.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowsByBookmark )( 
  5225.             IRowsetExactScroll __RPC_FAR * This,
  5226.             /* [in] */ HCHAPTER hReserved,
  5227.             /* [in] */ DBCOUNTITEM cRows,
  5228.             /* [size_is][in] */ const DBBKMARK __RPC_FAR rgcbBookmarks[  ],
  5229.             /* [size_is][in] */ const BYTE __RPC_FAR *__RPC_FAR rgpBookmarks[  ],
  5230.             /* [size_is][out] */ HROW __RPC_FAR rghRows[  ],
  5231.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  5232.         
  5233.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Hash )( 
  5234.             IRowsetExactScroll __RPC_FAR * This,
  5235.             /* [in] */ HCHAPTER hReserved,
  5236.             /* [in] */ DBBKMARK cBookmarks,
  5237.             /* [size_is][in] */ const DBBKMARK __RPC_FAR rgcbBookmarks[  ],
  5238.             /* [size_is][in] */ const BYTE __RPC_FAR *__RPC_FAR rgpBookmarks[  ],
  5239.             /* [size_is][out] */ DBHASHVALUE __RPC_FAR rgHashedValues[  ],
  5240.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgBookmarkStatus[  ]);
  5241.         
  5242.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetApproximatePosition )( 
  5243.             IRowsetExactScroll __RPC_FAR * This,
  5244.             /* [in] */ HCHAPTER hReserved,
  5245.             /* [in] */ DBBKMARK cbBookmark,
  5246.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  5247.             /* [out] */ DBCOUNTITEM __RPC_FAR *pulPosition,
  5248.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRows);
  5249.         
  5250.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowsAtRatio )( 
  5251.             IRowsetExactScroll __RPC_FAR * This,
  5252.             /* [in] */ HWATCHREGION hReserved1,
  5253.             /* [in] */ HCHAPTER hReserved2,
  5254.             /* [in] */ DBCOUNTITEM ulNumerator,
  5255.             /* [in] */ DBCOUNTITEM ulDenominator,
  5256.             /* [in] */ DBROWCOUNT cRows,
  5257.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRowsObtained,
  5258.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prghRows);
  5259.         
  5260.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetExactPosition )( 
  5261.             IRowsetExactScroll __RPC_FAR * This,
  5262.             /* [in] */ HCHAPTER hChapter,
  5263.             /* [in] */ DBBKMARK cbBookmark,
  5264.             /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  5265.             /* [out] */ DBCOUNTITEM __RPC_FAR *pulPosition,
  5266.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRows);
  5267.         
  5268.         END_INTERFACE
  5269.     } IRowsetExactScrollVtbl;
  5270.  
  5271.     interface IRowsetExactScroll
  5272.     {
  5273.         CONST_VTBL struct IRowsetExactScrollVtbl __RPC_FAR *lpVtbl;
  5274.     };
  5275.  
  5276.     
  5277.  
  5278. #ifdef COBJMACROS
  5279.  
  5280.  
  5281. #define IRowsetExactScroll_QueryInterface(This,riid,ppvObject)    \
  5282.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5283.  
  5284. #define IRowsetExactScroll_AddRef(This)    \
  5285.     (This)->lpVtbl -> AddRef(This)
  5286.  
  5287. #define IRowsetExactScroll_Release(This)    \
  5288.     (This)->lpVtbl -> Release(This)
  5289.  
  5290.  
  5291. #define IRowsetExactScroll_AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus)    \
  5292.     (This)->lpVtbl -> AddRefRows(This,cRows,rghRows,rgRefCounts,rgRowStatus)
  5293.  
  5294. #define IRowsetExactScroll_GetData(This,hRow,hAccessor,pData)    \
  5295.     (This)->lpVtbl -> GetData(This,hRow,hAccessor,pData)
  5296.  
  5297. #define IRowsetExactScroll_GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows)    \
  5298.     (This)->lpVtbl -> GetNextRows(This,hReserved,lRowsOffset,cRows,pcRowsObtained,prghRows)
  5299.  
  5300. #define IRowsetExactScroll_ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus)    \
  5301.     (This)->lpVtbl -> ReleaseRows(This,cRows,rghRows,rgRowOptions,rgRefCounts,rgRowStatus)
  5302.  
  5303. #define IRowsetExactScroll_RestartPosition(This,hReserved)    \
  5304.     (This)->lpVtbl -> RestartPosition(This,hReserved)
  5305.  
  5306.  
  5307. #define IRowsetExactScroll_Compare(This,hReserved,cbBookmark1,pBookmark1,cbBookmark2,pBookmark2,pComparison)    \
  5308.     (This)->lpVtbl -> Compare(This,hReserved,cbBookmark1,pBookmark1,cbBookmark2,pBookmark2,pComparison)
  5309.  
  5310. #define IRowsetExactScroll_GetRowsAt(This,hReserved1,hReserved2,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows)    \
  5311.     (This)->lpVtbl -> GetRowsAt(This,hReserved1,hReserved2,cbBookmark,pBookmark,lRowsOffset,cRows,pcRowsObtained,prghRows)
  5312.  
  5313. #define IRowsetExactScroll_GetRowsByBookmark(This,hReserved,cRows,rgcbBookmarks,rgpBookmarks,rghRows,rgRowStatus)    \
  5314.     (This)->lpVtbl -> GetRowsByBookmark(This,hReserved,cRows,rgcbBookmarks,rgpBookmarks,rghRows,rgRowStatus)
  5315.  
  5316. #define IRowsetExactScroll_Hash(This,hReserved,cBookmarks,rgcbBookmarks,rgpBookmarks,rgHashedValues,rgBookmarkStatus)    \
  5317.     (This)->lpVtbl -> Hash(This,hReserved,cBookmarks,rgcbBookmarks,rgpBookmarks,rgHashedValues,rgBookmarkStatus)
  5318.  
  5319.  
  5320. #define IRowsetExactScroll_GetApproximatePosition(This,hReserved,cbBookmark,pBookmark,pulPosition,pcRows)    \
  5321.     (This)->lpVtbl -> GetApproximatePosition(This,hReserved,cbBookmark,pBookmark,pulPosition,pcRows)
  5322.  
  5323. #define IRowsetExactScroll_GetRowsAtRatio(This,hReserved1,hReserved2,ulNumerator,ulDenominator,cRows,pcRowsObtained,prghRows)    \
  5324.     (This)->lpVtbl -> GetRowsAtRatio(This,hReserved1,hReserved2,ulNumerator,ulDenominator,cRows,pcRowsObtained,prghRows)
  5325.  
  5326.  
  5327. #define IRowsetExactScroll_GetExactPosition(This,hChapter,cbBookmark,pBookmark,pulPosition,pcRows)    \
  5328.     (This)->lpVtbl -> GetExactPosition(This,hChapter,cbBookmark,pBookmark,pulPosition,pcRows)
  5329.  
  5330. #endif /* COBJMACROS */
  5331.  
  5332.  
  5333. #endif     /* C style interface */
  5334.  
  5335.  
  5336.  
  5337. HRESULT STDMETHODCALLTYPE IRowsetExactScroll_GetExactPosition_Proxy( 
  5338.     IRowsetExactScroll __RPC_FAR * This,
  5339.     /* [in] */ HCHAPTER hChapter,
  5340.     /* [in] */ DBBKMARK cbBookmark,
  5341.     /* [size_is][in] */ const BYTE __RPC_FAR *pBookmark,
  5342.     /* [out] */ DBCOUNTITEM __RPC_FAR *pulPosition,
  5343.     /* [out] */ DBCOUNTITEM __RPC_FAR *pcRows);
  5344.  
  5345.  
  5346. void __RPC_STUB IRowsetExactScroll_GetExactPosition_Stub(
  5347.     IRpcStubBuffer *This,
  5348.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5349.     PRPC_MESSAGE _pRpcMessage,
  5350.     DWORD *_pdwStubPhase);
  5351.  
  5352.  
  5353.  
  5354. #endif     /* __IRowsetExactScroll_INTERFACE_DEFINED__ */
  5355.  
  5356.  
  5357. /* interface __MIDL_itf_oledb_0273 */
  5358. /* [local] */ 
  5359.  
  5360. #endif // deprecated
  5361. //@@@- deprecated
  5362.  
  5363.  
  5364. extern RPC_IF_HANDLE __MIDL_itf_oledb_0273_v0_0_c_ifspec;
  5365. extern RPC_IF_HANDLE __MIDL_itf_oledb_0273_v0_0_s_ifspec;
  5366.  
  5367. #ifndef __IRowsetChange_INTERFACE_DEFINED__
  5368. #define __IRowsetChange_INTERFACE_DEFINED__
  5369.  
  5370. /* interface IRowsetChange */
  5371. /* [unique][uuid][object][local] */ 
  5372.  
  5373.  
  5374. EXTERN_C const IID IID_IRowsetChange;
  5375.  
  5376. #if defined(__cplusplus) && !defined(CINTERFACE)
  5377.     
  5378.     MIDL_INTERFACE("0c733a05-2a1c-11ce-ade5-00aa0044773d")
  5379.     IRowsetChange : public IUnknown
  5380.     {
  5381.     public:
  5382.         virtual HRESULT STDMETHODCALLTYPE DeleteRows( 
  5383.             /* [in] */ HCHAPTER hReserved,
  5384.             /* [in] */ DBCOUNTITEM cRows,
  5385.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5386.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]) = 0;
  5387.         
  5388.         virtual HRESULT STDMETHODCALLTYPE SetData( 
  5389.             /* [in] */ HROW hRow,
  5390.             /* [in] */ HACCESSOR hAccessor,
  5391.             /* [in] */ void __RPC_FAR *pData) = 0;
  5392.         
  5393.         virtual HRESULT STDMETHODCALLTYPE InsertRow( 
  5394.             /* [in] */ HCHAPTER hReserved,
  5395.             /* [in] */ HACCESSOR hAccessor,
  5396.             /* [in] */ void __RPC_FAR *pData,
  5397.             /* [out] */ HROW __RPC_FAR *phRow) = 0;
  5398.         
  5399.     };
  5400.     
  5401. #else     /* C style interface */
  5402.  
  5403.     typedef struct IRowsetChangeVtbl
  5404.     {
  5405.         BEGIN_INTERFACE
  5406.         
  5407.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5408.             IRowsetChange __RPC_FAR * This,
  5409.             /* [in] */ REFIID riid,
  5410.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5411.         
  5412.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5413.             IRowsetChange __RPC_FAR * This);
  5414.         
  5415.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5416.             IRowsetChange __RPC_FAR * This);
  5417.         
  5418.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteRows )( 
  5419.             IRowsetChange __RPC_FAR * This,
  5420.             /* [in] */ HCHAPTER hReserved,
  5421.             /* [in] */ DBCOUNTITEM cRows,
  5422.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5423.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  5424.         
  5425.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetData )( 
  5426.             IRowsetChange __RPC_FAR * This,
  5427.             /* [in] */ HROW hRow,
  5428.             /* [in] */ HACCESSOR hAccessor,
  5429.             /* [in] */ void __RPC_FAR *pData);
  5430.         
  5431.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InsertRow )( 
  5432.             IRowsetChange __RPC_FAR * This,
  5433.             /* [in] */ HCHAPTER hReserved,
  5434.             /* [in] */ HACCESSOR hAccessor,
  5435.             /* [in] */ void __RPC_FAR *pData,
  5436.             /* [out] */ HROW __RPC_FAR *phRow);
  5437.         
  5438.         END_INTERFACE
  5439.     } IRowsetChangeVtbl;
  5440.  
  5441.     interface IRowsetChange
  5442.     {
  5443.         CONST_VTBL struct IRowsetChangeVtbl __RPC_FAR *lpVtbl;
  5444.     };
  5445.  
  5446.     
  5447.  
  5448. #ifdef COBJMACROS
  5449.  
  5450.  
  5451. #define IRowsetChange_QueryInterface(This,riid,ppvObject)    \
  5452.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5453.  
  5454. #define IRowsetChange_AddRef(This)    \
  5455.     (This)->lpVtbl -> AddRef(This)
  5456.  
  5457. #define IRowsetChange_Release(This)    \
  5458.     (This)->lpVtbl -> Release(This)
  5459.  
  5460.  
  5461. #define IRowsetChange_DeleteRows(This,hReserved,cRows,rghRows,rgRowStatus)    \
  5462.     (This)->lpVtbl -> DeleteRows(This,hReserved,cRows,rghRows,rgRowStatus)
  5463.  
  5464. #define IRowsetChange_SetData(This,hRow,hAccessor,pData)    \
  5465.     (This)->lpVtbl -> SetData(This,hRow,hAccessor,pData)
  5466.  
  5467. #define IRowsetChange_InsertRow(This,hReserved,hAccessor,pData,phRow)    \
  5468.     (This)->lpVtbl -> InsertRow(This,hReserved,hAccessor,pData,phRow)
  5469.  
  5470. #endif /* COBJMACROS */
  5471.  
  5472.  
  5473. #endif     /* C style interface */
  5474.  
  5475.  
  5476.  
  5477. HRESULT STDMETHODCALLTYPE IRowsetChange_DeleteRows_Proxy( 
  5478.     IRowsetChange __RPC_FAR * This,
  5479.     /* [in] */ HCHAPTER hReserved,
  5480.     /* [in] */ DBCOUNTITEM cRows,
  5481.     /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5482.     /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  5483.  
  5484.  
  5485. void __RPC_STUB IRowsetChange_DeleteRows_Stub(
  5486.     IRpcStubBuffer *This,
  5487.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5488.     PRPC_MESSAGE _pRpcMessage,
  5489.     DWORD *_pdwStubPhase);
  5490.  
  5491.  
  5492. HRESULT STDMETHODCALLTYPE IRowsetChange_SetData_Proxy( 
  5493.     IRowsetChange __RPC_FAR * This,
  5494.     /* [in] */ HROW hRow,
  5495.     /* [in] */ HACCESSOR hAccessor,
  5496.     /* [in] */ void __RPC_FAR *pData);
  5497.  
  5498.  
  5499. void __RPC_STUB IRowsetChange_SetData_Stub(
  5500.     IRpcStubBuffer *This,
  5501.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5502.     PRPC_MESSAGE _pRpcMessage,
  5503.     DWORD *_pdwStubPhase);
  5504.  
  5505.  
  5506. HRESULT STDMETHODCALLTYPE IRowsetChange_InsertRow_Proxy( 
  5507.     IRowsetChange __RPC_FAR * This,
  5508.     /* [in] */ HCHAPTER hReserved,
  5509.     /* [in] */ HACCESSOR hAccessor,
  5510.     /* [in] */ void __RPC_FAR *pData,
  5511.     /* [out] */ HROW __RPC_FAR *phRow);
  5512.  
  5513.  
  5514. void __RPC_STUB IRowsetChange_InsertRow_Stub(
  5515.     IRpcStubBuffer *This,
  5516.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5517.     PRPC_MESSAGE _pRpcMessage,
  5518.     DWORD *_pdwStubPhase);
  5519.  
  5520.  
  5521.  
  5522. #endif     /* __IRowsetChange_INTERFACE_DEFINED__ */
  5523.  
  5524.  
  5525. #ifndef __IRowsetUpdate_INTERFACE_DEFINED__
  5526. #define __IRowsetUpdate_INTERFACE_DEFINED__
  5527.  
  5528. /* interface IRowsetUpdate */
  5529. /* [unique][uuid][object][local] */ 
  5530.  
  5531. typedef DWORD DBPENDINGSTATUS;
  5532.  
  5533.  
  5534. enum DBPENDINGSTATUSENUM
  5535.     {    DBPENDINGSTATUS_NEW    = 0x1,
  5536.     DBPENDINGSTATUS_CHANGED    = 0x2,
  5537.     DBPENDINGSTATUS_DELETED    = 0x4,
  5538.     DBPENDINGSTATUS_UNCHANGED    = 0x8,
  5539.     DBPENDINGSTATUS_INVALIDROW    = 0x10
  5540.     };
  5541.  
  5542. EXTERN_C const IID IID_IRowsetUpdate;
  5543.  
  5544. #if defined(__cplusplus) && !defined(CINTERFACE)
  5545.     
  5546.     MIDL_INTERFACE("0c733a6d-2a1c-11ce-ade5-00aa0044773d")
  5547.     IRowsetUpdate : public IRowsetChange
  5548.     {
  5549.     public:
  5550.         virtual HRESULT STDMETHODCALLTYPE GetOriginalData( 
  5551.             /* [in] */ HROW hRow,
  5552.             /* [in] */ HACCESSOR hAccessor,
  5553.             /* [out] */ void __RPC_FAR *pData) = 0;
  5554.         
  5555.         virtual HRESULT STDMETHODCALLTYPE GetPendingRows( 
  5556.             /* [in] */ HCHAPTER hReserved,
  5557.             /* [in] */ DBPENDINGSTATUS dwRowStatus,
  5558.             /* [out][in] */ DBCOUNTITEM __RPC_FAR *pcPendingRows,
  5559.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prgPendingRows,
  5560.             /* [size_is][size_is][out] */ DBPENDINGSTATUS __RPC_FAR *__RPC_FAR *prgPendingStatus) = 0;
  5561.         
  5562.         virtual HRESULT STDMETHODCALLTYPE GetRowStatus( 
  5563.             /* [in] */ HCHAPTER hReserved,
  5564.             /* [in] */ DBCOUNTITEM cRows,
  5565.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5566.             /* [size_is][out] */ DBPENDINGSTATUS __RPC_FAR rgPendingStatus[  ]) = 0;
  5567.         
  5568.         virtual HRESULT STDMETHODCALLTYPE Undo( 
  5569.             /* [in] */ HCHAPTER hReserved,
  5570.             /* [in] */ DBCOUNTITEM cRows,
  5571.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5572.             /* [out][in] */ DBCOUNTITEM __RPC_FAR *pcRowsUndone,
  5573.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prgRowsUndone,
  5574.             /* [size_is][size_is][out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus) = 0;
  5575.         
  5576.         virtual HRESULT STDMETHODCALLTYPE Update( 
  5577.             /* [in] */ HCHAPTER hReserved,
  5578.             /* [in] */ DBCOUNTITEM cRows,
  5579.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5580.             /* [out][in] */ DBCOUNTITEM __RPC_FAR *pcRows,
  5581.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prgRows,
  5582.             /* [size_is][size_is][out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus) = 0;
  5583.         
  5584.     };
  5585.     
  5586. #else     /* C style interface */
  5587.  
  5588.     typedef struct IRowsetUpdateVtbl
  5589.     {
  5590.         BEGIN_INTERFACE
  5591.         
  5592.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5593.             IRowsetUpdate __RPC_FAR * This,
  5594.             /* [in] */ REFIID riid,
  5595.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5596.         
  5597.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5598.             IRowsetUpdate __RPC_FAR * This);
  5599.         
  5600.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5601.             IRowsetUpdate __RPC_FAR * This);
  5602.         
  5603.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteRows )( 
  5604.             IRowsetUpdate __RPC_FAR * This,
  5605.             /* [in] */ HCHAPTER hReserved,
  5606.             /* [in] */ DBCOUNTITEM cRows,
  5607.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5608.             /* [size_is][out] */ DBROWSTATUS __RPC_FAR rgRowStatus[  ]);
  5609.         
  5610.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetData )( 
  5611.             IRowsetUpdate __RPC_FAR * This,
  5612.             /* [in] */ HROW hRow,
  5613.             /* [in] */ HACCESSOR hAccessor,
  5614.             /* [in] */ void __RPC_FAR *pData);
  5615.         
  5616.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InsertRow )( 
  5617.             IRowsetUpdate __RPC_FAR * This,
  5618.             /* [in] */ HCHAPTER hReserved,
  5619.             /* [in] */ HACCESSOR hAccessor,
  5620.             /* [in] */ void __RPC_FAR *pData,
  5621.             /* [out] */ HROW __RPC_FAR *phRow);
  5622.         
  5623.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOriginalData )( 
  5624.             IRowsetUpdate __RPC_FAR * This,
  5625.             /* [in] */ HROW hRow,
  5626.             /* [in] */ HACCESSOR hAccessor,
  5627.             /* [out] */ void __RPC_FAR *pData);
  5628.         
  5629.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPendingRows )( 
  5630.             IRowsetUpdate __RPC_FAR * This,
  5631.             /* [in] */ HCHAPTER hReserved,
  5632.             /* [in] */ DBPENDINGSTATUS dwRowStatus,
  5633.             /* [out][in] */ DBCOUNTITEM __RPC_FAR *pcPendingRows,
  5634.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prgPendingRows,
  5635.             /* [size_is][size_is][out] */ DBPENDINGSTATUS __RPC_FAR *__RPC_FAR *prgPendingStatus);
  5636.         
  5637.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowStatus )( 
  5638.             IRowsetUpdate __RPC_FAR * This,
  5639.             /* [in] */ HCHAPTER hReserved,
  5640.             /* [in] */ DBCOUNTITEM cRows,
  5641.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5642.             /* [size_is][out] */ DBPENDINGSTATUS __RPC_FAR rgPendingStatus[  ]);
  5643.         
  5644.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Undo )( 
  5645.             IRowsetUpdate __RPC_FAR * This,
  5646.             /* [in] */ HCHAPTER hReserved,
  5647.             /* [in] */ DBCOUNTITEM cRows,
  5648.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5649.             /* [out][in] */ DBCOUNTITEM __RPC_FAR *pcRowsUndone,
  5650.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prgRowsUndone,
  5651.             /* [size_is][size_is][out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus);
  5652.         
  5653.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
  5654.             IRowsetUpdate __RPC_FAR * This,
  5655.             /* [in] */ HCHAPTER hReserved,
  5656.             /* [in] */ DBCOUNTITEM cRows,
  5657.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5658.             /* [out][in] */ DBCOUNTITEM __RPC_FAR *pcRows,
  5659.             /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prgRows,
  5660.             /* [size_is][size_is][out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus);
  5661.         
  5662.         END_INTERFACE
  5663.     } IRowsetUpdateVtbl;
  5664.  
  5665.     interface IRowsetUpdate
  5666.     {
  5667.         CONST_VTBL struct IRowsetUpdateVtbl __RPC_FAR *lpVtbl;
  5668.     };
  5669.  
  5670.     
  5671.  
  5672. #ifdef COBJMACROS
  5673.  
  5674.  
  5675. #define IRowsetUpdate_QueryInterface(This,riid,ppvObject)    \
  5676.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5677.  
  5678. #define IRowsetUpdate_AddRef(This)    \
  5679.     (This)->lpVtbl -> AddRef(This)
  5680.  
  5681. #define IRowsetUpdate_Release(This)    \
  5682.     (This)->lpVtbl -> Release(This)
  5683.  
  5684.  
  5685. #define IRowsetUpdate_DeleteRows(This,hReserved,cRows,rghRows,rgRowStatus)    \
  5686.     (This)->lpVtbl -> DeleteRows(This,hReserved,cRows,rghRows,rgRowStatus)
  5687.  
  5688. #define IRowsetUpdate_SetData(This,hRow,hAccessor,pData)    \
  5689.     (This)->lpVtbl -> SetData(This,hRow,hAccessor,pData)
  5690.  
  5691. #define IRowsetUpdate_InsertRow(This,hReserved,hAccessor,pData,phRow)    \
  5692.     (This)->lpVtbl -> InsertRow(This,hReserved,hAccessor,pData,phRow)
  5693.  
  5694.  
  5695. #define IRowsetUpdate_GetOriginalData(This,hRow,hAccessor,pData)    \
  5696.     (This)->lpVtbl -> GetOriginalData(This,hRow,hAccessor,pData)
  5697.  
  5698. #define IRowsetUpdate_GetPendingRows(This,hReserved,dwRowStatus,pcPendingRows,prgPendingRows,prgPendingStatus)    \
  5699.     (This)->lpVtbl -> GetPendingRows(This,hReserved,dwRowStatus,pcPendingRows,prgPendingRows,prgPendingStatus)
  5700.  
  5701. #define IRowsetUpdate_GetRowStatus(This,hReserved,cRows,rghRows,rgPendingStatus)    \
  5702.     (This)->lpVtbl -> GetRowStatus(This,hReserved,cRows,rghRows,rgPendingStatus)
  5703.  
  5704. #define IRowsetUpdate_Undo(This,hReserved,cRows,rghRows,pcRowsUndone,prgRowsUndone,prgRowStatus)    \
  5705.     (This)->lpVtbl -> Undo(This,hReserved,cRows,rghRows,pcRowsUndone,prgRowsUndone,prgRowStatus)
  5706.  
  5707. #define IRowsetUpdate_Update(This,hReserved,cRows,rghRows,pcRows,prgRows,prgRowStatus)    \
  5708.     (This)->lpVtbl -> Update(This,hReserved,cRows,rghRows,pcRows,prgRows,prgRowStatus)
  5709.  
  5710. #endif /* COBJMACROS */
  5711.  
  5712.  
  5713. #endif     /* C style interface */
  5714.  
  5715.  
  5716.  
  5717. HRESULT STDMETHODCALLTYPE IRowsetUpdate_GetOriginalData_Proxy( 
  5718.     IRowsetUpdate __RPC_FAR * This,
  5719.     /* [in] */ HROW hRow,
  5720.     /* [in] */ HACCESSOR hAccessor,
  5721.     /* [out] */ void __RPC_FAR *pData);
  5722.  
  5723.  
  5724. void __RPC_STUB IRowsetUpdate_GetOriginalData_Stub(
  5725.     IRpcStubBuffer *This,
  5726.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5727.     PRPC_MESSAGE _pRpcMessage,
  5728.     DWORD *_pdwStubPhase);
  5729.  
  5730.  
  5731. HRESULT STDMETHODCALLTYPE IRowsetUpdate_GetPendingRows_Proxy( 
  5732.     IRowsetUpdate __RPC_FAR * This,
  5733.     /* [in] */ HCHAPTER hReserved,
  5734.     /* [in] */ DBPENDINGSTATUS dwRowStatus,
  5735.     /* [out][in] */ DBCOUNTITEM __RPC_FAR *pcPendingRows,
  5736.     /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prgPendingRows,
  5737.     /* [size_is][size_is][out] */ DBPENDINGSTATUS __RPC_FAR *__RPC_FAR *prgPendingStatus);
  5738.  
  5739.  
  5740. void __RPC_STUB IRowsetUpdate_GetPendingRows_Stub(
  5741.     IRpcStubBuffer *This,
  5742.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5743.     PRPC_MESSAGE _pRpcMessage,
  5744.     DWORD *_pdwStubPhase);
  5745.  
  5746.  
  5747. HRESULT STDMETHODCALLTYPE IRowsetUpdate_GetRowStatus_Proxy( 
  5748.     IRowsetUpdate __RPC_FAR * This,
  5749.     /* [in] */ HCHAPTER hReserved,
  5750.     /* [in] */ DBCOUNTITEM cRows,
  5751.     /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5752.     /* [size_is][out] */ DBPENDINGSTATUS __RPC_FAR rgPendingStatus[  ]);
  5753.  
  5754.  
  5755. void __RPC_STUB IRowsetUpdate_GetRowStatus_Stub(
  5756.     IRpcStubBuffer *This,
  5757.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5758.     PRPC_MESSAGE _pRpcMessage,
  5759.     DWORD *_pdwStubPhase);
  5760.  
  5761.  
  5762. HRESULT STDMETHODCALLTYPE IRowsetUpdate_Undo_Proxy( 
  5763.     IRowsetUpdate __RPC_FAR * This,
  5764.     /* [in] */ HCHAPTER hReserved,
  5765.     /* [in] */ DBCOUNTITEM cRows,
  5766.     /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5767.     /* [out][in] */ DBCOUNTITEM __RPC_FAR *pcRowsUndone,
  5768.     /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prgRowsUndone,
  5769.     /* [size_is][size_is][out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus);
  5770.  
  5771.  
  5772. void __RPC_STUB IRowsetUpdate_Undo_Stub(
  5773.     IRpcStubBuffer *This,
  5774.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5775.     PRPC_MESSAGE _pRpcMessage,
  5776.     DWORD *_pdwStubPhase);
  5777.  
  5778.  
  5779. HRESULT STDMETHODCALLTYPE IRowsetUpdate_Update_Proxy( 
  5780.     IRowsetUpdate __RPC_FAR * This,
  5781.     /* [in] */ HCHAPTER hReserved,
  5782.     /* [in] */ DBCOUNTITEM cRows,
  5783.     /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5784.     /* [out][in] */ DBCOUNTITEM __RPC_FAR *pcRows,
  5785.     /* [size_is][size_is][out] */ HROW __RPC_FAR *__RPC_FAR *prgRows,
  5786.     /* [size_is][size_is][out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus);
  5787.  
  5788.  
  5789. void __RPC_STUB IRowsetUpdate_Update_Stub(
  5790.     IRpcStubBuffer *This,
  5791.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5792.     PRPC_MESSAGE _pRpcMessage,
  5793.     DWORD *_pdwStubPhase);
  5794.  
  5795.  
  5796.  
  5797. #endif     /* __IRowsetUpdate_INTERFACE_DEFINED__ */
  5798.  
  5799.  
  5800. #ifndef __IRowsetIdentity_INTERFACE_DEFINED__
  5801. #define __IRowsetIdentity_INTERFACE_DEFINED__
  5802.  
  5803. /* interface IRowsetIdentity */
  5804. /* [unique][uuid][object] */ 
  5805.  
  5806.  
  5807. EXTERN_C const IID IID_IRowsetIdentity;
  5808.  
  5809. #if defined(__cplusplus) && !defined(CINTERFACE)
  5810.     
  5811.     MIDL_INTERFACE("0c733a09-2a1c-11ce-ade5-00aa0044773d")
  5812.     IRowsetIdentity : public IUnknown
  5813.     {
  5814.     public:
  5815.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE IsSameRow( 
  5816.             /* [in] */ HROW hThisRow,
  5817.             /* [in] */ HROW hThatRow) = 0;
  5818.         
  5819.     };
  5820.     
  5821. #else     /* C style interface */
  5822.  
  5823.     typedef struct IRowsetIdentityVtbl
  5824.     {
  5825.         BEGIN_INTERFACE
  5826.         
  5827.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5828.             IRowsetIdentity __RPC_FAR * This,
  5829.             /* [in] */ REFIID riid,
  5830.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5831.         
  5832.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5833.             IRowsetIdentity __RPC_FAR * This);
  5834.         
  5835.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5836.             IRowsetIdentity __RPC_FAR * This);
  5837.         
  5838.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsSameRow )( 
  5839.             IRowsetIdentity __RPC_FAR * This,
  5840.             /* [in] */ HROW hThisRow,
  5841.             /* [in] */ HROW hThatRow);
  5842.         
  5843.         END_INTERFACE
  5844.     } IRowsetIdentityVtbl;
  5845.  
  5846.     interface IRowsetIdentity
  5847.     {
  5848.         CONST_VTBL struct IRowsetIdentityVtbl __RPC_FAR *lpVtbl;
  5849.     };
  5850.  
  5851.     
  5852.  
  5853. #ifdef COBJMACROS
  5854.  
  5855.  
  5856. #define IRowsetIdentity_QueryInterface(This,riid,ppvObject)    \
  5857.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5858.  
  5859. #define IRowsetIdentity_AddRef(This)    \
  5860.     (This)->lpVtbl -> AddRef(This)
  5861.  
  5862. #define IRowsetIdentity_Release(This)    \
  5863.     (This)->lpVtbl -> Release(This)
  5864.  
  5865.  
  5866. #define IRowsetIdentity_IsSameRow(This,hThisRow,hThatRow)    \
  5867.     (This)->lpVtbl -> IsSameRow(This,hThisRow,hThatRow)
  5868.  
  5869. #endif /* COBJMACROS */
  5870.  
  5871.  
  5872. #endif     /* C style interface */
  5873.  
  5874.  
  5875.  
  5876. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetIdentity_RemoteIsSameRow_Proxy( 
  5877.     IRowsetIdentity __RPC_FAR * This,
  5878.     /* [in] */ HROW hThisRow,
  5879.     /* [in] */ HROW hThatRow,
  5880.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  5881.  
  5882.  
  5883. void __RPC_STUB IRowsetIdentity_RemoteIsSameRow_Stub(
  5884.     IRpcStubBuffer *This,
  5885.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5886.     PRPC_MESSAGE _pRpcMessage,
  5887.     DWORD *_pdwStubPhase);
  5888.  
  5889.  
  5890.  
  5891. #endif     /* __IRowsetIdentity_INTERFACE_DEFINED__ */
  5892.  
  5893.  
  5894. #ifndef __IRowsetNotify_INTERFACE_DEFINED__
  5895. #define __IRowsetNotify_INTERFACE_DEFINED__
  5896.  
  5897. /* interface IRowsetNotify */
  5898. /* [unique][uuid][object] */ 
  5899.  
  5900.  
  5901. EXTERN_C const IID IID_IRowsetNotify;
  5902.  
  5903. #if defined(__cplusplus) && !defined(CINTERFACE)
  5904.     
  5905.     MIDL_INTERFACE("0c733a83-2a1c-11ce-ade5-00aa0044773d")
  5906.     IRowsetNotify : public IUnknown
  5907.     {
  5908.     public:
  5909.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnFieldChange( 
  5910.             /* [in] */ IRowset __RPC_FAR *pRowset,
  5911.             /* [in] */ HROW hRow,
  5912.             /* [in] */ DBORDINAL cColumns,
  5913.             /* [size_is][in] */ DBORDINAL __RPC_FAR rgColumns[  ],
  5914.             /* [in] */ DBREASON eReason,
  5915.             /* [in] */ DBEVENTPHASE ePhase,
  5916.             /* [in] */ BOOL fCantDeny) = 0;
  5917.         
  5918.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnRowChange( 
  5919.             /* [in] */ IRowset __RPC_FAR *pRowset,
  5920.             /* [in] */ DBCOUNTITEM cRows,
  5921.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5922.             /* [in] */ DBREASON eReason,
  5923.             /* [in] */ DBEVENTPHASE ePhase,
  5924.             /* [in] */ BOOL fCantDeny) = 0;
  5925.         
  5926.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnRowsetChange( 
  5927.             /* [in] */ IRowset __RPC_FAR *pRowset,
  5928.             /* [in] */ DBREASON eReason,
  5929.             /* [in] */ DBEVENTPHASE ePhase,
  5930.             /* [in] */ BOOL fCantDeny) = 0;
  5931.         
  5932.     };
  5933.     
  5934. #else     /* C style interface */
  5935.  
  5936.     typedef struct IRowsetNotifyVtbl
  5937.     {
  5938.         BEGIN_INTERFACE
  5939.         
  5940.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5941.             IRowsetNotify __RPC_FAR * This,
  5942.             /* [in] */ REFIID riid,
  5943.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5944.         
  5945.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5946.             IRowsetNotify __RPC_FAR * This);
  5947.         
  5948.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5949.             IRowsetNotify __RPC_FAR * This);
  5950.         
  5951.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnFieldChange )( 
  5952.             IRowsetNotify __RPC_FAR * This,
  5953.             /* [in] */ IRowset __RPC_FAR *pRowset,
  5954.             /* [in] */ HROW hRow,
  5955.             /* [in] */ DBORDINAL cColumns,
  5956.             /* [size_is][in] */ DBORDINAL __RPC_FAR rgColumns[  ],
  5957.             /* [in] */ DBREASON eReason,
  5958.             /* [in] */ DBEVENTPHASE ePhase,
  5959.             /* [in] */ BOOL fCantDeny);
  5960.         
  5961.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnRowChange )( 
  5962.             IRowsetNotify __RPC_FAR * This,
  5963.             /* [in] */ IRowset __RPC_FAR *pRowset,
  5964.             /* [in] */ DBCOUNTITEM cRows,
  5965.             /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  5966.             /* [in] */ DBREASON eReason,
  5967.             /* [in] */ DBEVENTPHASE ePhase,
  5968.             /* [in] */ BOOL fCantDeny);
  5969.         
  5970.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnRowsetChange )( 
  5971.             IRowsetNotify __RPC_FAR * This,
  5972.             /* [in] */ IRowset __RPC_FAR *pRowset,
  5973.             /* [in] */ DBREASON eReason,
  5974.             /* [in] */ DBEVENTPHASE ePhase,
  5975.             /* [in] */ BOOL fCantDeny);
  5976.         
  5977.         END_INTERFACE
  5978.     } IRowsetNotifyVtbl;
  5979.  
  5980.     interface IRowsetNotify
  5981.     {
  5982.         CONST_VTBL struct IRowsetNotifyVtbl __RPC_FAR *lpVtbl;
  5983.     };
  5984.  
  5985.     
  5986.  
  5987. #ifdef COBJMACROS
  5988.  
  5989.  
  5990. #define IRowsetNotify_QueryInterface(This,riid,ppvObject)    \
  5991.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5992.  
  5993. #define IRowsetNotify_AddRef(This)    \
  5994.     (This)->lpVtbl -> AddRef(This)
  5995.  
  5996. #define IRowsetNotify_Release(This)    \
  5997.     (This)->lpVtbl -> Release(This)
  5998.  
  5999.  
  6000. #define IRowsetNotify_OnFieldChange(This,pRowset,hRow,cColumns,rgColumns,eReason,ePhase,fCantDeny)    \
  6001.     (This)->lpVtbl -> OnFieldChange(This,pRowset,hRow,cColumns,rgColumns,eReason,ePhase,fCantDeny)
  6002.  
  6003. #define IRowsetNotify_OnRowChange(This,pRowset,cRows,rghRows,eReason,ePhase,fCantDeny)    \
  6004.     (This)->lpVtbl -> OnRowChange(This,pRowset,cRows,rghRows,eReason,ePhase,fCantDeny)
  6005.  
  6006. #define IRowsetNotify_OnRowsetChange(This,pRowset,eReason,ePhase,fCantDeny)    \
  6007.     (This)->lpVtbl -> OnRowsetChange(This,pRowset,eReason,ePhase,fCantDeny)
  6008.  
  6009. #endif /* COBJMACROS */
  6010.  
  6011.  
  6012. #endif     /* C style interface */
  6013.  
  6014.  
  6015.  
  6016. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_RemoteOnFieldChange_Proxy( 
  6017.     IRowsetNotify __RPC_FAR * This,
  6018.     /* [in] */ IRowset __RPC_FAR *pRowset,
  6019.     /* [in] */ HROW hRow,
  6020.     /* [in] */ DBORDINAL cColumns,
  6021.     /* [size_is][in] */ DBORDINAL __RPC_FAR *rgColumns,
  6022.     /* [in] */ DBREASON eReason,
  6023.     /* [in] */ DBEVENTPHASE ePhase,
  6024.     /* [in] */ BOOL fCantDeny);
  6025.  
  6026.  
  6027. void __RPC_STUB IRowsetNotify_RemoteOnFieldChange_Stub(
  6028.     IRpcStubBuffer *This,
  6029.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6030.     PRPC_MESSAGE _pRpcMessage,
  6031.     DWORD *_pdwStubPhase);
  6032.  
  6033.  
  6034. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_RemoteOnRowChange_Proxy( 
  6035.     IRowsetNotify __RPC_FAR * This,
  6036.     /* [in] */ IRowset __RPC_FAR *pRowset,
  6037.     /* [in] */ DBCOUNTITEM cRows,
  6038.     /* [size_is][in] */ const HROW __RPC_FAR *rghRows,
  6039.     /* [in] */ DBREASON eReason,
  6040.     /* [in] */ DBEVENTPHASE ePhase,
  6041.     /* [in] */ BOOL fCantDeny);
  6042.  
  6043.  
  6044. void __RPC_STUB IRowsetNotify_RemoteOnRowChange_Stub(
  6045.     IRpcStubBuffer *This,
  6046.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6047.     PRPC_MESSAGE _pRpcMessage,
  6048.     DWORD *_pdwStubPhase);
  6049.  
  6050.  
  6051. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_RemoteOnRowsetChange_Proxy( 
  6052.     IRowsetNotify __RPC_FAR * This,
  6053.     /* [in] */ IRowset __RPC_FAR *pRowset,
  6054.     /* [in] */ DBREASON eReason,
  6055.     /* [in] */ DBEVENTPHASE ePhase,
  6056.     /* [in] */ BOOL fCantDeny);
  6057.  
  6058.  
  6059. void __RPC_STUB IRowsetNotify_RemoteOnRowsetChange_Stub(
  6060.     IRpcStubBuffer *This,
  6061.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6062.     PRPC_MESSAGE _pRpcMessage,
  6063.     DWORD *_pdwStubPhase);
  6064.  
  6065.  
  6066.  
  6067. #endif     /* __IRowsetNotify_INTERFACE_DEFINED__ */
  6068.  
  6069.  
  6070. #ifndef __IRowsetIndex_INTERFACE_DEFINED__
  6071. #define __IRowsetIndex_INTERFACE_DEFINED__
  6072.  
  6073. /* interface IRowsetIndex */
  6074. /* [unique][uuid][object][local] */ 
  6075.  
  6076. typedef DWORD DBSEEK;
  6077.  
  6078.  
  6079. enum DBSEEKENUM
  6080.     {    DBSEEK_INVALID    = 0,
  6081.     DBSEEK_FIRSTEQ    = 0x1,
  6082.     DBSEEK_LASTEQ    = 0x2,
  6083.     DBSEEK_AFTEREQ    = 0x4,
  6084.     DBSEEK_AFTER    = 0x8,
  6085.     DBSEEK_BEFOREEQ    = 0x10,
  6086.     DBSEEK_BEFORE    = 0x20
  6087.     };
  6088. #define    DBSEEK_GE    DBSEEK_AFTEREQ
  6089. #define    DBSEEK_GT    DBSEEK_AFTER
  6090. #define    DBSEEK_LE    DBSEEK_BEFOREEQ
  6091. #define    DBSEEK_LT    DBSEEK_BEFORE
  6092. typedef DWORD DBRANGE;
  6093.  
  6094.  
  6095. enum DBRANGEENUM
  6096.     {    DBRANGE_INCLUSIVESTART    = 0,
  6097.     DBRANGE_INCLUSIVEEND    = 0,
  6098.     DBRANGE_EXCLUSIVESTART    = 0x1,
  6099.     DBRANGE_EXCLUSIVEEND    = 0x2,
  6100.     DBRANGE_EXCLUDENULLS    = 0x4,
  6101.     DBRANGE_PREFIX    = 0x8,
  6102.     DBRANGE_MATCH    = 0x10
  6103.     };
  6104. //@@@+ V2.0
  6105. #if( OLEDBVER >= 0x0200 )
  6106.  
  6107. enum DBRANGEENUM20
  6108.     {    DBRANGE_MATCH_N_SHIFT    = 0x18,
  6109.     DBRANGE_MATCH_N_MASK    = 0xff
  6110.     };
  6111. #endif // OLEDBVER >= 0x0200
  6112. //@@@- V2.0
  6113.  
  6114. EXTERN_C const IID IID_IRowsetIndex;
  6115.  
  6116. #if defined(__cplusplus) && !defined(CINTERFACE)
  6117.     
  6118.     MIDL_INTERFACE("0c733a82-2a1c-11ce-ade5-00aa0044773d")
  6119.     IRowsetIndex : public IUnknown
  6120.     {
  6121.     public:
  6122.         virtual HRESULT STDMETHODCALLTYPE GetIndexInfo( 
  6123.             /* [out][in] */ DBORDINAL __RPC_FAR *pcKeyColumns,
  6124.             /* [size_is][size_is][out] */ DBINDEXCOLUMNDESC __RPC_FAR *__RPC_FAR *prgIndexColumnDesc,
  6125.             /* [out][in] */ ULONG __RPC_FAR *pcIndexProperties,
  6126.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgIndexProperties) = 0;
  6127.         
  6128.         virtual HRESULT STDMETHODCALLTYPE Seek( 
  6129.             /* [in] */ HACCESSOR hAccessor,
  6130.             /* [in] */ DBORDINAL cKeyValues,
  6131.             /* [in] */ void __RPC_FAR *pData,
  6132.             /* [in] */ DBSEEK dwSeekOptions) = 0;
  6133.         
  6134.         virtual HRESULT STDMETHODCALLTYPE SetRange( 
  6135.             /* [in] */ HACCESSOR hAccessor,
  6136.             /* [in] */ DBORDINAL cStartKeyColumns,
  6137.             /* [in] */ void __RPC_FAR *pStartData,
  6138.             /* [in] */ DBORDINAL cEndKeyColumns,
  6139.             /* [in] */ void __RPC_FAR *pEndData,
  6140.             /* [in] */ DBRANGE dwRangeOptions) = 0;
  6141.         
  6142.     };
  6143.     
  6144. #else     /* C style interface */
  6145.  
  6146.     typedef struct IRowsetIndexVtbl
  6147.     {
  6148.         BEGIN_INTERFACE
  6149.         
  6150.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6151.             IRowsetIndex __RPC_FAR * This,
  6152.             /* [in] */ REFIID riid,
  6153.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6154.         
  6155.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6156.             IRowsetIndex __RPC_FAR * This);
  6157.         
  6158.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6159.             IRowsetIndex __RPC_FAR * This);
  6160.         
  6161.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIndexInfo )( 
  6162.             IRowsetIndex __RPC_FAR * This,
  6163.             /* [out][in] */ DBORDINAL __RPC_FAR *pcKeyColumns,
  6164.             /* [size_is][size_is][out] */ DBINDEXCOLUMNDESC __RPC_FAR *__RPC_FAR *prgIndexColumnDesc,
  6165.             /* [out][in] */ ULONG __RPC_FAR *pcIndexProperties,
  6166.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgIndexProperties);
  6167.         
  6168.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Seek )( 
  6169.             IRowsetIndex __RPC_FAR * This,
  6170.             /* [in] */ HACCESSOR hAccessor,
  6171.             /* [in] */ DBORDINAL cKeyValues,
  6172.             /* [in] */ void __RPC_FAR *pData,
  6173.             /* [in] */ DBSEEK dwSeekOptions);
  6174.         
  6175.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetRange )( 
  6176.             IRowsetIndex __RPC_FAR * This,
  6177.             /* [in] */ HACCESSOR hAccessor,
  6178.             /* [in] */ DBORDINAL cStartKeyColumns,
  6179.             /* [in] */ void __RPC_FAR *pStartData,
  6180.             /* [in] */ DBORDINAL cEndKeyColumns,
  6181.             /* [in] */ void __RPC_FAR *pEndData,
  6182.             /* [in] */ DBRANGE dwRangeOptions);
  6183.         
  6184.         END_INTERFACE
  6185.     } IRowsetIndexVtbl;
  6186.  
  6187.     interface IRowsetIndex
  6188.     {
  6189.         CONST_VTBL struct IRowsetIndexVtbl __RPC_FAR *lpVtbl;
  6190.     };
  6191.  
  6192.     
  6193.  
  6194. #ifdef COBJMACROS
  6195.  
  6196.  
  6197. #define IRowsetIndex_QueryInterface(This,riid,ppvObject)    \
  6198.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6199.  
  6200. #define IRowsetIndex_AddRef(This)    \
  6201.     (This)->lpVtbl -> AddRef(This)
  6202.  
  6203. #define IRowsetIndex_Release(This)    \
  6204.     (This)->lpVtbl -> Release(This)
  6205.  
  6206.  
  6207. #define IRowsetIndex_GetIndexInfo(This,pcKeyColumns,prgIndexColumnDesc,pcIndexProperties,prgIndexProperties)    \
  6208.     (This)->lpVtbl -> GetIndexInfo(This,pcKeyColumns,prgIndexColumnDesc,pcIndexProperties,prgIndexProperties)
  6209.  
  6210. #define IRowsetIndex_Seek(This,hAccessor,cKeyValues,pData,dwSeekOptions)    \
  6211.     (This)->lpVtbl -> Seek(This,hAccessor,cKeyValues,pData,dwSeekOptions)
  6212.  
  6213. #define IRowsetIndex_SetRange(This,hAccessor,cStartKeyColumns,pStartData,cEndKeyColumns,pEndData,dwRangeOptions)    \
  6214.     (This)->lpVtbl -> SetRange(This,hAccessor,cStartKeyColumns,pStartData,cEndKeyColumns,pEndData,dwRangeOptions)
  6215.  
  6216. #endif /* COBJMACROS */
  6217.  
  6218.  
  6219. #endif     /* C style interface */
  6220.  
  6221.  
  6222.  
  6223. HRESULT STDMETHODCALLTYPE IRowsetIndex_GetIndexInfo_Proxy( 
  6224.     IRowsetIndex __RPC_FAR * This,
  6225.     /* [out][in] */ DBORDINAL __RPC_FAR *pcKeyColumns,
  6226.     /* [size_is][size_is][out] */ DBINDEXCOLUMNDESC __RPC_FAR *__RPC_FAR *prgIndexColumnDesc,
  6227.     /* [out][in] */ ULONG __RPC_FAR *pcIndexProperties,
  6228.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgIndexProperties);
  6229.  
  6230.  
  6231. void __RPC_STUB IRowsetIndex_GetIndexInfo_Stub(
  6232.     IRpcStubBuffer *This,
  6233.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6234.     PRPC_MESSAGE _pRpcMessage,
  6235.     DWORD *_pdwStubPhase);
  6236.  
  6237.  
  6238. HRESULT STDMETHODCALLTYPE IRowsetIndex_Seek_Proxy( 
  6239.     IRowsetIndex __RPC_FAR * This,
  6240.     /* [in] */ HACCESSOR hAccessor,
  6241.     /* [in] */ DBORDINAL cKeyValues,
  6242.     /* [in] */ void __RPC_FAR *pData,
  6243.     /* [in] */ DBSEEK dwSeekOptions);
  6244.  
  6245.  
  6246. void __RPC_STUB IRowsetIndex_Seek_Stub(
  6247.     IRpcStubBuffer *This,
  6248.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6249.     PRPC_MESSAGE _pRpcMessage,
  6250.     DWORD *_pdwStubPhase);
  6251.  
  6252.  
  6253. HRESULT STDMETHODCALLTYPE IRowsetIndex_SetRange_Proxy( 
  6254.     IRowsetIndex __RPC_FAR * This,
  6255.     /* [in] */ HACCESSOR hAccessor,
  6256.     /* [in] */ DBORDINAL cStartKeyColumns,
  6257.     /* [in] */ void __RPC_FAR *pStartData,
  6258.     /* [in] */ DBORDINAL cEndKeyColumns,
  6259.     /* [in] */ void __RPC_FAR *pEndData,
  6260.     /* [in] */ DBRANGE dwRangeOptions);
  6261.  
  6262.  
  6263. void __RPC_STUB IRowsetIndex_SetRange_Stub(
  6264.     IRpcStubBuffer *This,
  6265.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6266.     PRPC_MESSAGE _pRpcMessage,
  6267.     DWORD *_pdwStubPhase);
  6268.  
  6269.  
  6270.  
  6271. #endif     /* __IRowsetIndex_INTERFACE_DEFINED__ */
  6272.  
  6273.  
  6274. #ifndef __ICommand_INTERFACE_DEFINED__
  6275. #define __ICommand_INTERFACE_DEFINED__
  6276.  
  6277. /* interface ICommand */
  6278. /* [unique][uuid][object] */ 
  6279.  
  6280.  
  6281. EXTERN_C const IID IID_ICommand;
  6282.  
  6283. #if defined(__cplusplus) && !defined(CINTERFACE)
  6284.     
  6285.     MIDL_INTERFACE("0c733a63-2a1c-11ce-ade5-00aa0044773d")
  6286.     ICommand : public IUnknown
  6287.     {
  6288.     public:
  6289.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  6290.         
  6291.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Execute( 
  6292.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  6293.             /* [in] */ REFIID riid,
  6294.             /* [out][in] */ DBPARAMS __RPC_FAR *pParams,
  6295.             /* [out] */ DBROWCOUNT __RPC_FAR *pcRowsAffected,
  6296.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  6297.         
  6298.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDBSession( 
  6299.             /* [in] */ REFIID riid,
  6300.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession) = 0;
  6301.         
  6302.     };
  6303.     
  6304. #else     /* C style interface */
  6305.  
  6306.     typedef struct ICommandVtbl
  6307.     {
  6308.         BEGIN_INTERFACE
  6309.         
  6310.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6311.             ICommand __RPC_FAR * This,
  6312.             /* [in] */ REFIID riid,
  6313.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6314.         
  6315.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6316.             ICommand __RPC_FAR * This);
  6317.         
  6318.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6319.             ICommand __RPC_FAR * This);
  6320.         
  6321.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Cancel )( 
  6322.             ICommand __RPC_FAR * This);
  6323.         
  6324.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Execute )( 
  6325.             ICommand __RPC_FAR * This,
  6326.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  6327.             /* [in] */ REFIID riid,
  6328.             /* [out][in] */ DBPARAMS __RPC_FAR *pParams,
  6329.             /* [out] */ DBROWCOUNT __RPC_FAR *pcRowsAffected,
  6330.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  6331.         
  6332.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDBSession )( 
  6333.             ICommand __RPC_FAR * This,
  6334.             /* [in] */ REFIID riid,
  6335.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession);
  6336.         
  6337.         END_INTERFACE
  6338.     } ICommandVtbl;
  6339.  
  6340.     interface ICommand
  6341.     {
  6342.         CONST_VTBL struct ICommandVtbl __RPC_FAR *lpVtbl;
  6343.     };
  6344.  
  6345.     
  6346.  
  6347. #ifdef COBJMACROS
  6348.  
  6349.  
  6350. #define ICommand_QueryInterface(This,riid,ppvObject)    \
  6351.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6352.  
  6353. #define ICommand_AddRef(This)    \
  6354.     (This)->lpVtbl -> AddRef(This)
  6355.  
  6356. #define ICommand_Release(This)    \
  6357.     (This)->lpVtbl -> Release(This)
  6358.  
  6359.  
  6360. #define ICommand_Cancel(This)    \
  6361.     (This)->lpVtbl -> Cancel(This)
  6362.  
  6363. #define ICommand_Execute(This,pUnkOuter,riid,pParams,pcRowsAffected,ppRowset)    \
  6364.     (This)->lpVtbl -> Execute(This,pUnkOuter,riid,pParams,pcRowsAffected,ppRowset)
  6365.  
  6366. #define ICommand_GetDBSession(This,riid,ppSession)    \
  6367.     (This)->lpVtbl -> GetDBSession(This,riid,ppSession)
  6368.  
  6369. #endif /* COBJMACROS */
  6370.  
  6371.  
  6372. #endif     /* C style interface */
  6373.  
  6374.  
  6375.  
  6376. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommand_RemoteCancel_Proxy( 
  6377.     ICommand __RPC_FAR * This,
  6378.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  6379.  
  6380.  
  6381. void __RPC_STUB ICommand_RemoteCancel_Stub(
  6382.     IRpcStubBuffer *This,
  6383.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6384.     PRPC_MESSAGE _pRpcMessage,
  6385.     DWORD *_pdwStubPhase);
  6386.  
  6387.  
  6388. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommand_RemoteExecute_Proxy( 
  6389.     ICommand __RPC_FAR * This,
  6390.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  6391.     /* [in] */ REFIID riid,
  6392.     /* [in] */ HACCESSOR hAccessor,
  6393.     /* [in] */ ULONG cParamSets,
  6394.     /* [unique][in] */ GUID __RPC_FAR *pGuid,
  6395.     /* [in] */ ULONG ulGuidOffset,
  6396.     /* [unique][in] */ RMTPACK __RPC_FAR *pInputParams,
  6397.     /* [unique][out][in] */ RMTPACK __RPC_FAR *pOutputParams,
  6398.     /* [in] */ ULONG cBindings,
  6399.     /* [size_is][unique][in] */ DBBINDING __RPC_FAR *rgBindings,
  6400.     /* [size_is][unique][out][in] */ DBSTATUS __RPC_FAR *rgStatus,
  6401.     /* [unique][out][in] */ LONG __RPC_FAR *pcRowsAffected,
  6402.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  6403.  
  6404.  
  6405. void __RPC_STUB ICommand_RemoteExecute_Stub(
  6406.     IRpcStubBuffer *This,
  6407.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6408.     PRPC_MESSAGE _pRpcMessage,
  6409.     DWORD *_pdwStubPhase);
  6410.  
  6411.  
  6412. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommand_RemoteGetDBSession_Proxy( 
  6413.     ICommand __RPC_FAR * This,
  6414.     /* [in] */ REFIID riid,
  6415.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession,
  6416.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  6417.  
  6418.  
  6419. void __RPC_STUB ICommand_RemoteGetDBSession_Stub(
  6420.     IRpcStubBuffer *This,
  6421.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6422.     PRPC_MESSAGE _pRpcMessage,
  6423.     DWORD *_pdwStubPhase);
  6424.  
  6425.  
  6426.  
  6427. #endif     /* __ICommand_INTERFACE_DEFINED__ */
  6428.  
  6429.  
  6430. #ifndef __IMultipleResults_INTERFACE_DEFINED__
  6431. #define __IMultipleResults_INTERFACE_DEFINED__
  6432.  
  6433. /* interface IMultipleResults */
  6434. /* [unique][uuid][object] */ 
  6435.  
  6436.  
  6437. EXTERN_C const IID IID_IMultipleResults;
  6438.  
  6439. #if defined(__cplusplus) && !defined(CINTERFACE)
  6440.     
  6441.     MIDL_INTERFACE("0c733a90-2a1c-11ce-ade5-00aa0044773d")
  6442.     IMultipleResults : public IUnknown
  6443.     {
  6444.     public:
  6445.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetResult( 
  6446.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  6447.             /* [in] */ DB_LRESERVE reserved,
  6448.             /* [in] */ REFIID riid,
  6449.             /* [out] */ DBROWCOUNT __RPC_FAR *pcRowsAffected,
  6450.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  6451.         
  6452.     };
  6453.     
  6454. #else     /* C style interface */
  6455.  
  6456.     typedef struct IMultipleResultsVtbl
  6457.     {
  6458.         BEGIN_INTERFACE
  6459.         
  6460.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6461.             IMultipleResults __RPC_FAR * This,
  6462.             /* [in] */ REFIID riid,
  6463.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6464.         
  6465.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6466.             IMultipleResults __RPC_FAR * This);
  6467.         
  6468.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6469.             IMultipleResults __RPC_FAR * This);
  6470.         
  6471.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetResult )( 
  6472.             IMultipleResults __RPC_FAR * This,
  6473.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  6474.             /* [in] */ DB_LRESERVE reserved,
  6475.             /* [in] */ REFIID riid,
  6476.             /* [out] */ DBROWCOUNT __RPC_FAR *pcRowsAffected,
  6477.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  6478.         
  6479.         END_INTERFACE
  6480.     } IMultipleResultsVtbl;
  6481.  
  6482.     interface IMultipleResults
  6483.     {
  6484.         CONST_VTBL struct IMultipleResultsVtbl __RPC_FAR *lpVtbl;
  6485.     };
  6486.  
  6487.     
  6488.  
  6489. #ifdef COBJMACROS
  6490.  
  6491.  
  6492. #define IMultipleResults_QueryInterface(This,riid,ppvObject)    \
  6493.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6494.  
  6495. #define IMultipleResults_AddRef(This)    \
  6496.     (This)->lpVtbl -> AddRef(This)
  6497.  
  6498. #define IMultipleResults_Release(This)    \
  6499.     (This)->lpVtbl -> Release(This)
  6500.  
  6501.  
  6502. #define IMultipleResults_GetResult(This,pUnkOuter,reserved,riid,pcRowsAffected,ppRowset)    \
  6503.     (This)->lpVtbl -> GetResult(This,pUnkOuter,reserved,riid,pcRowsAffected,ppRowset)
  6504.  
  6505. #endif /* COBJMACROS */
  6506.  
  6507.  
  6508. #endif     /* C style interface */
  6509.  
  6510.  
  6511.  
  6512. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMultipleResults_RemoteGetResult_Proxy( 
  6513.     IMultipleResults __RPC_FAR * This,
  6514.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  6515.     /* [in] */ DB_LRESERVE reserved,
  6516.     /* [in] */ REFIID riid,
  6517.     /* [unique][out][in] */ DBROWCOUNT __RPC_FAR *pcRowsAffected,
  6518.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  6519.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  6520.  
  6521.  
  6522. void __RPC_STUB IMultipleResults_RemoteGetResult_Stub(
  6523.     IRpcStubBuffer *This,
  6524.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6525.     PRPC_MESSAGE _pRpcMessage,
  6526.     DWORD *_pdwStubPhase);
  6527.  
  6528.  
  6529.  
  6530. #endif     /* __IMultipleResults_INTERFACE_DEFINED__ */
  6531.  
  6532.  
  6533. #ifndef __IConvertType_INTERFACE_DEFINED__
  6534. #define __IConvertType_INTERFACE_DEFINED__
  6535.  
  6536. /* interface IConvertType */
  6537. /* [unique][uuid][object] */ 
  6538.  
  6539. typedef DWORD DBCONVERTFLAGS;
  6540.  
  6541.  
  6542. enum DBCONVERTFLAGSENUM
  6543.     {    DBCONVERTFLAGS_COLUMN    = 0,
  6544.     DBCONVERTFLAGS_PARAMETER    = 0x1
  6545.     };
  6546. //@@@+ V2.0
  6547. #if( OLEDBVER >= 0x0200 )
  6548.  
  6549. enum DBCONVERTFLAGSENUM20
  6550.     {    DBCONVERTFLAGS_ISLONG    = 0x2,
  6551.     DBCONVERTFLAGS_ISFIXEDLENGTH    = 0x4,
  6552.     DBCONVERTFLAGS_FROMVARIANT    = 0x8
  6553.     };
  6554. #endif // OLEDBVER >= 0x0200
  6555. //@@@- V2.0
  6556.  
  6557. EXTERN_C const IID IID_IConvertType;
  6558.  
  6559. #if defined(__cplusplus) && !defined(CINTERFACE)
  6560.     
  6561.     MIDL_INTERFACE("0c733a88-2a1c-11ce-ade5-00aa0044773d")
  6562.     IConvertType : public IUnknown
  6563.     {
  6564.     public:
  6565.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CanConvert( 
  6566.             /* [in] */ DBTYPE wFromType,
  6567.             /* [in] */ DBTYPE wToType,
  6568.             /* [in] */ DBCONVERTFLAGS dwConvertFlags) = 0;
  6569.         
  6570.     };
  6571.     
  6572. #else     /* C style interface */
  6573.  
  6574.     typedef struct IConvertTypeVtbl
  6575.     {
  6576.         BEGIN_INTERFACE
  6577.         
  6578.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6579.             IConvertType __RPC_FAR * This,
  6580.             /* [in] */ REFIID riid,
  6581.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6582.         
  6583.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6584.             IConvertType __RPC_FAR * This);
  6585.         
  6586.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6587.             IConvertType __RPC_FAR * This);
  6588.         
  6589.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CanConvert )( 
  6590.             IConvertType __RPC_FAR * This,
  6591.             /* [in] */ DBTYPE wFromType,
  6592.             /* [in] */ DBTYPE wToType,
  6593.             /* [in] */ DBCONVERTFLAGS dwConvertFlags);
  6594.         
  6595.         END_INTERFACE
  6596.     } IConvertTypeVtbl;
  6597.  
  6598.     interface IConvertType
  6599.     {
  6600.         CONST_VTBL struct IConvertTypeVtbl __RPC_FAR *lpVtbl;
  6601.     };
  6602.  
  6603.     
  6604.  
  6605. #ifdef COBJMACROS
  6606.  
  6607.  
  6608. #define IConvertType_QueryInterface(This,riid,ppvObject)    \
  6609.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6610.  
  6611. #define IConvertType_AddRef(This)    \
  6612.     (This)->lpVtbl -> AddRef(This)
  6613.  
  6614. #define IConvertType_Release(This)    \
  6615.     (This)->lpVtbl -> Release(This)
  6616.  
  6617.  
  6618. #define IConvertType_CanConvert(This,wFromType,wToType,dwConvertFlags)    \
  6619.     (This)->lpVtbl -> CanConvert(This,wFromType,wToType,dwConvertFlags)
  6620.  
  6621. #endif /* COBJMACROS */
  6622.  
  6623.  
  6624. #endif     /* C style interface */
  6625.  
  6626.  
  6627.  
  6628. /* [call_as] */ HRESULT STDMETHODCALLTYPE IConvertType_RemoteCanConvert_Proxy( 
  6629.     IConvertType __RPC_FAR * This,
  6630.     /* [in] */ DBTYPE wFromType,
  6631.     /* [in] */ DBTYPE wToType,
  6632.     /* [in] */ DBCONVERTFLAGS dwConvertFlags,
  6633.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  6634.  
  6635.  
  6636. void __RPC_STUB IConvertType_RemoteCanConvert_Stub(
  6637.     IRpcStubBuffer *This,
  6638.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6639.     PRPC_MESSAGE _pRpcMessage,
  6640.     DWORD *_pdwStubPhase);
  6641.  
  6642.  
  6643.  
  6644. #endif     /* __IConvertType_INTERFACE_DEFINED__ */
  6645.  
  6646.  
  6647. #ifndef __ICommandPrepare_INTERFACE_DEFINED__
  6648. #define __ICommandPrepare_INTERFACE_DEFINED__
  6649.  
  6650. /* interface ICommandPrepare */
  6651. /* [unique][uuid][object] */ 
  6652.  
  6653.  
  6654. EXTERN_C const IID IID_ICommandPrepare;
  6655.  
  6656. #if defined(__cplusplus) && !defined(CINTERFACE)
  6657.     
  6658.     MIDL_INTERFACE("0c733a26-2a1c-11ce-ade5-00aa0044773d")
  6659.     ICommandPrepare : public IUnknown
  6660.     {
  6661.     public:
  6662.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Prepare( 
  6663.             /* [in] */ ULONG cExpectedRuns) = 0;
  6664.         
  6665.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Unprepare( void) = 0;
  6666.         
  6667.     };
  6668.     
  6669. #else     /* C style interface */
  6670.  
  6671.     typedef struct ICommandPrepareVtbl
  6672.     {
  6673.         BEGIN_INTERFACE
  6674.         
  6675.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6676.             ICommandPrepare __RPC_FAR * This,
  6677.             /* [in] */ REFIID riid,
  6678.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6679.         
  6680.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6681.             ICommandPrepare __RPC_FAR * This);
  6682.         
  6683.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6684.             ICommandPrepare __RPC_FAR * This);
  6685.         
  6686.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Prepare )( 
  6687.             ICommandPrepare __RPC_FAR * This,
  6688.             /* [in] */ ULONG cExpectedRuns);
  6689.         
  6690.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Unprepare )( 
  6691.             ICommandPrepare __RPC_FAR * This);
  6692.         
  6693.         END_INTERFACE
  6694.     } ICommandPrepareVtbl;
  6695.  
  6696.     interface ICommandPrepare
  6697.     {
  6698.         CONST_VTBL struct ICommandPrepareVtbl __RPC_FAR *lpVtbl;
  6699.     };
  6700.  
  6701.     
  6702.  
  6703. #ifdef COBJMACROS
  6704.  
  6705.  
  6706. #define ICommandPrepare_QueryInterface(This,riid,ppvObject)    \
  6707.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6708.  
  6709. #define ICommandPrepare_AddRef(This)    \
  6710.     (This)->lpVtbl -> AddRef(This)
  6711.  
  6712. #define ICommandPrepare_Release(This)    \
  6713.     (This)->lpVtbl -> Release(This)
  6714.  
  6715.  
  6716. #define ICommandPrepare_Prepare(This,cExpectedRuns)    \
  6717.     (This)->lpVtbl -> Prepare(This,cExpectedRuns)
  6718.  
  6719. #define ICommandPrepare_Unprepare(This)    \
  6720.     (This)->lpVtbl -> Unprepare(This)
  6721.  
  6722. #endif /* COBJMACROS */
  6723.  
  6724.  
  6725. #endif     /* C style interface */
  6726.  
  6727.  
  6728.  
  6729. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandPrepare_RemotePrepare_Proxy( 
  6730.     ICommandPrepare __RPC_FAR * This,
  6731.     /* [in] */ ULONG cExpectedRuns,
  6732.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  6733.  
  6734.  
  6735. void __RPC_STUB ICommandPrepare_RemotePrepare_Stub(
  6736.     IRpcStubBuffer *This,
  6737.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6738.     PRPC_MESSAGE _pRpcMessage,
  6739.     DWORD *_pdwStubPhase);
  6740.  
  6741.  
  6742. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandPrepare_RemoteUnprepare_Proxy( 
  6743.     ICommandPrepare __RPC_FAR * This,
  6744.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  6745.  
  6746.  
  6747. void __RPC_STUB ICommandPrepare_RemoteUnprepare_Stub(
  6748.     IRpcStubBuffer *This,
  6749.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6750.     PRPC_MESSAGE _pRpcMessage,
  6751.     DWORD *_pdwStubPhase);
  6752.  
  6753.  
  6754.  
  6755. #endif     /* __ICommandPrepare_INTERFACE_DEFINED__ */
  6756.  
  6757.  
  6758. #ifndef __ICommandProperties_INTERFACE_DEFINED__
  6759. #define __ICommandProperties_INTERFACE_DEFINED__
  6760.  
  6761. /* interface ICommandProperties */
  6762. /* [unique][uuid][object] */ 
  6763.  
  6764.  
  6765. EXTERN_C const IID IID_ICommandProperties;
  6766.  
  6767. #if defined(__cplusplus) && !defined(CINTERFACE)
  6768.     
  6769.     MIDL_INTERFACE("0c733a79-2a1c-11ce-ade5-00aa0044773d")
  6770.     ICommandProperties : public IUnknown
  6771.     {
  6772.     public:
  6773.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetProperties( 
  6774.             /* [in] */ const ULONG cPropertyIDSets,
  6775.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  6776.             /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  6777.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets) = 0;
  6778.         
  6779.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetProperties( 
  6780.             /* [in] */ ULONG cPropertySets,
  6781.             /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]) = 0;
  6782.         
  6783.     };
  6784.     
  6785. #else     /* C style interface */
  6786.  
  6787.     typedef struct ICommandPropertiesVtbl
  6788.     {
  6789.         BEGIN_INTERFACE
  6790.         
  6791.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6792.             ICommandProperties __RPC_FAR * This,
  6793.             /* [in] */ REFIID riid,
  6794.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6795.         
  6796.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6797.             ICommandProperties __RPC_FAR * This);
  6798.         
  6799.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6800.             ICommandProperties __RPC_FAR * This);
  6801.         
  6802.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProperties )( 
  6803.             ICommandProperties __RPC_FAR * This,
  6804.             /* [in] */ const ULONG cPropertyIDSets,
  6805.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  6806.             /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  6807.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets);
  6808.         
  6809.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProperties )( 
  6810.             ICommandProperties __RPC_FAR * This,
  6811.             /* [in] */ ULONG cPropertySets,
  6812.             /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  6813.         
  6814.         END_INTERFACE
  6815.     } ICommandPropertiesVtbl;
  6816.  
  6817.     interface ICommandProperties
  6818.     {
  6819.         CONST_VTBL struct ICommandPropertiesVtbl __RPC_FAR *lpVtbl;
  6820.     };
  6821.  
  6822.     
  6823.  
  6824. #ifdef COBJMACROS
  6825.  
  6826.  
  6827. #define ICommandProperties_QueryInterface(This,riid,ppvObject)    \
  6828.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6829.  
  6830. #define ICommandProperties_AddRef(This)    \
  6831.     (This)->lpVtbl -> AddRef(This)
  6832.  
  6833. #define ICommandProperties_Release(This)    \
  6834.     (This)->lpVtbl -> Release(This)
  6835.  
  6836.  
  6837. #define ICommandProperties_GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)    \
  6838.     (This)->lpVtbl -> GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  6839.  
  6840. #define ICommandProperties_SetProperties(This,cPropertySets,rgPropertySets)    \
  6841.     (This)->lpVtbl -> SetProperties(This,cPropertySets,rgPropertySets)
  6842.  
  6843. #endif /* COBJMACROS */
  6844.  
  6845.  
  6846. #endif     /* C style interface */
  6847.  
  6848.  
  6849.  
  6850. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandProperties_RemoteGetProperties_Proxy( 
  6851.     ICommandProperties __RPC_FAR * This,
  6852.     /* [in] */ const ULONG cPropertyIDSets,
  6853.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  6854.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  6855.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets,
  6856.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  6857.  
  6858.  
  6859. void __RPC_STUB ICommandProperties_RemoteGetProperties_Stub(
  6860.     IRpcStubBuffer *This,
  6861.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6862.     PRPC_MESSAGE _pRpcMessage,
  6863.     DWORD *_pdwStubPhase);
  6864.  
  6865.  
  6866. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandProperties_RemoteSetProperties_Proxy( 
  6867.     ICommandProperties __RPC_FAR * This,
  6868.     /* [in] */ ULONG cPropertySets,
  6869.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  6870.     /* [in] */ ULONG cTotalProps,
  6871.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  6872.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  6873.  
  6874.  
  6875. void __RPC_STUB ICommandProperties_RemoteSetProperties_Stub(
  6876.     IRpcStubBuffer *This,
  6877.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6878.     PRPC_MESSAGE _pRpcMessage,
  6879.     DWORD *_pdwStubPhase);
  6880.  
  6881.  
  6882.  
  6883. #endif     /* __ICommandProperties_INTERFACE_DEFINED__ */
  6884.  
  6885.  
  6886. #ifndef __ICommandText_INTERFACE_DEFINED__
  6887. #define __ICommandText_INTERFACE_DEFINED__
  6888.  
  6889. /* interface ICommandText */
  6890. /* [unique][uuid][object] */ 
  6891.  
  6892.  
  6893. EXTERN_C const IID IID_ICommandText;
  6894.  
  6895. #if defined(__cplusplus) && !defined(CINTERFACE)
  6896.     
  6897.     MIDL_INTERFACE("0c733a27-2a1c-11ce-ade5-00aa0044773d")
  6898.     ICommandText : public ICommand
  6899.     {
  6900.     public:
  6901.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetCommandText( 
  6902.             /* [out][in] */ GUID __RPC_FAR *pguidDialect,
  6903.             /* [out] */ LPOLESTR __RPC_FAR *ppwszCommand) = 0;
  6904.         
  6905.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetCommandText( 
  6906.             /* [in] */ REFGUID rguidDialect,
  6907.             /* [unique][in] */ LPCOLESTR pwszCommand) = 0;
  6908.         
  6909.     };
  6910.     
  6911. #else     /* C style interface */
  6912.  
  6913.     typedef struct ICommandTextVtbl
  6914.     {
  6915.         BEGIN_INTERFACE
  6916.         
  6917.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6918.             ICommandText __RPC_FAR * This,
  6919.             /* [in] */ REFIID riid,
  6920.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6921.         
  6922.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6923.             ICommandText __RPC_FAR * This);
  6924.         
  6925.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6926.             ICommandText __RPC_FAR * This);
  6927.         
  6928.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Cancel )( 
  6929.             ICommandText __RPC_FAR * This);
  6930.         
  6931.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Execute )( 
  6932.             ICommandText __RPC_FAR * This,
  6933.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  6934.             /* [in] */ REFIID riid,
  6935.             /* [out][in] */ DBPARAMS __RPC_FAR *pParams,
  6936.             /* [out] */ DBROWCOUNT __RPC_FAR *pcRowsAffected,
  6937.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  6938.         
  6939.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDBSession )( 
  6940.             ICommandText __RPC_FAR * This,
  6941.             /* [in] */ REFIID riid,
  6942.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession);
  6943.         
  6944.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCommandText )( 
  6945.             ICommandText __RPC_FAR * This,
  6946.             /* [out][in] */ GUID __RPC_FAR *pguidDialect,
  6947.             /* [out] */ LPOLESTR __RPC_FAR *ppwszCommand);
  6948.         
  6949.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCommandText )( 
  6950.             ICommandText __RPC_FAR * This,
  6951.             /* [in] */ REFGUID rguidDialect,
  6952.             /* [unique][in] */ LPCOLESTR pwszCommand);
  6953.         
  6954.         END_INTERFACE
  6955.     } ICommandTextVtbl;
  6956.  
  6957.     interface ICommandText
  6958.     {
  6959.         CONST_VTBL struct ICommandTextVtbl __RPC_FAR *lpVtbl;
  6960.     };
  6961.  
  6962.     
  6963.  
  6964. #ifdef COBJMACROS
  6965.  
  6966.  
  6967. #define ICommandText_QueryInterface(This,riid,ppvObject)    \
  6968.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6969.  
  6970. #define ICommandText_AddRef(This)    \
  6971.     (This)->lpVtbl -> AddRef(This)
  6972.  
  6973. #define ICommandText_Release(This)    \
  6974.     (This)->lpVtbl -> Release(This)
  6975.  
  6976.  
  6977. #define ICommandText_Cancel(This)    \
  6978.     (This)->lpVtbl -> Cancel(This)
  6979.  
  6980. #define ICommandText_Execute(This,pUnkOuter,riid,pParams,pcRowsAffected,ppRowset)    \
  6981.     (This)->lpVtbl -> Execute(This,pUnkOuter,riid,pParams,pcRowsAffected,ppRowset)
  6982.  
  6983. #define ICommandText_GetDBSession(This,riid,ppSession)    \
  6984.     (This)->lpVtbl -> GetDBSession(This,riid,ppSession)
  6985.  
  6986.  
  6987. #define ICommandText_GetCommandText(This,pguidDialect,ppwszCommand)    \
  6988.     (This)->lpVtbl -> GetCommandText(This,pguidDialect,ppwszCommand)
  6989.  
  6990. #define ICommandText_SetCommandText(This,rguidDialect,pwszCommand)    \
  6991.     (This)->lpVtbl -> SetCommandText(This,rguidDialect,pwszCommand)
  6992.  
  6993. #endif /* COBJMACROS */
  6994.  
  6995.  
  6996. #endif     /* C style interface */
  6997.  
  6998.  
  6999.  
  7000. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandText_RemoteGetCommandText_Proxy( 
  7001.     ICommandText __RPC_FAR * This,
  7002.     /* [unique][out][in] */ GUID __RPC_FAR *pguidDialect,
  7003.     /* [out] */ LPOLESTR __RPC_FAR *ppwszCommand,
  7004.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  7005.  
  7006.  
  7007. void __RPC_STUB ICommandText_RemoteGetCommandText_Stub(
  7008.     IRpcStubBuffer *This,
  7009.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7010.     PRPC_MESSAGE _pRpcMessage,
  7011.     DWORD *_pdwStubPhase);
  7012.  
  7013.  
  7014. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandText_RemoteSetCommandText_Proxy( 
  7015.     ICommandText __RPC_FAR * This,
  7016.     /* [in] */ REFGUID rguidDialect,
  7017.     /* [unique][in] */ LPCOLESTR pwszCommand,
  7018.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  7019.  
  7020.  
  7021. void __RPC_STUB ICommandText_RemoteSetCommandText_Stub(
  7022.     IRpcStubBuffer *This,
  7023.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7024.     PRPC_MESSAGE _pRpcMessage,
  7025.     DWORD *_pdwStubPhase);
  7026.  
  7027.  
  7028.  
  7029. #endif     /* __ICommandText_INTERFACE_DEFINED__ */
  7030.  
  7031.  
  7032. #ifndef __ICommandWithParameters_INTERFACE_DEFINED__
  7033. #define __ICommandWithParameters_INTERFACE_DEFINED__
  7034.  
  7035. /* interface ICommandWithParameters */
  7036. /* [unique][uuid][object] */ 
  7037.  
  7038. typedef struct tagDBPARAMBINDINFO
  7039.     {
  7040.     LPOLESTR pwszDataSourceType;
  7041.     LPOLESTR pwszName;
  7042.     DBLENGTH ulParamSize;
  7043.     DBPARAMFLAGS dwFlags;
  7044.     BYTE bPrecision;
  7045.     BYTE bScale;
  7046.     }    DBPARAMBINDINFO;
  7047.  
  7048.  
  7049. EXTERN_C const IID IID_ICommandWithParameters;
  7050.  
  7051. #if defined(__cplusplus) && !defined(CINTERFACE)
  7052.     
  7053.     MIDL_INTERFACE("0c733a64-2a1c-11ce-ade5-00aa0044773d")
  7054.     ICommandWithParameters : public IUnknown
  7055.     {
  7056.     public:
  7057.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetParameterInfo( 
  7058.             /* [out][in] */ DB_UPARAMS __RPC_FAR *pcParams,
  7059.             /* [size_is][size_is][out] */ DBPARAMINFO __RPC_FAR *__RPC_FAR *prgParamInfo,
  7060.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppNamesBuffer) = 0;
  7061.         
  7062.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE MapParameterNames( 
  7063.             /* [in] */ DB_UPARAMS cParamNames,
  7064.             /* [size_is][in] */ const OLECHAR __RPC_FAR *__RPC_FAR rgParamNames[  ],
  7065.             /* [size_is][out] */ DB_LPARAMS __RPC_FAR rgParamOrdinals[  ]) = 0;
  7066.         
  7067.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetParameterInfo( 
  7068.             /* [in] */ DB_UPARAMS cParams,
  7069.             /* [size_is][unique][in] */ const DB_UPARAMS __RPC_FAR rgParamOrdinals[  ],
  7070.             /* [size_is][unique][in] */ const DBPARAMBINDINFO __RPC_FAR rgParamBindInfo[  ]) = 0;
  7071.         
  7072.     };
  7073.     
  7074. #else     /* C style interface */
  7075.  
  7076.     typedef struct ICommandWithParametersVtbl
  7077.     {
  7078.         BEGIN_INTERFACE
  7079.         
  7080.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7081.             ICommandWithParameters __RPC_FAR * This,
  7082.             /* [in] */ REFIID riid,
  7083.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7084.         
  7085.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7086.             ICommandWithParameters __RPC_FAR * This);
  7087.         
  7088.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7089.             ICommandWithParameters __RPC_FAR * This);
  7090.         
  7091.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetParameterInfo )( 
  7092.             ICommandWithParameters __RPC_FAR * This,
  7093.             /* [out][in] */ DB_UPARAMS __RPC_FAR *pcParams,
  7094.             /* [size_is][size_is][out] */ DBPARAMINFO __RPC_FAR *__RPC_FAR *prgParamInfo,
  7095.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppNamesBuffer);
  7096.         
  7097.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MapParameterNames )( 
  7098.             ICommandWithParameters __RPC_FAR * This,
  7099.             /* [in] */ DB_UPARAMS cParamNames,
  7100.             /* [size_is][in] */ const OLECHAR __RPC_FAR *__RPC_FAR rgParamNames[  ],
  7101.             /* [size_is][out] */ DB_LPARAMS __RPC_FAR rgParamOrdinals[  ]);
  7102.         
  7103.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetParameterInfo )( 
  7104.             ICommandWithParameters __RPC_FAR * This,
  7105.             /* [in] */ DB_UPARAMS cParams,
  7106.             /* [size_is][unique][in] */ const DB_UPARAMS __RPC_FAR rgParamOrdinals[  ],
  7107.             /* [size_is][unique][in] */ const DBPARAMBINDINFO __RPC_FAR rgParamBindInfo[  ]);
  7108.         
  7109.         END_INTERFACE
  7110.     } ICommandWithParametersVtbl;
  7111.  
  7112.     interface ICommandWithParameters
  7113.     {
  7114.         CONST_VTBL struct ICommandWithParametersVtbl __RPC_FAR *lpVtbl;
  7115.     };
  7116.  
  7117.     
  7118.  
  7119. #ifdef COBJMACROS
  7120.  
  7121.  
  7122. #define ICommandWithParameters_QueryInterface(This,riid,ppvObject)    \
  7123.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7124.  
  7125. #define ICommandWithParameters_AddRef(This)    \
  7126.     (This)->lpVtbl -> AddRef(This)
  7127.  
  7128. #define ICommandWithParameters_Release(This)    \
  7129.     (This)->lpVtbl -> Release(This)
  7130.  
  7131.  
  7132. #define ICommandWithParameters_GetParameterInfo(This,pcParams,prgParamInfo,ppNamesBuffer)    \
  7133.     (This)->lpVtbl -> GetParameterInfo(This,pcParams,prgParamInfo,ppNamesBuffer)
  7134.  
  7135. #define ICommandWithParameters_MapParameterNames(This,cParamNames,rgParamNames,rgParamOrdinals)    \
  7136.     (This)->lpVtbl -> MapParameterNames(This,cParamNames,rgParamNames,rgParamOrdinals)
  7137.  
  7138. #define ICommandWithParameters_SetParameterInfo(This,cParams,rgParamOrdinals,rgParamBindInfo)    \
  7139.     (This)->lpVtbl -> SetParameterInfo(This,cParams,rgParamOrdinals,rgParamBindInfo)
  7140.  
  7141. #endif /* COBJMACROS */
  7142.  
  7143.  
  7144. #endif     /* C style interface */
  7145.  
  7146.  
  7147.  
  7148. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_RemoteGetParameterInfo_Proxy( 
  7149.     ICommandWithParameters __RPC_FAR * This,
  7150.     /* [out][in] */ DB_UPARAMS __RPC_FAR *pcParams,
  7151.     /* [size_is][size_is][out] */ DBPARAMINFO __RPC_FAR *__RPC_FAR *prgParamInfo,
  7152.     /* [size_is][size_is][out] */ DBBYTEOFFSET __RPC_FAR *__RPC_FAR *prgNameOffsets,
  7153.     /* [out][in] */ DBLENGTH __RPC_FAR *pcbNamesBuffer,
  7154.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppNamesBuffer,
  7155.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  7156.  
  7157.  
  7158. void __RPC_STUB ICommandWithParameters_RemoteGetParameterInfo_Stub(
  7159.     IRpcStubBuffer *This,
  7160.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7161.     PRPC_MESSAGE _pRpcMessage,
  7162.     DWORD *_pdwStubPhase);
  7163.  
  7164.  
  7165. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_RemoteMapParameterNames_Proxy( 
  7166.     ICommandWithParameters __RPC_FAR * This,
  7167.     /* [in] */ DB_UPARAMS cParamNames,
  7168.     /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgParamNames,
  7169.     /* [size_is][out] */ DB_LPARAMS __RPC_FAR *rgParamOrdinals,
  7170.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  7171.  
  7172.  
  7173. void __RPC_STUB ICommandWithParameters_RemoteMapParameterNames_Stub(
  7174.     IRpcStubBuffer *This,
  7175.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7176.     PRPC_MESSAGE _pRpcMessage,
  7177.     DWORD *_pdwStubPhase);
  7178.  
  7179.  
  7180. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_RemoteSetParameterInfo_Proxy( 
  7181.     ICommandWithParameters __RPC_FAR * This,
  7182.     /* [in] */ DB_UPARAMS cParams,
  7183.     /* [size_is][unique][in] */ const DB_UPARAMS __RPC_FAR *rgParamOrdinals,
  7184.     /* [size_is][unique][in] */ const DBPARAMBINDINFO __RPC_FAR *rgParamBindInfo,
  7185.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  7186.  
  7187.  
  7188. void __RPC_STUB ICommandWithParameters_RemoteSetParameterInfo_Stub(
  7189.     IRpcStubBuffer *This,
  7190.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7191.     PRPC_MESSAGE _pRpcMessage,
  7192.     DWORD *_pdwStubPhase);
  7193.  
  7194.  
  7195.  
  7196. #endif     /* __ICommandWithParameters_INTERFACE_DEFINED__ */
  7197.  
  7198.  
  7199. #ifndef __IColumnsRowset_INTERFACE_DEFINED__
  7200. #define __IColumnsRowset_INTERFACE_DEFINED__
  7201.  
  7202. /* interface IColumnsRowset */
  7203. /* [unique][uuid][object] */ 
  7204.  
  7205.  
  7206. EXTERN_C const IID IID_IColumnsRowset;
  7207.  
  7208. #if defined(__cplusplus) && !defined(CINTERFACE)
  7209.     
  7210.     MIDL_INTERFACE("0c733a10-2a1c-11ce-ade5-00aa0044773d")
  7211.     IColumnsRowset : public IUnknown
  7212.     {
  7213.     public:
  7214.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetAvailableColumns( 
  7215.             /* [out][in] */ DBORDINAL __RPC_FAR *pcOptColumns,
  7216.             /* [size_is][size_is][out] */ DBID __RPC_FAR *__RPC_FAR *prgOptColumns) = 0;
  7217.         
  7218.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetColumnsRowset( 
  7219.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  7220.             /* [in] */ DBORDINAL cOptColumns,
  7221.             /* [size_is][in] */ const DBID __RPC_FAR rgOptColumns[  ],
  7222.             /* [in] */ REFIID riid,
  7223.             /* [in] */ ULONG cPropertySets,
  7224.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  7225.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppColRowset) = 0;
  7226.         
  7227.     };
  7228.     
  7229. #else     /* C style interface */
  7230.  
  7231.     typedef struct IColumnsRowsetVtbl
  7232.     {
  7233.         BEGIN_INTERFACE
  7234.         
  7235.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7236.             IColumnsRowset __RPC_FAR * This,
  7237.             /* [in] */ REFIID riid,
  7238.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7239.         
  7240.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7241.             IColumnsRowset __RPC_FAR * This);
  7242.         
  7243.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7244.             IColumnsRowset __RPC_FAR * This);
  7245.         
  7246.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAvailableColumns )( 
  7247.             IColumnsRowset __RPC_FAR * This,
  7248.             /* [out][in] */ DBORDINAL __RPC_FAR *pcOptColumns,
  7249.             /* [size_is][size_is][out] */ DBID __RPC_FAR *__RPC_FAR *prgOptColumns);
  7250.         
  7251.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetColumnsRowset )( 
  7252.             IColumnsRowset __RPC_FAR * This,
  7253.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  7254.             /* [in] */ DBORDINAL cOptColumns,
  7255.             /* [size_is][in] */ const DBID __RPC_FAR rgOptColumns[  ],
  7256.             /* [in] */ REFIID riid,
  7257.             /* [in] */ ULONG cPropertySets,
  7258.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  7259.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppColRowset);
  7260.         
  7261.         END_INTERFACE
  7262.     } IColumnsRowsetVtbl;
  7263.  
  7264.     interface IColumnsRowset
  7265.     {
  7266.         CONST_VTBL struct IColumnsRowsetVtbl __RPC_FAR *lpVtbl;
  7267.     };
  7268.  
  7269.     
  7270.  
  7271. #ifdef COBJMACROS
  7272.  
  7273.  
  7274. #define IColumnsRowset_QueryInterface(This,riid,ppvObject)    \
  7275.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7276.  
  7277. #define IColumnsRowset_AddRef(This)    \
  7278.     (This)->lpVtbl -> AddRef(This)
  7279.  
  7280. #define IColumnsRowset_Release(This)    \
  7281.     (This)->lpVtbl -> Release(This)
  7282.  
  7283.  
  7284. #define IColumnsRowset_GetAvailableColumns(This,pcOptColumns,prgOptColumns)    \
  7285.     (This)->lpVtbl -> GetAvailableColumns(This,pcOptColumns,prgOptColumns)
  7286.  
  7287. #define IColumnsRowset_GetColumnsRowset(This,pUnkOuter,cOptColumns,rgOptColumns,riid,cPropertySets,rgPropertySets,ppColRowset)    \
  7288.     (This)->lpVtbl -> GetColumnsRowset(This,pUnkOuter,cOptColumns,rgOptColumns,riid,cPropertySets,rgPropertySets,ppColRowset)
  7289.  
  7290. #endif /* COBJMACROS */
  7291.  
  7292.  
  7293. #endif     /* C style interface */
  7294.  
  7295.  
  7296.  
  7297. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsRowset_RemoteGetAvailableColumns_Proxy( 
  7298.     IColumnsRowset __RPC_FAR * This,
  7299.     /* [out][in] */ DBORDINAL __RPC_FAR *pcOptColumns,
  7300.     /* [size_is][size_is][out] */ DBID __RPC_FAR *__RPC_FAR *prgOptColumns,
  7301.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  7302.  
  7303.  
  7304. void __RPC_STUB IColumnsRowset_RemoteGetAvailableColumns_Stub(
  7305.     IRpcStubBuffer *This,
  7306.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7307.     PRPC_MESSAGE _pRpcMessage,
  7308.     DWORD *_pdwStubPhase);
  7309.  
  7310.  
  7311. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsRowset_RemoteGetColumnsRowset_Proxy( 
  7312.     IColumnsRowset __RPC_FAR * This,
  7313.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  7314.     /* [in] */ DBORDINAL cOptColumns,
  7315.     /* [size_is][unique][in] */ const DBID __RPC_FAR *rgOptColumns,
  7316.     /* [in] */ REFIID riid,
  7317.     /* [in] */ ULONG cPropertySets,
  7318.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  7319.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppColRowset,
  7320.     /* [in] */ ULONG cTotalProps,
  7321.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  7322.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  7323.  
  7324.  
  7325. void __RPC_STUB IColumnsRowset_RemoteGetColumnsRowset_Stub(
  7326.     IRpcStubBuffer *This,
  7327.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7328.     PRPC_MESSAGE _pRpcMessage,
  7329.     DWORD *_pdwStubPhase);
  7330.  
  7331.  
  7332.  
  7333. #endif     /* __IColumnsRowset_INTERFACE_DEFINED__ */
  7334.  
  7335.  
  7336. #ifndef __IColumnsInfo_INTERFACE_DEFINED__
  7337. #define __IColumnsInfo_INTERFACE_DEFINED__
  7338.  
  7339. /* interface IColumnsInfo */
  7340. /* [unique][uuid][object] */ 
  7341.  
  7342.  
  7343. EXTERN_C const IID IID_IColumnsInfo;
  7344.  
  7345. #if defined(__cplusplus) && !defined(CINTERFACE)
  7346.     
  7347.     MIDL_INTERFACE("0c733a11-2a1c-11ce-ade5-00aa0044773d")
  7348.     IColumnsInfo : public IUnknown
  7349.     {
  7350.     public:
  7351.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetColumnInfo( 
  7352.             /* [out][in] */ DBORDINAL __RPC_FAR *pcColumns,
  7353.             /* [size_is][size_is][out] */ DBCOLUMNINFO __RPC_FAR *__RPC_FAR *prgInfo,
  7354.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer) = 0;
  7355.         
  7356.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE MapColumnIDs( 
  7357.             /* [in] */ DBORDINAL cColumnIDs,
  7358.             /* [size_is][in] */ const DBID __RPC_FAR rgColumnIDs[  ],
  7359.             /* [size_is][out] */ DBORDINAL __RPC_FAR rgColumns[  ]) = 0;
  7360.         
  7361.     };
  7362.     
  7363. #else     /* C style interface */
  7364.  
  7365.     typedef struct IColumnsInfoVtbl
  7366.     {
  7367.         BEGIN_INTERFACE
  7368.         
  7369.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7370.             IColumnsInfo __RPC_FAR * This,
  7371.             /* [in] */ REFIID riid,
  7372.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7373.         
  7374.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7375.             IColumnsInfo __RPC_FAR * This);
  7376.         
  7377.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7378.             IColumnsInfo __RPC_FAR * This);
  7379.         
  7380.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetColumnInfo )( 
  7381.             IColumnsInfo __RPC_FAR * This,
  7382.             /* [out][in] */ DBORDINAL __RPC_FAR *pcColumns,
  7383.             /* [size_is][size_is][out] */ DBCOLUMNINFO __RPC_FAR *__RPC_FAR *prgInfo,
  7384.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer);
  7385.         
  7386.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MapColumnIDs )( 
  7387.             IColumnsInfo __RPC_FAR * This,
  7388.             /* [in] */ DBORDINAL cColumnIDs,
  7389.             /* [size_is][in] */ const DBID __RPC_FAR rgColumnIDs[  ],
  7390.             /* [size_is][out] */ DBORDINAL __RPC_FAR rgColumns[  ]);
  7391.         
  7392.         END_INTERFACE
  7393.     } IColumnsInfoVtbl;
  7394.  
  7395.     interface IColumnsInfo
  7396.     {
  7397.         CONST_VTBL struct IColumnsInfoVtbl __RPC_FAR *lpVtbl;
  7398.     };
  7399.  
  7400.     
  7401.  
  7402. #ifdef COBJMACROS
  7403.  
  7404.  
  7405. #define IColumnsInfo_QueryInterface(This,riid,ppvObject)    \
  7406.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7407.  
  7408. #define IColumnsInfo_AddRef(This)    \
  7409.     (This)->lpVtbl -> AddRef(This)
  7410.  
  7411. #define IColumnsInfo_Release(This)    \
  7412.     (This)->lpVtbl -> Release(This)
  7413.  
  7414.  
  7415. #define IColumnsInfo_GetColumnInfo(This,pcColumns,prgInfo,ppStringsBuffer)    \
  7416.     (This)->lpVtbl -> GetColumnInfo(This,pcColumns,prgInfo,ppStringsBuffer)
  7417.  
  7418. #define IColumnsInfo_MapColumnIDs(This,cColumnIDs,rgColumnIDs,rgColumns)    \
  7419.     (This)->lpVtbl -> MapColumnIDs(This,cColumnIDs,rgColumnIDs,rgColumns)
  7420.  
  7421. #endif /* COBJMACROS */
  7422.  
  7423.  
  7424. #endif     /* C style interface */
  7425.  
  7426.  
  7427.  
  7428. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsInfo_RemoteGetColumnInfo_Proxy( 
  7429.     IColumnsInfo __RPC_FAR * This,
  7430.     /* [out][in] */ DBORDINAL __RPC_FAR *pcColumns,
  7431.     /* [size_is][size_is][out] */ DBCOLUMNINFO __RPC_FAR *__RPC_FAR *prgInfo,
  7432.     /* [size_is][size_is][out] */ DBBYTEOFFSET __RPC_FAR *__RPC_FAR *prgNameOffsets,
  7433.     /* [size_is][size_is][out] */ DBBYTEOFFSET __RPC_FAR *__RPC_FAR *prgcolumnidOffsets,
  7434.     /* [out][in] */ DBLENGTH __RPC_FAR *pcbStringsBuffer,
  7435.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer,
  7436.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  7437.  
  7438.  
  7439. void __RPC_STUB IColumnsInfo_RemoteGetColumnInfo_Stub(
  7440.     IRpcStubBuffer *This,
  7441.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7442.     PRPC_MESSAGE _pRpcMessage,
  7443.     DWORD *_pdwStubPhase);
  7444.  
  7445.  
  7446. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsInfo_RemoteMapColumnIDs_Proxy( 
  7447.     IColumnsInfo __RPC_FAR * This,
  7448.     /* [in] */ DBORDINAL cColumnIDs,
  7449.     /* [size_is][in] */ const DBID __RPC_FAR *rgColumnIDs,
  7450.     /* [size_is][out] */ DBORDINAL __RPC_FAR *rgColumns,
  7451.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  7452.  
  7453.  
  7454. void __RPC_STUB IColumnsInfo_RemoteMapColumnIDs_Stub(
  7455.     IRpcStubBuffer *This,
  7456.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7457.     PRPC_MESSAGE _pRpcMessage,
  7458.     DWORD *_pdwStubPhase);
  7459.  
  7460.  
  7461.  
  7462. #endif     /* __IColumnsInfo_INTERFACE_DEFINED__ */
  7463.  
  7464.  
  7465. #ifndef __IDBCreateCommand_INTERFACE_DEFINED__
  7466. #define __IDBCreateCommand_INTERFACE_DEFINED__
  7467.  
  7468. /* interface IDBCreateCommand */
  7469. /* [unique][uuid][object] */ 
  7470.  
  7471.  
  7472. EXTERN_C const IID IID_IDBCreateCommand;
  7473.  
  7474. #if defined(__cplusplus) && !defined(CINTERFACE)
  7475.     
  7476.     MIDL_INTERFACE("0c733a1d-2a1c-11ce-ade5-00aa0044773d")
  7477.     IDBCreateCommand : public IUnknown
  7478.     {
  7479.     public:
  7480.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateCommand( 
  7481.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  7482.             /* [in] */ REFIID riid,
  7483.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppCommand) = 0;
  7484.         
  7485.     };
  7486.     
  7487. #else     /* C style interface */
  7488.  
  7489.     typedef struct IDBCreateCommandVtbl
  7490.     {
  7491.         BEGIN_INTERFACE
  7492.         
  7493.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7494.             IDBCreateCommand __RPC_FAR * This,
  7495.             /* [in] */ REFIID riid,
  7496.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7497.         
  7498.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7499.             IDBCreateCommand __RPC_FAR * This);
  7500.         
  7501.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7502.             IDBCreateCommand __RPC_FAR * This);
  7503.         
  7504.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateCommand )( 
  7505.             IDBCreateCommand __RPC_FAR * This,
  7506.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  7507.             /* [in] */ REFIID riid,
  7508.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppCommand);
  7509.         
  7510.         END_INTERFACE
  7511.     } IDBCreateCommandVtbl;
  7512.  
  7513.     interface IDBCreateCommand
  7514.     {
  7515.         CONST_VTBL struct IDBCreateCommandVtbl __RPC_FAR *lpVtbl;
  7516.     };
  7517.  
  7518.     
  7519.  
  7520. #ifdef COBJMACROS
  7521.  
  7522.  
  7523. #define IDBCreateCommand_QueryInterface(This,riid,ppvObject)    \
  7524.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7525.  
  7526. #define IDBCreateCommand_AddRef(This)    \
  7527.     (This)->lpVtbl -> AddRef(This)
  7528.  
  7529. #define IDBCreateCommand_Release(This)    \
  7530.     (This)->lpVtbl -> Release(This)
  7531.  
  7532.  
  7533. #define IDBCreateCommand_CreateCommand(This,pUnkOuter,riid,ppCommand)    \
  7534.     (This)->lpVtbl -> CreateCommand(This,pUnkOuter,riid,ppCommand)
  7535.  
  7536. #endif /* COBJMACROS */
  7537.  
  7538.  
  7539. #endif     /* C style interface */
  7540.  
  7541.  
  7542.  
  7543. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBCreateCommand_RemoteCreateCommand_Proxy( 
  7544.     IDBCreateCommand __RPC_FAR * This,
  7545.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  7546.     /* [in] */ REFIID riid,
  7547.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppCommand,
  7548.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  7549.  
  7550.  
  7551. void __RPC_STUB IDBCreateCommand_RemoteCreateCommand_Stub(
  7552.     IRpcStubBuffer *This,
  7553.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7554.     PRPC_MESSAGE _pRpcMessage,
  7555.     DWORD *_pdwStubPhase);
  7556.  
  7557.  
  7558.  
  7559. #endif     /* __IDBCreateCommand_INTERFACE_DEFINED__ */
  7560.  
  7561.  
  7562. #ifndef __IDBCreateSession_INTERFACE_DEFINED__
  7563. #define __IDBCreateSession_INTERFACE_DEFINED__
  7564.  
  7565. /* interface IDBCreateSession */
  7566. /* [unique][uuid][object] */ 
  7567.  
  7568.  
  7569. EXTERN_C const IID IID_IDBCreateSession;
  7570.  
  7571. #if defined(__cplusplus) && !defined(CINTERFACE)
  7572.     
  7573.     MIDL_INTERFACE("0c733a5d-2a1c-11ce-ade5-00aa0044773d")
  7574.     IDBCreateSession : public IUnknown
  7575.     {
  7576.     public:
  7577.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateSession( 
  7578.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  7579.             /* [in] */ REFIID riid,
  7580.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDBSession) = 0;
  7581.         
  7582.     };
  7583.     
  7584. #else     /* C style interface */
  7585.  
  7586.     typedef struct IDBCreateSessionVtbl
  7587.     {
  7588.         BEGIN_INTERFACE
  7589.         
  7590.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7591.             IDBCreateSession __RPC_FAR * This,
  7592.             /* [in] */ REFIID riid,
  7593.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7594.         
  7595.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7596.             IDBCreateSession __RPC_FAR * This);
  7597.         
  7598.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7599.             IDBCreateSession __RPC_FAR * This);
  7600.         
  7601.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateSession )( 
  7602.             IDBCreateSession __RPC_FAR * This,
  7603.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  7604.             /* [in] */ REFIID riid,
  7605.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDBSession);
  7606.         
  7607.         END_INTERFACE
  7608.     } IDBCreateSessionVtbl;
  7609.  
  7610.     interface IDBCreateSession
  7611.     {
  7612.         CONST_VTBL struct IDBCreateSessionVtbl __RPC_FAR *lpVtbl;
  7613.     };
  7614.  
  7615.     
  7616.  
  7617. #ifdef COBJMACROS
  7618.  
  7619.  
  7620. #define IDBCreateSession_QueryInterface(This,riid,ppvObject)    \
  7621.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7622.  
  7623. #define IDBCreateSession_AddRef(This)    \
  7624.     (This)->lpVtbl -> AddRef(This)
  7625.  
  7626. #define IDBCreateSession_Release(This)    \
  7627.     (This)->lpVtbl -> Release(This)
  7628.  
  7629.  
  7630. #define IDBCreateSession_CreateSession(This,pUnkOuter,riid,ppDBSession)    \
  7631.     (This)->lpVtbl -> CreateSession(This,pUnkOuter,riid,ppDBSession)
  7632.  
  7633. #endif /* COBJMACROS */
  7634.  
  7635.  
  7636. #endif     /* C style interface */
  7637.  
  7638.  
  7639.  
  7640. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBCreateSession_RemoteCreateSession_Proxy( 
  7641.     IDBCreateSession __RPC_FAR * This,
  7642.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  7643.     /* [in] */ REFIID riid,
  7644.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDBSession,
  7645.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  7646.  
  7647.  
  7648. void __RPC_STUB IDBCreateSession_RemoteCreateSession_Stub(
  7649.     IRpcStubBuffer *This,
  7650.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7651.     PRPC_MESSAGE _pRpcMessage,
  7652.     DWORD *_pdwStubPhase);
  7653.  
  7654.  
  7655.  
  7656. #endif     /* __IDBCreateSession_INTERFACE_DEFINED__ */
  7657.  
  7658.  
  7659. #ifndef __ISourcesRowset_INTERFACE_DEFINED__
  7660. #define __ISourcesRowset_INTERFACE_DEFINED__
  7661.  
  7662. /* interface ISourcesRowset */
  7663. /* [unique][uuid][object] */ 
  7664.  
  7665. typedef DWORD DBSOURCETYPE;
  7666.  
  7667.  
  7668. enum DBSOURCETYPEENUM
  7669.     {    DBSOURCETYPE_DATASOURCE    = 1,
  7670.     DBSOURCETYPE_ENUMERATOR    = 2
  7671.     };
  7672. //@@@+ V2.0
  7673. #if( OLEDBVER >= 0x0200 )
  7674.  
  7675. enum DBSOURCETYPEENUM20
  7676.     {    DBSOURCETYPE_DATASOURCE_TDP    = 1,
  7677.     DBSOURCETYPE_DATASOURCE_MDP    = 3
  7678.     };
  7679. #endif // OLEDBVER >= 0x0200
  7680. //@@@- V2.0
  7681. //@@@+ V2.5
  7682. #if( OLEDBVER >= 0x0250 )
  7683.  
  7684. enum DBSOURCETYPEENUM25
  7685.     {    DBSOURCETYPE_BINDER    = 4
  7686.     };
  7687. #endif // OLEDBVER >= 0x0250
  7688. //@@@- V2.5
  7689.  
  7690. EXTERN_C const IID IID_ISourcesRowset;
  7691.  
  7692. #if defined(__cplusplus) && !defined(CINTERFACE)
  7693.     
  7694.     MIDL_INTERFACE("0c733a1e-2a1c-11ce-ade5-00aa0044773d")
  7695.     ISourcesRowset : public IUnknown
  7696.     {
  7697.     public:
  7698.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSourcesRowset( 
  7699.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  7700.             /* [in] */ REFIID riid,
  7701.             /* [in] */ ULONG cPropertySets,
  7702.             /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgProperties[  ],
  7703.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSourcesRowset) = 0;
  7704.         
  7705.     };
  7706.     
  7707. #else     /* C style interface */
  7708.  
  7709.     typedef struct ISourcesRowsetVtbl
  7710.     {
  7711.         BEGIN_INTERFACE
  7712.         
  7713.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7714.             ISourcesRowset __RPC_FAR * This,
  7715.             /* [in] */ REFIID riid,
  7716.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7717.         
  7718.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7719.             ISourcesRowset __RPC_FAR * This);
  7720.         
  7721.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7722.             ISourcesRowset __RPC_FAR * This);
  7723.         
  7724.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourcesRowset )( 
  7725.             ISourcesRowset __RPC_FAR * This,
  7726.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  7727.             /* [in] */ REFIID riid,
  7728.             /* [in] */ ULONG cPropertySets,
  7729.             /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgProperties[  ],
  7730.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSourcesRowset);
  7731.         
  7732.         END_INTERFACE
  7733.     } ISourcesRowsetVtbl;
  7734.  
  7735.     interface ISourcesRowset
  7736.     {
  7737.         CONST_VTBL struct ISourcesRowsetVtbl __RPC_FAR *lpVtbl;
  7738.     };
  7739.  
  7740.     
  7741.  
  7742. #ifdef COBJMACROS
  7743.  
  7744.  
  7745. #define ISourcesRowset_QueryInterface(This,riid,ppvObject)    \
  7746.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7747.  
  7748. #define ISourcesRowset_AddRef(This)    \
  7749.     (This)->lpVtbl -> AddRef(This)
  7750.  
  7751. #define ISourcesRowset_Release(This)    \
  7752.     (This)->lpVtbl -> Release(This)
  7753.  
  7754.  
  7755. #define ISourcesRowset_GetSourcesRowset(This,pUnkOuter,riid,cPropertySets,rgProperties,ppSourcesRowset)    \
  7756.     (This)->lpVtbl -> GetSourcesRowset(This,pUnkOuter,riid,cPropertySets,rgProperties,ppSourcesRowset)
  7757.  
  7758. #endif /* COBJMACROS */
  7759.  
  7760.  
  7761. #endif     /* C style interface */
  7762.  
  7763.  
  7764.  
  7765. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISourcesRowset_RemoteGetSourcesRowset_Proxy( 
  7766.     ISourcesRowset __RPC_FAR * This,
  7767.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  7768.     /* [in] */ REFIID riid,
  7769.     /* [in] */ ULONG cPropertySets,
  7770.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgProperties,
  7771.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSourcesRowset,
  7772.     /* [in] */ ULONG cTotalProps,
  7773.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  7774.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  7775.  
  7776.  
  7777. void __RPC_STUB ISourcesRowset_RemoteGetSourcesRowset_Stub(
  7778.     IRpcStubBuffer *This,
  7779.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7780.     PRPC_MESSAGE _pRpcMessage,
  7781.     DWORD *_pdwStubPhase);
  7782.  
  7783.  
  7784.  
  7785. #endif     /* __ISourcesRowset_INTERFACE_DEFINED__ */
  7786.  
  7787.  
  7788. #ifndef __IDBProperties_INTERFACE_DEFINED__
  7789. #define __IDBProperties_INTERFACE_DEFINED__
  7790.  
  7791. /* interface IDBProperties */
  7792. /* [unique][uuid][object] */ 
  7793.  
  7794.  
  7795. EXTERN_C const IID IID_IDBProperties;
  7796.  
  7797. #if defined(__cplusplus) && !defined(CINTERFACE)
  7798.     
  7799.     MIDL_INTERFACE("0c733a8a-2a1c-11ce-ade5-00aa0044773d")
  7800.     IDBProperties : public IUnknown
  7801.     {
  7802.     public:
  7803.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetProperties( 
  7804.             /* [in] */ ULONG cPropertyIDSets,
  7805.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  7806.             /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  7807.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets) = 0;
  7808.         
  7809.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetPropertyInfo( 
  7810.             /* [in] */ ULONG cPropertyIDSets,
  7811.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  7812.             /* [out][in] */ ULONG __RPC_FAR *pcPropertyInfoSets,
  7813.             /* [size_is][size_is][out] */ DBPROPINFOSET __RPC_FAR *__RPC_FAR *prgPropertyInfoSets,
  7814.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppDescBuffer) = 0;
  7815.         
  7816.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetProperties( 
  7817.             /* [in] */ ULONG cPropertySets,
  7818.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]) = 0;
  7819.         
  7820.     };
  7821.     
  7822. #else     /* C style interface */
  7823.  
  7824.     typedef struct IDBPropertiesVtbl
  7825.     {
  7826.         BEGIN_INTERFACE
  7827.         
  7828.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7829.             IDBProperties __RPC_FAR * This,
  7830.             /* [in] */ REFIID riid,
  7831.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7832.         
  7833.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7834.             IDBProperties __RPC_FAR * This);
  7835.         
  7836.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7837.             IDBProperties __RPC_FAR * This);
  7838.         
  7839.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProperties )( 
  7840.             IDBProperties __RPC_FAR * This,
  7841.             /* [in] */ ULONG cPropertyIDSets,
  7842.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  7843.             /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  7844.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets);
  7845.         
  7846.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPropertyInfo )( 
  7847.             IDBProperties __RPC_FAR * This,
  7848.             /* [in] */ ULONG cPropertyIDSets,
  7849.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  7850.             /* [out][in] */ ULONG __RPC_FAR *pcPropertyInfoSets,
  7851.             /* [size_is][size_is][out] */ DBPROPINFOSET __RPC_FAR *__RPC_FAR *prgPropertyInfoSets,
  7852.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppDescBuffer);
  7853.         
  7854.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProperties )( 
  7855.             IDBProperties __RPC_FAR * This,
  7856.             /* [in] */ ULONG cPropertySets,
  7857.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  7858.         
  7859.         END_INTERFACE
  7860.     } IDBPropertiesVtbl;
  7861.  
  7862.     interface IDBProperties
  7863.     {
  7864.         CONST_VTBL struct IDBPropertiesVtbl __RPC_FAR *lpVtbl;
  7865.     };
  7866.  
  7867.     
  7868.  
  7869. #ifdef COBJMACROS
  7870.  
  7871.  
  7872. #define IDBProperties_QueryInterface(This,riid,ppvObject)    \
  7873.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7874.  
  7875. #define IDBProperties_AddRef(This)    \
  7876.     (This)->lpVtbl -> AddRef(This)
  7877.  
  7878. #define IDBProperties_Release(This)    \
  7879.     (This)->lpVtbl -> Release(This)
  7880.  
  7881.  
  7882. #define IDBProperties_GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)    \
  7883.     (This)->lpVtbl -> GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  7884.  
  7885. #define IDBProperties_GetPropertyInfo(This,cPropertyIDSets,rgPropertyIDSets,pcPropertyInfoSets,prgPropertyInfoSets,ppDescBuffer)    \
  7886.     (This)->lpVtbl -> GetPropertyInfo(This,cPropertyIDSets,rgPropertyIDSets,pcPropertyInfoSets,prgPropertyInfoSets,ppDescBuffer)
  7887.  
  7888. #define IDBProperties_SetProperties(This,cPropertySets,rgPropertySets)    \
  7889.     (This)->lpVtbl -> SetProperties(This,cPropertySets,rgPropertySets)
  7890.  
  7891. #endif /* COBJMACROS */
  7892.  
  7893.  
  7894. #endif     /* C style interface */
  7895.  
  7896.  
  7897.  
  7898. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBProperties_RemoteGetProperties_Proxy( 
  7899.     IDBProperties __RPC_FAR * This,
  7900.     /* [in] */ ULONG cPropertyIDSets,
  7901.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  7902.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  7903.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets,
  7904.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  7905.  
  7906.  
  7907. void __RPC_STUB IDBProperties_RemoteGetProperties_Stub(
  7908.     IRpcStubBuffer *This,
  7909.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7910.     PRPC_MESSAGE _pRpcMessage,
  7911.     DWORD *_pdwStubPhase);
  7912.  
  7913.  
  7914. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBProperties_RemoteGetPropertyInfo_Proxy( 
  7915.     IDBProperties __RPC_FAR * This,
  7916.     /* [in] */ ULONG cPropertyIDSets,
  7917.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  7918.     /* [out][in] */ ULONG __RPC_FAR *pcPropertyInfoSets,
  7919.     /* [size_is][size_is][out] */ DBPROPINFOSET __RPC_FAR *__RPC_FAR *prgPropertyInfoSets,
  7920.     /* [out][in] */ ULONG __RPC_FAR *pcOffsets,
  7921.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgDescOffsets,
  7922.     /* [out][in] */ ULONG __RPC_FAR *pcbDescBuffer,
  7923.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppDescBuffer,
  7924.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  7925.  
  7926.  
  7927. void __RPC_STUB IDBProperties_RemoteGetPropertyInfo_Stub(
  7928.     IRpcStubBuffer *This,
  7929.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7930.     PRPC_MESSAGE _pRpcMessage,
  7931.     DWORD *_pdwStubPhase);
  7932.  
  7933.  
  7934. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBProperties_RemoteSetProperties_Proxy( 
  7935.     IDBProperties __RPC_FAR * This,
  7936.     /* [in] */ ULONG cPropertySets,
  7937.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  7938.     /* [in] */ ULONG cTotalProps,
  7939.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  7940.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  7941.  
  7942.  
  7943. void __RPC_STUB IDBProperties_RemoteSetProperties_Stub(
  7944.     IRpcStubBuffer *This,
  7945.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7946.     PRPC_MESSAGE _pRpcMessage,
  7947.     DWORD *_pdwStubPhase);
  7948.  
  7949.  
  7950.  
  7951. #endif     /* __IDBProperties_INTERFACE_DEFINED__ */
  7952.  
  7953.  
  7954. #ifndef __IDBInitialize_INTERFACE_DEFINED__
  7955. #define __IDBInitialize_INTERFACE_DEFINED__
  7956.  
  7957. /* interface IDBInitialize */
  7958. /* [unique][uuid][object] */ 
  7959.  
  7960.  
  7961. EXTERN_C const IID IID_IDBInitialize;
  7962.  
  7963. #if defined(__cplusplus) && !defined(CINTERFACE)
  7964.     
  7965.     MIDL_INTERFACE("0c733a8b-2a1c-11ce-ade5-00aa0044773d")
  7966.     IDBInitialize : public IUnknown
  7967.     {
  7968.     public:
  7969.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Initialize( void) = 0;
  7970.         
  7971.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Uninitialize( void) = 0;
  7972.         
  7973.     };
  7974.     
  7975. #else     /* C style interface */
  7976.  
  7977.     typedef struct IDBInitializeVtbl
  7978.     {
  7979.         BEGIN_INTERFACE
  7980.         
  7981.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7982.             IDBInitialize __RPC_FAR * This,
  7983.             /* [in] */ REFIID riid,
  7984.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7985.         
  7986.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7987.             IDBInitialize __RPC_FAR * This);
  7988.         
  7989.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7990.             IDBInitialize __RPC_FAR * This);
  7991.         
  7992.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Initialize )( 
  7993.             IDBInitialize __RPC_FAR * This);
  7994.         
  7995.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Uninitialize )( 
  7996.             IDBInitialize __RPC_FAR * This);
  7997.         
  7998.         END_INTERFACE
  7999.     } IDBInitializeVtbl;
  8000.  
  8001.     interface IDBInitialize
  8002.     {
  8003.         CONST_VTBL struct IDBInitializeVtbl __RPC_FAR *lpVtbl;
  8004.     };
  8005.  
  8006.     
  8007.  
  8008. #ifdef COBJMACROS
  8009.  
  8010.  
  8011. #define IDBInitialize_QueryInterface(This,riid,ppvObject)    \
  8012.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8013.  
  8014. #define IDBInitialize_AddRef(This)    \
  8015.     (This)->lpVtbl -> AddRef(This)
  8016.  
  8017. #define IDBInitialize_Release(This)    \
  8018.     (This)->lpVtbl -> Release(This)
  8019.  
  8020.  
  8021. #define IDBInitialize_Initialize(This)    \
  8022.     (This)->lpVtbl -> Initialize(This)
  8023.  
  8024. #define IDBInitialize_Uninitialize(This)    \
  8025.     (This)->lpVtbl -> Uninitialize(This)
  8026.  
  8027. #endif /* COBJMACROS */
  8028.  
  8029.  
  8030. #endif     /* C style interface */
  8031.  
  8032.  
  8033.  
  8034. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInitialize_RemoteInitialize_Proxy( 
  8035.     IDBInitialize __RPC_FAR * This,
  8036.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  8037.  
  8038.  
  8039. void __RPC_STUB IDBInitialize_RemoteInitialize_Stub(
  8040.     IRpcStubBuffer *This,
  8041.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8042.     PRPC_MESSAGE _pRpcMessage,
  8043.     DWORD *_pdwStubPhase);
  8044.  
  8045.  
  8046. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInitialize_RemoteUninitialize_Proxy( 
  8047.     IDBInitialize __RPC_FAR * This,
  8048.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  8049.  
  8050.  
  8051. void __RPC_STUB IDBInitialize_RemoteUninitialize_Stub(
  8052.     IRpcStubBuffer *This,
  8053.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8054.     PRPC_MESSAGE _pRpcMessage,
  8055.     DWORD *_pdwStubPhase);
  8056.  
  8057.  
  8058.  
  8059. #endif     /* __IDBInitialize_INTERFACE_DEFINED__ */
  8060.  
  8061.  
  8062. #ifndef __IDBInfo_INTERFACE_DEFINED__
  8063. #define __IDBInfo_INTERFACE_DEFINED__
  8064.  
  8065. /* interface IDBInfo */
  8066. /* [unique][uuid][object] */ 
  8067.  
  8068. typedef DWORD DBLITERAL;
  8069.  
  8070.  
  8071. enum DBLITERALENUM
  8072.     {    DBLITERAL_INVALID    = 0,
  8073.     DBLITERAL_BINARY_LITERAL    = 1,
  8074.     DBLITERAL_CATALOG_NAME    = 2,
  8075.     DBLITERAL_CATALOG_SEPARATOR    = 3,
  8076.     DBLITERAL_CHAR_LITERAL    = 4,
  8077.     DBLITERAL_COLUMN_ALIAS    = 5,
  8078.     DBLITERAL_COLUMN_NAME    = 6,
  8079.     DBLITERAL_CORRELATION_NAME    = 7,
  8080.     DBLITERAL_CURSOR_NAME    = 8,
  8081.     DBLITERAL_ESCAPE_PERCENT    = 9,
  8082.     DBLITERAL_ESCAPE_UNDERSCORE    = 10,
  8083.     DBLITERAL_INDEX_NAME    = 11,
  8084.     DBLITERAL_LIKE_PERCENT    = 12,
  8085.     DBLITERAL_LIKE_UNDERSCORE    = 13,
  8086.     DBLITERAL_PROCEDURE_NAME    = 14,
  8087.     DBLITERAL_QUOTE    = 15,
  8088.     DBLITERAL_SCHEMA_NAME    = 16,
  8089.     DBLITERAL_TABLE_NAME    = 17,
  8090.     DBLITERAL_TEXT_COMMAND    = 18,
  8091.     DBLITERAL_USER_NAME    = 19,
  8092.     DBLITERAL_VIEW_NAME    = 20
  8093.     };
  8094. //@@@+ V2.0
  8095. #if( OLEDBVER >= 0x0200 )
  8096. #define DBLITERAL_QUOTE_PREFIX DBLITERAL_QUOTE
  8097.  
  8098. enum DBLITERALENUM20
  8099.     {    DBLITERAL_CUBE_NAME    = 21,
  8100.     DBLITERAL_DIMENSION_NAME    = 22,
  8101.     DBLITERAL_HIERARCHY_NAME    = 23,
  8102.     DBLITERAL_LEVEL_NAME    = 24,
  8103.     DBLITERAL_MEMBER_NAME    = 25,
  8104.     DBLITERAL_PROPERTY_NAME    = 26,
  8105.     DBLITERAL_SCHEMA_SEPARATOR    = 27,
  8106.     DBLITERAL_QUOTE_SUFFIX    = 28
  8107.     };
  8108. #endif // OLEDBVER >= 0x0200
  8109. //@@@- V2.0
  8110. //@@@+ V2.1
  8111. #if( OLEDBVER >= 0x0210 )
  8112. #define DBLITERAL_ESCAPE_PERCENT_PREFIX DBLITERAL_ESCAPE_PERCENT
  8113. #define DBLITERAL_ESCAPE_UNDERSCORE_PREFIX DBLITERAL_ESCAPE_UNDERSCORE
  8114.  
  8115. enum DBLITERALENUM21
  8116.     {    DBLITERAL_ESCAPE_PERCENT_SUFFIX    = 29,
  8117.     DBLITERAL_ESCAPE_UNDERSCORE_SUFFIX    = 30
  8118.     };
  8119. #endif // OLEDBVER >= 0x0210
  8120. //@@@- V2.1
  8121. typedef struct tagDBLITERALINFO
  8122.     {
  8123.     LPOLESTR pwszLiteralValue;
  8124.     LPOLESTR pwszInvalidChars;
  8125.     LPOLESTR pwszInvalidStartingChars;
  8126.     DBLITERAL lt;
  8127.     BOOL fSupported;
  8128.     ULONG cchMaxLen;
  8129.     }    DBLITERALINFO;
  8130.  
  8131.  
  8132. EXTERN_C const IID IID_IDBInfo;
  8133.  
  8134. #if defined(__cplusplus) && !defined(CINTERFACE)
  8135.     
  8136.     MIDL_INTERFACE("0c733a89-2a1c-11ce-ade5-00aa0044773d")
  8137.     IDBInfo : public IUnknown
  8138.     {
  8139.     public:
  8140.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetKeywords( 
  8141.             /* [out] */ LPOLESTR __RPC_FAR *ppwszKeywords) = 0;
  8142.         
  8143.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetLiteralInfo( 
  8144.             /* [in] */ ULONG cLiterals,
  8145.             /* [size_is][in] */ const DBLITERAL __RPC_FAR rgLiterals[  ],
  8146.             /* [out][in] */ ULONG __RPC_FAR *pcLiteralInfo,
  8147.             /* [size_is][size_is][out] */ DBLITERALINFO __RPC_FAR *__RPC_FAR *prgLiteralInfo,
  8148.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppCharBuffer) = 0;
  8149.         
  8150.     };
  8151.     
  8152. #else     /* C style interface */
  8153.  
  8154.     typedef struct IDBInfoVtbl
  8155.     {
  8156.         BEGIN_INTERFACE
  8157.         
  8158.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8159.             IDBInfo __RPC_FAR * This,
  8160.             /* [in] */ REFIID riid,
  8161.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8162.         
  8163.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8164.             IDBInfo __RPC_FAR * This);
  8165.         
  8166.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8167.             IDBInfo __RPC_FAR * This);
  8168.         
  8169.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetKeywords )( 
  8170.             IDBInfo __RPC_FAR * This,
  8171.             /* [out] */ LPOLESTR __RPC_FAR *ppwszKeywords);
  8172.         
  8173.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLiteralInfo )( 
  8174.             IDBInfo __RPC_FAR * This,
  8175.             /* [in] */ ULONG cLiterals,
  8176.             /* [size_is][in] */ const DBLITERAL __RPC_FAR rgLiterals[  ],
  8177.             /* [out][in] */ ULONG __RPC_FAR *pcLiteralInfo,
  8178.             /* [size_is][size_is][out] */ DBLITERALINFO __RPC_FAR *__RPC_FAR *prgLiteralInfo,
  8179.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppCharBuffer);
  8180.         
  8181.         END_INTERFACE
  8182.     } IDBInfoVtbl;
  8183.  
  8184.     interface IDBInfo
  8185.     {
  8186.         CONST_VTBL struct IDBInfoVtbl __RPC_FAR *lpVtbl;
  8187.     };
  8188.  
  8189.     
  8190.  
  8191. #ifdef COBJMACROS
  8192.  
  8193.  
  8194. #define IDBInfo_QueryInterface(This,riid,ppvObject)    \
  8195.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8196.  
  8197. #define IDBInfo_AddRef(This)    \
  8198.     (This)->lpVtbl -> AddRef(This)
  8199.  
  8200. #define IDBInfo_Release(This)    \
  8201.     (This)->lpVtbl -> Release(This)
  8202.  
  8203.  
  8204. #define IDBInfo_GetKeywords(This,ppwszKeywords)    \
  8205.     (This)->lpVtbl -> GetKeywords(This,ppwszKeywords)
  8206.  
  8207. #define IDBInfo_GetLiteralInfo(This,cLiterals,rgLiterals,pcLiteralInfo,prgLiteralInfo,ppCharBuffer)    \
  8208.     (This)->lpVtbl -> GetLiteralInfo(This,cLiterals,rgLiterals,pcLiteralInfo,prgLiteralInfo,ppCharBuffer)
  8209.  
  8210. #endif /* COBJMACROS */
  8211.  
  8212.  
  8213. #endif     /* C style interface */
  8214.  
  8215.  
  8216.  
  8217. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInfo_RemoteGetKeywords_Proxy( 
  8218.     IDBInfo __RPC_FAR * This,
  8219.     /* [unique][out][in] */ LPOLESTR __RPC_FAR *ppwszKeywords,
  8220.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  8221.  
  8222.  
  8223. void __RPC_STUB IDBInfo_RemoteGetKeywords_Stub(
  8224.     IRpcStubBuffer *This,
  8225.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8226.     PRPC_MESSAGE _pRpcMessage,
  8227.     DWORD *_pdwStubPhase);
  8228.  
  8229.  
  8230. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInfo_RemoteGetLiteralInfo_Proxy( 
  8231.     IDBInfo __RPC_FAR * This,
  8232.     /* [in] */ ULONG cLiterals,
  8233.     /* [size_is][unique][in] */ const DBLITERAL __RPC_FAR *rgLiterals,
  8234.     /* [out][in] */ ULONG __RPC_FAR *pcLiteralInfo,
  8235.     /* [size_is][size_is][out] */ DBLITERALINFO __RPC_FAR *__RPC_FAR *prgLiteralInfo,
  8236.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgLVOffsets,
  8237.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgICOffsets,
  8238.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgISCOffsets,
  8239.     /* [out][in] */ ULONG __RPC_FAR *pcbCharBuffer,
  8240.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppCharBuffer,
  8241.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  8242.  
  8243.  
  8244. void __RPC_STUB IDBInfo_RemoteGetLiteralInfo_Stub(
  8245.     IRpcStubBuffer *This,
  8246.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8247.     PRPC_MESSAGE _pRpcMessage,
  8248.     DWORD *_pdwStubPhase);
  8249.  
  8250.  
  8251.  
  8252. #endif     /* __IDBInfo_INTERFACE_DEFINED__ */
  8253.  
  8254.  
  8255. #ifndef __IDBDataSourceAdmin_INTERFACE_DEFINED__
  8256. #define __IDBDataSourceAdmin_INTERFACE_DEFINED__
  8257.  
  8258. /* interface IDBDataSourceAdmin */
  8259. /* [unique][uuid][object] */ 
  8260.  
  8261.  
  8262. EXTERN_C const IID IID_IDBDataSourceAdmin;
  8263.  
  8264. #if defined(__cplusplus) && !defined(CINTERFACE)
  8265.     
  8266.     MIDL_INTERFACE("0c733a7a-2a1c-11ce-ade5-00aa0044773d")
  8267.     IDBDataSourceAdmin : public IUnknown
  8268.     {
  8269.     public:
  8270.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateDataSource( 
  8271.             /* [in] */ ULONG cPropertySets,
  8272.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  8273.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  8274.             /* [in] */ REFIID riid,
  8275.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDBSession) = 0;
  8276.         
  8277.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE DestroyDataSource( void) = 0;
  8278.         
  8279.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetCreationProperties( 
  8280.             /* [in] */ ULONG cPropertyIDSets,
  8281.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  8282.             /* [out][in] */ ULONG __RPC_FAR *pcPropertyInfoSets,
  8283.             /* [size_is][size_is][out] */ DBPROPINFOSET __RPC_FAR *__RPC_FAR *prgPropertyInfoSets,
  8284.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppDescBuffer) = 0;
  8285.         
  8286.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE ModifyDataSource( 
  8287.             /* [in] */ ULONG cPropertySets,
  8288.             /* [size_is][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]) = 0;
  8289.         
  8290.     };
  8291.     
  8292. #else     /* C style interface */
  8293.  
  8294.     typedef struct IDBDataSourceAdminVtbl
  8295.     {
  8296.         BEGIN_INTERFACE
  8297.         
  8298.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8299.             IDBDataSourceAdmin __RPC_FAR * This,
  8300.             /* [in] */ REFIID riid,
  8301.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8302.         
  8303.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8304.             IDBDataSourceAdmin __RPC_FAR * This);
  8305.         
  8306.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8307.             IDBDataSourceAdmin __RPC_FAR * This);
  8308.         
  8309.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateDataSource )( 
  8310.             IDBDataSourceAdmin __RPC_FAR * This,
  8311.             /* [in] */ ULONG cPropertySets,
  8312.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  8313.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  8314.             /* [in] */ REFIID riid,
  8315.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDBSession);
  8316.         
  8317.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DestroyDataSource )( 
  8318.             IDBDataSourceAdmin __RPC_FAR * This);
  8319.         
  8320.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCreationProperties )( 
  8321.             IDBDataSourceAdmin __RPC_FAR * This,
  8322.             /* [in] */ ULONG cPropertyIDSets,
  8323.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  8324.             /* [out][in] */ ULONG __RPC_FAR *pcPropertyInfoSets,
  8325.             /* [size_is][size_is][out] */ DBPROPINFOSET __RPC_FAR *__RPC_FAR *prgPropertyInfoSets,
  8326.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppDescBuffer);
  8327.         
  8328.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ModifyDataSource )( 
  8329.             IDBDataSourceAdmin __RPC_FAR * This,
  8330.             /* [in] */ ULONG cPropertySets,
  8331.             /* [size_is][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  8332.         
  8333.         END_INTERFACE
  8334.     } IDBDataSourceAdminVtbl;
  8335.  
  8336.     interface IDBDataSourceAdmin
  8337.     {
  8338.         CONST_VTBL struct IDBDataSourceAdminVtbl __RPC_FAR *lpVtbl;
  8339.     };
  8340.  
  8341.     
  8342.  
  8343. #ifdef COBJMACROS
  8344.  
  8345.  
  8346. #define IDBDataSourceAdmin_QueryInterface(This,riid,ppvObject)    \
  8347.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8348.  
  8349. #define IDBDataSourceAdmin_AddRef(This)    \
  8350.     (This)->lpVtbl -> AddRef(This)
  8351.  
  8352. #define IDBDataSourceAdmin_Release(This)    \
  8353.     (This)->lpVtbl -> Release(This)
  8354.  
  8355.  
  8356. #define IDBDataSourceAdmin_CreateDataSource(This,cPropertySets,rgPropertySets,pUnkOuter,riid,ppDBSession)    \
  8357.     (This)->lpVtbl -> CreateDataSource(This,cPropertySets,rgPropertySets,pUnkOuter,riid,ppDBSession)
  8358.  
  8359. #define IDBDataSourceAdmin_DestroyDataSource(This)    \
  8360.     (This)->lpVtbl -> DestroyDataSource(This)
  8361.  
  8362. #define IDBDataSourceAdmin_GetCreationProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertyInfoSets,prgPropertyInfoSets,ppDescBuffer)    \
  8363.     (This)->lpVtbl -> GetCreationProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertyInfoSets,prgPropertyInfoSets,ppDescBuffer)
  8364.  
  8365. #define IDBDataSourceAdmin_ModifyDataSource(This,cPropertySets,rgPropertySets)    \
  8366.     (This)->lpVtbl -> ModifyDataSource(This,cPropertySets,rgPropertySets)
  8367.  
  8368. #endif /* COBJMACROS */
  8369.  
  8370.  
  8371. #endif     /* C style interface */
  8372.  
  8373.  
  8374.  
  8375. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_RemoteCreateDataSource_Proxy( 
  8376.     IDBDataSourceAdmin __RPC_FAR * This,
  8377.     /* [in] */ ULONG cPropertySets,
  8378.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  8379.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  8380.     /* [in] */ REFIID riid,
  8381.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppDBSession,
  8382.     /* [in] */ ULONG cTotalProps,
  8383.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  8384.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  8385.  
  8386.  
  8387. void __RPC_STUB IDBDataSourceAdmin_RemoteCreateDataSource_Stub(
  8388.     IRpcStubBuffer *This,
  8389.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8390.     PRPC_MESSAGE _pRpcMessage,
  8391.     DWORD *_pdwStubPhase);
  8392.  
  8393.  
  8394. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_RemoteDestroyDataSource_Proxy( 
  8395.     IDBDataSourceAdmin __RPC_FAR * This,
  8396.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  8397.  
  8398.  
  8399. void __RPC_STUB IDBDataSourceAdmin_RemoteDestroyDataSource_Stub(
  8400.     IRpcStubBuffer *This,
  8401.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8402.     PRPC_MESSAGE _pRpcMessage,
  8403.     DWORD *_pdwStubPhase);
  8404.  
  8405.  
  8406. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_RemoteGetCreationProperties_Proxy( 
  8407.     IDBDataSourceAdmin __RPC_FAR * This,
  8408.     /* [in] */ ULONG cPropertyIDSets,
  8409.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  8410.     /* [out][in] */ ULONG __RPC_FAR *pcPropertyInfoSets,
  8411.     /* [size_is][size_is][out] */ DBPROPINFOSET __RPC_FAR *__RPC_FAR *prgPropertyInfoSets,
  8412.     /* [out][in] */ ULONG __RPC_FAR *pcOffsets,
  8413.     /* [size_is][size_is][out] */ DBBYTEOFFSET __RPC_FAR *__RPC_FAR *prgDescOffsets,
  8414.     /* [out][in] */ ULONG __RPC_FAR *pcbDescBuffer,
  8415.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppDescBuffer,
  8416.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  8417.  
  8418.  
  8419. void __RPC_STUB IDBDataSourceAdmin_RemoteGetCreationProperties_Stub(
  8420.     IRpcStubBuffer *This,
  8421.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8422.     PRPC_MESSAGE _pRpcMessage,
  8423.     DWORD *_pdwStubPhase);
  8424.  
  8425.  
  8426. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_RemoteModifyDataSource_Proxy( 
  8427.     IDBDataSourceAdmin __RPC_FAR * This,
  8428.     /* [in] */ ULONG cPropertySets,
  8429.     /* [size_is][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  8430.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  8431.  
  8432.  
  8433. void __RPC_STUB IDBDataSourceAdmin_RemoteModifyDataSource_Stub(
  8434.     IRpcStubBuffer *This,
  8435.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8436.     PRPC_MESSAGE _pRpcMessage,
  8437.     DWORD *_pdwStubPhase);
  8438.  
  8439.  
  8440.  
  8441. #endif     /* __IDBDataSourceAdmin_INTERFACE_DEFINED__ */
  8442.  
  8443.  
  8444. /* interface __MIDL_itf_oledb_0294 */
  8445. /* [local] */ 
  8446.  
  8447. //@@@+ V1.5
  8448. #if( OLEDBVER >= 0x0150 )
  8449.  
  8450.  
  8451. extern RPC_IF_HANDLE __MIDL_itf_oledb_0294_v0_0_c_ifspec;
  8452. extern RPC_IF_HANDLE __MIDL_itf_oledb_0294_v0_0_s_ifspec;
  8453.  
  8454. #ifndef __IDBAsynchNotify_INTERFACE_DEFINED__
  8455. #define __IDBAsynchNotify_INTERFACE_DEFINED__
  8456.  
  8457. /* interface IDBAsynchNotify */
  8458. /* [unique][uuid][object] */ 
  8459.  
  8460.  
  8461. EXTERN_C const IID IID_IDBAsynchNotify;
  8462.  
  8463. #if defined(__cplusplus) && !defined(CINTERFACE)
  8464.     
  8465.     MIDL_INTERFACE("0c733a96-2a1c-11ce-ade5-00aa0044773d")
  8466.     IDBAsynchNotify : public IUnknown
  8467.     {
  8468.     public:
  8469.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnLowResource( 
  8470.             /* [in] */ DB_DWRESERVE dwReserved) = 0;
  8471.         
  8472.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnProgress( 
  8473.             /* [in] */ HCHAPTER hChapter,
  8474.             /* [in] */ DBASYNCHOP eOperation,
  8475.             /* [in] */ DBCOUNTITEM ulProgress,
  8476.             /* [in] */ DBCOUNTITEM ulProgressMax,
  8477.             /* [in] */ DBASYNCHPHASE eAsynchPhase,
  8478.             /* [in] */ LPOLESTR pwszStatusText) = 0;
  8479.         
  8480.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnStop( 
  8481.             /* [in] */ HCHAPTER hChapter,
  8482.             /* [in] */ DBASYNCHOP eOperation,
  8483.             /* [in] */ HRESULT hrStatus,
  8484.             /* [in] */ LPOLESTR pwszStatusText) = 0;
  8485.         
  8486.     };
  8487.     
  8488. #else     /* C style interface */
  8489.  
  8490.     typedef struct IDBAsynchNotifyVtbl
  8491.     {
  8492.         BEGIN_INTERFACE
  8493.         
  8494.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8495.             IDBAsynchNotify __RPC_FAR * This,
  8496.             /* [in] */ REFIID riid,
  8497.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8498.         
  8499.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8500.             IDBAsynchNotify __RPC_FAR * This);
  8501.         
  8502.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8503.             IDBAsynchNotify __RPC_FAR * This);
  8504.         
  8505.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnLowResource )( 
  8506.             IDBAsynchNotify __RPC_FAR * This,
  8507.             /* [in] */ DB_DWRESERVE dwReserved);
  8508.         
  8509.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnProgress )( 
  8510.             IDBAsynchNotify __RPC_FAR * This,
  8511.             /* [in] */ HCHAPTER hChapter,
  8512.             /* [in] */ DBASYNCHOP eOperation,
  8513.             /* [in] */ DBCOUNTITEM ulProgress,
  8514.             /* [in] */ DBCOUNTITEM ulProgressMax,
  8515.             /* [in] */ DBASYNCHPHASE eAsynchPhase,
  8516.             /* [in] */ LPOLESTR pwszStatusText);
  8517.         
  8518.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnStop )( 
  8519.             IDBAsynchNotify __RPC_FAR * This,
  8520.             /* [in] */ HCHAPTER hChapter,
  8521.             /* [in] */ DBASYNCHOP eOperation,
  8522.             /* [in] */ HRESULT hrStatus,
  8523.             /* [in] */ LPOLESTR pwszStatusText);
  8524.         
  8525.         END_INTERFACE
  8526.     } IDBAsynchNotifyVtbl;
  8527.  
  8528.     interface IDBAsynchNotify
  8529.     {
  8530.         CONST_VTBL struct IDBAsynchNotifyVtbl __RPC_FAR *lpVtbl;
  8531.     };
  8532.  
  8533.     
  8534.  
  8535. #ifdef COBJMACROS
  8536.  
  8537.  
  8538. #define IDBAsynchNotify_QueryInterface(This,riid,ppvObject)    \
  8539.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8540.  
  8541. #define IDBAsynchNotify_AddRef(This)    \
  8542.     (This)->lpVtbl -> AddRef(This)
  8543.  
  8544. #define IDBAsynchNotify_Release(This)    \
  8545.     (This)->lpVtbl -> Release(This)
  8546.  
  8547.  
  8548. #define IDBAsynchNotify_OnLowResource(This,dwReserved)    \
  8549.     (This)->lpVtbl -> OnLowResource(This,dwReserved)
  8550.  
  8551. #define IDBAsynchNotify_OnProgress(This,hChapter,eOperation,ulProgress,ulProgressMax,eAsynchPhase,pwszStatusText)    \
  8552.     (This)->lpVtbl -> OnProgress(This,hChapter,eOperation,ulProgress,ulProgressMax,eAsynchPhase,pwszStatusText)
  8553.  
  8554. #define IDBAsynchNotify_OnStop(This,hChapter,eOperation,hrStatus,pwszStatusText)    \
  8555.     (This)->lpVtbl -> OnStop(This,hChapter,eOperation,hrStatus,pwszStatusText)
  8556.  
  8557. #endif /* COBJMACROS */
  8558.  
  8559.  
  8560. #endif     /* C style interface */
  8561.  
  8562.  
  8563.  
  8564. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_RemoteOnLowResource_Proxy( 
  8565.     IDBAsynchNotify __RPC_FAR * This,
  8566.     /* [in] */ DB_DWRESERVE dwReserved);
  8567.  
  8568.  
  8569. void __RPC_STUB IDBAsynchNotify_RemoteOnLowResource_Stub(
  8570.     IRpcStubBuffer *This,
  8571.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8572.     PRPC_MESSAGE _pRpcMessage,
  8573.     DWORD *_pdwStubPhase);
  8574.  
  8575.  
  8576. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_RemoteOnProgress_Proxy( 
  8577.     IDBAsynchNotify __RPC_FAR * This,
  8578.     /* [in] */ HCHAPTER hChapter,
  8579.     /* [in] */ DBASYNCHOP eOperation,
  8580.     /* [in] */ DBCOUNTITEM ulProgress,
  8581.     /* [in] */ DBCOUNTITEM ulProgressMax,
  8582.     /* [in] */ DBASYNCHPHASE eAsynchPhase,
  8583.     /* [string][unique][in] */ LPOLESTR pwszStatusText);
  8584.  
  8585.  
  8586. void __RPC_STUB IDBAsynchNotify_RemoteOnProgress_Stub(
  8587.     IRpcStubBuffer *This,
  8588.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8589.     PRPC_MESSAGE _pRpcMessage,
  8590.     DWORD *_pdwStubPhase);
  8591.  
  8592.  
  8593. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_RemoteOnStop_Proxy( 
  8594.     IDBAsynchNotify __RPC_FAR * This,
  8595.     /* [in] */ HCHAPTER hChapter,
  8596.     /* [in] */ DBASYNCHOP eOperation,
  8597.     /* [in] */ HRESULT hrStatus,
  8598.     /* [string][unique][in] */ LPOLESTR pwszStatusText);
  8599.  
  8600.  
  8601. void __RPC_STUB IDBAsynchNotify_RemoteOnStop_Stub(
  8602.     IRpcStubBuffer *This,
  8603.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8604.     PRPC_MESSAGE _pRpcMessage,
  8605.     DWORD *_pdwStubPhase);
  8606.  
  8607.  
  8608.  
  8609. #endif     /* __IDBAsynchNotify_INTERFACE_DEFINED__ */
  8610.  
  8611.  
  8612. #ifndef __IDBAsynchStatus_INTERFACE_DEFINED__
  8613. #define __IDBAsynchStatus_INTERFACE_DEFINED__
  8614.  
  8615. /* interface IDBAsynchStatus */
  8616. /* [unique][uuid][object] */ 
  8617.  
  8618.  
  8619. EXTERN_C const IID IID_IDBAsynchStatus;
  8620.  
  8621. #if defined(__cplusplus) && !defined(CINTERFACE)
  8622.     
  8623.     MIDL_INTERFACE("0c733a95-2a1c-11ce-ade5-00aa0044773d")
  8624.     IDBAsynchStatus : public IUnknown
  8625.     {
  8626.     public:
  8627.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Abort( 
  8628.             /* [in] */ HCHAPTER hChapter,
  8629.             /* [in] */ DBASYNCHOP eOperation) = 0;
  8630.         
  8631.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetStatus( 
  8632.             /* [in] */ HCHAPTER hChapter,
  8633.             /* [in] */ DBASYNCHOP eOperation,
  8634.             /* [out] */ DBCOUNTITEM __RPC_FAR *pulProgress,
  8635.             /* [out] */ DBCOUNTITEM __RPC_FAR *pulProgressMax,
  8636.             /* [out] */ DBASYNCHPHASE __RPC_FAR *peAsynchPhase,
  8637.             /* [out] */ LPOLESTR __RPC_FAR *ppwszStatusText) = 0;
  8638.         
  8639.     };
  8640.     
  8641. #else     /* C style interface */
  8642.  
  8643.     typedef struct IDBAsynchStatusVtbl
  8644.     {
  8645.         BEGIN_INTERFACE
  8646.         
  8647.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8648.             IDBAsynchStatus __RPC_FAR * This,
  8649.             /* [in] */ REFIID riid,
  8650.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8651.         
  8652.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8653.             IDBAsynchStatus __RPC_FAR * This);
  8654.         
  8655.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8656.             IDBAsynchStatus __RPC_FAR * This);
  8657.         
  8658.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Abort )( 
  8659.             IDBAsynchStatus __RPC_FAR * This,
  8660.             /* [in] */ HCHAPTER hChapter,
  8661.             /* [in] */ DBASYNCHOP eOperation);
  8662.         
  8663.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatus )( 
  8664.             IDBAsynchStatus __RPC_FAR * This,
  8665.             /* [in] */ HCHAPTER hChapter,
  8666.             /* [in] */ DBASYNCHOP eOperation,
  8667.             /* [out] */ DBCOUNTITEM __RPC_FAR *pulProgress,
  8668.             /* [out] */ DBCOUNTITEM __RPC_FAR *pulProgressMax,
  8669.             /* [out] */ DBASYNCHPHASE __RPC_FAR *peAsynchPhase,
  8670.             /* [out] */ LPOLESTR __RPC_FAR *ppwszStatusText);
  8671.         
  8672.         END_INTERFACE
  8673.     } IDBAsynchStatusVtbl;
  8674.  
  8675.     interface IDBAsynchStatus
  8676.     {
  8677.         CONST_VTBL struct IDBAsynchStatusVtbl __RPC_FAR *lpVtbl;
  8678.     };
  8679.  
  8680.     
  8681.  
  8682. #ifdef COBJMACROS
  8683.  
  8684.  
  8685. #define IDBAsynchStatus_QueryInterface(This,riid,ppvObject)    \
  8686.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8687.  
  8688. #define IDBAsynchStatus_AddRef(This)    \
  8689.     (This)->lpVtbl -> AddRef(This)
  8690.  
  8691. #define IDBAsynchStatus_Release(This)    \
  8692.     (This)->lpVtbl -> Release(This)
  8693.  
  8694.  
  8695. #define IDBAsynchStatus_Abort(This,hChapter,eOperation)    \
  8696.     (This)->lpVtbl -> Abort(This,hChapter,eOperation)
  8697.  
  8698. #define IDBAsynchStatus_GetStatus(This,hChapter,eOperation,pulProgress,pulProgressMax,peAsynchPhase,ppwszStatusText)    \
  8699.     (This)->lpVtbl -> GetStatus(This,hChapter,eOperation,pulProgress,pulProgressMax,peAsynchPhase,ppwszStatusText)
  8700.  
  8701. #endif /* COBJMACROS */
  8702.  
  8703.  
  8704. #endif     /* C style interface */
  8705.  
  8706.  
  8707.  
  8708. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchStatus_RemoteAbort_Proxy( 
  8709.     IDBAsynchStatus __RPC_FAR * This,
  8710.     /* [in] */ HCHAPTER hChapter,
  8711.     /* [in] */ DBASYNCHOP eOperation,
  8712.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  8713.  
  8714.  
  8715. void __RPC_STUB IDBAsynchStatus_RemoteAbort_Stub(
  8716.     IRpcStubBuffer *This,
  8717.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8718.     PRPC_MESSAGE _pRpcMessage,
  8719.     DWORD *_pdwStubPhase);
  8720.  
  8721.  
  8722. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchStatus_RemoteGetStatus_Proxy( 
  8723.     IDBAsynchStatus __RPC_FAR * This,
  8724.     /* [in] */ HCHAPTER hChapter,
  8725.     /* [in] */ DBASYNCHOP eOperation,
  8726.     /* [out] */ DBCOUNTITEM __RPC_FAR *pulProgress,
  8727.     /* [out] */ DBCOUNTITEM __RPC_FAR *pulProgressMax,
  8728.     /* [out] */ DBASYNCHPHASE __RPC_FAR *peAsynchPhase,
  8729.     /* [out] */ LPOLESTR __RPC_FAR *ppwszStatusText,
  8730.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  8731.  
  8732.  
  8733. void __RPC_STUB IDBAsynchStatus_RemoteGetStatus_Stub(
  8734.     IRpcStubBuffer *This,
  8735.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8736.     PRPC_MESSAGE _pRpcMessage,
  8737.     DWORD *_pdwStubPhase);
  8738.  
  8739.  
  8740.  
  8741. #endif     /* __IDBAsynchStatus_INTERFACE_DEFINED__ */
  8742.  
  8743.  
  8744. /* interface __MIDL_itf_oledb_0296 */
  8745. /* [local] */ 
  8746.  
  8747. #endif // OLEDBVER >= 0x0150
  8748. //@@@- V1.5
  8749.  
  8750.  
  8751. extern RPC_IF_HANDLE __MIDL_itf_oledb_0296_v0_0_c_ifspec;
  8752. extern RPC_IF_HANDLE __MIDL_itf_oledb_0296_v0_0_s_ifspec;
  8753.  
  8754. #ifndef __ISessionProperties_INTERFACE_DEFINED__
  8755. #define __ISessionProperties_INTERFACE_DEFINED__
  8756.  
  8757. /* interface ISessionProperties */
  8758. /* [unique][uuid][object] */ 
  8759.  
  8760.  
  8761. EXTERN_C const IID IID_ISessionProperties;
  8762.  
  8763. #if defined(__cplusplus) && !defined(CINTERFACE)
  8764.     
  8765.     MIDL_INTERFACE("0c733a85-2a1c-11ce-ade5-00aa0044773d")
  8766.     ISessionProperties : public IUnknown
  8767.     {
  8768.     public:
  8769.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetProperties( 
  8770.             /* [in] */ ULONG cPropertyIDSets,
  8771.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  8772.             /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  8773.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets) = 0;
  8774.         
  8775.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetProperties( 
  8776.             /* [in] */ ULONG cPropertySets,
  8777.             /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]) = 0;
  8778.         
  8779.     };
  8780.     
  8781. #else     /* C style interface */
  8782.  
  8783.     typedef struct ISessionPropertiesVtbl
  8784.     {
  8785.         BEGIN_INTERFACE
  8786.         
  8787.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8788.             ISessionProperties __RPC_FAR * This,
  8789.             /* [in] */ REFIID riid,
  8790.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8791.         
  8792.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8793.             ISessionProperties __RPC_FAR * This);
  8794.         
  8795.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8796.             ISessionProperties __RPC_FAR * This);
  8797.         
  8798.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProperties )( 
  8799.             ISessionProperties __RPC_FAR * This,
  8800.             /* [in] */ ULONG cPropertyIDSets,
  8801.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  8802.             /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  8803.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets);
  8804.         
  8805.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProperties )( 
  8806.             ISessionProperties __RPC_FAR * This,
  8807.             /* [in] */ ULONG cPropertySets,
  8808.             /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  8809.         
  8810.         END_INTERFACE
  8811.     } ISessionPropertiesVtbl;
  8812.  
  8813.     interface ISessionProperties
  8814.     {
  8815.         CONST_VTBL struct ISessionPropertiesVtbl __RPC_FAR *lpVtbl;
  8816.     };
  8817.  
  8818.     
  8819.  
  8820. #ifdef COBJMACROS
  8821.  
  8822.  
  8823. #define ISessionProperties_QueryInterface(This,riid,ppvObject)    \
  8824.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8825.  
  8826. #define ISessionProperties_AddRef(This)    \
  8827.     (This)->lpVtbl -> AddRef(This)
  8828.  
  8829. #define ISessionProperties_Release(This)    \
  8830.     (This)->lpVtbl -> Release(This)
  8831.  
  8832.  
  8833. #define ISessionProperties_GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)    \
  8834.     (This)->lpVtbl -> GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  8835.  
  8836. #define ISessionProperties_SetProperties(This,cPropertySets,rgPropertySets)    \
  8837.     (This)->lpVtbl -> SetProperties(This,cPropertySets,rgPropertySets)
  8838.  
  8839. #endif /* COBJMACROS */
  8840.  
  8841.  
  8842. #endif     /* C style interface */
  8843.  
  8844.  
  8845.  
  8846. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISessionProperties_RemoteGetProperties_Proxy( 
  8847.     ISessionProperties __RPC_FAR * This,
  8848.     /* [in] */ ULONG cPropertyIDSets,
  8849.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  8850.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  8851.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets,
  8852.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  8853.  
  8854.  
  8855. void __RPC_STUB ISessionProperties_RemoteGetProperties_Stub(
  8856.     IRpcStubBuffer *This,
  8857.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8858.     PRPC_MESSAGE _pRpcMessage,
  8859.     DWORD *_pdwStubPhase);
  8860.  
  8861.  
  8862. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISessionProperties_RemoteSetProperties_Proxy( 
  8863.     ISessionProperties __RPC_FAR * This,
  8864.     /* [in] */ ULONG cPropertySets,
  8865.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  8866.     /* [in] */ ULONG cTotalProps,
  8867.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  8868.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  8869.  
  8870.  
  8871. void __RPC_STUB ISessionProperties_RemoteSetProperties_Stub(
  8872.     IRpcStubBuffer *This,
  8873.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8874.     PRPC_MESSAGE _pRpcMessage,
  8875.     DWORD *_pdwStubPhase);
  8876.  
  8877.  
  8878.  
  8879. #endif     /* __ISessionProperties_INTERFACE_DEFINED__ */
  8880.  
  8881.  
  8882. #ifndef __IIndexDefinition_INTERFACE_DEFINED__
  8883. #define __IIndexDefinition_INTERFACE_DEFINED__
  8884.  
  8885. /* interface IIndexDefinition */
  8886. /* [unique][uuid][object] */ 
  8887.  
  8888.  
  8889. EXTERN_C const IID IID_IIndexDefinition;
  8890.  
  8891. #if defined(__cplusplus) && !defined(CINTERFACE)
  8892.     
  8893.     MIDL_INTERFACE("0c733a68-2a1c-11ce-ade5-00aa0044773d")
  8894.     IIndexDefinition : public IUnknown
  8895.     {
  8896.     public:
  8897.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateIndex( 
  8898.             /* [in] */ DBID __RPC_FAR *pTableID,
  8899.             /* [in] */ DBID __RPC_FAR *pIndexID,
  8900.             /* [in] */ DBORDINAL cIndexColumnDescs,
  8901.             /* [size_is][in] */ const DBINDEXCOLUMNDESC __RPC_FAR rgIndexColumnDescs[  ],
  8902.             /* [in] */ ULONG cPropertySets,
  8903.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  8904.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppIndexID) = 0;
  8905.         
  8906.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE DropIndex( 
  8907.             /* [unique][in] */ DBID __RPC_FAR *pTableID,
  8908.             /* [unique][in] */ DBID __RPC_FAR *pIndexID) = 0;
  8909.         
  8910.     };
  8911.     
  8912. #else     /* C style interface */
  8913.  
  8914.     typedef struct IIndexDefinitionVtbl
  8915.     {
  8916.         BEGIN_INTERFACE
  8917.         
  8918.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8919.             IIndexDefinition __RPC_FAR * This,
  8920.             /* [in] */ REFIID riid,
  8921.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8922.         
  8923.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8924.             IIndexDefinition __RPC_FAR * This);
  8925.         
  8926.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8927.             IIndexDefinition __RPC_FAR * This);
  8928.         
  8929.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateIndex )( 
  8930.             IIndexDefinition __RPC_FAR * This,
  8931.             /* [in] */ DBID __RPC_FAR *pTableID,
  8932.             /* [in] */ DBID __RPC_FAR *pIndexID,
  8933.             /* [in] */ DBORDINAL cIndexColumnDescs,
  8934.             /* [size_is][in] */ const DBINDEXCOLUMNDESC __RPC_FAR rgIndexColumnDescs[  ],
  8935.             /* [in] */ ULONG cPropertySets,
  8936.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  8937.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppIndexID);
  8938.         
  8939.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DropIndex )( 
  8940.             IIndexDefinition __RPC_FAR * This,
  8941.             /* [unique][in] */ DBID __RPC_FAR *pTableID,
  8942.             /* [unique][in] */ DBID __RPC_FAR *pIndexID);
  8943.         
  8944.         END_INTERFACE
  8945.     } IIndexDefinitionVtbl;
  8946.  
  8947.     interface IIndexDefinition
  8948.     {
  8949.         CONST_VTBL struct IIndexDefinitionVtbl __RPC_FAR *lpVtbl;
  8950.     };
  8951.  
  8952.     
  8953.  
  8954. #ifdef COBJMACROS
  8955.  
  8956.  
  8957. #define IIndexDefinition_QueryInterface(This,riid,ppvObject)    \
  8958.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8959.  
  8960. #define IIndexDefinition_AddRef(This)    \
  8961.     (This)->lpVtbl -> AddRef(This)
  8962.  
  8963. #define IIndexDefinition_Release(This)    \
  8964.     (This)->lpVtbl -> Release(This)
  8965.  
  8966.  
  8967. #define IIndexDefinition_CreateIndex(This,pTableID,pIndexID,cIndexColumnDescs,rgIndexColumnDescs,cPropertySets,rgPropertySets,ppIndexID)    \
  8968.     (This)->lpVtbl -> CreateIndex(This,pTableID,pIndexID,cIndexColumnDescs,rgIndexColumnDescs,cPropertySets,rgPropertySets,ppIndexID)
  8969.  
  8970. #define IIndexDefinition_DropIndex(This,pTableID,pIndexID)    \
  8971.     (This)->lpVtbl -> DropIndex(This,pTableID,pIndexID)
  8972.  
  8973. #endif /* COBJMACROS */
  8974.  
  8975.  
  8976. #endif     /* C style interface */
  8977.  
  8978.  
  8979.  
  8980. /* [call_as] */ HRESULT STDMETHODCALLTYPE IIndexDefinition_RemoteCreateIndex_Proxy( 
  8981.     IIndexDefinition __RPC_FAR * This,
  8982.     /* [in] */ DBID __RPC_FAR *pTableID,
  8983.     /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  8984.     /* [in] */ DBORDINAL cIndexColumnDescs,
  8985.     /* [size_is][in] */ const DBINDEXCOLUMNDESC __RPC_FAR *rgIndexColumnDescs,
  8986.     /* [in] */ ULONG cPropertySets,
  8987.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  8988.     /* [unique][out][in] */ DBID __RPC_FAR *__RPC_FAR *ppIndexID,
  8989.     /* [in] */ ULONG cTotalProps,
  8990.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  8991.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  8992.  
  8993.  
  8994. void __RPC_STUB IIndexDefinition_RemoteCreateIndex_Stub(
  8995.     IRpcStubBuffer *This,
  8996.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8997.     PRPC_MESSAGE _pRpcMessage,
  8998.     DWORD *_pdwStubPhase);
  8999.  
  9000.  
  9001. /* [call_as] */ HRESULT STDMETHODCALLTYPE IIndexDefinition_RemoteDropIndex_Proxy( 
  9002.     IIndexDefinition __RPC_FAR * This,
  9003.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  9004.     /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  9005.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  9006.  
  9007.  
  9008. void __RPC_STUB IIndexDefinition_RemoteDropIndex_Stub(
  9009.     IRpcStubBuffer *This,
  9010.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9011.     PRPC_MESSAGE _pRpcMessage,
  9012.     DWORD *_pdwStubPhase);
  9013.  
  9014.  
  9015.  
  9016. #endif     /* __IIndexDefinition_INTERFACE_DEFINED__ */
  9017.  
  9018.  
  9019. #ifndef __ITableDefinition_INTERFACE_DEFINED__
  9020. #define __ITableDefinition_INTERFACE_DEFINED__
  9021.  
  9022. /* interface ITableDefinition */
  9023. /* [unique][uuid][object] */ 
  9024.  
  9025.  
  9026. EXTERN_C const IID IID_ITableDefinition;
  9027.  
  9028. #if defined(__cplusplus) && !defined(CINTERFACE)
  9029.     
  9030.     MIDL_INTERFACE("0c733a86-2a1c-11ce-ade5-00aa0044773d")
  9031.     ITableDefinition : public IUnknown
  9032.     {
  9033.     public:
  9034.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateTable( 
  9035.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  9036.             /* [in] */ DBID __RPC_FAR *pTableID,
  9037.             /* [in] */ DBORDINAL cColumnDescs,
  9038.             /* [size_is][in] */ const DBCOLUMNDESC __RPC_FAR rgColumnDescs[  ],
  9039.             /* [in] */ REFIID riid,
  9040.             /* [in] */ ULONG cPropertySets,
  9041.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  9042.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppTableID,
  9043.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  9044.         
  9045.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE DropTable( 
  9046.             /* [unique][in] */ DBID __RPC_FAR *pTableID) = 0;
  9047.         
  9048.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddColumn( 
  9049.             /* [in] */ DBID __RPC_FAR *pTableID,
  9050.             /* [out][in] */ DBCOLUMNDESC __RPC_FAR *pColumnDesc,
  9051.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppColumnID) = 0;
  9052.         
  9053.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE DropColumn( 
  9054.             /* [unique][in] */ DBID __RPC_FAR *pTableID,
  9055.             /* [unique][in] */ DBID __RPC_FAR *pColumnID) = 0;
  9056.         
  9057.     };
  9058.     
  9059. #else     /* C style interface */
  9060.  
  9061.     typedef struct ITableDefinitionVtbl
  9062.     {
  9063.         BEGIN_INTERFACE
  9064.         
  9065.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9066.             ITableDefinition __RPC_FAR * This,
  9067.             /* [in] */ REFIID riid,
  9068.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9069.         
  9070.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9071.             ITableDefinition __RPC_FAR * This);
  9072.         
  9073.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9074.             ITableDefinition __RPC_FAR * This);
  9075.         
  9076.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateTable )( 
  9077.             ITableDefinition __RPC_FAR * This,
  9078.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  9079.             /* [in] */ DBID __RPC_FAR *pTableID,
  9080.             /* [in] */ DBORDINAL cColumnDescs,
  9081.             /* [size_is][in] */ const DBCOLUMNDESC __RPC_FAR rgColumnDescs[  ],
  9082.             /* [in] */ REFIID riid,
  9083.             /* [in] */ ULONG cPropertySets,
  9084.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  9085.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppTableID,
  9086.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  9087.         
  9088.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DropTable )( 
  9089.             ITableDefinition __RPC_FAR * This,
  9090.             /* [unique][in] */ DBID __RPC_FAR *pTableID);
  9091.         
  9092.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddColumn )( 
  9093.             ITableDefinition __RPC_FAR * This,
  9094.             /* [in] */ DBID __RPC_FAR *pTableID,
  9095.             /* [out][in] */ DBCOLUMNDESC __RPC_FAR *pColumnDesc,
  9096.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppColumnID);
  9097.         
  9098.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DropColumn )( 
  9099.             ITableDefinition __RPC_FAR * This,
  9100.             /* [unique][in] */ DBID __RPC_FAR *pTableID,
  9101.             /* [unique][in] */ DBID __RPC_FAR *pColumnID);
  9102.         
  9103.         END_INTERFACE
  9104.     } ITableDefinitionVtbl;
  9105.  
  9106.     interface ITableDefinition
  9107.     {
  9108.         CONST_VTBL struct ITableDefinitionVtbl __RPC_FAR *lpVtbl;
  9109.     };
  9110.  
  9111.     
  9112.  
  9113. #ifdef COBJMACROS
  9114.  
  9115.  
  9116. #define ITableDefinition_QueryInterface(This,riid,ppvObject)    \
  9117.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9118.  
  9119. #define ITableDefinition_AddRef(This)    \
  9120.     (This)->lpVtbl -> AddRef(This)
  9121.  
  9122. #define ITableDefinition_Release(This)    \
  9123.     (This)->lpVtbl -> Release(This)
  9124.  
  9125.  
  9126. #define ITableDefinition_CreateTable(This,pUnkOuter,pTableID,cColumnDescs,rgColumnDescs,riid,cPropertySets,rgPropertySets,ppTableID,ppRowset)    \
  9127.     (This)->lpVtbl -> CreateTable(This,pUnkOuter,pTableID,cColumnDescs,rgColumnDescs,riid,cPropertySets,rgPropertySets,ppTableID,ppRowset)
  9128.  
  9129. #define ITableDefinition_DropTable(This,pTableID)    \
  9130.     (This)->lpVtbl -> DropTable(This,pTableID)
  9131.  
  9132. #define ITableDefinition_AddColumn(This,pTableID,pColumnDesc,ppColumnID)    \
  9133.     (This)->lpVtbl -> AddColumn(This,pTableID,pColumnDesc,ppColumnID)
  9134.  
  9135. #define ITableDefinition_DropColumn(This,pTableID,pColumnID)    \
  9136.     (This)->lpVtbl -> DropColumn(This,pTableID,pColumnID)
  9137.  
  9138. #endif /* COBJMACROS */
  9139.  
  9140.  
  9141. #endif     /* C style interface */
  9142.  
  9143.  
  9144.  
  9145. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_RemoteCreateTable_Proxy( 
  9146.     ITableDefinition __RPC_FAR * This,
  9147.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  9148.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  9149.     /* [in] */ DBORDINAL cColumnDescs,
  9150.     /* [size_is][in] */ const DBCOLUMNDESC __RPC_FAR *rgColumnDescs,
  9151.     /* [in] */ REFIID riid,
  9152.     /* [in] */ ULONG cPropertySets,
  9153.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  9154.     /* [unique][out][in] */ DBID __RPC_FAR *__RPC_FAR *ppTableID,
  9155.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  9156.     /* [in] */ ULONG cTotalProps,
  9157.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  9158.     /* [out] */ BOOL __RPC_FAR *pfTableCreated,
  9159.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  9160.  
  9161.  
  9162. void __RPC_STUB ITableDefinition_RemoteCreateTable_Stub(
  9163.     IRpcStubBuffer *This,
  9164.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9165.     PRPC_MESSAGE _pRpcMessage,
  9166.     DWORD *_pdwStubPhase);
  9167.  
  9168.  
  9169. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_RemoteDropTable_Proxy( 
  9170.     ITableDefinition __RPC_FAR * This,
  9171.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  9172.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  9173.  
  9174.  
  9175. void __RPC_STUB ITableDefinition_RemoteDropTable_Stub(
  9176.     IRpcStubBuffer *This,
  9177.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9178.     PRPC_MESSAGE _pRpcMessage,
  9179.     DWORD *_pdwStubPhase);
  9180.  
  9181.  
  9182. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_RemoteAddColumn_Proxy( 
  9183.     ITableDefinition __RPC_FAR * This,
  9184.     /* [in] */ DBID __RPC_FAR *pTableID,
  9185.     /* [in] */ DBCOLUMNDESC __RPC_FAR *pColumnDesc,
  9186.     /* [unique][out][in] */ DBID __RPC_FAR *__RPC_FAR *ppColumnID,
  9187.     /* [in] */ ULONG cTotalProps,
  9188.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  9189.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  9190.  
  9191.  
  9192. void __RPC_STUB ITableDefinition_RemoteAddColumn_Stub(
  9193.     IRpcStubBuffer *This,
  9194.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9195.     PRPC_MESSAGE _pRpcMessage,
  9196.     DWORD *_pdwStubPhase);
  9197.  
  9198.  
  9199. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_RemoteDropColumn_Proxy( 
  9200.     ITableDefinition __RPC_FAR * This,
  9201.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  9202.     /* [unique][in] */ DBID __RPC_FAR *pColumnID,
  9203.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  9204.  
  9205.  
  9206. void __RPC_STUB ITableDefinition_RemoteDropColumn_Stub(
  9207.     IRpcStubBuffer *This,
  9208.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9209.     PRPC_MESSAGE _pRpcMessage,
  9210.     DWORD *_pdwStubPhase);
  9211.  
  9212.  
  9213.  
  9214. #endif     /* __ITableDefinition_INTERFACE_DEFINED__ */
  9215.  
  9216.  
  9217. #ifndef __IOpenRowset_INTERFACE_DEFINED__
  9218. #define __IOpenRowset_INTERFACE_DEFINED__
  9219.  
  9220. /* interface IOpenRowset */
  9221. /* [unique][uuid][object] */ 
  9222.  
  9223.  
  9224. EXTERN_C const IID IID_IOpenRowset;
  9225.  
  9226. #if defined(__cplusplus) && !defined(CINTERFACE)
  9227.     
  9228.     MIDL_INTERFACE("0c733a69-2a1c-11ce-ade5-00aa0044773d")
  9229.     IOpenRowset : public IUnknown
  9230.     {
  9231.     public:
  9232.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OpenRowset( 
  9233.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  9234.             /* [unique][in] */ DBID __RPC_FAR *pTableID,
  9235.             /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  9236.             /* [in] */ REFIID riid,
  9237.             /* [in] */ ULONG cPropertySets,
  9238.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  9239.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  9240.         
  9241.     };
  9242.     
  9243. #else     /* C style interface */
  9244.  
  9245.     typedef struct IOpenRowsetVtbl
  9246.     {
  9247.         BEGIN_INTERFACE
  9248.         
  9249.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9250.             IOpenRowset __RPC_FAR * This,
  9251.             /* [in] */ REFIID riid,
  9252.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9253.         
  9254.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9255.             IOpenRowset __RPC_FAR * This);
  9256.         
  9257.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9258.             IOpenRowset __RPC_FAR * This);
  9259.         
  9260.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenRowset )( 
  9261.             IOpenRowset __RPC_FAR * This,
  9262.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  9263.             /* [unique][in] */ DBID __RPC_FAR *pTableID,
  9264.             /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  9265.             /* [in] */ REFIID riid,
  9266.             /* [in] */ ULONG cPropertySets,
  9267.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  9268.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  9269.         
  9270.         END_INTERFACE
  9271.     } IOpenRowsetVtbl;
  9272.  
  9273.     interface IOpenRowset
  9274.     {
  9275.         CONST_VTBL struct IOpenRowsetVtbl __RPC_FAR *lpVtbl;
  9276.     };
  9277.  
  9278.     
  9279.  
  9280. #ifdef COBJMACROS
  9281.  
  9282.  
  9283. #define IOpenRowset_QueryInterface(This,riid,ppvObject)    \
  9284.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9285.  
  9286. #define IOpenRowset_AddRef(This)    \
  9287.     (This)->lpVtbl -> AddRef(This)
  9288.  
  9289. #define IOpenRowset_Release(This)    \
  9290.     (This)->lpVtbl -> Release(This)
  9291.  
  9292.  
  9293. #define IOpenRowset_OpenRowset(This,pUnkOuter,pTableID,pIndexID,riid,cPropertySets,rgPropertySets,ppRowset)    \
  9294.     (This)->lpVtbl -> OpenRowset(This,pUnkOuter,pTableID,pIndexID,riid,cPropertySets,rgPropertySets,ppRowset)
  9295.  
  9296. #endif /* COBJMACROS */
  9297.  
  9298.  
  9299. #endif     /* C style interface */
  9300.  
  9301.  
  9302.  
  9303. /* [call_as] */ HRESULT STDMETHODCALLTYPE IOpenRowset_RemoteOpenRowset_Proxy( 
  9304.     IOpenRowset __RPC_FAR * This,
  9305.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  9306.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  9307.     /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  9308.     /* [in] */ REFIID riid,
  9309.     /* [in] */ ULONG cPropertySets,
  9310.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  9311.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  9312.     /* [in] */ ULONG cTotalProps,
  9313.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  9314.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  9315.  
  9316.  
  9317. void __RPC_STUB IOpenRowset_RemoteOpenRowset_Stub(
  9318.     IRpcStubBuffer *This,
  9319.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9320.     PRPC_MESSAGE _pRpcMessage,
  9321.     DWORD *_pdwStubPhase);
  9322.  
  9323.  
  9324.  
  9325. #endif     /* __IOpenRowset_INTERFACE_DEFINED__ */
  9326.  
  9327.  
  9328. #ifndef __IDBSchemaRowset_INTERFACE_DEFINED__
  9329. #define __IDBSchemaRowset_INTERFACE_DEFINED__
  9330.  
  9331. /* interface IDBSchemaRowset */
  9332. /* [unique][uuid][object] */ 
  9333.  
  9334. #define CRESTRICTIONS_DBSCHEMA_ASSERTIONS                      3
  9335. #define CRESTRICTIONS_DBSCHEMA_CATALOGS                        1
  9336. #define CRESTRICTIONS_DBSCHEMA_CHARACTER_SETS                  3
  9337. #define CRESTRICTIONS_DBSCHEMA_COLLATIONS                      3
  9338. #define CRESTRICTIONS_DBSCHEMA_COLUMNS                         4
  9339. #define CRESTRICTIONS_DBSCHEMA_CHECK_CONSTRAINTS               3
  9340. #define CRESTRICTIONS_DBSCHEMA_CONSTRAINT_COLUMN_USAGE         4
  9341. #define CRESTRICTIONS_DBSCHEMA_CONSTRAINT_TABLE_USAGE          3
  9342. #define CRESTRICTIONS_DBSCHEMA_KEY_COLUMN_USAGE                7
  9343. #define CRESTRICTIONS_DBSCHEMA_REFERENTIAL_CONSTRAINTS         3
  9344. #define CRESTRICTIONS_DBSCHEMA_TABLE_CONSTRAINTS               7
  9345. #define CRESTRICTIONS_DBSCHEMA_COLUMN_DOMAIN_USAGE             4
  9346. #define CRESTRICTIONS_DBSCHEMA_INDEXES                         5
  9347. #define CRESTRICTIONS_DBSCHEMA_OBJECT_ACTIONS                  1
  9348. #define CRESTRICTIONS_DBSCHEMA_OBJECTS                         1
  9349. #define CRESTRICTIONS_DBSCHEMA_COLUMN_PRIVILEGES               6
  9350. #define CRESTRICTIONS_DBSCHEMA_TABLE_PRIVILEGES                5
  9351. #define CRESTRICTIONS_DBSCHEMA_USAGE_PRIVILEGES                6
  9352. #define CRESTRICTIONS_DBSCHEMA_PROCEDURES                      4
  9353. #define CRESTRICTIONS_DBSCHEMA_SCHEMATA                        3
  9354. #define CRESTRICTIONS_DBSCHEMA_SQL_LANGUAGES                   0
  9355. #define CRESTRICTIONS_DBSCHEMA_STATISTICS                      3
  9356. #define CRESTRICTIONS_DBSCHEMA_TABLES                          4
  9357. #define CRESTRICTIONS_DBSCHEMA_TRANSLATIONS                    3
  9358. #define CRESTRICTIONS_DBSCHEMA_PROVIDER_TYPES                  2
  9359. #define CRESTRICTIONS_DBSCHEMA_VIEWS                           3
  9360. #define CRESTRICTIONS_DBSCHEMA_VIEW_COLUMN_USAGE               3
  9361. #define CRESTRICTIONS_DBSCHEMA_VIEW_TABLE_USAGE                3
  9362. #define CRESTRICTIONS_DBSCHEMA_PROCEDURE_PARAMETERS            4
  9363. #define CRESTRICTIONS_DBSCHEMA_FOREIGN_KEYS                    6
  9364. #define CRESTRICTIONS_DBSCHEMA_PRIMARY_KEYS                    3
  9365. #define CRESTRICTIONS_DBSCHEMA_PROCEDURE_COLUMNS               4
  9366. //@@@+ V2.0
  9367. #if( OLEDBVER >= 0x0200 )
  9368. #define CRESTRICTIONS_DBSCHEMA_TABLES_INFO                     4
  9369. #define CRESTRICTIONS_MDSCHEMA_CUBES                           3
  9370. #define CRESTRICTIONS_MDSCHEMA_DIMENSIONS                      5
  9371. #define CRESTRICTIONS_MDSCHEMA_HIERARCHIES                     6
  9372. #define CRESTRICTIONS_MDSCHEMA_LEVELS                          7
  9373. #define CRESTRICTIONS_MDSCHEMA_MEASURES                        5
  9374. #define CRESTRICTIONS_MDSCHEMA_PROPERTIES                      9
  9375. #define CRESTRICTIONS_MDSCHEMA_MEMBERS                         12
  9376. #endif // OLEDBVER >= 0x0200
  9377. //@@@- V2.0
  9378. //@@@+ V2.1
  9379. #if( OLEDBVER >= 0x0210 )
  9380. #define CRESTRICTIONS_DBSCHEMA_TRUSTEE                             4
  9381. #endif // OLEDBVER >= 0x0210
  9382. //@@@- V2.1
  9383.  
  9384. EXTERN_C const IID IID_IDBSchemaRowset;
  9385.  
  9386. #if defined(__cplusplus) && !defined(CINTERFACE)
  9387.     
  9388.     MIDL_INTERFACE("0c733a7b-2a1c-11ce-ade5-00aa0044773d")
  9389.     IDBSchemaRowset : public IUnknown
  9390.     {
  9391.     public:
  9392.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetRowset( 
  9393.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  9394.             /* [in] */ REFGUID rguidSchema,
  9395.             /* [in] */ ULONG cRestrictions,
  9396.             /* [size_is][in] */ const VARIANT __RPC_FAR rgRestrictions[  ],
  9397.             /* [in] */ REFIID riid,
  9398.             /* [in] */ ULONG cPropertySets,
  9399.             /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  9400.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  9401.         
  9402.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSchemas( 
  9403.             /* [out][in] */ ULONG __RPC_FAR *pcSchemas,
  9404.             /* [size_is][size_is][out] */ GUID __RPC_FAR *__RPC_FAR *prgSchemas,
  9405.             /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgRestrictionSupport) = 0;
  9406.         
  9407.     };
  9408.     
  9409. #else     /* C style interface */
  9410.  
  9411.     typedef struct IDBSchemaRowsetVtbl
  9412.     {
  9413.         BEGIN_INTERFACE
  9414.         
  9415.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9416.             IDBSchemaRowset __RPC_FAR * This,
  9417.             /* [in] */ REFIID riid,
  9418.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9419.         
  9420.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9421.             IDBSchemaRowset __RPC_FAR * This);
  9422.         
  9423.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9424.             IDBSchemaRowset __RPC_FAR * This);
  9425.         
  9426.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowset )( 
  9427.             IDBSchemaRowset __RPC_FAR * This,
  9428.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  9429.             /* [in] */ REFGUID rguidSchema,
  9430.             /* [in] */ ULONG cRestrictions,
  9431.             /* [size_is][in] */ const VARIANT __RPC_FAR rgRestrictions[  ],
  9432.             /* [in] */ REFIID riid,
  9433.             /* [in] */ ULONG cPropertySets,
  9434.             /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  9435.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  9436.         
  9437.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSchemas )( 
  9438.             IDBSchemaRowset __RPC_FAR * This,
  9439.             /* [out][in] */ ULONG __RPC_FAR *pcSchemas,
  9440.             /* [size_is][size_is][out] */ GUID __RPC_FAR *__RPC_FAR *prgSchemas,
  9441.             /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgRestrictionSupport);
  9442.         
  9443.         END_INTERFACE
  9444.     } IDBSchemaRowsetVtbl;
  9445.  
  9446.     interface IDBSchemaRowset
  9447.     {
  9448.         CONST_VTBL struct IDBSchemaRowsetVtbl __RPC_FAR *lpVtbl;
  9449.     };
  9450.  
  9451.     
  9452.  
  9453. #ifdef COBJMACROS
  9454.  
  9455.  
  9456. #define IDBSchemaRowset_QueryInterface(This,riid,ppvObject)    \
  9457.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9458.  
  9459. #define IDBSchemaRowset_AddRef(This)    \
  9460.     (This)->lpVtbl -> AddRef(This)
  9461.  
  9462. #define IDBSchemaRowset_Release(This)    \
  9463.     (This)->lpVtbl -> Release(This)
  9464.  
  9465.  
  9466. #define IDBSchemaRowset_GetRowset(This,pUnkOuter,rguidSchema,cRestrictions,rgRestrictions,riid,cPropertySets,rgPropertySets,ppRowset)    \
  9467.     (This)->lpVtbl -> GetRowset(This,pUnkOuter,rguidSchema,cRestrictions,rgRestrictions,riid,cPropertySets,rgPropertySets,ppRowset)
  9468.  
  9469. #define IDBSchemaRowset_GetSchemas(This,pcSchemas,prgSchemas,prgRestrictionSupport)    \
  9470.     (This)->lpVtbl -> GetSchemas(This,pcSchemas,prgSchemas,prgRestrictionSupport)
  9471.  
  9472. #endif /* COBJMACROS */
  9473.  
  9474.  
  9475. #endif     /* C style interface */
  9476.  
  9477.  
  9478.  
  9479. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBSchemaRowset_RemoteGetRowset_Proxy( 
  9480.     IDBSchemaRowset __RPC_FAR * This,
  9481.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  9482.     /* [in] */ REFGUID rguidSchema,
  9483.     /* [in] */ ULONG cRestrictions,
  9484.     /* [size_is][unique][in] */ const VARIANT __RPC_FAR *rgRestrictions,
  9485.     /* [in] */ REFIID riid,
  9486.     /* [in] */ ULONG cPropertySets,
  9487.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  9488.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  9489.     /* [in] */ ULONG cTotalProps,
  9490.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  9491.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  9492.  
  9493.  
  9494. void __RPC_STUB IDBSchemaRowset_RemoteGetRowset_Stub(
  9495.     IRpcStubBuffer *This,
  9496.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9497.     PRPC_MESSAGE _pRpcMessage,
  9498.     DWORD *_pdwStubPhase);
  9499.  
  9500.  
  9501. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBSchemaRowset_RemoteGetSchemas_Proxy( 
  9502.     IDBSchemaRowset __RPC_FAR * This,
  9503.     /* [out][in] */ ULONG __RPC_FAR *pcSchemas,
  9504.     /* [size_is][size_is][out] */ GUID __RPC_FAR *__RPC_FAR *prgSchemas,
  9505.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgRestrictionSupport,
  9506.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  9507.  
  9508.  
  9509. void __RPC_STUB IDBSchemaRowset_RemoteGetSchemas_Stub(
  9510.     IRpcStubBuffer *This,
  9511.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9512.     PRPC_MESSAGE _pRpcMessage,
  9513.     DWORD *_pdwStubPhase);
  9514.  
  9515.  
  9516.  
  9517. #endif     /* __IDBSchemaRowset_INTERFACE_DEFINED__ */
  9518.  
  9519.  
  9520. /* interface __MIDL_itf_oledb_0301 */
  9521. /* [local] */ 
  9522.  
  9523. //@@@+ V2.0
  9524. #if( OLEDBVER >= 0x0200 )
  9525.  
  9526.  
  9527. extern RPC_IF_HANDLE __MIDL_itf_oledb_0301_v0_0_c_ifspec;
  9528. extern RPC_IF_HANDLE __MIDL_itf_oledb_0301_v0_0_s_ifspec;
  9529.  
  9530. #ifndef __IMDDataset_INTERFACE_DEFINED__
  9531. #define __IMDDataset_INTERFACE_DEFINED__
  9532.  
  9533. /* interface IMDDataset */
  9534. /* [unique][uuid][object][local] */ 
  9535.  
  9536.  
  9537. EXTERN_C const IID IID_IMDDataset;
  9538.  
  9539. #if defined(__cplusplus) && !defined(CINTERFACE)
  9540.     
  9541.     MIDL_INTERFACE("a07cccd1-8148-11d0-87bb-00c04fc33942")
  9542.     IMDDataset : public IUnknown
  9543.     {
  9544.     public:
  9545.         virtual HRESULT STDMETHODCALLTYPE FreeAxisInfo( 
  9546.             /* [in] */ DBCOUNTITEM cAxes,
  9547.             /* [size_is][in] */ MDAXISINFO __RPC_FAR *rgAxisInfo) = 0;
  9548.         
  9549.         virtual HRESULT STDMETHODCALLTYPE GetAxisInfo( 
  9550.             /* [out][in] */ DBCOUNTITEM __RPC_FAR *pcAxes,
  9551.             /* [size_is][size_is][out] */ MDAXISINFO __RPC_FAR *__RPC_FAR *prgAxisInfo) = 0;
  9552.         
  9553.         virtual HRESULT STDMETHODCALLTYPE GetAxisRowset( 
  9554.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  9555.             /* [in] */ DBCOUNTITEM iAxis,
  9556.             /* [in] */ REFIID riid,
  9557.             /* [in] */ ULONG cPropertySets,
  9558.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  9559.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  9560.         
  9561.         virtual HRESULT STDMETHODCALLTYPE GetCellData( 
  9562.             /* [in] */ HACCESSOR hAccessor,
  9563.             /* [in] */ DBORDINAL ulStartCell,
  9564.             /* [in] */ DBORDINAL ulEndCell,
  9565.             /* [out] */ void __RPC_FAR *pData) = 0;
  9566.         
  9567.         virtual HRESULT STDMETHODCALLTYPE GetSpecification( 
  9568.             /* [in] */ REFIID riid,
  9569.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSpecification) = 0;
  9570.         
  9571.     };
  9572.     
  9573. #else     /* C style interface */
  9574.  
  9575.     typedef struct IMDDatasetVtbl
  9576.     {
  9577.         BEGIN_INTERFACE
  9578.         
  9579.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9580.             IMDDataset __RPC_FAR * This,
  9581.             /* [in] */ REFIID riid,
  9582.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9583.         
  9584.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9585.             IMDDataset __RPC_FAR * This);
  9586.         
  9587.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9588.             IMDDataset __RPC_FAR * This);
  9589.         
  9590.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FreeAxisInfo )( 
  9591.             IMDDataset __RPC_FAR * This,
  9592.             /* [in] */ DBCOUNTITEM cAxes,
  9593.             /* [size_is][in] */ MDAXISINFO __RPC_FAR *rgAxisInfo);
  9594.         
  9595.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAxisInfo )( 
  9596.             IMDDataset __RPC_FAR * This,
  9597.             /* [out][in] */ DBCOUNTITEM __RPC_FAR *pcAxes,
  9598.             /* [size_is][size_is][out] */ MDAXISINFO __RPC_FAR *__RPC_FAR *prgAxisInfo);
  9599.         
  9600.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAxisRowset )( 
  9601.             IMDDataset __RPC_FAR * This,
  9602.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  9603.             /* [in] */ DBCOUNTITEM iAxis,
  9604.             /* [in] */ REFIID riid,
  9605.             /* [in] */ ULONG cPropertySets,
  9606.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  9607.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  9608.         
  9609.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCellData )( 
  9610.             IMDDataset __RPC_FAR * This,
  9611.             /* [in] */ HACCESSOR hAccessor,
  9612.             /* [in] */ DBORDINAL ulStartCell,
  9613.             /* [in] */ DBORDINAL ulEndCell,
  9614.             /* [out] */ void __RPC_FAR *pData);
  9615.         
  9616.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSpecification )( 
  9617.             IMDDataset __RPC_FAR * This,
  9618.             /* [in] */ REFIID riid,
  9619.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSpecification);
  9620.         
  9621.         END_INTERFACE
  9622.     } IMDDatasetVtbl;
  9623.  
  9624.     interface IMDDataset
  9625.     {
  9626.         CONST_VTBL struct IMDDatasetVtbl __RPC_FAR *lpVtbl;
  9627.     };
  9628.  
  9629.     
  9630.  
  9631. #ifdef COBJMACROS
  9632.  
  9633.  
  9634. #define IMDDataset_QueryInterface(This,riid,ppvObject)    \
  9635.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9636.  
  9637. #define IMDDataset_AddRef(This)    \
  9638.     (This)->lpVtbl -> AddRef(This)
  9639.  
  9640. #define IMDDataset_Release(This)    \
  9641.     (This)->lpVtbl -> Release(This)
  9642.  
  9643.  
  9644. #define IMDDataset_FreeAxisInfo(This,cAxes,rgAxisInfo)    \
  9645.     (This)->lpVtbl -> FreeAxisInfo(This,cAxes,rgAxisInfo)
  9646.  
  9647. #define IMDDataset_GetAxisInfo(This,pcAxes,prgAxisInfo)    \
  9648.     (This)->lpVtbl -> GetAxisInfo(This,pcAxes,prgAxisInfo)
  9649.  
  9650. #define IMDDataset_GetAxisRowset(This,pUnkOuter,iAxis,riid,cPropertySets,rgPropertySets,ppRowset)    \
  9651.     (This)->lpVtbl -> GetAxisRowset(This,pUnkOuter,iAxis,riid,cPropertySets,rgPropertySets,ppRowset)
  9652.  
  9653. #define IMDDataset_GetCellData(This,hAccessor,ulStartCell,ulEndCell,pData)    \
  9654.     (This)->lpVtbl -> GetCellData(This,hAccessor,ulStartCell,ulEndCell,pData)
  9655.  
  9656. #define IMDDataset_GetSpecification(This,riid,ppSpecification)    \
  9657.     (This)->lpVtbl -> GetSpecification(This,riid,ppSpecification)
  9658.  
  9659. #endif /* COBJMACROS */
  9660.  
  9661.  
  9662. #endif     /* C style interface */
  9663.  
  9664.  
  9665.  
  9666. HRESULT STDMETHODCALLTYPE IMDDataset_FreeAxisInfo_Proxy( 
  9667.     IMDDataset __RPC_FAR * This,
  9668.     /* [in] */ DBCOUNTITEM cAxes,
  9669.     /* [size_is][in] */ MDAXISINFO __RPC_FAR *rgAxisInfo);
  9670.  
  9671.  
  9672. void __RPC_STUB IMDDataset_FreeAxisInfo_Stub(
  9673.     IRpcStubBuffer *This,
  9674.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9675.     PRPC_MESSAGE _pRpcMessage,
  9676.     DWORD *_pdwStubPhase);
  9677.  
  9678.  
  9679. HRESULT STDMETHODCALLTYPE IMDDataset_GetAxisInfo_Proxy( 
  9680.     IMDDataset __RPC_FAR * This,
  9681.     /* [out][in] */ DBCOUNTITEM __RPC_FAR *pcAxes,
  9682.     /* [size_is][size_is][out] */ MDAXISINFO __RPC_FAR *__RPC_FAR *prgAxisInfo);
  9683.  
  9684.  
  9685. void __RPC_STUB IMDDataset_GetAxisInfo_Stub(
  9686.     IRpcStubBuffer *This,
  9687.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9688.     PRPC_MESSAGE _pRpcMessage,
  9689.     DWORD *_pdwStubPhase);
  9690.  
  9691.  
  9692. HRESULT STDMETHODCALLTYPE IMDDataset_GetAxisRowset_Proxy( 
  9693.     IMDDataset __RPC_FAR * This,
  9694.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  9695.     /* [in] */ DBCOUNTITEM iAxis,
  9696.     /* [in] */ REFIID riid,
  9697.     /* [in] */ ULONG cPropertySets,
  9698.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  9699.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  9700.  
  9701.  
  9702. void __RPC_STUB IMDDataset_GetAxisRowset_Stub(
  9703.     IRpcStubBuffer *This,
  9704.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9705.     PRPC_MESSAGE _pRpcMessage,
  9706.     DWORD *_pdwStubPhase);
  9707.  
  9708.  
  9709. HRESULT STDMETHODCALLTYPE IMDDataset_GetCellData_Proxy( 
  9710.     IMDDataset __RPC_FAR * This,
  9711.     /* [in] */ HACCESSOR hAccessor,
  9712.     /* [in] */ DBORDINAL ulStartCell,
  9713.     /* [in] */ DBORDINAL ulEndCell,
  9714.     /* [out] */ void __RPC_FAR *pData);
  9715.  
  9716.  
  9717. void __RPC_STUB IMDDataset_GetCellData_Stub(
  9718.     IRpcStubBuffer *This,
  9719.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9720.     PRPC_MESSAGE _pRpcMessage,
  9721.     DWORD *_pdwStubPhase);
  9722.  
  9723.  
  9724. HRESULT STDMETHODCALLTYPE IMDDataset_GetSpecification_Proxy( 
  9725.     IMDDataset __RPC_FAR * This,
  9726.     /* [in] */ REFIID riid,
  9727.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSpecification);
  9728.  
  9729.  
  9730. void __RPC_STUB IMDDataset_GetSpecification_Stub(
  9731.     IRpcStubBuffer *This,
  9732.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9733.     PRPC_MESSAGE _pRpcMessage,
  9734.     DWORD *_pdwStubPhase);
  9735.  
  9736.  
  9737.  
  9738. #endif     /* __IMDDataset_INTERFACE_DEFINED__ */
  9739.  
  9740.  
  9741. #ifndef __IMDFind_INTERFACE_DEFINED__
  9742. #define __IMDFind_INTERFACE_DEFINED__
  9743.  
  9744. /* interface IMDFind */
  9745. /* [unique][uuid][object][local] */ 
  9746.  
  9747.  
  9748. EXTERN_C const IID IID_IMDFind;
  9749.  
  9750. #if defined(__cplusplus) && !defined(CINTERFACE)
  9751.     
  9752.     MIDL_INTERFACE("a07cccd2-8148-11d0-87bb-00c04fc33942")
  9753.     IMDFind : public IUnknown
  9754.     {
  9755.     public:
  9756.         virtual HRESULT STDMETHODCALLTYPE FindCell( 
  9757.             /* [in] */ DBORDINAL ulStartingOrdinal,
  9758.             /* [in] */ DBCOUNTITEM cMembers,
  9759.             /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgpwszMember,
  9760.             /* [out] */ DBORDINAL __RPC_FAR *pulCellOrdinal) = 0;
  9761.         
  9762.         virtual HRESULT STDMETHODCALLTYPE FindTuple( 
  9763.             /* [in] */ ULONG ulAxisIdentifier,
  9764.             /* [in] */ DBORDINAL ulStartingOrdinal,
  9765.             /* [in] */ DBCOUNTITEM cMembers,
  9766.             /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgpwszMember,
  9767.             /* [out] */ ULONG __RPC_FAR *pulTupleOrdinal) = 0;
  9768.         
  9769.     };
  9770.     
  9771. #else     /* C style interface */
  9772.  
  9773.     typedef struct IMDFindVtbl
  9774.     {
  9775.         BEGIN_INTERFACE
  9776.         
  9777.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9778.             IMDFind __RPC_FAR * This,
  9779.             /* [in] */ REFIID riid,
  9780.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9781.         
  9782.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9783.             IMDFind __RPC_FAR * This);
  9784.         
  9785.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9786.             IMDFind __RPC_FAR * This);
  9787.         
  9788.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindCell )( 
  9789.             IMDFind __RPC_FAR * This,
  9790.             /* [in] */ DBORDINAL ulStartingOrdinal,
  9791.             /* [in] */ DBCOUNTITEM cMembers,
  9792.             /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgpwszMember,
  9793.             /* [out] */ DBORDINAL __RPC_FAR *pulCellOrdinal);
  9794.         
  9795.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindTuple )( 
  9796.             IMDFind __RPC_FAR * This,
  9797.             /* [in] */ ULONG ulAxisIdentifier,
  9798.             /* [in] */ DBORDINAL ulStartingOrdinal,
  9799.             /* [in] */ DBCOUNTITEM cMembers,
  9800.             /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgpwszMember,
  9801.             /* [out] */ ULONG __RPC_FAR *pulTupleOrdinal);
  9802.         
  9803.         END_INTERFACE
  9804.     } IMDFindVtbl;
  9805.  
  9806.     interface IMDFind
  9807.     {
  9808.         CONST_VTBL struct IMDFindVtbl __RPC_FAR *lpVtbl;
  9809.     };
  9810.  
  9811.     
  9812.  
  9813. #ifdef COBJMACROS
  9814.  
  9815.  
  9816. #define IMDFind_QueryInterface(This,riid,ppvObject)    \
  9817.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9818.  
  9819. #define IMDFind_AddRef(This)    \
  9820.     (This)->lpVtbl -> AddRef(This)
  9821.  
  9822. #define IMDFind_Release(This)    \
  9823.     (This)->lpVtbl -> Release(This)
  9824.  
  9825.  
  9826. #define IMDFind_FindCell(This,ulStartingOrdinal,cMembers,rgpwszMember,pulCellOrdinal)    \
  9827.     (This)->lpVtbl -> FindCell(This,ulStartingOrdinal,cMembers,rgpwszMember,pulCellOrdinal)
  9828.  
  9829. #define IMDFind_FindTuple(This,ulAxisIdentifier,ulStartingOrdinal,cMembers,rgpwszMember,pulTupleOrdinal)    \
  9830.     (This)->lpVtbl -> FindTuple(This,ulAxisIdentifier,ulStartingOrdinal,cMembers,rgpwszMember,pulTupleOrdinal)
  9831.  
  9832. #endif /* COBJMACROS */
  9833.  
  9834.  
  9835. #endif     /* C style interface */
  9836.  
  9837.  
  9838.  
  9839. HRESULT STDMETHODCALLTYPE IMDFind_FindCell_Proxy( 
  9840.     IMDFind __RPC_FAR * This,
  9841.     /* [in] */ DBORDINAL ulStartingOrdinal,
  9842.     /* [in] */ DBCOUNTITEM cMembers,
  9843.     /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgpwszMember,
  9844.     /* [out] */ DBORDINAL __RPC_FAR *pulCellOrdinal);
  9845.  
  9846.  
  9847. void __RPC_STUB IMDFind_FindCell_Stub(
  9848.     IRpcStubBuffer *This,
  9849.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9850.     PRPC_MESSAGE _pRpcMessage,
  9851.     DWORD *_pdwStubPhase);
  9852.  
  9853.  
  9854. HRESULT STDMETHODCALLTYPE IMDFind_FindTuple_Proxy( 
  9855.     IMDFind __RPC_FAR * This,
  9856.     /* [in] */ ULONG ulAxisIdentifier,
  9857.     /* [in] */ DBORDINAL ulStartingOrdinal,
  9858.     /* [in] */ DBCOUNTITEM cMembers,
  9859.     /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgpwszMember,
  9860.     /* [out] */ ULONG __RPC_FAR *pulTupleOrdinal);
  9861.  
  9862.  
  9863. void __RPC_STUB IMDFind_FindTuple_Stub(
  9864.     IRpcStubBuffer *This,
  9865.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9866.     PRPC_MESSAGE _pRpcMessage,
  9867.     DWORD *_pdwStubPhase);
  9868.  
  9869.  
  9870.  
  9871. #endif     /* __IMDFind_INTERFACE_DEFINED__ */
  9872.  
  9873.  
  9874. #ifndef __IMDRangeRowset_INTERFACE_DEFINED__
  9875. #define __IMDRangeRowset_INTERFACE_DEFINED__
  9876.  
  9877. /* interface IMDRangeRowset */
  9878. /* [unique][uuid][object][local] */ 
  9879.  
  9880.  
  9881. EXTERN_C const IID IID_IMDRangeRowset;
  9882.  
  9883. #if defined(__cplusplus) && !defined(CINTERFACE)
  9884.     
  9885.     MIDL_INTERFACE("0c733aa0-2a1c-11ce-ade5-00aa0044773d")
  9886.     IMDRangeRowset : public IUnknown
  9887.     {
  9888.     public:
  9889.         virtual HRESULT STDMETHODCALLTYPE GetRangeRowset( 
  9890.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  9891.             /* [in] */ DBORDINAL ulStartCell,
  9892.             /* [in] */ DBORDINAL ulEndCell,
  9893.             /* [in] */ REFIID riid,
  9894.             /* [in] */ ULONG cPropertySets,
  9895.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  9896.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  9897.         
  9898.     };
  9899.     
  9900. #else     /* C style interface */
  9901.  
  9902.     typedef struct IMDRangeRowsetVtbl
  9903.     {
  9904.         BEGIN_INTERFACE
  9905.         
  9906.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9907.             IMDRangeRowset __RPC_FAR * This,
  9908.             /* [in] */ REFIID riid,
  9909.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9910.         
  9911.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9912.             IMDRangeRowset __RPC_FAR * This);
  9913.         
  9914.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9915.             IMDRangeRowset __RPC_FAR * This);
  9916.         
  9917.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRangeRowset )( 
  9918.             IMDRangeRowset __RPC_FAR * This,
  9919.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  9920.             /* [in] */ DBORDINAL ulStartCell,
  9921.             /* [in] */ DBORDINAL ulEndCell,
  9922.             /* [in] */ REFIID riid,
  9923.             /* [in] */ ULONG cPropertySets,
  9924.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  9925.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  9926.         
  9927.         END_INTERFACE
  9928.     } IMDRangeRowsetVtbl;
  9929.  
  9930.     interface IMDRangeRowset
  9931.     {
  9932.         CONST_VTBL struct IMDRangeRowsetVtbl __RPC_FAR *lpVtbl;
  9933.     };
  9934.  
  9935.     
  9936.  
  9937. #ifdef COBJMACROS
  9938.  
  9939.  
  9940. #define IMDRangeRowset_QueryInterface(This,riid,ppvObject)    \
  9941.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9942.  
  9943. #define IMDRangeRowset_AddRef(This)    \
  9944.     (This)->lpVtbl -> AddRef(This)
  9945.  
  9946. #define IMDRangeRowset_Release(This)    \
  9947.     (This)->lpVtbl -> Release(This)
  9948.  
  9949.  
  9950. #define IMDRangeRowset_GetRangeRowset(This,pUnkOuter,ulStartCell,ulEndCell,riid,cPropertySets,rgPropertySets,ppRowset)    \
  9951.     (This)->lpVtbl -> GetRangeRowset(This,pUnkOuter,ulStartCell,ulEndCell,riid,cPropertySets,rgPropertySets,ppRowset)
  9952.  
  9953. #endif /* COBJMACROS */
  9954.  
  9955.  
  9956. #endif     /* C style interface */
  9957.  
  9958.  
  9959.  
  9960. HRESULT STDMETHODCALLTYPE IMDRangeRowset_GetRangeRowset_Proxy( 
  9961.     IMDRangeRowset __RPC_FAR * This,
  9962.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  9963.     /* [in] */ DBORDINAL ulStartCell,
  9964.     /* [in] */ DBORDINAL ulEndCell,
  9965.     /* [in] */ REFIID riid,
  9966.     /* [in] */ ULONG cPropertySets,
  9967.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  9968.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  9969.  
  9970.  
  9971. void __RPC_STUB IMDRangeRowset_GetRangeRowset_Stub(
  9972.     IRpcStubBuffer *This,
  9973.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9974.     PRPC_MESSAGE _pRpcMessage,
  9975.     DWORD *_pdwStubPhase);
  9976.  
  9977.  
  9978.  
  9979. #endif     /* __IMDRangeRowset_INTERFACE_DEFINED__ */
  9980.  
  9981.  
  9982. #ifndef __IAlterTable_INTERFACE_DEFINED__
  9983. #define __IAlterTable_INTERFACE_DEFINED__
  9984.  
  9985. /* interface IAlterTable */
  9986. /* [unique][uuid][object][local] */ 
  9987.  
  9988.  
  9989. EXTERN_C const IID IID_IAlterTable;
  9990.  
  9991. #if defined(__cplusplus) && !defined(CINTERFACE)
  9992.     
  9993.     MIDL_INTERFACE("0c733aa5-2a1c-11ce-ade5-00aa0044773d")
  9994.     IAlterTable : public IUnknown
  9995.     {
  9996.     public:
  9997.         virtual HRESULT STDMETHODCALLTYPE AlterColumn( 
  9998.             /* [in] */ DBID __RPC_FAR *pTableId,
  9999.             /* [in] */ DBID __RPC_FAR *pColumnId,
  10000.             /* [in] */ DBCOLUMNDESCFLAGS ColumnDescFlags,
  10001.             /* [in] */ DBCOLUMNDESC __RPC_FAR *pColumnDesc) = 0;
  10002.         
  10003.         virtual HRESULT STDMETHODCALLTYPE AlterTable( 
  10004.             /* [in] */ DBID __RPC_FAR *pTableId,
  10005.             /* [in] */ DBID __RPC_FAR *pNewTableId,
  10006.             /* [in] */ ULONG cPropertySets,
  10007.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]) = 0;
  10008.         
  10009.     };
  10010.     
  10011. #else     /* C style interface */
  10012.  
  10013.     typedef struct IAlterTableVtbl
  10014.     {
  10015.         BEGIN_INTERFACE
  10016.         
  10017.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10018.             IAlterTable __RPC_FAR * This,
  10019.             /* [in] */ REFIID riid,
  10020.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10021.         
  10022.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10023.             IAlterTable __RPC_FAR * This);
  10024.         
  10025.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10026.             IAlterTable __RPC_FAR * This);
  10027.         
  10028.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AlterColumn )( 
  10029.             IAlterTable __RPC_FAR * This,
  10030.             /* [in] */ DBID __RPC_FAR *pTableId,
  10031.             /* [in] */ DBID __RPC_FAR *pColumnId,
  10032.             /* [in] */ DBCOLUMNDESCFLAGS ColumnDescFlags,
  10033.             /* [in] */ DBCOLUMNDESC __RPC_FAR *pColumnDesc);
  10034.         
  10035.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AlterTable )( 
  10036.             IAlterTable __RPC_FAR * This,
  10037.             /* [in] */ DBID __RPC_FAR *pTableId,
  10038.             /* [in] */ DBID __RPC_FAR *pNewTableId,
  10039.             /* [in] */ ULONG cPropertySets,
  10040.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  10041.         
  10042.         END_INTERFACE
  10043.     } IAlterTableVtbl;
  10044.  
  10045.     interface IAlterTable
  10046.     {
  10047.         CONST_VTBL struct IAlterTableVtbl __RPC_FAR *lpVtbl;
  10048.     };
  10049.  
  10050.     
  10051.  
  10052. #ifdef COBJMACROS
  10053.  
  10054.  
  10055. #define IAlterTable_QueryInterface(This,riid,ppvObject)    \
  10056.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10057.  
  10058. #define IAlterTable_AddRef(This)    \
  10059.     (This)->lpVtbl -> AddRef(This)
  10060.  
  10061. #define IAlterTable_Release(This)    \
  10062.     (This)->lpVtbl -> Release(This)
  10063.  
  10064.  
  10065. #define IAlterTable_AlterColumn(This,pTableId,pColumnId,ColumnDescFlags,pColumnDesc)    \
  10066.     (This)->lpVtbl -> AlterColumn(This,pTableId,pColumnId,ColumnDescFlags,pColumnDesc)
  10067.  
  10068. #define IAlterTable_AlterTable(This,pTableId,pNewTableId,cPropertySets,rgPropertySets)    \
  10069.     (This)->lpVtbl -> AlterTable(This,pTableId,pNewTableId,cPropertySets,rgPropertySets)
  10070.  
  10071. #endif /* COBJMACROS */
  10072.  
  10073.  
  10074. #endif     /* C style interface */
  10075.  
  10076.  
  10077.  
  10078. HRESULT STDMETHODCALLTYPE IAlterTable_AlterColumn_Proxy( 
  10079.     IAlterTable __RPC_FAR * This,
  10080.     /* [in] */ DBID __RPC_FAR *pTableId,
  10081.     /* [in] */ DBID __RPC_FAR *pColumnId,
  10082.     /* [in] */ DBCOLUMNDESCFLAGS ColumnDescFlags,
  10083.     /* [in] */ DBCOLUMNDESC __RPC_FAR *pColumnDesc);
  10084.  
  10085.  
  10086. void __RPC_STUB IAlterTable_AlterColumn_Stub(
  10087.     IRpcStubBuffer *This,
  10088.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10089.     PRPC_MESSAGE _pRpcMessage,
  10090.     DWORD *_pdwStubPhase);
  10091.  
  10092.  
  10093. HRESULT STDMETHODCALLTYPE IAlterTable_AlterTable_Proxy( 
  10094.     IAlterTable __RPC_FAR * This,
  10095.     /* [in] */ DBID __RPC_FAR *pTableId,
  10096.     /* [in] */ DBID __RPC_FAR *pNewTableId,
  10097.     /* [in] */ ULONG cPropertySets,
  10098.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  10099.  
  10100.  
  10101. void __RPC_STUB IAlterTable_AlterTable_Stub(
  10102.     IRpcStubBuffer *This,
  10103.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10104.     PRPC_MESSAGE _pRpcMessage,
  10105.     DWORD *_pdwStubPhase);
  10106.  
  10107.  
  10108.  
  10109. #endif     /* __IAlterTable_INTERFACE_DEFINED__ */
  10110.  
  10111.  
  10112. #ifndef __IAlterIndex_INTERFACE_DEFINED__
  10113. #define __IAlterIndex_INTERFACE_DEFINED__
  10114.  
  10115. /* interface IAlterIndex */
  10116. /* [unique][uuid][object][local] */ 
  10117.  
  10118.  
  10119. EXTERN_C const IID IID_IAlterIndex;
  10120.  
  10121. #if defined(__cplusplus) && !defined(CINTERFACE)
  10122.     
  10123.     MIDL_INTERFACE("0c733aa6-2a1c-11ce-ade5-00aa0044773d")
  10124.     IAlterIndex : public IUnknown
  10125.     {
  10126.     public:
  10127.         virtual HRESULT STDMETHODCALLTYPE AlterIndex( 
  10128.             /* [in] */ DBID __RPC_FAR *pTableId,
  10129.             /* [in] */ DBID __RPC_FAR *pIndexId,
  10130.             /* [in] */ DBID __RPC_FAR *pNewIndexId,
  10131.             /* [in] */ ULONG cPropertySets,
  10132.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySet[  ]) = 0;
  10133.         
  10134.     };
  10135.     
  10136. #else     /* C style interface */
  10137.  
  10138.     typedef struct IAlterIndexVtbl
  10139.     {
  10140.         BEGIN_INTERFACE
  10141.         
  10142.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10143.             IAlterIndex __RPC_FAR * This,
  10144.             /* [in] */ REFIID riid,
  10145.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10146.         
  10147.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10148.             IAlterIndex __RPC_FAR * This);
  10149.         
  10150.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10151.             IAlterIndex __RPC_FAR * This);
  10152.         
  10153.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AlterIndex )( 
  10154.             IAlterIndex __RPC_FAR * This,
  10155.             /* [in] */ DBID __RPC_FAR *pTableId,
  10156.             /* [in] */ DBID __RPC_FAR *pIndexId,
  10157.             /* [in] */ DBID __RPC_FAR *pNewIndexId,
  10158.             /* [in] */ ULONG cPropertySets,
  10159.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySet[  ]);
  10160.         
  10161.         END_INTERFACE
  10162.     } IAlterIndexVtbl;
  10163.  
  10164.     interface IAlterIndex
  10165.     {
  10166.         CONST_VTBL struct IAlterIndexVtbl __RPC_FAR *lpVtbl;
  10167.     };
  10168.  
  10169.     
  10170.  
  10171. #ifdef COBJMACROS
  10172.  
  10173.  
  10174. #define IAlterIndex_QueryInterface(This,riid,ppvObject)    \
  10175.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10176.  
  10177. #define IAlterIndex_AddRef(This)    \
  10178.     (This)->lpVtbl -> AddRef(This)
  10179.  
  10180. #define IAlterIndex_Release(This)    \
  10181.     (This)->lpVtbl -> Release(This)
  10182.  
  10183.  
  10184. #define IAlterIndex_AlterIndex(This,pTableId,pIndexId,pNewIndexId,cPropertySets,rgPropertySet)    \
  10185.     (This)->lpVtbl -> AlterIndex(This,pTableId,pIndexId,pNewIndexId,cPropertySets,rgPropertySet)
  10186.  
  10187. #endif /* COBJMACROS */
  10188.  
  10189.  
  10190. #endif     /* C style interface */
  10191.  
  10192.  
  10193.  
  10194. HRESULT STDMETHODCALLTYPE IAlterIndex_AlterIndex_Proxy( 
  10195.     IAlterIndex __RPC_FAR * This,
  10196.     /* [in] */ DBID __RPC_FAR *pTableId,
  10197.     /* [in] */ DBID __RPC_FAR *pIndexId,
  10198.     /* [in] */ DBID __RPC_FAR *pNewIndexId,
  10199.     /* [in] */ ULONG cPropertySets,
  10200.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySet[  ]);
  10201.  
  10202.  
  10203. void __RPC_STUB IAlterIndex_AlterIndex_Stub(
  10204.     IRpcStubBuffer *This,
  10205.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10206.     PRPC_MESSAGE _pRpcMessage,
  10207.     DWORD *_pdwStubPhase);
  10208.  
  10209.  
  10210.  
  10211. #endif     /* __IAlterIndex_INTERFACE_DEFINED__ */
  10212.  
  10213.  
  10214. #ifndef __IRowsetChapterMember_INTERFACE_DEFINED__
  10215. #define __IRowsetChapterMember_INTERFACE_DEFINED__
  10216.  
  10217. /* interface IRowsetChapterMember */
  10218. /* [unique][uuid][object][local] */ 
  10219.  
  10220.  
  10221. EXTERN_C const IID IID_IRowsetChapterMember;
  10222.  
  10223. #if defined(__cplusplus) && !defined(CINTERFACE)
  10224.     
  10225.     MIDL_INTERFACE("0c733aa8-2a1c-11ce-ade5-00aa0044773d")
  10226.     IRowsetChapterMember : public IUnknown
  10227.     {
  10228.     public:
  10229.         virtual HRESULT STDMETHODCALLTYPE IsRowInChapter( 
  10230.             /* [in] */ HCHAPTER hChapter,
  10231.             /* [in] */ HROW hRow) = 0;
  10232.         
  10233.     };
  10234.     
  10235. #else     /* C style interface */
  10236.  
  10237.     typedef struct IRowsetChapterMemberVtbl
  10238.     {
  10239.         BEGIN_INTERFACE
  10240.         
  10241.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10242.             IRowsetChapterMember __RPC_FAR * This,
  10243.             /* [in] */ REFIID riid,
  10244.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10245.         
  10246.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10247.             IRowsetChapterMember __RPC_FAR * This);
  10248.         
  10249.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10250.             IRowsetChapterMember __RPC_FAR * This);
  10251.         
  10252.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsRowInChapter )( 
  10253.             IRowsetChapterMember __RPC_FAR * This,
  10254.             /* [in] */ HCHAPTER hChapter,
  10255.             /* [in] */ HROW hRow);
  10256.         
  10257.         END_INTERFACE
  10258.     } IRowsetChapterMemberVtbl;
  10259.  
  10260.     interface IRowsetChapterMember
  10261.     {
  10262.         CONST_VTBL struct IRowsetChapterMemberVtbl __RPC_FAR *lpVtbl;
  10263.     };
  10264.  
  10265.     
  10266.  
  10267. #ifdef COBJMACROS
  10268.  
  10269.  
  10270. #define IRowsetChapterMember_QueryInterface(This,riid,ppvObject)    \
  10271.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10272.  
  10273. #define IRowsetChapterMember_AddRef(This)    \
  10274.     (This)->lpVtbl -> AddRef(This)
  10275.  
  10276. #define IRowsetChapterMember_Release(This)    \
  10277.     (This)->lpVtbl -> Release(This)
  10278.  
  10279.  
  10280. #define IRowsetChapterMember_IsRowInChapter(This,hChapter,hRow)    \
  10281.     (This)->lpVtbl -> IsRowInChapter(This,hChapter,hRow)
  10282.  
  10283. #endif /* COBJMACROS */
  10284.  
  10285.  
  10286. #endif     /* C style interface */
  10287.  
  10288.  
  10289.  
  10290. HRESULT STDMETHODCALLTYPE IRowsetChapterMember_IsRowInChapter_Proxy( 
  10291.     IRowsetChapterMember __RPC_FAR * This,
  10292.     /* [in] */ HCHAPTER hChapter,
  10293.     /* [in] */ HROW hRow);
  10294.  
  10295.  
  10296. void __RPC_STUB IRowsetChapterMember_IsRowInChapter_Stub(
  10297.     IRpcStubBuffer *This,
  10298.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10299.     PRPC_MESSAGE _pRpcMessage,
  10300.     DWORD *_pdwStubPhase);
  10301.  
  10302.  
  10303.  
  10304. #endif     /* __IRowsetChapterMember_INTERFACE_DEFINED__ */
  10305.  
  10306.  
  10307. #ifndef __ICommandPersist_INTERFACE_DEFINED__
  10308. #define __ICommandPersist_INTERFACE_DEFINED__
  10309.  
  10310. /* interface ICommandPersist */
  10311. /* [unique][uuid][object][local] */ 
  10312.  
  10313.  
  10314. EXTERN_C const IID IID_ICommandPersist;
  10315.  
  10316. #if defined(__cplusplus) && !defined(CINTERFACE)
  10317.     
  10318.     MIDL_INTERFACE("0c733aa7-2a1c-11ce-ade5-00aa0044773d")
  10319.     ICommandPersist : public IUnknown
  10320.     {
  10321.     public:
  10322.         virtual HRESULT STDMETHODCALLTYPE DeleteCommand( 
  10323.             /* [in] */ DBID __RPC_FAR *pCommandID) = 0;
  10324.         
  10325.         virtual HRESULT STDMETHODCALLTYPE GetCurrentCommand( 
  10326.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppCommandID) = 0;
  10327.         
  10328.         virtual HRESULT STDMETHODCALLTYPE LoadCommand( 
  10329.             /* [in] */ DBID __RPC_FAR *pCommandID,
  10330.             /* [in] */ DWORD dwFlags) = 0;
  10331.         
  10332.         virtual HRESULT STDMETHODCALLTYPE SaveCommand( 
  10333.             /* [in] */ DBID __RPC_FAR *pCommandID,
  10334.             /* [in] */ DWORD dwFlags) = 0;
  10335.         
  10336.     };
  10337.     
  10338. #else     /* C style interface */
  10339.  
  10340.     typedef struct ICommandPersistVtbl
  10341.     {
  10342.         BEGIN_INTERFACE
  10343.         
  10344.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10345.             ICommandPersist __RPC_FAR * This,
  10346.             /* [in] */ REFIID riid,
  10347.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10348.         
  10349.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10350.             ICommandPersist __RPC_FAR * This);
  10351.         
  10352.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10353.             ICommandPersist __RPC_FAR * This);
  10354.         
  10355.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteCommand )( 
  10356.             ICommandPersist __RPC_FAR * This,
  10357.             /* [in] */ DBID __RPC_FAR *pCommandID);
  10358.         
  10359.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurrentCommand )( 
  10360.             ICommandPersist __RPC_FAR * This,
  10361.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppCommandID);
  10362.         
  10363.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadCommand )( 
  10364.             ICommandPersist __RPC_FAR * This,
  10365.             /* [in] */ DBID __RPC_FAR *pCommandID,
  10366.             /* [in] */ DWORD dwFlags);
  10367.         
  10368.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveCommand )( 
  10369.             ICommandPersist __RPC_FAR * This,
  10370.             /* [in] */ DBID __RPC_FAR *pCommandID,
  10371.             /* [in] */ DWORD dwFlags);
  10372.         
  10373.         END_INTERFACE
  10374.     } ICommandPersistVtbl;
  10375.  
  10376.     interface ICommandPersist
  10377.     {
  10378.         CONST_VTBL struct ICommandPersistVtbl __RPC_FAR *lpVtbl;
  10379.     };
  10380.  
  10381.     
  10382.  
  10383. #ifdef COBJMACROS
  10384.  
  10385.  
  10386. #define ICommandPersist_QueryInterface(This,riid,ppvObject)    \
  10387.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10388.  
  10389. #define ICommandPersist_AddRef(This)    \
  10390.     (This)->lpVtbl -> AddRef(This)
  10391.  
  10392. #define ICommandPersist_Release(This)    \
  10393.     (This)->lpVtbl -> Release(This)
  10394.  
  10395.  
  10396. #define ICommandPersist_DeleteCommand(This,pCommandID)    \
  10397.     (This)->lpVtbl -> DeleteCommand(This,pCommandID)
  10398.  
  10399. #define ICommandPersist_GetCurrentCommand(This,ppCommandID)    \
  10400.     (This)->lpVtbl -> GetCurrentCommand(This,ppCommandID)
  10401.  
  10402. #define ICommandPersist_LoadCommand(This,pCommandID,dwFlags)    \
  10403.     (This)->lpVtbl -> LoadCommand(This,pCommandID,dwFlags)
  10404.  
  10405. #define ICommandPersist_SaveCommand(This,pCommandID,dwFlags)    \
  10406.     (This)->lpVtbl -> SaveCommand(This,pCommandID,dwFlags)
  10407.  
  10408. #endif /* COBJMACROS */
  10409.  
  10410.  
  10411. #endif     /* C style interface */
  10412.  
  10413.  
  10414.  
  10415. HRESULT STDMETHODCALLTYPE ICommandPersist_DeleteCommand_Proxy( 
  10416.     ICommandPersist __RPC_FAR * This,
  10417.     /* [in] */ DBID __RPC_FAR *pCommandID);
  10418.  
  10419.  
  10420. void __RPC_STUB ICommandPersist_DeleteCommand_Stub(
  10421.     IRpcStubBuffer *This,
  10422.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10423.     PRPC_MESSAGE _pRpcMessage,
  10424.     DWORD *_pdwStubPhase);
  10425.  
  10426.  
  10427. HRESULT STDMETHODCALLTYPE ICommandPersist_GetCurrentCommand_Proxy( 
  10428.     ICommandPersist __RPC_FAR * This,
  10429.     /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppCommandID);
  10430.  
  10431.  
  10432. void __RPC_STUB ICommandPersist_GetCurrentCommand_Stub(
  10433.     IRpcStubBuffer *This,
  10434.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10435.     PRPC_MESSAGE _pRpcMessage,
  10436.     DWORD *_pdwStubPhase);
  10437.  
  10438.  
  10439. HRESULT STDMETHODCALLTYPE ICommandPersist_LoadCommand_Proxy( 
  10440.     ICommandPersist __RPC_FAR * This,
  10441.     /* [in] */ DBID __RPC_FAR *pCommandID,
  10442.     /* [in] */ DWORD dwFlags);
  10443.  
  10444.  
  10445. void __RPC_STUB ICommandPersist_LoadCommand_Stub(
  10446.     IRpcStubBuffer *This,
  10447.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10448.     PRPC_MESSAGE _pRpcMessage,
  10449.     DWORD *_pdwStubPhase);
  10450.  
  10451.  
  10452. HRESULT STDMETHODCALLTYPE ICommandPersist_SaveCommand_Proxy( 
  10453.     ICommandPersist __RPC_FAR * This,
  10454.     /* [in] */ DBID __RPC_FAR *pCommandID,
  10455.     /* [in] */ DWORD dwFlags);
  10456.  
  10457.  
  10458. void __RPC_STUB ICommandPersist_SaveCommand_Stub(
  10459.     IRpcStubBuffer *This,
  10460.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10461.     PRPC_MESSAGE _pRpcMessage,
  10462.     DWORD *_pdwStubPhase);
  10463.  
  10464.  
  10465.  
  10466. #endif     /* __ICommandPersist_INTERFACE_DEFINED__ */
  10467.  
  10468.  
  10469. #ifndef __IRowsetRefresh_INTERFACE_DEFINED__
  10470. #define __IRowsetRefresh_INTERFACE_DEFINED__
  10471.  
  10472. /* interface IRowsetRefresh */
  10473. /* [unique][uuid][object][local] */ 
  10474.  
  10475.  
  10476. EXTERN_C const IID IID_IRowsetRefresh;
  10477.  
  10478. #if defined(__cplusplus) && !defined(CINTERFACE)
  10479.     
  10480.     MIDL_INTERFACE("0c733aa9-2a1c-11ce-ade5-00aa0044773d")
  10481.     IRowsetRefresh : public IUnknown
  10482.     {
  10483.     public:
  10484.         virtual HRESULT STDMETHODCALLTYPE RefreshVisibleData( 
  10485.             /* [in] */ HCHAPTER hChapter,
  10486.             /* [in] */ DBCOUNTITEM cRows,
  10487.             /* [in] */ const HROW __RPC_FAR rghRows[  ],
  10488.             /* [in] */ BOOL fOverWrite,
  10489.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRowsRefreshed,
  10490.             /* [out] */ HROW __RPC_FAR *__RPC_FAR *prghRowsRefreshed,
  10491.             /* [out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus) = 0;
  10492.         
  10493.         virtual HRESULT STDMETHODCALLTYPE GetLastVisibleData( 
  10494.             /* [in] */ HROW hRow,
  10495.             /* [in] */ HACCESSOR hAccessor,
  10496.             /* [out] */ void __RPC_FAR *pData) = 0;
  10497.         
  10498.     };
  10499.     
  10500. #else     /* C style interface */
  10501.  
  10502.     typedef struct IRowsetRefreshVtbl
  10503.     {
  10504.         BEGIN_INTERFACE
  10505.         
  10506.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10507.             IRowsetRefresh __RPC_FAR * This,
  10508.             /* [in] */ REFIID riid,
  10509.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10510.         
  10511.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10512.             IRowsetRefresh __RPC_FAR * This);
  10513.         
  10514.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10515.             IRowsetRefresh __RPC_FAR * This);
  10516.         
  10517.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RefreshVisibleData )( 
  10518.             IRowsetRefresh __RPC_FAR * This,
  10519.             /* [in] */ HCHAPTER hChapter,
  10520.             /* [in] */ DBCOUNTITEM cRows,
  10521.             /* [in] */ const HROW __RPC_FAR rghRows[  ],
  10522.             /* [in] */ BOOL fOverWrite,
  10523.             /* [out] */ DBCOUNTITEM __RPC_FAR *pcRowsRefreshed,
  10524.             /* [out] */ HROW __RPC_FAR *__RPC_FAR *prghRowsRefreshed,
  10525.             /* [out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus);
  10526.         
  10527.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLastVisibleData )( 
  10528.             IRowsetRefresh __RPC_FAR * This,
  10529.             /* [in] */ HROW hRow,
  10530.             /* [in] */ HACCESSOR hAccessor,
  10531.             /* [out] */ void __RPC_FAR *pData);
  10532.         
  10533.         END_INTERFACE
  10534.     } IRowsetRefreshVtbl;
  10535.  
  10536.     interface IRowsetRefresh
  10537.     {
  10538.         CONST_VTBL struct IRowsetRefreshVtbl __RPC_FAR *lpVtbl;
  10539.     };
  10540.  
  10541.     
  10542.  
  10543. #ifdef COBJMACROS
  10544.  
  10545.  
  10546. #define IRowsetRefresh_QueryInterface(This,riid,ppvObject)    \
  10547.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10548.  
  10549. #define IRowsetRefresh_AddRef(This)    \
  10550.     (This)->lpVtbl -> AddRef(This)
  10551.  
  10552. #define IRowsetRefresh_Release(This)    \
  10553.     (This)->lpVtbl -> Release(This)
  10554.  
  10555.  
  10556. #define IRowsetRefresh_RefreshVisibleData(This,hChapter,cRows,rghRows,fOverWrite,pcRowsRefreshed,prghRowsRefreshed,prgRowStatus)    \
  10557.     (This)->lpVtbl -> RefreshVisibleData(This,hChapter,cRows,rghRows,fOverWrite,pcRowsRefreshed,prghRowsRefreshed,prgRowStatus)
  10558.  
  10559. #define IRowsetRefresh_GetLastVisibleData(This,hRow,hAccessor,pData)    \
  10560.     (This)->lpVtbl -> GetLastVisibleData(This,hRow,hAccessor,pData)
  10561.  
  10562. #endif /* COBJMACROS */
  10563.  
  10564.  
  10565. #endif     /* C style interface */
  10566.  
  10567.  
  10568.  
  10569. HRESULT STDMETHODCALLTYPE IRowsetRefresh_RefreshVisibleData_Proxy( 
  10570.     IRowsetRefresh __RPC_FAR * This,
  10571.     /* [in] */ HCHAPTER hChapter,
  10572.     /* [in] */ DBCOUNTITEM cRows,
  10573.     /* [in] */ const HROW __RPC_FAR rghRows[  ],
  10574.     /* [in] */ BOOL fOverWrite,
  10575.     /* [out] */ DBCOUNTITEM __RPC_FAR *pcRowsRefreshed,
  10576.     /* [out] */ HROW __RPC_FAR *__RPC_FAR *prghRowsRefreshed,
  10577.     /* [out] */ DBROWSTATUS __RPC_FAR *__RPC_FAR *prgRowStatus);
  10578.  
  10579.  
  10580. void __RPC_STUB IRowsetRefresh_RefreshVisibleData_Stub(
  10581.     IRpcStubBuffer *This,
  10582.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10583.     PRPC_MESSAGE _pRpcMessage,
  10584.     DWORD *_pdwStubPhase);
  10585.  
  10586.  
  10587. HRESULT STDMETHODCALLTYPE IRowsetRefresh_GetLastVisibleData_Proxy( 
  10588.     IRowsetRefresh __RPC_FAR * This,
  10589.     /* [in] */ HROW hRow,
  10590.     /* [in] */ HACCESSOR hAccessor,
  10591.     /* [out] */ void __RPC_FAR *pData);
  10592.  
  10593.  
  10594. void __RPC_STUB IRowsetRefresh_GetLastVisibleData_Stub(
  10595.     IRpcStubBuffer *This,
  10596.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10597.     PRPC_MESSAGE _pRpcMessage,
  10598.     DWORD *_pdwStubPhase);
  10599.  
  10600.  
  10601.  
  10602. #endif     /* __IRowsetRefresh_INTERFACE_DEFINED__ */
  10603.  
  10604.  
  10605. #ifndef __IParentRowset_INTERFACE_DEFINED__
  10606. #define __IParentRowset_INTERFACE_DEFINED__
  10607.  
  10608. /* interface IParentRowset */
  10609. /* [unique][uuid][object][local] */ 
  10610.  
  10611.  
  10612. EXTERN_C const IID IID_IParentRowset;
  10613.  
  10614. #if defined(__cplusplus) && !defined(CINTERFACE)
  10615.     
  10616.     MIDL_INTERFACE("0c733aaa-2a1c-11ce-ade5-00aa0044773d")
  10617.     IParentRowset : public IUnknown
  10618.     {
  10619.     public:
  10620.         virtual HRESULT STDMETHODCALLTYPE GetChildRowset( 
  10621.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  10622.             /* [in] */ DBORDINAL iOrdinal,
  10623.             /* [in] */ REFIID riid,
  10624.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  10625.         
  10626.     };
  10627.     
  10628. #else     /* C style interface */
  10629.  
  10630.     typedef struct IParentRowsetVtbl
  10631.     {
  10632.         BEGIN_INTERFACE
  10633.         
  10634.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10635.             IParentRowset __RPC_FAR * This,
  10636.             /* [in] */ REFIID riid,
  10637.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10638.         
  10639.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10640.             IParentRowset __RPC_FAR * This);
  10641.         
  10642.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10643.             IParentRowset __RPC_FAR * This);
  10644.         
  10645.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetChildRowset )( 
  10646.             IParentRowset __RPC_FAR * This,
  10647.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  10648.             /* [in] */ DBORDINAL iOrdinal,
  10649.             /* [in] */ REFIID riid,
  10650.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  10651.         
  10652.         END_INTERFACE
  10653.     } IParentRowsetVtbl;
  10654.  
  10655.     interface IParentRowset
  10656.     {
  10657.         CONST_VTBL struct IParentRowsetVtbl __RPC_FAR *lpVtbl;
  10658.     };
  10659.  
  10660.     
  10661.  
  10662. #ifdef COBJMACROS
  10663.  
  10664.  
  10665. #define IParentRowset_QueryInterface(This,riid,ppvObject)    \
  10666.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10667.  
  10668. #define IParentRowset_AddRef(This)    \
  10669.     (This)->lpVtbl -> AddRef(This)
  10670.  
  10671. #define IParentRowset_Release(This)    \
  10672.     (This)->lpVtbl -> Release(This)
  10673.  
  10674.  
  10675. #define IParentRowset_GetChildRowset(This,pUnkOuter,iOrdinal,riid,ppRowset)    \
  10676.     (This)->lpVtbl -> GetChildRowset(This,pUnkOuter,iOrdinal,riid,ppRowset)
  10677.  
  10678. #endif /* COBJMACROS */
  10679.  
  10680.  
  10681. #endif     /* C style interface */
  10682.  
  10683.  
  10684.  
  10685. HRESULT STDMETHODCALLTYPE IParentRowset_GetChildRowset_Proxy( 
  10686.     IParentRowset __RPC_FAR * This,
  10687.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  10688.     /* [in] */ DBORDINAL iOrdinal,
  10689.     /* [in] */ REFIID riid,
  10690.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  10691.  
  10692.  
  10693. void __RPC_STUB IParentRowset_GetChildRowset_Stub(
  10694.     IRpcStubBuffer *This,
  10695.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10696.     PRPC_MESSAGE _pRpcMessage,
  10697.     DWORD *_pdwStubPhase);
  10698.  
  10699.  
  10700.  
  10701. #endif     /* __IParentRowset_INTERFACE_DEFINED__ */
  10702.  
  10703.  
  10704. /* interface __MIDL_itf_oledb_0310 */
  10705. /* [local] */ 
  10706.  
  10707. #endif // OLEDBVER >= 0x0200
  10708. //@@@- V2.0
  10709.  
  10710.  
  10711. extern RPC_IF_HANDLE __MIDL_itf_oledb_0310_v0_0_c_ifspec;
  10712. extern RPC_IF_HANDLE __MIDL_itf_oledb_0310_v0_0_s_ifspec;
  10713.  
  10714. #ifndef __IErrorRecords_INTERFACE_DEFINED__
  10715. #define __IErrorRecords_INTERFACE_DEFINED__
  10716.  
  10717. /* interface IErrorRecords */
  10718. /* [unique][uuid][object] */ 
  10719.  
  10720. #define IDENTIFIER_SDK_MASK    0xF0000000
  10721. #define IDENTIFIER_SDK_ERROR    0x10000000
  10722. typedef struct tagERRORINFO
  10723.     {
  10724.     HRESULT hrError;
  10725.     DWORD dwMinor;
  10726.     CLSID clsid;
  10727.     IID iid;
  10728.     DISPID dispid;
  10729.     }    ERRORINFO;
  10730.  
  10731.  
  10732. EXTERN_C const IID IID_IErrorRecords;
  10733.  
  10734. #if defined(__cplusplus) && !defined(CINTERFACE)
  10735.     
  10736.     MIDL_INTERFACE("0c733a67-2a1c-11ce-ade5-00aa0044773d")
  10737.     IErrorRecords : public IUnknown
  10738.     {
  10739.     public:
  10740.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddErrorRecord( 
  10741.             /* [in] */ ERRORINFO __RPC_FAR *pErrorInfo,
  10742.             /* [in] */ DWORD dwLookupID,
  10743.             /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  10744.             /* [in] */ IUnknown __RPC_FAR *punkCustomError,
  10745.             /* [in] */ DWORD dwDynamicErrorID) = 0;
  10746.         
  10747.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetBasicErrorInfo( 
  10748.             /* [in] */ ULONG ulRecordNum,
  10749.             /* [out] */ ERRORINFO __RPC_FAR *pErrorInfo) = 0;
  10750.         
  10751.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetCustomErrorObject( 
  10752.             /* [in] */ ULONG ulRecordNum,
  10753.             /* [in] */ REFIID riid,
  10754.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject) = 0;
  10755.         
  10756.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetErrorInfo( 
  10757.             /* [in] */ ULONG ulRecordNum,
  10758.             /* [in] */ LCID lcid,
  10759.             /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfo) = 0;
  10760.         
  10761.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetErrorParameters( 
  10762.             /* [in] */ ULONG ulRecordNum,
  10763.             /* [out] */ DISPPARAMS __RPC_FAR *pdispparams) = 0;
  10764.         
  10765.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetRecordCount( 
  10766.             /* [out] */ ULONG __RPC_FAR *pcRecords) = 0;
  10767.         
  10768.     };
  10769.     
  10770. #else     /* C style interface */
  10771.  
  10772.     typedef struct IErrorRecordsVtbl
  10773.     {
  10774.         BEGIN_INTERFACE
  10775.         
  10776.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10777.             IErrorRecords __RPC_FAR * This,
  10778.             /* [in] */ REFIID riid,
  10779.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10780.         
  10781.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10782.             IErrorRecords __RPC_FAR * This);
  10783.         
  10784.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10785.             IErrorRecords __RPC_FAR * This);
  10786.         
  10787.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddErrorRecord )( 
  10788.             IErrorRecords __RPC_FAR * This,
  10789.             /* [in] */ ERRORINFO __RPC_FAR *pErrorInfo,
  10790.             /* [in] */ DWORD dwLookupID,
  10791.             /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  10792.             /* [in] */ IUnknown __RPC_FAR *punkCustomError,
  10793.             /* [in] */ DWORD dwDynamicErrorID);
  10794.         
  10795.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBasicErrorInfo )( 
  10796.             IErrorRecords __RPC_FAR * This,
  10797.             /* [in] */ ULONG ulRecordNum,
  10798.             /* [out] */ ERRORINFO __RPC_FAR *pErrorInfo);
  10799.         
  10800.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCustomErrorObject )( 
  10801.             IErrorRecords __RPC_FAR * This,
  10802.             /* [in] */ ULONG ulRecordNum,
  10803.             /* [in] */ REFIID riid,
  10804.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject);
  10805.         
  10806.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetErrorInfo )( 
  10807.             IErrorRecords __RPC_FAR * This,
  10808.             /* [in] */ ULONG ulRecordNum,
  10809.             /* [in] */ LCID lcid,
  10810.             /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfo);
  10811.         
  10812.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetErrorParameters )( 
  10813.             IErrorRecords __RPC_FAR * This,
  10814.             /* [in] */ ULONG ulRecordNum,
  10815.             /* [out] */ DISPPARAMS __RPC_FAR *pdispparams);
  10816.         
  10817.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRecordCount )( 
  10818.             IErrorRecords __RPC_FAR * This,
  10819.             /* [out] */ ULONG __RPC_FAR *pcRecords);
  10820.         
  10821.         END_INTERFACE
  10822.     } IErrorRecordsVtbl;
  10823.  
  10824.     interface IErrorRecords
  10825.     {
  10826.         CONST_VTBL struct IErrorRecordsVtbl __RPC_FAR *lpVtbl;
  10827.     };
  10828.  
  10829.     
  10830.  
  10831. #ifdef COBJMACROS
  10832.  
  10833.  
  10834. #define IErrorRecords_QueryInterface(This,riid,ppvObject)    \
  10835.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10836.  
  10837. #define IErrorRecords_AddRef(This)    \
  10838.     (This)->lpVtbl -> AddRef(This)
  10839.  
  10840. #define IErrorRecords_Release(This)    \
  10841.     (This)->lpVtbl -> Release(This)
  10842.  
  10843.  
  10844. #define IErrorRecords_AddErrorRecord(This,pErrorInfo,dwLookupID,pdispparams,punkCustomError,dwDynamicErrorID)    \
  10845.     (This)->lpVtbl -> AddErrorRecord(This,pErrorInfo,dwLookupID,pdispparams,punkCustomError,dwDynamicErrorID)
  10846.  
  10847. #define IErrorRecords_GetBasicErrorInfo(This,ulRecordNum,pErrorInfo)    \
  10848.     (This)->lpVtbl -> GetBasicErrorInfo(This,ulRecordNum,pErrorInfo)
  10849.  
  10850. #define IErrorRecords_GetCustomErrorObject(This,ulRecordNum,riid,ppObject)    \
  10851.     (This)->lpVtbl -> GetCustomErrorObject(This,ulRecordNum,riid,ppObject)
  10852.  
  10853. #define IErrorRecords_GetErrorInfo(This,ulRecordNum,lcid,ppErrorInfo)    \
  10854.     (This)->lpVtbl -> GetErrorInfo(This,ulRecordNum,lcid,ppErrorInfo)
  10855.  
  10856. #define IErrorRecords_GetErrorParameters(This,ulRecordNum,pdispparams)    \
  10857.     (This)->lpVtbl -> GetErrorParameters(This,ulRecordNum,pdispparams)
  10858.  
  10859. #define IErrorRecords_GetRecordCount(This,pcRecords)    \
  10860.     (This)->lpVtbl -> GetRecordCount(This,pcRecords)
  10861.  
  10862. #endif /* COBJMACROS */
  10863.  
  10864.  
  10865. #endif     /* C style interface */
  10866.  
  10867.  
  10868.  
  10869. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_RemoteAddErrorRecord_Proxy( 
  10870.     IErrorRecords __RPC_FAR * This,
  10871.     /* [in] */ ERRORINFO __RPC_FAR *pErrorInfo,
  10872.     /* [in] */ DWORD dwLookupID,
  10873.     /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  10874.     /* [in] */ IUnknown __RPC_FAR *punkCustomError,
  10875.     /* [in] */ DWORD dwDynamicErrorID,
  10876.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  10877.  
  10878.  
  10879. void __RPC_STUB IErrorRecords_RemoteAddErrorRecord_Stub(
  10880.     IRpcStubBuffer *This,
  10881.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10882.     PRPC_MESSAGE _pRpcMessage,
  10883.     DWORD *_pdwStubPhase);
  10884.  
  10885.  
  10886. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_RemoteGetBasicErrorInfo_Proxy( 
  10887.     IErrorRecords __RPC_FAR * This,
  10888.     /* [in] */ ULONG ulRecordNum,
  10889.     /* [out] */ ERRORINFO __RPC_FAR *pErrorInfo,
  10890.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  10891.  
  10892.  
  10893. void __RPC_STUB IErrorRecords_RemoteGetBasicErrorInfo_Stub(
  10894.     IRpcStubBuffer *This,
  10895.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10896.     PRPC_MESSAGE _pRpcMessage,
  10897.     DWORD *_pdwStubPhase);
  10898.  
  10899.  
  10900. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_RemoteGetCustomErrorObject_Proxy( 
  10901.     IErrorRecords __RPC_FAR * This,
  10902.     /* [in] */ ULONG ulRecordNum,
  10903.     /* [in] */ REFIID riid,
  10904.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject,
  10905.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  10906.  
  10907.  
  10908. void __RPC_STUB IErrorRecords_RemoteGetCustomErrorObject_Stub(
  10909.     IRpcStubBuffer *This,
  10910.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10911.     PRPC_MESSAGE _pRpcMessage,
  10912.     DWORD *_pdwStubPhase);
  10913.  
  10914.  
  10915. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_RemoteGetErrorInfo_Proxy( 
  10916.     IErrorRecords __RPC_FAR * This,
  10917.     /* [in] */ ULONG ulRecordNum,
  10918.     /* [in] */ LCID lcid,
  10919.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfo,
  10920.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  10921.  
  10922.  
  10923. void __RPC_STUB IErrorRecords_RemoteGetErrorInfo_Stub(
  10924.     IRpcStubBuffer *This,
  10925.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10926.     PRPC_MESSAGE _pRpcMessage,
  10927.     DWORD *_pdwStubPhase);
  10928.  
  10929.  
  10930. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_RemoteGetErrorParameters_Proxy( 
  10931.     IErrorRecords __RPC_FAR * This,
  10932.     /* [in] */ ULONG ulRecordNum,
  10933.     /* [out] */ DISPPARAMS __RPC_FAR *pdispparams,
  10934.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  10935.  
  10936.  
  10937. void __RPC_STUB IErrorRecords_RemoteGetErrorParameters_Stub(
  10938.     IRpcStubBuffer *This,
  10939.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10940.     PRPC_MESSAGE _pRpcMessage,
  10941.     DWORD *_pdwStubPhase);
  10942.  
  10943.  
  10944. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_RemoteGetRecordCount_Proxy( 
  10945.     IErrorRecords __RPC_FAR * This,
  10946.     /* [out] */ ULONG __RPC_FAR *pcRecords,
  10947.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  10948.  
  10949.  
  10950. void __RPC_STUB IErrorRecords_RemoteGetRecordCount_Stub(
  10951.     IRpcStubBuffer *This,
  10952.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10953.     PRPC_MESSAGE _pRpcMessage,
  10954.     DWORD *_pdwStubPhase);
  10955.  
  10956.  
  10957.  
  10958. #endif     /* __IErrorRecords_INTERFACE_DEFINED__ */
  10959.  
  10960.  
  10961. #ifndef __IErrorLookup_INTERFACE_DEFINED__
  10962. #define __IErrorLookup_INTERFACE_DEFINED__
  10963.  
  10964. /* interface IErrorLookup */
  10965. /* [unique][uuid][object] */ 
  10966.  
  10967.  
  10968. EXTERN_C const IID IID_IErrorLookup;
  10969.  
  10970. #if defined(__cplusplus) && !defined(CINTERFACE)
  10971.     
  10972.     MIDL_INTERFACE("0c733a66-2a1c-11ce-ade5-00aa0044773d")
  10973.     IErrorLookup : public IUnknown
  10974.     {
  10975.     public:
  10976.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetErrorDescription( 
  10977.             /* [in] */ HRESULT hrError,
  10978.             /* [in] */ DWORD dwLookupID,
  10979.             /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  10980.             /* [in] */ LCID lcid,
  10981.             /* [out] */ BSTR __RPC_FAR *pbstrSource,
  10982.             /* [out] */ BSTR __RPC_FAR *pbstrDescription) = 0;
  10983.         
  10984.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetHelpInfo( 
  10985.             /* [in] */ HRESULT hrError,
  10986.             /* [in] */ DWORD dwLookupID,
  10987.             /* [in] */ LCID lcid,
  10988.             /* [out] */ BSTR __RPC_FAR *pbstrHelpFile,
  10989.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext) = 0;
  10990.         
  10991.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE ReleaseErrors( 
  10992.             /* [in] */ const DWORD dwDynamicErrorID) = 0;
  10993.         
  10994.     };
  10995.     
  10996. #else     /* C style interface */
  10997.  
  10998.     typedef struct IErrorLookupVtbl
  10999.     {
  11000.         BEGIN_INTERFACE
  11001.         
  11002.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11003.             IErrorLookup __RPC_FAR * This,
  11004.             /* [in] */ REFIID riid,
  11005.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11006.         
  11007.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11008.             IErrorLookup __RPC_FAR * This);
  11009.         
  11010.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11011.             IErrorLookup __RPC_FAR * This);
  11012.         
  11013.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetErrorDescription )( 
  11014.             IErrorLookup __RPC_FAR * This,
  11015.             /* [in] */ HRESULT hrError,
  11016.             /* [in] */ DWORD dwLookupID,
  11017.             /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  11018.             /* [in] */ LCID lcid,
  11019.             /* [out] */ BSTR __RPC_FAR *pbstrSource,
  11020.             /* [out] */ BSTR __RPC_FAR *pbstrDescription);
  11021.         
  11022.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetHelpInfo )( 
  11023.             IErrorLookup __RPC_FAR * This,
  11024.             /* [in] */ HRESULT hrError,
  11025.             /* [in] */ DWORD dwLookupID,
  11026.             /* [in] */ LCID lcid,
  11027.             /* [out] */ BSTR __RPC_FAR *pbstrHelpFile,
  11028.             /* [out] */ DWORD __RPC_FAR *pdwHelpContext);
  11029.         
  11030.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseErrors )( 
  11031.             IErrorLookup __RPC_FAR * This,
  11032.             /* [in] */ const DWORD dwDynamicErrorID);
  11033.         
  11034.         END_INTERFACE
  11035.     } IErrorLookupVtbl;
  11036.  
  11037.     interface IErrorLookup
  11038.     {
  11039.         CONST_VTBL struct IErrorLookupVtbl __RPC_FAR *lpVtbl;
  11040.     };
  11041.  
  11042.     
  11043.  
  11044. #ifdef COBJMACROS
  11045.  
  11046.  
  11047. #define IErrorLookup_QueryInterface(This,riid,ppvObject)    \
  11048.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11049.  
  11050. #define IErrorLookup_AddRef(This)    \
  11051.     (This)->lpVtbl -> AddRef(This)
  11052.  
  11053. #define IErrorLookup_Release(This)    \
  11054.     (This)->lpVtbl -> Release(This)
  11055.  
  11056.  
  11057. #define IErrorLookup_GetErrorDescription(This,hrError,dwLookupID,pdispparams,lcid,pbstrSource,pbstrDescription)    \
  11058.     (This)->lpVtbl -> GetErrorDescription(This,hrError,dwLookupID,pdispparams,lcid,pbstrSource,pbstrDescription)
  11059.  
  11060. #define IErrorLookup_GetHelpInfo(This,hrError,dwLookupID,lcid,pbstrHelpFile,pdwHelpContext)    \
  11061.     (This)->lpVtbl -> GetHelpInfo(This,hrError,dwLookupID,lcid,pbstrHelpFile,pdwHelpContext)
  11062.  
  11063. #define IErrorLookup_ReleaseErrors(This,dwDynamicErrorID)    \
  11064.     (This)->lpVtbl -> ReleaseErrors(This,dwDynamicErrorID)
  11065.  
  11066. #endif /* COBJMACROS */
  11067.  
  11068.  
  11069. #endif     /* C style interface */
  11070.  
  11071.  
  11072.  
  11073. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorLookup_RemoteGetErrorDescription_Proxy( 
  11074.     IErrorLookup __RPC_FAR * This,
  11075.     /* [in] */ HRESULT hrError,
  11076.     /* [in] */ DWORD dwLookupID,
  11077.     /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  11078.     /* [in] */ LCID lcid,
  11079.     /* [out] */ BSTR __RPC_FAR *pbstrSource,
  11080.     /* [out] */ BSTR __RPC_FAR *pbstrDescription,
  11081.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11082.  
  11083.  
  11084. void __RPC_STUB IErrorLookup_RemoteGetErrorDescription_Stub(
  11085.     IRpcStubBuffer *This,
  11086.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11087.     PRPC_MESSAGE _pRpcMessage,
  11088.     DWORD *_pdwStubPhase);
  11089.  
  11090.  
  11091. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorLookup_RemoteGetHelpInfo_Proxy( 
  11092.     IErrorLookup __RPC_FAR * This,
  11093.     /* [in] */ HRESULT hrError,
  11094.     /* [in] */ DWORD dwLookupID,
  11095.     /* [in] */ LCID lcid,
  11096.     /* [out] */ BSTR __RPC_FAR *pbstrHelpFile,
  11097.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  11098.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11099.  
  11100.  
  11101. void __RPC_STUB IErrorLookup_RemoteGetHelpInfo_Stub(
  11102.     IRpcStubBuffer *This,
  11103.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11104.     PRPC_MESSAGE _pRpcMessage,
  11105.     DWORD *_pdwStubPhase);
  11106.  
  11107.  
  11108. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorLookup_RemoteReleaseErrors_Proxy( 
  11109.     IErrorLookup __RPC_FAR * This,
  11110.     /* [in] */ const DWORD dwDynamicErrorID,
  11111.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11112.  
  11113.  
  11114. void __RPC_STUB IErrorLookup_RemoteReleaseErrors_Stub(
  11115.     IRpcStubBuffer *This,
  11116.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11117.     PRPC_MESSAGE _pRpcMessage,
  11118.     DWORD *_pdwStubPhase);
  11119.  
  11120.  
  11121.  
  11122. #endif     /* __IErrorLookup_INTERFACE_DEFINED__ */
  11123.  
  11124.  
  11125. #ifndef __ISQLErrorInfo_INTERFACE_DEFINED__
  11126. #define __ISQLErrorInfo_INTERFACE_DEFINED__
  11127.  
  11128. /* interface ISQLErrorInfo */
  11129. /* [unique][uuid][object] */ 
  11130.  
  11131.  
  11132. EXTERN_C const IID IID_ISQLErrorInfo;
  11133.  
  11134. #if defined(__cplusplus) && !defined(CINTERFACE)
  11135.     
  11136.     MIDL_INTERFACE("0c733a74-2a1c-11ce-ade5-00aa0044773d")
  11137.     ISQLErrorInfo : public IUnknown
  11138.     {
  11139.     public:
  11140.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSQLInfo( 
  11141.             /* [out] */ BSTR __RPC_FAR *pbstrSQLState,
  11142.             /* [out] */ LONG __RPC_FAR *plNativeError) = 0;
  11143.         
  11144.     };
  11145.     
  11146. #else     /* C style interface */
  11147.  
  11148.     typedef struct ISQLErrorInfoVtbl
  11149.     {
  11150.         BEGIN_INTERFACE
  11151.         
  11152.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11153.             ISQLErrorInfo __RPC_FAR * This,
  11154.             /* [in] */ REFIID riid,
  11155.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11156.         
  11157.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11158.             ISQLErrorInfo __RPC_FAR * This);
  11159.         
  11160.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11161.             ISQLErrorInfo __RPC_FAR * This);
  11162.         
  11163.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSQLInfo )( 
  11164.             ISQLErrorInfo __RPC_FAR * This,
  11165.             /* [out] */ BSTR __RPC_FAR *pbstrSQLState,
  11166.             /* [out] */ LONG __RPC_FAR *plNativeError);
  11167.         
  11168.         END_INTERFACE
  11169.     } ISQLErrorInfoVtbl;
  11170.  
  11171.     interface ISQLErrorInfo
  11172.     {
  11173.         CONST_VTBL struct ISQLErrorInfoVtbl __RPC_FAR *lpVtbl;
  11174.     };
  11175.  
  11176.     
  11177.  
  11178. #ifdef COBJMACROS
  11179.  
  11180.  
  11181. #define ISQLErrorInfo_QueryInterface(This,riid,ppvObject)    \
  11182.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11183.  
  11184. #define ISQLErrorInfo_AddRef(This)    \
  11185.     (This)->lpVtbl -> AddRef(This)
  11186.  
  11187. #define ISQLErrorInfo_Release(This)    \
  11188.     (This)->lpVtbl -> Release(This)
  11189.  
  11190.  
  11191. #define ISQLErrorInfo_GetSQLInfo(This,pbstrSQLState,plNativeError)    \
  11192.     (This)->lpVtbl -> GetSQLInfo(This,pbstrSQLState,plNativeError)
  11193.  
  11194. #endif /* COBJMACROS */
  11195.  
  11196.  
  11197. #endif     /* C style interface */
  11198.  
  11199.  
  11200.  
  11201. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISQLErrorInfo_RemoteGetSQLInfo_Proxy( 
  11202.     ISQLErrorInfo __RPC_FAR * This,
  11203.     /* [out] */ BSTR __RPC_FAR *pbstrSQLState,
  11204.     /* [out] */ LONG __RPC_FAR *plNativeError,
  11205.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11206.  
  11207.  
  11208. void __RPC_STUB ISQLErrorInfo_RemoteGetSQLInfo_Stub(
  11209.     IRpcStubBuffer *This,
  11210.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11211.     PRPC_MESSAGE _pRpcMessage,
  11212.     DWORD *_pdwStubPhase);
  11213.  
  11214.  
  11215.  
  11216. #endif     /* __ISQLErrorInfo_INTERFACE_DEFINED__ */
  11217.  
  11218.  
  11219. #ifndef __IGetDataSource_INTERFACE_DEFINED__
  11220. #define __IGetDataSource_INTERFACE_DEFINED__
  11221.  
  11222. /* interface IGetDataSource */
  11223. /* [unique][uuid][object] */ 
  11224.  
  11225.  
  11226. EXTERN_C const IID IID_IGetDataSource;
  11227.  
  11228. #if defined(__cplusplus) && !defined(CINTERFACE)
  11229.     
  11230.     MIDL_INTERFACE("0c733a75-2a1c-11ce-ade5-00aa0044773d")
  11231.     IGetDataSource : public IUnknown
  11232.     {
  11233.     public:
  11234.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDataSource( 
  11235.             /* [in] */ REFIID riid,
  11236.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDataSource) = 0;
  11237.         
  11238.     };
  11239.     
  11240. #else     /* C style interface */
  11241.  
  11242.     typedef struct IGetDataSourceVtbl
  11243.     {
  11244.         BEGIN_INTERFACE
  11245.         
  11246.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11247.             IGetDataSource __RPC_FAR * This,
  11248.             /* [in] */ REFIID riid,
  11249.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11250.         
  11251.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11252.             IGetDataSource __RPC_FAR * This);
  11253.         
  11254.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11255.             IGetDataSource __RPC_FAR * This);
  11256.         
  11257.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDataSource )( 
  11258.             IGetDataSource __RPC_FAR * This,
  11259.             /* [in] */ REFIID riid,
  11260.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDataSource);
  11261.         
  11262.         END_INTERFACE
  11263.     } IGetDataSourceVtbl;
  11264.  
  11265.     interface IGetDataSource
  11266.     {
  11267.         CONST_VTBL struct IGetDataSourceVtbl __RPC_FAR *lpVtbl;
  11268.     };
  11269.  
  11270.     
  11271.  
  11272. #ifdef COBJMACROS
  11273.  
  11274.  
  11275. #define IGetDataSource_QueryInterface(This,riid,ppvObject)    \
  11276.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11277.  
  11278. #define IGetDataSource_AddRef(This)    \
  11279.     (This)->lpVtbl -> AddRef(This)
  11280.  
  11281. #define IGetDataSource_Release(This)    \
  11282.     (This)->lpVtbl -> Release(This)
  11283.  
  11284.  
  11285. #define IGetDataSource_GetDataSource(This,riid,ppDataSource)    \
  11286.     (This)->lpVtbl -> GetDataSource(This,riid,ppDataSource)
  11287.  
  11288. #endif /* COBJMACROS */
  11289.  
  11290.  
  11291. #endif     /* C style interface */
  11292.  
  11293.  
  11294.  
  11295. /* [call_as] */ HRESULT STDMETHODCALLTYPE IGetDataSource_RemoteGetDataSource_Proxy( 
  11296.     IGetDataSource __RPC_FAR * This,
  11297.     /* [in] */ REFIID riid,
  11298.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDataSource,
  11299.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11300.  
  11301.  
  11302. void __RPC_STUB IGetDataSource_RemoteGetDataSource_Stub(
  11303.     IRpcStubBuffer *This,
  11304.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11305.     PRPC_MESSAGE _pRpcMessage,
  11306.     DWORD *_pdwStubPhase);
  11307.  
  11308.  
  11309.  
  11310. #endif     /* __IGetDataSource_INTERFACE_DEFINED__ */
  11311.  
  11312.  
  11313. #ifndef __ITransactionLocal_INTERFACE_DEFINED__
  11314. #define __ITransactionLocal_INTERFACE_DEFINED__
  11315.  
  11316. /* interface ITransactionLocal */
  11317. /* [unique][uuid][object] */ 
  11318.  
  11319.  
  11320. EXTERN_C const IID IID_ITransactionLocal;
  11321.  
  11322. #if defined(__cplusplus) && !defined(CINTERFACE)
  11323.     
  11324.     MIDL_INTERFACE("0c733a5f-2a1c-11ce-ade5-00aa0044773d")
  11325.     ITransactionLocal : public ITransaction
  11326.     {
  11327.     public:
  11328.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetOptionsObject( 
  11329.             /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions) = 0;
  11330.         
  11331.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE StartTransaction( 
  11332.             /* [in] */ ISOLEVEL isoLevel,
  11333.             /* [in] */ ULONG isoFlags,
  11334.             /* [in] */ ITransactionOptions __RPC_FAR *pOtherOptions,
  11335.             /* [out] */ ULONG __RPC_FAR *pulTransactionLevel) = 0;
  11336.         
  11337.     };
  11338.     
  11339. #else     /* C style interface */
  11340.  
  11341.     typedef struct ITransactionLocalVtbl
  11342.     {
  11343.         BEGIN_INTERFACE
  11344.         
  11345.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11346.             ITransactionLocal __RPC_FAR * This,
  11347.             /* [in] */ REFIID riid,
  11348.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11349.         
  11350.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11351.             ITransactionLocal __RPC_FAR * This);
  11352.         
  11353.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11354.             ITransactionLocal __RPC_FAR * This);
  11355.         
  11356.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Commit )( 
  11357.             ITransactionLocal __RPC_FAR * This,
  11358.             /* [in] */ BOOL fRetaining,
  11359.             /* [in] */ DWORD grfTC,
  11360.             /* [in] */ DWORD grfRM);
  11361.         
  11362.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Abort )( 
  11363.             ITransactionLocal __RPC_FAR * This,
  11364.             /* [unique][in] */ BOID __RPC_FAR *pboidReason,
  11365.             /* [in] */ BOOL fRetaining,
  11366.             /* [in] */ BOOL fAsync);
  11367.         
  11368.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTransactionInfo )( 
  11369.             ITransactionLocal __RPC_FAR * This,
  11370.             /* [out] */ XACTTRANSINFO __RPC_FAR *pinfo);
  11371.         
  11372.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOptionsObject )( 
  11373.             ITransactionLocal __RPC_FAR * This,
  11374.             /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions);
  11375.         
  11376.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StartTransaction )( 
  11377.             ITransactionLocal __RPC_FAR * This,
  11378.             /* [in] */ ISOLEVEL isoLevel,
  11379.             /* [in] */ ULONG isoFlags,
  11380.             /* [in] */ ITransactionOptions __RPC_FAR *pOtherOptions,
  11381.             /* [out] */ ULONG __RPC_FAR *pulTransactionLevel);
  11382.         
  11383.         END_INTERFACE
  11384.     } ITransactionLocalVtbl;
  11385.  
  11386.     interface ITransactionLocal
  11387.     {
  11388.         CONST_VTBL struct ITransactionLocalVtbl __RPC_FAR *lpVtbl;
  11389.     };
  11390.  
  11391.     
  11392.  
  11393. #ifdef COBJMACROS
  11394.  
  11395.  
  11396. #define ITransactionLocal_QueryInterface(This,riid,ppvObject)    \
  11397.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11398.  
  11399. #define ITransactionLocal_AddRef(This)    \
  11400.     (This)->lpVtbl -> AddRef(This)
  11401.  
  11402. #define ITransactionLocal_Release(This)    \
  11403.     (This)->lpVtbl -> Release(This)
  11404.  
  11405.  
  11406. #define ITransactionLocal_Commit(This,fRetaining,grfTC,grfRM)    \
  11407.     (This)->lpVtbl -> Commit(This,fRetaining,grfTC,grfRM)
  11408.  
  11409. #define ITransactionLocal_Abort(This,pboidReason,fRetaining,fAsync)    \
  11410.     (This)->lpVtbl -> Abort(This,pboidReason,fRetaining,fAsync)
  11411.  
  11412. #define ITransactionLocal_GetTransactionInfo(This,pinfo)    \
  11413.     (This)->lpVtbl -> GetTransactionInfo(This,pinfo)
  11414.  
  11415.  
  11416. #define ITransactionLocal_GetOptionsObject(This,ppOptions)    \
  11417.     (This)->lpVtbl -> GetOptionsObject(This,ppOptions)
  11418.  
  11419. #define ITransactionLocal_StartTransaction(This,isoLevel,isoFlags,pOtherOptions,pulTransactionLevel)    \
  11420.     (This)->lpVtbl -> StartTransaction(This,isoLevel,isoFlags,pOtherOptions,pulTransactionLevel)
  11421.  
  11422. #endif /* COBJMACROS */
  11423.  
  11424.  
  11425. #endif     /* C style interface */
  11426.  
  11427.  
  11428.  
  11429. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionLocal_RemoteGetOptionsObject_Proxy( 
  11430.     ITransactionLocal __RPC_FAR * This,
  11431.     /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions,
  11432.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11433.  
  11434.  
  11435. void __RPC_STUB ITransactionLocal_RemoteGetOptionsObject_Stub(
  11436.     IRpcStubBuffer *This,
  11437.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11438.     PRPC_MESSAGE _pRpcMessage,
  11439.     DWORD *_pdwStubPhase);
  11440.  
  11441.  
  11442. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionLocal_RemoteStartTransaction_Proxy( 
  11443.     ITransactionLocal __RPC_FAR * This,
  11444.     /* [in] */ ISOLEVEL isoLevel,
  11445.     /* [in] */ ULONG isoFlags,
  11446.     /* [in] */ ITransactionOptions __RPC_FAR *pOtherOptions,
  11447.     /* [unique][out][in] */ ULONG __RPC_FAR *pulTransactionLevel,
  11448.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11449.  
  11450.  
  11451. void __RPC_STUB ITransactionLocal_RemoteStartTransaction_Stub(
  11452.     IRpcStubBuffer *This,
  11453.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11454.     PRPC_MESSAGE _pRpcMessage,
  11455.     DWORD *_pdwStubPhase);
  11456.  
  11457.  
  11458.  
  11459. #endif     /* __ITransactionLocal_INTERFACE_DEFINED__ */
  11460.  
  11461.  
  11462. #ifndef __ITransactionJoin_INTERFACE_DEFINED__
  11463. #define __ITransactionJoin_INTERFACE_DEFINED__
  11464.  
  11465. /* interface ITransactionJoin */
  11466. /* [unique][uuid][object] */ 
  11467.  
  11468.  
  11469. EXTERN_C const IID IID_ITransactionJoin;
  11470.  
  11471. #if defined(__cplusplus) && !defined(CINTERFACE)
  11472.     
  11473.     MIDL_INTERFACE("0c733a5e-2a1c-11ce-ade5-00aa0044773d")
  11474.     ITransactionJoin : public IUnknown
  11475.     {
  11476.     public:
  11477.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetOptionsObject( 
  11478.             /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions) = 0;
  11479.         
  11480.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE JoinTransaction( 
  11481.             /* [in] */ IUnknown __RPC_FAR *punkTransactionCoord,
  11482.             /* [in] */ ISOLEVEL isoLevel,
  11483.             /* [in] */ ULONG isoFlags,
  11484.             /* [in] */ ITransactionOptions __RPC_FAR *pOtherOptions) = 0;
  11485.         
  11486.     };
  11487.     
  11488. #else     /* C style interface */
  11489.  
  11490.     typedef struct ITransactionJoinVtbl
  11491.     {
  11492.         BEGIN_INTERFACE
  11493.         
  11494.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11495.             ITransactionJoin __RPC_FAR * This,
  11496.             /* [in] */ REFIID riid,
  11497.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11498.         
  11499.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11500.             ITransactionJoin __RPC_FAR * This);
  11501.         
  11502.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11503.             ITransactionJoin __RPC_FAR * This);
  11504.         
  11505.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOptionsObject )( 
  11506.             ITransactionJoin __RPC_FAR * This,
  11507.             /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions);
  11508.         
  11509.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *JoinTransaction )( 
  11510.             ITransactionJoin __RPC_FAR * This,
  11511.             /* [in] */ IUnknown __RPC_FAR *punkTransactionCoord,
  11512.             /* [in] */ ISOLEVEL isoLevel,
  11513.             /* [in] */ ULONG isoFlags,
  11514.             /* [in] */ ITransactionOptions __RPC_FAR *pOtherOptions);
  11515.         
  11516.         END_INTERFACE
  11517.     } ITransactionJoinVtbl;
  11518.  
  11519.     interface ITransactionJoin
  11520.     {
  11521.         CONST_VTBL struct ITransactionJoinVtbl __RPC_FAR *lpVtbl;
  11522.     };
  11523.  
  11524.     
  11525.  
  11526. #ifdef COBJMACROS
  11527.  
  11528.  
  11529. #define ITransactionJoin_QueryInterface(This,riid,ppvObject)    \
  11530.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11531.  
  11532. #define ITransactionJoin_AddRef(This)    \
  11533.     (This)->lpVtbl -> AddRef(This)
  11534.  
  11535. #define ITransactionJoin_Release(This)    \
  11536.     (This)->lpVtbl -> Release(This)
  11537.  
  11538.  
  11539. #define ITransactionJoin_GetOptionsObject(This,ppOptions)    \
  11540.     (This)->lpVtbl -> GetOptionsObject(This,ppOptions)
  11541.  
  11542. #define ITransactionJoin_JoinTransaction(This,punkTransactionCoord,isoLevel,isoFlags,pOtherOptions)    \
  11543.     (This)->lpVtbl -> JoinTransaction(This,punkTransactionCoord,isoLevel,isoFlags,pOtherOptions)
  11544.  
  11545. #endif /* COBJMACROS */
  11546.  
  11547.  
  11548. #endif     /* C style interface */
  11549.  
  11550.  
  11551.  
  11552. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionJoin_RemoteGetOptionsObject_Proxy( 
  11553.     ITransactionJoin __RPC_FAR * This,
  11554.     /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions,
  11555.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11556.  
  11557.  
  11558. void __RPC_STUB ITransactionJoin_RemoteGetOptionsObject_Stub(
  11559.     IRpcStubBuffer *This,
  11560.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11561.     PRPC_MESSAGE _pRpcMessage,
  11562.     DWORD *_pdwStubPhase);
  11563.  
  11564.  
  11565. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionJoin_RemoteJoinTransaction_Proxy( 
  11566.     ITransactionJoin __RPC_FAR * This,
  11567.     /* [unique][in] */ IUnknown __RPC_FAR *punkTransactionCoord,
  11568.     /* [in] */ ISOLEVEL isoLevel,
  11569.     /* [in] */ ULONG isoFlags,
  11570.     /* [in] */ ITransactionOptions __RPC_FAR *pOtherOptions,
  11571.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11572.  
  11573.  
  11574. void __RPC_STUB ITransactionJoin_RemoteJoinTransaction_Stub(
  11575.     IRpcStubBuffer *This,
  11576.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11577.     PRPC_MESSAGE _pRpcMessage,
  11578.     DWORD *_pdwStubPhase);
  11579.  
  11580.  
  11581.  
  11582. #endif     /* __ITransactionJoin_INTERFACE_DEFINED__ */
  11583.  
  11584.  
  11585. #ifndef __ITransactionObject_INTERFACE_DEFINED__
  11586. #define __ITransactionObject_INTERFACE_DEFINED__
  11587.  
  11588. /* interface ITransactionObject */
  11589. /* [unique][uuid][object] */ 
  11590.  
  11591.  
  11592. EXTERN_C const IID IID_ITransactionObject;
  11593.  
  11594. #if defined(__cplusplus) && !defined(CINTERFACE)
  11595.     
  11596.     MIDL_INTERFACE("0c733a60-2a1c-11ce-ade5-00aa0044773d")
  11597.     ITransactionObject : public IUnknown
  11598.     {
  11599.     public:
  11600.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetTransactionObject( 
  11601.             /* [in] */ ULONG ulTransactionLevel,
  11602.             /* [out] */ ITransaction __RPC_FAR *__RPC_FAR *ppTransactionObject) = 0;
  11603.         
  11604.     };
  11605.     
  11606. #else     /* C style interface */
  11607.  
  11608.     typedef struct ITransactionObjectVtbl
  11609.     {
  11610.         BEGIN_INTERFACE
  11611.         
  11612.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11613.             ITransactionObject __RPC_FAR * This,
  11614.             /* [in] */ REFIID riid,
  11615.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11616.         
  11617.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11618.             ITransactionObject __RPC_FAR * This);
  11619.         
  11620.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11621.             ITransactionObject __RPC_FAR * This);
  11622.         
  11623.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTransactionObject )( 
  11624.             ITransactionObject __RPC_FAR * This,
  11625.             /* [in] */ ULONG ulTransactionLevel,
  11626.             /* [out] */ ITransaction __RPC_FAR *__RPC_FAR *ppTransactionObject);
  11627.         
  11628.         END_INTERFACE
  11629.     } ITransactionObjectVtbl;
  11630.  
  11631.     interface ITransactionObject
  11632.     {
  11633.         CONST_VTBL struct ITransactionObjectVtbl __RPC_FAR *lpVtbl;
  11634.     };
  11635.  
  11636.     
  11637.  
  11638. #ifdef COBJMACROS
  11639.  
  11640.  
  11641. #define ITransactionObject_QueryInterface(This,riid,ppvObject)    \
  11642.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11643.  
  11644. #define ITransactionObject_AddRef(This)    \
  11645.     (This)->lpVtbl -> AddRef(This)
  11646.  
  11647. #define ITransactionObject_Release(This)    \
  11648.     (This)->lpVtbl -> Release(This)
  11649.  
  11650.  
  11651. #define ITransactionObject_GetTransactionObject(This,ulTransactionLevel,ppTransactionObject)    \
  11652.     (This)->lpVtbl -> GetTransactionObject(This,ulTransactionLevel,ppTransactionObject)
  11653.  
  11654. #endif /* COBJMACROS */
  11655.  
  11656.  
  11657. #endif     /* C style interface */
  11658.  
  11659.  
  11660.  
  11661. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionObject_RemoteGetTransactionObject_Proxy( 
  11662.     ITransactionObject __RPC_FAR * This,
  11663.     /* [in] */ ULONG ulTransactionLevel,
  11664.     /* [out] */ ITransaction __RPC_FAR *__RPC_FAR *ppTransactionObject,
  11665.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  11666.  
  11667.  
  11668. void __RPC_STUB ITransactionObject_RemoteGetTransactionObject_Stub(
  11669.     IRpcStubBuffer *This,
  11670.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11671.     PRPC_MESSAGE _pRpcMessage,
  11672.     DWORD *_pdwStubPhase);
  11673.  
  11674.  
  11675.  
  11676. #endif     /* __ITransactionObject_INTERFACE_DEFINED__ */
  11677.  
  11678.  
  11679. /* interface __MIDL_itf_oledb_0324 */
  11680. /* [local] */ 
  11681.  
  11682. //@@@+ V2.1
  11683. #if( OLEDBVER >= 0x0210 )
  11684. #if 0  // to get around a MIDL limitation
  11685. typedef 
  11686. enum _TRUSTEE_TYPE
  11687.     {    TRUSTEE_IS_UNKNOWN    = 0,
  11688.     TRUSTEE_IS_USER    = TRUSTEE_IS_UNKNOWN + 1,
  11689.     TRUSTEE_IS_GROUP    = TRUSTEE_IS_USER + 1,
  11690.     TRUSTEE_IS_DOMAIN    = TRUSTEE_IS_GROUP + 1,
  11691.     TRUSTEE_IS_ALIAS    = TRUSTEE_IS_DOMAIN + 1,
  11692.     TRUSTEE_IS_WELL_KNOWN_GROUP    = TRUSTEE_IS_ALIAS + 1,
  11693.     TRUSTEE_IS_DELETED    = TRUSTEE_IS_WELL_KNOWN_GROUP + 1,
  11694.     TRUSTEE_IS_INVALID    = TRUSTEE_IS_DELETED + 1,
  11695.     TRUSTEE_IS_COMPUTER    = TRUSTEE_IS_INVALID + 1
  11696.     }    TRUSTEE_TYPE;
  11697.  
  11698. typedef 
  11699. enum _TRUSTEE_FORM
  11700.     {    TRUSTEE_IS_SID    = 0,
  11701.     TRUSTEE_IS_NAME    = TRUSTEE_IS_SID + 1,
  11702.     TRUSTEE_BAD_FORM    = TRUSTEE_IS_NAME + 1
  11703.     }    TRUSTEE_FORM;
  11704.  
  11705. typedef 
  11706. enum _MULTIPLE_TRUSTEE_OPERATION
  11707.     {    NO_MULTIPLE_TRUSTEE    = 0,
  11708.     TRUSTEE_IS_IMPERSONATE    = NO_MULTIPLE_TRUSTEE + 1
  11709.     }    MULTIPLE_TRUSTEE_OPERATION;
  11710.  
  11711. typedef struct _TRUSTEE_A
  11712.     {
  11713.     struct _TRUSTEE_A __RPC_FAR *pMultipleTrustee;
  11714.     MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation;
  11715.     TRUSTEE_FORM TrusteeForm;
  11716.     TRUSTEE_TYPE TrusteeType;
  11717.     /* [switch_is] */ /* [switch_type] */ union 
  11718.         {
  11719.         /* [case()] */ LPSTR ptstrName;
  11720.         /* [case()] */ SID __RPC_FAR *pSid;
  11721.         }    ;
  11722.     }    TRUSTEE_A;
  11723.  
  11724. typedef struct _TRUSTEE_A __RPC_FAR *PTRUSTEE_A;
  11725.  
  11726. typedef struct _TRUSTEE_A TRUSTEEA;
  11727.  
  11728. typedef struct _TRUSTEE_A __RPC_FAR *PTRUSTEEA;
  11729.  
  11730. typedef struct _TRUSTEE_W
  11731.     {
  11732.     struct _TRUSTEE_W __RPC_FAR *pMultipleTrustee;
  11733.     MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation;
  11734.     TRUSTEE_FORM TrusteeForm;
  11735.     TRUSTEE_TYPE TrusteeType;
  11736.     /* [switch_is] */ /* [switch_type] */ union 
  11737.         {
  11738.         /* [case()] */ LPWSTR ptstrName;
  11739.         /* [case()] */ SID __RPC_FAR *pSid;
  11740.         }    ;
  11741.     }    TRUSTEE_W;
  11742.  
  11743. typedef struct _TRUSTEE_W __RPC_FAR *PTRUSTEE_W;
  11744.  
  11745. typedef struct _TRUSTEE_W TRUSTEEW;
  11746.  
  11747. typedef struct _TRUSTEE_W __RPC_FAR *PTRUSTEEW;
  11748.  
  11749. typedef TRUSTEE_A TRUSTEE_;
  11750.  
  11751. typedef PTRUSTEE_A PTRUSTEE_;
  11752.  
  11753. typedef TRUSTEEA TRUSTEE;
  11754.  
  11755. typedef PTRUSTEEA PTRUSTEE;
  11756.  
  11757. typedef 
  11758. enum _ACCESS_MODE
  11759.     {    NOT_USED_ACCESS    = 0,
  11760.     GRANT_ACCESS    = NOT_USED_ACCESS + 1,
  11761.     SET_ACCESS    = GRANT_ACCESS + 1,
  11762.     DENY_ACCESS    = SET_ACCESS + 1,
  11763.     REVOKE_ACCESS    = DENY_ACCESS + 1,
  11764.     SET_AUDIT_SUCCESS    = REVOKE_ACCESS + 1,
  11765.     SET_AUDIT_FAILURE    = SET_AUDIT_SUCCESS + 1
  11766.     }    ACCESS_MODE;
  11767.  
  11768. typedef 
  11769. enum _SE_OBJECT_TYPE
  11770.     {    SE_UNKNOWN_OBJECT_TYPE    = 0,
  11771.     SE_FILE_OBJECT    = SE_UNKNOWN_OBJECT_TYPE + 1,
  11772.     SE_SERVICE    = SE_FILE_OBJECT + 1,
  11773.     SE_PRINTER    = SE_SERVICE + 1,
  11774.     SE_REGISTRY_KEY    = SE_PRINTER + 1,
  11775.     SE_LMSHARE    = SE_REGISTRY_KEY + 1,
  11776.     SE_KERNEL_OBJECT    = SE_LMSHARE + 1,
  11777.     SE_WINDOW_OBJECT    = SE_KERNEL_OBJECT + 1,
  11778.     SE_DS_OBJECT    = SE_WINDOW_OBJECT + 1,
  11779.     SE_DS_OBJECT_ALL    = SE_DS_OBJECT + 1,
  11780.     SE_PROVIDER_DEFINED_OBJECT    = SE_DS_OBJECT_ALL + 1,
  11781.     SE_WMIGUID_OBJECT    = SE_PROVIDER_DEFINED_OBJECT + 1
  11782.     }    SE_OBJECT_TYPE;
  11783.  
  11784. typedef struct _EXPLICIT_ACCESS_A
  11785.     {
  11786.     DWORD grfAccessPermissions;
  11787.     ACCESS_MODE grfAccessMode;
  11788.     DWORD grfInheritance;
  11789.     TRUSTEE_A Trustee;
  11790.     }    EXPLICIT_ACCESS_A;
  11791.  
  11792. typedef struct _EXPLICIT_ACCESS_A __RPC_FAR *PEXPLICIT_ACCESS_A;
  11793.  
  11794. typedef struct _EXPLICIT_ACCESS_A EXPLICIT_ACCESSA;
  11795.  
  11796. typedef struct _EXPLICIT_ACCESS_A __RPC_FAR *PEXPLICIT_ACCESSA;
  11797.  
  11798. typedef struct _EXPLICIT_ACCESS_W
  11799.     {
  11800.     DWORD grfAccessPermissions;
  11801.     ACCESS_MODE grfAccessMode;
  11802.     DWORD grfInheritance;
  11803.     TRUSTEE_W Trustee;
  11804.     }    EXPLICIT_ACCESS_W;
  11805.  
  11806. typedef struct _EXPLICIT_ACCESS_W __RPC_FAR *PEXPLICIT_ACCESS_W;
  11807.  
  11808. typedef struct _EXPLICIT_ACCESS_W EXPLICIT_ACCESSW;
  11809.  
  11810. typedef struct _EXPLICIT_ACCESS_W __RPC_FAR *PEXPLICIT_ACCESSW;
  11811.  
  11812. typedef EXPLICIT_ACCESS_A EXPLICIT_ACCESS_;
  11813.  
  11814. typedef PEXPLICIT_ACCESS_A PEXPLICIT_ACCESS_;
  11815.  
  11816. typedef EXPLICIT_ACCESSA EXPLICIT_ACCESS;
  11817.  
  11818. typedef PEXPLICIT_ACCESSA PEXPLICIT_ACCESS;
  11819.  
  11820. typedef ULONG ACCESS_RIGHTS;
  11821.  
  11822. typedef ULONG __RPC_FAR *PACCESS_RIGHTS;
  11823.  
  11824. typedef ULONG INHERIT_FLAGS;
  11825.  
  11826. typedef ULONG __RPC_FAR *PINHERIT_FLAGS;
  11827.  
  11828. typedef struct _ACTRL_ACCESS_ENTRYA
  11829.     {
  11830.     TRUSTEE_A Trustee;
  11831.     ULONG fAccessFlags;
  11832.     ACCESS_RIGHTS Access;
  11833.     ACCESS_RIGHTS ProvSpecificAccess;
  11834.     INHERIT_FLAGS Inheritance;
  11835.     LPSTR lpInheritProperty;
  11836.     }    ACTRL_ACCESS_ENTRYA;
  11837.  
  11838. typedef struct _ACTRL_ACCESS_ENTRYA __RPC_FAR *PACTRL_ACCESS_ENTRYA;
  11839.  
  11840. typedef struct _ACTRL_ACCESS_ENTRYW
  11841.     {
  11842.     TRUSTEE_W Trustee;
  11843.     ULONG fAccessFlags;
  11844.     ACCESS_RIGHTS Access;
  11845.     ACCESS_RIGHTS ProvSpecificAccess;
  11846.     INHERIT_FLAGS Inheritance;
  11847.     LPWSTR lpInheritProperty;
  11848.     }    ACTRL_ACCESS_ENTRYW;
  11849.  
  11850. typedef struct _ACTRL_ACCESS_ENTRYW __RPC_FAR *PACTRL_ACCESS_ENTRYW;
  11851.  
  11852. typedef ACTRL_ACCESS_ENTRYA ACTRL_ACCESS_ENTRY;
  11853.  
  11854. typedef PACTRL_ACCESS_ENTRYA PACTRL_ACCESS_ENTRY;
  11855.  
  11856. typedef struct _ACTRL_ACCESS_ENTRY_LISTA
  11857.     {
  11858.     ULONG cEntries;
  11859.     /* [size_is] */ ACTRL_ACCESS_ENTRYA __RPC_FAR *pAccessList;
  11860.     }    ACTRL_ACCESS_ENTRY_LISTA;
  11861.  
  11862. typedef struct _ACTRL_ACCESS_ENTRY_LISTA __RPC_FAR *PACTRL_ACCESS_ENTRY_LISTA;
  11863.  
  11864. typedef struct _ACTRL_ACCESS_ENTRY_LISTW
  11865.     {
  11866.     ULONG cEntries;
  11867.     /* [size_is] */ ACTRL_ACCESS_ENTRYW __RPC_FAR *pAccessList;
  11868.     }    ACTRL_ACCESS_ENTRY_LISTW;
  11869.  
  11870. typedef struct _ACTRL_ACCESS_ENTRY_LISTW __RPC_FAR *PACTRL_ACCESS_ENTRY_LISTW;
  11871.  
  11872. typedef ACTRL_ACCESS_ENTRY_LISTA ACTRL_ACCESS_ENTRY_LIST;
  11873.  
  11874. typedef PACTRL_ACCESS_ENTRY_LISTA PACTRL_ACCESS_ENTRY_LIST;
  11875.  
  11876. typedef struct _ACTRL_PROPERTY_ENTRYA
  11877.     {
  11878.     LPSTR lpProperty;
  11879.     PACTRL_ACCESS_ENTRY_LISTA pAccessEntryList;
  11880.     ULONG fListFlags;
  11881.     }    ACTRL_PROPERTY_ENTRYA;
  11882.  
  11883. typedef struct _ACTRL_PROPERTY_ENTRYA __RPC_FAR *PACTRL_PROPERTY_ENTRYA;
  11884.  
  11885. typedef struct _ACTRL_PROPERTY_ENTRYW
  11886.     {
  11887.     LPWSTR lpProperty;
  11888.     PACTRL_ACCESS_ENTRY_LISTW pAccessEntryList;
  11889.     ULONG fListFlags;
  11890.     }    ACTRL_PROPERTY_ENTRYW;
  11891.  
  11892. typedef struct _ACTRL_PROPERTY_ENTRYW __RPC_FAR *PACTRL_PROPERTY_ENTRYW;
  11893.  
  11894. typedef ACTRL_PROPERTY_ENTRYA ACTRL_PROPERTY_ENTRY;
  11895.  
  11896. typedef PACTRL_PROPERTY_ENTRYA PACTRL_PROPERTY_ENTRY;
  11897.  
  11898. typedef struct _ACTRL_ALISTA
  11899.     {
  11900.     ULONG cEntries;
  11901.     /* [size_is] */ PACTRL_PROPERTY_ENTRYA pPropertyAccessList;
  11902.     }    ACTRL_ACCESSA;
  11903.  
  11904. typedef struct _ACTRL_ALISTA __RPC_FAR *PACTRL_ACCESSA;
  11905.  
  11906. typedef struct _ACTRL_ALISTA ACTRL_AUDITA;
  11907.  
  11908. typedef struct _ACTRL_ALISTA __RPC_FAR *PACTRL_AUDITA;
  11909.  
  11910. typedef struct _ACTRL_ALISTW
  11911.     {
  11912.     ULONG cEntries;
  11913.     /* [size_is] */ PACTRL_PROPERTY_ENTRYW pPropertyAccessList;
  11914.     }    ACTRL_ACCESSW;
  11915.  
  11916. typedef struct _ACTRL_ALISTW __RPC_FAR *PACTRL_ACCESSW;
  11917.  
  11918. typedef struct _ACTRL_ALISTW ACTRL_AUDITW;
  11919.  
  11920. typedef struct _ACTRL_ALISTW __RPC_FAR *PACTRL_AUDITW;
  11921.  
  11922. typedef ACTRL_ACCESSA ACTRL_ACCESS;
  11923.  
  11924. typedef PACTRL_ACCESSA PACTRL_ACCESS;
  11925.  
  11926. typedef ACTRL_AUDITA ACTRL_AUDIT;
  11927.  
  11928. typedef PACTRL_AUDITA PACTRL_AUDIT;
  11929.  
  11930. typedef struct _TRUSTEE_ACCESSA
  11931.     {
  11932.     LPSTR lpProperty;
  11933.     ACCESS_RIGHTS Access;
  11934.     ULONG fAccessFlags;
  11935.     ULONG fReturnedAccess;
  11936.     }    TRUSTEE_ACCESSA;
  11937.  
  11938. typedef struct _TRUSTEE_ACCESSA __RPC_FAR *PTRUSTEE_ACCESSA;
  11939.  
  11940. typedef struct _TRUSTEE_ACCESSW
  11941.     {
  11942.     LPWSTR lpProperty;
  11943.     ACCESS_RIGHTS Access;
  11944.     ULONG fAccessFlags;
  11945.     ULONG fReturnedAccess;
  11946.     }    TRUSTEE_ACCESSW;
  11947.  
  11948. typedef struct _TRUSTEE_ACCESSW __RPC_FAR *PTRUSTEE_ACCESSW;
  11949.  
  11950. typedef TRUSTEE_ACCESSA TRUSTEE_ACCESS;
  11951.  
  11952. typedef PTRUSTEE_ACCESSA PTRUSTEE_ACCESS;
  11953.  
  11954. typedef struct _ACTRL_OVERLAPPED
  11955.     {
  11956.     union 
  11957.         {
  11958.         PVOID Provider;
  11959.         ULONG Reserved1;
  11960.         }    ;
  11961.     ULONG Reserved2;
  11962.     HANDLE hEvent;
  11963.     }    ACTRL_OVERLAPPED;
  11964.  
  11965. typedef struct _ACTRL_OVERLAPPED __RPC_FAR *PACTRL_OVERLAPPED;
  11966.  
  11967. typedef struct _ACTRL_ACCESS_INFOA
  11968.     {
  11969.     ULONG fAccessPermission;
  11970.     LPSTR lpAccessPermissionName;
  11971.     }    ACTRL_ACCESS_INFOA;
  11972.  
  11973. typedef struct _ACTRL_ACCESS_INFOA __RPC_FAR *PACTRL_ACCESS_INFOA;
  11974.  
  11975. typedef struct _ACTRL_ACCESS_INFOW
  11976.     {
  11977.     ULONG fAccessPermission;
  11978.     LPWSTR lpAccessPermissionName;
  11979.     }    ACTRL_ACCESS_INFOW;
  11980.  
  11981. typedef struct _ACTRL_ACCESS_INFOW __RPC_FAR *PACTRL_ACCESS_INFOW;
  11982.  
  11983. typedef ACTRL_ACCESS_INFOA ACTRL_ACCESS_INFO;
  11984.  
  11985. typedef PACTRL_ACCESS_INFOA PACTRL_ACCESS_INFO;
  11986.  
  11987. typedef struct _ACTRL_CONTROL_INFOA
  11988.     {
  11989.     LPSTR lpControlId;
  11990.     LPSTR lpControlName;
  11991.     }    ACTRL_CONTROL_INFOA;
  11992.  
  11993. typedef struct _ACTRL_CONTROL_INFOA __RPC_FAR *PACTRL_CONTROL_INFOA;
  11994.  
  11995. typedef struct _ACTRL_CONTROL_INFOW
  11996.     {
  11997.     LPWSTR lpControlId;
  11998.     LPWSTR lpControlName;
  11999.     }    ACTRL_CONTROL_INFOW;
  12000.  
  12001. typedef struct _ACTRL_CONTROL_INFOW __RPC_FAR *PACTRL_CONTROL_INFOW;
  12002.  
  12003. typedef ACTRL_CONTROL_INFOA ACTRL_CONTROL_INFO;
  12004.  
  12005. typedef PACTRL_CONTROL_INFOA PACTRL_CONTROL_INFO;
  12006.  
  12007. #else
  12008. #include <accctrl.h>
  12009. #endif
  12010.  
  12011.  
  12012. extern RPC_IF_HANDLE __MIDL_itf_oledb_0324_v0_0_c_ifspec;
  12013. extern RPC_IF_HANDLE __MIDL_itf_oledb_0324_v0_0_s_ifspec;
  12014.  
  12015. #ifndef __ITrusteeAdmin_INTERFACE_DEFINED__
  12016. #define __ITrusteeAdmin_INTERFACE_DEFINED__
  12017.  
  12018. /* interface ITrusteeAdmin */
  12019. /* [unique][uuid][object][local] */ 
  12020.  
  12021.  
  12022. EXTERN_C const IID IID_ITrusteeAdmin;
  12023.  
  12024. #if defined(__cplusplus) && !defined(CINTERFACE)
  12025.     
  12026.     MIDL_INTERFACE("0c733aa1-2a1c-11ce-ade5-00aa0044773d")
  12027.     ITrusteeAdmin : public IUnknown
  12028.     {
  12029.     public:
  12030.         virtual HRESULT STDMETHODCALLTYPE CompareTrustees( 
  12031.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee1,
  12032.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee2) = 0;
  12033.         
  12034.         virtual HRESULT STDMETHODCALLTYPE CreateTrustee( 
  12035.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  12036.             /* [in] */ ULONG cPropertySets,
  12037.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]) = 0;
  12038.         
  12039.         virtual HRESULT STDMETHODCALLTYPE DeleteTrustee( 
  12040.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee) = 0;
  12041.         
  12042.         virtual HRESULT STDMETHODCALLTYPE SetTrusteeProperties( 
  12043.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  12044.             /* [in] */ ULONG cPropertySets,
  12045.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]) = 0;
  12046.         
  12047.         virtual HRESULT STDMETHODCALLTYPE GetTrusteeProperties( 
  12048.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  12049.             /* [in] */ const ULONG cPropertyIDSets,
  12050.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  12051.             /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  12052.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets) = 0;
  12053.         
  12054.     };
  12055.     
  12056. #else     /* C style interface */
  12057.  
  12058.     typedef struct ITrusteeAdminVtbl
  12059.     {
  12060.         BEGIN_INTERFACE
  12061.         
  12062.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12063.             ITrusteeAdmin __RPC_FAR * This,
  12064.             /* [in] */ REFIID riid,
  12065.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12066.         
  12067.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12068.             ITrusteeAdmin __RPC_FAR * This);
  12069.         
  12070.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12071.             ITrusteeAdmin __RPC_FAR * This);
  12072.         
  12073.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CompareTrustees )( 
  12074.             ITrusteeAdmin __RPC_FAR * This,
  12075.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee1,
  12076.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee2);
  12077.         
  12078.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateTrustee )( 
  12079.             ITrusteeAdmin __RPC_FAR * This,
  12080.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  12081.             /* [in] */ ULONG cPropertySets,
  12082.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  12083.         
  12084.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteTrustee )( 
  12085.             ITrusteeAdmin __RPC_FAR * This,
  12086.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee);
  12087.         
  12088.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTrusteeProperties )( 
  12089.             ITrusteeAdmin __RPC_FAR * This,
  12090.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  12091.             /* [in] */ ULONG cPropertySets,
  12092.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  12093.         
  12094.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTrusteeProperties )( 
  12095.             ITrusteeAdmin __RPC_FAR * This,
  12096.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  12097.             /* [in] */ const ULONG cPropertyIDSets,
  12098.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  12099.             /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  12100.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets);
  12101.         
  12102.         END_INTERFACE
  12103.     } ITrusteeAdminVtbl;
  12104.  
  12105.     interface ITrusteeAdmin
  12106.     {
  12107.         CONST_VTBL struct ITrusteeAdminVtbl __RPC_FAR *lpVtbl;
  12108.     };
  12109.  
  12110.     
  12111.  
  12112. #ifdef COBJMACROS
  12113.  
  12114.  
  12115. #define ITrusteeAdmin_QueryInterface(This,riid,ppvObject)    \
  12116.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12117.  
  12118. #define ITrusteeAdmin_AddRef(This)    \
  12119.     (This)->lpVtbl -> AddRef(This)
  12120.  
  12121. #define ITrusteeAdmin_Release(This)    \
  12122.     (This)->lpVtbl -> Release(This)
  12123.  
  12124.  
  12125. #define ITrusteeAdmin_CompareTrustees(This,pTrustee1,pTrustee2)    \
  12126.     (This)->lpVtbl -> CompareTrustees(This,pTrustee1,pTrustee2)
  12127.  
  12128. #define ITrusteeAdmin_CreateTrustee(This,pTrustee,cPropertySets,rgPropertySets)    \
  12129.     (This)->lpVtbl -> CreateTrustee(This,pTrustee,cPropertySets,rgPropertySets)
  12130.  
  12131. #define ITrusteeAdmin_DeleteTrustee(This,pTrustee)    \
  12132.     (This)->lpVtbl -> DeleteTrustee(This,pTrustee)
  12133.  
  12134. #define ITrusteeAdmin_SetTrusteeProperties(This,pTrustee,cPropertySets,rgPropertySets)    \
  12135.     (This)->lpVtbl -> SetTrusteeProperties(This,pTrustee,cPropertySets,rgPropertySets)
  12136.  
  12137. #define ITrusteeAdmin_GetTrusteeProperties(This,pTrustee,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)    \
  12138.     (This)->lpVtbl -> GetTrusteeProperties(This,pTrustee,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  12139.  
  12140. #endif /* COBJMACROS */
  12141.  
  12142.  
  12143. #endif     /* C style interface */
  12144.  
  12145.  
  12146.  
  12147. HRESULT STDMETHODCALLTYPE ITrusteeAdmin_CompareTrustees_Proxy( 
  12148.     ITrusteeAdmin __RPC_FAR * This,
  12149.     /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee1,
  12150.     /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee2);
  12151.  
  12152.  
  12153. void __RPC_STUB ITrusteeAdmin_CompareTrustees_Stub(
  12154.     IRpcStubBuffer *This,
  12155.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12156.     PRPC_MESSAGE _pRpcMessage,
  12157.     DWORD *_pdwStubPhase);
  12158.  
  12159.  
  12160. HRESULT STDMETHODCALLTYPE ITrusteeAdmin_CreateTrustee_Proxy( 
  12161.     ITrusteeAdmin __RPC_FAR * This,
  12162.     /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  12163.     /* [in] */ ULONG cPropertySets,
  12164.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  12165.  
  12166.  
  12167. void __RPC_STUB ITrusteeAdmin_CreateTrustee_Stub(
  12168.     IRpcStubBuffer *This,
  12169.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12170.     PRPC_MESSAGE _pRpcMessage,
  12171.     DWORD *_pdwStubPhase);
  12172.  
  12173.  
  12174. HRESULT STDMETHODCALLTYPE ITrusteeAdmin_DeleteTrustee_Proxy( 
  12175.     ITrusteeAdmin __RPC_FAR * This,
  12176.     /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee);
  12177.  
  12178.  
  12179. void __RPC_STUB ITrusteeAdmin_DeleteTrustee_Stub(
  12180.     IRpcStubBuffer *This,
  12181.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12182.     PRPC_MESSAGE _pRpcMessage,
  12183.     DWORD *_pdwStubPhase);
  12184.  
  12185.  
  12186. HRESULT STDMETHODCALLTYPE ITrusteeAdmin_SetTrusteeProperties_Proxy( 
  12187.     ITrusteeAdmin __RPC_FAR * This,
  12188.     /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  12189.     /* [in] */ ULONG cPropertySets,
  12190.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  12191.  
  12192.  
  12193. void __RPC_STUB ITrusteeAdmin_SetTrusteeProperties_Stub(
  12194.     IRpcStubBuffer *This,
  12195.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12196.     PRPC_MESSAGE _pRpcMessage,
  12197.     DWORD *_pdwStubPhase);
  12198.  
  12199.  
  12200. HRESULT STDMETHODCALLTYPE ITrusteeAdmin_GetTrusteeProperties_Proxy( 
  12201.     ITrusteeAdmin __RPC_FAR * This,
  12202.     /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  12203.     /* [in] */ const ULONG cPropertyIDSets,
  12204.     /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  12205.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  12206.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets);
  12207.  
  12208.  
  12209. void __RPC_STUB ITrusteeAdmin_GetTrusteeProperties_Stub(
  12210.     IRpcStubBuffer *This,
  12211.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12212.     PRPC_MESSAGE _pRpcMessage,
  12213.     DWORD *_pdwStubPhase);
  12214.  
  12215.  
  12216.  
  12217. #endif     /* __ITrusteeAdmin_INTERFACE_DEFINED__ */
  12218.  
  12219.  
  12220. #ifndef __ITrusteeGroupAdmin_INTERFACE_DEFINED__
  12221. #define __ITrusteeGroupAdmin_INTERFACE_DEFINED__
  12222.  
  12223. /* interface ITrusteeGroupAdmin */
  12224. /* [unique][uuid][object][local] */ 
  12225.  
  12226.  
  12227. EXTERN_C const IID IID_ITrusteeGroupAdmin;
  12228.  
  12229. #if defined(__cplusplus) && !defined(CINTERFACE)
  12230.     
  12231.     MIDL_INTERFACE("0c733aa2-2a1c-11ce-ade5-00aa0044773d")
  12232.     ITrusteeGroupAdmin : public IUnknown
  12233.     {
  12234.     public:
  12235.         virtual HRESULT STDMETHODCALLTYPE AddMember( 
  12236.             /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  12237.             /* [in] */ TRUSTEE_W __RPC_FAR *pMemberTrustee) = 0;
  12238.         
  12239.         virtual HRESULT STDMETHODCALLTYPE DeleteMember( 
  12240.             /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  12241.             /* [in] */ TRUSTEE_W __RPC_FAR *pMemberTrustee) = 0;
  12242.         
  12243.         virtual HRESULT STDMETHODCALLTYPE IsMember( 
  12244.             /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  12245.             /* [in] */ TRUSTEE_W __RPC_FAR *pMemberTrustee,
  12246.             /* [out] */ BOOL __RPC_FAR *pfStatus) = 0;
  12247.         
  12248.         virtual HRESULT STDMETHODCALLTYPE GetMembers( 
  12249.             /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  12250.             /* [out] */ ULONG __RPC_FAR *pcMembers,
  12251.             /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *prgMembers) = 0;
  12252.         
  12253.         virtual HRESULT STDMETHODCALLTYPE GetMemberships( 
  12254.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  12255.             /* [out] */ ULONG __RPC_FAR *pcMemberships,
  12256.             /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *prgMemberships) = 0;
  12257.         
  12258.     };
  12259.     
  12260. #else     /* C style interface */
  12261.  
  12262.     typedef struct ITrusteeGroupAdminVtbl
  12263.     {
  12264.         BEGIN_INTERFACE
  12265.         
  12266.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12267.             ITrusteeGroupAdmin __RPC_FAR * This,
  12268.             /* [in] */ REFIID riid,
  12269.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12270.         
  12271.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12272.             ITrusteeGroupAdmin __RPC_FAR * This);
  12273.         
  12274.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12275.             ITrusteeGroupAdmin __RPC_FAR * This);
  12276.         
  12277.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddMember )( 
  12278.             ITrusteeGroupAdmin __RPC_FAR * This,
  12279.             /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  12280.             /* [in] */ TRUSTEE_W __RPC_FAR *pMemberTrustee);
  12281.         
  12282.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteMember )( 
  12283.             ITrusteeGroupAdmin __RPC_FAR * This,
  12284.             /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  12285.             /* [in] */ TRUSTEE_W __RPC_FAR *pMemberTrustee);
  12286.         
  12287.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsMember )( 
  12288.             ITrusteeGroupAdmin __RPC_FAR * This,
  12289.             /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  12290.             /* [in] */ TRUSTEE_W __RPC_FAR *pMemberTrustee,
  12291.             /* [out] */ BOOL __RPC_FAR *pfStatus);
  12292.         
  12293.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMembers )( 
  12294.             ITrusteeGroupAdmin __RPC_FAR * This,
  12295.             /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  12296.             /* [out] */ ULONG __RPC_FAR *pcMembers,
  12297.             /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *prgMembers);
  12298.         
  12299.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMemberships )( 
  12300.             ITrusteeGroupAdmin __RPC_FAR * This,
  12301.             /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  12302.             /* [out] */ ULONG __RPC_FAR *pcMemberships,
  12303.             /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *prgMemberships);
  12304.         
  12305.         END_INTERFACE
  12306.     } ITrusteeGroupAdminVtbl;
  12307.  
  12308.     interface ITrusteeGroupAdmin
  12309.     {
  12310.         CONST_VTBL struct ITrusteeGroupAdminVtbl __RPC_FAR *lpVtbl;
  12311.     };
  12312.  
  12313.     
  12314.  
  12315. #ifdef COBJMACROS
  12316.  
  12317.  
  12318. #define ITrusteeGroupAdmin_QueryInterface(This,riid,ppvObject)    \
  12319.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12320.  
  12321. #define ITrusteeGroupAdmin_AddRef(This)    \
  12322.     (This)->lpVtbl -> AddRef(This)
  12323.  
  12324. #define ITrusteeGroupAdmin_Release(This)    \
  12325.     (This)->lpVtbl -> Release(This)
  12326.  
  12327.  
  12328. #define ITrusteeGroupAdmin_AddMember(This,pMembershipTrustee,pMemberTrustee)    \
  12329.     (This)->lpVtbl -> AddMember(This,pMembershipTrustee,pMemberTrustee)
  12330.  
  12331. #define ITrusteeGroupAdmin_DeleteMember(This,pMembershipTrustee,pMemberTrustee)    \
  12332.     (This)->lpVtbl -> DeleteMember(This,pMembershipTrustee,pMemberTrustee)
  12333.  
  12334. #define ITrusteeGroupAdmin_IsMember(This,pMembershipTrustee,pMemberTrustee,pfStatus)    \
  12335.     (This)->lpVtbl -> IsMember(This,pMembershipTrustee,pMemberTrustee,pfStatus)
  12336.  
  12337. #define ITrusteeGroupAdmin_GetMembers(This,pMembershipTrustee,pcMembers,prgMembers)    \
  12338.     (This)->lpVtbl -> GetMembers(This,pMembershipTrustee,pcMembers,prgMembers)
  12339.  
  12340. #define ITrusteeGroupAdmin_GetMemberships(This,pTrustee,pcMemberships,prgMemberships)    \
  12341.     (This)->lpVtbl -> GetMemberships(This,pTrustee,pcMemberships,prgMemberships)
  12342.  
  12343. #endif /* COBJMACROS */
  12344.  
  12345.  
  12346. #endif     /* C style interface */
  12347.  
  12348.  
  12349.  
  12350. HRESULT STDMETHODCALLTYPE ITrusteeGroupAdmin_AddMember_Proxy( 
  12351.     ITrusteeGroupAdmin __RPC_FAR * This,
  12352.     /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  12353.     /* [in] */ TRUSTEE_W __RPC_FAR *pMemberTrustee);
  12354.  
  12355.  
  12356. void __RPC_STUB ITrusteeGroupAdmin_AddMember_Stub(
  12357.     IRpcStubBuffer *This,
  12358.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12359.     PRPC_MESSAGE _pRpcMessage,
  12360.     DWORD *_pdwStubPhase);
  12361.  
  12362.  
  12363. HRESULT STDMETHODCALLTYPE ITrusteeGroupAdmin_DeleteMember_Proxy( 
  12364.     ITrusteeGroupAdmin __RPC_FAR * This,
  12365.     /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  12366.     /* [in] */ TRUSTEE_W __RPC_FAR *pMemberTrustee);
  12367.  
  12368.  
  12369. void __RPC_STUB ITrusteeGroupAdmin_DeleteMember_Stub(
  12370.     IRpcStubBuffer *This,
  12371.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12372.     PRPC_MESSAGE _pRpcMessage,
  12373.     DWORD *_pdwStubPhase);
  12374.  
  12375.  
  12376. HRESULT STDMETHODCALLTYPE ITrusteeGroupAdmin_IsMember_Proxy( 
  12377.     ITrusteeGroupAdmin __RPC_FAR * This,
  12378.     /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  12379.     /* [in] */ TRUSTEE_W __RPC_FAR *pMemberTrustee,
  12380.     /* [out] */ BOOL __RPC_FAR *pfStatus);
  12381.  
  12382.  
  12383. void __RPC_STUB ITrusteeGroupAdmin_IsMember_Stub(
  12384.     IRpcStubBuffer *This,
  12385.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12386.     PRPC_MESSAGE _pRpcMessage,
  12387.     DWORD *_pdwStubPhase);
  12388.  
  12389.  
  12390. HRESULT STDMETHODCALLTYPE ITrusteeGroupAdmin_GetMembers_Proxy( 
  12391.     ITrusteeGroupAdmin __RPC_FAR * This,
  12392.     /* [in] */ TRUSTEE_W __RPC_FAR *pMembershipTrustee,
  12393.     /* [out] */ ULONG __RPC_FAR *pcMembers,
  12394.     /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *prgMembers);
  12395.  
  12396.  
  12397. void __RPC_STUB ITrusteeGroupAdmin_GetMembers_Stub(
  12398.     IRpcStubBuffer *This,
  12399.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12400.     PRPC_MESSAGE _pRpcMessage,
  12401.     DWORD *_pdwStubPhase);
  12402.  
  12403.  
  12404. HRESULT STDMETHODCALLTYPE ITrusteeGroupAdmin_GetMemberships_Proxy( 
  12405.     ITrusteeGroupAdmin __RPC_FAR * This,
  12406.     /* [in] */ TRUSTEE_W __RPC_FAR *pTrustee,
  12407.     /* [out] */ ULONG __RPC_FAR *pcMemberships,
  12408.     /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *prgMemberships);
  12409.  
  12410.  
  12411. void __RPC_STUB ITrusteeGroupAdmin_GetMemberships_Stub(
  12412.     IRpcStubBuffer *This,
  12413.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12414.     PRPC_MESSAGE _pRpcMessage,
  12415.     DWORD *_pdwStubPhase);
  12416.  
  12417.  
  12418.  
  12419. #endif     /* __ITrusteeGroupAdmin_INTERFACE_DEFINED__ */
  12420.  
  12421.  
  12422. #ifndef __IObjectAccessControl_INTERFACE_DEFINED__
  12423. #define __IObjectAccessControl_INTERFACE_DEFINED__
  12424.  
  12425. /* interface IObjectAccessControl */
  12426. /* [unique][uuid][object][local] */ 
  12427.  
  12428.  
  12429. EXTERN_C const IID IID_IObjectAccessControl;
  12430.  
  12431. #if defined(__cplusplus) && !defined(CINTERFACE)
  12432.     
  12433.     MIDL_INTERFACE("0c733aa3-2a1c-11ce-ade5-00aa0044773d")
  12434.     IObjectAccessControl : public IUnknown
  12435.     {
  12436.     public:
  12437.         virtual HRESULT STDMETHODCALLTYPE GetObjectAccessRights( 
  12438.             /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  12439.             /* [out][in] */ ULONG __RPC_FAR *pcAccessEntries,
  12440.             /* [out][in] */ EXPLICIT_ACCESS_W __RPC_FAR *__RPC_FAR *prgAccessEntries) = 0;
  12441.         
  12442.         virtual HRESULT STDMETHODCALLTYPE GetObjectOwner( 
  12443.             /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  12444.             /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *ppOwner) = 0;
  12445.         
  12446.         virtual HRESULT STDMETHODCALLTYPE IsObjectAccessAllowed( 
  12447.             /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  12448.             /* [in] */ EXPLICIT_ACCESS_W __RPC_FAR *pAccessEntry,
  12449.             /* [out] */ BOOL __RPC_FAR *pfResult) = 0;
  12450.         
  12451.         virtual HRESULT STDMETHODCALLTYPE SetObjectAccessRights( 
  12452.             /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  12453.             /* [in] */ ULONG cAccessEntries,
  12454.             /* [out][in] */ EXPLICIT_ACCESS_W __RPC_FAR *prgAccessEntries) = 0;
  12455.         
  12456.         virtual HRESULT STDMETHODCALLTYPE SetObjectOwner( 
  12457.             /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  12458.             /* [in] */ TRUSTEE_W __RPC_FAR *pOwner) = 0;
  12459.         
  12460.     };
  12461.     
  12462. #else     /* C style interface */
  12463.  
  12464.     typedef struct IObjectAccessControlVtbl
  12465.     {
  12466.         BEGIN_INTERFACE
  12467.         
  12468.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12469.             IObjectAccessControl __RPC_FAR * This,
  12470.             /* [in] */ REFIID riid,
  12471.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12472.         
  12473.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12474.             IObjectAccessControl __RPC_FAR * This);
  12475.         
  12476.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12477.             IObjectAccessControl __RPC_FAR * This);
  12478.         
  12479.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObjectAccessRights )( 
  12480.             IObjectAccessControl __RPC_FAR * This,
  12481.             /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  12482.             /* [out][in] */ ULONG __RPC_FAR *pcAccessEntries,
  12483.             /* [out][in] */ EXPLICIT_ACCESS_W __RPC_FAR *__RPC_FAR *prgAccessEntries);
  12484.         
  12485.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObjectOwner )( 
  12486.             IObjectAccessControl __RPC_FAR * This,
  12487.             /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  12488.             /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *ppOwner);
  12489.         
  12490.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsObjectAccessAllowed )( 
  12491.             IObjectAccessControl __RPC_FAR * This,
  12492.             /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  12493.             /* [in] */ EXPLICIT_ACCESS_W __RPC_FAR *pAccessEntry,
  12494.             /* [out] */ BOOL __RPC_FAR *pfResult);
  12495.         
  12496.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetObjectAccessRights )( 
  12497.             IObjectAccessControl __RPC_FAR * This,
  12498.             /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  12499.             /* [in] */ ULONG cAccessEntries,
  12500.             /* [out][in] */ EXPLICIT_ACCESS_W __RPC_FAR *prgAccessEntries);
  12501.         
  12502.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetObjectOwner )( 
  12503.             IObjectAccessControl __RPC_FAR * This,
  12504.             /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  12505.             /* [in] */ TRUSTEE_W __RPC_FAR *pOwner);
  12506.         
  12507.         END_INTERFACE
  12508.     } IObjectAccessControlVtbl;
  12509.  
  12510.     interface IObjectAccessControl
  12511.     {
  12512.         CONST_VTBL struct IObjectAccessControlVtbl __RPC_FAR *lpVtbl;
  12513.     };
  12514.  
  12515.     
  12516.  
  12517. #ifdef COBJMACROS
  12518.  
  12519.  
  12520. #define IObjectAccessControl_QueryInterface(This,riid,ppvObject)    \
  12521.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12522.  
  12523. #define IObjectAccessControl_AddRef(This)    \
  12524.     (This)->lpVtbl -> AddRef(This)
  12525.  
  12526. #define IObjectAccessControl_Release(This)    \
  12527.     (This)->lpVtbl -> Release(This)
  12528.  
  12529.  
  12530. #define IObjectAccessControl_GetObjectAccessRights(This,pObject,pcAccessEntries,prgAccessEntries)    \
  12531.     (This)->lpVtbl -> GetObjectAccessRights(This,pObject,pcAccessEntries,prgAccessEntries)
  12532.  
  12533. #define IObjectAccessControl_GetObjectOwner(This,pObject,ppOwner)    \
  12534.     (This)->lpVtbl -> GetObjectOwner(This,pObject,ppOwner)
  12535.  
  12536. #define IObjectAccessControl_IsObjectAccessAllowed(This,pObject,pAccessEntry,pfResult)    \
  12537.     (This)->lpVtbl -> IsObjectAccessAllowed(This,pObject,pAccessEntry,pfResult)
  12538.  
  12539. #define IObjectAccessControl_SetObjectAccessRights(This,pObject,cAccessEntries,prgAccessEntries)    \
  12540.     (This)->lpVtbl -> SetObjectAccessRights(This,pObject,cAccessEntries,prgAccessEntries)
  12541.  
  12542. #define IObjectAccessControl_SetObjectOwner(This,pObject,pOwner)    \
  12543.     (This)->lpVtbl -> SetObjectOwner(This,pObject,pOwner)
  12544.  
  12545. #endif /* COBJMACROS */
  12546.  
  12547.  
  12548. #endif     /* C style interface */
  12549.  
  12550.  
  12551.  
  12552. HRESULT STDMETHODCALLTYPE IObjectAccessControl_GetObjectAccessRights_Proxy( 
  12553.     IObjectAccessControl __RPC_FAR * This,
  12554.     /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  12555.     /* [out][in] */ ULONG __RPC_FAR *pcAccessEntries,
  12556.     /* [out][in] */ EXPLICIT_ACCESS_W __RPC_FAR *__RPC_FAR *prgAccessEntries);
  12557.  
  12558.  
  12559. void __RPC_STUB IObjectAccessControl_GetObjectAccessRights_Stub(
  12560.     IRpcStubBuffer *This,
  12561.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12562.     PRPC_MESSAGE _pRpcMessage,
  12563.     DWORD *_pdwStubPhase);
  12564.  
  12565.  
  12566. HRESULT STDMETHODCALLTYPE IObjectAccessControl_GetObjectOwner_Proxy( 
  12567.     IObjectAccessControl __RPC_FAR * This,
  12568.     /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  12569.     /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *ppOwner);
  12570.  
  12571.  
  12572. void __RPC_STUB IObjectAccessControl_GetObjectOwner_Stub(
  12573.     IRpcStubBuffer *This,
  12574.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12575.     PRPC_MESSAGE _pRpcMessage,
  12576.     DWORD *_pdwStubPhase);
  12577.  
  12578.  
  12579. HRESULT STDMETHODCALLTYPE IObjectAccessControl_IsObjectAccessAllowed_Proxy( 
  12580.     IObjectAccessControl __RPC_FAR * This,
  12581.     /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  12582.     /* [in] */ EXPLICIT_ACCESS_W __RPC_FAR *pAccessEntry,
  12583.     /* [out] */ BOOL __RPC_FAR *pfResult);
  12584.  
  12585.  
  12586. void __RPC_STUB IObjectAccessControl_IsObjectAccessAllowed_Stub(
  12587.     IRpcStubBuffer *This,
  12588.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12589.     PRPC_MESSAGE _pRpcMessage,
  12590.     DWORD *_pdwStubPhase);
  12591.  
  12592.  
  12593. HRESULT STDMETHODCALLTYPE IObjectAccessControl_SetObjectAccessRights_Proxy( 
  12594.     IObjectAccessControl __RPC_FAR * This,
  12595.     /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  12596.     /* [in] */ ULONG cAccessEntries,
  12597.     /* [out][in] */ EXPLICIT_ACCESS_W __RPC_FAR *prgAccessEntries);
  12598.  
  12599.  
  12600. void __RPC_STUB IObjectAccessControl_SetObjectAccessRights_Stub(
  12601.     IRpcStubBuffer *This,
  12602.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12603.     PRPC_MESSAGE _pRpcMessage,
  12604.     DWORD *_pdwStubPhase);
  12605.  
  12606.  
  12607. HRESULT STDMETHODCALLTYPE IObjectAccessControl_SetObjectOwner_Proxy( 
  12608.     IObjectAccessControl __RPC_FAR * This,
  12609.     /* [in] */ SEC_OBJECT __RPC_FAR *pObject,
  12610.     /* [in] */ TRUSTEE_W __RPC_FAR *pOwner);
  12611.  
  12612.  
  12613. void __RPC_STUB IObjectAccessControl_SetObjectOwner_Stub(
  12614.     IRpcStubBuffer *This,
  12615.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12616.     PRPC_MESSAGE _pRpcMessage,
  12617.     DWORD *_pdwStubPhase);
  12618.  
  12619.  
  12620.  
  12621. #endif     /* __IObjectAccessControl_INTERFACE_DEFINED__ */
  12622.  
  12623.  
  12624. #ifndef __ISecurityInfo_INTERFACE_DEFINED__
  12625. #define __ISecurityInfo_INTERFACE_DEFINED__
  12626.  
  12627. /* interface ISecurityInfo */
  12628. /* [unique][uuid][object][local] */ 
  12629.  
  12630. //@@@+ V2.1
  12631. #if( OLEDBVER >= 0x0210 )
  12632. typedef DWORD ACCESS_MASK;
  12633.  
  12634.  
  12635. enum ACCESS_MASKENUM
  12636.     {    PERM_EXCLUSIVE    = 0x200L,
  12637.     PERM_READDESIGN    = 0x400L,
  12638.     PERM_WRITEDESIGN    = 0x800L,
  12639.     PERM_WITHGRANT    = 0x1000L,
  12640.     PERM_REFERENCE    = 0x2000L,
  12641.     PERM_CREATE    = 0x4000L,
  12642.     PERM_INSERT    = 0x8000L,
  12643.     PERM_DELETE    = 0x10000L,
  12644.     PERM_READCONTROL    = 0x20000L,
  12645.     PERM_WRITEPERMISSIONS    = 0x40000L,
  12646.     PERM_WRITEOWNER    = 0x80000L,
  12647.     PERM_MAXIMUM_ALLOWED    = 0x2000000L,
  12648.     PERM_ALL    = 0x10000000L,
  12649.     PERM_EXECUTE    = 0x20000000L,
  12650.     PERM_READ    = 0x80000000L,
  12651.     PERM_UPDATE    = 0x40000000L,
  12652.     PERM_DROP    = 0x100L
  12653.     };
  12654. #define PERM_DESIGN                             PERM_WRITEDESIGN
  12655. #endif // OLEDBVER >= 0x0210
  12656. //@@@- V2.1
  12657.  
  12658. EXTERN_C const IID IID_ISecurityInfo;
  12659.  
  12660. #if defined(__cplusplus) && !defined(CINTERFACE)
  12661.     
  12662.     MIDL_INTERFACE("0c733aa4-2a1c-11ce-ade5-00aa0044773d")
  12663.     ISecurityInfo : public IUnknown
  12664.     {
  12665.     public:
  12666.         virtual HRESULT STDMETHODCALLTYPE GetCurrentTrustee( 
  12667.             /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *ppTrustee) = 0;
  12668.         
  12669.         virtual HRESULT STDMETHODCALLTYPE GetObjectTypes( 
  12670.             /* [out] */ ULONG __RPC_FAR *cObjectTypes,
  12671.             /* [out] */ GUID __RPC_FAR *__RPC_FAR *rgObjectTypes) = 0;
  12672.         
  12673.         virtual HRESULT STDMETHODCALLTYPE GetPermissions( 
  12674.             /* [in] */ GUID ObjectType,
  12675.             /* [out] */ ACCESS_MASK __RPC_FAR *pPermissions) = 0;
  12676.         
  12677.     };
  12678.     
  12679. #else     /* C style interface */
  12680.  
  12681.     typedef struct ISecurityInfoVtbl
  12682.     {
  12683.         BEGIN_INTERFACE
  12684.         
  12685.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12686.             ISecurityInfo __RPC_FAR * This,
  12687.             /* [in] */ REFIID riid,
  12688.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12689.         
  12690.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12691.             ISecurityInfo __RPC_FAR * This);
  12692.         
  12693.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12694.             ISecurityInfo __RPC_FAR * This);
  12695.         
  12696.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurrentTrustee )( 
  12697.             ISecurityInfo __RPC_FAR * This,
  12698.             /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *ppTrustee);
  12699.         
  12700.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObjectTypes )( 
  12701.             ISecurityInfo __RPC_FAR * This,
  12702.             /* [out] */ ULONG __RPC_FAR *cObjectTypes,
  12703.             /* [out] */ GUID __RPC_FAR *__RPC_FAR *rgObjectTypes);
  12704.         
  12705.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPermissions )( 
  12706.             ISecurityInfo __RPC_FAR * This,
  12707.             /* [in] */ GUID ObjectType,
  12708.             /* [out] */ ACCESS_MASK __RPC_FAR *pPermissions);
  12709.         
  12710.         END_INTERFACE
  12711.     } ISecurityInfoVtbl;
  12712.  
  12713.     interface ISecurityInfo
  12714.     {
  12715.         CONST_VTBL struct ISecurityInfoVtbl __RPC_FAR *lpVtbl;
  12716.     };
  12717.  
  12718.     
  12719.  
  12720. #ifdef COBJMACROS
  12721.  
  12722.  
  12723. #define ISecurityInfo_QueryInterface(This,riid,ppvObject)    \
  12724.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12725.  
  12726. #define ISecurityInfo_AddRef(This)    \
  12727.     (This)->lpVtbl -> AddRef(This)
  12728.  
  12729. #define ISecurityInfo_Release(This)    \
  12730.     (This)->lpVtbl -> Release(This)
  12731.  
  12732.  
  12733. #define ISecurityInfo_GetCurrentTrustee(This,ppTrustee)    \
  12734.     (This)->lpVtbl -> GetCurrentTrustee(This,ppTrustee)
  12735.  
  12736. #define ISecurityInfo_GetObjectTypes(This,cObjectTypes,rgObjectTypes)    \
  12737.     (This)->lpVtbl -> GetObjectTypes(This,cObjectTypes,rgObjectTypes)
  12738.  
  12739. #define ISecurityInfo_GetPermissions(This,ObjectType,pPermissions)    \
  12740.     (This)->lpVtbl -> GetPermissions(This,ObjectType,pPermissions)
  12741.  
  12742. #endif /* COBJMACROS */
  12743.  
  12744.  
  12745. #endif     /* C style interface */
  12746.  
  12747.  
  12748.  
  12749. HRESULT STDMETHODCALLTYPE ISecurityInfo_GetCurrentTrustee_Proxy( 
  12750.     ISecurityInfo __RPC_FAR * This,
  12751.     /* [out] */ TRUSTEE_W __RPC_FAR *__RPC_FAR *ppTrustee);
  12752.  
  12753.  
  12754. void __RPC_STUB ISecurityInfo_GetCurrentTrustee_Stub(
  12755.     IRpcStubBuffer *This,
  12756.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12757.     PRPC_MESSAGE _pRpcMessage,
  12758.     DWORD *_pdwStubPhase);
  12759.  
  12760.  
  12761. HRESULT STDMETHODCALLTYPE ISecurityInfo_GetObjectTypes_Proxy( 
  12762.     ISecurityInfo __RPC_FAR * This,
  12763.     /* [out] */ ULONG __RPC_FAR *cObjectTypes,
  12764.     /* [out] */ GUID __RPC_FAR *__RPC_FAR *rgObjectTypes);
  12765.  
  12766.  
  12767. void __RPC_STUB ISecurityInfo_GetObjectTypes_Stub(
  12768.     IRpcStubBuffer *This,
  12769.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12770.     PRPC_MESSAGE _pRpcMessage,
  12771.     DWORD *_pdwStubPhase);
  12772.  
  12773.  
  12774. HRESULT STDMETHODCALLTYPE ISecurityInfo_GetPermissions_Proxy( 
  12775.     ISecurityInfo __RPC_FAR * This,
  12776.     /* [in] */ GUID ObjectType,
  12777.     /* [out] */ ACCESS_MASK __RPC_FAR *pPermissions);
  12778.  
  12779.  
  12780. void __RPC_STUB ISecurityInfo_GetPermissions_Stub(
  12781.     IRpcStubBuffer *This,
  12782.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12783.     PRPC_MESSAGE _pRpcMessage,
  12784.     DWORD *_pdwStubPhase);
  12785.  
  12786.  
  12787.  
  12788. #endif     /* __ISecurityInfo_INTERFACE_DEFINED__ */
  12789.  
  12790.  
  12791. #ifndef __ITableCreation_INTERFACE_DEFINED__
  12792. #define __ITableCreation_INTERFACE_DEFINED__
  12793.  
  12794. /* interface ITableCreation */
  12795. /* [unique][uuid][object][local] */ 
  12796.  
  12797.  
  12798. EXTERN_C const IID IID_ITableCreation;
  12799.  
  12800. #if defined(__cplusplus) && !defined(CINTERFACE)
  12801.     
  12802.     MIDL_INTERFACE("0c733abc-2a1c-11ce-ade5-00aa0044773d")
  12803.     ITableCreation : public ITableDefinition
  12804.     {
  12805.     public:
  12806.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetTableDefinition( 
  12807.             /* [in] */ DBID __RPC_FAR *pTableID,
  12808.             /* [out] */ DBORDINAL __RPC_FAR *pcColumnDescs,
  12809.             /* [size_is][size_is][out] */ DBCOLUMNDESC __RPC_FAR *__RPC_FAR prgColumnDescs[  ],
  12810.             /* [out] */ ULONG __RPC_FAR *pcPropertySets,
  12811.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR prgPropertySets[  ],
  12812.             /* [out] */ ULONG __RPC_FAR *pcConstraintDescs,
  12813.             /* [size_is][size_is][out] */ DBCONSTRAINTDESC __RPC_FAR *__RPC_FAR prgConstraintDescs[  ],
  12814.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppwszStringBuffer) = 0;
  12815.         
  12816.     };
  12817.     
  12818. #else     /* C style interface */
  12819.  
  12820.     typedef struct ITableCreationVtbl
  12821.     {
  12822.         BEGIN_INTERFACE
  12823.         
  12824.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12825.             ITableCreation __RPC_FAR * This,
  12826.             /* [in] */ REFIID riid,
  12827.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12828.         
  12829.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12830.             ITableCreation __RPC_FAR * This);
  12831.         
  12832.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12833.             ITableCreation __RPC_FAR * This);
  12834.         
  12835.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateTable )( 
  12836.             ITableCreation __RPC_FAR * This,
  12837.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  12838.             /* [in] */ DBID __RPC_FAR *pTableID,
  12839.             /* [in] */ DBORDINAL cColumnDescs,
  12840.             /* [size_is][in] */ const DBCOLUMNDESC __RPC_FAR rgColumnDescs[  ],
  12841.             /* [in] */ REFIID riid,
  12842.             /* [in] */ ULONG cPropertySets,
  12843.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  12844.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppTableID,
  12845.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  12846.         
  12847.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DropTable )( 
  12848.             ITableCreation __RPC_FAR * This,
  12849.             /* [unique][in] */ DBID __RPC_FAR *pTableID);
  12850.         
  12851.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddColumn )( 
  12852.             ITableCreation __RPC_FAR * This,
  12853.             /* [in] */ DBID __RPC_FAR *pTableID,
  12854.             /* [out][in] */ DBCOLUMNDESC __RPC_FAR *pColumnDesc,
  12855.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppColumnID);
  12856.         
  12857.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DropColumn )( 
  12858.             ITableCreation __RPC_FAR * This,
  12859.             /* [unique][in] */ DBID __RPC_FAR *pTableID,
  12860.             /* [unique][in] */ DBID __RPC_FAR *pColumnID);
  12861.         
  12862.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTableDefinition )( 
  12863.             ITableCreation __RPC_FAR * This,
  12864.             /* [in] */ DBID __RPC_FAR *pTableID,
  12865.             /* [out] */ DBORDINAL __RPC_FAR *pcColumnDescs,
  12866.             /* [size_is][size_is][out] */ DBCOLUMNDESC __RPC_FAR *__RPC_FAR prgColumnDescs[  ],
  12867.             /* [out] */ ULONG __RPC_FAR *pcPropertySets,
  12868.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR prgPropertySets[  ],
  12869.             /* [out] */ ULONG __RPC_FAR *pcConstraintDescs,
  12870.             /* [size_is][size_is][out] */ DBCONSTRAINTDESC __RPC_FAR *__RPC_FAR prgConstraintDescs[  ],
  12871.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppwszStringBuffer);
  12872.         
  12873.         END_INTERFACE
  12874.     } ITableCreationVtbl;
  12875.  
  12876.     interface ITableCreation
  12877.     {
  12878.         CONST_VTBL struct ITableCreationVtbl __RPC_FAR *lpVtbl;
  12879.     };
  12880.  
  12881.     
  12882.  
  12883. #ifdef COBJMACROS
  12884.  
  12885.  
  12886. #define ITableCreation_QueryInterface(This,riid,ppvObject)    \
  12887.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12888.  
  12889. #define ITableCreation_AddRef(This)    \
  12890.     (This)->lpVtbl -> AddRef(This)
  12891.  
  12892. #define ITableCreation_Release(This)    \
  12893.     (This)->lpVtbl -> Release(This)
  12894.  
  12895.  
  12896. #define ITableCreation_CreateTable(This,pUnkOuter,pTableID,cColumnDescs,rgColumnDescs,riid,cPropertySets,rgPropertySets,ppTableID,ppRowset)    \
  12897.     (This)->lpVtbl -> CreateTable(This,pUnkOuter,pTableID,cColumnDescs,rgColumnDescs,riid,cPropertySets,rgPropertySets,ppTableID,ppRowset)
  12898.  
  12899. #define ITableCreation_DropTable(This,pTableID)    \
  12900.     (This)->lpVtbl -> DropTable(This,pTableID)
  12901.  
  12902. #define ITableCreation_AddColumn(This,pTableID,pColumnDesc,ppColumnID)    \
  12903.     (This)->lpVtbl -> AddColumn(This,pTableID,pColumnDesc,ppColumnID)
  12904.  
  12905. #define ITableCreation_DropColumn(This,pTableID,pColumnID)    \
  12906.     (This)->lpVtbl -> DropColumn(This,pTableID,pColumnID)
  12907.  
  12908.  
  12909. #define ITableCreation_GetTableDefinition(This,pTableID,pcColumnDescs,prgColumnDescs,pcPropertySets,prgPropertySets,pcConstraintDescs,prgConstraintDescs,ppwszStringBuffer)    \
  12910.     (This)->lpVtbl -> GetTableDefinition(This,pTableID,pcColumnDescs,prgColumnDescs,pcPropertySets,prgPropertySets,pcConstraintDescs,prgConstraintDescs,ppwszStringBuffer)
  12911.  
  12912. #endif /* COBJMACROS */
  12913.  
  12914.  
  12915. #endif     /* C style interface */
  12916.  
  12917.  
  12918.  
  12919. /* [local] */ HRESULT STDMETHODCALLTYPE ITableCreation_GetTableDefinition_Proxy( 
  12920.     ITableCreation __RPC_FAR * This,
  12921.     /* [in] */ DBID __RPC_FAR *pTableID,
  12922.     /* [out] */ DBORDINAL __RPC_FAR *pcColumnDescs,
  12923.     /* [size_is][size_is][out] */ DBCOLUMNDESC __RPC_FAR *__RPC_FAR prgColumnDescs[  ],
  12924.     /* [out] */ ULONG __RPC_FAR *pcPropertySets,
  12925.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR prgPropertySets[  ],
  12926.     /* [out] */ ULONG __RPC_FAR *pcConstraintDescs,
  12927.     /* [size_is][size_is][out] */ DBCONSTRAINTDESC __RPC_FAR *__RPC_FAR prgConstraintDescs[  ],
  12928.     /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppwszStringBuffer);
  12929.  
  12930.  
  12931. void __RPC_STUB ITableCreation_GetTableDefinition_Stub(
  12932.     IRpcStubBuffer *This,
  12933.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12934.     PRPC_MESSAGE _pRpcMessage,
  12935.     DWORD *_pdwStubPhase);
  12936.  
  12937.  
  12938.  
  12939. #endif     /* __ITableCreation_INTERFACE_DEFINED__ */
  12940.  
  12941.  
  12942. #ifndef __ITableDefinitionWithConstraints_INTERFACE_DEFINED__
  12943. #define __ITableDefinitionWithConstraints_INTERFACE_DEFINED__
  12944.  
  12945. /* interface ITableDefinitionWithConstraints */
  12946. /* [unique][uuid][object][local] */ 
  12947.  
  12948.  
  12949. EXTERN_C const IID IID_ITableDefinitionWithConstraints;
  12950.  
  12951. #if defined(__cplusplus) && !defined(CINTERFACE)
  12952.     
  12953.     MIDL_INTERFACE("0c733aab-2a1c-11ce-ade5-00aa0044773d")
  12954.     ITableDefinitionWithConstraints : public ITableCreation
  12955.     {
  12956.     public:
  12957.         virtual HRESULT STDMETHODCALLTYPE AddConstraint( 
  12958.             /* [in] */ DBID __RPC_FAR *pTableID,
  12959.             /* [in] */ DBCONSTRAINTDESC __RPC_FAR *pConstraintDesc) = 0;
  12960.         
  12961.         virtual HRESULT STDMETHODCALLTYPE CreateTableWithConstraints( 
  12962.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  12963.             /* [in] */ DBID __RPC_FAR *pTableID,
  12964.             /* [in] */ DBORDINAL cColumnDescs,
  12965.             /* [out][size_is][in] */ DBCOLUMNDESC __RPC_FAR rgColumnDescs[  ],
  12966.             /* [in] */ ULONG cConstraintDescs,
  12967.             /* [size_is][in] */ DBCONSTRAINTDESC __RPC_FAR rgConstraintDescs[  ],
  12968.             /* [in] */ REFIID riid,
  12969.             /* [in] */ ULONG cPropertySets,
  12970.             /* [out][size_is][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  12971.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppTableID,
  12972.             /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  12973.         
  12974.         virtual HRESULT STDMETHODCALLTYPE DropConstraint( 
  12975.             /* [in] */ DBID __RPC_FAR *pTableID,
  12976.             /* [in] */ DBID __RPC_FAR *pConstraintID) = 0;
  12977.         
  12978.     };
  12979.     
  12980. #else     /* C style interface */
  12981.  
  12982.     typedef struct ITableDefinitionWithConstraintsVtbl
  12983.     {
  12984.         BEGIN_INTERFACE
  12985.         
  12986.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12987.             ITableDefinitionWithConstraints __RPC_FAR * This,
  12988.             /* [in] */ REFIID riid,
  12989.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12990.         
  12991.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12992.             ITableDefinitionWithConstraints __RPC_FAR * This);
  12993.         
  12994.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12995.             ITableDefinitionWithConstraints __RPC_FAR * This);
  12996.         
  12997.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateTable )( 
  12998.             ITableDefinitionWithConstraints __RPC_FAR * This,
  12999.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  13000.             /* [in] */ DBID __RPC_FAR *pTableID,
  13001.             /* [in] */ DBORDINAL cColumnDescs,
  13002.             /* [size_is][in] */ const DBCOLUMNDESC __RPC_FAR rgColumnDescs[  ],
  13003.             /* [in] */ REFIID riid,
  13004.             /* [in] */ ULONG cPropertySets,
  13005.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  13006.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppTableID,
  13007.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  13008.         
  13009.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DropTable )( 
  13010.             ITableDefinitionWithConstraints __RPC_FAR * This,
  13011.             /* [unique][in] */ DBID __RPC_FAR *pTableID);
  13012.         
  13013.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddColumn )( 
  13014.             ITableDefinitionWithConstraints __RPC_FAR * This,
  13015.             /* [in] */ DBID __RPC_FAR *pTableID,
  13016.             /* [out][in] */ DBCOLUMNDESC __RPC_FAR *pColumnDesc,
  13017.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppColumnID);
  13018.         
  13019.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DropColumn )( 
  13020.             ITableDefinitionWithConstraints __RPC_FAR * This,
  13021.             /* [unique][in] */ DBID __RPC_FAR *pTableID,
  13022.             /* [unique][in] */ DBID __RPC_FAR *pColumnID);
  13023.         
  13024.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTableDefinition )( 
  13025.             ITableDefinitionWithConstraints __RPC_FAR * This,
  13026.             /* [in] */ DBID __RPC_FAR *pTableID,
  13027.             /* [out] */ DBORDINAL __RPC_FAR *pcColumnDescs,
  13028.             /* [size_is][size_is][out] */ DBCOLUMNDESC __RPC_FAR *__RPC_FAR prgColumnDescs[  ],
  13029.             /* [out] */ ULONG __RPC_FAR *pcPropertySets,
  13030.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR prgPropertySets[  ],
  13031.             /* [out] */ ULONG __RPC_FAR *pcConstraintDescs,
  13032.             /* [size_is][size_is][out] */ DBCONSTRAINTDESC __RPC_FAR *__RPC_FAR prgConstraintDescs[  ],
  13033.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppwszStringBuffer);
  13034.         
  13035.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddConstraint )( 
  13036.             ITableDefinitionWithConstraints __RPC_FAR * This,
  13037.             /* [in] */ DBID __RPC_FAR *pTableID,
  13038.             /* [in] */ DBCONSTRAINTDESC __RPC_FAR *pConstraintDesc);
  13039.         
  13040.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateTableWithConstraints )( 
  13041.             ITableDefinitionWithConstraints __RPC_FAR * This,
  13042.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  13043.             /* [in] */ DBID __RPC_FAR *pTableID,
  13044.             /* [in] */ DBORDINAL cColumnDescs,
  13045.             /* [out][size_is][in] */ DBCOLUMNDESC __RPC_FAR rgColumnDescs[  ],
  13046.             /* [in] */ ULONG cConstraintDescs,
  13047.             /* [size_is][in] */ DBCONSTRAINTDESC __RPC_FAR rgConstraintDescs[  ],
  13048.             /* [in] */ REFIID riid,
  13049.             /* [in] */ ULONG cPropertySets,
  13050.             /* [out][size_is][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  13051.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppTableID,
  13052.             /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  13053.         
  13054.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DropConstraint )( 
  13055.             ITableDefinitionWithConstraints __RPC_FAR * This,
  13056.             /* [in] */ DBID __RPC_FAR *pTableID,
  13057.             /* [in] */ DBID __RPC_FAR *pConstraintID);
  13058.         
  13059.         END_INTERFACE
  13060.     } ITableDefinitionWithConstraintsVtbl;
  13061.  
  13062.     interface ITableDefinitionWithConstraints
  13063.     {
  13064.         CONST_VTBL struct ITableDefinitionWithConstraintsVtbl __RPC_FAR *lpVtbl;
  13065.     };
  13066.  
  13067.     
  13068.  
  13069. #ifdef COBJMACROS
  13070.  
  13071.  
  13072. #define ITableDefinitionWithConstraints_QueryInterface(This,riid,ppvObject)    \
  13073.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13074.  
  13075. #define ITableDefinitionWithConstraints_AddRef(This)    \
  13076.     (This)->lpVtbl -> AddRef(This)
  13077.  
  13078. #define ITableDefinitionWithConstraints_Release(This)    \
  13079.     (This)->lpVtbl -> Release(This)
  13080.  
  13081.  
  13082. #define ITableDefinitionWithConstraints_CreateTable(This,pUnkOuter,pTableID,cColumnDescs,rgColumnDescs,riid,cPropertySets,rgPropertySets,ppTableID,ppRowset)    \
  13083.     (This)->lpVtbl -> CreateTable(This,pUnkOuter,pTableID,cColumnDescs,rgColumnDescs,riid,cPropertySets,rgPropertySets,ppTableID,ppRowset)
  13084.  
  13085. #define ITableDefinitionWithConstraints_DropTable(This,pTableID)    \
  13086.     (This)->lpVtbl -> DropTable(This,pTableID)
  13087.  
  13088. #define ITableDefinitionWithConstraints_AddColumn(This,pTableID,pColumnDesc,ppColumnID)    \
  13089.     (This)->lpVtbl -> AddColumn(This,pTableID,pColumnDesc,ppColumnID)
  13090.  
  13091. #define ITableDefinitionWithConstraints_DropColumn(This,pTableID,pColumnID)    \
  13092.     (This)->lpVtbl -> DropColumn(This,pTableID,pColumnID)
  13093.  
  13094.  
  13095. #define ITableDefinitionWithConstraints_GetTableDefinition(This,pTableID,pcColumnDescs,prgColumnDescs,pcPropertySets,prgPropertySets,pcConstraintDescs,prgConstraintDescs,ppwszStringBuffer)    \
  13096.     (This)->lpVtbl -> GetTableDefinition(This,pTableID,pcColumnDescs,prgColumnDescs,pcPropertySets,prgPropertySets,pcConstraintDescs,prgConstraintDescs,ppwszStringBuffer)
  13097.  
  13098.  
  13099. #define ITableDefinitionWithConstraints_AddConstraint(This,pTableID,pConstraintDesc)    \
  13100.     (This)->lpVtbl -> AddConstraint(This,pTableID,pConstraintDesc)
  13101.  
  13102. #define ITableDefinitionWithConstraints_CreateTableWithConstraints(This,pUnkOuter,pTableID,cColumnDescs,rgColumnDescs,cConstraintDescs,rgConstraintDescs,riid,cPropertySets,rgPropertySets,ppTableID,ppRowset)    \
  13103.     (This)->lpVtbl -> CreateTableWithConstraints(This,pUnkOuter,pTableID,cColumnDescs,rgColumnDescs,cConstraintDescs,rgConstraintDescs,riid,cPropertySets,rgPropertySets,ppTableID,ppRowset)
  13104.  
  13105. #define ITableDefinitionWithConstraints_DropConstraint(This,pTableID,pConstraintID)    \
  13106.     (This)->lpVtbl -> DropConstraint(This,pTableID,pConstraintID)
  13107.  
  13108. #endif /* COBJMACROS */
  13109.  
  13110.  
  13111. #endif     /* C style interface */
  13112.  
  13113.  
  13114.  
  13115. HRESULT STDMETHODCALLTYPE ITableDefinitionWithConstraints_AddConstraint_Proxy( 
  13116.     ITableDefinitionWithConstraints __RPC_FAR * This,
  13117.     /* [in] */ DBID __RPC_FAR *pTableID,
  13118.     /* [in] */ DBCONSTRAINTDESC __RPC_FAR *pConstraintDesc);
  13119.  
  13120.  
  13121. void __RPC_STUB ITableDefinitionWithConstraints_AddConstraint_Stub(
  13122.     IRpcStubBuffer *This,
  13123.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13124.     PRPC_MESSAGE _pRpcMessage,
  13125.     DWORD *_pdwStubPhase);
  13126.  
  13127.  
  13128. HRESULT STDMETHODCALLTYPE ITableDefinitionWithConstraints_CreateTableWithConstraints_Proxy( 
  13129.     ITableDefinitionWithConstraints __RPC_FAR * This,
  13130.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  13131.     /* [in] */ DBID __RPC_FAR *pTableID,
  13132.     /* [in] */ DBORDINAL cColumnDescs,
  13133.     /* [out][size_is][in] */ DBCOLUMNDESC __RPC_FAR rgColumnDescs[  ],
  13134.     /* [in] */ ULONG cConstraintDescs,
  13135.     /* [size_is][in] */ DBCONSTRAINTDESC __RPC_FAR rgConstraintDescs[  ],
  13136.     /* [in] */ REFIID riid,
  13137.     /* [in] */ ULONG cPropertySets,
  13138.     /* [out][size_is][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  13139.     /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppTableID,
  13140.     /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  13141.  
  13142.  
  13143. void __RPC_STUB ITableDefinitionWithConstraints_CreateTableWithConstraints_Stub(
  13144.     IRpcStubBuffer *This,
  13145.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13146.     PRPC_MESSAGE _pRpcMessage,
  13147.     DWORD *_pdwStubPhase);
  13148.  
  13149.  
  13150. HRESULT STDMETHODCALLTYPE ITableDefinitionWithConstraints_DropConstraint_Proxy( 
  13151.     ITableDefinitionWithConstraints __RPC_FAR * This,
  13152.     /* [in] */ DBID __RPC_FAR *pTableID,
  13153.     /* [in] */ DBID __RPC_FAR *pConstraintID);
  13154.  
  13155.  
  13156. void __RPC_STUB ITableDefinitionWithConstraints_DropConstraint_Stub(
  13157.     IRpcStubBuffer *This,
  13158.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13159.     PRPC_MESSAGE _pRpcMessage,
  13160.     DWORD *_pdwStubPhase);
  13161.  
  13162.  
  13163.  
  13164. #endif     /* __ITableDefinitionWithConstraints_INTERFACE_DEFINED__ */
  13165.  
  13166.  
  13167. #ifndef __IRow_INTERFACE_DEFINED__
  13168. #define __IRow_INTERFACE_DEFINED__
  13169.  
  13170. /* interface IRow */
  13171. /* [unique][uuid][object][local] */ 
  13172.  
  13173.  
  13174. EXTERN_C const IID IID_IRow;
  13175.  
  13176. #if defined(__cplusplus) && !defined(CINTERFACE)
  13177.     
  13178.     MIDL_INTERFACE("0c733ab4-2a1c-11ce-ade5-00aa0044773d")
  13179.     IRow : public IUnknown
  13180.     {
  13181.     public:
  13182.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetColumns( 
  13183.             /* [in] */ DBORDINAL cColumns,
  13184.             /* [size_is][out][in] */ DBCOLUMNACCESS __RPC_FAR rgColumns[  ]) = 0;
  13185.         
  13186.         virtual HRESULT STDMETHODCALLTYPE GetSourceRowset( 
  13187.             /* [in] */ REFIID riid,
  13188.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  13189.             /* [out] */ HROW __RPC_FAR *phRow) = 0;
  13190.         
  13191.         virtual HRESULT STDMETHODCALLTYPE Open( 
  13192.             /* [unique][in] */ IUnknown __RPC_FAR *pUnkOuter,
  13193.             /* [in] */ DBID __RPC_FAR *pColumnID,
  13194.             /* [in] */ REFGUID rguidColumnType,
  13195.             /* [in] */ DWORD dwBindFlags,
  13196.             /* [in] */ REFIID riid,
  13197.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk) = 0;
  13198.         
  13199.     };
  13200.     
  13201. #else     /* C style interface */
  13202.  
  13203.     typedef struct IRowVtbl
  13204.     {
  13205.         BEGIN_INTERFACE
  13206.         
  13207.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13208.             IRow __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.             IRow __RPC_FAR * This);
  13214.         
  13215.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13216.             IRow __RPC_FAR * This);
  13217.         
  13218.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetColumns )( 
  13219.             IRow __RPC_FAR * This,
  13220.             /* [in] */ DBORDINAL cColumns,
  13221.             /* [size_is][out][in] */ DBCOLUMNACCESS __RPC_FAR rgColumns[  ]);
  13222.         
  13223.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceRowset )( 
  13224.             IRow __RPC_FAR * This,
  13225.             /* [in] */ REFIID riid,
  13226.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  13227.             /* [out] */ HROW __RPC_FAR *phRow);
  13228.         
  13229.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )( 
  13230.             IRow __RPC_FAR * This,
  13231.             /* [unique][in] */ IUnknown __RPC_FAR *pUnkOuter,
  13232.             /* [in] */ DBID __RPC_FAR *pColumnID,
  13233.             /* [in] */ REFGUID rguidColumnType,
  13234.             /* [in] */ DWORD dwBindFlags,
  13235.             /* [in] */ REFIID riid,
  13236.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
  13237.         
  13238.         END_INTERFACE
  13239.     } IRowVtbl;
  13240.  
  13241.     interface IRow
  13242.     {
  13243.         CONST_VTBL struct IRowVtbl __RPC_FAR *lpVtbl;
  13244.     };
  13245.  
  13246.     
  13247.  
  13248. #ifdef COBJMACROS
  13249.  
  13250.  
  13251. #define IRow_QueryInterface(This,riid,ppvObject)    \
  13252.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13253.  
  13254. #define IRow_AddRef(This)    \
  13255.     (This)->lpVtbl -> AddRef(This)
  13256.  
  13257. #define IRow_Release(This)    \
  13258.     (This)->lpVtbl -> Release(This)
  13259.  
  13260.  
  13261. #define IRow_GetColumns(This,cColumns,rgColumns)    \
  13262.     (This)->lpVtbl -> GetColumns(This,cColumns,rgColumns)
  13263.  
  13264. #define IRow_GetSourceRowset(This,riid,ppRowset,phRow)    \
  13265.     (This)->lpVtbl -> GetSourceRowset(This,riid,ppRowset,phRow)
  13266.  
  13267. #define IRow_Open(This,pUnkOuter,pColumnID,rguidColumnType,dwBindFlags,riid,ppUnk)    \
  13268.     (This)->lpVtbl -> Open(This,pUnkOuter,pColumnID,rguidColumnType,dwBindFlags,riid,ppUnk)
  13269.  
  13270. #endif /* COBJMACROS */
  13271.  
  13272.  
  13273. #endif     /* C style interface */
  13274.  
  13275.  
  13276.  
  13277. /* [local] */ HRESULT STDMETHODCALLTYPE IRow_GetColumns_Proxy( 
  13278.     IRow __RPC_FAR * This,
  13279.     /* [in] */ DBORDINAL cColumns,
  13280.     /* [size_is][out][in] */ DBCOLUMNACCESS __RPC_FAR rgColumns[  ]);
  13281.  
  13282.  
  13283. void __RPC_STUB IRow_GetColumns_Stub(
  13284.     IRpcStubBuffer *This,
  13285.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13286.     PRPC_MESSAGE _pRpcMessage,
  13287.     DWORD *_pdwStubPhase);
  13288.  
  13289.  
  13290. HRESULT STDMETHODCALLTYPE IRow_GetSourceRowset_Proxy( 
  13291.     IRow __RPC_FAR * This,
  13292.     /* [in] */ REFIID riid,
  13293.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  13294.     /* [out] */ HROW __RPC_FAR *phRow);
  13295.  
  13296.  
  13297. void __RPC_STUB IRow_GetSourceRowset_Stub(
  13298.     IRpcStubBuffer *This,
  13299.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13300.     PRPC_MESSAGE _pRpcMessage,
  13301.     DWORD *_pdwStubPhase);
  13302.  
  13303.  
  13304. HRESULT STDMETHODCALLTYPE IRow_Open_Proxy( 
  13305.     IRow __RPC_FAR * This,
  13306.     /* [unique][in] */ IUnknown __RPC_FAR *pUnkOuter,
  13307.     /* [in] */ DBID __RPC_FAR *pColumnID,
  13308.     /* [in] */ REFGUID rguidColumnType,
  13309.     /* [in] */ DWORD dwBindFlags,
  13310.     /* [in] */ REFIID riid,
  13311.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
  13312.  
  13313.  
  13314. void __RPC_STUB IRow_Open_Stub(
  13315.     IRpcStubBuffer *This,
  13316.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13317.     PRPC_MESSAGE _pRpcMessage,
  13318.     DWORD *_pdwStubPhase);
  13319.  
  13320.  
  13321.  
  13322. #endif     /* __IRow_INTERFACE_DEFINED__ */
  13323.  
  13324.  
  13325. #ifndef __IRowChange_INTERFACE_DEFINED__
  13326. #define __IRowChange_INTERFACE_DEFINED__
  13327.  
  13328. /* interface IRowChange */
  13329. /* [unique][uuid][object][local] */ 
  13330.  
  13331.  
  13332. EXTERN_C const IID IID_IRowChange;
  13333.  
  13334. #if defined(__cplusplus) && !defined(CINTERFACE)
  13335.     
  13336.     MIDL_INTERFACE("0c733ab5-2a1c-11ce-ade5-00aa0044773d")
  13337.     IRowChange : public IUnknown
  13338.     {
  13339.     public:
  13340.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetColumns( 
  13341.             /* [in] */ DBORDINAL cColumns,
  13342.             /* [size_is][out][in] */ DBCOLUMNACCESS __RPC_FAR rgColumns[  ]) = 0;
  13343.         
  13344.     };
  13345.     
  13346. #else     /* C style interface */
  13347.  
  13348.     typedef struct IRowChangeVtbl
  13349.     {
  13350.         BEGIN_INTERFACE
  13351.         
  13352.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13353.             IRowChange __RPC_FAR * This,
  13354.             /* [in] */ REFIID riid,
  13355.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13356.         
  13357.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13358.             IRowChange __RPC_FAR * This);
  13359.         
  13360.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13361.             IRowChange __RPC_FAR * This);
  13362.         
  13363.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetColumns )( 
  13364.             IRowChange __RPC_FAR * This,
  13365.             /* [in] */ DBORDINAL cColumns,
  13366.             /* [size_is][out][in] */ DBCOLUMNACCESS __RPC_FAR rgColumns[  ]);
  13367.         
  13368.         END_INTERFACE
  13369.     } IRowChangeVtbl;
  13370.  
  13371.     interface IRowChange
  13372.     {
  13373.         CONST_VTBL struct IRowChangeVtbl __RPC_FAR *lpVtbl;
  13374.     };
  13375.  
  13376.     
  13377.  
  13378. #ifdef COBJMACROS
  13379.  
  13380.  
  13381. #define IRowChange_QueryInterface(This,riid,ppvObject)    \
  13382.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13383.  
  13384. #define IRowChange_AddRef(This)    \
  13385.     (This)->lpVtbl -> AddRef(This)
  13386.  
  13387. #define IRowChange_Release(This)    \
  13388.     (This)->lpVtbl -> Release(This)
  13389.  
  13390.  
  13391. #define IRowChange_SetColumns(This,cColumns,rgColumns)    \
  13392.     (This)->lpVtbl -> SetColumns(This,cColumns,rgColumns)
  13393.  
  13394. #endif /* COBJMACROS */
  13395.  
  13396.  
  13397. #endif     /* C style interface */
  13398.  
  13399.  
  13400.  
  13401. /* [local] */ HRESULT STDMETHODCALLTYPE IRowChange_SetColumns_Proxy( 
  13402.     IRowChange __RPC_FAR * This,
  13403.     /* [in] */ DBORDINAL cColumns,
  13404.     /* [size_is][out][in] */ DBCOLUMNACCESS __RPC_FAR rgColumns[  ]);
  13405.  
  13406.  
  13407. void __RPC_STUB IRowChange_SetColumns_Stub(
  13408.     IRpcStubBuffer *This,
  13409.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13410.     PRPC_MESSAGE _pRpcMessage,
  13411.     DWORD *_pdwStubPhase);
  13412.  
  13413.  
  13414.  
  13415. #endif     /* __IRowChange_INTERFACE_DEFINED__ */
  13416.  
  13417.  
  13418. #ifndef __IRowSchemaChange_INTERFACE_DEFINED__
  13419. #define __IRowSchemaChange_INTERFACE_DEFINED__
  13420.  
  13421. /* interface IRowSchemaChange */
  13422. /* [unique][uuid][object][local] */ 
  13423.  
  13424.  
  13425. EXTERN_C const IID IID_IRowSchemaChange;
  13426.  
  13427. #if defined(__cplusplus) && !defined(CINTERFACE)
  13428.     
  13429.     MIDL_INTERFACE("0c733aae-2a1c-11ce-ade5-00aa0044773d")
  13430.     IRowSchemaChange : public IRowChange
  13431.     {
  13432.     public:
  13433.         virtual HRESULT STDMETHODCALLTYPE DeleteColumns( 
  13434.             /* [in] */ DBORDINAL cColumns,
  13435.             /* [size_is][in] */ const DBID __RPC_FAR rgColumnIDs[  ],
  13436.             /* [size_is][out][in] */ DBSTATUS __RPC_FAR rgdwStatus[  ]) = 0;
  13437.         
  13438.         virtual HRESULT STDMETHODCALLTYPE AddColumns( 
  13439.             /* [in] */ DBORDINAL cColumns,
  13440.             /* [size_is][in] */ const DBCOLUMNINFO __RPC_FAR rgNewColumnInfo[  ],
  13441.             /* [size_is][out][in] */ DBCOLUMNACCESS __RPC_FAR rgColumns[  ]) = 0;
  13442.         
  13443.     };
  13444.     
  13445. #else     /* C style interface */
  13446.  
  13447.     typedef struct IRowSchemaChangeVtbl
  13448.     {
  13449.         BEGIN_INTERFACE
  13450.         
  13451.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13452.             IRowSchemaChange __RPC_FAR * This,
  13453.             /* [in] */ REFIID riid,
  13454.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13455.         
  13456.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13457.             IRowSchemaChange __RPC_FAR * This);
  13458.         
  13459.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13460.             IRowSchemaChange __RPC_FAR * This);
  13461.         
  13462.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetColumns )( 
  13463.             IRowSchemaChange __RPC_FAR * This,
  13464.             /* [in] */ DBORDINAL cColumns,
  13465.             /* [size_is][out][in] */ DBCOLUMNACCESS __RPC_FAR rgColumns[  ]);
  13466.         
  13467.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteColumns )( 
  13468.             IRowSchemaChange __RPC_FAR * This,
  13469.             /* [in] */ DBORDINAL cColumns,
  13470.             /* [size_is][in] */ const DBID __RPC_FAR rgColumnIDs[  ],
  13471.             /* [size_is][out][in] */ DBSTATUS __RPC_FAR rgdwStatus[  ]);
  13472.         
  13473.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddColumns )( 
  13474.             IRowSchemaChange __RPC_FAR * This,
  13475.             /* [in] */ DBORDINAL cColumns,
  13476.             /* [size_is][in] */ const DBCOLUMNINFO __RPC_FAR rgNewColumnInfo[  ],
  13477.             /* [size_is][out][in] */ DBCOLUMNACCESS __RPC_FAR rgColumns[  ]);
  13478.         
  13479.         END_INTERFACE
  13480.     } IRowSchemaChangeVtbl;
  13481.  
  13482.     interface IRowSchemaChange
  13483.     {
  13484.         CONST_VTBL struct IRowSchemaChangeVtbl __RPC_FAR *lpVtbl;
  13485.     };
  13486.  
  13487.     
  13488.  
  13489. #ifdef COBJMACROS
  13490.  
  13491.  
  13492. #define IRowSchemaChange_QueryInterface(This,riid,ppvObject)    \
  13493.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13494.  
  13495. #define IRowSchemaChange_AddRef(This)    \
  13496.     (This)->lpVtbl -> AddRef(This)
  13497.  
  13498. #define IRowSchemaChange_Release(This)    \
  13499.     (This)->lpVtbl -> Release(This)
  13500.  
  13501.  
  13502. #define IRowSchemaChange_SetColumns(This,cColumns,rgColumns)    \
  13503.     (This)->lpVtbl -> SetColumns(This,cColumns,rgColumns)
  13504.  
  13505.  
  13506. #define IRowSchemaChange_DeleteColumns(This,cColumns,rgColumnIDs,rgdwStatus)    \
  13507.     (This)->lpVtbl -> DeleteColumns(This,cColumns,rgColumnIDs,rgdwStatus)
  13508.  
  13509. #define IRowSchemaChange_AddColumns(This,cColumns,rgNewColumnInfo,rgColumns)    \
  13510.     (This)->lpVtbl -> AddColumns(This,cColumns,rgNewColumnInfo,rgColumns)
  13511.  
  13512. #endif /* COBJMACROS */
  13513.  
  13514.  
  13515. #endif     /* C style interface */
  13516.  
  13517.  
  13518.  
  13519. HRESULT STDMETHODCALLTYPE IRowSchemaChange_DeleteColumns_Proxy( 
  13520.     IRowSchemaChange __RPC_FAR * This,
  13521.     /* [in] */ DBORDINAL cColumns,
  13522.     /* [size_is][in] */ const DBID __RPC_FAR rgColumnIDs[  ],
  13523.     /* [size_is][out][in] */ DBSTATUS __RPC_FAR rgdwStatus[  ]);
  13524.  
  13525.  
  13526. void __RPC_STUB IRowSchemaChange_DeleteColumns_Stub(
  13527.     IRpcStubBuffer *This,
  13528.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13529.     PRPC_MESSAGE _pRpcMessage,
  13530.     DWORD *_pdwStubPhase);
  13531.  
  13532.  
  13533. HRESULT STDMETHODCALLTYPE IRowSchemaChange_AddColumns_Proxy( 
  13534.     IRowSchemaChange __RPC_FAR * This,
  13535.     /* [in] */ DBORDINAL cColumns,
  13536.     /* [size_is][in] */ const DBCOLUMNINFO __RPC_FAR rgNewColumnInfo[  ],
  13537.     /* [size_is][out][in] */ DBCOLUMNACCESS __RPC_FAR rgColumns[  ]);
  13538.  
  13539.  
  13540. void __RPC_STUB IRowSchemaChange_AddColumns_Stub(
  13541.     IRpcStubBuffer *This,
  13542.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13543.     PRPC_MESSAGE _pRpcMessage,
  13544.     DWORD *_pdwStubPhase);
  13545.  
  13546.  
  13547.  
  13548. #endif     /* __IRowSchemaChange_INTERFACE_DEFINED__ */
  13549.  
  13550.  
  13551. #ifndef __IGetRow_INTERFACE_DEFINED__
  13552. #define __IGetRow_INTERFACE_DEFINED__
  13553.  
  13554. /* interface IGetRow */
  13555. /* [unique][uuid][object][local] */ 
  13556.  
  13557.  
  13558. EXTERN_C const IID IID_IGetRow;
  13559.  
  13560. #if defined(__cplusplus) && !defined(CINTERFACE)
  13561.     
  13562.     MIDL_INTERFACE("0c733aaf-2a1c-11ce-ade5-00aa0044773d")
  13563.     IGetRow : public IUnknown
  13564.     {
  13565.     public:
  13566.         virtual HRESULT STDMETHODCALLTYPE GetRowFromHROW( 
  13567.             /* [unique][in] */ IUnknown __RPC_FAR *pUnkOuter,
  13568.             /* [in] */ HROW hRow,
  13569.             /* [in] */ REFIID riid,
  13570.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk) = 0;
  13571.         
  13572.         virtual HRESULT STDMETHODCALLTYPE GetURLFromHROW( 
  13573.             /* [in] */ HROW hRow,
  13574.             /* [out] */ LPOLESTR __RPC_FAR *ppwszURL) = 0;
  13575.         
  13576.     };
  13577.     
  13578. #else     /* C style interface */
  13579.  
  13580.     typedef struct IGetRowVtbl
  13581.     {
  13582.         BEGIN_INTERFACE
  13583.         
  13584.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13585.             IGetRow __RPC_FAR * This,
  13586.             /* [in] */ REFIID riid,
  13587.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13588.         
  13589.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13590.             IGetRow __RPC_FAR * This);
  13591.         
  13592.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13593.             IGetRow __RPC_FAR * This);
  13594.         
  13595.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRowFromHROW )( 
  13596.             IGetRow __RPC_FAR * This,
  13597.             /* [unique][in] */ IUnknown __RPC_FAR *pUnkOuter,
  13598.             /* [in] */ HROW hRow,
  13599.             /* [in] */ REFIID riid,
  13600.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
  13601.         
  13602.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetURLFromHROW )( 
  13603.             IGetRow __RPC_FAR * This,
  13604.             /* [in] */ HROW hRow,
  13605.             /* [out] */ LPOLESTR __RPC_FAR *ppwszURL);
  13606.         
  13607.         END_INTERFACE
  13608.     } IGetRowVtbl;
  13609.  
  13610.     interface IGetRow
  13611.     {
  13612.         CONST_VTBL struct IGetRowVtbl __RPC_FAR *lpVtbl;
  13613.     };
  13614.  
  13615.     
  13616.  
  13617. #ifdef COBJMACROS
  13618.  
  13619.  
  13620. #define IGetRow_QueryInterface(This,riid,ppvObject)    \
  13621.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13622.  
  13623. #define IGetRow_AddRef(This)    \
  13624.     (This)->lpVtbl -> AddRef(This)
  13625.  
  13626. #define IGetRow_Release(This)    \
  13627.     (This)->lpVtbl -> Release(This)
  13628.  
  13629.  
  13630. #define IGetRow_GetRowFromHROW(This,pUnkOuter,hRow,riid,ppUnk)    \
  13631.     (This)->lpVtbl -> GetRowFromHROW(This,pUnkOuter,hRow,riid,ppUnk)
  13632.  
  13633. #define IGetRow_GetURLFromHROW(This,hRow,ppwszURL)    \
  13634.     (This)->lpVtbl -> GetURLFromHROW(This,hRow,ppwszURL)
  13635.  
  13636. #endif /* COBJMACROS */
  13637.  
  13638.  
  13639. #endif     /* C style interface */
  13640.  
  13641.  
  13642.  
  13643. HRESULT STDMETHODCALLTYPE IGetRow_GetRowFromHROW_Proxy( 
  13644.     IGetRow __RPC_FAR * This,
  13645.     /* [unique][in] */ IUnknown __RPC_FAR *pUnkOuter,
  13646.     /* [in] */ HROW hRow,
  13647.     /* [in] */ REFIID riid,
  13648.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
  13649.  
  13650.  
  13651. void __RPC_STUB IGetRow_GetRowFromHROW_Stub(
  13652.     IRpcStubBuffer *This,
  13653.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13654.     PRPC_MESSAGE _pRpcMessage,
  13655.     DWORD *_pdwStubPhase);
  13656.  
  13657.  
  13658. HRESULT STDMETHODCALLTYPE IGetRow_GetURLFromHROW_Proxy( 
  13659.     IGetRow __RPC_FAR * This,
  13660.     /* [in] */ HROW hRow,
  13661.     /* [out] */ LPOLESTR __RPC_FAR *ppwszURL);
  13662.  
  13663.  
  13664. void __RPC_STUB IGetRow_GetURLFromHROW_Stub(
  13665.     IRpcStubBuffer *This,
  13666.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13667.     PRPC_MESSAGE _pRpcMessage,
  13668.     DWORD *_pdwStubPhase);
  13669.  
  13670.  
  13671.  
  13672. #endif     /* __IGetRow_INTERFACE_DEFINED__ */
  13673.  
  13674.  
  13675. #ifndef __IBindResource_INTERFACE_DEFINED__
  13676. #define __IBindResource_INTERFACE_DEFINED__
  13677.  
  13678. /* interface IBindResource */
  13679. /* [unique][uuid][object] */ 
  13680.  
  13681.  
  13682. EXTERN_C const IID IID_IBindResource;
  13683.  
  13684. #if defined(__cplusplus) && !defined(CINTERFACE)
  13685.     
  13686.     MIDL_INTERFACE("0c733ab1-2a1c-11ce-ade5-00aa0044773d")
  13687.     IBindResource : public IUnknown
  13688.     {
  13689.     public:
  13690.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Bind( 
  13691.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  13692.             /* [in] */ LPCOLESTR pwszURL,
  13693.             /* [in] */ DBBINDURLFLAG dwBindURLFlags,
  13694.             /* [in] */ REFGUID rguid,
  13695.             /* [in] */ REFIID riid,
  13696.             /* [in] */ IAuthenticate __RPC_FAR *pAuthenticate,
  13697.             /* [unique][out][in] */ DBIMPLICITSESSION __RPC_FAR *pImplSession,
  13698.             /* [unique][out][in] */ DBBINDURLSTATUS __RPC_FAR *pdwBindStatus,
  13699.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk) = 0;
  13700.         
  13701.     };
  13702.     
  13703. #else     /* C style interface */
  13704.  
  13705.     typedef struct IBindResourceVtbl
  13706.     {
  13707.         BEGIN_INTERFACE
  13708.         
  13709.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13710.             IBindResource __RPC_FAR * This,
  13711.             /* [in] */ REFIID riid,
  13712.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13713.         
  13714.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13715.             IBindResource __RPC_FAR * This);
  13716.         
  13717.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13718.             IBindResource __RPC_FAR * This);
  13719.         
  13720.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Bind )( 
  13721.             IBindResource __RPC_FAR * This,
  13722.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  13723.             /* [in] */ LPCOLESTR pwszURL,
  13724.             /* [in] */ DBBINDURLFLAG dwBindURLFlags,
  13725.             /* [in] */ REFGUID rguid,
  13726.             /* [in] */ REFIID riid,
  13727.             /* [in] */ IAuthenticate __RPC_FAR *pAuthenticate,
  13728.             /* [unique][out][in] */ DBIMPLICITSESSION __RPC_FAR *pImplSession,
  13729.             /* [unique][out][in] */ DBBINDURLSTATUS __RPC_FAR *pdwBindStatus,
  13730.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
  13731.         
  13732.         END_INTERFACE
  13733.     } IBindResourceVtbl;
  13734.  
  13735.     interface IBindResource
  13736.     {
  13737.         CONST_VTBL struct IBindResourceVtbl __RPC_FAR *lpVtbl;
  13738.     };
  13739.  
  13740.     
  13741.  
  13742. #ifdef COBJMACROS
  13743.  
  13744.  
  13745. #define IBindResource_QueryInterface(This,riid,ppvObject)    \
  13746.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13747.  
  13748. #define IBindResource_AddRef(This)    \
  13749.     (This)->lpVtbl -> AddRef(This)
  13750.  
  13751. #define IBindResource_Release(This)    \
  13752.     (This)->lpVtbl -> Release(This)
  13753.  
  13754.  
  13755. #define IBindResource_Bind(This,pUnkOuter,pwszURL,dwBindURLFlags,rguid,riid,pAuthenticate,pImplSession,pdwBindStatus,ppUnk)    \
  13756.     (This)->lpVtbl -> Bind(This,pUnkOuter,pwszURL,dwBindURLFlags,rguid,riid,pAuthenticate,pImplSession,pdwBindStatus,ppUnk)
  13757.  
  13758. #endif /* COBJMACROS */
  13759.  
  13760.  
  13761. #endif     /* C style interface */
  13762.  
  13763.  
  13764.  
  13765. /* [call_as] */ HRESULT STDMETHODCALLTYPE IBindResource_RemoteBind_Proxy( 
  13766.     IBindResource __RPC_FAR * This,
  13767.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  13768.     /* [in] */ LPCOLESTR pwszURL,
  13769.     /* [in] */ DBBINDURLFLAG dwBindURLFlags,
  13770.     /* [in] */ REFGUID rguid,
  13771.     /* [in] */ REFIID riid,
  13772.     /* [in] */ IAuthenticate __RPC_FAR *pAuthenticate,
  13773.     /* [in] */ IUnknown __RPC_FAR *pSessionUnkOuter,
  13774.     /* [unique][in] */ IID __RPC_FAR *piid,
  13775.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession,
  13776.     /* [unique][out][in] */ DBBINDURLSTATUS __RPC_FAR *pdwBindStatus,
  13777.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
  13778.  
  13779.  
  13780. void __RPC_STUB IBindResource_RemoteBind_Stub(
  13781.     IRpcStubBuffer *This,
  13782.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13783.     PRPC_MESSAGE _pRpcMessage,
  13784.     DWORD *_pdwStubPhase);
  13785.  
  13786.  
  13787.  
  13788. #endif     /* __IBindResource_INTERFACE_DEFINED__ */
  13789.  
  13790.  
  13791. #ifndef __IScopedOperations_INTERFACE_DEFINED__
  13792. #define __IScopedOperations_INTERFACE_DEFINED__
  13793.  
  13794. /* interface IScopedOperations */
  13795. /* [unique][uuid][object] */ 
  13796.  
  13797. typedef DWORD DBCOPYFLAGS;
  13798.  
  13799.  
  13800. enum DBCOPYFLAGSENUM
  13801.     {    DBCOPY_ASYNC    = 0x100,
  13802.     DBCOPY_REPLACE_EXISTING    = 0x200,
  13803.     DBCOPY_ALLOW_EMULATION    = 0x400,
  13804.     DBCOPY_NON_RECURSIVE    = 0x800,
  13805.     DBCOPY_ATOMIC    = 0x1000
  13806.     };
  13807. typedef DWORD DBMOVEFLAGS;
  13808.  
  13809.  
  13810. enum DBMOVEFLAGSENUM
  13811.     {    DBMOVE_REPLACE_EXISTING    = 0x1,
  13812.     DBMOVE_ASYNC    = 0x100,
  13813.     DBMOVE_DONT_UPDATE_LINKS    = 0x200,
  13814.     DBMOVE_ALLOW_EMULATION    = 0x400,
  13815.     DBMOVE_ATOMIC    = 0x1000
  13816.     };
  13817. typedef DWORD DBDELETEFLAGS;
  13818.  
  13819.  
  13820. enum DBDELETEFLAGSENUM
  13821.     {    DBDELETE_ASYNC    = 0x100,
  13822.     DBDELETE_ATOMIC    = 0x1000
  13823.     };
  13824.  
  13825. EXTERN_C const IID IID_IScopedOperations;
  13826.  
  13827. #if defined(__cplusplus) && !defined(CINTERFACE)
  13828.     
  13829.     MIDL_INTERFACE("0c733ab0-2a1c-11ce-ade5-00aa0044773d")
  13830.     IScopedOperations : public IBindResource
  13831.     {
  13832.     public:
  13833.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Copy( 
  13834.             /* [in] */ DBCOUNTITEM cRows,
  13835.             /* [size_is][in] */ LPCOLESTR __RPC_FAR rgpwszSourceURLs[  ],
  13836.             /* [size_is][in] */ LPCOLESTR __RPC_FAR rgpwszDestURLs[  ],
  13837.             /* [in] */ DWORD dwCopyFlags,
  13838.             /* [unique][in] */ IAuthenticate __RPC_FAR *pAuthenticate,
  13839.             /* [size_is][out][in] */ DBSTATUS __RPC_FAR rgdwStatus[  ],
  13840.             /* [size_is][out] */ LPOLESTR __RPC_FAR rgpwszNewURLs[  ],
  13841.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer) = 0;
  13842.         
  13843.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Move( 
  13844.             /* [in] */ DBCOUNTITEM cRows,
  13845.             /* [size_is][in] */ LPCOLESTR __RPC_FAR rgpwszSourceURLs[  ],
  13846.             /* [size_is][in] */ LPCOLESTR __RPC_FAR rgpwszDestURLs[  ],
  13847.             /* [in] */ DWORD dwMoveFlags,
  13848.             /* [unique][in] */ IAuthenticate __RPC_FAR *pAuthenticate,
  13849.             /* [size_is][out][in] */ DBSTATUS __RPC_FAR rgdwStatus[  ],
  13850.             /* [size_is][out] */ LPOLESTR __RPC_FAR rgpwszNewURLs[  ],
  13851.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer) = 0;
  13852.         
  13853.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Delete( 
  13854.             /* [in] */ DBCOUNTITEM cRows,
  13855.             /* [size_is][in] */ LPCOLESTR __RPC_FAR rgpwszURLs[  ],
  13856.             /* [in] */ DWORD dwDeleteFlags,
  13857.             /* [size_is][out][in] */ DBSTATUS __RPC_FAR rgdwStatus[  ]) = 0;
  13858.         
  13859.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OpenRowset( 
  13860.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  13861.             /* [unique][in] */ DBID __RPC_FAR *pTableID,
  13862.             /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  13863.             /* [in] */ REFIID riid,
  13864.             /* [in] */ ULONG cPropertySets,
  13865.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  13866.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  13867.         
  13868.     };
  13869.     
  13870. #else     /* C style interface */
  13871.  
  13872.     typedef struct IScopedOperationsVtbl
  13873.     {
  13874.         BEGIN_INTERFACE
  13875.         
  13876.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13877.             IScopedOperations __RPC_FAR * This,
  13878.             /* [in] */ REFIID riid,
  13879.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13880.         
  13881.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13882.             IScopedOperations __RPC_FAR * This);
  13883.         
  13884.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13885.             IScopedOperations __RPC_FAR * This);
  13886.         
  13887.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Bind )( 
  13888.             IScopedOperations __RPC_FAR * This,
  13889.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  13890.             /* [in] */ LPCOLESTR pwszURL,
  13891.             /* [in] */ DBBINDURLFLAG dwBindURLFlags,
  13892.             /* [in] */ REFGUID rguid,
  13893.             /* [in] */ REFIID riid,
  13894.             /* [in] */ IAuthenticate __RPC_FAR *pAuthenticate,
  13895.             /* [unique][out][in] */ DBIMPLICITSESSION __RPC_FAR *pImplSession,
  13896.             /* [unique][out][in] */ DBBINDURLSTATUS __RPC_FAR *pdwBindStatus,
  13897.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
  13898.         
  13899.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Copy )( 
  13900.             IScopedOperations __RPC_FAR * This,
  13901.             /* [in] */ DBCOUNTITEM cRows,
  13902.             /* [size_is][in] */ LPCOLESTR __RPC_FAR rgpwszSourceURLs[  ],
  13903.             /* [size_is][in] */ LPCOLESTR __RPC_FAR rgpwszDestURLs[  ],
  13904.             /* [in] */ DWORD dwCopyFlags,
  13905.             /* [unique][in] */ IAuthenticate __RPC_FAR *pAuthenticate,
  13906.             /* [size_is][out][in] */ DBSTATUS __RPC_FAR rgdwStatus[  ],
  13907.             /* [size_is][out] */ LPOLESTR __RPC_FAR rgpwszNewURLs[  ],
  13908.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer);
  13909.         
  13910.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
  13911.             IScopedOperations __RPC_FAR * This,
  13912.             /* [in] */ DBCOUNTITEM cRows,
  13913.             /* [size_is][in] */ LPCOLESTR __RPC_FAR rgpwszSourceURLs[  ],
  13914.             /* [size_is][in] */ LPCOLESTR __RPC_FAR rgpwszDestURLs[  ],
  13915.             /* [in] */ DWORD dwMoveFlags,
  13916.             /* [unique][in] */ IAuthenticate __RPC_FAR *pAuthenticate,
  13917.             /* [size_is][out][in] */ DBSTATUS __RPC_FAR rgdwStatus[  ],
  13918.             /* [size_is][out] */ LPOLESTR __RPC_FAR rgpwszNewURLs[  ],
  13919.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer);
  13920.         
  13921.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
  13922.             IScopedOperations __RPC_FAR * This,
  13923.             /* [in] */ DBCOUNTITEM cRows,
  13924.             /* [size_is][in] */ LPCOLESTR __RPC_FAR rgpwszURLs[  ],
  13925.             /* [in] */ DWORD dwDeleteFlags,
  13926.             /* [size_is][out][in] */ DBSTATUS __RPC_FAR rgdwStatus[  ]);
  13927.         
  13928.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenRowset )( 
  13929.             IScopedOperations __RPC_FAR * This,
  13930.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  13931.             /* [unique][in] */ DBID __RPC_FAR *pTableID,
  13932.             /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  13933.             /* [in] */ REFIID riid,
  13934.             /* [in] */ ULONG cPropertySets,
  13935.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  13936.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  13937.         
  13938.         END_INTERFACE
  13939.     } IScopedOperationsVtbl;
  13940.  
  13941.     interface IScopedOperations
  13942.     {
  13943.         CONST_VTBL struct IScopedOperationsVtbl __RPC_FAR *lpVtbl;
  13944.     };
  13945.  
  13946.     
  13947.  
  13948. #ifdef COBJMACROS
  13949.  
  13950.  
  13951. #define IScopedOperations_QueryInterface(This,riid,ppvObject)    \
  13952.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13953.  
  13954. #define IScopedOperations_AddRef(This)    \
  13955.     (This)->lpVtbl -> AddRef(This)
  13956.  
  13957. #define IScopedOperations_Release(This)    \
  13958.     (This)->lpVtbl -> Release(This)
  13959.  
  13960.  
  13961. #define IScopedOperations_Bind(This,pUnkOuter,pwszURL,dwBindURLFlags,rguid,riid,pAuthenticate,pImplSession,pdwBindStatus,ppUnk)    \
  13962.     (This)->lpVtbl -> Bind(This,pUnkOuter,pwszURL,dwBindURLFlags,rguid,riid,pAuthenticate,pImplSession,pdwBindStatus,ppUnk)
  13963.  
  13964.  
  13965. #define IScopedOperations_Copy(This,cRows,rgpwszSourceURLs,rgpwszDestURLs,dwCopyFlags,pAuthenticate,rgdwStatus,rgpwszNewURLs,ppStringsBuffer)    \
  13966.     (This)->lpVtbl -> Copy(This,cRows,rgpwszSourceURLs,rgpwszDestURLs,dwCopyFlags,pAuthenticate,rgdwStatus,rgpwszNewURLs,ppStringsBuffer)
  13967.  
  13968. #define IScopedOperations_Move(This,cRows,rgpwszSourceURLs,rgpwszDestURLs,dwMoveFlags,pAuthenticate,rgdwStatus,rgpwszNewURLs,ppStringsBuffer)    \
  13969.     (This)->lpVtbl -> Move(This,cRows,rgpwszSourceURLs,rgpwszDestURLs,dwMoveFlags,pAuthenticate,rgdwStatus,rgpwszNewURLs,ppStringsBuffer)
  13970.  
  13971. #define IScopedOperations_Delete(This,cRows,rgpwszURLs,dwDeleteFlags,rgdwStatus)    \
  13972.     (This)->lpVtbl -> Delete(This,cRows,rgpwszURLs,dwDeleteFlags,rgdwStatus)
  13973.  
  13974. #define IScopedOperations_OpenRowset(This,pUnkOuter,pTableID,pIndexID,riid,cPropertySets,rgPropertySets,ppRowset)    \
  13975.     (This)->lpVtbl -> OpenRowset(This,pUnkOuter,pTableID,pIndexID,riid,cPropertySets,rgPropertySets,ppRowset)
  13976.  
  13977. #endif /* COBJMACROS */
  13978.  
  13979.  
  13980. #endif     /* C style interface */
  13981.  
  13982.  
  13983.  
  13984. /* [call_as] */ HRESULT STDMETHODCALLTYPE IScopedOperations_RemoteCopy_Proxy( 
  13985.     IScopedOperations __RPC_FAR * This,
  13986.     /* [in] */ DBCOUNTITEM cRows,
  13987.     /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgpwszSourceURLs,
  13988.     /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgpwszDestURLs,
  13989.     /* [in] */ DWORD dwCopyFlags,
  13990.     /* [in] */ IAuthenticate __RPC_FAR *pAuthenticate,
  13991.     /* [size_is][out] */ DBSTATUS __RPC_FAR *rgdwStatus,
  13992.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgulNewURLOffsets,
  13993.     /* [out][in] */ ULONG __RPC_FAR *pcbStringsBuffer,
  13994.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer);
  13995.  
  13996.  
  13997. void __RPC_STUB IScopedOperations_RemoteCopy_Stub(
  13998.     IRpcStubBuffer *This,
  13999.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14000.     PRPC_MESSAGE _pRpcMessage,
  14001.     DWORD *_pdwStubPhase);
  14002.  
  14003.  
  14004. /* [call_as] */ HRESULT STDMETHODCALLTYPE IScopedOperations_RemoteMove_Proxy( 
  14005.     IScopedOperations __RPC_FAR * This,
  14006.     /* [in] */ DBCOUNTITEM cRows,
  14007.     /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgpwszSourceURLs,
  14008.     /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgpwszDestURLs,
  14009.     /* [in] */ DWORD dwMoveFlags,
  14010.     /* [in] */ IAuthenticate __RPC_FAR *pAuthenticate,
  14011.     /* [size_is][out] */ DBSTATUS __RPC_FAR *rgdwStatus,
  14012.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgulNewURLOffsets,
  14013.     /* [out][in] */ ULONG __RPC_FAR *pcbStringsBuffer,
  14014.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer);
  14015.  
  14016.  
  14017. void __RPC_STUB IScopedOperations_RemoteMove_Stub(
  14018.     IRpcStubBuffer *This,
  14019.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14020.     PRPC_MESSAGE _pRpcMessage,
  14021.     DWORD *_pdwStubPhase);
  14022.  
  14023.  
  14024. /* [call_as] */ HRESULT STDMETHODCALLTYPE IScopedOperations_RemoteDelete_Proxy( 
  14025.     IScopedOperations __RPC_FAR * This,
  14026.     /* [in] */ DBCOUNTITEM cRows,
  14027.     /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgpwszURLs,
  14028.     /* [in] */ DWORD dwDeleteFlags,
  14029.     /* [size_is][out] */ DBSTATUS __RPC_FAR *rgdwStatus);
  14030.  
  14031.  
  14032. void __RPC_STUB IScopedOperations_RemoteDelete_Stub(
  14033.     IRpcStubBuffer *This,
  14034.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14035.     PRPC_MESSAGE _pRpcMessage,
  14036.     DWORD *_pdwStubPhase);
  14037.  
  14038.  
  14039. /* [call_as] */ HRESULT STDMETHODCALLTYPE IScopedOperations_RemoteOpenRowset_Proxy( 
  14040.     IScopedOperations __RPC_FAR * This,
  14041.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  14042.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  14043.     /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  14044.     /* [in] */ REFIID riid,
  14045.     /* [in] */ ULONG cPropertySets,
  14046.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  14047.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  14048.     /* [in] */ ULONG cTotalProps,
  14049.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus);
  14050.  
  14051.  
  14052. void __RPC_STUB IScopedOperations_RemoteOpenRowset_Stub(
  14053.     IRpcStubBuffer *This,
  14054.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14055.     PRPC_MESSAGE _pRpcMessage,
  14056.     DWORD *_pdwStubPhase);
  14057.  
  14058.  
  14059.  
  14060. #endif     /* __IScopedOperations_INTERFACE_DEFINED__ */
  14061.  
  14062.  
  14063. #ifndef __ICreateRow_INTERFACE_DEFINED__
  14064. #define __ICreateRow_INTERFACE_DEFINED__
  14065.  
  14066. /* interface ICreateRow */
  14067. /* [unique][uuid][object] */ 
  14068.  
  14069.  
  14070. EXTERN_C const IID IID_ICreateRow;
  14071.  
  14072. #if defined(__cplusplus) && !defined(CINTERFACE)
  14073.     
  14074.     MIDL_INTERFACE("0c733ab2-2a1c-11ce-ade5-00aa0044773d")
  14075.     ICreateRow : public IUnknown
  14076.     {
  14077.     public:
  14078.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateRow( 
  14079.             /* [unique][in] */ IUnknown __RPC_FAR *pUnkOuter,
  14080.             /* [in] */ LPCOLESTR pwszURL,
  14081.             /* [in] */ DBBINDURLFLAG dwBindURLFlags,
  14082.             /* [in] */ REFGUID rguid,
  14083.             /* [in] */ REFIID riid,
  14084.             /* [unique][in] */ IAuthenticate __RPC_FAR *pAuthenticate,
  14085.             /* [unique][out][in] */ DBIMPLICITSESSION __RPC_FAR *pImplSession,
  14086.             /* [unique][out][in] */ DBBINDURLSTATUS __RPC_FAR *pdwBindStatus,
  14087.             /* [out] */ LPOLESTR __RPC_FAR *ppwszNewURL,
  14088.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk) = 0;
  14089.         
  14090.     };
  14091.     
  14092. #else     /* C style interface */
  14093.  
  14094.     typedef struct ICreateRowVtbl
  14095.     {
  14096.         BEGIN_INTERFACE
  14097.         
  14098.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  14099.             ICreateRow __RPC_FAR * This,
  14100.             /* [in] */ REFIID riid,
  14101.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  14102.         
  14103.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  14104.             ICreateRow __RPC_FAR * This);
  14105.         
  14106.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  14107.             ICreateRow __RPC_FAR * This);
  14108.         
  14109.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateRow )( 
  14110.             ICreateRow __RPC_FAR * This,
  14111.             /* [unique][in] */ IUnknown __RPC_FAR *pUnkOuter,
  14112.             /* [in] */ LPCOLESTR pwszURL,
  14113.             /* [in] */ DBBINDURLFLAG dwBindURLFlags,
  14114.             /* [in] */ REFGUID rguid,
  14115.             /* [in] */ REFIID riid,
  14116.             /* [unique][in] */ IAuthenticate __RPC_FAR *pAuthenticate,
  14117.             /* [unique][out][in] */ DBIMPLICITSESSION __RPC_FAR *pImplSession,
  14118.             /* [unique][out][in] */ DBBINDURLSTATUS __RPC_FAR *pdwBindStatus,
  14119.             /* [out] */ LPOLESTR __RPC_FAR *ppwszNewURL,
  14120.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
  14121.         
  14122.         END_INTERFACE
  14123.     } ICreateRowVtbl;
  14124.  
  14125.     interface ICreateRow
  14126.     {
  14127.         CONST_VTBL struct ICreateRowVtbl __RPC_FAR *lpVtbl;
  14128.     };
  14129.  
  14130.     
  14131.  
  14132. #ifdef COBJMACROS
  14133.  
  14134.  
  14135. #define ICreateRow_QueryInterface(This,riid,ppvObject)    \
  14136.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14137.  
  14138. #define ICreateRow_AddRef(This)    \
  14139.     (This)->lpVtbl -> AddRef(This)
  14140.  
  14141. #define ICreateRow_Release(This)    \
  14142.     (This)->lpVtbl -> Release(This)
  14143.  
  14144.  
  14145. #define ICreateRow_CreateRow(This,pUnkOuter,pwszURL,dwBindURLFlags,rguid,riid,pAuthenticate,pImplSession,pdwBindStatus,ppwszNewURL,ppUnk)    \
  14146.     (This)->lpVtbl -> CreateRow(This,pUnkOuter,pwszURL,dwBindURLFlags,rguid,riid,pAuthenticate,pImplSession,pdwBindStatus,ppwszNewURL,ppUnk)
  14147.  
  14148. #endif /* COBJMACROS */
  14149.  
  14150.  
  14151. #endif     /* C style interface */
  14152.  
  14153.  
  14154.  
  14155. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICreateRow_RemoteCreateRow_Proxy( 
  14156.     ICreateRow __RPC_FAR * This,
  14157.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  14158.     /* [in] */ LPCOLESTR pwszURL,
  14159.     /* [in] */ DBBINDURLFLAG dwBindURLFlags,
  14160.     /* [in] */ REFGUID rguid,
  14161.     /* [in] */ REFIID riid,
  14162.     /* [in] */ IAuthenticate __RPC_FAR *pAuthenticate,
  14163.     /* [in] */ IUnknown __RPC_FAR *pSessionUnkOuter,
  14164.     /* [unique][in] */ IID __RPC_FAR *piid,
  14165.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession,
  14166.     /* [unique][out][in] */ DBBINDURLSTATUS __RPC_FAR *pdwBindStatus,
  14167.     /* [unique][out][in] */ LPOLESTR __RPC_FAR *ppwszNewURL,
  14168.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
  14169.  
  14170.  
  14171. void __RPC_STUB ICreateRow_RemoteCreateRow_Stub(
  14172.     IRpcStubBuffer *This,
  14173.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14174.     PRPC_MESSAGE _pRpcMessage,
  14175.     DWORD *_pdwStubPhase);
  14176.  
  14177.  
  14178.  
  14179. #endif     /* __ICreateRow_INTERFACE_DEFINED__ */
  14180.  
  14181.  
  14182. #ifndef __IDBBinderProperties_INTERFACE_DEFINED__
  14183. #define __IDBBinderProperties_INTERFACE_DEFINED__
  14184.  
  14185. /* interface IDBBinderProperties */
  14186. /* [unique][uuid][object] */ 
  14187.  
  14188.  
  14189. EXTERN_C const IID IID_IDBBinderProperties;
  14190.  
  14191. #if defined(__cplusplus) && !defined(CINTERFACE)
  14192.     
  14193.     MIDL_INTERFACE("0c733ab3-2a1c-11ce-ade5-00aa0044773d")
  14194.     IDBBinderProperties : public IDBProperties
  14195.     {
  14196.     public:
  14197.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  14198.         
  14199.     };
  14200.     
  14201. #else     /* C style interface */
  14202.  
  14203.     typedef struct IDBBinderPropertiesVtbl
  14204.     {
  14205.         BEGIN_INTERFACE
  14206.         
  14207.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  14208.             IDBBinderProperties __RPC_FAR * This,
  14209.             /* [in] */ REFIID riid,
  14210.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  14211.         
  14212.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  14213.             IDBBinderProperties __RPC_FAR * This);
  14214.         
  14215.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  14216.             IDBBinderProperties __RPC_FAR * This);
  14217.         
  14218.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProperties )( 
  14219.             IDBBinderProperties __RPC_FAR * This,
  14220.             /* [in] */ ULONG cPropertyIDSets,
  14221.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  14222.             /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  14223.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets);
  14224.         
  14225.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPropertyInfo )( 
  14226.             IDBBinderProperties __RPC_FAR * This,
  14227.             /* [in] */ ULONG cPropertyIDSets,
  14228.             /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  14229.             /* [out][in] */ ULONG __RPC_FAR *pcPropertyInfoSets,
  14230.             /* [size_is][size_is][out] */ DBPROPINFOSET __RPC_FAR *__RPC_FAR *prgPropertyInfoSets,
  14231.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppDescBuffer);
  14232.         
  14233.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProperties )( 
  14234.             IDBBinderProperties __RPC_FAR * This,
  14235.             /* [in] */ ULONG cPropertySets,
  14236.             /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  14237.         
  14238.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
  14239.             IDBBinderProperties __RPC_FAR * This);
  14240.         
  14241.         END_INTERFACE
  14242.     } IDBBinderPropertiesVtbl;
  14243.  
  14244.     interface IDBBinderProperties
  14245.     {
  14246.         CONST_VTBL struct IDBBinderPropertiesVtbl __RPC_FAR *lpVtbl;
  14247.     };
  14248.  
  14249.     
  14250.  
  14251. #ifdef COBJMACROS
  14252.  
  14253.  
  14254. #define IDBBinderProperties_QueryInterface(This,riid,ppvObject)    \
  14255.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14256.  
  14257. #define IDBBinderProperties_AddRef(This)    \
  14258.     (This)->lpVtbl -> AddRef(This)
  14259.  
  14260. #define IDBBinderProperties_Release(This)    \
  14261.     (This)->lpVtbl -> Release(This)
  14262.  
  14263.  
  14264. #define IDBBinderProperties_GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)    \
  14265.     (This)->lpVtbl -> GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  14266.  
  14267. #define IDBBinderProperties_GetPropertyInfo(This,cPropertyIDSets,rgPropertyIDSets,pcPropertyInfoSets,prgPropertyInfoSets,ppDescBuffer)    \
  14268.     (This)->lpVtbl -> GetPropertyInfo(This,cPropertyIDSets,rgPropertyIDSets,pcPropertyInfoSets,prgPropertyInfoSets,ppDescBuffer)
  14269.  
  14270. #define IDBBinderProperties_SetProperties(This,cPropertySets,rgPropertySets)    \
  14271.     (This)->lpVtbl -> SetProperties(This,cPropertySets,rgPropertySets)
  14272.  
  14273.  
  14274. #define IDBBinderProperties_Reset(This)    \
  14275.     (This)->lpVtbl -> Reset(This)
  14276.  
  14277. #endif /* COBJMACROS */
  14278.  
  14279.  
  14280. #endif     /* C style interface */
  14281.  
  14282.  
  14283.  
  14284. HRESULT STDMETHODCALLTYPE IDBBinderProperties_Reset_Proxy( 
  14285.     IDBBinderProperties __RPC_FAR * This);
  14286.  
  14287.  
  14288. void __RPC_STUB IDBBinderProperties_Reset_Stub(
  14289.     IRpcStubBuffer *This,
  14290.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14291.     PRPC_MESSAGE _pRpcMessage,
  14292.     DWORD *_pdwStubPhase);
  14293.  
  14294.  
  14295.  
  14296. #endif     /* __IDBBinderProperties_INTERFACE_DEFINED__ */
  14297.  
  14298.  
  14299. #ifndef __IColumnsInfo2_INTERFACE_DEFINED__
  14300. #define __IColumnsInfo2_INTERFACE_DEFINED__
  14301.  
  14302. /* interface IColumnsInfo2 */
  14303. /* [unique][uuid][object] */ 
  14304.  
  14305.  
  14306. EXTERN_C const IID IID_IColumnsInfo2;
  14307.  
  14308. #if defined(__cplusplus) && !defined(CINTERFACE)
  14309.     
  14310.     MIDL_INTERFACE("0c733ab8-2a1c-11ce-ade5-00aa0044773d")
  14311.     IColumnsInfo2 : public IColumnsInfo
  14312.     {
  14313.     public:
  14314.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetRestrictedColumnInfo( 
  14315.             /* [in] */ DBORDINAL cColumnIDMasks,
  14316.             /* [size_is][in] */ const DBID __RPC_FAR rgColumnIDMasks[  ],
  14317.             /* [in] */ DWORD dwFlags,
  14318.             /* [out][in] */ DBORDINAL __RPC_FAR *pcColumns,
  14319.             /* [size_is][size_is][out] */ DBID __RPC_FAR *__RPC_FAR *prgColumnIDs,
  14320.             /* [size_is][size_is][out] */ DBCOLUMNINFO __RPC_FAR *__RPC_FAR *prgColumnInfo,
  14321.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer) = 0;
  14322.         
  14323.     };
  14324.     
  14325. #else     /* C style interface */
  14326.  
  14327.     typedef struct IColumnsInfo2Vtbl
  14328.     {
  14329.         BEGIN_INTERFACE
  14330.         
  14331.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  14332.             IColumnsInfo2 __RPC_FAR * This,
  14333.             /* [in] */ REFIID riid,
  14334.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  14335.         
  14336.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  14337.             IColumnsInfo2 __RPC_FAR * This);
  14338.         
  14339.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  14340.             IColumnsInfo2 __RPC_FAR * This);
  14341.         
  14342.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetColumnInfo )( 
  14343.             IColumnsInfo2 __RPC_FAR * This,
  14344.             /* [out][in] */ DBORDINAL __RPC_FAR *pcColumns,
  14345.             /* [size_is][size_is][out] */ DBCOLUMNINFO __RPC_FAR *__RPC_FAR *prgInfo,
  14346.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer);
  14347.         
  14348.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MapColumnIDs )( 
  14349.             IColumnsInfo2 __RPC_FAR * This,
  14350.             /* [in] */ DBORDINAL cColumnIDs,
  14351.             /* [size_is][in] */ const DBID __RPC_FAR rgColumnIDs[  ],
  14352.             /* [size_is][out] */ DBORDINAL __RPC_FAR rgColumns[  ]);
  14353.         
  14354.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRestrictedColumnInfo )( 
  14355.             IColumnsInfo2 __RPC_FAR * This,
  14356.             /* [in] */ DBORDINAL cColumnIDMasks,
  14357.             /* [size_is][in] */ const DBID __RPC_FAR rgColumnIDMasks[  ],
  14358.             /* [in] */ DWORD dwFlags,
  14359.             /* [out][in] */ DBORDINAL __RPC_FAR *pcColumns,
  14360.             /* [size_is][size_is][out] */ DBID __RPC_FAR *__RPC_FAR *prgColumnIDs,
  14361.             /* [size_is][size_is][out] */ DBCOLUMNINFO __RPC_FAR *__RPC_FAR *prgColumnInfo,
  14362.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer);
  14363.         
  14364.         END_INTERFACE
  14365.     } IColumnsInfo2Vtbl;
  14366.  
  14367.     interface IColumnsInfo2
  14368.     {
  14369.         CONST_VTBL struct IColumnsInfo2Vtbl __RPC_FAR *lpVtbl;
  14370.     };
  14371.  
  14372.     
  14373.  
  14374. #ifdef COBJMACROS
  14375.  
  14376.  
  14377. #define IColumnsInfo2_QueryInterface(This,riid,ppvObject)    \
  14378.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14379.  
  14380. #define IColumnsInfo2_AddRef(This)    \
  14381.     (This)->lpVtbl -> AddRef(This)
  14382.  
  14383. #define IColumnsInfo2_Release(This)    \
  14384.     (This)->lpVtbl -> Release(This)
  14385.  
  14386.  
  14387. #define IColumnsInfo2_GetColumnInfo(This,pcColumns,prgInfo,ppStringsBuffer)    \
  14388.     (This)->lpVtbl -> GetColumnInfo(This,pcColumns,prgInfo,ppStringsBuffer)
  14389.  
  14390. #define IColumnsInfo2_MapColumnIDs(This,cColumnIDs,rgColumnIDs,rgColumns)    \
  14391.     (This)->lpVtbl -> MapColumnIDs(This,cColumnIDs,rgColumnIDs,rgColumns)
  14392.  
  14393.  
  14394. #define IColumnsInfo2_GetRestrictedColumnInfo(This,cColumnIDMasks,rgColumnIDMasks,dwFlags,pcColumns,prgColumnIDs,prgColumnInfo,ppStringsBuffer)    \
  14395.     (This)->lpVtbl -> GetRestrictedColumnInfo(This,cColumnIDMasks,rgColumnIDMasks,dwFlags,pcColumns,prgColumnIDs,prgColumnInfo,ppStringsBuffer)
  14396.  
  14397. #endif /* COBJMACROS */
  14398.  
  14399.  
  14400. #endif     /* C style interface */
  14401.  
  14402.  
  14403.  
  14404. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsInfo2_RemoteGetRestrictedColumnInfo_Proxy( 
  14405.     IColumnsInfo2 __RPC_FAR * This,
  14406.     /* [in] */ DBORDINAL cColumnIDMasks,
  14407.     /* [size_is][unique][in] */ const DBID __RPC_FAR *rgColumnIDMasks,
  14408.     /* [in] */ DWORD dwFlags,
  14409.     /* [out][in] */ DBORDINAL __RPC_FAR *pcColumns,
  14410.     /* [size_is][size_is][unique][out][in] */ DBID __RPC_FAR *__RPC_FAR *prgColumnIDs,
  14411.     /* [size_is][size_is][unique][out][in] */ DBCOLUMNINFO __RPC_FAR *__RPC_FAR *prgColumnInfo,
  14412.     /* [size_is][size_is][out] */ DBBYTEOFFSET __RPC_FAR *__RPC_FAR *prgNameOffsets,
  14413.     /* [size_is][size_is][out] */ DBBYTEOFFSET __RPC_FAR *__RPC_FAR *prgcolumnidOffsets,
  14414.     /* [out][in] */ DBLENGTH __RPC_FAR *pcbStringsBuffer,
  14415.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer);
  14416.  
  14417.  
  14418. void __RPC_STUB IColumnsInfo2_RemoteGetRestrictedColumnInfo_Stub(
  14419.     IRpcStubBuffer *This,
  14420.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14421.     PRPC_MESSAGE _pRpcMessage,
  14422.     DWORD *_pdwStubPhase);
  14423.  
  14424.  
  14425.  
  14426. #endif     /* __IColumnsInfo2_INTERFACE_DEFINED__ */
  14427.  
  14428.  
  14429. #ifndef __IRegisterProvider_INTERFACE_DEFINED__
  14430. #define __IRegisterProvider_INTERFACE_DEFINED__
  14431.  
  14432. /* interface IRegisterProvider */
  14433. /* [unique][uuid][object] */ 
  14434.  
  14435.  
  14436. EXTERN_C const IID IID_IRegisterProvider;
  14437.  
  14438. #if defined(__cplusplus) && !defined(CINTERFACE)
  14439.     
  14440.     MIDL_INTERFACE("0c733ab9-2a1c-11ce-ade5-00aa0044773d")
  14441.     IRegisterProvider : public IUnknown
  14442.     {
  14443.     public:
  14444.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetURLMapping( 
  14445.             /* [in] */ LPCOLESTR pwszURL,
  14446.             /* [in] */ DB_DWRESERVE dwReserved,
  14447.             /* [out] */ CLSID __RPC_FAR *pclsidProvider) = 0;
  14448.         
  14449.         virtual HRESULT STDMETHODCALLTYPE SetURLMapping( 
  14450.             /* [unique][in] */ LPCOLESTR pwszURL,
  14451.             /* [in] */ DB_DWRESERVE dwReserved,
  14452.             /* [unique][in] */ REFCLSID rclsidProvider) = 0;
  14453.         
  14454.         virtual HRESULT STDMETHODCALLTYPE UnregisterProvider( 
  14455.             /* [unique][in] */ LPCOLESTR pwszURL,
  14456.             /* [in] */ DB_DWRESERVE dwReserved,
  14457.             /* [unique][in] */ REFCLSID rclsidProvider) = 0;
  14458.         
  14459.     };
  14460.     
  14461. #else     /* C style interface */
  14462.  
  14463.     typedef struct IRegisterProviderVtbl
  14464.     {
  14465.         BEGIN_INTERFACE
  14466.         
  14467.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  14468.             IRegisterProvider __RPC_FAR * This,
  14469.             /* [in] */ REFIID riid,
  14470.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  14471.         
  14472.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  14473.             IRegisterProvider __RPC_FAR * This);
  14474.         
  14475.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  14476.             IRegisterProvider __RPC_FAR * This);
  14477.         
  14478.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetURLMapping )( 
  14479.             IRegisterProvider __RPC_FAR * This,
  14480.             /* [in] */ LPCOLESTR pwszURL,
  14481.             /* [in] */ DB_DWRESERVE dwReserved,
  14482.             /* [out] */ CLSID __RPC_FAR *pclsidProvider);
  14483.         
  14484.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetURLMapping )( 
  14485.             IRegisterProvider __RPC_FAR * This,
  14486.             /* [unique][in] */ LPCOLESTR pwszURL,
  14487.             /* [in] */ DB_DWRESERVE dwReserved,
  14488.             /* [unique][in] */ REFCLSID rclsidProvider);
  14489.         
  14490.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnregisterProvider )( 
  14491.             IRegisterProvider __RPC_FAR * This,
  14492.             /* [unique][in] */ LPCOLESTR pwszURL,
  14493.             /* [in] */ DB_DWRESERVE dwReserved,
  14494.             /* [unique][in] */ REFCLSID rclsidProvider);
  14495.         
  14496.         END_INTERFACE
  14497.     } IRegisterProviderVtbl;
  14498.  
  14499.     interface IRegisterProvider
  14500.     {
  14501.         CONST_VTBL struct IRegisterProviderVtbl __RPC_FAR *lpVtbl;
  14502.     };
  14503.  
  14504.     
  14505.  
  14506. #ifdef COBJMACROS
  14507.  
  14508.  
  14509. #define IRegisterProvider_QueryInterface(This,riid,ppvObject)    \
  14510.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14511.  
  14512. #define IRegisterProvider_AddRef(This)    \
  14513.     (This)->lpVtbl -> AddRef(This)
  14514.  
  14515. #define IRegisterProvider_Release(This)    \
  14516.     (This)->lpVtbl -> Release(This)
  14517.  
  14518.  
  14519. #define IRegisterProvider_GetURLMapping(This,pwszURL,dwReserved,pclsidProvider)    \
  14520.     (This)->lpVtbl -> GetURLMapping(This,pwszURL,dwReserved,pclsidProvider)
  14521.  
  14522. #define IRegisterProvider_SetURLMapping(This,pwszURL,dwReserved,rclsidProvider)    \
  14523.     (This)->lpVtbl -> SetURLMapping(This,pwszURL,dwReserved,rclsidProvider)
  14524.  
  14525. #define IRegisterProvider_UnregisterProvider(This,pwszURL,dwReserved,rclsidProvider)    \
  14526.     (This)->lpVtbl -> UnregisterProvider(This,pwszURL,dwReserved,rclsidProvider)
  14527.  
  14528. #endif /* COBJMACROS */
  14529.  
  14530.  
  14531. #endif     /* C style interface */
  14532.  
  14533.  
  14534.  
  14535. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRegisterProvider_RemoteGetURLMapping_Proxy( 
  14536.     IRegisterProvider __RPC_FAR * This,
  14537.     /* [in] */ LPCOLESTR pwszURL,
  14538.     /* [in] */ DB_DWRESERVE dwReserved,
  14539.     /* [out] */ CLSID __RPC_FAR *pclsidProvider);
  14540.  
  14541.  
  14542. void __RPC_STUB IRegisterProvider_RemoteGetURLMapping_Stub(
  14543.     IRpcStubBuffer *This,
  14544.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14545.     PRPC_MESSAGE _pRpcMessage,
  14546.     DWORD *_pdwStubPhase);
  14547.  
  14548.  
  14549. HRESULT STDMETHODCALLTYPE IRegisterProvider_SetURLMapping_Proxy( 
  14550.     IRegisterProvider __RPC_FAR * This,
  14551.     /* [unique][in] */ LPCOLESTR pwszURL,
  14552.     /* [in] */ DB_DWRESERVE dwReserved,
  14553.     /* [unique][in] */ REFCLSID rclsidProvider);
  14554.  
  14555.  
  14556. void __RPC_STUB IRegisterProvider_SetURLMapping_Stub(
  14557.     IRpcStubBuffer *This,
  14558.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14559.     PRPC_MESSAGE _pRpcMessage,
  14560.     DWORD *_pdwStubPhase);
  14561.  
  14562.  
  14563. HRESULT STDMETHODCALLTYPE IRegisterProvider_UnregisterProvider_Proxy( 
  14564.     IRegisterProvider __RPC_FAR * This,
  14565.     /* [unique][in] */ LPCOLESTR pwszURL,
  14566.     /* [in] */ DB_DWRESERVE dwReserved,
  14567.     /* [unique][in] */ REFCLSID rclsidProvider);
  14568.  
  14569.  
  14570. void __RPC_STUB IRegisterProvider_UnregisterProvider_Stub(
  14571.     IRpcStubBuffer *This,
  14572.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14573.     PRPC_MESSAGE _pRpcMessage,
  14574.     DWORD *_pdwStubPhase);
  14575.  
  14576.  
  14577.  
  14578. #endif     /* __IRegisterProvider_INTERFACE_DEFINED__ */
  14579.  
  14580.  
  14581. #ifndef __IGetSession_INTERFACE_DEFINED__
  14582. #define __IGetSession_INTERFACE_DEFINED__
  14583.  
  14584. /* interface IGetSession */
  14585. /* [unique][uuid][object] */ 
  14586.  
  14587.  
  14588. EXTERN_C const IID IID_IGetSession;
  14589.  
  14590. #if defined(__cplusplus) && !defined(CINTERFACE)
  14591.     
  14592.     MIDL_INTERFACE("0c733aba-2a1c-11ce-ade5-00aa0044773d")
  14593.     IGetSession : public IUnknown
  14594.     {
  14595.     public:
  14596.         virtual HRESULT STDMETHODCALLTYPE GetSession( 
  14597.             /* [in] */ REFIID riid,
  14598.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession) = 0;
  14599.         
  14600.     };
  14601.     
  14602. #else     /* C style interface */
  14603.  
  14604.     typedef struct IGetSessionVtbl
  14605.     {
  14606.         BEGIN_INTERFACE
  14607.         
  14608.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  14609.             IGetSession __RPC_FAR * This,
  14610.             /* [in] */ REFIID riid,
  14611.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  14612.         
  14613.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  14614.             IGetSession __RPC_FAR * This);
  14615.         
  14616.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  14617.             IGetSession __RPC_FAR * This);
  14618.         
  14619.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSession )( 
  14620.             IGetSession __RPC_FAR * This,
  14621.             /* [in] */ REFIID riid,
  14622.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession);
  14623.         
  14624.         END_INTERFACE
  14625.     } IGetSessionVtbl;
  14626.  
  14627.     interface IGetSession
  14628.     {
  14629.         CONST_VTBL struct IGetSessionVtbl __RPC_FAR *lpVtbl;
  14630.     };
  14631.  
  14632.     
  14633.  
  14634. #ifdef COBJMACROS
  14635.  
  14636.  
  14637. #define IGetSession_QueryInterface(This,riid,ppvObject)    \
  14638.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14639.  
  14640. #define IGetSession_AddRef(This)    \
  14641.     (This)->lpVtbl -> AddRef(This)
  14642.  
  14643. #define IGetSession_Release(This)    \
  14644.     (This)->lpVtbl -> Release(This)
  14645.  
  14646.  
  14647. #define IGetSession_GetSession(This,riid,ppSession)    \
  14648.     (This)->lpVtbl -> GetSession(This,riid,ppSession)
  14649.  
  14650. #endif /* COBJMACROS */
  14651.  
  14652.  
  14653. #endif     /* C style interface */
  14654.  
  14655.  
  14656.  
  14657. HRESULT STDMETHODCALLTYPE IGetSession_GetSession_Proxy( 
  14658.     IGetSession __RPC_FAR * This,
  14659.     /* [in] */ REFIID riid,
  14660.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession);
  14661.  
  14662.  
  14663. void __RPC_STUB IGetSession_GetSession_Stub(
  14664.     IRpcStubBuffer *This,
  14665.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14666.     PRPC_MESSAGE _pRpcMessage,
  14667.     DWORD *_pdwStubPhase);
  14668.  
  14669.  
  14670.  
  14671. #endif     /* __IGetSession_INTERFACE_DEFINED__ */
  14672.  
  14673.  
  14674. #ifndef __IGetSourceRow_INTERFACE_DEFINED__
  14675. #define __IGetSourceRow_INTERFACE_DEFINED__
  14676.  
  14677. /* interface IGetSourceRow */
  14678. /* [unique][uuid][object] */ 
  14679.  
  14680.  
  14681. EXTERN_C const IID IID_IGetSourceRow;
  14682.  
  14683. #if defined(__cplusplus) && !defined(CINTERFACE)
  14684.     
  14685.     MIDL_INTERFACE("0c733abb-2a1c-11ce-ade5-00aa0044773d")
  14686.     IGetSourceRow : public IUnknown
  14687.     {
  14688.     public:
  14689.         virtual HRESULT STDMETHODCALLTYPE GetSourceRow( 
  14690.             /* [in] */ REFIID riid,
  14691.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRow) = 0;
  14692.         
  14693.     };
  14694.     
  14695. #else     /* C style interface */
  14696.  
  14697.     typedef struct IGetSourceRowVtbl
  14698.     {
  14699.         BEGIN_INTERFACE
  14700.         
  14701.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  14702.             IGetSourceRow __RPC_FAR * This,
  14703.             /* [in] */ REFIID riid,
  14704.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  14705.         
  14706.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  14707.             IGetSourceRow __RPC_FAR * This);
  14708.         
  14709.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  14710.             IGetSourceRow __RPC_FAR * This);
  14711.         
  14712.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceRow )( 
  14713.             IGetSourceRow __RPC_FAR * This,
  14714.             /* [in] */ REFIID riid,
  14715.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRow);
  14716.         
  14717.         END_INTERFACE
  14718.     } IGetSourceRowVtbl;
  14719.  
  14720.     interface IGetSourceRow
  14721.     {
  14722.         CONST_VTBL struct IGetSourceRowVtbl __RPC_FAR *lpVtbl;
  14723.     };
  14724.  
  14725.     
  14726.  
  14727. #ifdef COBJMACROS
  14728.  
  14729.  
  14730. #define IGetSourceRow_QueryInterface(This,riid,ppvObject)    \
  14731.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14732.  
  14733. #define IGetSourceRow_AddRef(This)    \
  14734.     (This)->lpVtbl -> AddRef(This)
  14735.  
  14736. #define IGetSourceRow_Release(This)    \
  14737.     (This)->lpVtbl -> Release(This)
  14738.  
  14739.  
  14740. #define IGetSourceRow_GetSourceRow(This,riid,ppRow)    \
  14741.     (This)->lpVtbl -> GetSourceRow(This,riid,ppRow)
  14742.  
  14743. #endif /* COBJMACROS */
  14744.  
  14745.  
  14746. #endif     /* C style interface */
  14747.  
  14748.  
  14749.  
  14750. HRESULT STDMETHODCALLTYPE IGetSourceRow_GetSourceRow_Proxy( 
  14751.     IGetSourceRow __RPC_FAR * This,
  14752.     /* [in] */ REFIID riid,
  14753.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRow);
  14754.  
  14755.  
  14756. void __RPC_STUB IGetSourceRow_GetSourceRow_Stub(
  14757.     IRpcStubBuffer *This,
  14758.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14759.     PRPC_MESSAGE _pRpcMessage,
  14760.     DWORD *_pdwStubPhase);
  14761.  
  14762.  
  14763.  
  14764. #endif     /* __IGetSourceRow_INTERFACE_DEFINED__ */
  14765.  
  14766.  
  14767. #ifndef __IRowsetCurrentIndex_INTERFACE_DEFINED__
  14768. #define __IRowsetCurrentIndex_INTERFACE_DEFINED__
  14769.  
  14770. /* interface IRowsetCurrentIndex */
  14771. /* [unique][uuid][object][local] */ 
  14772.  
  14773.  
  14774. EXTERN_C const IID IID_IRowsetCurrentIndex;
  14775.  
  14776. #if defined(__cplusplus) && !defined(CINTERFACE)
  14777.     
  14778.     MIDL_INTERFACE("0c733abd-2a1c-11ce-ade5-00aa0044773d")
  14779.     IRowsetCurrentIndex : public IRowsetIndex
  14780.     {
  14781.     public:
  14782.         virtual HRESULT STDMETHODCALLTYPE GetIndex( 
  14783.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppIndexID) = 0;
  14784.         
  14785.         virtual HRESULT STDMETHODCALLTYPE SetIndex( 
  14786.             /* [in] */ DBID __RPC_FAR *pIndexID) = 0;
  14787.         
  14788.     };
  14789.     
  14790. #else     /* C style interface */
  14791.  
  14792.     typedef struct IRowsetCurrentIndexVtbl
  14793.     {
  14794.         BEGIN_INTERFACE
  14795.         
  14796.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  14797.             IRowsetCurrentIndex __RPC_FAR * This,
  14798.             /* [in] */ REFIID riid,
  14799.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  14800.         
  14801.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  14802.             IRowsetCurrentIndex __RPC_FAR * This);
  14803.         
  14804.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  14805.             IRowsetCurrentIndex __RPC_FAR * This);
  14806.         
  14807.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIndexInfo )( 
  14808.             IRowsetCurrentIndex __RPC_FAR * This,
  14809.             /* [out][in] */ DBORDINAL __RPC_FAR *pcKeyColumns,
  14810.             /* [size_is][size_is][out] */ DBINDEXCOLUMNDESC __RPC_FAR *__RPC_FAR *prgIndexColumnDesc,
  14811.             /* [out][in] */ ULONG __RPC_FAR *pcIndexProperties,
  14812.             /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgIndexProperties);
  14813.         
  14814.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Seek )( 
  14815.             IRowsetCurrentIndex __RPC_FAR * This,
  14816.             /* [in] */ HACCESSOR hAccessor,
  14817.             /* [in] */ DBORDINAL cKeyValues,
  14818.             /* [in] */ void __RPC_FAR *pData,
  14819.             /* [in] */ DBSEEK dwSeekOptions);
  14820.         
  14821.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetRange )( 
  14822.             IRowsetCurrentIndex __RPC_FAR * This,
  14823.             /* [in] */ HACCESSOR hAccessor,
  14824.             /* [in] */ DBORDINAL cStartKeyColumns,
  14825.             /* [in] */ void __RPC_FAR *pStartData,
  14826.             /* [in] */ DBORDINAL cEndKeyColumns,
  14827.             /* [in] */ void __RPC_FAR *pEndData,
  14828.             /* [in] */ DBRANGE dwRangeOptions);
  14829.         
  14830.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIndex )( 
  14831.             IRowsetCurrentIndex __RPC_FAR * This,
  14832.             /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppIndexID);
  14833.         
  14834.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetIndex )( 
  14835.             IRowsetCurrentIndex __RPC_FAR * This,
  14836.             /* [in] */ DBID __RPC_FAR *pIndexID);
  14837.         
  14838.         END_INTERFACE
  14839.     } IRowsetCurrentIndexVtbl;
  14840.  
  14841.     interface IRowsetCurrentIndex
  14842.     {
  14843.         CONST_VTBL struct IRowsetCurrentIndexVtbl __RPC_FAR *lpVtbl;
  14844.     };
  14845.  
  14846.     
  14847.  
  14848. #ifdef COBJMACROS
  14849.  
  14850.  
  14851. #define IRowsetCurrentIndex_QueryInterface(This,riid,ppvObject)    \
  14852.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14853.  
  14854. #define IRowsetCurrentIndex_AddRef(This)    \
  14855.     (This)->lpVtbl -> AddRef(This)
  14856.  
  14857. #define IRowsetCurrentIndex_Release(This)    \
  14858.     (This)->lpVtbl -> Release(This)
  14859.  
  14860.  
  14861. #define IRowsetCurrentIndex_GetIndexInfo(This,pcKeyColumns,prgIndexColumnDesc,pcIndexProperties,prgIndexProperties)    \
  14862.     (This)->lpVtbl -> GetIndexInfo(This,pcKeyColumns,prgIndexColumnDesc,pcIndexProperties,prgIndexProperties)
  14863.  
  14864. #define IRowsetCurrentIndex_Seek(This,hAccessor,cKeyValues,pData,dwSeekOptions)    \
  14865.     (This)->lpVtbl -> Seek(This,hAccessor,cKeyValues,pData,dwSeekOptions)
  14866.  
  14867. #define IRowsetCurrentIndex_SetRange(This,hAccessor,cStartKeyColumns,pStartData,cEndKeyColumns,pEndData,dwRangeOptions)    \
  14868.     (This)->lpVtbl -> SetRange(This,hAccessor,cStartKeyColumns,pStartData,cEndKeyColumns,pEndData,dwRangeOptions)
  14869.  
  14870.  
  14871. #define IRowsetCurrentIndex_GetIndex(This,ppIndexID)    \
  14872.     (This)->lpVtbl -> GetIndex(This,ppIndexID)
  14873.  
  14874. #define IRowsetCurrentIndex_SetIndex(This,pIndexID)    \
  14875.     (This)->lpVtbl -> SetIndex(This,pIndexID)
  14876.  
  14877. #endif /* COBJMACROS */
  14878.  
  14879.  
  14880. #endif     /* C style interface */
  14881.  
  14882.  
  14883.  
  14884. HRESULT STDMETHODCALLTYPE IRowsetCurrentIndex_GetIndex_Proxy( 
  14885.     IRowsetCurrentIndex __RPC_FAR * This,
  14886.     /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppIndexID);
  14887.  
  14888.  
  14889. void __RPC_STUB IRowsetCurrentIndex_GetIndex_Stub(
  14890.     IRpcStubBuffer *This,
  14891.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14892.     PRPC_MESSAGE _pRpcMessage,
  14893.     DWORD *_pdwStubPhase);
  14894.  
  14895.  
  14896. HRESULT STDMETHODCALLTYPE IRowsetCurrentIndex_SetIndex_Proxy( 
  14897.     IRowsetCurrentIndex __RPC_FAR * This,
  14898.     /* [in] */ DBID __RPC_FAR *pIndexID);
  14899.  
  14900.  
  14901. void __RPC_STUB IRowsetCurrentIndex_SetIndex_Stub(
  14902.     IRpcStubBuffer *This,
  14903.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14904.     PRPC_MESSAGE _pRpcMessage,
  14905.     DWORD *_pdwStubPhase);
  14906.  
  14907.  
  14908.  
  14909. #endif     /* __IRowsetCurrentIndex_INTERFACE_DEFINED__ */
  14910.  
  14911.  
  14912. /* interface __MIDL_itf_oledb_0343 */
  14913. /* [local] */ 
  14914.  
  14915. #endif // OLEDBVER >= 0x0210
  14916. //@@@- V2.1
  14917. //
  14918. // IID values
  14919. //
  14920.  
  14921. // IID_IAccessor                 = {0x0c733a8c,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14922. // IID_IRowset                   = {0x0c733a7c,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14923. // IID_IRowsetInfo               = {0x0c733a55,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14924. // IID_IRowsetLocate             = {0x0c733a7d,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14925. // IID_IRowsetResynch            = {0x0c733a84,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14926. // IID_IRowsetScroll             = {0x0c733a7e,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14927. // IID_IRowsetChange             = {0x0c733a05,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14928. // IID_IRowsetUpdate             = {0x0c733a6d,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14929. // IID_IRowsetIdentity           = {0x0c733a09,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14930. // IID_IRowsetNotify             = {0x0c733a83,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14931. // IID_IRowsetIndex              = {0x0c733a82,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14932. // IID_ICommand                  = {0x0c733a63,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14933. // IID_IMultipleResults          = {0x0c733a90,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14934. // IID_IConvertType              = {0x0c733a88,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14935. // IID_ICommandPrepare           = {0x0c733a26,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14936. // IID_ICommandProperties        = {0x0c733a79,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14937. // IID_ICommandText              = {0x0c733a27,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14938. // IID_ICommandWithParameters    = {0x0c733a64,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14939. // IID_IColumnsRowset            = {0x0c733a10,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14940. // IID_IColumnsInfo              = {0x0c733a11,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14941. // IID_IDBCreateCommand          = {0x0c733a1d,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14942. // IID_IDBCreateSession          = {0x0c733a5d,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14943. // IID_ISourcesRowset            = {0x0c733a1e,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14944. // IID_IDBProperties             = {0x0c733a8a,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14945. // IID_IDBInitialize             = {0x0c733a8b,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14946. // IID_IDBInfo                   = {0x0c733a89,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14947. // IID_IDBDataSourceAdmin        = {0x0c733a7a,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14948. // IID_ISessionProperties        = {0x0c733a85,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14949. // IID_IIndexDefinition          = {0x0c733a68,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14950. // IID_ITableDefinition          = {0x0c733a86,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14951. // IID_IOpenRowset               = {0x0c733a69,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14952. // IID_IDBSchemaRowset           = {0x0c733a7b,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14953. // IID_IErrorRecords             = {0x0c733a67,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14954. // IID_IErrorLookup              = {0x0c733a66,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14955. // IID_ISQLErrorInfo             = {0x0c733a74,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14956. // IID_IGetDataSource            = {0x0c733a75,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14957. // IID_ITransactionLocal         = {0x0c733a5f,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14958. // IID_ITransactionJoin          = {0x0c733a5e,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14959. // IID_ITransactionObject        = {0x0c733a60,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14960. //@@@+ V1.5
  14961. #if( OLEDBVER >= 0x0150 )
  14962. //IID_IChapteredRowset           = {0x0c733a93,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14963. //IID_IDBAsynchNotify            = {0x0c733a96,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14964. //IID_IDBAsynchStatus            = {0x0c733a95,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14965. //IID_IRowsetFind                = {0x0c733a9d,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14966. //IID_IRowPosition               = {0x0c733a94,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14967. //IID_IRowPositionChange         = {0x0997a571,0x126e,0x11d0,{0x9f,0x8a,0x00,0xa0,0xc9,0xa0,0x63,0x1e}}
  14968. //IID_IViewRowset                = {0x0c733a97,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14969. //IID_IViewChapter               = {0x0c733a98,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14970. //IID_IViewSort                  = {0x0c733a9a,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14971. //IID_IViewFilter                = {0x0c733a9b,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14972. //IID_IRowsetView                = {0x0c733a99,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14973. #endif // OLEDBVER >= 0x0150
  14974. //@@@- V1.5
  14975. //@@@+ V2.0
  14976. #if( OLEDBVER >= 0x0200 )
  14977. // IID_IMDDataset                = {0xa07cccd1,0x8148,0x11d0,{0x87,0xbb,0x00,0xc0,0x4f,0xc3,0x39,0x42}}
  14978. // IID_IMDFind                   = {0xa07cccd2,0x8148,0x11d0,{0x87,0xbb,0x00,0xc0,0x4f,0xc3,0x39,0x42}}
  14979. // IID_IMDRangeRowset            = {0x0c733aa0,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14980. // IID_IAlterTable               = {0x0c733aa5,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14981. // IID_IAlterIndex               = {0x0c733aa6,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14982. // IID_ICommandPersist           = {0x0c733aa7,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14983. // IID_IRowsetChapterMember      = {0x0c733aa8,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14984. // IID_IRowsetRefresh            = {0x0c733aa9,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14985. // IID_IParentRowset             = {0x0c733aaa,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14986. #endif // OLEDBVER >= 0x0200
  14987. //@@@- V2.0
  14988. //@@@+ V2.1
  14989. #if( OLEDBVER >= 0x0210 )
  14990. // IID_ITrusteeAdmin                = {0c733aa1,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14991. // IID_ITrusteeGroupAdmin        = {0c733aa2,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14992. // IID_IObjectAccessControl        = {0c733aa3,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14993. // IID_ISecurityInfo                = {0c733aa4,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14994. // IID_IRow                        = {0c733ab4,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14995. // IID_IRowChange                = {0c733ab5,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14996. // IID_IRowSchemaChange            = {0c733aae,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14997. // IID_IGetRow                    = {0c733aaf,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14998. // IID_IScopedOperations            = {0c733ab0,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  14999. // IID_IBindResource                = {0c733ab1,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15000. // IID_ICreateRow                = {0c733ab2,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15001. // IID_IDBResetProperties        = {0c733ab3,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15002. // IID_IColumnsInfo2                = {0c733ab8,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15003. // IID_IRegisterProvider         = {0c733ab9,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15004. // IID_IGetSession                 = {0c733aba,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15005. // IID_IGetSourceRow                 = {0c733abb,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15006. // IID_ITableCreation             = {0c733abc,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15007. // IID_IRowsetCurrentIndex         = {0c733abd,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
  15008. #endif // OLEDBVER >= 0x0210
  15009. //@@@- V2.1
  15010. #include <poppack.h>     // restore original structure packing
  15011.  
  15012.  
  15013. extern RPC_IF_HANDLE __MIDL_itf_oledb_0343_v0_0_c_ifspec;
  15014. extern RPC_IF_HANDLE __MIDL_itf_oledb_0343_v0_0_s_ifspec;
  15015.  
  15016. #ifdef OLEDBPROXY
  15017. /* Additional Prototypes for ALL interfaces */
  15018.  
  15019. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long __RPC_FAR *, unsigned long            , BSTR __RPC_FAR * ); 
  15020. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  15021. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  15022. void                      __RPC_USER  BSTR_UserFree(     unsigned long __RPC_FAR *, BSTR __RPC_FAR * ); 
  15023.  
  15024. unsigned long             __RPC_USER  LPSAFEARRAY_UserSize(     unsigned long __RPC_FAR *, unsigned long            , LPSAFEARRAY __RPC_FAR * ); 
  15025. unsigned char __RPC_FAR * __RPC_USER  LPSAFEARRAY_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, LPSAFEARRAY __RPC_FAR * ); 
  15026. unsigned char __RPC_FAR * __RPC_USER  LPSAFEARRAY_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, LPSAFEARRAY __RPC_FAR * ); 
  15027. void                      __RPC_USER  LPSAFEARRAY_UserFree(     unsigned long __RPC_FAR *, LPSAFEARRAY __RPC_FAR * ); 
  15028.  
  15029. unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long __RPC_FAR *, unsigned long            , VARIANT __RPC_FAR * ); 
  15030. unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * ); 
  15031. unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * ); 
  15032. void                      __RPC_USER  VARIANT_UserFree(     unsigned long __RPC_FAR *, VARIANT __RPC_FAR * ); 
  15033.  
  15034. /* [local] */ HRESULT STDMETHODCALLTYPE IAccessor_AddRefAccessor_Proxy( 
  15035.     IAccessor __RPC_FAR * This,
  15036.     /* [in] */ HACCESSOR hAccessor,
  15037.     /* [unique][out][in] */ DBREFCOUNT __RPC_FAR *pcRefCount);
  15038.  
  15039.  
  15040. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_AddRefAccessor_Stub( 
  15041.     IAccessor __RPC_FAR * This,
  15042.     /* [in] */ HACCESSOR hAccessor,
  15043.     /* [unique][out][in] */ DBREFCOUNT __RPC_FAR *pcRefCount,
  15044.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15045.  
  15046. /* [local] */ HRESULT STDMETHODCALLTYPE IAccessor_CreateAccessor_Proxy( 
  15047.     IAccessor __RPC_FAR * This,
  15048.     /* [in] */ DBACCESSORFLAGS dwAccessorFlags,
  15049.     /* [in] */ DBCOUNTITEM cBindings,
  15050.     /* [size_is][in] */ const DBBINDING __RPC_FAR rgBindings[  ],
  15051.     /* [in] */ DBLENGTH cbRowSize,
  15052.     /* [out] */ HACCESSOR __RPC_FAR *phAccessor,
  15053.     /* [size_is][out] */ DBBINDSTATUS __RPC_FAR rgStatus[  ]);
  15054.  
  15055.  
  15056. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_CreateAccessor_Stub( 
  15057.     IAccessor __RPC_FAR * This,
  15058.     /* [in] */ DBACCESSORFLAGS dwAccessorFlags,
  15059.     /* [in] */ DBCOUNTITEM cBindings,
  15060.     /* [size_is][unique][in] */ DBBINDING __RPC_FAR *rgBindings,
  15061.     /* [in] */ DBLENGTH cbRowSize,
  15062.     /* [out] */ HACCESSOR __RPC_FAR *phAccessor,
  15063.     /* [size_is][unique][out][in] */ DBBINDSTATUS __RPC_FAR *rgStatus,
  15064.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15065.  
  15066. /* [local] */ HRESULT STDMETHODCALLTYPE IAccessor_GetBindings_Proxy( 
  15067.     IAccessor __RPC_FAR * This,
  15068.     /* [in] */ HACCESSOR hAccessor,
  15069.     /* [out] */ DBACCESSORFLAGS __RPC_FAR *pdwAccessorFlags,
  15070.     /* [out][in] */ DBCOUNTITEM __RPC_FAR *pcBindings,
  15071.     /* [size_is][size_is][out] */ DBBINDING __RPC_FAR *__RPC_FAR *prgBindings);
  15072.  
  15073.  
  15074. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_GetBindings_Stub( 
  15075.     IAccessor __RPC_FAR * This,
  15076.     /* [in] */ HACCESSOR hAccessor,
  15077.     /* [out] */ DBACCESSORFLAGS __RPC_FAR *pdwAccessorFlags,
  15078.     /* [out][in] */ DBCOUNTITEM __RPC_FAR *pcBindings,
  15079.     /* [size_is][size_is][out] */ DBBINDING __RPC_FAR *__RPC_FAR *prgBindings,
  15080.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15081.  
  15082. /* [local] */ HRESULT STDMETHODCALLTYPE IAccessor_ReleaseAccessor_Proxy( 
  15083.     IAccessor __RPC_FAR * This,
  15084.     /* [in] */ HACCESSOR hAccessor,
  15085.     /* [unique][out][in] */ DBREFCOUNT __RPC_FAR *pcRefCount);
  15086.  
  15087.  
  15088. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAccessor_ReleaseAccessor_Stub( 
  15089.     IAccessor __RPC_FAR * This,
  15090.     /* [in] */ HACCESSOR hAccessor,
  15091.     /* [unique][out][in] */ DBREFCOUNT __RPC_FAR *pcRefCount,
  15092.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15093.  
  15094. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_GetProperties_Proxy( 
  15095.     IRowsetInfo __RPC_FAR * This,
  15096.     /* [in] */ const ULONG cPropertyIDSets,
  15097.     /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  15098.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  15099.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets);
  15100.  
  15101.  
  15102. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_GetProperties_Stub( 
  15103.     IRowsetInfo __RPC_FAR * This,
  15104.     /* [in] */ ULONG cPropertyIDSets,
  15105.     /* [size_is][unique][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.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15109.  
  15110. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_GetReferencedRowset_Proxy( 
  15111.     IRowsetInfo __RPC_FAR * This,
  15112.     /* [in] */ DBORDINAL iOrdinal,
  15113.     /* [in] */ REFIID riid,
  15114.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppReferencedRowset);
  15115.  
  15116.  
  15117. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_GetReferencedRowset_Stub( 
  15118.     IRowsetInfo __RPC_FAR * This,
  15119.     /* [in] */ DBORDINAL iOrdinal,
  15120.     /* [in] */ REFIID riid,
  15121.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppReferencedRowset,
  15122.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15123.  
  15124. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_GetSpecification_Proxy( 
  15125.     IRowsetInfo __RPC_FAR * This,
  15126.     /* [in] */ REFIID riid,
  15127.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSpecification);
  15128.  
  15129.  
  15130. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetInfo_GetSpecification_Stub( 
  15131.     IRowsetInfo __RPC_FAR * This,
  15132.     /* [in] */ REFIID riid,
  15133.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSpecification,
  15134.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15135.  
  15136. /* [local] */ HRESULT STDMETHODCALLTYPE IChapteredRowset_AddRefChapter_Proxy( 
  15137.     IChapteredRowset __RPC_FAR * This,
  15138.     /* [in] */ HCHAPTER hChapter,
  15139.     /* [out] */ DBREFCOUNT __RPC_FAR *pcRefCount);
  15140.  
  15141.  
  15142. /* [call_as] */ HRESULT STDMETHODCALLTYPE IChapteredRowset_AddRefChapter_Stub( 
  15143.     IChapteredRowset __RPC_FAR * This,
  15144.     /* [in] */ HCHAPTER hChapter,
  15145.     /* [out] */ DBREFCOUNT __RPC_FAR *pcRefCount,
  15146.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15147.  
  15148. /* [local] */ HRESULT STDMETHODCALLTYPE IChapteredRowset_ReleaseChapter_Proxy( 
  15149.     IChapteredRowset __RPC_FAR * This,
  15150.     /* [in] */ HCHAPTER hChapter,
  15151.     /* [out] */ DBREFCOUNT __RPC_FAR *pcRefCount);
  15152.  
  15153.  
  15154. /* [call_as] */ HRESULT STDMETHODCALLTYPE IChapteredRowset_ReleaseChapter_Stub( 
  15155.     IChapteredRowset __RPC_FAR * This,
  15156.     /* [in] */ HCHAPTER hChapter,
  15157.     /* [out] */ DBREFCOUNT __RPC_FAR *pcRefCount,
  15158.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15159.  
  15160. /* [local] */ HRESULT STDMETHODCALLTYPE IRowPosition_ClearRowPosition_Proxy( 
  15161.     IRowPosition __RPC_FAR * This);
  15162.  
  15163.  
  15164. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_ClearRowPosition_Stub( 
  15165.     IRowPosition __RPC_FAR * This,
  15166.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15167.  
  15168. /* [local] */ HRESULT STDMETHODCALLTYPE IRowPosition_GetRowPosition_Proxy( 
  15169.     IRowPosition __RPC_FAR * This,
  15170.     /* [out] */ HCHAPTER __RPC_FAR *phChapter,
  15171.     /* [out] */ HROW __RPC_FAR *phRow,
  15172.     /* [out] */ DBPOSITIONFLAGS __RPC_FAR *pdwPositionFlags);
  15173.  
  15174.  
  15175. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_GetRowPosition_Stub( 
  15176.     IRowPosition __RPC_FAR * This,
  15177.     /* [out] */ HCHAPTER __RPC_FAR *phChapter,
  15178.     /* [out] */ HROW __RPC_FAR *phRow,
  15179.     /* [out] */ DBPOSITIONFLAGS __RPC_FAR *pdwPositionFlags,
  15180.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15181.  
  15182. /* [local] */ HRESULT STDMETHODCALLTYPE IRowPosition_GetRowset_Proxy( 
  15183.     IRowPosition __RPC_FAR * This,
  15184.     /* [in] */ REFIID riid,
  15185.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  15186.  
  15187.  
  15188. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_GetRowset_Stub( 
  15189.     IRowPosition __RPC_FAR * This,
  15190.     /* [in] */ REFIID riid,
  15191.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  15192.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15193.  
  15194. /* [local] */ HRESULT STDMETHODCALLTYPE IRowPosition_Initialize_Proxy( 
  15195.     IRowPosition __RPC_FAR * This,
  15196.     /* [in] */ IUnknown __RPC_FAR *pRowset);
  15197.  
  15198.  
  15199. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_Initialize_Stub( 
  15200.     IRowPosition __RPC_FAR * This,
  15201.     /* [in] */ IUnknown __RPC_FAR *pRowset,
  15202.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15203.  
  15204. /* [local] */ HRESULT STDMETHODCALLTYPE IRowPosition_SetRowPosition_Proxy( 
  15205.     IRowPosition __RPC_FAR * This,
  15206.     /* [in] */ HCHAPTER hChapter,
  15207.     /* [in] */ HROW hRow,
  15208.     /* [in] */ DBPOSITIONFLAGS dwPositionFlags);
  15209.  
  15210.  
  15211. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPosition_SetRowPosition_Stub( 
  15212.     IRowPosition __RPC_FAR * This,
  15213.     /* [in] */ HCHAPTER hChapter,
  15214.     /* [in] */ HROW hRow,
  15215.     /* [in] */ DBPOSITIONFLAGS dwPositionFlags,
  15216.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15217.  
  15218. /* [local] */ HRESULT STDMETHODCALLTYPE IRowPositionChange_OnRowPositionChange_Proxy( 
  15219.     IRowPositionChange __RPC_FAR * This,
  15220.     /* [in] */ DBREASON eReason,
  15221.     /* [in] */ DBEVENTPHASE ePhase,
  15222.     /* [in] */ BOOL fCantDeny);
  15223.  
  15224.  
  15225. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowPositionChange_OnRowPositionChange_Stub( 
  15226.     IRowPositionChange __RPC_FAR * This,
  15227.     /* [in] */ DBREASON eReason,
  15228.     /* [in] */ DBEVENTPHASE ePhase,
  15229.     /* [in] */ BOOL fCantDeny,
  15230.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15231.  
  15232. /* [local] */ HRESULT STDMETHODCALLTYPE IViewRowset_GetSpecification_Proxy( 
  15233.     IViewRowset __RPC_FAR * This,
  15234.     /* [in] */ REFIID riid,
  15235.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject);
  15236.  
  15237.  
  15238. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewRowset_GetSpecification_Stub( 
  15239.     IViewRowset __RPC_FAR * This,
  15240.     /* [in] */ REFIID riid,
  15241.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject,
  15242.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15243.  
  15244. /* [local] */ HRESULT STDMETHODCALLTYPE IViewRowset_OpenViewRowset_Proxy( 
  15245.     IViewRowset __RPC_FAR * This,
  15246.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  15247.     /* [in] */ REFIID riid,
  15248.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  15249.  
  15250.  
  15251. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewRowset_OpenViewRowset_Stub( 
  15252.     IViewRowset __RPC_FAR * This,
  15253.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  15254.     /* [in] */ REFIID riid,
  15255.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  15256.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15257.  
  15258. /* [local] */ HRESULT STDMETHODCALLTYPE IViewChapter_GetSpecification_Proxy( 
  15259.     IViewChapter __RPC_FAR * This,
  15260.     /* [in] */ REFIID riid,
  15261.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  15262.  
  15263.  
  15264. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewChapter_GetSpecification_Stub( 
  15265.     IViewChapter __RPC_FAR * This,
  15266.     /* [in] */ REFIID riid,
  15267.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  15268.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15269.  
  15270. /* [local] */ HRESULT STDMETHODCALLTYPE IViewChapter_OpenViewChapter_Proxy( 
  15271.     IViewChapter __RPC_FAR * This,
  15272.     /* [in] */ HCHAPTER hSource,
  15273.     /* [out] */ HCHAPTER __RPC_FAR *phViewChapter);
  15274.  
  15275.  
  15276. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewChapter_OpenViewChapter_Stub( 
  15277.     IViewChapter __RPC_FAR * This,
  15278.     /* [in] */ HCHAPTER hSource,
  15279.     /* [out] */ HCHAPTER __RPC_FAR *phViewChapter,
  15280.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15281.  
  15282. /* [local] */ HRESULT STDMETHODCALLTYPE IViewSort_GetSortOrder_Proxy( 
  15283.     IViewSort __RPC_FAR * This,
  15284.     /* [out] */ DBORDINAL __RPC_FAR *pcValues,
  15285.     /* [out] */ DBORDINAL __RPC_FAR *__RPC_FAR prgColumns[  ],
  15286.     /* [out] */ DBSORT __RPC_FAR *__RPC_FAR prgOrders[  ]);
  15287.  
  15288.  
  15289. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewSort_GetSortOrder_Stub( 
  15290.     IViewSort __RPC_FAR * This,
  15291.     /* [out][in] */ DBORDINAL __RPC_FAR *pcValues,
  15292.     /* [size_is][size_is][out] */ DBORDINAL __RPC_FAR *__RPC_FAR *prgColumns,
  15293.     /* [size_is][size_is][out] */ DBORDINAL __RPC_FAR *__RPC_FAR *prgOrders,
  15294.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15295.  
  15296. /* [local] */ HRESULT STDMETHODCALLTYPE IViewSort_SetSortOrder_Proxy( 
  15297.     IViewSort __RPC_FAR * This,
  15298.     /* [in] */ DBORDINAL cValues,
  15299.     /* [size_is][in] */ const DBORDINAL __RPC_FAR rgColumns[  ],
  15300.     /* [size_is][in] */ const DBSORT __RPC_FAR rgOrders[  ]);
  15301.  
  15302.  
  15303. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewSort_SetSortOrder_Stub( 
  15304.     IViewSort __RPC_FAR * This,
  15305.     /* [in] */ DBORDINAL cValues,
  15306.     /* [size_is][in] */ const DBORDINAL __RPC_FAR *rgColumns,
  15307.     /* [size_is][in] */ const DBSORT __RPC_FAR *rgOrders,
  15308.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15309.  
  15310. /* [local] */ HRESULT STDMETHODCALLTYPE IViewFilter_GetFilterBindings_Proxy( 
  15311.     IViewFilter __RPC_FAR * This,
  15312.     /* [out] */ DBCOUNTITEM __RPC_FAR *pcBindings,
  15313.     /* [out] */ DBBINDING __RPC_FAR *__RPC_FAR *prgBindings);
  15314.  
  15315.  
  15316. /* [call_as] */ HRESULT STDMETHODCALLTYPE IViewFilter_GetFilterBindings_Stub( 
  15317.     IViewFilter __RPC_FAR * This,
  15318.     /* [out][in] */ DBCOUNTITEM __RPC_FAR *pcBindings,
  15319.     /* [size_is][size_is][out] */ DBBINDING __RPC_FAR *__RPC_FAR *prgBindings,
  15320.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15321.  
  15322. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetView_CreateView_Proxy( 
  15323.     IRowsetView __RPC_FAR * This,
  15324.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  15325.     /* [in] */ REFIID riid,
  15326.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppView);
  15327.  
  15328.  
  15329. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetView_CreateView_Stub( 
  15330.     IRowsetView __RPC_FAR * This,
  15331.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  15332.     /* [in] */ REFIID riid,
  15333.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppView,
  15334.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15335.  
  15336. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetView_GetView_Proxy( 
  15337.     IRowsetView __RPC_FAR * This,
  15338.     /* [in] */ HCHAPTER hChapter,
  15339.     /* [in] */ REFIID riid,
  15340.     /* [out] */ HCHAPTER __RPC_FAR *phChapterSource,
  15341.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppView);
  15342.  
  15343.  
  15344. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetView_GetView_Stub( 
  15345.     IRowsetView __RPC_FAR * This,
  15346.     /* [in] */ HCHAPTER hChapter,
  15347.     /* [in] */ REFIID riid,
  15348.     /* [out] */ HCHAPTER __RPC_FAR *phChapterSource,
  15349.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppView,
  15350.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15351.  
  15352. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetIdentity_IsSameRow_Proxy( 
  15353.     IRowsetIdentity __RPC_FAR * This,
  15354.     /* [in] */ HROW hThisRow,
  15355.     /* [in] */ HROW hThatRow);
  15356.  
  15357.  
  15358. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetIdentity_IsSameRow_Stub( 
  15359.     IRowsetIdentity __RPC_FAR * This,
  15360.     /* [in] */ HROW hThisRow,
  15361.     /* [in] */ HROW hThatRow,
  15362.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15363.  
  15364. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_OnFieldChange_Proxy( 
  15365.     IRowsetNotify __RPC_FAR * This,
  15366.     /* [in] */ IRowset __RPC_FAR *pRowset,
  15367.     /* [in] */ HROW hRow,
  15368.     /* [in] */ DBORDINAL cColumns,
  15369.     /* [size_is][in] */ DBORDINAL __RPC_FAR rgColumns[  ],
  15370.     /* [in] */ DBREASON eReason,
  15371.     /* [in] */ DBEVENTPHASE ePhase,
  15372.     /* [in] */ BOOL fCantDeny);
  15373.  
  15374.  
  15375. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_OnFieldChange_Stub( 
  15376.     IRowsetNotify __RPC_FAR * This,
  15377.     /* [in] */ IRowset __RPC_FAR *pRowset,
  15378.     /* [in] */ HROW hRow,
  15379.     /* [in] */ DBORDINAL cColumns,
  15380.     /* [size_is][in] */ DBORDINAL __RPC_FAR *rgColumns,
  15381.     /* [in] */ DBREASON eReason,
  15382.     /* [in] */ DBEVENTPHASE ePhase,
  15383.     /* [in] */ BOOL fCantDeny);
  15384.  
  15385. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_OnRowChange_Proxy( 
  15386.     IRowsetNotify __RPC_FAR * This,
  15387.     /* [in] */ IRowset __RPC_FAR *pRowset,
  15388.     /* [in] */ DBCOUNTITEM cRows,
  15389.     /* [size_is][in] */ const HROW __RPC_FAR rghRows[  ],
  15390.     /* [in] */ DBREASON eReason,
  15391.     /* [in] */ DBEVENTPHASE ePhase,
  15392.     /* [in] */ BOOL fCantDeny);
  15393.  
  15394.  
  15395. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_OnRowChange_Stub( 
  15396.     IRowsetNotify __RPC_FAR * This,
  15397.     /* [in] */ IRowset __RPC_FAR *pRowset,
  15398.     /* [in] */ DBCOUNTITEM cRows,
  15399.     /* [size_is][in] */ const HROW __RPC_FAR *rghRows,
  15400.     /* [in] */ DBREASON eReason,
  15401.     /* [in] */ DBEVENTPHASE ePhase,
  15402.     /* [in] */ BOOL fCantDeny);
  15403.  
  15404. /* [local] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_OnRowsetChange_Proxy( 
  15405.     IRowsetNotify __RPC_FAR * This,
  15406.     /* [in] */ IRowset __RPC_FAR *pRowset,
  15407.     /* [in] */ DBREASON eReason,
  15408.     /* [in] */ DBEVENTPHASE ePhase,
  15409.     /* [in] */ BOOL fCantDeny);
  15410.  
  15411.  
  15412. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRowsetNotify_OnRowsetChange_Stub( 
  15413.     IRowsetNotify __RPC_FAR * This,
  15414.     /* [in] */ IRowset __RPC_FAR *pRowset,
  15415.     /* [in] */ DBREASON eReason,
  15416.     /* [in] */ DBEVENTPHASE ePhase,
  15417.     /* [in] */ BOOL fCantDeny);
  15418.  
  15419. /* [local] */ HRESULT STDMETHODCALLTYPE ICommand_Cancel_Proxy( 
  15420.     ICommand __RPC_FAR * This);
  15421.  
  15422.  
  15423. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommand_Cancel_Stub( 
  15424.     ICommand __RPC_FAR * This,
  15425.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15426.  
  15427. /* [local] */ HRESULT STDMETHODCALLTYPE ICommand_Execute_Proxy( 
  15428.     ICommand __RPC_FAR * This,
  15429.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  15430.     /* [in] */ REFIID riid,
  15431.     /* [out][in] */ DBPARAMS __RPC_FAR *pParams,
  15432.     /* [out] */ DBROWCOUNT __RPC_FAR *pcRowsAffected,
  15433.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  15434.  
  15435.  
  15436. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommand_Execute_Stub( 
  15437.     ICommand __RPC_FAR * This,
  15438.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  15439.     /* [in] */ REFIID riid,
  15440.     /* [in] */ HACCESSOR hAccessor,
  15441.     /* [in] */ ULONG cParamSets,
  15442.     /* [unique][in] */ GUID __RPC_FAR *pGuid,
  15443.     /* [in] */ ULONG ulGuidOffset,
  15444.     /* [unique][in] */ RMTPACK __RPC_FAR *pInputParams,
  15445.     /* [unique][out][in] */ RMTPACK __RPC_FAR *pOutputParams,
  15446.     /* [in] */ ULONG cBindings,
  15447.     /* [size_is][unique][in] */ DBBINDING __RPC_FAR *rgBindings,
  15448.     /* [size_is][unique][out][in] */ DBSTATUS __RPC_FAR *rgStatus,
  15449.     /* [unique][out][in] */ LONG __RPC_FAR *pcRowsAffected,
  15450.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  15451.  
  15452. /* [local] */ HRESULT STDMETHODCALLTYPE ICommand_GetDBSession_Proxy( 
  15453.     ICommand __RPC_FAR * This,
  15454.     /* [in] */ REFIID riid,
  15455.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession);
  15456.  
  15457.  
  15458. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommand_GetDBSession_Stub( 
  15459.     ICommand __RPC_FAR * This,
  15460.     /* [in] */ REFIID riid,
  15461.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession,
  15462.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15463.  
  15464. /* [local] */ HRESULT STDMETHODCALLTYPE IMultipleResults_GetResult_Proxy( 
  15465.     IMultipleResults __RPC_FAR * This,
  15466.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  15467.     /* [in] */ DB_LRESERVE reserved,
  15468.     /* [in] */ REFIID riid,
  15469.     /* [out] */ DBROWCOUNT __RPC_FAR *pcRowsAffected,
  15470.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  15471.  
  15472.  
  15473. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMultipleResults_GetResult_Stub( 
  15474.     IMultipleResults __RPC_FAR * This,
  15475.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  15476.     /* [in] */ DB_LRESERVE reserved,
  15477.     /* [in] */ REFIID riid,
  15478.     /* [unique][out][in] */ DBROWCOUNT __RPC_FAR *pcRowsAffected,
  15479.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  15480.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15481.  
  15482. /* [local] */ HRESULT STDMETHODCALLTYPE IConvertType_CanConvert_Proxy( 
  15483.     IConvertType __RPC_FAR * This,
  15484.     /* [in] */ DBTYPE wFromType,
  15485.     /* [in] */ DBTYPE wToType,
  15486.     /* [in] */ DBCONVERTFLAGS dwConvertFlags);
  15487.  
  15488.  
  15489. /* [call_as] */ HRESULT STDMETHODCALLTYPE IConvertType_CanConvert_Stub( 
  15490.     IConvertType __RPC_FAR * This,
  15491.     /* [in] */ DBTYPE wFromType,
  15492.     /* [in] */ DBTYPE wToType,
  15493.     /* [in] */ DBCONVERTFLAGS dwConvertFlags,
  15494.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15495.  
  15496. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandPrepare_Prepare_Proxy( 
  15497.     ICommandPrepare __RPC_FAR * This,
  15498.     /* [in] */ ULONG cExpectedRuns);
  15499.  
  15500.  
  15501. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandPrepare_Prepare_Stub( 
  15502.     ICommandPrepare __RPC_FAR * This,
  15503.     /* [in] */ ULONG cExpectedRuns,
  15504.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15505.  
  15506. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandPrepare_Unprepare_Proxy( 
  15507.     ICommandPrepare __RPC_FAR * This);
  15508.  
  15509.  
  15510. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandPrepare_Unprepare_Stub( 
  15511.     ICommandPrepare __RPC_FAR * This,
  15512.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15513.  
  15514. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandProperties_GetProperties_Proxy( 
  15515.     ICommandProperties __RPC_FAR * This,
  15516.     /* [in] */ const ULONG cPropertyIDSets,
  15517.     /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  15518.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  15519.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets);
  15520.  
  15521.  
  15522. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandProperties_GetProperties_Stub( 
  15523.     ICommandProperties __RPC_FAR * This,
  15524.     /* [in] */ const ULONG cPropertyIDSets,
  15525.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  15526.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  15527.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets,
  15528.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15529.  
  15530. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandProperties_SetProperties_Proxy( 
  15531.     ICommandProperties __RPC_FAR * This,
  15532.     /* [in] */ ULONG cPropertySets,
  15533.     /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  15534.  
  15535.  
  15536. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandProperties_SetProperties_Stub( 
  15537.     ICommandProperties __RPC_FAR * This,
  15538.     /* [in] */ ULONG cPropertySets,
  15539.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  15540.     /* [in] */ ULONG cTotalProps,
  15541.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  15542.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15543.  
  15544. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandText_GetCommandText_Proxy( 
  15545.     ICommandText __RPC_FAR * This,
  15546.     /* [out][in] */ GUID __RPC_FAR *pguidDialect,
  15547.     /* [out] */ LPOLESTR __RPC_FAR *ppwszCommand);
  15548.  
  15549.  
  15550. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandText_GetCommandText_Stub( 
  15551.     ICommandText __RPC_FAR * This,
  15552.     /* [unique][out][in] */ GUID __RPC_FAR *pguidDialect,
  15553.     /* [out] */ LPOLESTR __RPC_FAR *ppwszCommand,
  15554.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15555.  
  15556. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandText_SetCommandText_Proxy( 
  15557.     ICommandText __RPC_FAR * This,
  15558.     /* [in] */ REFGUID rguidDialect,
  15559.     /* [unique][in] */ LPCOLESTR pwszCommand);
  15560.  
  15561.  
  15562. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandText_SetCommandText_Stub( 
  15563.     ICommandText __RPC_FAR * This,
  15564.     /* [in] */ REFGUID rguidDialect,
  15565.     /* [unique][in] */ LPCOLESTR pwszCommand,
  15566.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15567.  
  15568. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_GetParameterInfo_Proxy( 
  15569.     ICommandWithParameters __RPC_FAR * This,
  15570.     /* [out][in] */ DB_UPARAMS __RPC_FAR *pcParams,
  15571.     /* [size_is][size_is][out] */ DBPARAMINFO __RPC_FAR *__RPC_FAR *prgParamInfo,
  15572.     /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppNamesBuffer);
  15573.  
  15574.  
  15575. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_GetParameterInfo_Stub( 
  15576.     ICommandWithParameters __RPC_FAR * This,
  15577.     /* [out][in] */ DB_UPARAMS __RPC_FAR *pcParams,
  15578.     /* [size_is][size_is][out] */ DBPARAMINFO __RPC_FAR *__RPC_FAR *prgParamInfo,
  15579.     /* [size_is][size_is][out] */ DBBYTEOFFSET __RPC_FAR *__RPC_FAR *prgNameOffsets,
  15580.     /* [out][in] */ DBLENGTH __RPC_FAR *pcbNamesBuffer,
  15581.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppNamesBuffer,
  15582.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15583.  
  15584. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_MapParameterNames_Proxy( 
  15585.     ICommandWithParameters __RPC_FAR * This,
  15586.     /* [in] */ DB_UPARAMS cParamNames,
  15587.     /* [size_is][in] */ const OLECHAR __RPC_FAR *__RPC_FAR rgParamNames[  ],
  15588.     /* [size_is][out] */ DB_LPARAMS __RPC_FAR rgParamOrdinals[  ]);
  15589.  
  15590.  
  15591. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_MapParameterNames_Stub( 
  15592.     ICommandWithParameters __RPC_FAR * This,
  15593.     /* [in] */ DB_UPARAMS cParamNames,
  15594.     /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgParamNames,
  15595.     /* [size_is][out] */ DB_LPARAMS __RPC_FAR *rgParamOrdinals,
  15596.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15597.  
  15598. /* [local] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_SetParameterInfo_Proxy( 
  15599.     ICommandWithParameters __RPC_FAR * This,
  15600.     /* [in] */ DB_UPARAMS cParams,
  15601.     /* [size_is][unique][in] */ const DB_UPARAMS __RPC_FAR rgParamOrdinals[  ],
  15602.     /* [size_is][unique][in] */ const DBPARAMBINDINFO __RPC_FAR rgParamBindInfo[  ]);
  15603.  
  15604.  
  15605. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_SetParameterInfo_Stub( 
  15606.     ICommandWithParameters __RPC_FAR * This,
  15607.     /* [in] */ DB_UPARAMS cParams,
  15608.     /* [size_is][unique][in] */ const DB_UPARAMS __RPC_FAR *rgParamOrdinals,
  15609.     /* [size_is][unique][in] */ const DBPARAMBINDINFO __RPC_FAR *rgParamBindInfo,
  15610.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15611.  
  15612. /* [local] */ HRESULT STDMETHODCALLTYPE IColumnsRowset_GetAvailableColumns_Proxy( 
  15613.     IColumnsRowset __RPC_FAR * This,
  15614.     /* [out][in] */ DBORDINAL __RPC_FAR *pcOptColumns,
  15615.     /* [size_is][size_is][out] */ DBID __RPC_FAR *__RPC_FAR *prgOptColumns);
  15616.  
  15617.  
  15618. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsRowset_GetAvailableColumns_Stub( 
  15619.     IColumnsRowset __RPC_FAR * This,
  15620.     /* [out][in] */ DBORDINAL __RPC_FAR *pcOptColumns,
  15621.     /* [size_is][size_is][out] */ DBID __RPC_FAR *__RPC_FAR *prgOptColumns,
  15622.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15623.  
  15624. /* [local] */ HRESULT STDMETHODCALLTYPE IColumnsRowset_GetColumnsRowset_Proxy( 
  15625.     IColumnsRowset __RPC_FAR * This,
  15626.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  15627.     /* [in] */ DBORDINAL cOptColumns,
  15628.     /* [size_is][in] */ const DBID __RPC_FAR rgOptColumns[  ],
  15629.     /* [in] */ REFIID riid,
  15630.     /* [in] */ ULONG cPropertySets,
  15631.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  15632.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppColRowset);
  15633.  
  15634.  
  15635. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsRowset_GetColumnsRowset_Stub( 
  15636.     IColumnsRowset __RPC_FAR * This,
  15637.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  15638.     /* [in] */ DBORDINAL cOptColumns,
  15639.     /* [size_is][unique][in] */ const DBID __RPC_FAR *rgOptColumns,
  15640.     /* [in] */ REFIID riid,
  15641.     /* [in] */ ULONG cPropertySets,
  15642.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  15643.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppColRowset,
  15644.     /* [in] */ ULONG cTotalProps,
  15645.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  15646.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15647.  
  15648. /* [local] */ HRESULT STDMETHODCALLTYPE IColumnsInfo_GetColumnInfo_Proxy( 
  15649.     IColumnsInfo __RPC_FAR * This,
  15650.     /* [out][in] */ DBORDINAL __RPC_FAR *pcColumns,
  15651.     /* [size_is][size_is][out] */ DBCOLUMNINFO __RPC_FAR *__RPC_FAR *prgInfo,
  15652.     /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer);
  15653.  
  15654.  
  15655. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsInfo_GetColumnInfo_Stub( 
  15656.     IColumnsInfo __RPC_FAR * This,
  15657.     /* [out][in] */ DBORDINAL __RPC_FAR *pcColumns,
  15658.     /* [size_is][size_is][out] */ DBCOLUMNINFO __RPC_FAR *__RPC_FAR *prgInfo,
  15659.     /* [size_is][size_is][out] */ DBBYTEOFFSET __RPC_FAR *__RPC_FAR *prgNameOffsets,
  15660.     /* [size_is][size_is][out] */ DBBYTEOFFSET __RPC_FAR *__RPC_FAR *prgcolumnidOffsets,
  15661.     /* [out][in] */ DBLENGTH __RPC_FAR *pcbStringsBuffer,
  15662.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer,
  15663.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15664.  
  15665. /* [local] */ HRESULT STDMETHODCALLTYPE IColumnsInfo_MapColumnIDs_Proxy( 
  15666.     IColumnsInfo __RPC_FAR * This,
  15667.     /* [in] */ DBORDINAL cColumnIDs,
  15668.     /* [size_is][in] */ const DBID __RPC_FAR rgColumnIDs[  ],
  15669.     /* [size_is][out] */ DBORDINAL __RPC_FAR rgColumns[  ]);
  15670.  
  15671.  
  15672. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsInfo_MapColumnIDs_Stub( 
  15673.     IColumnsInfo __RPC_FAR * This,
  15674.     /* [in] */ DBORDINAL cColumnIDs,
  15675.     /* [size_is][in] */ const DBID __RPC_FAR *rgColumnIDs,
  15676.     /* [size_is][out] */ DBORDINAL __RPC_FAR *rgColumns,
  15677.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15678.  
  15679. /* [local] */ HRESULT STDMETHODCALLTYPE IDBCreateCommand_CreateCommand_Proxy( 
  15680.     IDBCreateCommand __RPC_FAR * This,
  15681.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  15682.     /* [in] */ REFIID riid,
  15683.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppCommand);
  15684.  
  15685.  
  15686. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBCreateCommand_CreateCommand_Stub( 
  15687.     IDBCreateCommand __RPC_FAR * This,
  15688.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  15689.     /* [in] */ REFIID riid,
  15690.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppCommand,
  15691.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15692.  
  15693. /* [local] */ HRESULT STDMETHODCALLTYPE IDBCreateSession_CreateSession_Proxy( 
  15694.     IDBCreateSession __RPC_FAR * This,
  15695.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  15696.     /* [in] */ REFIID riid,
  15697.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDBSession);
  15698.  
  15699.  
  15700. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBCreateSession_CreateSession_Stub( 
  15701.     IDBCreateSession __RPC_FAR * This,
  15702.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  15703.     /* [in] */ REFIID riid,
  15704.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDBSession,
  15705.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15706.  
  15707. /* [local] */ HRESULT STDMETHODCALLTYPE ISourcesRowset_GetSourcesRowset_Proxy( 
  15708.     ISourcesRowset __RPC_FAR * This,
  15709.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  15710.     /* [in] */ REFIID riid,
  15711.     /* [in] */ ULONG cPropertySets,
  15712.     /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgProperties[  ],
  15713.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSourcesRowset);
  15714.  
  15715.  
  15716. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISourcesRowset_GetSourcesRowset_Stub( 
  15717.     ISourcesRowset __RPC_FAR * This,
  15718.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  15719.     /* [in] */ REFIID riid,
  15720.     /* [in] */ ULONG cPropertySets,
  15721.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgProperties,
  15722.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSourcesRowset,
  15723.     /* [in] */ ULONG cTotalProps,
  15724.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  15725.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15726.  
  15727. /* [local] */ HRESULT STDMETHODCALLTYPE IDBProperties_GetProperties_Proxy( 
  15728.     IDBProperties __RPC_FAR * This,
  15729.     /* [in] */ ULONG cPropertyIDSets,
  15730.     /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  15731.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  15732.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets);
  15733.  
  15734.  
  15735. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBProperties_GetProperties_Stub( 
  15736.     IDBProperties __RPC_FAR * This,
  15737.     /* [in] */ ULONG cPropertyIDSets,
  15738.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  15739.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  15740.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets,
  15741.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15742.  
  15743. /* [local] */ HRESULT STDMETHODCALLTYPE IDBProperties_GetPropertyInfo_Proxy( 
  15744.     IDBProperties __RPC_FAR * This,
  15745.     /* [in] */ ULONG cPropertyIDSets,
  15746.     /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  15747.     /* [out][in] */ ULONG __RPC_FAR *pcPropertyInfoSets,
  15748.     /* [size_is][size_is][out] */ DBPROPINFOSET __RPC_FAR *__RPC_FAR *prgPropertyInfoSets,
  15749.     /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppDescBuffer);
  15750.  
  15751.  
  15752. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBProperties_GetPropertyInfo_Stub( 
  15753.     IDBProperties __RPC_FAR * This,
  15754.     /* [in] */ ULONG cPropertyIDSets,
  15755.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  15756.     /* [out][in] */ ULONG __RPC_FAR *pcPropertyInfoSets,
  15757.     /* [size_is][size_is][out] */ DBPROPINFOSET __RPC_FAR *__RPC_FAR *prgPropertyInfoSets,
  15758.     /* [out][in] */ ULONG __RPC_FAR *pcOffsets,
  15759.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgDescOffsets,
  15760.     /* [out][in] */ ULONG __RPC_FAR *pcbDescBuffer,
  15761.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppDescBuffer,
  15762.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15763.  
  15764. /* [local] */ HRESULT STDMETHODCALLTYPE IDBProperties_SetProperties_Proxy( 
  15765.     IDBProperties __RPC_FAR * This,
  15766.     /* [in] */ ULONG cPropertySets,
  15767.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  15768.  
  15769.  
  15770. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBProperties_SetProperties_Stub( 
  15771.     IDBProperties __RPC_FAR * This,
  15772.     /* [in] */ ULONG cPropertySets,
  15773.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  15774.     /* [in] */ ULONG cTotalProps,
  15775.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  15776.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15777.  
  15778. /* [local] */ HRESULT STDMETHODCALLTYPE IDBInitialize_Initialize_Proxy( 
  15779.     IDBInitialize __RPC_FAR * This);
  15780.  
  15781.  
  15782. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInitialize_Initialize_Stub( 
  15783.     IDBInitialize __RPC_FAR * This,
  15784.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15785.  
  15786. /* [local] */ HRESULT STDMETHODCALLTYPE IDBInitialize_Uninitialize_Proxy( 
  15787.     IDBInitialize __RPC_FAR * This);
  15788.  
  15789.  
  15790. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInitialize_Uninitialize_Stub( 
  15791.     IDBInitialize __RPC_FAR * This,
  15792.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15793.  
  15794. /* [local] */ HRESULT STDMETHODCALLTYPE IDBInfo_GetKeywords_Proxy( 
  15795.     IDBInfo __RPC_FAR * This,
  15796.     /* [out] */ LPOLESTR __RPC_FAR *ppwszKeywords);
  15797.  
  15798.  
  15799. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInfo_GetKeywords_Stub( 
  15800.     IDBInfo __RPC_FAR * This,
  15801.     /* [unique][out][in] */ LPOLESTR __RPC_FAR *ppwszKeywords,
  15802.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15803.  
  15804. /* [local] */ HRESULT STDMETHODCALLTYPE IDBInfo_GetLiteralInfo_Proxy( 
  15805.     IDBInfo __RPC_FAR * This,
  15806.     /* [in] */ ULONG cLiterals,
  15807.     /* [size_is][in] */ const DBLITERAL __RPC_FAR rgLiterals[  ],
  15808.     /* [out][in] */ ULONG __RPC_FAR *pcLiteralInfo,
  15809.     /* [size_is][size_is][out] */ DBLITERALINFO __RPC_FAR *__RPC_FAR *prgLiteralInfo,
  15810.     /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppCharBuffer);
  15811.  
  15812.  
  15813. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInfo_GetLiteralInfo_Stub( 
  15814.     IDBInfo __RPC_FAR * This,
  15815.     /* [in] */ ULONG cLiterals,
  15816.     /* [size_is][unique][in] */ const DBLITERAL __RPC_FAR *rgLiterals,
  15817.     /* [out][in] */ ULONG __RPC_FAR *pcLiteralInfo,
  15818.     /* [size_is][size_is][out] */ DBLITERALINFO __RPC_FAR *__RPC_FAR *prgLiteralInfo,
  15819.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgLVOffsets,
  15820.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgICOffsets,
  15821.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgISCOffsets,
  15822.     /* [out][in] */ ULONG __RPC_FAR *pcbCharBuffer,
  15823.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppCharBuffer,
  15824.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15825.  
  15826. /* [local] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_CreateDataSource_Proxy( 
  15827.     IDBDataSourceAdmin __RPC_FAR * This,
  15828.     /* [in] */ ULONG cPropertySets,
  15829.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  15830.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  15831.     /* [in] */ REFIID riid,
  15832.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDBSession);
  15833.  
  15834.  
  15835. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_CreateDataSource_Stub( 
  15836.     IDBDataSourceAdmin __RPC_FAR * This,
  15837.     /* [in] */ ULONG cPropertySets,
  15838.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  15839.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  15840.     /* [in] */ REFIID riid,
  15841.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppDBSession,
  15842.     /* [in] */ ULONG cTotalProps,
  15843.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  15844.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15845.  
  15846. /* [local] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_DestroyDataSource_Proxy( 
  15847.     IDBDataSourceAdmin __RPC_FAR * This);
  15848.  
  15849.  
  15850. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_DestroyDataSource_Stub( 
  15851.     IDBDataSourceAdmin __RPC_FAR * This,
  15852.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15853.  
  15854. /* [local] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_GetCreationProperties_Proxy( 
  15855.     IDBDataSourceAdmin __RPC_FAR * This,
  15856.     /* [in] */ ULONG cPropertyIDSets,
  15857.     /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  15858.     /* [out][in] */ ULONG __RPC_FAR *pcPropertyInfoSets,
  15859.     /* [size_is][size_is][out] */ DBPROPINFOSET __RPC_FAR *__RPC_FAR *prgPropertyInfoSets,
  15860.     /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppDescBuffer);
  15861.  
  15862.  
  15863. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_GetCreationProperties_Stub( 
  15864.     IDBDataSourceAdmin __RPC_FAR * This,
  15865.     /* [in] */ ULONG cPropertyIDSets,
  15866.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  15867.     /* [out][in] */ ULONG __RPC_FAR *pcPropertyInfoSets,
  15868.     /* [size_is][size_is][out] */ DBPROPINFOSET __RPC_FAR *__RPC_FAR *prgPropertyInfoSets,
  15869.     /* [out][in] */ ULONG __RPC_FAR *pcOffsets,
  15870.     /* [size_is][size_is][out] */ DBBYTEOFFSET __RPC_FAR *__RPC_FAR *prgDescOffsets,
  15871.     /* [out][in] */ ULONG __RPC_FAR *pcbDescBuffer,
  15872.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppDescBuffer,
  15873.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15874.  
  15875. /* [local] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_ModifyDataSource_Proxy( 
  15876.     IDBDataSourceAdmin __RPC_FAR * This,
  15877.     /* [in] */ ULONG cPropertySets,
  15878.     /* [size_is][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  15879.  
  15880.  
  15881. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_ModifyDataSource_Stub( 
  15882.     IDBDataSourceAdmin __RPC_FAR * This,
  15883.     /* [in] */ ULONG cPropertySets,
  15884.     /* [size_is][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  15885.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15886.  
  15887. /* [local] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_OnLowResource_Proxy( 
  15888.     IDBAsynchNotify __RPC_FAR * This,
  15889.     /* [in] */ DB_DWRESERVE dwReserved);
  15890.  
  15891.  
  15892. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_OnLowResource_Stub( 
  15893.     IDBAsynchNotify __RPC_FAR * This,
  15894.     /* [in] */ DB_DWRESERVE dwReserved);
  15895.  
  15896. /* [local] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_OnProgress_Proxy( 
  15897.     IDBAsynchNotify __RPC_FAR * This,
  15898.     /* [in] */ HCHAPTER hChapter,
  15899.     /* [in] */ DBASYNCHOP eOperation,
  15900.     /* [in] */ DBCOUNTITEM ulProgress,
  15901.     /* [in] */ DBCOUNTITEM ulProgressMax,
  15902.     /* [in] */ DBASYNCHPHASE eAsynchPhase,
  15903.     /* [in] */ LPOLESTR pwszStatusText);
  15904.  
  15905.  
  15906. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_OnProgress_Stub( 
  15907.     IDBAsynchNotify __RPC_FAR * This,
  15908.     /* [in] */ HCHAPTER hChapter,
  15909.     /* [in] */ DBASYNCHOP eOperation,
  15910.     /* [in] */ DBCOUNTITEM ulProgress,
  15911.     /* [in] */ DBCOUNTITEM ulProgressMax,
  15912.     /* [in] */ DBASYNCHPHASE eAsynchPhase,
  15913.     /* [string][unique][in] */ LPOLESTR pwszStatusText);
  15914.  
  15915. /* [local] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_OnStop_Proxy( 
  15916.     IDBAsynchNotify __RPC_FAR * This,
  15917.     /* [in] */ HCHAPTER hChapter,
  15918.     /* [in] */ DBASYNCHOP eOperation,
  15919.     /* [in] */ HRESULT hrStatus,
  15920.     /* [in] */ LPOLESTR pwszStatusText);
  15921.  
  15922.  
  15923. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_OnStop_Stub( 
  15924.     IDBAsynchNotify __RPC_FAR * This,
  15925.     /* [in] */ HCHAPTER hChapter,
  15926.     /* [in] */ DBASYNCHOP eOperation,
  15927.     /* [in] */ HRESULT hrStatus,
  15928.     /* [string][unique][in] */ LPOLESTR pwszStatusText);
  15929.  
  15930. /* [local] */ HRESULT STDMETHODCALLTYPE IDBAsynchStatus_Abort_Proxy( 
  15931.     IDBAsynchStatus __RPC_FAR * This,
  15932.     /* [in] */ HCHAPTER hChapter,
  15933.     /* [in] */ DBASYNCHOP eOperation);
  15934.  
  15935.  
  15936. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchStatus_Abort_Stub( 
  15937.     IDBAsynchStatus __RPC_FAR * This,
  15938.     /* [in] */ HCHAPTER hChapter,
  15939.     /* [in] */ DBASYNCHOP eOperation,
  15940.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15941.  
  15942. /* [local] */ HRESULT STDMETHODCALLTYPE IDBAsynchStatus_GetStatus_Proxy( 
  15943.     IDBAsynchStatus __RPC_FAR * This,
  15944.     /* [in] */ HCHAPTER hChapter,
  15945.     /* [in] */ DBASYNCHOP eOperation,
  15946.     /* [out] */ DBCOUNTITEM __RPC_FAR *pulProgress,
  15947.     /* [out] */ DBCOUNTITEM __RPC_FAR *pulProgressMax,
  15948.     /* [out] */ DBASYNCHPHASE __RPC_FAR *peAsynchPhase,
  15949.     /* [out] */ LPOLESTR __RPC_FAR *ppwszStatusText);
  15950.  
  15951.  
  15952. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchStatus_GetStatus_Stub( 
  15953.     IDBAsynchStatus __RPC_FAR * This,
  15954.     /* [in] */ HCHAPTER hChapter,
  15955.     /* [in] */ DBASYNCHOP eOperation,
  15956.     /* [out] */ DBCOUNTITEM __RPC_FAR *pulProgress,
  15957.     /* [out] */ DBCOUNTITEM __RPC_FAR *pulProgressMax,
  15958.     /* [out] */ DBASYNCHPHASE __RPC_FAR *peAsynchPhase,
  15959.     /* [out] */ LPOLESTR __RPC_FAR *ppwszStatusText,
  15960.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15961.  
  15962. /* [local] */ HRESULT STDMETHODCALLTYPE ISessionProperties_GetProperties_Proxy( 
  15963.     ISessionProperties __RPC_FAR * This,
  15964.     /* [in] */ ULONG cPropertyIDSets,
  15965.     /* [size_is][in] */ const DBPROPIDSET __RPC_FAR rgPropertyIDSets[  ],
  15966.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  15967.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets);
  15968.  
  15969.  
  15970. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISessionProperties_GetProperties_Stub( 
  15971.     ISessionProperties __RPC_FAR * This,
  15972.     /* [in] */ ULONG cPropertyIDSets,
  15973.     /* [size_is][unique][in] */ const DBPROPIDSET __RPC_FAR *rgPropertyIDSets,
  15974.     /* [out][in] */ ULONG __RPC_FAR *pcPropertySets,
  15975.     /* [size_is][size_is][out] */ DBPROPSET __RPC_FAR *__RPC_FAR *prgPropertySets,
  15976.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15977.  
  15978. /* [local] */ HRESULT STDMETHODCALLTYPE ISessionProperties_SetProperties_Proxy( 
  15979.     ISessionProperties __RPC_FAR * This,
  15980.     /* [in] */ ULONG cPropertySets,
  15981.     /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ]);
  15982.  
  15983.  
  15984. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISessionProperties_SetProperties_Stub( 
  15985.     ISessionProperties __RPC_FAR * This,
  15986.     /* [in] */ ULONG cPropertySets,
  15987.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  15988.     /* [in] */ ULONG cTotalProps,
  15989.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  15990.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  15991.  
  15992. /* [local] */ HRESULT STDMETHODCALLTYPE IIndexDefinition_CreateIndex_Proxy( 
  15993.     IIndexDefinition __RPC_FAR * This,
  15994.     /* [in] */ DBID __RPC_FAR *pTableID,
  15995.     /* [in] */ DBID __RPC_FAR *pIndexID,
  15996.     /* [in] */ DBORDINAL cIndexColumnDescs,
  15997.     /* [size_is][in] */ const DBINDEXCOLUMNDESC __RPC_FAR rgIndexColumnDescs[  ],
  15998.     /* [in] */ ULONG cPropertySets,
  15999.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  16000.     /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppIndexID);
  16001.  
  16002.  
  16003. /* [call_as] */ HRESULT STDMETHODCALLTYPE IIndexDefinition_CreateIndex_Stub( 
  16004.     IIndexDefinition __RPC_FAR * This,
  16005.     /* [in] */ DBID __RPC_FAR *pTableID,
  16006.     /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  16007.     /* [in] */ DBORDINAL cIndexColumnDescs,
  16008.     /* [size_is][in] */ const DBINDEXCOLUMNDESC __RPC_FAR *rgIndexColumnDescs,
  16009.     /* [in] */ ULONG cPropertySets,
  16010.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  16011.     /* [unique][out][in] */ DBID __RPC_FAR *__RPC_FAR *ppIndexID,
  16012.     /* [in] */ ULONG cTotalProps,
  16013.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  16014.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16015.  
  16016. /* [local] */ HRESULT STDMETHODCALLTYPE IIndexDefinition_DropIndex_Proxy( 
  16017.     IIndexDefinition __RPC_FAR * This,
  16018.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  16019.     /* [unique][in] */ DBID __RPC_FAR *pIndexID);
  16020.  
  16021.  
  16022. /* [call_as] */ HRESULT STDMETHODCALLTYPE IIndexDefinition_DropIndex_Stub( 
  16023.     IIndexDefinition __RPC_FAR * This,
  16024.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  16025.     /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  16026.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16027.  
  16028. /* [local] */ HRESULT STDMETHODCALLTYPE ITableDefinition_CreateTable_Proxy( 
  16029.     ITableDefinition __RPC_FAR * This,
  16030.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16031.     /* [in] */ DBID __RPC_FAR *pTableID,
  16032.     /* [in] */ DBORDINAL cColumnDescs,
  16033.     /* [size_is][in] */ const DBCOLUMNDESC __RPC_FAR rgColumnDescs[  ],
  16034.     /* [in] */ REFIID riid,
  16035.     /* [in] */ ULONG cPropertySets,
  16036.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  16037.     /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppTableID,
  16038.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  16039.  
  16040.  
  16041. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_CreateTable_Stub( 
  16042.     ITableDefinition __RPC_FAR * This,
  16043.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16044.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  16045.     /* [in] */ DBORDINAL cColumnDescs,
  16046.     /* [size_is][in] */ const DBCOLUMNDESC __RPC_FAR *rgColumnDescs,
  16047.     /* [in] */ REFIID riid,
  16048.     /* [in] */ ULONG cPropertySets,
  16049.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  16050.     /* [unique][out][in] */ DBID __RPC_FAR *__RPC_FAR *ppTableID,
  16051.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  16052.     /* [in] */ ULONG cTotalProps,
  16053.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  16054.     /* [out] */ BOOL __RPC_FAR *pfTableCreated,
  16055.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16056.  
  16057. /* [local] */ HRESULT STDMETHODCALLTYPE ITableDefinition_DropTable_Proxy( 
  16058.     ITableDefinition __RPC_FAR * This,
  16059.     /* [unique][in] */ DBID __RPC_FAR *pTableID);
  16060.  
  16061.  
  16062. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_DropTable_Stub( 
  16063.     ITableDefinition __RPC_FAR * This,
  16064.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  16065.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16066.  
  16067. /* [local] */ HRESULT STDMETHODCALLTYPE ITableDefinition_AddColumn_Proxy( 
  16068.     ITableDefinition __RPC_FAR * This,
  16069.     /* [in] */ DBID __RPC_FAR *pTableID,
  16070.     /* [out][in] */ DBCOLUMNDESC __RPC_FAR *pColumnDesc,
  16071.     /* [out] */ DBID __RPC_FAR *__RPC_FAR *ppColumnID);
  16072.  
  16073.  
  16074. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_AddColumn_Stub( 
  16075.     ITableDefinition __RPC_FAR * This,
  16076.     /* [in] */ DBID __RPC_FAR *pTableID,
  16077.     /* [in] */ DBCOLUMNDESC __RPC_FAR *pColumnDesc,
  16078.     /* [unique][out][in] */ DBID __RPC_FAR *__RPC_FAR *ppColumnID,
  16079.     /* [in] */ ULONG cTotalProps,
  16080.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  16081.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16082.  
  16083. /* [local] */ HRESULT STDMETHODCALLTYPE ITableDefinition_DropColumn_Proxy( 
  16084.     ITableDefinition __RPC_FAR * This,
  16085.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  16086.     /* [unique][in] */ DBID __RPC_FAR *pColumnID);
  16087.  
  16088.  
  16089. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_DropColumn_Stub( 
  16090.     ITableDefinition __RPC_FAR * This,
  16091.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  16092.     /* [unique][in] */ DBID __RPC_FAR *pColumnID,
  16093.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16094.  
  16095. /* [local] */ HRESULT STDMETHODCALLTYPE IOpenRowset_OpenRowset_Proxy( 
  16096.     IOpenRowset __RPC_FAR * This,
  16097.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16098.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  16099.     /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  16100.     /* [in] */ REFIID riid,
  16101.     /* [in] */ ULONG cPropertySets,
  16102.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  16103.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  16104.  
  16105.  
  16106. /* [call_as] */ HRESULT STDMETHODCALLTYPE IOpenRowset_OpenRowset_Stub( 
  16107.     IOpenRowset __RPC_FAR * This,
  16108.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16109.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  16110.     /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  16111.     /* [in] */ REFIID riid,
  16112.     /* [in] */ ULONG cPropertySets,
  16113.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  16114.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  16115.     /* [in] */ ULONG cTotalProps,
  16116.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  16117.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16118.  
  16119. /* [local] */ HRESULT STDMETHODCALLTYPE IDBSchemaRowset_GetRowset_Proxy( 
  16120.     IDBSchemaRowset __RPC_FAR * This,
  16121.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16122.     /* [in] */ REFGUID rguidSchema,
  16123.     /* [in] */ ULONG cRestrictions,
  16124.     /* [size_is][in] */ const VARIANT __RPC_FAR rgRestrictions[  ],
  16125.     /* [in] */ REFIID riid,
  16126.     /* [in] */ ULONG cPropertySets,
  16127.     /* [size_is][unique][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  16128.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  16129.  
  16130.  
  16131. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBSchemaRowset_GetRowset_Stub( 
  16132.     IDBSchemaRowset __RPC_FAR * This,
  16133.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16134.     /* [in] */ REFGUID rguidSchema,
  16135.     /* [in] */ ULONG cRestrictions,
  16136.     /* [size_is][unique][in] */ const VARIANT __RPC_FAR *rgRestrictions,
  16137.     /* [in] */ REFIID riid,
  16138.     /* [in] */ ULONG cPropertySets,
  16139.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  16140.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  16141.     /* [in] */ ULONG cTotalProps,
  16142.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus,
  16143.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16144.  
  16145. /* [local] */ HRESULT STDMETHODCALLTYPE IDBSchemaRowset_GetSchemas_Proxy( 
  16146.     IDBSchemaRowset __RPC_FAR * This,
  16147.     /* [out][in] */ ULONG __RPC_FAR *pcSchemas,
  16148.     /* [size_is][size_is][out] */ GUID __RPC_FAR *__RPC_FAR *prgSchemas,
  16149.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgRestrictionSupport);
  16150.  
  16151.  
  16152. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBSchemaRowset_GetSchemas_Stub( 
  16153.     IDBSchemaRowset __RPC_FAR * This,
  16154.     /* [out][in] */ ULONG __RPC_FAR *pcSchemas,
  16155.     /* [size_is][size_is][out] */ GUID __RPC_FAR *__RPC_FAR *prgSchemas,
  16156.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgRestrictionSupport,
  16157.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16158.  
  16159. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorRecords_AddErrorRecord_Proxy( 
  16160.     IErrorRecords __RPC_FAR * This,
  16161.     /* [in] */ ERRORINFO __RPC_FAR *pErrorInfo,
  16162.     /* [in] */ DWORD dwLookupID,
  16163.     /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  16164.     /* [in] */ IUnknown __RPC_FAR *punkCustomError,
  16165.     /* [in] */ DWORD dwDynamicErrorID);
  16166.  
  16167.  
  16168. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_AddErrorRecord_Stub( 
  16169.     IErrorRecords __RPC_FAR * This,
  16170.     /* [in] */ ERRORINFO __RPC_FAR *pErrorInfo,
  16171.     /* [in] */ DWORD dwLookupID,
  16172.     /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  16173.     /* [in] */ IUnknown __RPC_FAR *punkCustomError,
  16174.     /* [in] */ DWORD dwDynamicErrorID,
  16175.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16176.  
  16177. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetBasicErrorInfo_Proxy( 
  16178.     IErrorRecords __RPC_FAR * This,
  16179.     /* [in] */ ULONG ulRecordNum,
  16180.     /* [out] */ ERRORINFO __RPC_FAR *pErrorInfo);
  16181.  
  16182.  
  16183. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetBasicErrorInfo_Stub( 
  16184.     IErrorRecords __RPC_FAR * This,
  16185.     /* [in] */ ULONG ulRecordNum,
  16186.     /* [out] */ ERRORINFO __RPC_FAR *pErrorInfo,
  16187.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16188.  
  16189. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetCustomErrorObject_Proxy( 
  16190.     IErrorRecords __RPC_FAR * This,
  16191.     /* [in] */ ULONG ulRecordNum,
  16192.     /* [in] */ REFIID riid,
  16193.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject);
  16194.  
  16195.  
  16196. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetCustomErrorObject_Stub( 
  16197.     IErrorRecords __RPC_FAR * This,
  16198.     /* [in] */ ULONG ulRecordNum,
  16199.     /* [in] */ REFIID riid,
  16200.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject,
  16201.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16202.  
  16203. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetErrorInfo_Proxy( 
  16204.     IErrorRecords __RPC_FAR * This,
  16205.     /* [in] */ ULONG ulRecordNum,
  16206.     /* [in] */ LCID lcid,
  16207.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfo);
  16208.  
  16209.  
  16210. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetErrorInfo_Stub( 
  16211.     IErrorRecords __RPC_FAR * This,
  16212.     /* [in] */ ULONG ulRecordNum,
  16213.     /* [in] */ LCID lcid,
  16214.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfo,
  16215.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16216.  
  16217. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetErrorParameters_Proxy( 
  16218.     IErrorRecords __RPC_FAR * This,
  16219.     /* [in] */ ULONG ulRecordNum,
  16220.     /* [out] */ DISPPARAMS __RPC_FAR *pdispparams);
  16221.  
  16222.  
  16223. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetErrorParameters_Stub( 
  16224.     IErrorRecords __RPC_FAR * This,
  16225.     /* [in] */ ULONG ulRecordNum,
  16226.     /* [out] */ DISPPARAMS __RPC_FAR *pdispparams,
  16227.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16228.  
  16229. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetRecordCount_Proxy( 
  16230.     IErrorRecords __RPC_FAR * This,
  16231.     /* [out] */ ULONG __RPC_FAR *pcRecords);
  16232.  
  16233.  
  16234. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorRecords_GetRecordCount_Stub( 
  16235.     IErrorRecords __RPC_FAR * This,
  16236.     /* [out] */ ULONG __RPC_FAR *pcRecords,
  16237.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16238.  
  16239. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorLookup_GetErrorDescription_Proxy( 
  16240.     IErrorLookup __RPC_FAR * This,
  16241.     /* [in] */ HRESULT hrError,
  16242.     /* [in] */ DWORD dwLookupID,
  16243.     /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  16244.     /* [in] */ LCID lcid,
  16245.     /* [out] */ BSTR __RPC_FAR *pbstrSource,
  16246.     /* [out] */ BSTR __RPC_FAR *pbstrDescription);
  16247.  
  16248.  
  16249. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorLookup_GetErrorDescription_Stub( 
  16250.     IErrorLookup __RPC_FAR * This,
  16251.     /* [in] */ HRESULT hrError,
  16252.     /* [in] */ DWORD dwLookupID,
  16253.     /* [in] */ DISPPARAMS __RPC_FAR *pdispparams,
  16254.     /* [in] */ LCID lcid,
  16255.     /* [out] */ BSTR __RPC_FAR *pbstrSource,
  16256.     /* [out] */ BSTR __RPC_FAR *pbstrDescription,
  16257.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16258.  
  16259. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorLookup_GetHelpInfo_Proxy( 
  16260.     IErrorLookup __RPC_FAR * This,
  16261.     /* [in] */ HRESULT hrError,
  16262.     /* [in] */ DWORD dwLookupID,
  16263.     /* [in] */ LCID lcid,
  16264.     /* [out] */ BSTR __RPC_FAR *pbstrHelpFile,
  16265.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext);
  16266.  
  16267.  
  16268. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorLookup_GetHelpInfo_Stub( 
  16269.     IErrorLookup __RPC_FAR * This,
  16270.     /* [in] */ HRESULT hrError,
  16271.     /* [in] */ DWORD dwLookupID,
  16272.     /* [in] */ LCID lcid,
  16273.     /* [out] */ BSTR __RPC_FAR *pbstrHelpFile,
  16274.     /* [out] */ DWORD __RPC_FAR *pdwHelpContext,
  16275.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16276.  
  16277. /* [local] */ HRESULT STDMETHODCALLTYPE IErrorLookup_ReleaseErrors_Proxy( 
  16278.     IErrorLookup __RPC_FAR * This,
  16279.     /* [in] */ const DWORD dwDynamicErrorID);
  16280.  
  16281.  
  16282. /* [call_as] */ HRESULT STDMETHODCALLTYPE IErrorLookup_ReleaseErrors_Stub( 
  16283.     IErrorLookup __RPC_FAR * This,
  16284.     /* [in] */ const DWORD dwDynamicErrorID,
  16285.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16286.  
  16287. /* [local] */ HRESULT STDMETHODCALLTYPE ISQLErrorInfo_GetSQLInfo_Proxy( 
  16288.     ISQLErrorInfo __RPC_FAR * This,
  16289.     /* [out] */ BSTR __RPC_FAR *pbstrSQLState,
  16290.     /* [out] */ LONG __RPC_FAR *plNativeError);
  16291.  
  16292.  
  16293. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISQLErrorInfo_GetSQLInfo_Stub( 
  16294.     ISQLErrorInfo __RPC_FAR * This,
  16295.     /* [out] */ BSTR __RPC_FAR *pbstrSQLState,
  16296.     /* [out] */ LONG __RPC_FAR *plNativeError,
  16297.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16298.  
  16299. /* [local] */ HRESULT STDMETHODCALLTYPE IGetDataSource_GetDataSource_Proxy( 
  16300.     IGetDataSource __RPC_FAR * This,
  16301.     /* [in] */ REFIID riid,
  16302.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDataSource);
  16303.  
  16304.  
  16305. /* [call_as] */ HRESULT STDMETHODCALLTYPE IGetDataSource_GetDataSource_Stub( 
  16306.     IGetDataSource __RPC_FAR * This,
  16307.     /* [in] */ REFIID riid,
  16308.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDataSource,
  16309.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16310.  
  16311. /* [local] */ HRESULT STDMETHODCALLTYPE ITransactionLocal_GetOptionsObject_Proxy( 
  16312.     ITransactionLocal __RPC_FAR * This,
  16313.     /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions);
  16314.  
  16315.  
  16316. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionLocal_GetOptionsObject_Stub( 
  16317.     ITransactionLocal __RPC_FAR * This,
  16318.     /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions,
  16319.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16320.  
  16321. /* [local] */ HRESULT STDMETHODCALLTYPE ITransactionLocal_StartTransaction_Proxy( 
  16322.     ITransactionLocal __RPC_FAR * This,
  16323.     /* [in] */ ISOLEVEL isoLevel,
  16324.     /* [in] */ ULONG isoFlags,
  16325.     /* [in] */ ITransactionOptions __RPC_FAR *pOtherOptions,
  16326.     /* [out] */ ULONG __RPC_FAR *pulTransactionLevel);
  16327.  
  16328.  
  16329. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionLocal_StartTransaction_Stub( 
  16330.     ITransactionLocal __RPC_FAR * This,
  16331.     /* [in] */ ISOLEVEL isoLevel,
  16332.     /* [in] */ ULONG isoFlags,
  16333.     /* [in] */ ITransactionOptions __RPC_FAR *pOtherOptions,
  16334.     /* [unique][out][in] */ ULONG __RPC_FAR *pulTransactionLevel,
  16335.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16336.  
  16337. /* [local] */ HRESULT STDMETHODCALLTYPE ITransactionJoin_GetOptionsObject_Proxy( 
  16338.     ITransactionJoin __RPC_FAR * This,
  16339.     /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions);
  16340.  
  16341.  
  16342. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionJoin_GetOptionsObject_Stub( 
  16343.     ITransactionJoin __RPC_FAR * This,
  16344.     /* [out] */ ITransactionOptions __RPC_FAR *__RPC_FAR *ppOptions,
  16345.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16346.  
  16347. /* [local] */ HRESULT STDMETHODCALLTYPE ITransactionJoin_JoinTransaction_Proxy( 
  16348.     ITransactionJoin __RPC_FAR * This,
  16349.     /* [in] */ IUnknown __RPC_FAR *punkTransactionCoord,
  16350.     /* [in] */ ISOLEVEL isoLevel,
  16351.     /* [in] */ ULONG isoFlags,
  16352.     /* [in] */ ITransactionOptions __RPC_FAR *pOtherOptions);
  16353.  
  16354.  
  16355. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionJoin_JoinTransaction_Stub( 
  16356.     ITransactionJoin __RPC_FAR * This,
  16357.     /* [unique][in] */ IUnknown __RPC_FAR *punkTransactionCoord,
  16358.     /* [in] */ ISOLEVEL isoLevel,
  16359.     /* [in] */ ULONG isoFlags,
  16360.     /* [in] */ ITransactionOptions __RPC_FAR *pOtherOptions,
  16361.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16362.  
  16363. /* [local] */ HRESULT STDMETHODCALLTYPE ITransactionObject_GetTransactionObject_Proxy( 
  16364.     ITransactionObject __RPC_FAR * This,
  16365.     /* [in] */ ULONG ulTransactionLevel,
  16366.     /* [out] */ ITransaction __RPC_FAR *__RPC_FAR *ppTransactionObject);
  16367.  
  16368.  
  16369. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITransactionObject_GetTransactionObject_Stub( 
  16370.     ITransactionObject __RPC_FAR * This,
  16371.     /* [in] */ ULONG ulTransactionLevel,
  16372.     /* [out] */ ITransaction __RPC_FAR *__RPC_FAR *ppTransactionObject,
  16373.     /* [out] */ IErrorInfo __RPC_FAR *__RPC_FAR *ppErrorInfoRem);
  16374.  
  16375. /* [local] */ HRESULT STDMETHODCALLTYPE IScopedOperations_Copy_Proxy( 
  16376.     IScopedOperations __RPC_FAR * This,
  16377.     /* [in] */ DBCOUNTITEM cRows,
  16378.     /* [size_is][in] */ LPCOLESTR __RPC_FAR rgpwszSourceURLs[  ],
  16379.     /* [size_is][in] */ LPCOLESTR __RPC_FAR rgpwszDestURLs[  ],
  16380.     /* [in] */ DWORD dwCopyFlags,
  16381.     /* [unique][in] */ IAuthenticate __RPC_FAR *pAuthenticate,
  16382.     /* [size_is][out][in] */ DBSTATUS __RPC_FAR rgdwStatus[  ],
  16383.     /* [size_is][out] */ LPOLESTR __RPC_FAR rgpwszNewURLs[  ],
  16384.     /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer);
  16385.  
  16386.  
  16387. /* [call_as] */ HRESULT STDMETHODCALLTYPE IScopedOperations_Copy_Stub( 
  16388.     IScopedOperations __RPC_FAR * This,
  16389.     /* [in] */ DBCOUNTITEM cRows,
  16390.     /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgpwszSourceURLs,
  16391.     /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgpwszDestURLs,
  16392.     /* [in] */ DWORD dwCopyFlags,
  16393.     /* [in] */ IAuthenticate __RPC_FAR *pAuthenticate,
  16394.     /* [size_is][out] */ DBSTATUS __RPC_FAR *rgdwStatus,
  16395.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgulNewURLOffsets,
  16396.     /* [out][in] */ ULONG __RPC_FAR *pcbStringsBuffer,
  16397.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer);
  16398.  
  16399. /* [local] */ HRESULT STDMETHODCALLTYPE IScopedOperations_Move_Proxy( 
  16400.     IScopedOperations __RPC_FAR * This,
  16401.     /* [in] */ DBCOUNTITEM cRows,
  16402.     /* [size_is][in] */ LPCOLESTR __RPC_FAR rgpwszSourceURLs[  ],
  16403.     /* [size_is][in] */ LPCOLESTR __RPC_FAR rgpwszDestURLs[  ],
  16404.     /* [in] */ DWORD dwMoveFlags,
  16405.     /* [unique][in] */ IAuthenticate __RPC_FAR *pAuthenticate,
  16406.     /* [size_is][out][in] */ DBSTATUS __RPC_FAR rgdwStatus[  ],
  16407.     /* [size_is][out] */ LPOLESTR __RPC_FAR rgpwszNewURLs[  ],
  16408.     /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer);
  16409.  
  16410.  
  16411. /* [call_as] */ HRESULT STDMETHODCALLTYPE IScopedOperations_Move_Stub( 
  16412.     IScopedOperations __RPC_FAR * This,
  16413.     /* [in] */ DBCOUNTITEM cRows,
  16414.     /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgpwszSourceURLs,
  16415.     /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgpwszDestURLs,
  16416.     /* [in] */ DWORD dwMoveFlags,
  16417.     /* [in] */ IAuthenticate __RPC_FAR *pAuthenticate,
  16418.     /* [size_is][out] */ DBSTATUS __RPC_FAR *rgdwStatus,
  16419.     /* [size_is][size_is][out] */ ULONG __RPC_FAR *__RPC_FAR *prgulNewURLOffsets,
  16420.     /* [out][in] */ ULONG __RPC_FAR *pcbStringsBuffer,
  16421.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer);
  16422.  
  16423. /* [local] */ HRESULT STDMETHODCALLTYPE IScopedOperations_Delete_Proxy( 
  16424.     IScopedOperations __RPC_FAR * This,
  16425.     /* [in] */ DBCOUNTITEM cRows,
  16426.     /* [size_is][in] */ LPCOLESTR __RPC_FAR rgpwszURLs[  ],
  16427.     /* [in] */ DWORD dwDeleteFlags,
  16428.     /* [size_is][out][in] */ DBSTATUS __RPC_FAR rgdwStatus[  ]);
  16429.  
  16430.  
  16431. /* [call_as] */ HRESULT STDMETHODCALLTYPE IScopedOperations_Delete_Stub( 
  16432.     IScopedOperations __RPC_FAR * This,
  16433.     /* [in] */ DBCOUNTITEM cRows,
  16434.     /* [size_is][in] */ LPCOLESTR __RPC_FAR *rgpwszURLs,
  16435.     /* [in] */ DWORD dwDeleteFlags,
  16436.     /* [size_is][out] */ DBSTATUS __RPC_FAR *rgdwStatus);
  16437.  
  16438. /* [local] */ HRESULT STDMETHODCALLTYPE IScopedOperations_OpenRowset_Proxy( 
  16439.     IScopedOperations __RPC_FAR * This,
  16440.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16441.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  16442.     /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  16443.     /* [in] */ REFIID riid,
  16444.     /* [in] */ ULONG cPropertySets,
  16445.     /* [size_is][out][in] */ DBPROPSET __RPC_FAR rgPropertySets[  ],
  16446.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  16447.  
  16448.  
  16449. /* [call_as] */ HRESULT STDMETHODCALLTYPE IScopedOperations_OpenRowset_Stub( 
  16450.     IScopedOperations __RPC_FAR * This,
  16451.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16452.     /* [unique][in] */ DBID __RPC_FAR *pTableID,
  16453.     /* [unique][in] */ DBID __RPC_FAR *pIndexID,
  16454.     /* [in] */ REFIID riid,
  16455.     /* [in] */ ULONG cPropertySets,
  16456.     /* [size_is][unique][in] */ DBPROPSET __RPC_FAR *rgPropertySets,
  16457.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset,
  16458.     /* [in] */ ULONG cTotalProps,
  16459.     /* [size_is][out] */ DBPROPSTATUS __RPC_FAR *rgPropStatus);
  16460.  
  16461. /* [local] */ HRESULT STDMETHODCALLTYPE IBindResource_Bind_Proxy( 
  16462.     IBindResource __RPC_FAR * This,
  16463.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16464.     /* [in] */ LPCOLESTR pwszURL,
  16465.     /* [in] */ DBBINDURLFLAG dwBindURLFlags,
  16466.     /* [in] */ REFGUID rguid,
  16467.     /* [in] */ REFIID riid,
  16468.     /* [in] */ IAuthenticate __RPC_FAR *pAuthenticate,
  16469.     /* [unique][out][in] */ DBIMPLICITSESSION __RPC_FAR *pImplSession,
  16470.     /* [unique][out][in] */ DBBINDURLSTATUS __RPC_FAR *pdwBindStatus,
  16471.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
  16472.  
  16473.  
  16474. /* [call_as] */ HRESULT STDMETHODCALLTYPE IBindResource_Bind_Stub( 
  16475.     IBindResource __RPC_FAR * This,
  16476.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16477.     /* [in] */ LPCOLESTR pwszURL,
  16478.     /* [in] */ DBBINDURLFLAG dwBindURLFlags,
  16479.     /* [in] */ REFGUID rguid,
  16480.     /* [in] */ REFIID riid,
  16481.     /* [in] */ IAuthenticate __RPC_FAR *pAuthenticate,
  16482.     /* [in] */ IUnknown __RPC_FAR *pSessionUnkOuter,
  16483.     /* [unique][in] */ IID __RPC_FAR *piid,
  16484.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession,
  16485.     /* [unique][out][in] */ DBBINDURLSTATUS __RPC_FAR *pdwBindStatus,
  16486.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
  16487.  
  16488. /* [local] */ HRESULT STDMETHODCALLTYPE ICreateRow_CreateRow_Proxy( 
  16489.     ICreateRow __RPC_FAR * This,
  16490.     /* [unique][in] */ IUnknown __RPC_FAR *pUnkOuter,
  16491.     /* [in] */ LPCOLESTR pwszURL,
  16492.     /* [in] */ DBBINDURLFLAG dwBindURLFlags,
  16493.     /* [in] */ REFGUID rguid,
  16494.     /* [in] */ REFIID riid,
  16495.     /* [unique][in] */ IAuthenticate __RPC_FAR *pAuthenticate,
  16496.     /* [unique][out][in] */ DBIMPLICITSESSION __RPC_FAR *pImplSession,
  16497.     /* [unique][out][in] */ DBBINDURLSTATUS __RPC_FAR *pdwBindStatus,
  16498.     /* [out] */ LPOLESTR __RPC_FAR *ppwszNewURL,
  16499.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
  16500.  
  16501.  
  16502. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICreateRow_CreateRow_Stub( 
  16503.     ICreateRow __RPC_FAR * This,
  16504.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  16505.     /* [in] */ LPCOLESTR pwszURL,
  16506.     /* [in] */ DBBINDURLFLAG dwBindURLFlags,
  16507.     /* [in] */ REFGUID rguid,
  16508.     /* [in] */ REFIID riid,
  16509.     /* [in] */ IAuthenticate __RPC_FAR *pAuthenticate,
  16510.     /* [in] */ IUnknown __RPC_FAR *pSessionUnkOuter,
  16511.     /* [unique][in] */ IID __RPC_FAR *piid,
  16512.     /* [iid_is][unique][out][in] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession,
  16513.     /* [unique][out][in] */ DBBINDURLSTATUS __RPC_FAR *pdwBindStatus,
  16514.     /* [unique][out][in] */ LPOLESTR __RPC_FAR *ppwszNewURL,
  16515.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
  16516.  
  16517. /* [local] */ HRESULT STDMETHODCALLTYPE IColumnsInfo2_GetRestrictedColumnInfo_Proxy( 
  16518.     IColumnsInfo2 __RPC_FAR * This,
  16519.     /* [in] */ DBORDINAL cColumnIDMasks,
  16520.     /* [size_is][in] */ const DBID __RPC_FAR rgColumnIDMasks[  ],
  16521.     /* [in] */ DWORD dwFlags,
  16522.     /* [out][in] */ DBORDINAL __RPC_FAR *pcColumns,
  16523.     /* [size_is][size_is][out] */ DBID __RPC_FAR *__RPC_FAR *prgColumnIDs,
  16524.     /* [size_is][size_is][out] */ DBCOLUMNINFO __RPC_FAR *__RPC_FAR *prgColumnInfo,
  16525.     /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer);
  16526.  
  16527.  
  16528. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsInfo2_GetRestrictedColumnInfo_Stub( 
  16529.     IColumnsInfo2 __RPC_FAR * This,
  16530.     /* [in] */ DBORDINAL cColumnIDMasks,
  16531.     /* [size_is][unique][in] */ const DBID __RPC_FAR *rgColumnIDMasks,
  16532.     /* [in] */ DWORD dwFlags,
  16533.     /* [out][in] */ DBORDINAL __RPC_FAR *pcColumns,
  16534.     /* [size_is][size_is][unique][out][in] */ DBID __RPC_FAR *__RPC_FAR *prgColumnIDs,
  16535.     /* [size_is][size_is][unique][out][in] */ DBCOLUMNINFO __RPC_FAR *__RPC_FAR *prgColumnInfo,
  16536.     /* [size_is][size_is][out] */ DBBYTEOFFSET __RPC_FAR *__RPC_FAR *prgNameOffsets,
  16537.     /* [size_is][size_is][out] */ DBBYTEOFFSET __RPC_FAR *__RPC_FAR *prgcolumnidOffsets,
  16538.     /* [out][in] */ DBLENGTH __RPC_FAR *pcbStringsBuffer,
  16539.     /* [size_is][size_is][unique][out][in] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer);
  16540.  
  16541. /* [local] */ HRESULT STDMETHODCALLTYPE IRegisterProvider_GetURLMapping_Proxy( 
  16542.     IRegisterProvider __RPC_FAR * This,
  16543.     /* [in] */ LPCOLESTR pwszURL,
  16544.     /* [in] */ DB_DWRESERVE dwReserved,
  16545.     /* [out] */ CLSID __RPC_FAR *pclsidProvider);
  16546.  
  16547.  
  16548. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRegisterProvider_GetURLMapping_Stub( 
  16549.     IRegisterProvider __RPC_FAR * This,
  16550.     /* [in] */ LPCOLESTR pwszURL,
  16551.     /* [in] */ DB_DWRESERVE dwReserved,
  16552.     /* [out] */ CLSID __RPC_FAR *pclsidProvider);
  16553.  
  16554.  
  16555.  
  16556. /* end of Additional Prototypes */
  16557. #endif // OLEDBPROXY
  16558.  
  16559. #ifdef __cplusplus
  16560. }
  16561. #endif
  16562.  
  16563. #endif
  16564.  
  16565.  
  16566. // GUID_DEFS_ONLY
  16567.  
  16568. #endif
  16569. #pragma option pop /*P_O_Pop*/
  16570.