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.

2088 lines
67 KiB

  1. //-----------------------------------------------------------------------------
  2. // File: msado15.idl
  3. //
  4. // Copyright: Copyright (c) Microsoft Corporation
  5. //
  6. // Contents:
  7. //
  8. //
  9. // Comments: ADO interface definitions for inclusion in .IDL files
  10. //
  11. //-----------------------------------------------------------------------------
  12. #ifndef DO_NO_IMPORTS
  13. import "oaidl.idl";
  14. #endif
  15. midl_pragma warning (disable: 2400)
  16. interface _Collection;
  17. interface _DynaCollection;
  18. interface _ADO;
  19. interface Properties;
  20. interface Property;
  21. interface Error;
  22. interface Errors;
  23. interface _Command;
  24. interface Command25;
  25. interface Command15;
  26. interface _Connection;
  27. interface Connection15;
  28. interface _Recordset;
  29. interface Recordset21;
  30. interface Recordset20;
  31. interface Recordset15;
  32. interface _Record;
  33. interface _Stream;
  34. interface Fields;
  35. interface Fields20;
  36. interface Fields15;
  37. interface Field;
  38. interface Field20;
  39. interface Field15;
  40. interface _Parameter;
  41. interface Parameters;
  42. interface ADODebugging;
  43. interface ConnectionEventsVt;
  44. interface RecordsetEventsVt;
  45. dispinterface ConnectionEvents;
  46. dispinterface RecordsetEvents;
  47. interface ADOConnectionConstruction;
  48. interface ADOCommandConstruction;
  49. interface ADORecordsetConstruction;
  50. #ifdef _WIN64
  51. typedef
  52. [
  53. public,
  54. uuid(54D8B4B9-663B-4a9c-95F6-0E749ABD70F1),
  55. ]
  56. __int64 ADO_LONGPTR;
  57. #else
  58. typedef
  59. [
  60. public,
  61. uuid(54D8B4B9-663B-4a9c-95F6-0E749ABD70F1),
  62. ]
  63. long ADO_LONGPTR;
  64. #endif
  65. typedef [uuid(0000051B-0000-0010-8000-00AA006D2EA4)]
  66. enum {
  67. adOpenUnspecified = -1,
  68. adOpenForwardOnly = 0,
  69. adOpenKeyset = 1,
  70. adOpenDynamic = 2,
  71. adOpenStatic = 3
  72. } CursorTypeEnum;
  73. typedef [uuid(0000051C-0000-0010-8000-00AA006D2EA4)]
  74. enum {
  75. adHoldRecords = 256,
  76. adMovePrevious = 512,
  77. adAddNew = 16778240,
  78. adDelete = 16779264,
  79. adUpdate = 16809984,
  80. adBookmark = 8192,
  81. adApproxPosition = 16384,
  82. adUpdateBatch = 65536,
  83. adResync = 131072,
  84. adNotify = 262144,
  85. adFind = 524288,
  86. adSeek = 4194304,
  87. adIndex = 8388608
  88. } CursorOptionEnum;
  89. typedef [uuid(0000051D-0000-0010-8000-00AA006D2EA4)]
  90. enum {
  91. adLockUnspecified = -1,
  92. adLockReadOnly = 1,
  93. adLockPessimistic = 2,
  94. adLockOptimistic = 3,
  95. adLockBatchOptimistic = 4
  96. } LockTypeEnum;
  97. typedef [uuid(0000051E-0000-0010-8000-00AA006D2EA4)]
  98. enum {
  99. adOptionUnspecified = -1,
  100. adAsyncExecute = 16,
  101. adAsyncFetch = 32,
  102. adAsyncFetchNonBlocking = 64,
  103. adExecuteNoRecords = 128,
  104. adExecuteStream = 1024,
  105. [hidden] adExecuteRecord = 2048
  106. } ExecuteOptionEnum;
  107. typedef [uuid(00000541-0000-0010-8000-00AA006D2EA4)]
  108. enum {
  109. adConnectUnspecified = -1,
  110. adAsyncConnect = 16
  111. } ConnectOptionEnum;
  112. typedef [uuid(00000532-0000-0010-8000-00AA006D2EA4)]
  113. enum {
  114. adStateClosed = 0,
  115. adStateOpen = 1,
  116. adStateConnecting = 2,
  117. adStateExecuting = 4,
  118. adStateFetching = 8
  119. } ObjectStateEnum;
  120. typedef [uuid(0000052F-0000-0010-8000-00AA006D2EA4)]
  121. enum {
  122. adUseNone = 1,
  123. adUseServer = 2,
  124. adUseClient = 3,
  125. adUseClientBatch = 3
  126. } CursorLocationEnum;
  127. typedef [uuid(0000051F-0000-0010-8000-00AA006D2EA4)]
  128. enum {
  129. adEmpty = 0,
  130. adTinyInt = 16,
  131. adSmallInt = 2,
  132. adInteger = 3,
  133. adBigInt = 20,
  134. adUnsignedTinyInt = 17,
  135. adUnsignedSmallInt = 18,
  136. adUnsignedInt = 19,
  137. adUnsignedBigInt = 21,
  138. adSingle = 4,
  139. adDouble = 5,
  140. adCurrency = 6,
  141. adDecimal = 14,
  142. adNumeric = 131,
  143. adBoolean = 11,
  144. adError = 10,
  145. adUserDefined = 132,
  146. adVariant = 12,
  147. adIDispatch = 9,
  148. adIUnknown = 13,
  149. adGUID = 72,
  150. adDate = 7,
  151. adDBDate = 133,
  152. adDBTime = 134,
  153. adDBTimeStamp = 135,
  154. adBSTR = 8,
  155. adChar = 129,
  156. adVarChar = 200,
  157. adLongVarChar = 201,
  158. adWChar = 130,
  159. adVarWChar = 202,
  160. adLongVarWChar = 203,
  161. adBinary = 128,
  162. adVarBinary = 204,
  163. adLongVarBinary = 205,
  164. adChapter = 136,
  165. adFileTime = 64,
  166. adPropVariant = 138,
  167. adVarNumeric = 139,
  168. adArray = 0x2000
  169. } DataTypeEnum;
  170. typedef [uuid(00000525-0000-0010-8000-00AA006D2EA4)]
  171. enum {
  172. adFldUnspecified = -1,
  173. adFldMayDefer = 0x00000002,
  174. adFldUpdatable = 0x00000004,
  175. adFldUnknownUpdatable = 0x00000008,
  176. adFldFixed = 0x00000010,
  177. adFldIsNullable = 0x00000020,
  178. adFldMayBeNull = 0x00000040,
  179. adFldLong = 0x00000080,
  180. adFldRowID = 0x00000100,
  181. adFldRowVersion = 0x00000200,
  182. adFldCacheDeferred = 0x00001000,
  183. adFldIsChapter = 0x00002000,
  184. adFldNegativeScale = 0x00004000,
  185. adFldKeyColumn = 0x00008000,
  186. adFldIsRowURL = 0x00010000,
  187. adFldIsDefaultStream = 0x00020000,
  188. adFldIsCollection = 0x00040000
  189. } FieldAttributeEnum;
  190. typedef [uuid(00000526-0000-0010-8000-00AA006D2EA4)]
  191. enum {
  192. adEditNone = 0,
  193. adEditInProgress = 1,
  194. adEditAdd = 2,
  195. adEditDelete = 4
  196. } EditModeEnum;
  197. typedef [uuid(00000527-0000-0010-8000-00AA006D2EA4)]
  198. enum {
  199. adRecOK = 0,
  200. adRecNew = 1,
  201. adRecModified = 2,
  202. adRecDeleted = 4,
  203. adRecUnmodified = 8,
  204. adRecInvalid = 16,
  205. adRecMultipleChanges = 64,
  206. adRecPendingChanges = 128,
  207. adRecCanceled = 256,
  208. adRecCantRelease = 1024,
  209. adRecConcurrencyViolation = 2048,
  210. adRecIntegrityViolation = 4096,
  211. adRecMaxChangesExceeded = 8192,
  212. adRecObjectOpen = 16384,
  213. adRecOutOfMemory = 32768,
  214. adRecPermissionDenied = 65536,
  215. adRecSchemaViolation = 131072,
  216. adRecDBDeleted = 262144
  217. } RecordStatusEnum;
  218. typedef [uuid(00000542-0000-0010-8000-00AA006D2EA4)]
  219. enum {
  220. adGetRowsRest = -1
  221. } GetRowsOptionEnum;
  222. typedef [uuid(00000528-0000-0010-8000-00AA006D2EA4)]
  223. enum {
  224. adPosUnknown = -1,
  225. adPosBOF = -2,
  226. adPosEOF = -3
  227. } PositionEnum;
  228. #ifdef _WIN64
  229. typedef
  230. [
  231. public,
  232. uuid(A56187C5-D690-4037-AE32-A00EDC376AC3),
  233. ]
  234. ADO_LONGPTR PositionEnum_Param;
  235. #else
  236. typedef
  237. [
  238. public,
  239. uuid(A56187C5-D690-4037-AE32-A00EDC376AC3),
  240. ]
  241. PositionEnum PositionEnum_Param;
  242. #endif
  243. typedef enum {
  244. adBookmarkCurrent = 0,
  245. adBookmarkFirst = 1,
  246. adBookmarkLast = 2
  247. } BookmarkEnum;
  248. typedef [uuid(00000540-0000-0010-8000-00AA006D2EA4)]
  249. enum {
  250. adMarshalAll = 0,
  251. adMarshalModifiedOnly = 1
  252. } MarshalOptionsEnum;
  253. typedef [uuid(00000543-0000-0010-8000-00AA006D2EA4)]
  254. enum {
  255. adAffectCurrent = 1,
  256. adAffectGroup = 2,
  257. adAffectAll = 3,
  258. adAffectAllChapters = 4
  259. } AffectEnum;
  260. typedef [uuid(00000544-0000-0010-8000-00AA006D2EA4)]
  261. enum {
  262. adResyncUnderlyingValues = 1,
  263. adResyncAllValues = 2
  264. } ResyncEnum;
  265. typedef [uuid(00000545-0000-0010-8000-00AA006D2EA4)]
  266. enum {
  267. adCompareLessThan = 0,
  268. adCompareEqual = 1,
  269. adCompareGreaterThan = 2,
  270. adCompareNotEqual = 3,
  271. adCompareNotComparable = 4
  272. } CompareEnum;
  273. typedef [uuid(00000546-0000-0010-8000-00AA006D2EA4)]
  274. enum {
  275. adFilterNone = 0,
  276. adFilterPendingRecords = 1,
  277. adFilterAffectedRecords = 2,
  278. adFilterFetchedRecords = 3,
  279. adFilterPredicate = 4,
  280. adFilterConflictingRecords = 5
  281. } FilterGroupEnum;
  282. typedef [uuid(00000547-0000-0010-8000-00AA006D2EA4)]
  283. enum {
  284. adSearchForward = 1,
  285. adSearchBackward = -1
  286. } SearchDirectionEnum;
  287. typedef [public]
  288. SearchDirectionEnum SearchDirection;
  289. typedef [uuid(00000548-0000-0010-8000-00AA006D2EA4)]
  290. enum {
  291. adPersistADTG = 0,
  292. adPersistXML = 1
  293. } PersistFormatEnum;
  294. typedef [uuid(00000549-0000-0010-8000-00AA006D2EA4)]
  295. enum {
  296. adClipString = 2
  297. } StringFormatEnum;
  298. typedef [uuid(00000520-0000-0010-8000-00AA006D2EA4)]
  299. enum {
  300. adPromptAlways = 1,
  301. adPromptComplete = 2,
  302. adPromptCompleteRequired = 3,
  303. adPromptNever = 4
  304. } ConnectPromptEnum;
  305. typedef [uuid(00000521-0000-0010-8000-00AA006D2EA4)]
  306. enum {
  307. adModeUnknown = 0,
  308. adModeRead = 1,
  309. adModeWrite = 2,
  310. adModeReadWrite = 3,
  311. adModeShareDenyRead = 4,
  312. adModeShareDenyWrite = 8,
  313. adModeShareExclusive = 12,
  314. adModeShareDenyNone = 16,
  315. adModeRecursive =4194304
  316. } ConnectModeEnum;
  317. typedef [uuid(00000523-0000-0010-8000-00AA006D2EA4)]
  318. enum {
  319. adXactUnspecified = -1,
  320. adXactChaos = 16,
  321. adXactReadUncommitted = 256,
  322. adXactBrowse = 256,
  323. adXactCursorStability = 4096,
  324. adXactReadCommitted = 4096,
  325. adXactRepeatableRead = 65536,
  326. adXactSerializable = 1048576,
  327. adXactIsolated = 1048576
  328. } IsolationLevelEnum;
  329. typedef [uuid(00000524-0000-0010-8000-00AA006D2EA4)]
  330. enum {
  331. adXactCommitRetaining = 131072,
  332. adXactAbortRetaining = 262144,
  333. adXactAsyncPhaseOne = 524288,
  334. adXactSyncPhaseOne = 1048576
  335. } XactAttributeEnum;
  336. typedef [uuid(00000529-0000-0010-8000-00AA006D2EA4)]
  337. enum {
  338. adPropNotSupported = 0,
  339. adPropRequired = 1,
  340. adPropOptional = 2,
  341. adPropRead = 512,
  342. adPropWrite = 1024
  343. } PropertyAttributesEnum;
  344. typedef [uuid(0000052A-0000-0010-8000-00AA006D2EA4)]
  345. enum {
  346. adErrInvalidArgument = 3001,
  347. adErrOpeningFile = 3002,
  348. adErrReadFile = 3003,
  349. adErrWriteFile = 3004,
  350. adErrNoCurrentRecord = 3021,
  351. adErrIllegalOperation = 3219,
  352. adErrCantChangeProvider = 3220,
  353. adErrInTransaction = 3246,
  354. adErrFeatureNotAvailable = 3251,
  355. adErrItemNotFound = 3265,
  356. adErrObjectInCollection = 3367,
  357. adErrObjectNotSet = 3420,
  358. adErrDataConversion = 3421,
  359. adErrObjectClosed = 3704,
  360. adErrObjectOpen = 3705,
  361. adErrProviderNotFound = 3706,
  362. adErrBoundToCommand = 3707,
  363. adErrInvalidParamInfo = 3708,
  364. adErrInvalidConnection = 3709,
  365. adErrNotReentrant = 3710,
  366. adErrStillExecuting = 3711,
  367. adErrOperationCancelled = 3712,
  368. adErrStillConnecting = 3713,
  369. adErrInvalidTransaction = 3714,
  370. adErrNotExecuting = 3715,
  371. adErrUnsafeOperation = 3716,
  372. adWrnSecurityDialog = 3717,
  373. adWrnSecurityDialogHeader = 3718,
  374. adErrIntegrityViolation = 3719,
  375. adErrPermissionDenied = 3720,
  376. adErrDataOverflow = 3721,
  377. adErrSchemaViolation = 3722,
  378. adErrSignMismatch = 3723,
  379. adErrCantConvertvalue = 3724,
  380. adErrCantCreate = 3725,
  381. adErrColumnNotOnThisRow = 3726,
  382. //adErrURLIntegrViolSetColumns =3727,
  383. adErrURLDoesNotExist =3727,
  384. adErrTreePermissionDenied = 3728,
  385. adErrInvalidURL = 3729,
  386. adErrResourceLocked =3730,
  387. adErrResourceExists =3731,
  388. adErrCannotComplete = 3732,
  389. adErrVolumeNotFound = 3733,
  390. adErrOutOfSpace =3734,
  391. adErrResourceOutOfScope =3735,
  392. adErrUnavailable =3736,
  393. adErrURLNamedRowDoesNotExist = 3737,
  394. adErrDelResOutOfScope = 3738,
  395. adErrPropInvalidColumn = 3739,
  396. adErrPropInvalidOption = 3740,
  397. adErrPropInvalidValue =3741,
  398. adErrPropConflicting = 3742,
  399. adErrPropNotAllSettable = 3743,
  400. adErrPropNotSet =3744,
  401. adErrPropNotSettable =3745,
  402. adErrPropNotSupported = 3746,
  403. adErrCatalogNotSet = 3747,
  404. adErrCantChangeConnection = 3748,
  405. adErrFieldsUpdateFailed = 3749,
  406. adErrDenyNotSupported = 3750,
  407. adErrDenyTypeNotSupported = 3751,
  408. adErrProviderNotSpecified = 3753
  409. } ErrorValueEnum;
  410. typedef [uuid(0000052B-0000-0010-8000-00AA006D2EA4)]
  411. enum {
  412. adParamSigned = 16,
  413. adParamNullable = 64,
  414. adParamLong = 128
  415. } ParameterAttributesEnum;
  416. typedef [uuid(0000052C-0000-0010-8000-00AA006D2EA4)]
  417. enum {
  418. adParamUnknown = 0,
  419. adParamInput = 1,
  420. adParamOutput = 2,
  421. adParamInputOutput = 3,
  422. adParamReturnValue = 4
  423. } ParameterDirectionEnum;
  424. typedef [uuid(0000052E-0000-0010-8000-00AA006D2EA4)]
  425. enum {
  426. adCmdUnspecified = -1,
  427. adCmdUnknown = 8,
  428. adCmdText = 1,
  429. adCmdTable = 2,
  430. adCmdStoredProc = 4,
  431. adCmdFile = 256,
  432. adCmdTableDirect = 512
  433. } CommandTypeEnum;
  434. typedef [uuid(00000530-0000-0010-8000-00AA006D2EA4)]
  435. enum {
  436. adStatusOK = 1,
  437. adStatusErrorsOccurred = 2,
  438. adStatusCantDeny = 3,
  439. adStatusCancel = 4,
  440. adStatusUnwantedEvent = 5
  441. } EventStatusEnum;
  442. typedef [uuid(00000531-0000-0010-8000-00AA006D2EA4)]
  443. enum {
  444. adRsnAddNew = 1,
  445. adRsnDelete = 2,
  446. adRsnUpdate = 3,
  447. adRsnUndoUpdate = 4,
  448. adRsnUndoAddNew = 5,
  449. adRsnUndoDelete = 6,
  450. adRsnRequery = 7,
  451. adRsnResynch = 8,
  452. adRsnClose = 9,
  453. adRsnMove = 10,
  454. adRsnFirstChange = 11,
  455. adRsnMoveFirst = 12,
  456. adRsnMoveNext = 13,
  457. adRsnMovePrevious = 14,
  458. adRsnMoveLast = 15
  459. } EventReasonEnum;
  460. typedef [uuid(00000533-0000-0010-8000-00AA006D2EA4)]
  461. enum {
  462. adSchemaProviderSpecific = -1,
  463. adSchemaAsserts = 0,
  464. adSchemaCatalogs = 1,
  465. adSchemaCharacterSets = 2,
  466. adSchemaCollations = 3,
  467. adSchemaColumns = 4,
  468. adSchemaCheckConstraints = 5,
  469. adSchemaConstraintColumnUsage = 6,
  470. adSchemaConstraintTableUsage = 7,
  471. adSchemaKeyColumnUsage = 8,
  472. [hidden] adSchemaReferentialContraints = 9,
  473. adSchemaReferentialConstraints = 9,
  474. adSchemaTableConstraints = 10,
  475. adSchemaColumnsDomainUsage = 11,
  476. adSchemaIndexes = 12,
  477. adSchemaColumnPrivileges = 13,
  478. adSchemaTablePrivileges = 14,
  479. adSchemaUsagePrivileges = 15,
  480. adSchemaProcedures = 16,
  481. adSchemaSchemata = 17,
  482. adSchemaSQLLanguages = 18,
  483. adSchemaStatistics = 19,
  484. adSchemaTables = 20,
  485. adSchemaTranslations = 21,
  486. adSchemaProviderTypes = 22,
  487. adSchemaViews = 23,
  488. adSchemaViewColumnUsage = 24,
  489. adSchemaViewTableUsage = 25,
  490. adSchemaProcedureParameters = 26,
  491. adSchemaForeignKeys = 27,
  492. adSchemaPrimaryKeys = 28,
  493. adSchemaProcedureColumns = 29,
  494. adSchemaDBInfoKeywords = 30,
  495. adSchemaDBInfoLiterals = 31,
  496. adSchemaCubes = 32,
  497. adSchemaDimensions = 33,
  498. adSchemaHierarchies = 34,
  499. adSchemaLevels = 35,
  500. adSchemaMeasures = 36,
  501. adSchemaProperties = 37,
  502. adSchemaMembers = 38,
  503. adSchemaTrustees = 39,
  504. adSchemaFunctions = 40,
  505. adSchemaActions = 41,
  506. adSchemaCommands = 42,
  507. adSchemaSets = 43
  508. } SchemaEnum;
  509. typedef [uuid(00000552-0000-0010-8000-00AA006D2EA4)]
  510. enum {
  511. adSeekFirstEQ = 1,
  512. adSeekLastEQ = 2,
  513. adSeekAfterEQ = 4,
  514. adSeekAfter = 8,
  515. adSeekBeforeEQ = 16,
  516. adSeekBefore = 32
  517. } SeekEnum;
  518. typedef [uuid(0000054A-0000-0010-8000-00AA006D2EA4)]
  519. enum {
  520. adCriteriaKey = 0,
  521. adCriteriaAllCols = 1,
  522. adCriteriaUpdCols = 2,
  523. adCriteriaTimeStamp = 3
  524. } ADCPROP_UPDATECRITERIA_ENUM;
  525. typedef [uuid(0000054B-0000-0010-8000-00AA006D2EA4)]
  526. enum {
  527. adPriorityLowest = 1,
  528. adPriorityBelowNormal = 2,
  529. adPriorityNormal = 3,
  530. adPriorityAboveNormal = 4,
  531. adPriorityHighest = 5
  532. } ADCPROP_ASYNCTHREADPRIORITY_ENUM;
  533. typedef [uuid(00000553-0000-0010-8000-00AA006D2EA4)]
  534. enum {
  535. adResyncNone = 0,
  536. adResyncAutoIncrement = 1,
  537. adResyncConflicts = 2,
  538. adResyncUpdates = 4,
  539. adResyncInserts = 8,
  540. adResyncAll = 15
  541. } CEResyncEnum;
  542. typedef [uuid(00000554-0000-0010-8000-00AA006D2EA4)]
  543. enum {
  544. adRecalcUpFront = 0,
  545. adRecalcAlways = 1
  546. } ADCPROP_AUTORECALC_ENUM;
  547. // Field states
  548. typedef [uuid(0000057E-0000-0010-8000-00AA006D2EA4)]
  549. enum FieldStatusEnum
  550. {
  551. adFieldOK = 0,
  552. adFieldCantConvertValue = 2,
  553. adFieldIsNull = 3,
  554. adFieldTruncated = 4,
  555. adFieldSignMismatch = 5,
  556. adFieldDataOverflow = 6,
  557. adFieldCantCreate = 7,
  558. adFieldUnavailable = 8,
  559. adFieldPermissionDenied = 9,
  560. adFieldIntegrityViolation = 10,
  561. adFieldSchemaViolation = 11,
  562. adFieldBadStatus = 12,
  563. adFieldDefault = 13,
  564. adFieldIgnore = 15,
  565. adFieldDoesNotExist = 16, //(&H10)
  566. adFieldInvalidURL = 17, //(&H11)
  567. adFieldResourceLocked = 18, //(&H12)
  568. adFieldResourceExists = 19, //(&H13)
  569. adFieldCannotComplete = 20, //(&H14)
  570. adFieldVolumeNotFound = 21, //(&H15)
  571. adFieldOutOfSpace = 22, //(&H16)
  572. adFieldCannotDeleteSource = 23, //(&H17)
  573. adFieldReadOnly = 24, //(&H18)
  574. adFieldResourceOutOfScope = 25, //(&H19)
  575. adFieldAlreadyExists = 26, //(&H1A)
  576. adFieldPendingInsert = 0x10000,
  577. adFieldPendingDelete = 0x20000,
  578. adFieldPendingChange = 0x40000,
  579. adFieldPendingUnknown = 0x80000,
  580. adFieldPendingUnknownDelete = 0x100000
  581. }
  582. FieldStatusEnum;
  583. typedef [uuid(00000570-0000-0010-8000-00AA006D2EA4)]
  584. enum {
  585. adCreateCollection = 0x00002000,
  586. adCreateStructDoc = 0x80000000,
  587. adCreateNonCollection = 0x00000000,
  588. adOpenIfExists = 0x02000000,
  589. adCreateOverwrite = 0x04000000,
  590. adFailIfNotExists = -1
  591. } RecordCreateOptionsEnum;
  592. typedef [uuid(00000571-0000-0010-8000-00AA006D2EA4)]
  593. enum {
  594. adOpenRecordUnspecified = -1,
  595. [hidden]adOpenSource = 0x00800000,
  596. adOpenOutput = 0x00800000,
  597. adOpenAsync = 0x00001000,
  598. adDelayFetchStream = 0x00004000,
  599. adDelayFetchFields = 0x00008000,
  600. adOpenExecuteCommand = 0x00010000
  601. } RecordOpenOptionsEnum;
  602. typedef [uuid(00000573-0000-0010-8000-00AA006D2EA4)]
  603. enum {
  604. adMoveUnspecified = -1,
  605. adMoveOverWrite = 1,
  606. adMoveDontUpdateLinks = 2,
  607. adMoveAllowEmulation = 4
  608. } MoveRecordOptionsEnum;
  609. typedef [uuid(00000574-0000-0010-8000-00AA006D2EA4)]
  610. enum {
  611. adCopyUnspecified = -1,
  612. adCopyOverWrite = 1,
  613. adCopyAllowEmulation = 4,
  614. adCopyNonRecursive = 2
  615. } CopyRecordOptionsEnum;
  616. typedef [uuid(00000576-0000-0010-8000-00AA006D2EA4)]
  617. enum {
  618. adTypeBinary = 1,
  619. adTypeText = 2
  620. } StreamTypeEnum;
  621. typedef [uuid(00000577-0000-0010-8000-00AA006D2EA4)]
  622. enum {
  623. adLF = 10,
  624. adCR = 13,
  625. adCRLF = -1
  626. } LineSeparatorEnum;
  627. typedef [uuid(0000057A-0000-0010-8000-00AA006D2EA4)]
  628. enum {
  629. adOpenStreamUnspecified = -1,
  630. adOpenStreamAsync = 1,
  631. adOpenStreamFromRecord = 4
  632. #ifdef ADOSTREAMFROMCMD
  633. ,
  634. adOpenStreamFromCommand = 8
  635. #endif //ADOSTREAMFROMCMD
  636. } StreamOpenOptionsEnum;
  637. typedef [uuid(0000057B-0000-0010-8000-00AA006D2EA4)]
  638. enum
  639. {
  640. adWriteChar = 0,
  641. adWriteLine = 1
  642. }
  643. StreamWriteEnum;
  644. typedef [uuid(0000057C-0000-0010-8000-00AA006D2EA4)]
  645. enum
  646. {
  647. adSaveCreateNotExist = 1,
  648. adSaveCreateOverWrite = 2
  649. }
  650. SaveOptionsEnum;
  651. // Special Fields
  652. typedef enum
  653. {
  654. adDefaultStream = -1,
  655. adRecordURL = -2
  656. }
  657. FieldEnum;
  658. // stream read options
  659. typedef enum
  660. {
  661. adReadAll = -1,
  662. adReadLine = -2
  663. }
  664. StreamReadEnum;
  665. typedef [uuid(0000057D-0000-0010-8000-00AA006D2EA4)]
  666. enum
  667. {
  668. adSimpleRecord = 0,
  669. adCollectionRecord = 1,
  670. adStructDoc = 2
  671. }
  672. RecordTypeEnum;
  673. [
  674. odl,
  675. uuid(00000512-0000-0010-8000-00AA006D2EA4),
  676. dual,
  677. nonextensible,
  678. oleautomation
  679. ]
  680. interface _Collection : IDispatch {
  681. [id(0x60020000), propget]
  682. HRESULT _stdcall Count([out, retval] long* c);
  683. [id(0xfffffffc), restricted]
  684. HRESULT _stdcall _NewEnum([out, retval] IUnknown** ppvObject);
  685. [id(0x60020002)]
  686. HRESULT _stdcall Refresh();
  687. };
  688. [
  689. odl,
  690. uuid(00000513-0000-0010-8000-00AA006D2EA4),
  691. dual,
  692. nonextensible,
  693. oleautomation
  694. ]
  695. interface _DynaCollection : _Collection {
  696. [id(0x60030000)]
  697. HRESULT _stdcall Append([in] IDispatch* Object);
  698. [id(0x60030001)]
  699. HRESULT _stdcall Delete([in] VARIANT Index);
  700. };
  701. [
  702. odl,
  703. uuid(00000534-0000-0010-8000-00AA006D2EA4),
  704. dual,
  705. nonextensible,
  706. oleautomation
  707. ]
  708. interface _ADO : IDispatch {
  709. [id(0x000001f4), propget]
  710. HRESULT _stdcall Properties([out, retval] Properties** ppvObject);
  711. };
  712. [
  713. odl,
  714. uuid(00000504-0000-0010-8000-00AA006D2EA4),
  715. dual,
  716. nonextensible,
  717. oleautomation
  718. ]
  719. interface Properties : _Collection {
  720. [id(00000000), propget]
  721. HRESULT _stdcall Item(
  722. [in] VARIANT Index,
  723. [out, retval] Property** ppvObject);
  724. };
  725. [
  726. odl,
  727. uuid(00000503-0000-0010-8000-00AA006D2EA4),
  728. dual,
  729. nonextensible,
  730. oleautomation
  731. ]
  732. interface Property : IDispatch {
  733. [id(00000000), propget]
  734. HRESULT _stdcall Value([out, retval] VARIANT* pval);
  735. [id(00000000), propput]
  736. HRESULT _stdcall Value([in] VARIANT pval);
  737. [id(0x60020002), propget]
  738. HRESULT _stdcall Name([out, retval] BSTR* pbstr);
  739. [id(0x60020003), propget]
  740. HRESULT _stdcall Type([out, retval] DataTypeEnum* ptype);
  741. [id(0x60020004), propget]
  742. HRESULT _stdcall Attributes([out, retval] long* plAttributes);
  743. [id(0x60020004), propput]
  744. HRESULT _stdcall Attributes([in] long plAttributes);
  745. };
  746. [
  747. odl,
  748. uuid(00000500-0000-0010-8000-00AA006D2EA4),
  749. dual,
  750. nonextensible,
  751. oleautomation
  752. ]
  753. interface Error : IDispatch {
  754. [id(0x60020000), propget]
  755. HRESULT _stdcall Number([out, retval] long* pl);
  756. [id(0x60020001), propget]
  757. HRESULT _stdcall Source([out, retval] BSTR* pbstr);
  758. [id(00000000), propget]
  759. HRESULT _stdcall Description([out, retval] BSTR* pbstr);
  760. [id(0x60020003), propget]
  761. HRESULT _stdcall HelpFile([out, retval] BSTR* pbstr);
  762. [id(0x60020004), propget]
  763. HRESULT _stdcall HelpContext([out, retval] long* pl);
  764. [id(0x60020005), propget]
  765. HRESULT _stdcall SQLState([out, retval] BSTR* pbstr);
  766. [id(0x60020006), propget]
  767. HRESULT _stdcall NativeError([out, retval] long* pl);
  768. };
  769. [
  770. odl,
  771. uuid(00000501-0000-0010-8000-00AA006D2EA4),
  772. dual,
  773. nonextensible,
  774. oleautomation
  775. ]
  776. interface Errors : _Collection {
  777. [id(00000000), propget]
  778. HRESULT _stdcall Item(
  779. [in] VARIANT Index,
  780. [out, retval] Error** ppvObject);
  781. [id(0x60030001)]
  782. HRESULT _stdcall Clear();
  783. };
  784. [
  785. odl,
  786. uuid(00000508-0000-0010-8000-00AA006D2EA4),
  787. dual,
  788. nonextensible,
  789. oleautomation
  790. ]
  791. interface Command15 : _ADO {
  792. [id(0x60030000), propget]
  793. HRESULT _stdcall ActiveConnection([out, retval] _Connection** ppvObject);
  794. [id(0x60030000), propputref]
  795. HRESULT _stdcall ActiveConnection([in] _Connection* ppvObject);
  796. [id(0x60030000), propput]
  797. HRESULT _stdcall ActiveConnection([in] VARIANT ppvObject);
  798. [id(0x60030003), propget]
  799. HRESULT _stdcall CommandText([out, retval] BSTR* pbstr);
  800. [id(0x60030003), propput]
  801. HRESULT _stdcall CommandText([in] BSTR pbstr);
  802. [id(0x60030005), propget]
  803. HRESULT _stdcall CommandTimeout([out, retval] long* pl);
  804. [id(0x60030005), propput]
  805. HRESULT _stdcall CommandTimeout([in] long pl);
  806. [id(0x60030007), propget]
  807. HRESULT _stdcall Prepared([out, retval] VARIANT_BOOL* pfPrepared);
  808. [id(0x60030007), propput]
  809. HRESULT _stdcall Prepared([in] VARIANT_BOOL pfPrepared);
  810. [id(0x60030009)]
  811. HRESULT _stdcall Execute(
  812. [out, optional] VARIANT* RecordsAffected,
  813. [in, optional] VARIANT* Parameters,
  814. [in, defaultvalue(-1)] long Options,
  815. [out, retval] _Recordset** ppiRs);
  816. [id(0x6003000a)]
  817. HRESULT _stdcall CreateParameter(
  818. [in, defaultvalue("")] BSTR Name,
  819. [in, defaultvalue(adEmpty)] DataTypeEnum Type,
  820. [in, defaultvalue(adParamInput)] ParameterDirectionEnum Direction,
  821. [in, defaultvalue(0)] ADO_LONGPTR Size,
  822. [in, optional] VARIANT Value,
  823. [out, retval] _Parameter** ppiprm);
  824. [id(00000000), propget]
  825. HRESULT _stdcall Parameters([out, retval] Parameters** ppvObject);
  826. [id(0x6003000c), propput]
  827. HRESULT _stdcall CommandType([in] CommandTypeEnum plCmdType);
  828. [id(0x6003000c), propget]
  829. HRESULT _stdcall CommandType([out, retval] CommandTypeEnum* plCmdType);
  830. [id(0x6003000e), propget]
  831. HRESULT _stdcall Name([out, retval] BSTR* pbstrName);
  832. [id(0x6003000e), propput]
  833. HRESULT _stdcall Name([in] BSTR pbstrName);
  834. };
  835. [
  836. odl,
  837. uuid(0000054E-0000-0010-8000-00AA006D2EA4),
  838. dual,
  839. nonextensible,
  840. oleautomation
  841. ]
  842. interface Command25 : Command15 {
  843. [id(0x60030010), propget]
  844. HRESULT _stdcall State([out, retval] long* plObjState);
  845. [id(0x60030011)]
  846. HRESULT _stdcall Cancel();
  847. };
  848. [
  849. odl,
  850. uuid(B08400BD-F9D1-4D02-B856-71D5DBA123E9),
  851. dual,
  852. nonextensible,
  853. oleautomation
  854. ]
  855. interface _Command : Command25 {
  856. [id(0x60030012), propputref]
  857. HRESULT _stdcall CommandStream([in] IUnknown *pStream);
  858. [id(0x60030012), propget]
  859. HRESULT _stdcall CommandStream([out, retval] VARIANT* pvStream);
  860. [id(0x60030013), propput]
  861. HRESULT _stdcall Dialect([in] BSTR bstrDialect);
  862. [id(0x60030013), propget]
  863. HRESULT _stdcall Dialect([out, retval] BSTR* pbstrDialect);
  864. [id(0x60030014), propput]
  865. HRESULT _stdcall NamedParameters([in] VARIANT_BOOL fNamedParameters);
  866. [id(0x60030014), propget]
  867. HRESULT _stdcall NamedParameters([out, retval] VARIANT_BOOL* pfNamedParameters);
  868. };
  869. [
  870. odl,
  871. uuid(00000515-0000-0010-8000-00AA006D2EA4),
  872. dual,
  873. oleautomation
  874. ]
  875. interface Connection15 : _ADO {
  876. [id(00000000), propget]
  877. HRESULT _stdcall ConnectionString([out, retval] BSTR* pbstr);
  878. [id(00000000), propput]
  879. HRESULT _stdcall ConnectionString([in] BSTR pbstr);
  880. [id(0x00000002), propget]
  881. HRESULT _stdcall CommandTimeout([out, retval] long* plTimeout);
  882. [id(0x00000002), propput]
  883. HRESULT _stdcall CommandTimeout([in] long plTimeout);
  884. [id(0x00000003), propget]
  885. HRESULT _stdcall ConnectionTimeout([out, retval] long* plTimeout);
  886. [id(0x00000003), propput]
  887. HRESULT _stdcall ConnectionTimeout([in] long plTimeout);
  888. [id(0x00000004), propget]
  889. HRESULT _stdcall Version([out, retval] BSTR* pbstr);
  890. [id(0x00000005)]
  891. HRESULT _stdcall Close();
  892. [id(0x00000006)]
  893. HRESULT _stdcall Execute(
  894. [in] BSTR CommandText,
  895. [out, optional] VARIANT* RecordsAffected,
  896. [in, defaultvalue(-1)] long Options,
  897. [out, retval] _Recordset** ppiRset);
  898. [id(0x00000007)]
  899. HRESULT _stdcall BeginTrans([out, retval] long* TransactionLevel);
  900. [id(0x00000008)]
  901. HRESULT _stdcall CommitTrans();
  902. [id(0x00000009)]
  903. HRESULT _stdcall RollbackTrans();
  904. [id(0x0000000a)]
  905. HRESULT _stdcall Open(
  906. [in, defaultvalue("")] BSTR ConnectionString,
  907. [in, defaultvalue("")] BSTR UserID,
  908. [in, defaultvalue("")] BSTR Password,
  909. [in, defaultvalue(-1)] long Options);
  910. [id(0x0000000b), propget]
  911. HRESULT _stdcall Errors([out, retval] Errors** ppvObject);
  912. [id(0x0000000c), propget]
  913. HRESULT _stdcall DefaultDatabase([out, retval] BSTR* pbstr);
  914. [id(0x0000000c), propput]
  915. HRESULT _stdcall DefaultDatabase([in] BSTR pbstr);
  916. [id(0x0000000d), propget]
  917. HRESULT _stdcall IsolationLevel([out, retval] IsolationLevelEnum* Level);
  918. [id(0x0000000d), propput]
  919. HRESULT _stdcall IsolationLevel([in] IsolationLevelEnum Level);
  920. [id(0x0000000e), propget]
  921. HRESULT _stdcall Attributes([out, retval] long* plAttr);
  922. [id(0x0000000e), propput]
  923. HRESULT _stdcall Attributes([in] long plAttr);
  924. [id(0x0000000f), propget]
  925. HRESULT _stdcall CursorLocation([out, retval] CursorLocationEnum* plCursorLoc);
  926. [id(0x0000000f), propput]
  927. HRESULT _stdcall CursorLocation([in] CursorLocationEnum plCursorLoc);
  928. [id(0x00000010), propget]
  929. HRESULT _stdcall Mode([out, retval] ConnectModeEnum* plMode);
  930. [id(0x00000010), propput]
  931. HRESULT _stdcall Mode([in] ConnectModeEnum plMode);
  932. [id(0x00000011), propget]
  933. HRESULT _stdcall Provider([out, retval] BSTR* pbstr);
  934. [id(0x00000011), propput]
  935. HRESULT _stdcall Provider([in] BSTR pbstr);
  936. [id(0x00000012), propget]
  937. HRESULT _stdcall State([out, retval] long* plObjState);
  938. [id(0x00000013)]
  939. HRESULT _stdcall OpenSchema(
  940. [in] SchemaEnum Schema,
  941. [in, optional] VARIANT Restrictions,
  942. [in, optional] VARIANT SchemaID,
  943. [out, retval] _Recordset** pprset);
  944. };
  945. [
  946. odl,
  947. uuid(00000550-0000-0010-8000-00AA006D2EA4),
  948. dual,
  949. oleautomation
  950. ]
  951. interface _Connection : Connection15 {
  952. [id(0x00000015)]
  953. HRESULT _stdcall Cancel();
  954. };
  955. [
  956. odl,
  957. uuid(0000050E-0000-0010-8000-00AA006D2EA4),
  958. dual,
  959. nonextensible,
  960. oleautomation
  961. ]
  962. interface Recordset15 : _ADO {
  963. [id(0x000003e8), propget]
  964. HRESULT _stdcall AbsolutePosition([out, retval] PositionEnum_Param *pl);
  965. [id(0x000003e8), propput]
  966. HRESULT _stdcall AbsolutePosition([in] PositionEnum_Param pl);
  967. [id(0x000003e9), propputref]
  968. HRESULT _stdcall ActiveConnection([in] IDispatch* pvar);
  969. [id(0x000003e9), propput]
  970. HRESULT _stdcall ActiveConnection([in] VARIANT pvar);
  971. [id(0x000003e9), propget]
  972. HRESULT _stdcall ActiveConnection([out, retval] VARIANT* pvar);
  973. [id(0x000003ea), propget]
  974. HRESULT _stdcall BOF([out, retval] VARIANT_BOOL* pb);
  975. [id(0x000003eb), propget]
  976. HRESULT _stdcall Bookmark([out, retval] VARIANT* pvBookmark);
  977. [id(0x000003eb), propput]
  978. HRESULT _stdcall Bookmark([in] VARIANT pvBookmark);
  979. [id(0x000003ec), propget]
  980. HRESULT _stdcall CacheSize([out, retval] long* pl);
  981. [id(0x000003ec), propput]
  982. HRESULT _stdcall CacheSize([in] long pl);
  983. [id(0x000003ed), propget]
  984. HRESULT _stdcall CursorType([out, retval] CursorTypeEnum* plCursorType);
  985. [id(0x000003ed), propput]
  986. HRESULT _stdcall CursorType([in] CursorTypeEnum plCursorType);
  987. [id(0x000003ee), propget]
  988. HRESULT _stdcall EOF([out, retval] VARIANT_BOOL* pb);
  989. [id(00000000), propget]
  990. HRESULT _stdcall Fields([out, retval] Fields** ppvObject);
  991. [id(0x000003f0), propget]
  992. HRESULT _stdcall LockType([out, retval] LockTypeEnum* plLockType);
  993. [id(0x000003f0), propput]
  994. HRESULT _stdcall LockType([in] LockTypeEnum plLockType);
  995. [id(0x000003f1), propget]
  996. HRESULT _stdcall MaxRecords([out, retval] ADO_LONGPTR* plMaxRecords);
  997. [id(0x000003f1), propput]
  998. HRESULT _stdcall MaxRecords([in] ADO_LONGPTR plMaxRecords);
  999. [id(0x000003f2), propget]
  1000. HRESULT _stdcall RecordCount([out, retval] ADO_LONGPTR* pl);
  1001. [id(0x000003f3), propputref]
  1002. HRESULT _stdcall Source([in] IDispatch* pvSource);
  1003. [id(0x000003f3), propput]
  1004. HRESULT _stdcall Source([in] BSTR pvSource);
  1005. [id(0x000003f3), propget]
  1006. HRESULT _stdcall Source([out, retval] VARIANT* pvSource);
  1007. [id(0x000003f4)]
  1008. HRESULT _stdcall AddNew(
  1009. [in, optional] VARIANT FieldList,
  1010. [in, optional] VARIANT Values);
  1011. [id(0x000003f5)]
  1012. HRESULT _stdcall CancelUpdate();
  1013. [id(0x000003f6)]
  1014. HRESULT _stdcall Close();
  1015. [id(0x000003f7)]
  1016. HRESULT _stdcall Delete([in, defaultvalue(adAffectCurrent)] AffectEnum AffectRecords);
  1017. [id(0x000003f8)]
  1018. HRESULT _stdcall GetRows(
  1019. [in, defaultvalue(-1)] long Rows,
  1020. [in, optional] VARIANT Start,
  1021. [in, optional] VARIANT Fields,
  1022. [out, retval] VARIANT* pvar);
  1023. [id(0x000003f9)]
  1024. HRESULT _stdcall Move(
  1025. [in] ADO_LONGPTR NumRecords,
  1026. [in, optional] VARIANT Start);
  1027. [id(0x000003fa)]
  1028. HRESULT _stdcall MoveNext();
  1029. [id(0x000003fb)]
  1030. HRESULT _stdcall MovePrevious();
  1031. [id(0x000003fc)]
  1032. HRESULT _stdcall MoveFirst();
  1033. [id(0x000003fd)]
  1034. HRESULT _stdcall MoveLast();
  1035. [id(0x000003fe)]
  1036. HRESULT _stdcall Open(
  1037. [in, optional] VARIANT Source,
  1038. [in, optional] VARIANT ActiveConnection,
  1039. [in, defaultvalue(adOpenUnspecified)] CursorTypeEnum CursorType,
  1040. [in, defaultvalue(adLockUnspecified)] LockTypeEnum LockType,
  1041. [in, defaultvalue(-1)] long Options);
  1042. [id(0x000003ff)]
  1043. HRESULT _stdcall Requery([in, defaultvalue(-1)] long Options);
  1044. [id(0x60030022), hidden]
  1045. HRESULT _stdcall _xResync([in, defaultvalue(adAffectAll)] AffectEnum AffectRecords);
  1046. [id(0x00000401)]
  1047. HRESULT _stdcall Update(
  1048. [in, optional] VARIANT Fields,
  1049. [in, optional] VARIANT Values);
  1050. [id(0x00000417), propget]
  1051. HRESULT _stdcall AbsolutePage([out, retval] PositionEnum_Param* pl);
  1052. [id(0x00000417), propput]
  1053. HRESULT _stdcall AbsolutePage([in] PositionEnum_Param pl);
  1054. [id(0x00000402), propget]
  1055. HRESULT _stdcall EditMode([out, retval] EditModeEnum* pl);
  1056. [id(0x00000406), propget]
  1057. HRESULT _stdcall Filter([out, retval] VARIANT* Criteria);
  1058. [id(0x00000406), propput]
  1059. HRESULT _stdcall Filter([in] VARIANT Criteria);
  1060. [id(0x0000041a), propget]
  1061. HRESULT _stdcall PageCount([out, retval] ADO_LONGPTR* pl);
  1062. [id(0x00000418), propget]
  1063. HRESULT _stdcall PageSize([out, retval] long* pl);
  1064. [id(0x00000418), propput]
  1065. HRESULT _stdcall PageSize([in] long pl);
  1066. [id(0x00000407), propget]
  1067. HRESULT _stdcall Sort([out, retval] BSTR* Criteria);
  1068. [id(0x00000407), propput]
  1069. HRESULT _stdcall Sort([in] BSTR Criteria);
  1070. [id(0x00000405), propget]
  1071. HRESULT _stdcall Status([out, retval] long* pl);
  1072. [id(0x0000041e), propget]
  1073. HRESULT _stdcall State([out, retval] long* plObjState);
  1074. [id(0x60030030), hidden]
  1075. HRESULT _stdcall _xClone([out, retval] _Recordset** ppvObject);
  1076. [id(0x0000040b)]
  1077. HRESULT _stdcall UpdateBatch([in, defaultvalue(adAffectAll)] AffectEnum AffectRecords);
  1078. [id(0x00000419)]
  1079. HRESULT _stdcall CancelBatch([in, defaultvalue(adAffectAll)] AffectEnum AffectRecords);
  1080. [id(0x0000041b), propget]
  1081. HRESULT _stdcall CursorLocation([out, retval] CursorLocationEnum* plCursorLoc);
  1082. [id(0x0000041b), propput]
  1083. HRESULT _stdcall CursorLocation([in] CursorLocationEnum plCursorLoc);
  1084. [id(0x0000041c)]
  1085. HRESULT _stdcall NextRecordset(
  1086. [out, optional] VARIANT* RecordsAffected,
  1087. [out, retval] _Recordset** ppiRs);
  1088. [id(0x0000040c)]
  1089. HRESULT _stdcall Supports(
  1090. [in] CursorOptionEnum CursorOptions,
  1091. [out, retval] VARIANT_BOOL* pb);
  1092. [id(0xfffffff8), propget, hidden]
  1093. HRESULT _stdcall Collect(
  1094. [in] VARIANT Index,
  1095. [out, retval] VARIANT* pvar);
  1096. [id(0xfffffff8), propput, hidden]
  1097. HRESULT _stdcall Collect(
  1098. [in] VARIANT Index,
  1099. [in] VARIANT pvar);
  1100. [id(0x0000041d), propget]
  1101. HRESULT _stdcall MarshalOptions([out, retval] MarshalOptionsEnum* peMarshal);
  1102. [id(0x0000041d), propput]
  1103. HRESULT _stdcall MarshalOptions([in] MarshalOptionsEnum peMarshal);
  1104. [id(0x00000422)]
  1105. HRESULT _stdcall Find(
  1106. [in] BSTR Criteria,
  1107. [in, defaultvalue(0)] ADO_LONGPTR SkipRecords,
  1108. [in, defaultvalue(adSearchForward)] SearchDirectionEnum SearchDirection,
  1109. [in, optional] VARIANT Start);
  1110. };
  1111. [
  1112. odl,
  1113. uuid(0000054F-0000-0010-8000-00AA006D2EA4),
  1114. dual,
  1115. nonextensible,
  1116. oleautomation
  1117. ]
  1118. interface Recordset20 : Recordset15 {
  1119. [id(0x0000041f)]
  1120. HRESULT _stdcall Cancel();
  1121. [id(0x00000420), propget]
  1122. HRESULT _stdcall DataSource([out, retval] IUnknown** ppunkDataSource);
  1123. [id(0x00000420), propputref]
  1124. HRESULT _stdcall DataSource([in] IUnknown* ppunkDataSource);
  1125. [hidden]
  1126. HRESULT _stdcall _xSave(
  1127. [in, optional] BSTR FileName,
  1128. [in, defaultvalue(adPersistADTG)] PersistFormatEnum PersistFormat);
  1129. [id(0x00000425), propget]
  1130. HRESULT _stdcall ActiveCommand([out, retval] IDispatch** ppCmd);
  1131. [id(0x00000427), propput]
  1132. HRESULT _stdcall StayInSync([in] VARIANT_BOOL pbStayInSync);
  1133. [id(0x00000427), propget]
  1134. HRESULT _stdcall StayInSync([out, retval] VARIANT_BOOL* pbStayInSync);
  1135. [id(0x00000426)]
  1136. HRESULT _stdcall GetString(
  1137. [in, defaultvalue(adClipString)] StringFormatEnum StringFormat,
  1138. [in, defaultvalue(-1)] long NumRows,
  1139. [in, optional] BSTR ColumnDelimeter,
  1140. [in, optional] BSTR RowDelimeter,
  1141. [in, optional] BSTR NullExpr,
  1142. [out, retval] BSTR* pRetString);
  1143. [id(0x00000428), propget]
  1144. HRESULT _stdcall DataMember([out, retval] BSTR* pbstrDataMember);
  1145. [id(0x00000428), propput]
  1146. HRESULT _stdcall DataMember([in] BSTR pbstrDataMember);
  1147. [id(0x00000429)]
  1148. HRESULT _stdcall CompareBookmarks(
  1149. [in] VARIANT Bookmark1,
  1150. [in] VARIANT Bookmark2,
  1151. [out, retval] CompareEnum* pCompare);
  1152. [id(0x0000040a)]
  1153. HRESULT _stdcall Clone(
  1154. [in, defaultvalue(adLockUnspecified)] LockTypeEnum LockType,
  1155. [out, retval] _Recordset** ppvObject);
  1156. [id(0x00000400)]
  1157. HRESULT _stdcall Resync(
  1158. [in, defaultvalue(adAffectAll)] AffectEnum AffectRecords,
  1159. [in, defaultvalue(adResyncAllValues)] ResyncEnum ResyncValues);
  1160. };
  1161. [
  1162. odl,
  1163. uuid(00000555-0000-0010-8000-00AA006D2EA4),
  1164. dual,
  1165. nonextensible,
  1166. oleautomation
  1167. ]
  1168. interface Recordset21 : Recordset20 {
  1169. [id(0x0000042a), helpcontext(0x001356db)]
  1170. HRESULT _stdcall Seek(
  1171. [in] VARIANT KeyValues,
  1172. [in, defaultvalue(adSeekFirstEQ)] SeekEnum SeekOption);
  1173. [id(0x0000042b), propput, helpcontext(0x001356da)]
  1174. HRESULT _stdcall Index([in] BSTR pbstrIndex);
  1175. [id(0x0000042b), propget, helpcontext(0x001356da)]
  1176. HRESULT _stdcall Index([out, retval] BSTR* pbstrIndex);
  1177. };
  1178. [
  1179. odl,
  1180. uuid(00000556-0000-0010-8000-00AA006D2EA4),
  1181. dual,
  1182. nonextensible,
  1183. oleautomation
  1184. ]
  1185. interface _Recordset : Recordset21
  1186. {
  1187. [
  1188. id(0x00000421),
  1189. helpcontext(0x0012C8DF)
  1190. ]
  1191. HRESULT Save(
  1192. [in, optional] VARIANT Destination,
  1193. [in, defaultvalue(adPersistADTG)] PersistFormatEnum PersistFormat
  1194. );
  1195. }
  1196. [
  1197. odl,
  1198. uuid(00000506-0000-0010-8000-00AA006D2EA4),
  1199. dual,
  1200. nonextensible,
  1201. oleautomation
  1202. ]
  1203. interface Fields15 : _Collection {
  1204. [id(00000000), propget]
  1205. HRESULT _stdcall Item(
  1206. [in] VARIANT Index,
  1207. [out, retval] Field** ppvObject);
  1208. };
  1209. [
  1210. odl,
  1211. uuid(0000054D-0000-0010-8000-00AA006D2EA4),
  1212. dual,
  1213. nonextensible,
  1214. oleautomation
  1215. ]
  1216. interface Fields20 : Fields15 {
  1217. [id(0x60030001)]
  1218. HRESULT _stdcall _Append(
  1219. [in] BSTR Name,
  1220. [in] DataTypeEnum Type,
  1221. [in, defaultvalue(0)] ADO_LONGPTR DefinedSize,
  1222. [in, defaultvalue(adFldUnspecified)] FieldAttributeEnum Attrib);
  1223. [id(0x60030002)]
  1224. HRESULT _stdcall Delete([in] VARIANT Index);
  1225. };
  1226. [
  1227. odl,
  1228. uuid(00000564-0000-0010-8000-00AA006D2EA4),
  1229. dual,
  1230. nonextensible,
  1231. oleautomation
  1232. ]
  1233. interface Fields : Fields20
  1234. {
  1235. [id(0x60040001)]
  1236. HRESULT _stdcall Append(
  1237. [in] BSTR Name,
  1238. [in] DataTypeEnum Type,
  1239. [in, defaultvalue(0)] ADO_LONGPTR DefinedSize,
  1240. [in, defaultvalue(adFldUnspecified)] FieldAttributeEnum Attrib,
  1241. [in, optional] VARIANT FieldValue);
  1242. [id(0x60040002)]
  1243. HRESULT _stdcall Update();
  1244. [id(0x60040003)]
  1245. HRESULT _stdcall Resync([in, defaultvalue(adResyncAllValues)] ResyncEnum ResyncValues);
  1246. [id(0x60040004)]
  1247. HRESULT _stdcall CancelUpdate();
  1248. };
  1249. [
  1250. odl,
  1251. uuid(00000505-0000-0010-8000-00AA006D2EA4),
  1252. dual,
  1253. nonextensible,
  1254. oleautomation
  1255. ]
  1256. interface Field15 : _ADO {
  1257. [id(0x00000455), propget]
  1258. HRESULT _stdcall ActualSize([out, retval] ADO_LONGPTR* pl);
  1259. [id(0x0000040c), propget]
  1260. HRESULT _stdcall Attributes([out, retval] long* pl);
  1261. [id(0x0000044f), propget]
  1262. HRESULT _stdcall DefinedSize([out, retval] ADO_LONGPTR* pl);
  1263. [id(0x0000044c), propget]
  1264. HRESULT _stdcall Name([out, retval] BSTR* pbstr);
  1265. [id(0x0000044e), propget]
  1266. HRESULT _stdcall Type([out, retval] DataTypeEnum* pDataType);
  1267. [id(00000000), propget]
  1268. HRESULT _stdcall Value([out, retval] VARIANT* pvar);
  1269. [id(00000000), propput]
  1270. HRESULT _stdcall Value([in] VARIANT pvar);
  1271. [id(0x60030007), propget]
  1272. HRESULT _stdcall Precision([out, retval] unsigned char* pbPrecision);
  1273. [id(0x60030008), propget]
  1274. HRESULT _stdcall NumericScale([out, retval] unsigned char* pbNumericScale);
  1275. [id(0x00000453)]
  1276. HRESULT _stdcall AppendChunk([in] VARIANT Data);
  1277. [id(0x00000454)]
  1278. HRESULT _stdcall GetChunk(
  1279. [in] long Length,
  1280. [out, retval] VARIANT* pvar);
  1281. [id(0x00000450), propget]
  1282. HRESULT _stdcall OriginalValue([out, retval] VARIANT* pvar);
  1283. [id(0x00000451), propget]
  1284. HRESULT _stdcall UnderlyingValue([out, retval] VARIANT* pvar);
  1285. };
  1286. [
  1287. odl,
  1288. uuid(0000054C-0000-0010-8000-00AA006D2EA4),
  1289. dual,
  1290. nonextensible,
  1291. oleautomation,
  1292. hidden
  1293. ]
  1294. interface Field20 : _ADO {
  1295. [id(0x00000455), propget]
  1296. HRESULT _stdcall ActualSize([out, retval] ADO_LONGPTR* pl);
  1297. [id(0x0000040c), propget]
  1298. HRESULT _stdcall Attributes([out, retval] long* pl);
  1299. [id(0x0000044f), propget]
  1300. HRESULT _stdcall DefinedSize([out, retval] ADO_LONGPTR* pl);
  1301. [id(0x0000044c), propget]
  1302. HRESULT _stdcall Name([out, retval] BSTR* pbstr);
  1303. [id(0x0000044e), propget]
  1304. HRESULT _stdcall Type([out, retval] DataTypeEnum* pDataType);
  1305. [id(00000000), propget]
  1306. HRESULT _stdcall Value([out, retval] VARIANT* pvar);
  1307. [id(00000000), propput]
  1308. HRESULT _stdcall Value([in] VARIANT pvar);
  1309. [id(0x60030007), propget]
  1310. HRESULT _stdcall Precision([out, retval] unsigned char* pbPrecision);
  1311. [id(0x60030008), propget]
  1312. HRESULT _stdcall NumericScale([out, retval] unsigned char* pbNumericScale);
  1313. [id(0x00000453)]
  1314. HRESULT _stdcall AppendChunk([in] VARIANT Data);
  1315. [id(0x00000454)]
  1316. HRESULT _stdcall GetChunk(
  1317. [in] long Length,
  1318. [out, retval] VARIANT* pvar);
  1319. [id(0x00000450), propget]
  1320. HRESULT _stdcall OriginalValue([out, retval] VARIANT* pvar);
  1321. [id(0x00000451), propget]
  1322. HRESULT _stdcall UnderlyingValue([out, retval] VARIANT* pvar);
  1323. [id(0x6003000d), propget]
  1324. HRESULT _stdcall DataFormat([out, retval] IUnknown** ppiDF);
  1325. [id(0x6003000d), propputref]
  1326. HRESULT _stdcall DataFormat([in] IUnknown* ppiDF);
  1327. [id(0x60030007), propput]
  1328. HRESULT _stdcall Precision([in] unsigned char pbPrecision);
  1329. [id(0x60030008), propput]
  1330. HRESULT _stdcall NumericScale([in] unsigned char pbNumericScale);
  1331. [id(0x0000044e), propput]
  1332. HRESULT _stdcall Type([in] DataTypeEnum pDataType);
  1333. [id(0x0000044f), propput]
  1334. HRESULT _stdcall DefinedSize([in] ADO_LONGPTR pl);
  1335. [id(0x0000040c), propput]
  1336. HRESULT _stdcall Attributes([in] long pl);
  1337. };
  1338. [
  1339. odl,
  1340. uuid(00000569-0000-0010-8000-00AA006D2EA4),
  1341. dual,
  1342. nonextensible,
  1343. oleautomation
  1344. ]
  1345. interface Field : Field20
  1346. {
  1347. [ id(0x0000045c),propget]
  1348. HRESULT _stdcall Status( [out, retval] long *pFStatus);
  1349. };
  1350. [
  1351. odl,
  1352. uuid(0000050C-0000-0010-8000-00AA006D2EA4),
  1353. dual,
  1354. nonextensible,
  1355. oleautomation
  1356. ]
  1357. interface _Parameter : _ADO {
  1358. [id(0x60030000), propget]
  1359. HRESULT _stdcall Name([out, retval] BSTR* pbstr);
  1360. [id(0x60030000), propput]
  1361. HRESULT _stdcall Name([in] BSTR pbstr);
  1362. [id(00000000), propget]
  1363. HRESULT _stdcall Value([out, retval] VARIANT* pvar);
  1364. [id(00000000), propput]
  1365. HRESULT _stdcall Value([in] VARIANT pvar);
  1366. [id(0x60030004), propget]
  1367. HRESULT _stdcall Type([out, retval] DataTypeEnum* psDataType);
  1368. [id(0x60030004), propput]
  1369. HRESULT _stdcall Type([in] DataTypeEnum psDataType);
  1370. [id(0x60030006), propput]
  1371. HRESULT _stdcall Direction([in] ParameterDirectionEnum plParmDirection);
  1372. [id(0x60030006), propget]
  1373. HRESULT _stdcall Direction([out, retval] ParameterDirectionEnum* plParmDirection);
  1374. [id(0x60030008), propput]
  1375. HRESULT _stdcall Precision([in] unsigned char pbPrecision);
  1376. [id(0x60030008), propget]
  1377. HRESULT _stdcall Precision([out, retval] unsigned char* pbPrecision);
  1378. [id(0x6003000a), propput]
  1379. HRESULT _stdcall NumericScale([in] unsigned char pbScale);
  1380. [id(0x6003000a), propget]
  1381. HRESULT _stdcall NumericScale([out, retval] unsigned char* pbScale);
  1382. [id(0x6003000c), propput]
  1383. HRESULT _stdcall Size([in] ADO_LONGPTR pl);
  1384. [id(0x6003000c), propget]
  1385. HRESULT _stdcall Size([out, retval] ADO_LONGPTR* pl);
  1386. [id(0x6003000e)]
  1387. HRESULT _stdcall AppendChunk([in] VARIANT Val);
  1388. [id(0x6003000f), propget]
  1389. HRESULT _stdcall Attributes([out, retval] long* plParmAttribs);
  1390. [id(0x6003000f), propput]
  1391. HRESULT _stdcall Attributes([in] long plParmAttribs);
  1392. };
  1393. [
  1394. odl,
  1395. uuid(0000050D-0000-0010-8000-00AA006D2EA4),
  1396. dual,
  1397. nonextensible,
  1398. oleautomation
  1399. ]
  1400. interface Parameters : _DynaCollection {
  1401. [id(00000000), propget]
  1402. HRESULT _stdcall Item(
  1403. [in] VARIANT Index,
  1404. [out, retval] _Parameter** ppvObject);
  1405. };
  1406. [
  1407. odl,
  1408. uuid(00000562-0000-0010-8000-00AA006D2EA4),
  1409. dual,
  1410. nonextensible,
  1411. oleautomation
  1412. ]
  1413. interface _Record : _ADO
  1414. {
  1415. [id(1), propget]
  1416. HRESULT _stdcall ActiveConnection(
  1417. [out, retval] VARIANT *pvar);
  1418. [id(1), propput]
  1419. HRESULT _stdcall ActiveConnection(
  1420. [in] BSTR bstrConn);
  1421. [id(1), propputref]
  1422. HRESULT ActiveConnection(
  1423. [in] _Connection *Con);
  1424. [id(2), propget]
  1425. HRESULT _stdcall State(
  1426. [out, retval] ObjectStateEnum *pState);
  1427. [id(3), propget]
  1428. HRESULT _stdcall Source(
  1429. [out, retval] VARIANT *pvar);
  1430. [id(3), propput]
  1431. HRESULT _stdcall Source(
  1432. [in] BSTR Source);
  1433. [id(3), propputref]
  1434. HRESULT _stdcall Source(
  1435. [in] IDispatch *Source);
  1436. [id(4), propget]
  1437. HRESULT _stdcall Mode(
  1438. [out, retval] ConnectModeEnum *pMode);
  1439. [id(4), propput]
  1440. HRESULT _stdcall Mode(
  1441. [in] ConnectModeEnum Mode);
  1442. [id(5), propget]
  1443. HRESULT _stdcall ParentURL(
  1444. [out, retval] BSTR *pbstrParentURL);
  1445. [id(6)]
  1446. HRESULT _stdcall MoveRecord(
  1447. [in, defaultvalue("")] BSTR Source,
  1448. [in, defaultvalue("")] BSTR Destination,
  1449. [in, optional] BSTR UserName,
  1450. [in, optional] BSTR Password,
  1451. [in, defaultvalue(adMoveUnspecified)] MoveRecordOptionsEnum Options,
  1452. [in, optional] VARIANT_BOOL Async,
  1453. [out, retval] BSTR *pbstrNewURL);
  1454. [id(7)]
  1455. HRESULT _stdcall CopyRecord(
  1456. [in, defaultvalue("")] BSTR Source,
  1457. [in, defaultvalue("")] BSTR Destination,
  1458. [in, optional] BSTR UserName,
  1459. [in, optional] BSTR Password,
  1460. [in, defaultvalue(adCopyUnspecified)] CopyRecordOptionsEnum Options,
  1461. [in, optional] VARIANT_BOOL Async,
  1462. [out, retval] BSTR *pbstrNewURL);
  1463. [id(8)]
  1464. HRESULT _stdcall DeleteRecord(
  1465. [in] BSTR Source,
  1466. [in, optional] VARIANT_BOOL Async);
  1467. [id(9)]
  1468. HRESULT _stdcall Open(
  1469. [in, optional] VARIANT Source,
  1470. [in, optional] VARIANT ActiveConnection,
  1471. [in, optional] ConnectModeEnum Mode,
  1472. [in, defaultvalue(adFailIfNotExists)] RecordCreateOptionsEnum CreateOptions,
  1473. [in, defaultvalue(adOpenRecordUnspecified)] RecordOpenOptionsEnum Options,
  1474. [in, optional] BSTR UserName,
  1475. [in, optional] BSTR Password);
  1476. [id(10)]
  1477. HRESULT _stdcall Close();
  1478. [id(0), propget]
  1479. HRESULT _stdcall Fields(
  1480. [out, retval] Fields **ppFlds);
  1481. [id(11), propget]
  1482. HRESULT _stdcall RecordType(
  1483. [out, retval] RecordTypeEnum *pType);
  1484. [id(12)]
  1485. HRESULT _stdcall GetChildren(
  1486. [out, retval] _Recordset **ppRSet);
  1487. [id(13)]
  1488. HRESULT _stdcall Cancel();
  1489. };
  1490. [
  1491. odl,
  1492. uuid(00000565-0000-0010-8000-00AA006D2EA4),
  1493. dual,
  1494. nonextensible,
  1495. oleautomation
  1496. ]
  1497. interface _Stream : IDispatch
  1498. {
  1499. [id(1), propget]
  1500. HRESULT _stdcall Size(
  1501. [out, retval] ADO_LONGPTR *pSize );
  1502. [id(2), propget]
  1503. HRESULT _stdcall EOS(
  1504. [out, retval] VARIANT_BOOL *pEOS );
  1505. [id(3), propget]
  1506. HRESULT _stdcall Position(
  1507. [out, retval] ADO_LONGPTR *pPos );
  1508. [id(3), propput]
  1509. HRESULT _stdcall Position(
  1510. [in] ADO_LONGPTR Position );
  1511. [id(4), propget]
  1512. HRESULT _stdcall Type(
  1513. [out, retval] StreamTypeEnum *pType );
  1514. [id(4), propput]
  1515. HRESULT _stdcall Type(
  1516. [in] StreamTypeEnum Type );
  1517. [id(5), propget]
  1518. HRESULT _stdcall LineSeparator(
  1519. [out, retval] LineSeparatorEnum *pLS );
  1520. [id(5), propput]
  1521. HRESULT _stdcall LineSeparator(
  1522. [in] LineSeparatorEnum LineSeparator );
  1523. [id(6), propget]
  1524. HRESULT _stdcall State(
  1525. [out, retval] ObjectStateEnum *pState );
  1526. [id(7), propget]
  1527. HRESULT _stdcall Mode(
  1528. [out, retval] ConnectModeEnum *pMode );
  1529. [id(7), propput]
  1530. HRESULT _stdcall Mode(
  1531. [in] ConnectModeEnum Mode );
  1532. [id(8), propget]
  1533. HRESULT Charset(
  1534. [out, retval] BSTR *pbstrCharset );
  1535. [id(8), propput]
  1536. HRESULT Charset(
  1537. [in] BSTR Charset );
  1538. [id(9)]
  1539. HRESULT _stdcall Read(
  1540. [in, defaultvalue(adReadAll)]long NumBytes,
  1541. [out, retval]VARIANT *pVal);
  1542. [id(10)]
  1543. HRESULT _stdcall Open(
  1544. [in, optional] VARIANT Source,
  1545. [in, defaultvalue(adModeUnknown)] ConnectModeEnum Mode,
  1546. [in, defaultvalue(adOpenStreamUnspecified)] StreamOpenOptionsEnum Options,
  1547. [in, optional] BSTR UserName,
  1548. [in, optional] BSTR Password);
  1549. [id(11)]
  1550. HRESULT _stdcall Close(void);
  1551. [id(12)]
  1552. HRESULT _stdcall SkipLine(void);
  1553. [id(13)]
  1554. HRESULT _stdcall Write(
  1555. [in]VARIANT Buffer);
  1556. [id(14)]
  1557. HRESULT _stdcall SetEOS(void);
  1558. [id(15)]
  1559. HRESULT _stdcall CopyTo(
  1560. [in]_Stream *DestStream,
  1561. [in, defaultvalue(-1)]ADO_LONGPTR CharNumber);
  1562. [id(16)]
  1563. HRESULT _stdcall Flush(void);
  1564. [id(17)]
  1565. HRESULT _stdcall SaveToFile(
  1566. [in] BSTR FileName,
  1567. [in, defaultvalue(adSaveCreateNotExist)] SaveOptionsEnum Options);
  1568. [id(18)]
  1569. HRESULT _stdcall LoadFromFile(
  1570. [in] BSTR FileName);
  1571. [id(19)]
  1572. HRESULT _stdcall ReadText(
  1573. [in, defaultvalue(adReadAll)] long NumChars,
  1574. [out, retval] BSTR *pbstr);
  1575. [id(20)]
  1576. HRESULT _stdcall WriteText(
  1577. [in] BSTR Data,
  1578. [in, defaultvalue(adWriteChar)] StreamWriteEnum Options);
  1579. [id(21)]
  1580. HRESULT _stdcall Cancel(void);
  1581. };
  1582. [
  1583. odl,
  1584. uuid(00000538-0000-0010-8000-00AA006D2EA4),
  1585. hidden
  1586. ]
  1587. interface ADODebugging : IUnknown {
  1588. HRESULT _stdcall IsGlobalDebugMode(VARIANT_BOOL* pfDebuggingOn);
  1589. HRESULT _stdcall SetGlobalDebugMode(
  1590. IUnknown* pDebugger,
  1591. VARIANT_BOOL fDebuggingOn);
  1592. };
  1593. [
  1594. odl,
  1595. uuid(00000402-0000-0010-8000-00AA006D2EA4),
  1596. hidden
  1597. ]
  1598. interface ConnectionEventsVt : IUnknown {
  1599. HRESULT _stdcall InfoMessage(
  1600. [in] Error* pError,
  1601. [in, out] EventStatusEnum* adStatus,
  1602. [in] _Connection* pConnection);
  1603. HRESULT _stdcall BeginTransComplete(
  1604. [in] long TransactionLevel,
  1605. [in] Error* pError,
  1606. [in, out] EventStatusEnum* adStatus,
  1607. [in] _Connection* pConnection);
  1608. HRESULT _stdcall CommitTransComplete(
  1609. [in] Error* pError,
  1610. [in, out] EventStatusEnum* adStatus,
  1611. [in] _Connection* pConnection);
  1612. HRESULT _stdcall RollbackTransComplete(
  1613. [in] Error* pError,
  1614. [in, out] EventStatusEnum* adStatus,
  1615. [in] _Connection* pConnection);
  1616. HRESULT _stdcall WillExecute(
  1617. [in, out] BSTR* Source,
  1618. [in, out] CursorTypeEnum* CursorType,
  1619. [in, out] LockTypeEnum* LockType,
  1620. [in, out] long* Options,
  1621. [in, out] EventStatusEnum* adStatus,
  1622. [in] _Command* pCommand,
  1623. [in] _Recordset* pRecordset,
  1624. [in] _Connection* pConnection);
  1625. HRESULT _stdcall ExecuteComplete(
  1626. [in] long RecordsAffected,
  1627. [in] Error* pError,
  1628. [in, out] EventStatusEnum* adStatus,
  1629. [in] _Command* pCommand,
  1630. [in] _Recordset* pRecordset,
  1631. [in] _Connection* pConnection);
  1632. HRESULT _stdcall WillConnect(
  1633. [in, out] BSTR* ConnectionString,
  1634. [in, out] BSTR* UserID,
  1635. [in, out] BSTR* Password,
  1636. [in, out] long* Options,
  1637. [in, out] EventStatusEnum* adStatus,
  1638. [in] _Connection* pConnection);
  1639. HRESULT _stdcall ConnectComplete(
  1640. [in] Error* pError,
  1641. [in, out] EventStatusEnum* adStatus,
  1642. [in] _Connection* pConnection);
  1643. HRESULT _stdcall Disconnect(
  1644. [in, out] EventStatusEnum* adStatus,
  1645. [in] _Connection* pConnection);
  1646. };
  1647. [
  1648. odl,
  1649. uuid(00000403-0000-0010-8000-00AA006D2EA4),
  1650. hidden
  1651. ]
  1652. interface RecordsetEventsVt : IUnknown {
  1653. HRESULT _stdcall WillChangeField(
  1654. [in] long cFields,
  1655. [in] VARIANT Fields,
  1656. [in, out] EventStatusEnum* adStatus,
  1657. [in] _Recordset* pRecordset);
  1658. HRESULT _stdcall FieldChangeComplete(
  1659. [in] long cFields,
  1660. [in] VARIANT Fields,
  1661. [in] Error* pError,
  1662. [in, out] EventStatusEnum* adStatus,
  1663. [in] _Recordset* pRecordset);
  1664. HRESULT _stdcall WillChangeRecord(
  1665. [in] EventReasonEnum adReason,
  1666. [in] long cRecords,
  1667. [in, out] EventStatusEnum* adStatus,
  1668. [in] _Recordset* pRecordset);
  1669. HRESULT _stdcall RecordChangeComplete(
  1670. [in] EventReasonEnum adReason,
  1671. [in] long cRecords,
  1672. [in] Error* pError,
  1673. [in, out] EventStatusEnum* adStatus,
  1674. [in] _Recordset* pRecordset);
  1675. HRESULT _stdcall WillChangeRecordset(
  1676. [in] EventReasonEnum adReason,
  1677. [in, out] EventStatusEnum* adStatus,
  1678. [in] _Recordset* pRecordset);
  1679. HRESULT _stdcall RecordsetChangeComplete(
  1680. [in] EventReasonEnum adReason,
  1681. [in] Error* pError,
  1682. [in, out] EventStatusEnum* adStatus,
  1683. [in] _Recordset* pRecordset);
  1684. HRESULT _stdcall WillMove(
  1685. [in] EventReasonEnum adReason,
  1686. [in, out] EventStatusEnum* adStatus,
  1687. [in] _Recordset* pRecordset);
  1688. HRESULT _stdcall MoveComplete(
  1689. [in] EventReasonEnum adReason,
  1690. [in] Error* pError,
  1691. [in, out] EventStatusEnum* adStatus,
  1692. [in] _Recordset* pRecordset);
  1693. HRESULT _stdcall EndOfRecordset(
  1694. [in, out] VARIANT_BOOL* fMoreData,
  1695. [in, out] EventStatusEnum* adStatus,
  1696. [in] _Recordset* pRecordset);
  1697. HRESULT _stdcall FetchProgress(
  1698. [in] long Progress,
  1699. [in] long MaxProgress,
  1700. [in, out] EventStatusEnum* adStatus,
  1701. [in] _Recordset* pRecordset);
  1702. HRESULT _stdcall FetchComplete(
  1703. [in] Error* pError,
  1704. [in, out] EventStatusEnum* adStatus,
  1705. [in] _Recordset* pRecordset);
  1706. };
  1707. [
  1708. uuid(00000400-0000-0010-8000-00AA006D2EA4)
  1709. ]
  1710. dispinterface ConnectionEvents {
  1711. properties:
  1712. methods:
  1713. [id(00000000)]
  1714. HRESULT InfoMessage(
  1715. [in] Error* pError,
  1716. [in, out] EventStatusEnum* adStatus,
  1717. [in] _Connection* pConnection);
  1718. [id(0x00000001)]
  1719. HRESULT BeginTransComplete(
  1720. [in] long TransactionLevel,
  1721. [in] Error* pError,
  1722. [in, out] EventStatusEnum* adStatus,
  1723. [in] _Connection* pConnection);
  1724. [id(0x00000003)]
  1725. HRESULT CommitTransComplete(
  1726. [in] Error* pError,
  1727. [in, out] EventStatusEnum* adStatus,
  1728. [in] _Connection* pConnection);
  1729. [id(0x00000002)]
  1730. HRESULT RollbackTransComplete(
  1731. [in] Error* pError,
  1732. [in, out] EventStatusEnum* adStatus,
  1733. [in] _Connection* pConnection);
  1734. [id(0x00000004)]
  1735. HRESULT WillExecute(
  1736. [in, out] BSTR* Source,
  1737. [in, out] CursorTypeEnum* CursorType,
  1738. [in, out] LockTypeEnum* LockType,
  1739. [in, out] long* Options,
  1740. [in, out] EventStatusEnum* adStatus,
  1741. [in] _Command* pCommand,
  1742. [in] _Recordset* pRecordset,
  1743. [in] _Connection* pConnection);
  1744. [id(0x00000005)]
  1745. HRESULT ExecuteComplete(
  1746. [in] long RecordsAffected,
  1747. [in] Error* pError,
  1748. [in, out] EventStatusEnum* adStatus,
  1749. [in] _Command* pCommand,
  1750. [in] _Recordset* pRecordset,
  1751. [in] _Connection* pConnection);
  1752. [id(0x00000006)]
  1753. HRESULT WillConnect(
  1754. [in, out] BSTR* ConnectionString,
  1755. [in, out] BSTR* UserID,
  1756. [in, out] BSTR* Password,
  1757. [in, out] long* Options,
  1758. [in, out] EventStatusEnum* adStatus,
  1759. [in] _Connection* pConnection);
  1760. [id(0x00000007)]
  1761. HRESULT ConnectComplete(
  1762. [in] Error* pError,
  1763. [in, out] EventStatusEnum* adStatus,
  1764. [in] _Connection* pConnection);
  1765. [id(0x00000008)]
  1766. HRESULT Disconnect(
  1767. [in, out] EventStatusEnum* adStatus,
  1768. [in] _Connection* pConnection);
  1769. };
  1770. [
  1771. uuid(00000266-0000-0010-8000-00AA006D2EA4)
  1772. ]
  1773. dispinterface RecordsetEvents {
  1774. properties:
  1775. methods:
  1776. [id(0x00000009)]
  1777. HRESULT WillChangeField(
  1778. [in] long cFields,
  1779. [in] VARIANT Fields,
  1780. [in, out] EventStatusEnum* adStatus,
  1781. [in] _Recordset* pRecordset);
  1782. [id(0x0000000a)]
  1783. HRESULT FieldChangeComplete(
  1784. [in] long cFields,
  1785. [in] VARIANT Fields,
  1786. [in] Error* pError,
  1787. [in, out] EventStatusEnum* adStatus,
  1788. [in] _Recordset* pRecordset);
  1789. [id(0x0000000b)]
  1790. HRESULT WillChangeRecord(
  1791. [in] EventReasonEnum adReason,
  1792. [in] long cRecords,
  1793. [in, out] EventStatusEnum* adStatus,
  1794. [in] _Recordset* pRecordset);
  1795. [id(0x0000000c)]
  1796. HRESULT RecordChangeComplete(
  1797. [in] EventReasonEnum adReason,
  1798. [in] long cRecords,
  1799. [in] Error* pError,
  1800. [in, out] EventStatusEnum* adStatus,
  1801. [in] _Recordset* pRecordset);
  1802. [id(0x0000000d)]
  1803. HRESULT WillChangeRecordset(
  1804. [in] EventReasonEnum adReason,
  1805. [in, out] EventStatusEnum* adStatus,
  1806. [in] _Recordset* pRecordset);
  1807. [id(0x0000000e)]
  1808. HRESULT RecordsetChangeComplete(
  1809. [in] EventReasonEnum adReason,
  1810. [in] Error* pError,
  1811. [in, out] EventStatusEnum* adStatus,
  1812. [in] _Recordset* pRecordset);
  1813. [id(0x0000000f)]
  1814. HRESULT WillMove(
  1815. [in] EventReasonEnum adReason,
  1816. [in, out] EventStatusEnum* adStatus,
  1817. [in] _Recordset* pRecordset);
  1818. [id(0x00000010)]
  1819. HRESULT MoveComplete(
  1820. [in] EventReasonEnum adReason,
  1821. [in] Error* pError,
  1822. [in, out] EventStatusEnum* adStatus,
  1823. [in] _Recordset* pRecordset);
  1824. [id(0x00000011)]
  1825. HRESULT EndOfRecordset(
  1826. [in, out] VARIANT_BOOL* fMoreData,
  1827. [in, out] EventStatusEnum* adStatus,
  1828. [in] _Recordset* pRecordset);
  1829. [id(0x00000012)]
  1830. HRESULT FetchProgress(
  1831. [in] long Progress,
  1832. [in] long MaxProgress,
  1833. [in, out] EventStatusEnum* adStatus,
  1834. [in] _Recordset* pRecordset);
  1835. [id(0x00000013)]
  1836. HRESULT FetchComplete(
  1837. [in] Error* pError,
  1838. [in, out] EventStatusEnum* adStatus,
  1839. [in] _Recordset* pRecordset);
  1840. };
  1841. [
  1842. odl,
  1843. uuid(00000516-0000-0010-8000-00AA006D2EA4),
  1844. restricted
  1845. ]
  1846. interface ADOConnectionConstruction15 : IUnknown {
  1847. [propget]
  1848. HRESULT _stdcall DSO([out, retval] IUnknown** ppDSO);
  1849. [propget]
  1850. HRESULT _stdcall Session([out, retval] IUnknown** ppSession);
  1851. HRESULT _stdcall WrapDSOandSession(
  1852. [in] IUnknown* pDSO,
  1853. [in] IUnknown* pSession);
  1854. };
  1855. [
  1856. odl,
  1857. uuid(00000551-0000-0010-8000-00AA006D2EA4),
  1858. restricted
  1859. ]
  1860. interface ADOConnectionConstruction : ADOConnectionConstruction15 {
  1861. };
  1862. [
  1863. odl,
  1864. uuid(00000283-0000-0010-8000-00AA006D2EA4),
  1865. restricted
  1866. ]
  1867. interface ADORecordsetConstruction : IDispatch {
  1868. [propget]
  1869. HRESULT _stdcall Rowset([out, retval] IUnknown** ppRowset);
  1870. [propput]
  1871. HRESULT _stdcall Rowset([in] IUnknown* ppRowset);
  1872. [propget]
  1873. HRESULT _stdcall Chapter([out, retval] ADO_LONGPTR* plChapter);
  1874. [propput]
  1875. HRESULT _stdcall Chapter([in] ADO_LONGPTR plChapter);
  1876. [propget]
  1877. HRESULT _stdcall RowPosition([out, retval] IUnknown** ppRowPos);
  1878. [propput]
  1879. HRESULT _stdcall RowPosition([in] IUnknown* ppRowPos);
  1880. };
  1881. [
  1882. odl,
  1883. uuid(00000517-0000-0010-8000-00AA006D2EA4),
  1884. restricted
  1885. ]
  1886. interface ADOCommandConstruction : IUnknown {
  1887. [propget]
  1888. HRESULT _stdcall OLEDBCommand([out, retval] IUnknown** ppOLEDBCommand);
  1889. [propput]
  1890. HRESULT _stdcall OLEDBCommand([in] IUnknown* ppOLEDBCommand);
  1891. };
  1892. [
  1893. odl,
  1894. uuid(00000567-0000-0010-8000-00AA006D2EA4),
  1895. restricted
  1896. ]
  1897. interface ADORecordConstruction : IDispatch {
  1898. [propget]
  1899. HRESULT _stdcall Row([out, retval] IUnknown **ppRow);
  1900. [propput]
  1901. HRESULT _stdcall Row([in] IUnknown *pRow);
  1902. [propput]
  1903. HRESULT _stdcall ParentRow([in] IUnknown *pRow);
  1904. };
  1905. [
  1906. odl,
  1907. uuid(00000568-0000-0010-8000-00AA006D2EA4),
  1908. restricted
  1909. ]
  1910. interface ADOStreamConstruction : IDispatch
  1911. {
  1912. [propget]
  1913. HRESULT _stdcall Stream([out, retval] IUnknown **ppStm);
  1914. [propput]
  1915. HRESULT _stdcall Stream([in] IUnknown *pStm);
  1916. };
  1917. [
  1918. uuid(EF53050B-882E-4776-B643-EDA472E8E3F2),
  1919. version(2.7),
  1920. helpstring("Microsoft ActiveX Data Objects 2.7 Library")
  1921. ]
  1922. library ADODB
  1923. {
  1924. // TLib : OLE Automation : {00020430-0000-0000-C000-000000000046}
  1925. importlib("stdole2.tlb");
  1926. [
  1927. uuid(00000514-0000-0010-8000-00AA006D2EA4),
  1928. licensed
  1929. ]
  1930. coclass Connection {
  1931. [default] interface _Connection;
  1932. [default, source] dispinterface ConnectionEvents;
  1933. };
  1934. [
  1935. uuid(00000507-0000-0010-8000-00AA006D2EA4),
  1936. licensed
  1937. ]
  1938. coclass Command {
  1939. [default] interface _Command;
  1940. };
  1941. [
  1942. uuid(00000535-0000-0010-8000-00AA006D2EA4),
  1943. licensed
  1944. ]
  1945. coclass Recordset {
  1946. [default] interface _Recordset;
  1947. [default, source] dispinterface RecordsetEvents;
  1948. };
  1949. [
  1950. uuid(0000050B-0000-0010-8000-00AA006D2EA4),
  1951. licensed
  1952. ]
  1953. coclass Parameter {
  1954. [default] interface _Parameter;
  1955. };
  1956. [
  1957. uuid(00000560-0000-0010-8000-00AA006D2EA4),
  1958. licensed
  1959. ]
  1960. coclass Record {
  1961. [default] interface _Record;
  1962. };
  1963. [
  1964. uuid(00000566-0000-0010-8000-00AA006D2EA4),
  1965. licensed
  1966. ]
  1967. coclass Stream {
  1968. [default] interface _Stream;
  1969. };
  1970. };