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

2089 lines
69 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. adErrConnectionStringTooLong = 3754
  410. } ErrorValueEnum;
  411. typedef [uuid(0000052B-0000-0010-8000-00AA006D2EA4)]
  412. enum {
  413. adParamSigned = 16,
  414. adParamNullable = 64,
  415. adParamLong = 128
  416. } ParameterAttributesEnum;
  417. typedef [uuid(0000052C-0000-0010-8000-00AA006D2EA4)]
  418. enum {
  419. adParamUnknown = 0,
  420. adParamInput = 1,
  421. adParamOutput = 2,
  422. adParamInputOutput = 3,
  423. adParamReturnValue = 4
  424. } ParameterDirectionEnum;
  425. typedef [uuid(0000052E-0000-0010-8000-00AA006D2EA4)]
  426. enum {
  427. adCmdUnspecified = -1,
  428. adCmdUnknown = 8,
  429. adCmdText = 1,
  430. adCmdTable = 2,
  431. adCmdStoredProc = 4,
  432. adCmdFile = 256,
  433. adCmdTableDirect = 512
  434. } CommandTypeEnum;
  435. typedef [uuid(00000530-0000-0010-8000-00AA006D2EA4)]
  436. enum {
  437. adStatusOK = 1,
  438. adStatusErrorsOccurred = 2,
  439. adStatusCantDeny = 3,
  440. adStatusCancel = 4,
  441. adStatusUnwantedEvent = 5
  442. } EventStatusEnum;
  443. typedef [uuid(00000531-0000-0010-8000-00AA006D2EA4)]
  444. enum {
  445. adRsnAddNew = 1,
  446. adRsnDelete = 2,
  447. adRsnUpdate = 3,
  448. adRsnUndoUpdate = 4,
  449. adRsnUndoAddNew = 5,
  450. adRsnUndoDelete = 6,
  451. adRsnRequery = 7,
  452. adRsnResynch = 8,
  453. adRsnClose = 9,
  454. adRsnMove = 10,
  455. adRsnFirstChange = 11,
  456. adRsnMoveFirst = 12,
  457. adRsnMoveNext = 13,
  458. adRsnMovePrevious = 14,
  459. adRsnMoveLast = 15
  460. } EventReasonEnum;
  461. typedef [uuid(00000533-0000-0010-8000-00AA006D2EA4)]
  462. enum {
  463. adSchemaProviderSpecific = -1,
  464. adSchemaAsserts = 0,
  465. adSchemaCatalogs = 1,
  466. adSchemaCharacterSets = 2,
  467. adSchemaCollations = 3,
  468. adSchemaColumns = 4,
  469. adSchemaCheckConstraints = 5,
  470. adSchemaConstraintColumnUsage = 6,
  471. adSchemaConstraintTableUsage = 7,
  472. adSchemaKeyColumnUsage = 8,
  473. [hidden] adSchemaReferentialContraints = 9,
  474. adSchemaReferentialConstraints = 9,
  475. adSchemaTableConstraints = 10,
  476. adSchemaColumnsDomainUsage = 11,
  477. adSchemaIndexes = 12,
  478. adSchemaColumnPrivileges = 13,
  479. adSchemaTablePrivileges = 14,
  480. adSchemaUsagePrivileges = 15,
  481. adSchemaProcedures = 16,
  482. adSchemaSchemata = 17,
  483. adSchemaSQLLanguages = 18,
  484. adSchemaStatistics = 19,
  485. adSchemaTables = 20,
  486. adSchemaTranslations = 21,
  487. adSchemaProviderTypes = 22,
  488. adSchemaViews = 23,
  489. adSchemaViewColumnUsage = 24,
  490. adSchemaViewTableUsage = 25,
  491. adSchemaProcedureParameters = 26,
  492. adSchemaForeignKeys = 27,
  493. adSchemaPrimaryKeys = 28,
  494. adSchemaProcedureColumns = 29,
  495. adSchemaDBInfoKeywords = 30,
  496. adSchemaDBInfoLiterals = 31,
  497. adSchemaCubes = 32,
  498. adSchemaDimensions = 33,
  499. adSchemaHierarchies = 34,
  500. adSchemaLevels = 35,
  501. adSchemaMeasures = 36,
  502. adSchemaProperties = 37,
  503. adSchemaMembers = 38,
  504. adSchemaTrustees = 39,
  505. adSchemaFunctions = 40,
  506. adSchemaActions = 41,
  507. adSchemaCommands = 42,
  508. adSchemaSets = 43
  509. } SchemaEnum;
  510. typedef [uuid(00000552-0000-0010-8000-00AA006D2EA4)]
  511. enum {
  512. adSeekFirstEQ = 1,
  513. adSeekLastEQ = 2,
  514. adSeekAfterEQ = 4,
  515. adSeekAfter = 8,
  516. adSeekBeforeEQ = 16,
  517. adSeekBefore = 32
  518. } SeekEnum;
  519. typedef [uuid(0000054A-0000-0010-8000-00AA006D2EA4)]
  520. enum {
  521. adCriteriaKey = 0,
  522. adCriteriaAllCols = 1,
  523. adCriteriaUpdCols = 2,
  524. adCriteriaTimeStamp = 3
  525. } ADCPROP_UPDATECRITERIA_ENUM;
  526. typedef [uuid(0000054B-0000-0010-8000-00AA006D2EA4)]
  527. enum {
  528. adPriorityLowest = 1,
  529. adPriorityBelowNormal = 2,
  530. adPriorityNormal = 3,
  531. adPriorityAboveNormal = 4,
  532. adPriorityHighest = 5
  533. } ADCPROP_ASYNCTHREADPRIORITY_ENUM;
  534. typedef [uuid(00000553-0000-0010-8000-00AA006D2EA4)]
  535. enum {
  536. adResyncNone = 0,
  537. adResyncAutoIncrement = 1,
  538. adResyncConflicts = 2,
  539. adResyncUpdates = 4,
  540. adResyncInserts = 8,
  541. adResyncAll = 15
  542. } CEResyncEnum;
  543. typedef [uuid(00000554-0000-0010-8000-00AA006D2EA4)]
  544. enum {
  545. adRecalcUpFront = 0,
  546. adRecalcAlways = 1
  547. } ADCPROP_AUTORECALC_ENUM;
  548. // Field states
  549. typedef [uuid(0000057E-0000-0010-8000-00AA006D2EA4)]
  550. enum FieldStatusEnum
  551. {
  552. adFieldOK = 0,
  553. adFieldCantConvertValue = 2,
  554. adFieldIsNull = 3,
  555. adFieldTruncated = 4,
  556. adFieldSignMismatch = 5,
  557. adFieldDataOverflow = 6,
  558. adFieldCantCreate = 7,
  559. adFieldUnavailable = 8,
  560. adFieldPermissionDenied = 9,
  561. adFieldIntegrityViolation = 10,
  562. adFieldSchemaViolation = 11,
  563. adFieldBadStatus = 12,
  564. adFieldDefault = 13,
  565. adFieldIgnore = 15,
  566. adFieldDoesNotExist = 16, //(&H10)
  567. adFieldInvalidURL = 17, //(&H11)
  568. adFieldResourceLocked = 18, //(&H12)
  569. adFieldResourceExists = 19, //(&H13)
  570. adFieldCannotComplete = 20, //(&H14)
  571. adFieldVolumeNotFound = 21, //(&H15)
  572. adFieldOutOfSpace = 22, //(&H16)
  573. adFieldCannotDeleteSource = 23, //(&H17)
  574. adFieldReadOnly = 24, //(&H18)
  575. adFieldResourceOutOfScope = 25, //(&H19)
  576. adFieldAlreadyExists = 26, //(&H1A)
  577. adFieldPendingInsert = 0x10000,
  578. adFieldPendingDelete = 0x20000,
  579. adFieldPendingChange = 0x40000,
  580. adFieldPendingUnknown = 0x80000,
  581. adFieldPendingUnknownDelete = 0x100000
  582. }
  583. FieldStatusEnum;
  584. typedef [uuid(00000570-0000-0010-8000-00AA006D2EA4)]
  585. enum {
  586. adCreateCollection = 0x00002000,
  587. adCreateStructDoc = 0x80000000,
  588. adCreateNonCollection = 0x00000000,
  589. adOpenIfExists = 0x02000000,
  590. adCreateOverwrite = 0x04000000,
  591. adFailIfNotExists = -1
  592. } RecordCreateOptionsEnum;
  593. typedef [uuid(00000571-0000-0010-8000-00AA006D2EA4)]
  594. enum {
  595. adOpenRecordUnspecified = -1,
  596. [hidden]adOpenSource = 0x00800000,
  597. adOpenOutput = 0x00800000,
  598. adOpenAsync = 0x00001000,
  599. adDelayFetchStream = 0x00004000,
  600. adDelayFetchFields = 0x00008000,
  601. adOpenExecuteCommand = 0x00010000
  602. } RecordOpenOptionsEnum;
  603. typedef [uuid(00000573-0000-0010-8000-00AA006D2EA4)]
  604. enum {
  605. adMoveUnspecified = -1,
  606. adMoveOverWrite = 1,
  607. adMoveDontUpdateLinks = 2,
  608. adMoveAllowEmulation = 4
  609. } MoveRecordOptionsEnum;
  610. typedef [uuid(00000574-0000-0010-8000-00AA006D2EA4)]
  611. enum {
  612. adCopyUnspecified = -1,
  613. adCopyOverWrite = 1,
  614. adCopyAllowEmulation = 4,
  615. adCopyNonRecursive = 2
  616. } CopyRecordOptionsEnum;
  617. typedef [uuid(00000576-0000-0010-8000-00AA006D2EA4)]
  618. enum {
  619. adTypeBinary = 1,
  620. adTypeText = 2
  621. } StreamTypeEnum;
  622. typedef [uuid(00000577-0000-0010-8000-00AA006D2EA4)]
  623. enum {
  624. adLF = 10,
  625. adCR = 13,
  626. adCRLF = -1
  627. } LineSeparatorEnum;
  628. typedef [uuid(0000057A-0000-0010-8000-00AA006D2EA4)]
  629. enum {
  630. adOpenStreamUnspecified = -1,
  631. adOpenStreamAsync = 1,
  632. adOpenStreamFromRecord = 4
  633. #ifdef ADOSTREAMFROMCMD
  634. ,
  635. adOpenStreamFromCommand = 8
  636. #endif //ADOSTREAMFROMCMD
  637. } StreamOpenOptionsEnum;
  638. typedef [uuid(0000057B-0000-0010-8000-00AA006D2EA4)]
  639. enum
  640. {
  641. adWriteChar = 0,
  642. adWriteLine = 1
  643. }
  644. StreamWriteEnum;
  645. typedef [uuid(0000057C-0000-0010-8000-00AA006D2EA4)]
  646. enum
  647. {
  648. adSaveCreateNotExist = 1,
  649. adSaveCreateOverWrite = 2
  650. }
  651. SaveOptionsEnum;
  652. // Special Fields
  653. typedef enum
  654. {
  655. adDefaultStream = -1,
  656. adRecordURL = -2
  657. }
  658. FieldEnum;
  659. // stream read options
  660. typedef enum
  661. {
  662. adReadAll = -1,
  663. adReadLine = -2
  664. }
  665. StreamReadEnum;
  666. typedef [uuid(0000057D-0000-0010-8000-00AA006D2EA4)]
  667. enum
  668. {
  669. adSimpleRecord = 0,
  670. adCollectionRecord = 1,
  671. adStructDoc = 2
  672. }
  673. RecordTypeEnum;
  674. [
  675. odl,
  676. uuid(00000512-0000-0010-8000-00AA006D2EA4),
  677. dual,
  678. nonextensible,
  679. oleautomation
  680. ]
  681. interface _Collection : IDispatch {
  682. [id(0x60020000), propget]
  683. HRESULT _stdcall Count([out, retval] long* c);
  684. [id(0xfffffffc), restricted]
  685. HRESULT _stdcall _NewEnum([out, retval] IUnknown** ppvObject);
  686. [id(0x60020002)]
  687. HRESULT _stdcall Refresh();
  688. };
  689. [
  690. odl,
  691. uuid(00000513-0000-0010-8000-00AA006D2EA4),
  692. dual,
  693. nonextensible,
  694. oleautomation
  695. ]
  696. interface _DynaCollection : _Collection {
  697. [id(0x60030000)]
  698. HRESULT _stdcall Append([in] IDispatch* Object);
  699. [id(0x60030001)]
  700. HRESULT _stdcall Delete([in] VARIANT Index);
  701. };
  702. [
  703. odl,
  704. uuid(00000534-0000-0010-8000-00AA006D2EA4),
  705. dual,
  706. nonextensible,
  707. oleautomation
  708. ]
  709. interface _ADO : IDispatch {
  710. [id(0x000001f4), propget]
  711. HRESULT _stdcall Properties([out, retval] Properties** ppvObject);
  712. };
  713. [
  714. odl,
  715. uuid(00000504-0000-0010-8000-00AA006D2EA4),
  716. dual,
  717. nonextensible,
  718. oleautomation
  719. ]
  720. interface Properties : _Collection {
  721. [id(00000000), propget]
  722. HRESULT _stdcall Item(
  723. [in] VARIANT Index,
  724. [out, retval] Property** ppvObject);
  725. };
  726. [
  727. odl,
  728. uuid(00000503-0000-0010-8000-00AA006D2EA4),
  729. dual,
  730. nonextensible,
  731. oleautomation
  732. ]
  733. interface Property : IDispatch {
  734. [id(00000000), propget]
  735. HRESULT _stdcall Value([out, retval] VARIANT* pval);
  736. [id(00000000), propput]
  737. HRESULT _stdcall Value([in] VARIANT pval);
  738. [id(0x60020002), propget]
  739. HRESULT _stdcall Name([out, retval] BSTR* pbstr);
  740. [id(0x60020003), propget]
  741. HRESULT _stdcall Type([out, retval] DataTypeEnum* ptype);
  742. [id(0x60020004), propget]
  743. HRESULT _stdcall Attributes([out, retval] long* plAttributes);
  744. [id(0x60020004), propput]
  745. HRESULT _stdcall Attributes([in] long plAttributes);
  746. };
  747. [
  748. odl,
  749. uuid(00000500-0000-0010-8000-00AA006D2EA4),
  750. dual,
  751. nonextensible,
  752. oleautomation
  753. ]
  754. interface Error : IDispatch {
  755. [id(0x60020000), propget]
  756. HRESULT _stdcall Number([out, retval] long* pl);
  757. [id(0x60020001), propget]
  758. HRESULT _stdcall Source([out, retval] BSTR* pbstr);
  759. [id(00000000), propget]
  760. HRESULT _stdcall Description([out, retval] BSTR* pbstr);
  761. [id(0x60020003), propget]
  762. HRESULT _stdcall HelpFile([out, retval] BSTR* pbstr);
  763. [id(0x60020004), propget]
  764. HRESULT _stdcall HelpContext([out, retval] long* pl);
  765. [id(0x60020005), propget]
  766. HRESULT _stdcall SQLState([out, retval] BSTR* pbstr);
  767. [id(0x60020006), propget]
  768. HRESULT _stdcall NativeError([out, retval] long* pl);
  769. };
  770. [
  771. odl,
  772. uuid(00000501-0000-0010-8000-00AA006D2EA4),
  773. dual,
  774. nonextensible,
  775. oleautomation
  776. ]
  777. interface Errors : _Collection {
  778. [id(00000000), propget]
  779. HRESULT _stdcall Item(
  780. [in] VARIANT Index,
  781. [out, retval] Error** ppvObject);
  782. [id(0x60030001)]
  783. HRESULT _stdcall Clear();
  784. };
  785. [
  786. odl,
  787. uuid(00000508-0000-0010-8000-00AA006D2EA4),
  788. dual,
  789. nonextensible,
  790. oleautomation
  791. ]
  792. interface Command15 : _ADO {
  793. [id(0x60030000), propget]
  794. HRESULT _stdcall ActiveConnection([out, retval] _Connection** ppvObject);
  795. [id(0x60030000), propputref]
  796. HRESULT _stdcall ActiveConnection([in] _Connection* ppvObject);
  797. [id(0x60030000), propput]
  798. HRESULT _stdcall ActiveConnection([in] VARIANT ppvObject);
  799. [id(0x60030003), propget]
  800. HRESULT _stdcall CommandText([out, retval] BSTR* pbstr);
  801. [id(0x60030003), propput]
  802. HRESULT _stdcall CommandText([in] BSTR pbstr);
  803. [id(0x60030005), propget]
  804. HRESULT _stdcall CommandTimeout([out, retval] long* pl);
  805. [id(0x60030005), propput]
  806. HRESULT _stdcall CommandTimeout([in] long pl);
  807. [id(0x60030007), propget]
  808. HRESULT _stdcall Prepared([out, retval] VARIANT_BOOL* pfPrepared);
  809. [id(0x60030007), propput]
  810. HRESULT _stdcall Prepared([in] VARIANT_BOOL pfPrepared);
  811. [id(0x60030009)]
  812. HRESULT _stdcall Execute(
  813. [out, optional] VARIANT* RecordsAffected,
  814. [in, optional] VARIANT* Parameters,
  815. [in, defaultvalue(-1)] long Options,
  816. [out, retval] _Recordset** ppiRs);
  817. [id(0x6003000a)]
  818. HRESULT _stdcall CreateParameter(
  819. [in, defaultvalue("")] BSTR Name,
  820. [in, defaultvalue(adEmpty)] DataTypeEnum Type,
  821. [in, defaultvalue(adParamInput)] ParameterDirectionEnum Direction,
  822. [in, defaultvalue(0)] ADO_LONGPTR Size,
  823. [in, optional] VARIANT Value,
  824. [out, retval] _Parameter** ppiprm);
  825. [id(00000000), propget]
  826. HRESULT _stdcall Parameters([out, retval] Parameters** ppvObject);
  827. [id(0x6003000c), propput]
  828. HRESULT _stdcall CommandType([in] CommandTypeEnum plCmdType);
  829. [id(0x6003000c), propget]
  830. HRESULT _stdcall CommandType([out, retval] CommandTypeEnum* plCmdType);
  831. [id(0x6003000e), propget]
  832. HRESULT _stdcall Name([out, retval] BSTR* pbstrName);
  833. [id(0x6003000e), propput]
  834. HRESULT _stdcall Name([in] BSTR pbstrName);
  835. };
  836. [
  837. odl,
  838. uuid(0000054E-0000-0010-8000-00AA006D2EA4),
  839. dual,
  840. nonextensible,
  841. oleautomation
  842. ]
  843. interface Command25 : Command15 {
  844. [id(0x60030010), propget]
  845. HRESULT _stdcall State([out, retval] long* plObjState);
  846. [id(0x60030011)]
  847. HRESULT _stdcall Cancel();
  848. };
  849. [
  850. odl,
  851. uuid(B08400BD-F9D1-4D02-B856-71D5DBA123E9),
  852. dual,
  853. nonextensible,
  854. oleautomation
  855. ]
  856. interface _Command : Command25 {
  857. [id(0x60030012), propputref]
  858. HRESULT _stdcall CommandStream([in] IUnknown *pStream);
  859. [id(0x60030012), propget]
  860. HRESULT _stdcall CommandStream([out, retval] VARIANT* pvStream);
  861. [id(0x60030013), propput]
  862. HRESULT _stdcall Dialect([in] BSTR bstrDialect);
  863. [id(0x60030013), propget]
  864. HRESULT _stdcall Dialect([out, retval] BSTR* pbstrDialect);
  865. [id(0x60030014), propput]
  866. HRESULT _stdcall NamedParameters([in] VARIANT_BOOL fNamedParameters);
  867. [id(0x60030014), propget]
  868. HRESULT _stdcall NamedParameters([out, retval] VARIANT_BOOL* pfNamedParameters);
  869. };
  870. [
  871. odl,
  872. uuid(00000515-0000-0010-8000-00AA006D2EA4),
  873. dual,
  874. oleautomation
  875. ]
  876. interface Connection15 : _ADO {
  877. [id(00000000), propget]
  878. HRESULT _stdcall ConnectionString([out, retval] BSTR* pbstr);
  879. [id(00000000), propput]
  880. HRESULT _stdcall ConnectionString([in] BSTR pbstr);
  881. [id(0x00000002), propget]
  882. HRESULT _stdcall CommandTimeout([out, retval] long* plTimeout);
  883. [id(0x00000002), propput]
  884. HRESULT _stdcall CommandTimeout([in] long plTimeout);
  885. [id(0x00000003), propget]
  886. HRESULT _stdcall ConnectionTimeout([out, retval] long* plTimeout);
  887. [id(0x00000003), propput]
  888. HRESULT _stdcall ConnectionTimeout([in] long plTimeout);
  889. [id(0x00000004), propget]
  890. HRESULT _stdcall Version([out, retval] BSTR* pbstr);
  891. [id(0x00000005)]
  892. HRESULT _stdcall Close();
  893. [id(0x00000006)]
  894. HRESULT _stdcall Execute(
  895. [in] BSTR CommandText,
  896. [out, optional] VARIANT* RecordsAffected,
  897. [in, defaultvalue(-1)] long Options,
  898. [out, retval] _Recordset** ppiRset);
  899. [id(0x00000007)]
  900. HRESULT _stdcall BeginTrans([out, retval] long* TransactionLevel);
  901. [id(0x00000008)]
  902. HRESULT _stdcall CommitTrans();
  903. [id(0x00000009)]
  904. HRESULT _stdcall RollbackTrans();
  905. [id(0x0000000a)]
  906. HRESULT _stdcall Open(
  907. [in, defaultvalue("")] BSTR ConnectionString,
  908. [in, defaultvalue("")] BSTR UserID,
  909. [in, defaultvalue("")] BSTR Password,
  910. [in, defaultvalue(-1)] long Options);
  911. [id(0x0000000b), propget]
  912. HRESULT _stdcall Errors([out, retval] Errors** ppvObject);
  913. [id(0x0000000c), propget]
  914. HRESULT _stdcall DefaultDatabase([out, retval] BSTR* pbstr);
  915. [id(0x0000000c), propput]
  916. HRESULT _stdcall DefaultDatabase([in] BSTR pbstr);
  917. [id(0x0000000d), propget]
  918. HRESULT _stdcall IsolationLevel([out, retval] IsolationLevelEnum* Level);
  919. [id(0x0000000d), propput]
  920. HRESULT _stdcall IsolationLevel([in] IsolationLevelEnum Level);
  921. [id(0x0000000e), propget]
  922. HRESULT _stdcall Attributes([out, retval] long* plAttr);
  923. [id(0x0000000e), propput]
  924. HRESULT _stdcall Attributes([in] long plAttr);
  925. [id(0x0000000f), propget]
  926. HRESULT _stdcall CursorLocation([out, retval] CursorLocationEnum* plCursorLoc);
  927. [id(0x0000000f), propput]
  928. HRESULT _stdcall CursorLocation([in] CursorLocationEnum plCursorLoc);
  929. [id(0x00000010), propget]
  930. HRESULT _stdcall Mode([out, retval] ConnectModeEnum* plMode);
  931. [id(0x00000010), propput]
  932. HRESULT _stdcall Mode([in] ConnectModeEnum plMode);
  933. [id(0x00000011), propget]
  934. HRESULT _stdcall Provider([out, retval] BSTR* pbstr);
  935. [id(0x00000011), propput]
  936. HRESULT _stdcall Provider([in] BSTR pbstr);
  937. [id(0x00000012), propget]
  938. HRESULT _stdcall State([out, retval] long* plObjState);
  939. [id(0x00000013)]
  940. HRESULT _stdcall OpenSchema(
  941. [in] SchemaEnum Schema,
  942. [in, optional] VARIANT Restrictions,
  943. [in, optional] VARIANT SchemaID,
  944. [out, retval] _Recordset** pprset);
  945. };
  946. [
  947. odl,
  948. uuid(00000550-0000-0010-8000-00AA006D2EA4),
  949. dual,
  950. oleautomation
  951. ]
  952. interface _Connection : Connection15 {
  953. [id(0x00000015)]
  954. HRESULT _stdcall Cancel();
  955. };
  956. [
  957. odl,
  958. uuid(0000050E-0000-0010-8000-00AA006D2EA4),
  959. dual,
  960. nonextensible,
  961. oleautomation
  962. ]
  963. interface Recordset15 : _ADO {
  964. [id(0x000003e8), propget]
  965. HRESULT _stdcall AbsolutePosition([out, retval] PositionEnum_Param *pl);
  966. [id(0x000003e8), propput]
  967. HRESULT _stdcall AbsolutePosition([in] PositionEnum_Param pl);
  968. [id(0x000003e9), propputref]
  969. HRESULT _stdcall ActiveConnection([in] IDispatch* pvar);
  970. [id(0x000003e9), propput]
  971. HRESULT _stdcall ActiveConnection([in] VARIANT pvar);
  972. [id(0x000003e9), propget]
  973. HRESULT _stdcall ActiveConnection([out, retval] VARIANT* pvar);
  974. [id(0x000003ea), propget]
  975. HRESULT _stdcall BOF([out, retval] VARIANT_BOOL* pb);
  976. [id(0x000003eb), propget]
  977. HRESULT _stdcall Bookmark([out, retval] VARIANT* pvBookmark);
  978. [id(0x000003eb), propput]
  979. HRESULT _stdcall Bookmark([in] VARIANT pvBookmark);
  980. [id(0x000003ec), propget]
  981. HRESULT _stdcall CacheSize([out, retval] long* pl);
  982. [id(0x000003ec), propput]
  983. HRESULT _stdcall CacheSize([in] long pl);
  984. [id(0x000003ed), propget]
  985. HRESULT _stdcall CursorType([out, retval] CursorTypeEnum* plCursorType);
  986. [id(0x000003ed), propput]
  987. HRESULT _stdcall CursorType([in] CursorTypeEnum plCursorType);
  988. [id(0x000003ee), propget]
  989. HRESULT _stdcall EOF([out, retval] VARIANT_BOOL* pb);
  990. [id(00000000), propget]
  991. HRESULT _stdcall Fields([out, retval] Fields** ppvObject);
  992. [id(0x000003f0), propget]
  993. HRESULT _stdcall LockType([out, retval] LockTypeEnum* plLockType);
  994. [id(0x000003f0), propput]
  995. HRESULT _stdcall LockType([in] LockTypeEnum plLockType);
  996. [id(0x000003f1), propget]
  997. HRESULT _stdcall MaxRecords([out, retval] ADO_LONGPTR* plMaxRecords);
  998. [id(0x000003f1), propput]
  999. HRESULT _stdcall MaxRecords([in] ADO_LONGPTR plMaxRecords);
  1000. [id(0x000003f2), propget]
  1001. HRESULT _stdcall RecordCount([out, retval] ADO_LONGPTR* pl);
  1002. [id(0x000003f3), propputref]
  1003. HRESULT _stdcall Source([in] IDispatch* pvSource);
  1004. [id(0x000003f3), propput]
  1005. HRESULT _stdcall Source([in] BSTR pvSource);
  1006. [id(0x000003f3), propget]
  1007. HRESULT _stdcall Source([out, retval] VARIANT* pvSource);
  1008. [id(0x000003f4)]
  1009. HRESULT _stdcall AddNew(
  1010. [in, optional] VARIANT FieldList,
  1011. [in, optional] VARIANT Values);
  1012. [id(0x000003f5)]
  1013. HRESULT _stdcall CancelUpdate();
  1014. [id(0x000003f6)]
  1015. HRESULT _stdcall Close();
  1016. [id(0x000003f7)]
  1017. HRESULT _stdcall Delete([in, defaultvalue(adAffectCurrent)] AffectEnum AffectRecords);
  1018. [id(0x000003f8)]
  1019. HRESULT _stdcall GetRows(
  1020. [in, defaultvalue(-1)] long Rows,
  1021. [in, optional] VARIANT Start,
  1022. [in, optional] VARIANT Fields,
  1023. [out, retval] VARIANT* pvar);
  1024. [id(0x000003f9)]
  1025. HRESULT _stdcall Move(
  1026. [in] ADO_LONGPTR NumRecords,
  1027. [in, optional] VARIANT Start);
  1028. [id(0x000003fa)]
  1029. HRESULT _stdcall MoveNext();
  1030. [id(0x000003fb)]
  1031. HRESULT _stdcall MovePrevious();
  1032. [id(0x000003fc)]
  1033. HRESULT _stdcall MoveFirst();
  1034. [id(0x000003fd)]
  1035. HRESULT _stdcall MoveLast();
  1036. [id(0x000003fe)]
  1037. HRESULT _stdcall Open(
  1038. [in, optional] VARIANT Source,
  1039. [in, optional] VARIANT ActiveConnection,
  1040. [in, defaultvalue(adOpenUnspecified)] CursorTypeEnum CursorType,
  1041. [in, defaultvalue(adLockUnspecified)] LockTypeEnum LockType,
  1042. [in, defaultvalue(-1)] long Options);
  1043. [id(0x000003ff)]
  1044. HRESULT _stdcall Requery([in, defaultvalue(-1)] long Options);
  1045. [id(0x60030022), hidden]
  1046. HRESULT _stdcall _xResync([in, defaultvalue(adAffectAll)] AffectEnum AffectRecords);
  1047. [id(0x00000401)]
  1048. HRESULT _stdcall Update(
  1049. [in, optional] VARIANT Fields,
  1050. [in, optional] VARIANT Values);
  1051. [id(0x00000417), propget]
  1052. HRESULT _stdcall AbsolutePage([out, retval] PositionEnum_Param* pl);
  1053. [id(0x00000417), propput]
  1054. HRESULT _stdcall AbsolutePage([in] PositionEnum_Param pl);
  1055. [id(0x00000402), propget]
  1056. HRESULT _stdcall EditMode([out, retval] EditModeEnum* pl);
  1057. [id(0x00000406), propget]
  1058. HRESULT _stdcall Filter([out, retval] VARIANT* Criteria);
  1059. [id(0x00000406), propput]
  1060. HRESULT _stdcall Filter([in] VARIANT Criteria);
  1061. [id(0x0000041a), propget]
  1062. HRESULT _stdcall PageCount([out, retval] ADO_LONGPTR* pl);
  1063. [id(0x00000418), propget]
  1064. HRESULT _stdcall PageSize([out, retval] long* pl);
  1065. [id(0x00000418), propput]
  1066. HRESULT _stdcall PageSize([in] long pl);
  1067. [id(0x00000407), propget]
  1068. HRESULT _stdcall Sort([out, retval] BSTR* Criteria);
  1069. [id(0x00000407), propput]
  1070. HRESULT _stdcall Sort([in] BSTR Criteria);
  1071. [id(0x00000405), propget]
  1072. HRESULT _stdcall Status([out, retval] long* pl);
  1073. [id(0x0000041e), propget]
  1074. HRESULT _stdcall State([out, retval] long* plObjState);
  1075. [id(0x60030030), hidden]
  1076. HRESULT _stdcall _xClone([out, retval] _Recordset** ppvObject);
  1077. [id(0x0000040b)]
  1078. HRESULT _stdcall UpdateBatch([in, defaultvalue(adAffectAll)] AffectEnum AffectRecords);
  1079. [id(0x00000419)]
  1080. HRESULT _stdcall CancelBatch([in, defaultvalue(adAffectAll)] AffectEnum AffectRecords);
  1081. [id(0x0000041b), propget]
  1082. HRESULT _stdcall CursorLocation([out, retval] CursorLocationEnum* plCursorLoc);
  1083. [id(0x0000041b), propput]
  1084. HRESULT _stdcall CursorLocation([in] CursorLocationEnum plCursorLoc);
  1085. [id(0x0000041c)]
  1086. HRESULT _stdcall NextRecordset(
  1087. [out, optional] VARIANT* RecordsAffected,
  1088. [out, retval] _Recordset** ppiRs);
  1089. [id(0x0000040c)]
  1090. HRESULT _stdcall Supports(
  1091. [in] CursorOptionEnum CursorOptions,
  1092. [out, retval] VARIANT_BOOL* pb);
  1093. [id(0xfffffff8), propget, hidden]
  1094. HRESULT _stdcall Collect(
  1095. [in] VARIANT Index,
  1096. [out, retval] VARIANT* pvar);
  1097. [id(0xfffffff8), propput, hidden]
  1098. HRESULT _stdcall Collect(
  1099. [in] VARIANT Index,
  1100. [in] VARIANT pvar);
  1101. [id(0x0000041d), propget]
  1102. HRESULT _stdcall MarshalOptions([out, retval] MarshalOptionsEnum* peMarshal);
  1103. [id(0x0000041d), propput]
  1104. HRESULT _stdcall MarshalOptions([in] MarshalOptionsEnum peMarshal);
  1105. [id(0x00000422)]
  1106. HRESULT _stdcall Find(
  1107. [in] BSTR Criteria,
  1108. [in, defaultvalue(0)] ADO_LONGPTR SkipRecords,
  1109. [in, defaultvalue(adSearchForward)] SearchDirectionEnum SearchDirection,
  1110. [in, optional] VARIANT Start);
  1111. };
  1112. [
  1113. odl,
  1114. uuid(0000054F-0000-0010-8000-00AA006D2EA4),
  1115. dual,
  1116. nonextensible,
  1117. oleautomation
  1118. ]
  1119. interface Recordset20 : Recordset15 {
  1120. [id(0x0000041f)]
  1121. HRESULT _stdcall Cancel();
  1122. [id(0x00000420), propget]
  1123. HRESULT _stdcall DataSource([out, retval] IUnknown** ppunkDataSource);
  1124. [id(0x00000420), propputref]
  1125. HRESULT _stdcall DataSource([in] IUnknown* ppunkDataSource);
  1126. [hidden]
  1127. HRESULT _stdcall _xSave(
  1128. [in, optional] BSTR FileName,
  1129. [in, defaultvalue(adPersistADTG)] PersistFormatEnum PersistFormat);
  1130. [id(0x00000425), propget]
  1131. HRESULT _stdcall ActiveCommand([out, retval] IDispatch** ppCmd);
  1132. [id(0x00000427), propput]
  1133. HRESULT _stdcall StayInSync([in] VARIANT_BOOL pbStayInSync);
  1134. [id(0x00000427), propget]
  1135. HRESULT _stdcall StayInSync([out, retval] VARIANT_BOOL* pbStayInSync);
  1136. [id(0x00000426)]
  1137. HRESULT _stdcall GetString(
  1138. [in, defaultvalue(adClipString)] StringFormatEnum StringFormat,
  1139. [in, defaultvalue(-1)] long NumRows,
  1140. [in, optional] BSTR ColumnDelimeter,
  1141. [in, optional] BSTR RowDelimeter,
  1142. [in, optional] BSTR NullExpr,
  1143. [out, retval] BSTR* pRetString);
  1144. [id(0x00000428), propget]
  1145. HRESULT _stdcall DataMember([out, retval] BSTR* pbstrDataMember);
  1146. [id(0x00000428), propput]
  1147. HRESULT _stdcall DataMember([in] BSTR pbstrDataMember);
  1148. [id(0x00000429)]
  1149. HRESULT _stdcall CompareBookmarks(
  1150. [in] VARIANT Bookmark1,
  1151. [in] VARIANT Bookmark2,
  1152. [out, retval] CompareEnum* pCompare);
  1153. [id(0x0000040a)]
  1154. HRESULT _stdcall Clone(
  1155. [in, defaultvalue(adLockUnspecified)] LockTypeEnum LockType,
  1156. [out, retval] _Recordset** ppvObject);
  1157. [id(0x00000400)]
  1158. HRESULT _stdcall Resync(
  1159. [in, defaultvalue(adAffectAll)] AffectEnum AffectRecords,
  1160. [in, defaultvalue(adResyncAllValues)] ResyncEnum ResyncValues);
  1161. };
  1162. [
  1163. odl,
  1164. uuid(00000555-0000-0010-8000-00AA006D2EA4),
  1165. dual,
  1166. nonextensible,
  1167. oleautomation
  1168. ]
  1169. interface Recordset21 : Recordset20 {
  1170. [id(0x0000042a), helpcontext(0x001356db)]
  1171. HRESULT _stdcall Seek(
  1172. [in] VARIANT KeyValues,
  1173. [in, defaultvalue(adSeekFirstEQ)] SeekEnum SeekOption);
  1174. [id(0x0000042b), propput, helpcontext(0x001356da)]
  1175. HRESULT _stdcall Index([in] BSTR pbstrIndex);
  1176. [id(0x0000042b), propget, helpcontext(0x001356da)]
  1177. HRESULT _stdcall Index([out, retval] BSTR* pbstrIndex);
  1178. };
  1179. [
  1180. odl,
  1181. uuid(00000556-0000-0010-8000-00AA006D2EA4),
  1182. dual,
  1183. nonextensible,
  1184. oleautomation
  1185. ]
  1186. interface _Recordset : Recordset21
  1187. {
  1188. [
  1189. id(0x00000421),
  1190. helpcontext(0x0012C8DF)
  1191. ]
  1192. HRESULT Save(
  1193. [in, optional] VARIANT Destination,
  1194. [in, defaultvalue(adPersistADTG)] PersistFormatEnum PersistFormat
  1195. );
  1196. }
  1197. [
  1198. odl,
  1199. uuid(00000506-0000-0010-8000-00AA006D2EA4),
  1200. dual,
  1201. nonextensible,
  1202. oleautomation
  1203. ]
  1204. interface Fields15 : _Collection {
  1205. [id(00000000), propget]
  1206. HRESULT _stdcall Item(
  1207. [in] VARIANT Index,
  1208. [out, retval] Field** ppvObject);
  1209. };
  1210. [
  1211. odl,
  1212. uuid(0000054D-0000-0010-8000-00AA006D2EA4),
  1213. dual,
  1214. nonextensible,
  1215. oleautomation
  1216. ]
  1217. interface Fields20 : Fields15 {
  1218. [id(0x60030001)]
  1219. HRESULT _stdcall _Append(
  1220. [in] BSTR Name,
  1221. [in] DataTypeEnum Type,
  1222. [in, defaultvalue(0)] ADO_LONGPTR DefinedSize,
  1223. [in, defaultvalue(adFldUnspecified)] FieldAttributeEnum Attrib);
  1224. [id(0x60030002)]
  1225. HRESULT _stdcall Delete([in] VARIANT Index);
  1226. };
  1227. [
  1228. odl,
  1229. uuid(00000564-0000-0010-8000-00AA006D2EA4),
  1230. dual,
  1231. nonextensible,
  1232. oleautomation
  1233. ]
  1234. interface Fields : Fields20
  1235. {
  1236. [id(0x60040001)]
  1237. HRESULT _stdcall Append(
  1238. [in] BSTR Name,
  1239. [in] DataTypeEnum Type,
  1240. [in, defaultvalue(0)] ADO_LONGPTR DefinedSize,
  1241. [in, defaultvalue(adFldUnspecified)] FieldAttributeEnum Attrib,
  1242. [in, optional] VARIANT FieldValue);
  1243. [id(0x60040002)]
  1244. HRESULT _stdcall Update();
  1245. [id(0x60040003)]
  1246. HRESULT _stdcall Resync([in, defaultvalue(adResyncAllValues)] ResyncEnum ResyncValues);
  1247. [id(0x60040004)]
  1248. HRESULT _stdcall CancelUpdate();
  1249. };
  1250. [
  1251. odl,
  1252. uuid(00000505-0000-0010-8000-00AA006D2EA4),
  1253. dual,
  1254. nonextensible,
  1255. oleautomation
  1256. ]
  1257. interface Field15 : _ADO {
  1258. [id(0x00000455), propget]
  1259. HRESULT _stdcall ActualSize([out, retval] ADO_LONGPTR* pl);
  1260. [id(0x0000040c), propget]
  1261. HRESULT _stdcall Attributes([out, retval] long* pl);
  1262. [id(0x0000044f), propget]
  1263. HRESULT _stdcall DefinedSize([out, retval] ADO_LONGPTR* pl);
  1264. [id(0x0000044c), propget]
  1265. HRESULT _stdcall Name([out, retval] BSTR* pbstr);
  1266. [id(0x0000044e), propget]
  1267. HRESULT _stdcall Type([out, retval] DataTypeEnum* pDataType);
  1268. [id(00000000), propget]
  1269. HRESULT _stdcall Value([out, retval] VARIANT* pvar);
  1270. [id(00000000), propput]
  1271. HRESULT _stdcall Value([in] VARIANT pvar);
  1272. [id(0x60030007), propget]
  1273. HRESULT _stdcall Precision([out, retval] unsigned char* pbPrecision);
  1274. [id(0x60030008), propget]
  1275. HRESULT _stdcall NumericScale([out, retval] unsigned char* pbNumericScale);
  1276. [id(0x00000453)]
  1277. HRESULT _stdcall AppendChunk([in] VARIANT Data);
  1278. [id(0x00000454)]
  1279. HRESULT _stdcall GetChunk(
  1280. [in] long Length,
  1281. [out, retval] VARIANT* pvar);
  1282. [id(0x00000450), propget]
  1283. HRESULT _stdcall OriginalValue([out, retval] VARIANT* pvar);
  1284. [id(0x00000451), propget]
  1285. HRESULT _stdcall UnderlyingValue([out, retval] VARIANT* pvar);
  1286. };
  1287. [
  1288. odl,
  1289. uuid(0000054C-0000-0010-8000-00AA006D2EA4),
  1290. dual,
  1291. nonextensible,
  1292. oleautomation,
  1293. hidden
  1294. ]
  1295. interface Field20 : _ADO {
  1296. [id(0x00000455), propget]
  1297. HRESULT _stdcall ActualSize([out, retval] ADO_LONGPTR* pl);
  1298. [id(0x0000040c), propget]
  1299. HRESULT _stdcall Attributes([out, retval] long* pl);
  1300. [id(0x0000044f), propget]
  1301. HRESULT _stdcall DefinedSize([out, retval] ADO_LONGPTR* pl);
  1302. [id(0x0000044c), propget]
  1303. HRESULT _stdcall Name([out, retval] BSTR* pbstr);
  1304. [id(0x0000044e), propget]
  1305. HRESULT _stdcall Type([out, retval] DataTypeEnum* pDataType);
  1306. [id(00000000), propget]
  1307. HRESULT _stdcall Value([out, retval] VARIANT* pvar);
  1308. [id(00000000), propput]
  1309. HRESULT _stdcall Value([in] VARIANT pvar);
  1310. [id(0x60030007), propget]
  1311. HRESULT _stdcall Precision([out, retval] unsigned char* pbPrecision);
  1312. [id(0x60030008), propget]
  1313. HRESULT _stdcall NumericScale([out, retval] unsigned char* pbNumericScale);
  1314. [id(0x00000453)]
  1315. HRESULT _stdcall AppendChunk([in] VARIANT Data);
  1316. [id(0x00000454)]
  1317. HRESULT _stdcall GetChunk(
  1318. [in] long Length,
  1319. [out, retval] VARIANT* pvar);
  1320. [id(0x00000450), propget]
  1321. HRESULT _stdcall OriginalValue([out, retval] VARIANT* pvar);
  1322. [id(0x00000451), propget]
  1323. HRESULT _stdcall UnderlyingValue([out, retval] VARIANT* pvar);
  1324. [id(0x6003000d), propget]
  1325. HRESULT _stdcall DataFormat([out, retval] IUnknown** ppiDF);
  1326. [id(0x6003000d), propputref]
  1327. HRESULT _stdcall DataFormat([in] IUnknown* ppiDF);
  1328. [id(0x60030007), propput]
  1329. HRESULT _stdcall Precision([in] unsigned char pbPrecision);
  1330. [id(0x60030008), propput]
  1331. HRESULT _stdcall NumericScale([in] unsigned char pbNumericScale);
  1332. [id(0x0000044e), propput]
  1333. HRESULT _stdcall Type([in] DataTypeEnum pDataType);
  1334. [id(0x0000044f), propput]
  1335. HRESULT _stdcall DefinedSize([in] ADO_LONGPTR pl);
  1336. [id(0x0000040c), propput]
  1337. HRESULT _stdcall Attributes([in] long pl);
  1338. };
  1339. [
  1340. odl,
  1341. uuid(00000569-0000-0010-8000-00AA006D2EA4),
  1342. dual,
  1343. nonextensible,
  1344. oleautomation
  1345. ]
  1346. interface Field : Field20
  1347. {
  1348. [ id(0x0000045c),propget]
  1349. HRESULT _stdcall Status( [out, retval] long *pFStatus);
  1350. };
  1351. [
  1352. odl,
  1353. uuid(0000050C-0000-0010-8000-00AA006D2EA4),
  1354. dual,
  1355. nonextensible,
  1356. oleautomation
  1357. ]
  1358. interface _Parameter : _ADO {
  1359. [id(0x60030000), propget]
  1360. HRESULT _stdcall Name([out, retval] BSTR* pbstr);
  1361. [id(0x60030000), propput]
  1362. HRESULT _stdcall Name([in] BSTR pbstr);
  1363. [id(00000000), propget]
  1364. HRESULT _stdcall Value([out, retval] VARIANT* pvar);
  1365. [id(00000000), propput]
  1366. HRESULT _stdcall Value([in] VARIANT pvar);
  1367. [id(0x60030004), propget]
  1368. HRESULT _stdcall Type([out, retval] DataTypeEnum* psDataType);
  1369. [id(0x60030004), propput]
  1370. HRESULT _stdcall Type([in] DataTypeEnum psDataType);
  1371. [id(0x60030006), propput]
  1372. HRESULT _stdcall Direction([in] ParameterDirectionEnum plParmDirection);
  1373. [id(0x60030006), propget]
  1374. HRESULT _stdcall Direction([out, retval] ParameterDirectionEnum* plParmDirection);
  1375. [id(0x60030008), propput]
  1376. HRESULT _stdcall Precision([in] unsigned char pbPrecision);
  1377. [id(0x60030008), propget]
  1378. HRESULT _stdcall Precision([out, retval] unsigned char* pbPrecision);
  1379. [id(0x6003000a), propput]
  1380. HRESULT _stdcall NumericScale([in] unsigned char pbScale);
  1381. [id(0x6003000a), propget]
  1382. HRESULT _stdcall NumericScale([out, retval] unsigned char* pbScale);
  1383. [id(0x6003000c), propput]
  1384. HRESULT _stdcall Size([in] ADO_LONGPTR pl);
  1385. [id(0x6003000c), propget]
  1386. HRESULT _stdcall Size([out, retval] ADO_LONGPTR* pl);
  1387. [id(0x6003000e)]
  1388. HRESULT _stdcall AppendChunk([in] VARIANT Val);
  1389. [id(0x6003000f), propget]
  1390. HRESULT _stdcall Attributes([out, retval] long* plParmAttribs);
  1391. [id(0x6003000f), propput]
  1392. HRESULT _stdcall Attributes([in] long plParmAttribs);
  1393. };
  1394. [
  1395. odl,
  1396. uuid(0000050D-0000-0010-8000-00AA006D2EA4),
  1397. dual,
  1398. nonextensible,
  1399. oleautomation
  1400. ]
  1401. interface Parameters : _DynaCollection {
  1402. [id(00000000), propget]
  1403. HRESULT _stdcall Item(
  1404. [in] VARIANT Index,
  1405. [out, retval] _Parameter** ppvObject);
  1406. };
  1407. [
  1408. odl,
  1409. uuid(00000562-0000-0010-8000-00AA006D2EA4),
  1410. dual,
  1411. nonextensible,
  1412. oleautomation
  1413. ]
  1414. interface _Record : _ADO
  1415. {
  1416. [id(1), propget]
  1417. HRESULT _stdcall ActiveConnection(
  1418. [out, retval] VARIANT *pvar);
  1419. [id(1), propput]
  1420. HRESULT _stdcall ActiveConnection(
  1421. [in] BSTR bstrConn);
  1422. [id(1), propputref]
  1423. HRESULT ActiveConnection(
  1424. [in] _Connection *Con);
  1425. [id(2), propget]
  1426. HRESULT _stdcall State(
  1427. [out, retval] ObjectStateEnum *pState);
  1428. [id(3), propget]
  1429. HRESULT _stdcall Source(
  1430. [out, retval] VARIANT *pvar);
  1431. [id(3), propput]
  1432. HRESULT _stdcall Source(
  1433. [in] BSTR Source);
  1434. [id(3), propputref]
  1435. HRESULT _stdcall Source(
  1436. [in] IDispatch *Source);
  1437. [id(4), propget]
  1438. HRESULT _stdcall Mode(
  1439. [out, retval] ConnectModeEnum *pMode);
  1440. [id(4), propput]
  1441. HRESULT _stdcall Mode(
  1442. [in] ConnectModeEnum Mode);
  1443. [id(5), propget]
  1444. HRESULT _stdcall ParentURL(
  1445. [out, retval] BSTR *pbstrParentURL);
  1446. [id(6)]
  1447. HRESULT _stdcall MoveRecord(
  1448. [in, defaultvalue("")] BSTR Source,
  1449. [in, defaultvalue("")] BSTR Destination,
  1450. [in, optional] BSTR UserName,
  1451. [in, optional] BSTR Password,
  1452. [in, defaultvalue(adMoveUnspecified)] MoveRecordOptionsEnum Options,
  1453. [in, optional] VARIANT_BOOL Async,
  1454. [out, retval] BSTR *pbstrNewURL);
  1455. [id(7)]
  1456. HRESULT _stdcall CopyRecord(
  1457. [in, defaultvalue("")] BSTR Source,
  1458. [in, defaultvalue("")] BSTR Destination,
  1459. [in, optional] BSTR UserName,
  1460. [in, optional] BSTR Password,
  1461. [in, defaultvalue(adCopyUnspecified)] CopyRecordOptionsEnum Options,
  1462. [in, optional] VARIANT_BOOL Async,
  1463. [out, retval] BSTR *pbstrNewURL);
  1464. [id(8)]
  1465. HRESULT _stdcall DeleteRecord(
  1466. [in] BSTR Source,
  1467. [in, optional] VARIANT_BOOL Async);
  1468. [id(9)]
  1469. HRESULT _stdcall Open(
  1470. [in, optional] VARIANT Source,
  1471. [in, optional] VARIANT ActiveConnection,
  1472. [in, optional] ConnectModeEnum Mode,
  1473. [in, defaultvalue(adFailIfNotExists)] RecordCreateOptionsEnum CreateOptions,
  1474. [in, defaultvalue(adOpenRecordUnspecified)] RecordOpenOptionsEnum Options,
  1475. [in, optional] BSTR UserName,
  1476. [in, optional] BSTR Password);
  1477. [id(10)]
  1478. HRESULT _stdcall Close();
  1479. [id(0), propget]
  1480. HRESULT _stdcall Fields(
  1481. [out, retval] Fields **ppFlds);
  1482. [id(11), propget]
  1483. HRESULT _stdcall RecordType(
  1484. [out, retval] RecordTypeEnum *pType);
  1485. [id(12)]
  1486. HRESULT _stdcall GetChildren(
  1487. [out, retval] _Recordset **ppRSet);
  1488. [id(13)]
  1489. HRESULT _stdcall Cancel();
  1490. };
  1491. [
  1492. odl,
  1493. uuid(00000565-0000-0010-8000-00AA006D2EA4),
  1494. dual,
  1495. nonextensible,
  1496. oleautomation
  1497. ]
  1498. interface _Stream : IDispatch
  1499. {
  1500. [id(1), propget]
  1501. HRESULT _stdcall Size(
  1502. [out, retval] ADO_LONGPTR *pSize );
  1503. [id(2), propget]
  1504. HRESULT _stdcall EOS(
  1505. [out, retval] VARIANT_BOOL *pEOS );
  1506. [id(3), propget]
  1507. HRESULT _stdcall Position(
  1508. [out, retval] ADO_LONGPTR *pPos );
  1509. [id(3), propput]
  1510. HRESULT _stdcall Position(
  1511. [in] ADO_LONGPTR Position );
  1512. [id(4), propget]
  1513. HRESULT _stdcall Type(
  1514. [out, retval] StreamTypeEnum *pType );
  1515. [id(4), propput]
  1516. HRESULT _stdcall Type(
  1517. [in] StreamTypeEnum Type );
  1518. [id(5), propget]
  1519. HRESULT _stdcall LineSeparator(
  1520. [out, retval] LineSeparatorEnum *pLS );
  1521. [id(5), propput]
  1522. HRESULT _stdcall LineSeparator(
  1523. [in] LineSeparatorEnum LineSeparator );
  1524. [id(6), propget]
  1525. HRESULT _stdcall State(
  1526. [out, retval] ObjectStateEnum *pState );
  1527. [id(7), propget]
  1528. HRESULT _stdcall Mode(
  1529. [out, retval] ConnectModeEnum *pMode );
  1530. [id(7), propput]
  1531. HRESULT _stdcall Mode(
  1532. [in] ConnectModeEnum Mode );
  1533. [id(8), propget]
  1534. HRESULT Charset(
  1535. [out, retval] BSTR *pbstrCharset );
  1536. [id(8), propput]
  1537. HRESULT Charset(
  1538. [in] BSTR Charset );
  1539. [id(9)]
  1540. HRESULT _stdcall Read(
  1541. [in, defaultvalue(adReadAll)]long NumBytes,
  1542. [out, retval]VARIANT *pVal);
  1543. [id(10)]
  1544. HRESULT _stdcall Open(
  1545. [in, optional] VARIANT Source,
  1546. [in, defaultvalue(adModeUnknown)] ConnectModeEnum Mode,
  1547. [in, defaultvalue(adOpenStreamUnspecified)] StreamOpenOptionsEnum Options,
  1548. [in, optional] BSTR UserName,
  1549. [in, optional] BSTR Password);
  1550. [id(11)]
  1551. HRESULT _stdcall Close(void);
  1552. [id(12)]
  1553. HRESULT _stdcall SkipLine(void);
  1554. [id(13)]
  1555. HRESULT _stdcall Write(
  1556. [in]VARIANT Buffer);
  1557. [id(14)]
  1558. HRESULT _stdcall SetEOS(void);
  1559. [id(15)]
  1560. HRESULT _stdcall CopyTo(
  1561. [in]_Stream *DestStream,
  1562. [in, defaultvalue(-1)]ADO_LONGPTR CharNumber);
  1563. [id(16)]
  1564. HRESULT _stdcall Flush(void);
  1565. [id(17)]
  1566. HRESULT _stdcall SaveToFile(
  1567. [in] BSTR FileName,
  1568. [in, defaultvalue(adSaveCreateNotExist)] SaveOptionsEnum Options);
  1569. [id(18)]
  1570. HRESULT _stdcall LoadFromFile(
  1571. [in] BSTR FileName);
  1572. [id(19)]
  1573. HRESULT _stdcall ReadText(
  1574. [in, defaultvalue(adReadAll)] long NumChars,
  1575. [out, retval] BSTR *pbstr);
  1576. [id(20)]
  1577. HRESULT _stdcall WriteText(
  1578. [in] BSTR Data,
  1579. [in, defaultvalue(adWriteChar)] StreamWriteEnum Options);
  1580. [id(21)]
  1581. HRESULT _stdcall Cancel(void);
  1582. };
  1583. [
  1584. odl,
  1585. uuid(00000538-0000-0010-8000-00AA006D2EA4),
  1586. hidden
  1587. ]
  1588. interface ADODebugging : IUnknown {
  1589. HRESULT _stdcall IsGlobalDebugMode(VARIANT_BOOL* pfDebuggingOn);
  1590. HRESULT _stdcall SetGlobalDebugMode(
  1591. IUnknown* pDebugger,
  1592. VARIANT_BOOL fDebuggingOn);
  1593. };
  1594. [
  1595. odl,
  1596. uuid(00000402-0000-0010-8000-00AA006D2EA4),
  1597. hidden
  1598. ]
  1599. interface ConnectionEventsVt : IUnknown {
  1600. HRESULT _stdcall InfoMessage(
  1601. [in] Error* pError,
  1602. [in, out] EventStatusEnum* adStatus,
  1603. [in] _Connection* pConnection);
  1604. HRESULT _stdcall BeginTransComplete(
  1605. [in] long TransactionLevel,
  1606. [in] Error* pError,
  1607. [in, out] EventStatusEnum* adStatus,
  1608. [in] _Connection* pConnection);
  1609. HRESULT _stdcall CommitTransComplete(
  1610. [in] Error* pError,
  1611. [in, out] EventStatusEnum* adStatus,
  1612. [in] _Connection* pConnection);
  1613. HRESULT _stdcall RollbackTransComplete(
  1614. [in] Error* pError,
  1615. [in, out] EventStatusEnum* adStatus,
  1616. [in] _Connection* pConnection);
  1617. HRESULT _stdcall WillExecute(
  1618. [in, out] BSTR* Source,
  1619. [in, out] CursorTypeEnum* CursorType,
  1620. [in, out] LockTypeEnum* LockType,
  1621. [in, out] long* Options,
  1622. [in, out] EventStatusEnum* adStatus,
  1623. [in] _Command* pCommand,
  1624. [in] _Recordset* pRecordset,
  1625. [in] _Connection* pConnection);
  1626. HRESULT _stdcall ExecuteComplete(
  1627. [in] long RecordsAffected,
  1628. [in] Error* pError,
  1629. [in, out] EventStatusEnum* adStatus,
  1630. [in] _Command* pCommand,
  1631. [in] _Recordset* pRecordset,
  1632. [in] _Connection* pConnection);
  1633. HRESULT _stdcall WillConnect(
  1634. [in, out] BSTR* ConnectionString,
  1635. [in, out] BSTR* UserID,
  1636. [in, out] BSTR* Password,
  1637. [in, out] long* Options,
  1638. [in, out] EventStatusEnum* adStatus,
  1639. [in] _Connection* pConnection);
  1640. HRESULT _stdcall ConnectComplete(
  1641. [in] Error* pError,
  1642. [in, out] EventStatusEnum* adStatus,
  1643. [in] _Connection* pConnection);
  1644. HRESULT _stdcall Disconnect(
  1645. [in, out] EventStatusEnum* adStatus,
  1646. [in] _Connection* pConnection);
  1647. };
  1648. [
  1649. odl,
  1650. uuid(00000403-0000-0010-8000-00AA006D2EA4),
  1651. hidden
  1652. ]
  1653. interface RecordsetEventsVt : IUnknown {
  1654. HRESULT _stdcall WillChangeField(
  1655. [in] long cFields,
  1656. [in] VARIANT Fields,
  1657. [in, out] EventStatusEnum* adStatus,
  1658. [in] _Recordset* pRecordset);
  1659. HRESULT _stdcall FieldChangeComplete(
  1660. [in] long cFields,
  1661. [in] VARIANT Fields,
  1662. [in] Error* pError,
  1663. [in, out] EventStatusEnum* adStatus,
  1664. [in] _Recordset* pRecordset);
  1665. HRESULT _stdcall WillChangeRecord(
  1666. [in] EventReasonEnum adReason,
  1667. [in] long cRecords,
  1668. [in, out] EventStatusEnum* adStatus,
  1669. [in] _Recordset* pRecordset);
  1670. HRESULT _stdcall RecordChangeComplete(
  1671. [in] EventReasonEnum adReason,
  1672. [in] long cRecords,
  1673. [in] Error* pError,
  1674. [in, out] EventStatusEnum* adStatus,
  1675. [in] _Recordset* pRecordset);
  1676. HRESULT _stdcall WillChangeRecordset(
  1677. [in] EventReasonEnum adReason,
  1678. [in, out] EventStatusEnum* adStatus,
  1679. [in] _Recordset* pRecordset);
  1680. HRESULT _stdcall RecordsetChangeComplete(
  1681. [in] EventReasonEnum adReason,
  1682. [in] Error* pError,
  1683. [in, out] EventStatusEnum* adStatus,
  1684. [in] _Recordset* pRecordset);
  1685. HRESULT _stdcall WillMove(
  1686. [in] EventReasonEnum adReason,
  1687. [in, out] EventStatusEnum* adStatus,
  1688. [in] _Recordset* pRecordset);
  1689. HRESULT _stdcall MoveComplete(
  1690. [in] EventReasonEnum adReason,
  1691. [in] Error* pError,
  1692. [in, out] EventStatusEnum* adStatus,
  1693. [in] _Recordset* pRecordset);
  1694. HRESULT _stdcall EndOfRecordset(
  1695. [in, out] VARIANT_BOOL* fMoreData,
  1696. [in, out] EventStatusEnum* adStatus,
  1697. [in] _Recordset* pRecordset);
  1698. HRESULT _stdcall FetchProgress(
  1699. [in] long Progress,
  1700. [in] long MaxProgress,
  1701. [in, out] EventStatusEnum* adStatus,
  1702. [in] _Recordset* pRecordset);
  1703. HRESULT _stdcall FetchComplete(
  1704. [in] Error* pError,
  1705. [in, out] EventStatusEnum* adStatus,
  1706. [in] _Recordset* pRecordset);
  1707. };
  1708. [
  1709. uuid(00000400-0000-0010-8000-00AA006D2EA4)
  1710. ]
  1711. dispinterface ConnectionEvents {
  1712. properties:
  1713. methods:
  1714. [id(00000000)]
  1715. HRESULT InfoMessage(
  1716. [in] Error* pError,
  1717. [in, out] EventStatusEnum* adStatus,
  1718. [in] _Connection* pConnection);
  1719. [id(0x00000001)]
  1720. HRESULT BeginTransComplete(
  1721. [in] long TransactionLevel,
  1722. [in] Error* pError,
  1723. [in, out] EventStatusEnum* adStatus,
  1724. [in] _Connection* pConnection);
  1725. [id(0x00000003)]
  1726. HRESULT CommitTransComplete(
  1727. [in] Error* pError,
  1728. [in, out] EventStatusEnum* adStatus,
  1729. [in] _Connection* pConnection);
  1730. [id(0x00000002)]
  1731. HRESULT RollbackTransComplete(
  1732. [in] Error* pError,
  1733. [in, out] EventStatusEnum* adStatus,
  1734. [in] _Connection* pConnection);
  1735. [id(0x00000004)]
  1736. HRESULT WillExecute(
  1737. [in, out] BSTR* Source,
  1738. [in, out] CursorTypeEnum* CursorType,
  1739. [in, out] LockTypeEnum* LockType,
  1740. [in, out] long* Options,
  1741. [in, out] EventStatusEnum* adStatus,
  1742. [in] _Command* pCommand,
  1743. [in] _Recordset* pRecordset,
  1744. [in] _Connection* pConnection);
  1745. [id(0x00000005)]
  1746. HRESULT ExecuteComplete(
  1747. [in] long RecordsAffected,
  1748. [in] Error* pError,
  1749. [in, out] EventStatusEnum* adStatus,
  1750. [in] _Command* pCommand,
  1751. [in] _Recordset* pRecordset,
  1752. [in] _Connection* pConnection);
  1753. [id(0x00000006)]
  1754. HRESULT WillConnect(
  1755. [in, out] BSTR* ConnectionString,
  1756. [in, out] BSTR* UserID,
  1757. [in, out] BSTR* Password,
  1758. [in, out] long* Options,
  1759. [in, out] EventStatusEnum* adStatus,
  1760. [in] _Connection* pConnection);
  1761. [id(0x00000007)]
  1762. HRESULT ConnectComplete(
  1763. [in] Error* pError,
  1764. [in, out] EventStatusEnum* adStatus,
  1765. [in] _Connection* pConnection);
  1766. [id(0x00000008)]
  1767. HRESULT Disconnect(
  1768. [in, out] EventStatusEnum* adStatus,
  1769. [in] _Connection* pConnection);
  1770. };
  1771. [
  1772. uuid(00000266-0000-0010-8000-00AA006D2EA4)
  1773. ]
  1774. dispinterface RecordsetEvents {
  1775. properties:
  1776. methods:
  1777. [id(0x00000009)]
  1778. HRESULT WillChangeField(
  1779. [in] long cFields,
  1780. [in] VARIANT Fields,
  1781. [in, out] EventStatusEnum* adStatus,
  1782. [in] _Recordset* pRecordset);
  1783. [id(0x0000000a)]
  1784. HRESULT FieldChangeComplete(
  1785. [in] long cFields,
  1786. [in] VARIANT Fields,
  1787. [in] Error* pError,
  1788. [in, out] EventStatusEnum* adStatus,
  1789. [in] _Recordset* pRecordset);
  1790. [id(0x0000000b)]
  1791. HRESULT WillChangeRecord(
  1792. [in] EventReasonEnum adReason,
  1793. [in] long cRecords,
  1794. [in, out] EventStatusEnum* adStatus,
  1795. [in] _Recordset* pRecordset);
  1796. [id(0x0000000c)]
  1797. HRESULT RecordChangeComplete(
  1798. [in] EventReasonEnum adReason,
  1799. [in] long cRecords,
  1800. [in] Error* pError,
  1801. [in, out] EventStatusEnum* adStatus,
  1802. [in] _Recordset* pRecordset);
  1803. [id(0x0000000d)]
  1804. HRESULT WillChangeRecordset(
  1805. [in] EventReasonEnum adReason,
  1806. [in, out] EventStatusEnum* adStatus,
  1807. [in] _Recordset* pRecordset);
  1808. [id(0x0000000e)]
  1809. HRESULT RecordsetChangeComplete(
  1810. [in] EventReasonEnum adReason,
  1811. [in] Error* pError,
  1812. [in, out] EventStatusEnum* adStatus,
  1813. [in] _Recordset* pRecordset);
  1814. [id(0x0000000f)]
  1815. HRESULT WillMove(
  1816. [in] EventReasonEnum adReason,
  1817. [in, out] EventStatusEnum* adStatus,
  1818. [in] _Recordset* pRecordset);
  1819. [id(0x00000010)]
  1820. HRESULT MoveComplete(
  1821. [in] EventReasonEnum adReason,
  1822. [in] Error* pError,
  1823. [in, out] EventStatusEnum* adStatus,
  1824. [in] _Recordset* pRecordset);
  1825. [id(0x00000011)]
  1826. HRESULT EndOfRecordset(
  1827. [in, out] VARIANT_BOOL* fMoreData,
  1828. [in, out] EventStatusEnum* adStatus,
  1829. [in] _Recordset* pRecordset);
  1830. [id(0x00000012)]
  1831. HRESULT FetchProgress(
  1832. [in] long Progress,
  1833. [in] long MaxProgress,
  1834. [in, out] EventStatusEnum* adStatus,
  1835. [in] _Recordset* pRecordset);
  1836. [id(0x00000013)]
  1837. HRESULT FetchComplete(
  1838. [in] Error* pError,
  1839. [in, out] EventStatusEnum* adStatus,
  1840. [in] _Recordset* pRecordset);
  1841. };
  1842. [
  1843. odl,
  1844. uuid(00000516-0000-0010-8000-00AA006D2EA4),
  1845. restricted
  1846. ]
  1847. interface ADOConnectionConstruction15 : IUnknown {
  1848. [propget]
  1849. HRESULT _stdcall DSO([out, retval] IUnknown** ppDSO);
  1850. [propget]
  1851. HRESULT _stdcall Session([out, retval] IUnknown** ppSession);
  1852. HRESULT _stdcall WrapDSOandSession(
  1853. [in] IUnknown* pDSO,
  1854. [in] IUnknown* pSession);
  1855. };
  1856. [
  1857. odl,
  1858. uuid(00000551-0000-0010-8000-00AA006D2EA4),
  1859. restricted
  1860. ]
  1861. interface ADOConnectionConstruction : ADOConnectionConstruction15 {
  1862. };
  1863. [
  1864. odl,
  1865. uuid(00000283-0000-0010-8000-00AA006D2EA4),
  1866. restricted
  1867. ]
  1868. interface ADORecordsetConstruction : IDispatch {
  1869. [propget]
  1870. HRESULT _stdcall Rowset([out, retval] IUnknown** ppRowset);
  1871. [propput]
  1872. HRESULT _stdcall Rowset([in] IUnknown* ppRowset);
  1873. [propget]
  1874. HRESULT _stdcall Chapter([out, retval] ADO_LONGPTR* plChapter);
  1875. [propput]
  1876. HRESULT _stdcall Chapter([in] ADO_LONGPTR plChapter);
  1877. [propget]
  1878. HRESULT _stdcall RowPosition([out, retval] IUnknown** ppRowPos);
  1879. [propput]
  1880. HRESULT _stdcall RowPosition([in] IUnknown* ppRowPos);
  1881. };
  1882. [
  1883. odl,
  1884. uuid(00000517-0000-0010-8000-00AA006D2EA4),
  1885. restricted
  1886. ]
  1887. interface ADOCommandConstruction : IUnknown {
  1888. [propget]
  1889. HRESULT _stdcall OLEDBCommand([out, retval] IUnknown** ppOLEDBCommand);
  1890. [propput]
  1891. HRESULT _stdcall OLEDBCommand([in] IUnknown* ppOLEDBCommand);
  1892. };
  1893. [
  1894. odl,
  1895. uuid(00000567-0000-0010-8000-00AA006D2EA4),
  1896. restricted
  1897. ]
  1898. interface ADORecordConstruction : IDispatch {
  1899. [propget]
  1900. HRESULT _stdcall Row([out, retval] IUnknown **ppRow);
  1901. [propput]
  1902. HRESULT _stdcall Row([in] IUnknown *pRow);
  1903. [propput]
  1904. HRESULT _stdcall ParentRow([in] IUnknown *pRow);
  1905. };
  1906. [
  1907. odl,
  1908. uuid(00000568-0000-0010-8000-00AA006D2EA4),
  1909. restricted
  1910. ]
  1911. interface ADOStreamConstruction : IDispatch
  1912. {
  1913. [propget]
  1914. HRESULT _stdcall Stream([out, retval] IUnknown **ppStm);
  1915. [propput]
  1916. HRESULT _stdcall Stream([in] IUnknown *pStm);
  1917. };
  1918. [
  1919. uuid(2A75196C-D9EB-4129-B803-931327F72D5C),
  1920. version(2.8),
  1921. helpstring("Microsoft ActiveX Data Objects 2.8 Library")
  1922. ]
  1923. library ADODB
  1924. {
  1925. // TLib : OLE Automation : {00020430-0000-0000-C000-000000000046}
  1926. importlib("stdole2.tlb");
  1927. [
  1928. uuid(00000514-0000-0010-8000-00AA006D2EA4),
  1929. licensed
  1930. ]
  1931. coclass Connection {
  1932. [default] interface _Connection;
  1933. [default, source] dispinterface ConnectionEvents;
  1934. };
  1935. [
  1936. uuid(00000507-0000-0010-8000-00AA006D2EA4),
  1937. licensed
  1938. ]
  1939. coclass Command {
  1940. [default] interface _Command;
  1941. };
  1942. [
  1943. uuid(00000535-0000-0010-8000-00AA006D2EA4),
  1944. licensed
  1945. ]
  1946. coclass Recordset {
  1947. [default] interface _Recordset;
  1948. [default, source] dispinterface RecordsetEvents;
  1949. };
  1950. [
  1951. uuid(0000050B-0000-0010-8000-00AA006D2EA4),
  1952. licensed
  1953. ]
  1954. coclass Parameter {
  1955. [default] interface _Parameter;
  1956. };
  1957. [
  1958. uuid(00000560-0000-0010-8000-00AA006D2EA4),
  1959. licensed
  1960. ]
  1961. coclass Record {
  1962. [default] interface _Record;
  1963. };
  1964. [
  1965. uuid(00000566-0000-0010-8000-00AA006D2EA4),
  1966. licensed
  1967. ]
  1968. coclass Stream {
  1969. [default] interface _Stream;
  1970. };
  1971. };