Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1496 lines
41 KiB

  1. // Created by Microsoft (R) C/C++ Compiler Version 12.00.8472.0 (6811bad5).
  2. //
  3. // msado15.tlh
  4. //
  5. // C++ source equivalent of Win32 type library C:\temp\msado15.dll
  6. // compiler-generated file created 12/20/99 at 17:04:06 - DO NOT EDIT!
  7. #pragma once
  8. #pragma pack(push, 8)
  9. #include <comdef.h>
  10. //
  11. // Forward references and typedefs
  12. //
  13. typedef enum SearchDirection SearchDirectionEnum;
  14. struct __declspec(uuid("00000512-0000-0010-8000-00aa006d2ea4"))
  15. /* dual interface */ _Collection;
  16. struct __declspec(uuid("00000513-0000-0010-8000-00aa006d2ea4"))
  17. /* dual interface */ _DynaCollection;
  18. struct __declspec(uuid("00000534-0000-0010-8000-00aa006d2ea4"))
  19. /* dual interface */ _ADO;
  20. struct __declspec(uuid("00000504-0000-0010-8000-00aa006d2ea4"))
  21. /* dual interface */ Properties;
  22. struct __declspec(uuid("00000503-0000-0010-8000-00aa006d2ea4"))
  23. /* dual interface */ Property;
  24. struct __declspec(uuid("00000500-0000-0010-8000-00aa006d2ea4"))
  25. /* dual interface */ Error;
  26. struct __declspec(uuid("00000501-0000-0010-8000-00aa006d2ea4"))
  27. /* dual interface */ Errors;
  28. struct __declspec(uuid("00000508-0000-0010-8000-00aa006d2ea4"))
  29. /* dual interface */ _Command;
  30. struct __declspec(uuid("00000515-0000-0010-8000-00aa006d2ea4"))
  31. /* dual interface */ _Connection;
  32. struct __declspec(uuid("0000050e-0000-0010-8000-00aa006d2ea4"))
  33. /* dual interface */ _Recordset;
  34. struct __declspec(uuid("00000506-0000-0010-8000-00aa006d2ea4"))
  35. /* dual interface */ Fields;
  36. struct __declspec(uuid("00000505-0000-0010-8000-00aa006d2ea4"))
  37. /* dual interface */ Field;
  38. struct __declspec(uuid("0000050c-0000-0010-8000-00aa006d2ea4"))
  39. /* dual interface */ _Parameter;
  40. struct __declspec(uuid("0000050d-0000-0010-8000-00aa006d2ea4"))
  41. /* dual interface */ Parameters;
  42. struct __declspec(uuid("00000516-0000-0010-8000-00aa006d2ea4"))
  43. /* interface */ ADOConnectionConstruction;
  44. struct /* coclass */ Connection;
  45. struct /* coclass */ Command;
  46. struct /* coclass */ Recordset;
  47. struct __declspec(uuid("00000283-0000-0010-8000-00aa006d2ea4"))
  48. /* interface */ ADORecordsetConstruction;
  49. struct /* coclass */ Parameter;
  50. //
  51. // Smart pointer typedef declarations
  52. //
  53. _COM_SMARTPTR_TYPEDEF(_Collection, __uuidof(_Collection));
  54. _COM_SMARTPTR_TYPEDEF(_DynaCollection, __uuidof(_DynaCollection));
  55. _COM_SMARTPTR_TYPEDEF(_ADO, __uuidof(_ADO));
  56. _COM_SMARTPTR_TYPEDEF(Properties, __uuidof(Properties));
  57. _COM_SMARTPTR_TYPEDEF(Property, __uuidof(Property));
  58. _COM_SMARTPTR_TYPEDEF(Error, __uuidof(Error));
  59. _COM_SMARTPTR_TYPEDEF(Errors, __uuidof(Errors));
  60. _COM_SMARTPTR_TYPEDEF(_Command, __uuidof(_Command));
  61. _COM_SMARTPTR_TYPEDEF(_Connection, __uuidof(_Connection));
  62. _COM_SMARTPTR_TYPEDEF(_Recordset, __uuidof(_Recordset));
  63. _COM_SMARTPTR_TYPEDEF(Fields, __uuidof(Fields));
  64. _COM_SMARTPTR_TYPEDEF(Field, __uuidof(Field));
  65. _COM_SMARTPTR_TYPEDEF(_Parameter, __uuidof(_Parameter));
  66. _COM_SMARTPTR_TYPEDEF(Parameters, __uuidof(Parameters));
  67. _COM_SMARTPTR_TYPEDEF(ADOConnectionConstruction, __uuidof(ADOConnectionConstruction));
  68. _COM_SMARTPTR_TYPEDEF(ADORecordsetConstruction, __uuidof(ADORecordsetConstruction));
  69. //
  70. // Type library items
  71. //
  72. enum CursorTypeEnum
  73. {
  74. adOpenUnspecified = -1,
  75. adOpenForwardOnly = 0,
  76. adOpenKeyset = 1,
  77. adOpenDynamic = 2,
  78. adOpenStatic = 3
  79. };
  80. enum CursorOptionEnum
  81. {
  82. adHoldRecords = 256,
  83. adMovePrevious = 512,
  84. adAddNew = 16778240,
  85. adDelete = 16779264,
  86. adUpdate = 16809984,
  87. adBookmark = 8192,
  88. adApproxPosition = 16384,
  89. adUpdateBatch = 65536,
  90. adResync = 131072
  91. };
  92. enum LockTypeEnum
  93. {
  94. adLockUnspecified = -1,
  95. adLockReadOnly = 1,
  96. adLockPessimistic = 2,
  97. adLockOptimistic = 3,
  98. adLockBatchOptimistic = 4
  99. };
  100. enum ExecuteOptionEnum
  101. {
  102. adOptionUnspecified = -1
  103. };
  104. enum ObjectStateEnum
  105. {
  106. adStateClosed = 0,
  107. adStateOpen = 1
  108. };
  109. enum CursorLocationEnum
  110. {
  111. adUseNone = 1,
  112. adUseServer = 2,
  113. adUseClient = 3,
  114. adUseClientBatch = 3
  115. };
  116. enum DataTypeEnum
  117. {
  118. adEmpty = 0,
  119. adTinyInt = 16,
  120. adSmallInt = 2,
  121. adInteger = 3,
  122. adBigInt = 20,
  123. adUnsignedTinyInt = 17,
  124. adUnsignedSmallInt = 18,
  125. adUnsignedInt = 19,
  126. adUnsignedBigInt = 21,
  127. adSingle = 4,
  128. adDouble = 5,
  129. adCurrency = 6,
  130. adDecimal = 14,
  131. adNumeric = 131,
  132. adBoolean = 11,
  133. adError = 10,
  134. adUserDefined = 132,
  135. adVariant = 12,
  136. adIDispatch = 9,
  137. adIUnknown = 13,
  138. adGUID = 72,
  139. adDate = 7,
  140. adDBDate = 133,
  141. adDBTime = 134,
  142. adDBTimeStamp = 135,
  143. adBSTR = 8,
  144. adChar = 129,
  145. adVarChar = 200,
  146. adLongVarChar = 201,
  147. adWChar = 130,
  148. adVarWChar = 202,
  149. adLongVarWChar = 203,
  150. adBinary = 128,
  151. adVarBinary = 204,
  152. adLongVarBinary = 205
  153. };
  154. enum FieldAttributeEnum
  155. {
  156. adFldMayDefer = 2,
  157. adFldUpdatable = 4,
  158. adFldUnknownUpdatable = 8,
  159. adFldFixed = 16,
  160. adFldIsNullable = 32,
  161. adFldMayBeNull = 64,
  162. adFldLong = 128,
  163. adFldRowID = 256,
  164. adFldRowVersion = 512,
  165. adFldCacheDeferred = 4096
  166. };
  167. enum EditModeEnum
  168. {
  169. adEditNone = 0,
  170. adEditInProgress = 1,
  171. adEditAdd = 2,
  172. adEditDelete = 4
  173. };
  174. enum RecordStatusEnum
  175. {
  176. adRecOK = 0,
  177. adRecNew = 1,
  178. adRecModified = 2,
  179. adRecDeleted = 4,
  180. adRecUnmodified = 8,
  181. adRecInvalid = 16,
  182. adRecMultipleChanges = 64,
  183. adRecPendingChanges = 128,
  184. adRecCanceled = 256,
  185. adRecCantRelease = 1024,
  186. adRecConcurrencyViolation = 2048,
  187. adRecIntegrityViolation = 4096,
  188. adRecMaxChangesExceeded = 8192,
  189. adRecObjectOpen = 16384,
  190. adRecOutOfMemory = 32768,
  191. adRecPermissionDenied = 65536,
  192. adRecSchemaViolation = 131072,
  193. adRecDBDeleted = 262144
  194. };
  195. enum GetRowsOptionEnum
  196. {
  197. adGetRowsRest = -1
  198. };
  199. enum PositionEnum
  200. {
  201. adPosUnknown = -1,
  202. adPosBOF = -2,
  203. adPosEOF = -3
  204. };
  205. enum BookmarkEnum
  206. {
  207. adBookmarkCurrent = 0,
  208. adBookmarkFirst = 1,
  209. adBookmarkLast = 2
  210. };
  211. enum MarshalOptionsEnum
  212. {
  213. adMarshalAll = 0,
  214. adMarshalModifiedOnly = 1
  215. };
  216. enum AffectEnum
  217. {
  218. adAffectCurrent = 1,
  219. adAffectGroup = 2,
  220. adAffectAll = 3
  221. };
  222. enum FilterGroupEnum
  223. {
  224. adFilterNone = 0,
  225. adFilterPendingRecords = 1,
  226. adFilterAffectedRecords = 2,
  227. adFilterFetchedRecords = 3,
  228. adFilterPredicate = 4
  229. };
  230. enum SearchDirection
  231. {
  232. adSearchForward = 1,
  233. adSearchBackward = -1
  234. };
  235. enum ConnectPromptEnum
  236. {
  237. adPromptAlways = 1,
  238. adPromptComplete = 2,
  239. adPromptCompleteRequired = 3,
  240. adPromptNever = 4
  241. };
  242. enum ConnectModeEnum
  243. {
  244. adModeUnknown = 0,
  245. adModeRead = 1,
  246. adModeWrite = 2,
  247. adModeReadWrite = 3,
  248. adModeShareDenyRead = 4,
  249. adModeShareDenyWrite = 8,
  250. adModeShareExclusive = 12,
  251. adModeShareDenyNone = 16
  252. };
  253. enum IsolationLevelEnum
  254. {
  255. adXactUnspecified = -1,
  256. adXactChaos = 16,
  257. adXactReadUncommitted = 256,
  258. adXactBrowse = 256,
  259. adXactCursorStability = 4096,
  260. adXactReadCommitted = 4096,
  261. adXactRepeatableRead = 65536,
  262. adXactSerializable = 1048576,
  263. adXactIsolated = 1048576
  264. };
  265. enum XactAttributeEnum
  266. {
  267. adXactCommitRetaining = 131072,
  268. adXactAbortRetaining = 262144
  269. };
  270. enum PropertyAttributesEnum
  271. {
  272. adPropNotSupported = 0,
  273. adPropRequired = 1,
  274. adPropOptional = 2,
  275. adPropRead = 512,
  276. adPropWrite = 1024
  277. };
  278. enum ErrorValueEnum
  279. {
  280. adErrInvalidArgument = 3001,
  281. adErrNoCurrentRecord = 3021,
  282. adErrIllegalOperation = 3219,
  283. adErrInTransaction = 3246,
  284. adErrFeatureNotAvailable = 3251,
  285. adErrItemNotFound = 3265,
  286. adErrObjectInCollection = 3367,
  287. adErrObjectNotSet = 3420,
  288. adErrDataConversion = 3421,
  289. adErrObjectClosed = 3704,
  290. adErrObjectOpen = 3705,
  291. adErrProviderNotFound = 3706,
  292. adErrBoundToCommand = 3707,
  293. adErrInvalidParamInfo = 3708,
  294. adErrInvalidConnection = 3709,
  295. adErrUnsafeOperation = 3716
  296. };
  297. enum ParameterAttributesEnum
  298. {
  299. adParamSigned = 16,
  300. adParamNullable = 64,
  301. adParamLong = 128
  302. };
  303. enum ParameterDirectionEnum
  304. {
  305. adParamUnknown = 0,
  306. adParamInput = 1,
  307. adParamOutput = 2,
  308. adParamInputOutput = 3,
  309. adParamReturnValue = 4
  310. };
  311. enum CommandTypeEnum
  312. {
  313. adCmdUnspecified = -1,
  314. adCmdUnknown = 8,
  315. adCmdText = 1,
  316. adCmdTable = 2,
  317. adCmdStoredProc = 4
  318. };
  319. enum SchemaEnum
  320. {
  321. adSchemaProviderSpecific = -1,
  322. adSchemaAsserts = 0,
  323. adSchemaCatalogs = 1,
  324. adSchemaCharacterSets = 2,
  325. adSchemaCollations = 3,
  326. adSchemaColumns = 4,
  327. adSchemaCheckConstraints = 5,
  328. adSchemaConstraintColumnUsage = 6,
  329. adSchemaConstraintTableUsage = 7,
  330. adSchemaKeyColumnUsage = 8,
  331. adSchemaReferentialContraints = 9,
  332. adSchemaTableConstraints = 10,
  333. adSchemaColumnsDomainUsage = 11,
  334. adSchemaIndexes = 12,
  335. adSchemaColumnPrivileges = 13,
  336. adSchemaTablePrivileges = 14,
  337. adSchemaUsagePrivileges = 15,
  338. adSchemaProcedures = 16,
  339. adSchemaSchemata = 17,
  340. adSchemaSQLLanguages = 18,
  341. adSchemaStatistics = 19,
  342. adSchemaTables = 20,
  343. adSchemaTranslations = 21,
  344. adSchemaProviderTypes = 22,
  345. adSchemaViews = 23,
  346. adSchemaViewColumnUsage = 24,
  347. adSchemaViewTableUsage = 25,
  348. adSchemaProcedureParameters = 26,
  349. adSchemaForeignKeys = 27,
  350. adSchemaPrimaryKeys = 28,
  351. adSchemaProcedureColumns = 29
  352. };
  353. struct __declspec(uuid("00000512-0000-0010-8000-00aa006d2ea4"))
  354. _Collection : IDispatch
  355. {
  356. //
  357. // Property data
  358. //
  359. __declspec(property(get=GetCount))
  360. long Count;
  361. //
  362. // Wrapper methods for error-handling
  363. //
  364. long GetCount ( );
  365. IUnknownPtr _NewEnum ( );
  366. HRESULT Refresh ( );
  367. //
  368. // Raw methods provided by interface
  369. //
  370. virtual HRESULT __stdcall get_Count (
  371. long * c ) = 0;
  372. virtual HRESULT __stdcall raw__NewEnum (
  373. IUnknown * * ppvObject ) = 0;
  374. virtual HRESULT __stdcall raw_Refresh ( ) = 0;
  375. };
  376. struct __declspec(uuid("00000513-0000-0010-8000-00aa006d2ea4"))
  377. _DynaCollection : _Collection
  378. {
  379. //
  380. // Wrapper methods for error-handling
  381. //
  382. HRESULT Append (
  383. IDispatch * Object );
  384. HRESULT Delete (
  385. const _variant_t & Index );
  386. //
  387. // Raw methods provided by interface
  388. //
  389. virtual HRESULT __stdcall raw_Append (
  390. IDispatch * Object ) = 0;
  391. virtual HRESULT __stdcall raw_Delete (
  392. VARIANT Index ) = 0;
  393. };
  394. struct __declspec(uuid("00000534-0000-0010-8000-00aa006d2ea4"))
  395. _ADO : IDispatch
  396. {
  397. //
  398. // Property data
  399. //
  400. __declspec(property(get=GetProperties))
  401. PropertiesPtr Properties;
  402. //
  403. // Wrapper methods for error-handling
  404. //
  405. PropertiesPtr GetProperties ( );
  406. //
  407. // Raw methods provided by interface
  408. //
  409. virtual HRESULT __stdcall get_Properties (
  410. struct Properties * * ppvObject ) = 0;
  411. };
  412. struct __declspec(uuid("00000504-0000-0010-8000-00aa006d2ea4"))
  413. Properties : _Collection
  414. {
  415. //
  416. // Property data
  417. //
  418. __declspec(property(get=GetItem))
  419. PropertyPtr Item[];
  420. //
  421. // Wrapper methods for error-handling
  422. //
  423. PropertyPtr GetItem (
  424. const _variant_t & Index );
  425. //
  426. // Raw methods provided by interface
  427. //
  428. virtual HRESULT __stdcall get_Item (
  429. VARIANT Index,
  430. struct Property * * ppvObject ) = 0;
  431. };
  432. struct __declspec(uuid("00000503-0000-0010-8000-00aa006d2ea4"))
  433. Property : IDispatch
  434. {
  435. //
  436. // Property data
  437. //
  438. __declspec(property(get=GetValue,put=PutValue))
  439. _variant_t Value;
  440. __declspec(property(get=GetName))
  441. _bstr_t Name;
  442. __declspec(property(get=GetType))
  443. enum DataTypeEnum Type;
  444. __declspec(property(get=GetAttributes,put=PutAttributes))
  445. long Attributes;
  446. //
  447. // Wrapper methods for error-handling
  448. //
  449. _variant_t GetValue ( );
  450. void PutValue (
  451. const _variant_t & pval );
  452. _bstr_t GetName ( );
  453. enum DataTypeEnum GetType ( );
  454. long GetAttributes ( );
  455. void PutAttributes (
  456. long plAttributes );
  457. //
  458. // Raw methods provided by interface
  459. //
  460. virtual HRESULT __stdcall get_Value (
  461. VARIANT * pval ) = 0;
  462. virtual HRESULT __stdcall put_Value (
  463. VARIANT pval ) = 0;
  464. virtual HRESULT __stdcall get_Name (
  465. BSTR * pbstr ) = 0;
  466. virtual HRESULT __stdcall get_Type (
  467. enum DataTypeEnum * ptype ) = 0;
  468. virtual HRESULT __stdcall get_Attributes (
  469. long * plAttributes ) = 0;
  470. virtual HRESULT __stdcall put_Attributes (
  471. long plAttributes ) = 0;
  472. };
  473. struct __declspec(uuid("00000500-0000-0010-8000-00aa006d2ea4"))
  474. Error : IDispatch
  475. {
  476. //
  477. // Property data
  478. //
  479. __declspec(property(get=GetNumber))
  480. long Number;
  481. __declspec(property(get=GetSource))
  482. _bstr_t Source;
  483. __declspec(property(get=GetDescription))
  484. _bstr_t Description;
  485. __declspec(property(get=GetHelpFile))
  486. _bstr_t HelpFile;
  487. __declspec(property(get=GetHelpContext))
  488. long HelpContext;
  489. __declspec(property(get=GetSQLState))
  490. _bstr_t SQLState;
  491. __declspec(property(get=GetNativeError))
  492. long NativeError;
  493. //
  494. // Wrapper methods for error-handling
  495. //
  496. long GetNumber ( );
  497. _bstr_t GetSource ( );
  498. _bstr_t GetDescription ( );
  499. _bstr_t GetHelpFile ( );
  500. long GetHelpContext ( );
  501. _bstr_t GetSQLState ( );
  502. long GetNativeError ( );
  503. //
  504. // Raw methods provided by interface
  505. //
  506. virtual HRESULT __stdcall get_Number (
  507. long * pl ) = 0;
  508. virtual HRESULT __stdcall get_Source (
  509. BSTR * pbstr ) = 0;
  510. virtual HRESULT __stdcall get_Description (
  511. BSTR * pbstr ) = 0;
  512. virtual HRESULT __stdcall get_HelpFile (
  513. BSTR * pbstr ) = 0;
  514. virtual HRESULT __stdcall get_HelpContext (
  515. long * pl ) = 0;
  516. virtual HRESULT __stdcall get_SQLState (
  517. BSTR * pbstr ) = 0;
  518. virtual HRESULT __stdcall get_NativeError (
  519. long * pl ) = 0;
  520. };
  521. struct __declspec(uuid("00000501-0000-0010-8000-00aa006d2ea4"))
  522. Errors : _Collection
  523. {
  524. //
  525. // Property data
  526. //
  527. __declspec(property(get=GetItem))
  528. ErrorPtr Item[];
  529. //
  530. // Wrapper methods for error-handling
  531. //
  532. ErrorPtr GetItem (
  533. const _variant_t & Index );
  534. HRESULT Clear ( );
  535. //
  536. // Raw methods provided by interface
  537. //
  538. virtual HRESULT __stdcall get_Item (
  539. VARIANT Index,
  540. struct Error * * ppvObject ) = 0;
  541. virtual HRESULT __stdcall raw_Clear ( ) = 0;
  542. };
  543. struct __declspec(uuid("00000508-0000-0010-8000-00aa006d2ea4"))
  544. _Command : _ADO
  545. {
  546. //
  547. // Property data
  548. //
  549. __declspec(property(get=GetActiveConnection,put=PutRefActiveConnection))
  550. _ConnectionPtr ActiveConnection;
  551. __declspec(property(get=GetParameters))
  552. ParametersPtr Parameters;
  553. __declspec(property(get=GetCommandText,put=PutCommandText))
  554. _bstr_t CommandText;
  555. __declspec(property(get=GetCommandTimeout,put=PutCommandTimeout))
  556. long CommandTimeout;
  557. __declspec(property(get=GetPrepared,put=PutPrepared))
  558. VARIANT_BOOL Prepared;
  559. __declspec(property(get=GetCommandType,put=PutCommandType))
  560. enum CommandTypeEnum CommandType;
  561. __declspec(property(get=GetName,put=PutName))
  562. _bstr_t Name;
  563. //
  564. // Wrapper methods for error-handling
  565. //
  566. _ConnectionPtr GetActiveConnection ( );
  567. void PutRefActiveConnection (
  568. struct _Connection * ppvObject );
  569. void PutActiveConnection (
  570. const _variant_t & ppvObject );
  571. _bstr_t GetCommandText ( );
  572. void PutCommandText (
  573. _bstr_t pbstr );
  574. long GetCommandTimeout ( );
  575. void PutCommandTimeout (
  576. long pl );
  577. VARIANT_BOOL GetPrepared ( );
  578. void PutPrepared (
  579. VARIANT_BOOL pfPrepared );
  580. _RecordsetPtr Execute (
  581. VARIANT * RecordsAffected,
  582. VARIANT * Parameters,
  583. long Options );
  584. _ParameterPtr CreateParameter (
  585. _bstr_t Name,
  586. enum DataTypeEnum Type,
  587. enum ParameterDirectionEnum Direction,
  588. long Size,
  589. const _variant_t & Value = vtMissing );
  590. ParametersPtr GetParameters ( );
  591. void PutCommandType (
  592. enum CommandTypeEnum plCmdType );
  593. enum CommandTypeEnum GetCommandType ( );
  594. _bstr_t GetName ( );
  595. void PutName (
  596. _bstr_t pbstrName );
  597. //
  598. // Raw methods provided by interface
  599. //
  600. virtual HRESULT __stdcall get_ActiveConnection (
  601. struct _Connection * * ppvObject ) = 0;
  602. virtual HRESULT __stdcall putref_ActiveConnection (
  603. struct _Connection * ppvObject ) = 0;
  604. virtual HRESULT __stdcall put_ActiveConnection (
  605. VARIANT ppvObject ) = 0;
  606. virtual HRESULT __stdcall get_CommandText (
  607. BSTR * pbstr ) = 0;
  608. virtual HRESULT __stdcall put_CommandText (
  609. BSTR pbstr ) = 0;
  610. virtual HRESULT __stdcall get_CommandTimeout (
  611. long * pl ) = 0;
  612. virtual HRESULT __stdcall put_CommandTimeout (
  613. long pl ) = 0;
  614. virtual HRESULT __stdcall get_Prepared (
  615. VARIANT_BOOL * pfPrepared ) = 0;
  616. virtual HRESULT __stdcall put_Prepared (
  617. VARIANT_BOOL pfPrepared ) = 0;
  618. virtual HRESULT __stdcall raw_Execute (
  619. VARIANT * RecordsAffected,
  620. VARIANT * Parameters,
  621. long Options,
  622. struct _Recordset * * ppiRs ) = 0;
  623. virtual HRESULT __stdcall raw_CreateParameter (
  624. BSTR Name,
  625. enum DataTypeEnum Type,
  626. enum ParameterDirectionEnum Direction,
  627. long Size,
  628. VARIANT Value,
  629. struct _Parameter * * ppiprm ) = 0;
  630. virtual HRESULT __stdcall get_Parameters (
  631. struct Parameters * * ppvObject ) = 0;
  632. virtual HRESULT __stdcall put_CommandType (
  633. enum CommandTypeEnum plCmdType ) = 0;
  634. virtual HRESULT __stdcall get_CommandType (
  635. enum CommandTypeEnum * plCmdType ) = 0;
  636. virtual HRESULT __stdcall get_Name (
  637. BSTR * pbstrName ) = 0;
  638. virtual HRESULT __stdcall put_Name (
  639. BSTR pbstrName ) = 0;
  640. };
  641. struct __declspec(uuid("00000515-0000-0010-8000-00aa006d2ea4"))
  642. _Connection : _ADO
  643. {
  644. //
  645. // Property data
  646. //
  647. __declspec(property(get=GetConnectionString,put=PutConnectionString))
  648. _bstr_t ConnectionString;
  649. __declspec(property(get=GetCommandTimeout,put=PutCommandTimeout))
  650. long CommandTimeout;
  651. __declspec(property(get=GetConnectionTimeout,put=PutConnectionTimeout))
  652. long ConnectionTimeout;
  653. __declspec(property(get=GetVersion))
  654. _bstr_t Version;
  655. __declspec(property(get=GetErrors))
  656. ErrorsPtr Errors;
  657. __declspec(property(get=GetDefaultDatabase,put=PutDefaultDatabase))
  658. _bstr_t DefaultDatabase;
  659. __declspec(property(get=GetIsolationLevel,put=PutIsolationLevel))
  660. enum IsolationLevelEnum IsolationLevel;
  661. __declspec(property(get=GetAttributes,put=PutAttributes))
  662. long Attributes;
  663. __declspec(property(get=GetCursorLocation,put=PutCursorLocation))
  664. enum CursorLocationEnum CursorLocation;
  665. __declspec(property(get=GetMode,put=PutMode))
  666. enum ConnectModeEnum Mode;
  667. __declspec(property(get=GetProvider,put=PutProvider))
  668. _bstr_t Provider;
  669. __declspec(property(get=GetState))
  670. long State;
  671. //
  672. // Wrapper methods for error-handling
  673. //
  674. _bstr_t GetConnectionString ( );
  675. void PutConnectionString (
  676. _bstr_t pbstr );
  677. long GetCommandTimeout ( );
  678. void PutCommandTimeout (
  679. long plTimeout );
  680. long GetConnectionTimeout ( );
  681. void PutConnectionTimeout (
  682. long plTimeout );
  683. _bstr_t GetVersion ( );
  684. HRESULT Close ( );
  685. _RecordsetPtr Execute (
  686. _bstr_t CommandText,
  687. VARIANT * RecordsAffected,
  688. long Options );
  689. long BeginTrans ( );
  690. HRESULT CommitTrans ( );
  691. HRESULT RollbackTrans ( );
  692. HRESULT Open (
  693. _bstr_t ConnectionString,
  694. _bstr_t UserID,
  695. _bstr_t Password,
  696. long Options );
  697. ErrorsPtr GetErrors ( );
  698. _bstr_t GetDefaultDatabase ( );
  699. void PutDefaultDatabase (
  700. _bstr_t pbstr );
  701. enum IsolationLevelEnum GetIsolationLevel ( );
  702. void PutIsolationLevel (
  703. enum IsolationLevelEnum Level );
  704. long GetAttributes ( );
  705. void PutAttributes (
  706. long plAttr );
  707. enum CursorLocationEnum GetCursorLocation ( );
  708. void PutCursorLocation (
  709. enum CursorLocationEnum plCursorLoc );
  710. enum ConnectModeEnum GetMode ( );
  711. void PutMode (
  712. enum ConnectModeEnum plMode );
  713. _bstr_t GetProvider ( );
  714. void PutProvider (
  715. _bstr_t pbstr );
  716. long GetState ( );
  717. _RecordsetPtr OpenSchema (
  718. enum SchemaEnum Schema,
  719. const _variant_t & Restrictions = vtMissing,
  720. const _variant_t & SchemaID = vtMissing );
  721. //
  722. // Raw methods provided by interface
  723. //
  724. virtual HRESULT __stdcall get_ConnectionString (
  725. BSTR * pbstr ) = 0;
  726. virtual HRESULT __stdcall put_ConnectionString (
  727. BSTR pbstr ) = 0;
  728. virtual HRESULT __stdcall get_CommandTimeout (
  729. long * plTimeout ) = 0;
  730. virtual HRESULT __stdcall put_CommandTimeout (
  731. long plTimeout ) = 0;
  732. virtual HRESULT __stdcall get_ConnectionTimeout (
  733. long * plTimeout ) = 0;
  734. virtual HRESULT __stdcall put_ConnectionTimeout (
  735. long plTimeout ) = 0;
  736. virtual HRESULT __stdcall get_Version (
  737. BSTR * pbstr ) = 0;
  738. virtual HRESULT __stdcall raw_Close ( ) = 0;
  739. virtual HRESULT __stdcall raw_Execute (
  740. BSTR CommandText,
  741. VARIANT * RecordsAffected,
  742. long Options,
  743. struct _Recordset * * ppiRset ) = 0;
  744. virtual HRESULT __stdcall raw_BeginTrans (
  745. long * TransactionLevel ) = 0;
  746. virtual HRESULT __stdcall raw_CommitTrans ( ) = 0;
  747. virtual HRESULT __stdcall raw_RollbackTrans ( ) = 0;
  748. virtual HRESULT __stdcall raw_Open (
  749. BSTR ConnectionString,
  750. BSTR UserID,
  751. BSTR Password,
  752. long Options ) = 0;
  753. virtual HRESULT __stdcall get_Errors (
  754. struct Errors * * ppvObject ) = 0;
  755. virtual HRESULT __stdcall get_DefaultDatabase (
  756. BSTR * pbstr ) = 0;
  757. virtual HRESULT __stdcall put_DefaultDatabase (
  758. BSTR pbstr ) = 0;
  759. virtual HRESULT __stdcall get_IsolationLevel (
  760. enum IsolationLevelEnum * Level ) = 0;
  761. virtual HRESULT __stdcall put_IsolationLevel (
  762. enum IsolationLevelEnum Level ) = 0;
  763. virtual HRESULT __stdcall get_Attributes (
  764. long * plAttr ) = 0;
  765. virtual HRESULT __stdcall put_Attributes (
  766. long plAttr ) = 0;
  767. virtual HRESULT __stdcall get_CursorLocation (
  768. enum CursorLocationEnum * plCursorLoc ) = 0;
  769. virtual HRESULT __stdcall put_CursorLocation (
  770. enum CursorLocationEnum plCursorLoc ) = 0;
  771. virtual HRESULT __stdcall get_Mode (
  772. enum ConnectModeEnum * plMode ) = 0;
  773. virtual HRESULT __stdcall put_Mode (
  774. enum ConnectModeEnum plMode ) = 0;
  775. virtual HRESULT __stdcall get_Provider (
  776. BSTR * pbstr ) = 0;
  777. virtual HRESULT __stdcall put_Provider (
  778. BSTR pbstr ) = 0;
  779. virtual HRESULT __stdcall get_State (
  780. long * plObjState ) = 0;
  781. virtual HRESULT __stdcall raw_OpenSchema (
  782. enum SchemaEnum Schema,
  783. VARIANT Restrictions,
  784. VARIANT SchemaID,
  785. struct _Recordset * * pprset ) = 0;
  786. };
  787. struct __declspec(uuid("0000050e-0000-0010-8000-00aa006d2ea4"))
  788. _Recordset : _ADO
  789. {
  790. //
  791. // Property data
  792. //
  793. __declspec(property(get=GetFields))
  794. FieldsPtr Fields;
  795. __declspec(property(get=GetPageSize,put=PutPageSize))
  796. long PageSize;
  797. __declspec(property(get=GetPageCount))
  798. long PageCount;
  799. __declspec(property(get=GetCursorLocation,put=PutCursorLocation))
  800. enum CursorLocationEnum CursorLocation;
  801. __declspec(property(get=GetState))
  802. long State;
  803. __declspec(property(get=GetMarshalOptions,put=PutMarshalOptions))
  804. enum MarshalOptionsEnum MarshalOptions;
  805. __declspec(property(get=GetCollect,put=PutCollect))
  806. _variant_t Collect[];
  807. __declspec(property(get=GetEditMode))
  808. enum EditModeEnum EditMode;
  809. __declspec(property(get=GetStatus))
  810. long Status;
  811. __declspec(property(get=GetFilter,put=PutFilter))
  812. _variant_t Filter;
  813. __declspec(property(get=GetSort,put=PutSort))
  814. _bstr_t Sort;
  815. __declspec(property(get=GetAbsolutePosition,put=PutAbsolutePosition))
  816. enum PositionEnum AbsolutePosition;
  817. __declspec(property(get=GetBOF))
  818. VARIANT_BOOL BOF;
  819. __declspec(property(get=GetBookmark,put=PutBookmark))
  820. _variant_t Bookmark;
  821. __declspec(property(get=GetCacheSize,put=PutCacheSize))
  822. long CacheSize;
  823. __declspec(property(get=GetCursorType,put=PutCursorType))
  824. enum CursorTypeEnum CursorType;
  825. __declspec(property(get=GetEndOfFile))
  826. VARIANT_BOOL EndOfFile;
  827. __declspec(property(get=GetAbsolutePage,put=PutAbsolutePage))
  828. enum PositionEnum AbsolutePage;
  829. __declspec(property(get=GetLockType,put=PutLockType))
  830. enum LockTypeEnum LockType;
  831. __declspec(property(get=GetMaxRecords,put=PutMaxRecords))
  832. long MaxRecords;
  833. __declspec(property(get=GetRecordCount))
  834. long RecordCount;
  835. //
  836. // Wrapper methods for error-handling
  837. //
  838. enum PositionEnum GetAbsolutePosition ( );
  839. void PutAbsolutePosition (
  840. enum PositionEnum pl );
  841. void PutRefActiveConnection (
  842. IDispatch * pvar );
  843. void PutActiveConnection (
  844. const _variant_t & pvar );
  845. _variant_t GetActiveConnection ( );
  846. VARIANT_BOOL GetBOF ( );
  847. _variant_t GetBookmark ( );
  848. void PutBookmark (
  849. const _variant_t & pvBookmark );
  850. long GetCacheSize ( );
  851. void PutCacheSize (
  852. long pl );
  853. enum CursorTypeEnum GetCursorType ( );
  854. void PutCursorType (
  855. enum CursorTypeEnum plCursorType );
  856. VARIANT_BOOL GetEndOfFile ( );
  857. FieldsPtr GetFields ( );
  858. enum LockTypeEnum GetLockType ( );
  859. void PutLockType (
  860. enum LockTypeEnum plLockType );
  861. long GetMaxRecords ( );
  862. void PutMaxRecords (
  863. long plMaxRecords );
  864. long GetRecordCount ( );
  865. void PutRefSource (
  866. IDispatch * pvSource );
  867. void PutSource (
  868. _bstr_t pvSource );
  869. _variant_t GetSource ( );
  870. HRESULT AddNew (
  871. const _variant_t & FieldList = vtMissing,
  872. const _variant_t & Values = vtMissing );
  873. HRESULT CancelUpdate ( );
  874. HRESULT Close ( );
  875. HRESULT Delete (
  876. enum AffectEnum AffectRecords );
  877. _variant_t GetRows (
  878. long Rows,
  879. const _variant_t & Start = vtMissing,
  880. const _variant_t & Fields = vtMissing );
  881. HRESULT Move (
  882. long NumRecords,
  883. const _variant_t & Start = vtMissing );
  884. HRESULT MoveNext ( );
  885. HRESULT MovePrevious ( );
  886. HRESULT MoveFirst ( );
  887. HRESULT MoveLast ( );
  888. HRESULT Open (
  889. const _variant_t & Source,
  890. const _variant_t & ActiveConnection,
  891. enum CursorTypeEnum CursorType,
  892. enum LockTypeEnum LockType,
  893. long Options );
  894. HRESULT Requery (
  895. long Options );
  896. HRESULT Resync (
  897. enum AffectEnum AffectRecords );
  898. HRESULT Update (
  899. const _variant_t & Fields = vtMissing,
  900. const _variant_t & Values = vtMissing );
  901. enum PositionEnum GetAbsolutePage ( );
  902. void PutAbsolutePage (
  903. enum PositionEnum pl );
  904. enum EditModeEnum GetEditMode ( );
  905. _variant_t GetFilter ( );
  906. void PutFilter (
  907. const _variant_t & Criteria );
  908. long GetPageCount ( );
  909. long GetPageSize ( );
  910. void PutPageSize (
  911. long pl );
  912. _bstr_t GetSort ( );
  913. void PutSort (
  914. _bstr_t Criteria );
  915. long GetStatus ( );
  916. long GetState ( );
  917. _RecordsetPtr Clone ( );
  918. HRESULT UpdateBatch (
  919. enum AffectEnum AffectRecords );
  920. HRESULT CancelBatch (
  921. enum AffectEnum AffectRecords );
  922. enum CursorLocationEnum GetCursorLocation ( );
  923. void PutCursorLocation (
  924. enum CursorLocationEnum plCursorLoc );
  925. _RecordsetPtr NextRecordset (
  926. VARIANT * RecordsAffected );
  927. VARIANT_BOOL Supports (
  928. enum CursorOptionEnum CursorOptions );
  929. _variant_t GetCollect (
  930. const _variant_t & Index );
  931. void PutCollect (
  932. const _variant_t & Index,
  933. const _variant_t & pvar );
  934. enum MarshalOptionsEnum GetMarshalOptions ( );
  935. void PutMarshalOptions (
  936. enum MarshalOptionsEnum peMarshal );
  937. HRESULT Find (
  938. _bstr_t Criteria,
  939. long SkipRecords,
  940. SearchDirectionEnum SearchDirection,
  941. const _variant_t & Start = vtMissing );
  942. //
  943. // Raw methods provided by interface
  944. //
  945. virtual HRESULT __stdcall get_AbsolutePosition (
  946. enum PositionEnum * pl ) = 0;
  947. virtual HRESULT __stdcall put_AbsolutePosition (
  948. enum PositionEnum pl ) = 0;
  949. virtual HRESULT __stdcall putref_ActiveConnection (
  950. IDispatch * pvar ) = 0;
  951. virtual HRESULT __stdcall put_ActiveConnection (
  952. VARIANT pvar ) = 0;
  953. virtual HRESULT __stdcall get_ActiveConnection (
  954. VARIANT * pvar ) = 0;
  955. virtual HRESULT __stdcall get_BOF (
  956. VARIANT_BOOL * pb ) = 0;
  957. virtual HRESULT __stdcall get_Bookmark (
  958. VARIANT * pvBookmark ) = 0;
  959. virtual HRESULT __stdcall put_Bookmark (
  960. VARIANT pvBookmark ) = 0;
  961. virtual HRESULT __stdcall get_CacheSize (
  962. long * pl ) = 0;
  963. virtual HRESULT __stdcall put_CacheSize (
  964. long pl ) = 0;
  965. virtual HRESULT __stdcall get_CursorType (
  966. enum CursorTypeEnum * plCursorType ) = 0;
  967. virtual HRESULT __stdcall put_CursorType (
  968. enum CursorTypeEnum plCursorType ) = 0;
  969. virtual HRESULT __stdcall get_EndOfFile (
  970. VARIANT_BOOL * pb ) = 0;
  971. virtual HRESULT __stdcall get_Fields (
  972. struct Fields * * ppvObject ) = 0;
  973. virtual HRESULT __stdcall get_LockType (
  974. enum LockTypeEnum * plLockType ) = 0;
  975. virtual HRESULT __stdcall put_LockType (
  976. enum LockTypeEnum plLockType ) = 0;
  977. virtual HRESULT __stdcall get_MaxRecords (
  978. long * plMaxRecords ) = 0;
  979. virtual HRESULT __stdcall put_MaxRecords (
  980. long plMaxRecords ) = 0;
  981. virtual HRESULT __stdcall get_RecordCount (
  982. long * pl ) = 0;
  983. virtual HRESULT __stdcall putref_Source (
  984. IDispatch * pvSource ) = 0;
  985. virtual HRESULT __stdcall put_Source (
  986. BSTR pvSource ) = 0;
  987. virtual HRESULT __stdcall get_Source (
  988. VARIANT * pvSource ) = 0;
  989. virtual HRESULT __stdcall raw_AddNew (
  990. VARIANT FieldList = vtMissing,
  991. VARIANT Values = vtMissing ) = 0;
  992. virtual HRESULT __stdcall raw_CancelUpdate ( ) = 0;
  993. virtual HRESULT __stdcall raw_Close ( ) = 0;
  994. virtual HRESULT __stdcall raw_Delete (
  995. enum AffectEnum AffectRecords ) = 0;
  996. virtual HRESULT __stdcall raw_GetRows (
  997. long Rows,
  998. VARIANT Start,
  999. VARIANT Fields,
  1000. VARIANT * pvar ) = 0;
  1001. virtual HRESULT __stdcall raw_Move (
  1002. long NumRecords,
  1003. VARIANT Start = vtMissing ) = 0;
  1004. virtual HRESULT __stdcall raw_MoveNext ( ) = 0;
  1005. virtual HRESULT __stdcall raw_MovePrevious ( ) = 0;
  1006. virtual HRESULT __stdcall raw_MoveFirst ( ) = 0;
  1007. virtual HRESULT __stdcall raw_MoveLast ( ) = 0;
  1008. virtual HRESULT __stdcall raw_Open (
  1009. VARIANT Source,
  1010. VARIANT ActiveConnection,
  1011. enum CursorTypeEnum CursorType,
  1012. enum LockTypeEnum LockType,
  1013. long Options ) = 0;
  1014. virtual HRESULT __stdcall raw_Requery (
  1015. long Options ) = 0;
  1016. virtual HRESULT __stdcall raw_Resync (
  1017. enum AffectEnum AffectRecords ) = 0;
  1018. virtual HRESULT __stdcall raw_Update (
  1019. VARIANT Fields = vtMissing,
  1020. VARIANT Values = vtMissing ) = 0;
  1021. virtual HRESULT __stdcall get_AbsolutePage (
  1022. enum PositionEnum * pl ) = 0;
  1023. virtual HRESULT __stdcall put_AbsolutePage (
  1024. enum PositionEnum pl ) = 0;
  1025. virtual HRESULT __stdcall get_EditMode (
  1026. enum EditModeEnum * pl ) = 0;
  1027. virtual HRESULT __stdcall get_Filter (
  1028. VARIANT * Criteria ) = 0;
  1029. virtual HRESULT __stdcall put_Filter (
  1030. VARIANT Criteria ) = 0;
  1031. virtual HRESULT __stdcall get_PageCount (
  1032. long * pl ) = 0;
  1033. virtual HRESULT __stdcall get_PageSize (
  1034. long * pl ) = 0;
  1035. virtual HRESULT __stdcall put_PageSize (
  1036. long pl ) = 0;
  1037. virtual HRESULT __stdcall get_Sort (
  1038. BSTR * Criteria ) = 0;
  1039. virtual HRESULT __stdcall put_Sort (
  1040. BSTR Criteria ) = 0;
  1041. virtual HRESULT __stdcall get_Status (
  1042. long * pl ) = 0;
  1043. virtual HRESULT __stdcall get_State (
  1044. long * plObjState ) = 0;
  1045. virtual HRESULT __stdcall raw_Clone (
  1046. struct _Recordset * * ppvObject ) = 0;
  1047. virtual HRESULT __stdcall raw_UpdateBatch (
  1048. enum AffectEnum AffectRecords ) = 0;
  1049. virtual HRESULT __stdcall raw_CancelBatch (
  1050. enum AffectEnum AffectRecords ) = 0;
  1051. virtual HRESULT __stdcall get_CursorLocation (
  1052. enum CursorLocationEnum * plCursorLoc ) = 0;
  1053. virtual HRESULT __stdcall put_CursorLocation (
  1054. enum CursorLocationEnum plCursorLoc ) = 0;
  1055. virtual HRESULT __stdcall raw_NextRecordset (
  1056. VARIANT * RecordsAffected,
  1057. struct _Recordset * * ppiRs ) = 0;
  1058. virtual HRESULT __stdcall raw_Supports (
  1059. enum CursorOptionEnum CursorOptions,
  1060. VARIANT_BOOL * pb ) = 0;
  1061. virtual HRESULT __stdcall get_Collect (
  1062. VARIANT Index,
  1063. VARIANT * pvar ) = 0;
  1064. virtual HRESULT __stdcall put_Collect (
  1065. VARIANT Index,
  1066. VARIANT pvar ) = 0;
  1067. virtual HRESULT __stdcall get_MarshalOptions (
  1068. enum MarshalOptionsEnum * peMarshal ) = 0;
  1069. virtual HRESULT __stdcall put_MarshalOptions (
  1070. enum MarshalOptionsEnum peMarshal ) = 0;
  1071. virtual HRESULT __stdcall raw_Find (
  1072. BSTR Criteria,
  1073. long SkipRecords,
  1074. SearchDirectionEnum SearchDirection,
  1075. VARIANT Start = vtMissing ) = 0;
  1076. };
  1077. struct __declspec(uuid("00000506-0000-0010-8000-00aa006d2ea4"))
  1078. Fields : _Collection
  1079. {
  1080. //
  1081. // Property data
  1082. //
  1083. __declspec(property(get=GetItem))
  1084. FieldPtr Item[];
  1085. //
  1086. // Wrapper methods for error-handling
  1087. //
  1088. FieldPtr GetItem (
  1089. const _variant_t & Index );
  1090. //
  1091. // Raw methods provided by interface
  1092. //
  1093. virtual HRESULT __stdcall get_Item (
  1094. VARIANT Index,
  1095. struct Field * * ppvObject ) = 0;
  1096. };
  1097. struct __declspec(uuid("00000505-0000-0010-8000-00aa006d2ea4"))
  1098. Field : _ADO
  1099. {
  1100. //
  1101. // Property data
  1102. //
  1103. __declspec(property(get=GetValue,put=PutValue))
  1104. _variant_t Value;
  1105. __declspec(property(get=GetPrecision))
  1106. unsigned char Precision;
  1107. __declspec(property(get=GetNumericScale))
  1108. unsigned char NumericScale;
  1109. __declspec(property(get=GetAttributes))
  1110. long Attributes;
  1111. __declspec(property(get=GetName))
  1112. _bstr_t Name;
  1113. __declspec(property(get=GetType))
  1114. enum DataTypeEnum Type;
  1115. __declspec(property(get=GetDefinedSize))
  1116. long DefinedSize;
  1117. __declspec(property(get=GetOriginalValue))
  1118. _variant_t OriginalValue;
  1119. __declspec(property(get=GetUnderlyingValue))
  1120. _variant_t UnderlyingValue;
  1121. __declspec(property(get=GetActualSize))
  1122. long ActualSize;
  1123. //
  1124. // Wrapper methods for error-handling
  1125. //
  1126. long GetActualSize ( );
  1127. long GetAttributes ( );
  1128. long GetDefinedSize ( );
  1129. _bstr_t GetName ( );
  1130. enum DataTypeEnum GetType ( );
  1131. _variant_t GetValue ( );
  1132. void PutValue (
  1133. const _variant_t & pvar );
  1134. unsigned char GetPrecision ( );
  1135. unsigned char GetNumericScale ( );
  1136. HRESULT AppendChunk (
  1137. const _variant_t & Data );
  1138. _variant_t GetChunk (
  1139. long Length );
  1140. _variant_t GetOriginalValue ( );
  1141. _variant_t GetUnderlyingValue ( );
  1142. //
  1143. // Raw methods provided by interface
  1144. //
  1145. virtual HRESULT __stdcall get_ActualSize (
  1146. long * pl ) = 0;
  1147. virtual HRESULT __stdcall get_Attributes (
  1148. long * pl ) = 0;
  1149. virtual HRESULT __stdcall get_DefinedSize (
  1150. long * pl ) = 0;
  1151. virtual HRESULT __stdcall get_Name (
  1152. BSTR * pbstr ) = 0;
  1153. virtual HRESULT __stdcall get_Type (
  1154. enum DataTypeEnum * pDataType ) = 0;
  1155. virtual HRESULT __stdcall get_Value (
  1156. VARIANT * pvar ) = 0;
  1157. virtual HRESULT __stdcall put_Value (
  1158. VARIANT pvar ) = 0;
  1159. virtual HRESULT __stdcall get_Precision (
  1160. unsigned char * pbPrecision ) = 0;
  1161. virtual HRESULT __stdcall get_NumericScale (
  1162. unsigned char * pbNumericScale ) = 0;
  1163. virtual HRESULT __stdcall raw_AppendChunk (
  1164. VARIANT Data ) = 0;
  1165. virtual HRESULT __stdcall raw_GetChunk (
  1166. long Length,
  1167. VARIANT * pvar ) = 0;
  1168. virtual HRESULT __stdcall get_OriginalValue (
  1169. VARIANT * pvar ) = 0;
  1170. virtual HRESULT __stdcall get_UnderlyingValue (
  1171. VARIANT * pvar ) = 0;
  1172. };
  1173. struct __declspec(uuid("0000050c-0000-0010-8000-00aa006d2ea4"))
  1174. _Parameter : _ADO
  1175. {
  1176. //
  1177. // Property data
  1178. //
  1179. __declspec(property(get=GetName,put=PutName))
  1180. _bstr_t Name;
  1181. __declspec(property(get=GetValue,put=PutValue))
  1182. _variant_t Value;
  1183. __declspec(property(get=GetType,put=PutType))
  1184. enum DataTypeEnum Type;
  1185. __declspec(property(get=GetDirection,put=PutDirection))
  1186. enum ParameterDirectionEnum Direction;
  1187. __declspec(property(get=GetPrecision,put=PutPrecision))
  1188. unsigned char Precision;
  1189. __declspec(property(get=GetNumericScale,put=PutNumericScale))
  1190. unsigned char NumericScale;
  1191. __declspec(property(get=GetSize,put=PutSize))
  1192. long Size;
  1193. __declspec(property(get=GetAttributes,put=PutAttributes))
  1194. long Attributes;
  1195. //
  1196. // Wrapper methods for error-handling
  1197. //
  1198. _bstr_t GetName ( );
  1199. void PutName (
  1200. _bstr_t pbstr );
  1201. _variant_t GetValue ( );
  1202. void PutValue (
  1203. const _variant_t & pvar );
  1204. enum DataTypeEnum GetType ( );
  1205. void PutType (
  1206. enum DataTypeEnum psDataType );
  1207. void PutDirection (
  1208. enum ParameterDirectionEnum plParmDirection );
  1209. enum ParameterDirectionEnum GetDirection ( );
  1210. void PutPrecision (
  1211. unsigned char pbPrecision );
  1212. unsigned char GetPrecision ( );
  1213. void PutNumericScale (
  1214. unsigned char pbScale );
  1215. unsigned char GetNumericScale ( );
  1216. void PutSize (
  1217. long pl );
  1218. long GetSize ( );
  1219. HRESULT AppendChunk (
  1220. const _variant_t & Val );
  1221. long GetAttributes ( );
  1222. void PutAttributes (
  1223. long plParmAttribs );
  1224. //
  1225. // Raw methods provided by interface
  1226. //
  1227. virtual HRESULT __stdcall get_Name (
  1228. BSTR * pbstr ) = 0;
  1229. virtual HRESULT __stdcall put_Name (
  1230. BSTR pbstr ) = 0;
  1231. virtual HRESULT __stdcall get_Value (
  1232. VARIANT * pvar ) = 0;
  1233. virtual HRESULT __stdcall put_Value (
  1234. VARIANT pvar ) = 0;
  1235. virtual HRESULT __stdcall get_Type (
  1236. enum DataTypeEnum * psDataType ) = 0;
  1237. virtual HRESULT __stdcall put_Type (
  1238. enum DataTypeEnum psDataType ) = 0;
  1239. virtual HRESULT __stdcall put_Direction (
  1240. enum ParameterDirectionEnum plParmDirection ) = 0;
  1241. virtual HRESULT __stdcall get_Direction (
  1242. enum ParameterDirectionEnum * plParmDirection ) = 0;
  1243. virtual HRESULT __stdcall put_Precision (
  1244. unsigned char pbPrecision ) = 0;
  1245. virtual HRESULT __stdcall get_Precision (
  1246. unsigned char * pbPrecision ) = 0;
  1247. virtual HRESULT __stdcall put_NumericScale (
  1248. unsigned char pbScale ) = 0;
  1249. virtual HRESULT __stdcall get_NumericScale (
  1250. unsigned char * pbScale ) = 0;
  1251. virtual HRESULT __stdcall put_Size (
  1252. long pl ) = 0;
  1253. virtual HRESULT __stdcall get_Size (
  1254. long * pl ) = 0;
  1255. virtual HRESULT __stdcall raw_AppendChunk (
  1256. VARIANT Val ) = 0;
  1257. virtual HRESULT __stdcall get_Attributes (
  1258. long * plParmAttribs ) = 0;
  1259. virtual HRESULT __stdcall put_Attributes (
  1260. long plParmAttribs ) = 0;
  1261. };
  1262. struct __declspec(uuid("0000050d-0000-0010-8000-00aa006d2ea4"))
  1263. Parameters : _DynaCollection
  1264. {
  1265. //
  1266. // Property data
  1267. //
  1268. __declspec(property(get=GetItem))
  1269. _ParameterPtr Item[];
  1270. //
  1271. // Wrapper methods for error-handling
  1272. //
  1273. _ParameterPtr GetItem (
  1274. const _variant_t & Index );
  1275. //
  1276. // Raw methods provided by interface
  1277. //
  1278. virtual HRESULT __stdcall get_Item (
  1279. VARIANT Index,
  1280. struct _Parameter * * ppvObject ) = 0;
  1281. };
  1282. struct __declspec(uuid("00000516-0000-0010-8000-00aa006d2ea4"))
  1283. ADOConnectionConstruction : IUnknown
  1284. {
  1285. //
  1286. // Property data
  1287. //
  1288. __declspec(property(get=GetDSO))
  1289. IUnknownPtr DSO;
  1290. __declspec(property(get=GetSession))
  1291. IUnknownPtr Session;
  1292. //
  1293. // Wrapper methods for error-handling
  1294. //
  1295. IUnknownPtr GetDSO ( );
  1296. IUnknownPtr GetSession ( );
  1297. //
  1298. // Raw methods provided by interface
  1299. //
  1300. virtual HRESULT __stdcall get_DSO (
  1301. IUnknown * * ppDSO ) = 0;
  1302. virtual HRESULT __stdcall get_Session (
  1303. IUnknown * * ppSession ) = 0;
  1304. };
  1305. struct __declspec(uuid("00000514-0000-0010-8000-00aa006d2ea4"))
  1306. Connection;
  1307. // [ default ] interface _Connection
  1308. struct __declspec(uuid("00000507-0000-0010-8000-00aa006d2ea4"))
  1309. Command;
  1310. // [ default ] interface _Command
  1311. struct __declspec(uuid("00000535-0000-0010-8000-00aa006d2ea4"))
  1312. Recordset;
  1313. // [ default ] interface _Recordset
  1314. struct __declspec(uuid("00000283-0000-0010-8000-00aa006d2ea4"))
  1315. ADORecordsetConstruction : IDispatch
  1316. {
  1317. //
  1318. // Property data
  1319. //
  1320. __declspec(property(get=GetRowset,put=PutRowset))
  1321. IUnknownPtr Rowset;
  1322. __declspec(property(get=GetChapter,put=PutChapter))
  1323. long Chapter;
  1324. __declspec(property(get=GetRowPosition,put=PutRowPosition))
  1325. IUnknownPtr RowPosition;
  1326. //
  1327. // Wrapper methods for error-handling
  1328. //
  1329. IUnknownPtr GetRowset ( );
  1330. void PutRowset (
  1331. IUnknown * ppRowset );
  1332. long GetChapter ( );
  1333. void PutChapter (
  1334. long plChapter );
  1335. IUnknownPtr GetRowPosition ( );
  1336. void PutRowPosition (
  1337. IUnknown * ppRowPos );
  1338. //
  1339. // Raw methods provided by interface
  1340. //
  1341. virtual HRESULT __stdcall get_Rowset (
  1342. IUnknown * * ppRowset ) = 0;
  1343. virtual HRESULT __stdcall put_Rowset (
  1344. IUnknown * ppRowset ) = 0;
  1345. virtual HRESULT __stdcall get_Chapter (
  1346. long * plChapter ) = 0;
  1347. virtual HRESULT __stdcall put_Chapter (
  1348. long plChapter ) = 0;
  1349. virtual HRESULT __stdcall get_RowPosition (
  1350. IUnknown * * ppRowPos ) = 0;
  1351. virtual HRESULT __stdcall put_RowPosition (
  1352. IUnknown * ppRowPos ) = 0;
  1353. };
  1354. struct __declspec(uuid("0000050b-0000-0010-8000-00aa006d2ea4"))
  1355. Parameter;
  1356. // [ default ] interface _Parameter
  1357. //
  1358. // Wrapper method implementations
  1359. //
  1360. #include "msado15.tli"
  1361. #pragma pack(pop)