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.

2993 lines
87 KiB

  1. // Created by Microsoft (R) C/C++ Compiler Version 12.00.8168.0 (f291607b).
  2. //
  3. // msado15.tlh
  4. //
  5. // C++ source equivalent of Win32 type library c:\Program Files\Common Files\System\ADO\msado15.dll
  6. // compiler-generated file created 03/27/00 at 08:12:15 - DO NOT EDIT!
  7. #pragma once
  8. #pragma pack(push, 8)
  9. #include <comdef.h>
  10. //
  11. // Forward references and typedefs
  12. //
  13. typedef enum SearchDirectionEnum SearchDirection;
  14. struct __declspec(uuid("00000512-0000-0010-8000-00aa006d2ea4"))
  15. /* dual interface */ _Collection;
  16. struct __declspec(uuid("00000513-0000-0010-8000-00aa006d2ea4"))
  17. /* dual interface */ _DynaCollection;
  18. struct __declspec(uuid("00000534-0000-0010-8000-00aa006d2ea4"))
  19. /* dual interface */ _ADO;
  20. struct __declspec(uuid("00000504-0000-0010-8000-00aa006d2ea4"))
  21. /* dual interface */ Properties;
  22. struct __declspec(uuid("00000503-0000-0010-8000-00aa006d2ea4"))
  23. /* dual interface */ Property;
  24. struct __declspec(uuid("00000500-0000-0010-8000-00aa006d2ea4"))
  25. /* dual interface */ Error;
  26. struct __declspec(uuid("00000501-0000-0010-8000-00aa006d2ea4"))
  27. /* dual interface */ Errors;
  28. struct __declspec(uuid("00000508-0000-0010-8000-00aa006d2ea4"))
  29. /* dual interface */ Command15;
  30. struct __declspec(uuid("00000550-0000-0010-8000-00aa006d2ea4"))
  31. /* dual interface */ _Connection;
  32. struct __declspec(uuid("00000515-0000-0010-8000-00aa006d2ea4"))
  33. /* dual interface */ Connection15;
  34. struct __declspec(uuid("00000556-0000-0010-8000-00aa006d2ea4"))
  35. /* dual interface */ _Recordset;
  36. struct __declspec(uuid("00000555-0000-0010-8000-00aa006d2ea4"))
  37. /* dual interface */ Recordset21;
  38. struct __declspec(uuid("0000054f-0000-0010-8000-00aa006d2ea4"))
  39. /* dual interface */ Recordset20;
  40. struct __declspec(uuid("0000050e-0000-0010-8000-00aa006d2ea4"))
  41. /* dual interface */ Recordset15;
  42. struct __declspec(uuid("00000564-0000-0010-8000-00aa006d2ea4"))
  43. /* dual interface */ Fields;
  44. struct __declspec(uuid("0000054d-0000-0010-8000-00aa006d2ea4"))
  45. /* dual interface */ Fields20;
  46. struct __declspec(uuid("00000506-0000-0010-8000-00aa006d2ea4"))
  47. /* dual interface */ Fields15;
  48. struct __declspec(uuid("00000569-0000-0010-8000-00aa006d2ea4"))
  49. /* dual interface */ Field;
  50. struct __declspec(uuid("0000054c-0000-0010-8000-00aa006d2ea4"))
  51. /* dual interface */ Field20;
  52. struct __declspec(uuid("0000050c-0000-0010-8000-00aa006d2ea4"))
  53. /* dual interface */ _Parameter;
  54. struct __declspec(uuid("0000050d-0000-0010-8000-00aa006d2ea4"))
  55. /* dual interface */ Parameters;
  56. struct __declspec(uuid("0000054e-0000-0010-8000-00aa006d2ea4"))
  57. /* dual interface */ _Command;
  58. struct __declspec(uuid("00000402-0000-0010-8000-00aa006d2ea4"))
  59. /* interface */ ConnectionEventsVt;
  60. struct __declspec(uuid("00000403-0000-0010-8000-00aa006d2ea4"))
  61. /* interface */ RecordsetEventsVt;
  62. struct __declspec(uuid("00000400-0000-0010-8000-00aa006d2ea4"))
  63. /* dispinterface */ ConnectionEvents;
  64. struct __declspec(uuid("00000266-0000-0010-8000-00aa006d2ea4"))
  65. /* dispinterface */ RecordsetEvents;
  66. struct __declspec(uuid("00000516-0000-0010-8000-00aa006d2ea4"))
  67. /* interface */ ADOConnectionConstruction15;
  68. struct __declspec(uuid("00000551-0000-0010-8000-00aa006d2ea4"))
  69. /* interface */ ADOConnectionConstruction;
  70. struct /* coclass */ Connection;
  71. struct __declspec(uuid("00000562-0000-0010-8000-00aa006d2ea4"))
  72. /* dual interface */ _Record;
  73. struct /* coclass */ Record;
  74. struct __declspec(uuid("00000563-0000-0010-8000-00aa006d2ea4"))
  75. /* dual interface */ IRecFields;
  76. struct __declspec(uuid("00000565-0000-0010-8000-00aa006d2ea4"))
  77. /* dual interface */ _Stream;
  78. struct /* coclass */ Stream;
  79. struct __declspec(uuid("00000567-0000-0010-8000-00aa006d2ea4"))
  80. /* interface */ ADORecordConstruction;
  81. struct __declspec(uuid("00000568-0000-0010-8000-00aa006d2ea4"))
  82. /* interface */ ADOStreamConstruction;
  83. struct __declspec(uuid("00000517-0000-0010-8000-00aa006d2ea4"))
  84. /* interface */ ADOCommandConstruction;
  85. struct /* coclass */ Command;
  86. struct /* coclass */ Recordset;
  87. struct __declspec(uuid("00000283-0000-0010-8000-00aa006d2ea4"))
  88. /* interface */ ADORecordsetConstruction;
  89. struct __declspec(uuid("00000505-0000-0010-8000-00aa006d2ea4"))
  90. /* dual interface */ Field15;
  91. struct /* coclass */ Parameter;
  92. //
  93. // Smart pointer typedef declarations
  94. //
  95. _COM_SMARTPTR_TYPEDEF(_Collection, __uuidof(_Collection));
  96. _COM_SMARTPTR_TYPEDEF(_DynaCollection, __uuidof(_DynaCollection));
  97. _COM_SMARTPTR_TYPEDEF(_ADO, __uuidof(_ADO));
  98. _COM_SMARTPTR_TYPEDEF(Properties, __uuidof(Properties));
  99. _COM_SMARTPTR_TYPEDEF(Property, __uuidof(Property));
  100. _COM_SMARTPTR_TYPEDEF(Error, __uuidof(Error));
  101. _COM_SMARTPTR_TYPEDEF(Errors, __uuidof(Errors));
  102. _COM_SMARTPTR_TYPEDEF(Command15, __uuidof(Command15));
  103. _COM_SMARTPTR_TYPEDEF(Connection15, __uuidof(Connection15));
  104. _COM_SMARTPTR_TYPEDEF(_Connection, __uuidof(_Connection));
  105. _COM_SMARTPTR_TYPEDEF(Recordset15, __uuidof(Recordset15));
  106. _COM_SMARTPTR_TYPEDEF(Recordset20, __uuidof(Recordset20));
  107. _COM_SMARTPTR_TYPEDEF(Recordset21, __uuidof(Recordset21));
  108. _COM_SMARTPTR_TYPEDEF(_Recordset, __uuidof(_Recordset));
  109. _COM_SMARTPTR_TYPEDEF(Fields15, __uuidof(Fields15));
  110. _COM_SMARTPTR_TYPEDEF(Fields20, __uuidof(Fields20));
  111. _COM_SMARTPTR_TYPEDEF(Fields, __uuidof(Fields));
  112. _COM_SMARTPTR_TYPEDEF(Field20, __uuidof(Field20));
  113. _COM_SMARTPTR_TYPEDEF(Field, __uuidof(Field));
  114. _COM_SMARTPTR_TYPEDEF(_Parameter, __uuidof(_Parameter));
  115. _COM_SMARTPTR_TYPEDEF(Parameters, __uuidof(Parameters));
  116. _COM_SMARTPTR_TYPEDEF(_Command, __uuidof(_Command));
  117. _COM_SMARTPTR_TYPEDEF(ConnectionEventsVt, __uuidof(ConnectionEventsVt));
  118. _COM_SMARTPTR_TYPEDEF(RecordsetEventsVt, __uuidof(RecordsetEventsVt));
  119. _COM_SMARTPTR_TYPEDEF(ConnectionEvents, __uuidof(IDispatch));
  120. _COM_SMARTPTR_TYPEDEF(RecordsetEvents, __uuidof(IDispatch));
  121. _COM_SMARTPTR_TYPEDEF(ADOConnectionConstruction15, __uuidof(ADOConnectionConstruction15));
  122. _COM_SMARTPTR_TYPEDEF(ADOConnectionConstruction, __uuidof(ADOConnectionConstruction));
  123. _COM_SMARTPTR_TYPEDEF(_Record, __uuidof(_Record));
  124. _COM_SMARTPTR_TYPEDEF(IRecFields, __uuidof(IRecFields));
  125. _COM_SMARTPTR_TYPEDEF(_Stream, __uuidof(_Stream));
  126. _COM_SMARTPTR_TYPEDEF(ADORecordConstruction, __uuidof(ADORecordConstruction));
  127. _COM_SMARTPTR_TYPEDEF(ADOStreamConstruction, __uuidof(ADOStreamConstruction));
  128. _COM_SMARTPTR_TYPEDEF(ADOCommandConstruction, __uuidof(ADOCommandConstruction));
  129. _COM_SMARTPTR_TYPEDEF(ADORecordsetConstruction, __uuidof(ADORecordsetConstruction));
  130. _COM_SMARTPTR_TYPEDEF(Field15, __uuidof(Field15));
  131. //
  132. // Type library items
  133. //
  134. enum CursorTypeEnum
  135. {
  136. adOpenUnspecified = -1,
  137. adOpenForwardOnly = 0,
  138. adOpenKeyset = 1,
  139. adOpenDynamic = 2,
  140. adOpenStatic = 3
  141. };
  142. enum CursorOptionEnum
  143. {
  144. adHoldRecords = 256,
  145. adMovePrevious = 512,
  146. adAddNew = 16778240,
  147. adDelete = 16779264,
  148. adUpdate = 16809984,
  149. adBookmark = 8192,
  150. adApproxPosition = 16384,
  151. adUpdateBatch = 65536,
  152. adResync = 131072,
  153. adNotify = 262144,
  154. adFind = 524288,
  155. adSeek = 4194304,
  156. adIndex = 8388608
  157. };
  158. enum LockTypeEnum
  159. {
  160. adLockUnspecified = -1,
  161. adLockReadOnly = 1,
  162. adLockPessimistic = 2,
  163. adLockOptimistic = 3,
  164. adLockBatchOptimistic = 4
  165. };
  166. enum ExecuteOptionEnum
  167. {
  168. adOptionUnspecified = -1,
  169. adAsyncExecute = 16,
  170. adAsyncFetch = 32,
  171. adAsyncFetchNonBlocking = 64,
  172. adExecuteNoRecords = 128
  173. };
  174. enum ConnectOptionEnum
  175. {
  176. adConnectUnspecified = -1,
  177. adAsyncConnect = 16
  178. };
  179. enum ObjectStateEnum
  180. {
  181. adStateClosed = 0,
  182. adStateOpen = 1,
  183. adStateConnecting = 2,
  184. adStateExecuting = 4,
  185. adStateFetching = 8
  186. };
  187. enum CursorLocationEnum
  188. {
  189. adUseNone = 1,
  190. adUseServer = 2,
  191. adUseClient = 3,
  192. adUseClientBatch = 3
  193. };
  194. enum DataTypeEnum
  195. {
  196. adEmpty = 0,
  197. adTinyInt = 16,
  198. adSmallInt = 2,
  199. adInteger = 3,
  200. adBigInt = 20,
  201. adUnsignedTinyInt = 17,
  202. adUnsignedSmallInt = 18,
  203. adUnsignedInt = 19,
  204. adUnsignedBigInt = 21,
  205. adSingle = 4,
  206. adDouble = 5,
  207. adCurrency = 6,
  208. adDecimal = 14,
  209. adNumeric = 131,
  210. adBoolean = 11,
  211. adError = 10,
  212. adUserDefined = 132,
  213. adVariant = 12,
  214. adIDispatch = 9,
  215. adIUnknown = 13,
  216. adGUID = 72,
  217. adDate = 7,
  218. adDBDate = 133,
  219. adDBTime = 134,
  220. adDBTimeStamp = 135,
  221. adBSTR = 8,
  222. adChar = 129,
  223. adVarChar = 200,
  224. adLongVarChar = 201,
  225. adWChar = 130,
  226. adVarWChar = 202,
  227. adLongVarWChar = 203,
  228. adBinary = 128,
  229. adVarBinary = 204,
  230. adLongVarBinary = 205,
  231. adChapter = 136,
  232. adFileTime = 64,
  233. adPropVariant = 138,
  234. adVarNumeric = 139,
  235. adArray = 8192
  236. };
  237. enum FieldAttributeEnum
  238. {
  239. adFldUnspecified = -1,
  240. adFldMayDefer = 2,
  241. adFldUpdatable = 4,
  242. adFldUnknownUpdatable = 8,
  243. adFldFixed = 16,
  244. adFldIsNullable = 32,
  245. adFldMayBeNull = 64,
  246. adFldLong = 128,
  247. adFldRowID = 256,
  248. adFldRowVersion = 512,
  249. adFldCacheDeferred = 4096,
  250. adFldIsChapter = 8192,
  251. adFldNegativeScale = 16384,
  252. adFldKeyColumn = 32768,
  253. adFldIsRowURL = 65536,
  254. adFldIsDefaultStream = 131072,
  255. adFldIsCollection = 262144
  256. };
  257. enum EditModeEnum
  258. {
  259. adEditNone = 0,
  260. adEditInProgress = 1,
  261. adEditAdd = 2,
  262. adEditDelete = 4
  263. };
  264. enum RecordStatusEnum
  265. {
  266. adRecOK = 0,
  267. adRecNew = 1,
  268. adRecModified = 2,
  269. adRecDeleted = 4,
  270. adRecUnmodified = 8,
  271. adRecInvalid = 16,
  272. adRecMultipleChanges = 64,
  273. adRecPendingChanges = 128,
  274. adRecCanceled = 256,
  275. adRecCantRelease = 1024,
  276. adRecConcurrencyViolation = 2048,
  277. adRecIntegrityViolation = 4096,
  278. adRecMaxChangesExceeded = 8192,
  279. adRecObjectOpen = 16384,
  280. adRecOutOfMemory = 32768,
  281. adRecPermissionDenied = 65536,
  282. adRecSchemaViolation = 131072,
  283. adRecDBDeleted = 262144
  284. };
  285. enum GetRowsOptionEnum
  286. {
  287. adGetRowsRest = -1
  288. };
  289. enum PositionEnum
  290. {
  291. adPosUnknown = -1,
  292. adPosBOF = -2,
  293. adPosEOF = -3
  294. };
  295. enum BookmarkEnum
  296. {
  297. adBookmarkCurrent = 0,
  298. adBookmarkFirst = 1,
  299. adBookmarkLast = 2
  300. };
  301. enum MarshalOptionsEnum
  302. {
  303. adMarshalAll = 0,
  304. adMarshalModifiedOnly = 1
  305. };
  306. enum AffectEnum
  307. {
  308. adAffectCurrent = 1,
  309. adAffectGroup = 2,
  310. adAffectAll = 3,
  311. adAffectAllChapters = 4
  312. };
  313. enum ResyncEnum
  314. {
  315. adResyncUnderlyingValues = 1,
  316. adResyncAllValues = 2
  317. };
  318. enum CompareEnum
  319. {
  320. adCompareLessThan = 0,
  321. adCompareEqual = 1,
  322. adCompareGreaterThan = 2,
  323. adCompareNotEqual = 3,
  324. adCompareNotComparable = 4
  325. };
  326. enum FilterGroupEnum
  327. {
  328. adFilterNone = 0,
  329. adFilterPendingRecords = 1,
  330. adFilterAffectedRecords = 2,
  331. adFilterFetchedRecords = 3,
  332. adFilterPredicate = 4,
  333. adFilterConflictingRecords = 5
  334. };
  335. enum SearchDirectionEnum
  336. {
  337. adSearchForward = 1,
  338. adSearchBackward = -1
  339. };
  340. enum PersistFormatEnum
  341. {
  342. adPersistADTG = 0,
  343. adPersistXML = 1
  344. };
  345. enum StringFormatEnum
  346. {
  347. adClipString = 2
  348. };
  349. enum ConnectPromptEnum
  350. {
  351. adPromptAlways = 1,
  352. adPromptComplete = 2,
  353. adPromptCompleteRequired = 3,
  354. adPromptNever = 4
  355. };
  356. enum ConnectModeEnum
  357. {
  358. adModeUnknown = 0,
  359. adModeRead = 1,
  360. adModeWrite = 2,
  361. adModeReadWrite = 3,
  362. adModeShareDenyRead = 4,
  363. adModeShareDenyWrite = 8,
  364. adModeShareExclusive = 12,
  365. adModeShareDenyNone = 16,
  366. adModeRecursive = 4194304
  367. };
  368. enum RecordCreateOptionsEnum
  369. {
  370. adCreateCollection = 8192,
  371. adCreateStructDoc = -2147483648,
  372. adCreateNonCollection = 0,
  373. adOpenIfExists = 33554432,
  374. adCreateOverwrite = 67108864,
  375. adFailIfNotExists = -1
  376. };
  377. enum RecordOpenOptionsEnum
  378. {
  379. adOpenRecordUnspecified = -1,
  380. adOpenSource = 8388608,
  381. adOpenAsync = 4096,
  382. adDelayFetchStream = 16384,
  383. adDelayFetchFields = 32768
  384. };
  385. enum IsolationLevelEnum
  386. {
  387. adXactUnspecified = -1,
  388. adXactChaos = 16,
  389. adXactReadUncommitted = 256,
  390. adXactBrowse = 256,
  391. adXactCursorStability = 4096,
  392. adXactReadCommitted = 4096,
  393. adXactRepeatableRead = 65536,
  394. adXactSerializable = 1048576,
  395. adXactIsolated = 1048576
  396. };
  397. enum XactAttributeEnum
  398. {
  399. adXactCommitRetaining = 131072,
  400. adXactAbortRetaining = 262144,
  401. adXactAsyncPhaseOne = 524288,
  402. adXactSyncPhaseOne = 1048576
  403. };
  404. enum PropertyAttributesEnum
  405. {
  406. adPropNotSupported = 0,
  407. adPropRequired = 1,
  408. adPropOptional = 2,
  409. adPropRead = 512,
  410. adPropWrite = 1024
  411. };
  412. enum ErrorValueEnum
  413. {
  414. adErrProviderFailed = 3000,
  415. adErrInvalidArgument = 3001,
  416. adErrOpeningFile = 3002,
  417. adErrReadFile = 3003,
  418. adErrWriteFile = 3004,
  419. adErrNoCurrentRecord = 3021,
  420. adErrIllegalOperation = 3219,
  421. adErrCantChangeProvider = 3220,
  422. adErrInTransaction = 3246,
  423. adErrFeatureNotAvailable = 3251,
  424. adErrItemNotFound = 3265,
  425. adErrObjectInCollection = 3367,
  426. adErrObjectNotSet = 3420,
  427. adErrDataConversion = 3421,
  428. adErrObjectClosed = 3704,
  429. adErrObjectOpen = 3705,
  430. adErrProviderNotFound = 3706,
  431. adErrBoundToCommand = 3707,
  432. adErrInvalidParamInfo = 3708,
  433. adErrInvalidConnection = 3709,
  434. adErrNotReentrant = 3710,
  435. adErrStillExecuting = 3711,
  436. adErrOperationCancelled = 3712,
  437. adErrStillConnecting = 3713,
  438. adErrInvalidTransaction = 3714,
  439. adErrNotExecuting = 3715,
  440. adErrUnsafeOperation = 3716,
  441. adwrnSecurityDialog = 3717,
  442. adwrnSecurityDialogHeader = 3718,
  443. adErrIntegrityViolation = 3719,
  444. adErrPermissionDenied = 3720,
  445. adErrDataOverflow = 3721,
  446. adErrSchemaViolation = 3722,
  447. adErrSignMismatch = 3723,
  448. adErrCantConvertvalue = 3724,
  449. adErrCantCreate = 3725,
  450. adErrColumnNotOnThisRow = 3726,
  451. adErrURLDoesNotExist = 3727,
  452. adErrTreePermissionDenied = 3728,
  453. adErrInvalidURL = 3729,
  454. adErrResourceLocked = 3730,
  455. adErrResourceExists = 3731,
  456. adErrCannotComplete = 3732,
  457. adErrVolumeNotFound = 3733,
  458. adErrOutOfSpace = 3734,
  459. adErrResourceOutOfScope = 3735,
  460. adErrUnavailable = 3736,
  461. adErrURLNamedRowDoesNotExist = 3737,
  462. adErrDelResOutOfScope = 3738,
  463. adErrPropInvalidColumn = 3739,
  464. adErrPropInvalidOption = 3740,
  465. adErrPropInvalidValue = 3741,
  466. adErrPropConflicting = 3742,
  467. adErrPropNotAllSettable = 3743,
  468. adErrPropNotSet = 3744,
  469. adErrPropNotSettable = 3745,
  470. adErrPropNotSupported = 3746,
  471. adErrCatalogNotSet = 3747,
  472. adErrCantChangeConnection = 3748,
  473. adErrFieldsUpdateFailed = 3749,
  474. adErrDenyNotSupported = 3750,
  475. adErrDenyTypeNotSupported = 3751
  476. };
  477. enum ParameterAttributesEnum
  478. {
  479. adParamSigned = 16,
  480. adParamNullable = 64,
  481. adParamLong = 128
  482. };
  483. enum ParameterDirectionEnum
  484. {
  485. adParamUnknown = 0,
  486. adParamInput = 1,
  487. adParamOutput = 2,
  488. adParamInputOutput = 3,
  489. adParamReturnValue = 4
  490. };
  491. enum CommandTypeEnum
  492. {
  493. adCmdUnspecified = -1,
  494. adCmdUnknown = 8,
  495. adCmdText = 1,
  496. adCmdTable = 2,
  497. adCmdStoredProc = 4,
  498. adCmdFile = 256,
  499. adCmdTableDirect = 512
  500. };
  501. enum EventStatusEnum
  502. {
  503. adStatusOK = 1,
  504. adStatusErrorsOccurred = 2,
  505. adStatusCantDeny = 3,
  506. adStatusCancel = 4,
  507. adStatusUnwantedEvent = 5
  508. };
  509. enum EventReasonEnum
  510. {
  511. adRsnAddNew = 1,
  512. adRsnDelete = 2,
  513. adRsnUpdate = 3,
  514. adRsnUndoUpdate = 4,
  515. adRsnUndoAddNew = 5,
  516. adRsnUndoDelete = 6,
  517. adRsnRequery = 7,
  518. adRsnResynch = 8,
  519. adRsnClose = 9,
  520. adRsnMove = 10,
  521. adRsnFirstChange = 11,
  522. adRsnMoveFirst = 12,
  523. adRsnMoveNext = 13,
  524. adRsnMovePrevious = 14,
  525. adRsnMoveLast = 15
  526. };
  527. enum SchemaEnum
  528. {
  529. adSchemaProviderSpecific = -1,
  530. adSchemaAsserts = 0,
  531. adSchemaCatalogs = 1,
  532. adSchemaCharacterSets = 2,
  533. adSchemaCollations = 3,
  534. adSchemaColumns = 4,
  535. adSchemaCheckConstraints = 5,
  536. adSchemaConstraintColumnUsage = 6,
  537. adSchemaConstraintTableUsage = 7,
  538. adSchemaKeyColumnUsage = 8,
  539. adSchemaReferentialContraints = 9,
  540. adSchemaReferentialConstraints = 9,
  541. adSchemaTableConstraints = 10,
  542. adSchemaColumnsDomainUsage = 11,
  543. adSchemaIndexes = 12,
  544. adSchemaColumnPrivileges = 13,
  545. adSchemaTablePrivileges = 14,
  546. adSchemaUsagePrivileges = 15,
  547. adSchemaProcedures = 16,
  548. adSchemaSchemata = 17,
  549. adSchemaSQLLanguages = 18,
  550. adSchemaStatistics = 19,
  551. adSchemaTables = 20,
  552. adSchemaTranslations = 21,
  553. adSchemaProviderTypes = 22,
  554. adSchemaViews = 23,
  555. adSchemaViewColumnUsage = 24,
  556. adSchemaViewTableUsage = 25,
  557. adSchemaProcedureParameters = 26,
  558. adSchemaForeignKeys = 27,
  559. adSchemaPrimaryKeys = 28,
  560. adSchemaProcedureColumns = 29,
  561. adSchemaDBInfoKeywords = 30,
  562. adSchemaDBInfoLiterals = 31,
  563. adSchemaCubes = 32,
  564. adSchemaDimensions = 33,
  565. adSchemaHierarchies = 34,
  566. adSchemaLevels = 35,
  567. adSchemaMeasures = 36,
  568. adSchemaProperties = 37,
  569. adSchemaMembers = 38,
  570. adSchemaTrustees = 39
  571. };
  572. enum FieldStatusEnum
  573. {
  574. adFieldOK = 0,
  575. adFieldCantConvertValue = 2,
  576. adFieldIsNull = 3,
  577. adFieldTruncated = 4,
  578. adFieldSignMismatch = 5,
  579. adFieldDataOverflow = 6,
  580. adFieldCantCreate = 7,
  581. adFieldUnavailable = 8,
  582. adFieldPermissionDenied = 9,
  583. adFieldIntegrityViolation = 10,
  584. adFieldSchemaViolation = 11,
  585. adFieldBadStatus = 12,
  586. adFieldDefault = 13,
  587. adFieldIgnore = 15,
  588. adFieldDoesNotExist = 16,
  589. adFieldInvalidURL = 17,
  590. adFieldResourceLocked = 18,
  591. adFieldResourceExists = 19,
  592. adFieldCannotComplete = 20,
  593. adFieldVolumeNotFound = 21,
  594. adFieldOutOfSpace = 22,
  595. adFieldCannotDeleteSource = 23,
  596. adFieldReadOnly = 24,
  597. adFieldResourceOutOfScope = 25,
  598. adFieldAlreadyExists = 26,
  599. adFieldPendingInsert = 65536,
  600. adFieldPendingDelete = 131072,
  601. adFieldPendingChange = 262144,
  602. adFieldPendingUnknown = 524288,
  603. adFieldPendingUnknownDelete = 1048576
  604. };
  605. enum SeekEnum
  606. {
  607. adSeekFirstEQ = 1,
  608. adSeekLastEQ = 2,
  609. adSeekAfterEQ = 4,
  610. adSeekAfter = 8,
  611. adSeekBeforeEQ = 16,
  612. adSeekBefore = 32
  613. };
  614. enum ADCPROP_UPDATECRITERIA_ENUM
  615. {
  616. adCriteriaKey = 0,
  617. adCriteriaAllCols = 1,
  618. adCriteriaUpdCols = 2,
  619. adCriteriaTimeStamp = 3
  620. };
  621. enum ADCPROP_ASYNCTHREADPRIORITY_ENUM
  622. {
  623. adPriorityLowest = 1,
  624. adPriorityBelowNormal = 2,
  625. adPriorityNormal = 3,
  626. adPriorityAboveNormal = 4,
  627. adPriorityHighest = 5
  628. };
  629. enum ADCPROP_AUTORECALC_ENUM
  630. {
  631. adRecalcUpFront = 0,
  632. adRecalcAlways = 1
  633. };
  634. enum ADCPROP_UPDATERESYNC_ENUM
  635. {
  636. adResyncNone = 0,
  637. adResyncAutoIncrement = 1,
  638. adResyncConflicts = 2,
  639. adResyncUpdates = 4,
  640. adResyncInserts = 8,
  641. adResyncAll = 15
  642. };
  643. enum MoveRecordOptionsEnum
  644. {
  645. adMoveUnspecified = -1,
  646. adMoveOverWrite = 1,
  647. adMoveDontUpdateLinks = 2,
  648. adMoveAllowEmulation = 4
  649. };
  650. enum CopyRecordOptionsEnum
  651. {
  652. adCopyUnspecified = -1,
  653. adCopyOverWrite = 1,
  654. adCopyAllowEmulation = 4,
  655. adCopyNonRecursive = 2
  656. };
  657. enum StreamTypeEnum
  658. {
  659. adTypeBinary = 1,
  660. adTypeText = 2
  661. };
  662. enum LineSeparatorEnum
  663. {
  664. adLF = 10,
  665. adCR = 13,
  666. adCRLF = -1
  667. };
  668. enum StreamOpenOptionsEnum
  669. {
  670. adOpenStreamUnspecified = -1,
  671. adOpenStreamAsync = 1,
  672. adOpenStreamFromRecord = 4
  673. };
  674. enum StreamWriteEnum
  675. {
  676. adWriteChar = 0,
  677. adWriteLine = 1,
  678. stWriteChar = 0,
  679. stWriteLine = 1
  680. };
  681. enum SaveOptionsEnum
  682. {
  683. adSaveCreateNotExist = 1,
  684. adSaveCreateOverWrite = 2
  685. };
  686. enum FieldEnum
  687. {
  688. adDefaultStream = -1,
  689. adRecordURL = -2
  690. };
  691. enum StreamReadEnum
  692. {
  693. adReadAll = -1,
  694. adReadLine = -2
  695. };
  696. enum RecordTypeEnum
  697. {
  698. adSimpleRecord = 0,
  699. adCollectionRecord = 1,
  700. adStructDoc = 2
  701. };
  702. struct __declspec(uuid("00000512-0000-0010-8000-00aa006d2ea4"))
  703. _Collection : IDispatch
  704. {
  705. //
  706. // Property data
  707. //
  708. __declspec(property(get=GetCount))
  709. long Count;
  710. //
  711. // Wrapper methods for error-handling
  712. //
  713. long GetCount ( );
  714. IUnknownPtr _NewEnum ( );
  715. HRESULT Refresh ( );
  716. //
  717. // Raw methods provided by interface
  718. //
  719. virtual HRESULT __stdcall get_Count (
  720. long * c ) = 0;
  721. virtual HRESULT __stdcall raw__NewEnum (
  722. IUnknown * * ppvObject ) = 0;
  723. virtual HRESULT __stdcall raw_Refresh ( ) = 0;
  724. };
  725. struct __declspec(uuid("00000513-0000-0010-8000-00aa006d2ea4"))
  726. _DynaCollection : _Collection
  727. {
  728. //
  729. // Wrapper methods for error-handling
  730. //
  731. HRESULT Append (
  732. IDispatch * Object );
  733. HRESULT Delete (
  734. const _variant_t & Index );
  735. //
  736. // Raw methods provided by interface
  737. //
  738. virtual HRESULT __stdcall raw_Append (
  739. IDispatch * Object ) = 0;
  740. virtual HRESULT __stdcall raw_Delete (
  741. VARIANT Index ) = 0;
  742. };
  743. struct __declspec(uuid("00000534-0000-0010-8000-00aa006d2ea4"))
  744. _ADO : IDispatch
  745. {
  746. //
  747. // Property data
  748. //
  749. __declspec(property(get=GetProperties))
  750. PropertiesPtr Properties;
  751. //
  752. // Wrapper methods for error-handling
  753. //
  754. PropertiesPtr GetProperties ( );
  755. //
  756. // Raw methods provided by interface
  757. //
  758. virtual HRESULT __stdcall get_Properties (
  759. struct Properties * * ppvObject ) = 0;
  760. };
  761. struct __declspec(uuid("00000504-0000-0010-8000-00aa006d2ea4"))
  762. Properties : _Collection
  763. {
  764. //
  765. // Property data
  766. //
  767. __declspec(property(get=GetItem))
  768. PropertyPtr Item[];
  769. //
  770. // Wrapper methods for error-handling
  771. //
  772. PropertyPtr GetItem (
  773. const _variant_t & Index );
  774. //
  775. // Raw methods provided by interface
  776. //
  777. virtual HRESULT __stdcall get_Item (
  778. VARIANT Index,
  779. struct Property * * ppvObject ) = 0;
  780. };
  781. struct __declspec(uuid("00000503-0000-0010-8000-00aa006d2ea4"))
  782. Property : IDispatch
  783. {
  784. //
  785. // Property data
  786. //
  787. __declspec(property(get=GetValue,put=PutValue))
  788. _variant_t Value;
  789. __declspec(property(get=GetName))
  790. _bstr_t Name;
  791. __declspec(property(get=GetType))
  792. enum DataTypeEnum Type;
  793. __declspec(property(get=GetAttributes,put=PutAttributes))
  794. long Attributes;
  795. //
  796. // Wrapper methods for error-handling
  797. //
  798. _variant_t GetValue ( );
  799. void PutValue (
  800. const _variant_t & pval );
  801. _bstr_t GetName ( );
  802. enum DataTypeEnum GetType ( );
  803. long GetAttributes ( );
  804. void PutAttributes (
  805. long plAttributes );
  806. //
  807. // Raw methods provided by interface
  808. //
  809. virtual HRESULT __stdcall get_Value (
  810. VARIANT * pval ) = 0;
  811. virtual HRESULT __stdcall put_Value (
  812. VARIANT pval ) = 0;
  813. virtual HRESULT __stdcall get_Name (
  814. BSTR * pbstr ) = 0;
  815. virtual HRESULT __stdcall get_Type (
  816. enum DataTypeEnum * ptype ) = 0;
  817. virtual HRESULT __stdcall get_Attributes (
  818. long * plAttributes ) = 0;
  819. virtual HRESULT __stdcall put_Attributes (
  820. long plAttributes ) = 0;
  821. };
  822. struct __declspec(uuid("00000500-0000-0010-8000-00aa006d2ea4"))
  823. Error : IDispatch
  824. {
  825. //
  826. // Property data
  827. //
  828. __declspec(property(get=GetDescription))
  829. _bstr_t Description;
  830. __declspec(property(get=GetNumber))
  831. long Number;
  832. __declspec(property(get=GetSource))
  833. _bstr_t Source;
  834. __declspec(property(get=GetHelpFile))
  835. _bstr_t HelpFile;
  836. __declspec(property(get=GetHelpContext))
  837. long HelpContext;
  838. __declspec(property(get=GetSQLState))
  839. _bstr_t SQLState;
  840. __declspec(property(get=GetNativeError))
  841. long NativeError;
  842. //
  843. // Wrapper methods for error-handling
  844. //
  845. long GetNumber ( );
  846. _bstr_t GetSource ( );
  847. _bstr_t GetDescription ( );
  848. _bstr_t GetHelpFile ( );
  849. long GetHelpContext ( );
  850. _bstr_t GetSQLState ( );
  851. long GetNativeError ( );
  852. //
  853. // Raw methods provided by interface
  854. //
  855. virtual HRESULT __stdcall get_Number (
  856. long * pl ) = 0;
  857. virtual HRESULT __stdcall get_Source (
  858. BSTR * pbstr ) = 0;
  859. virtual HRESULT __stdcall get_Description (
  860. BSTR * pbstr ) = 0;
  861. virtual HRESULT __stdcall get_HelpFile (
  862. BSTR * pbstr ) = 0;
  863. virtual HRESULT __stdcall get_HelpContext (
  864. long * pl ) = 0;
  865. virtual HRESULT __stdcall get_SQLState (
  866. BSTR * pbstr ) = 0;
  867. virtual HRESULT __stdcall get_NativeError (
  868. long * pl ) = 0;
  869. };
  870. struct __declspec(uuid("00000501-0000-0010-8000-00aa006d2ea4"))
  871. Errors : _Collection
  872. {
  873. //
  874. // Property data
  875. //
  876. __declspec(property(get=GetItem))
  877. ErrorPtr Item[];
  878. //
  879. // Wrapper methods for error-handling
  880. //
  881. ErrorPtr GetItem (
  882. const _variant_t & Index );
  883. HRESULT Clear ( );
  884. //
  885. // Raw methods provided by interface
  886. //
  887. virtual HRESULT __stdcall get_Item (
  888. VARIANT Index,
  889. struct Error * * ppvObject ) = 0;
  890. virtual HRESULT __stdcall raw_Clear ( ) = 0;
  891. };
  892. struct __declspec(uuid("00000508-0000-0010-8000-00aa006d2ea4"))
  893. Command15 : _ADO
  894. {
  895. //
  896. // Property data
  897. //
  898. __declspec(property(get=GetParameters))
  899. ParametersPtr Parameters;
  900. __declspec(property(get=GetActiveConnection,put=PutRefActiveConnection))
  901. _ConnectionPtr ActiveConnection;
  902. __declspec(property(get=GetCommandText,put=PutCommandText))
  903. _bstr_t CommandText;
  904. __declspec(property(get=GetCommandTimeout,put=PutCommandTimeout))
  905. long CommandTimeout;
  906. __declspec(property(get=GetPrepared,put=PutPrepared))
  907. VARIANT_BOOL Prepared;
  908. __declspec(property(get=GetCommandType,put=PutCommandType))
  909. enum CommandTypeEnum CommandType;
  910. __declspec(property(get=GetName,put=PutName))
  911. _bstr_t Name;
  912. //
  913. // Wrapper methods for error-handling
  914. //
  915. _ConnectionPtr GetActiveConnection ( );
  916. void PutRefActiveConnection (
  917. struct _Connection * ppvObject );
  918. void PutActiveConnection (
  919. const _variant_t & ppvObject );
  920. _bstr_t GetCommandText ( );
  921. void PutCommandText (
  922. _bstr_t pbstr );
  923. long GetCommandTimeout ( );
  924. void PutCommandTimeout (
  925. long pl );
  926. VARIANT_BOOL GetPrepared ( );
  927. void PutPrepared (
  928. VARIANT_BOOL pfPrepared );
  929. _RecordsetPtr Execute (
  930. VARIANT * RecordsAffected,
  931. VARIANT * Parameters,
  932. long Options );
  933. _ParameterPtr CreateParameter (
  934. _bstr_t Name,
  935. enum DataTypeEnum Type,
  936. enum ParameterDirectionEnum Direction,
  937. long Size,
  938. const _variant_t & Value = vtMissing );
  939. ParametersPtr GetParameters ( );
  940. void PutCommandType (
  941. enum CommandTypeEnum plCmdType );
  942. enum CommandTypeEnum GetCommandType ( );
  943. _bstr_t GetName ( );
  944. void PutName (
  945. _bstr_t pbstrName );
  946. //
  947. // Raw methods provided by interface
  948. //
  949. virtual HRESULT __stdcall get_ActiveConnection (
  950. struct _Connection * * ppvObject ) = 0;
  951. virtual HRESULT __stdcall putref_ActiveConnection (
  952. struct _Connection * ppvObject ) = 0;
  953. virtual HRESULT __stdcall put_ActiveConnection (
  954. VARIANT ppvObject ) = 0;
  955. virtual HRESULT __stdcall get_CommandText (
  956. BSTR * pbstr ) = 0;
  957. virtual HRESULT __stdcall put_CommandText (
  958. BSTR pbstr ) = 0;
  959. virtual HRESULT __stdcall get_CommandTimeout (
  960. long * pl ) = 0;
  961. virtual HRESULT __stdcall put_CommandTimeout (
  962. long pl ) = 0;
  963. virtual HRESULT __stdcall get_Prepared (
  964. VARIANT_BOOL * pfPrepared ) = 0;
  965. virtual HRESULT __stdcall put_Prepared (
  966. VARIANT_BOOL pfPrepared ) = 0;
  967. virtual HRESULT __stdcall raw_Execute (
  968. VARIANT * RecordsAffected,
  969. VARIANT * Parameters,
  970. long Options,
  971. struct _Recordset * * ppiRs ) = 0;
  972. virtual HRESULT __stdcall raw_CreateParameter (
  973. BSTR Name,
  974. enum DataTypeEnum Type,
  975. enum ParameterDirectionEnum Direction,
  976. long Size,
  977. VARIANT Value,
  978. struct _Parameter * * ppiprm ) = 0;
  979. virtual HRESULT __stdcall get_Parameters (
  980. struct Parameters * * ppvObject ) = 0;
  981. virtual HRESULT __stdcall put_CommandType (
  982. enum CommandTypeEnum plCmdType ) = 0;
  983. virtual HRESULT __stdcall get_CommandType (
  984. enum CommandTypeEnum * plCmdType ) = 0;
  985. virtual HRESULT __stdcall get_Name (
  986. BSTR * pbstrName ) = 0;
  987. virtual HRESULT __stdcall put_Name (
  988. BSTR pbstrName ) = 0;
  989. };
  990. struct __declspec(uuid("00000515-0000-0010-8000-00aa006d2ea4"))
  991. Connection15 : _ADO
  992. {
  993. //
  994. // Property data
  995. //
  996. __declspec(property(get=GetConnectionString,put=PutConnectionString))
  997. _bstr_t ConnectionString;
  998. __declspec(property(get=GetCommandTimeout,put=PutCommandTimeout))
  999. long CommandTimeout;
  1000. __declspec(property(get=GetConnectionTimeout,put=PutConnectionTimeout))
  1001. long ConnectionTimeout;
  1002. __declspec(property(get=GetVersion))
  1003. _bstr_t Version;
  1004. __declspec(property(get=GetErrors))
  1005. ErrorsPtr Errors;
  1006. __declspec(property(get=GetDefaultDatabase,put=PutDefaultDatabase))
  1007. _bstr_t DefaultDatabase;
  1008. __declspec(property(get=GetIsolationLevel,put=PutIsolationLevel))
  1009. enum IsolationLevelEnum IsolationLevel;
  1010. __declspec(property(get=GetAttributes,put=PutAttributes))
  1011. long Attributes;
  1012. __declspec(property(get=GetCursorLocation,put=PutCursorLocation))
  1013. enum CursorLocationEnum CursorLocation;
  1014. __declspec(property(get=GetMode,put=PutMode))
  1015. enum ConnectModeEnum Mode;
  1016. __declspec(property(get=GetProvider,put=PutProvider))
  1017. _bstr_t Provider;
  1018. __declspec(property(get=GetState))
  1019. long State;
  1020. //
  1021. // Wrapper methods for error-handling
  1022. //
  1023. _bstr_t GetConnectionString ( );
  1024. void PutConnectionString (
  1025. _bstr_t pbstr );
  1026. long GetCommandTimeout ( );
  1027. void PutCommandTimeout (
  1028. long plTimeout );
  1029. long GetConnectionTimeout ( );
  1030. void PutConnectionTimeout (
  1031. long plTimeout );
  1032. _bstr_t GetVersion ( );
  1033. HRESULT Close ( );
  1034. _RecordsetPtr Execute (
  1035. _bstr_t CommandText,
  1036. VARIANT * RecordsAffected,
  1037. long Options );
  1038. long BeginTrans ( );
  1039. HRESULT CommitTrans ( );
  1040. HRESULT RollbackTrans ( );
  1041. HRESULT Open (
  1042. _bstr_t ConnectionString,
  1043. _bstr_t UserID,
  1044. _bstr_t Password,
  1045. long Options );
  1046. ErrorsPtr GetErrors ( );
  1047. _bstr_t GetDefaultDatabase ( );
  1048. void PutDefaultDatabase (
  1049. _bstr_t pbstr );
  1050. enum IsolationLevelEnum GetIsolationLevel ( );
  1051. void PutIsolationLevel (
  1052. enum IsolationLevelEnum Level );
  1053. long GetAttributes ( );
  1054. void PutAttributes (
  1055. long plAttr );
  1056. enum CursorLocationEnum GetCursorLocation ( );
  1057. void PutCursorLocation (
  1058. enum CursorLocationEnum plCursorLoc );
  1059. enum ConnectModeEnum GetMode ( );
  1060. void PutMode (
  1061. enum ConnectModeEnum plMode );
  1062. _bstr_t GetProvider ( );
  1063. void PutProvider (
  1064. _bstr_t pbstr );
  1065. long GetState ( );
  1066. _RecordsetPtr OpenSchema (
  1067. enum SchemaEnum Schema,
  1068. const _variant_t & Restrictions = vtMissing,
  1069. const _variant_t & SchemaID = vtMissing );
  1070. //
  1071. // Raw methods provided by interface
  1072. //
  1073. virtual HRESULT __stdcall get_ConnectionString (
  1074. BSTR * pbstr ) = 0;
  1075. virtual HRESULT __stdcall put_ConnectionString (
  1076. BSTR pbstr ) = 0;
  1077. virtual HRESULT __stdcall get_CommandTimeout (
  1078. long * plTimeout ) = 0;
  1079. virtual HRESULT __stdcall put_CommandTimeout (
  1080. long plTimeout ) = 0;
  1081. virtual HRESULT __stdcall get_ConnectionTimeout (
  1082. long * plTimeout ) = 0;
  1083. virtual HRESULT __stdcall put_ConnectionTimeout (
  1084. long plTimeout ) = 0;
  1085. virtual HRESULT __stdcall get_Version (
  1086. BSTR * pbstr ) = 0;
  1087. virtual HRESULT __stdcall raw_Close ( ) = 0;
  1088. virtual HRESULT __stdcall raw_Execute (
  1089. BSTR CommandText,
  1090. VARIANT * RecordsAffected,
  1091. long Options,
  1092. struct _Recordset * * ppiRset ) = 0;
  1093. virtual HRESULT __stdcall raw_BeginTrans (
  1094. long * TransactionLevel ) = 0;
  1095. virtual HRESULT __stdcall raw_CommitTrans ( ) = 0;
  1096. virtual HRESULT __stdcall raw_RollbackTrans ( ) = 0;
  1097. virtual HRESULT __stdcall raw_Open (
  1098. BSTR ConnectionString,
  1099. BSTR UserID,
  1100. BSTR Password,
  1101. long Options ) = 0;
  1102. virtual HRESULT __stdcall get_Errors (
  1103. struct Errors * * ppvObject ) = 0;
  1104. virtual HRESULT __stdcall get_DefaultDatabase (
  1105. BSTR * pbstr ) = 0;
  1106. virtual HRESULT __stdcall put_DefaultDatabase (
  1107. BSTR pbstr ) = 0;
  1108. virtual HRESULT __stdcall get_IsolationLevel (
  1109. enum IsolationLevelEnum * Level ) = 0;
  1110. virtual HRESULT __stdcall put_IsolationLevel (
  1111. enum IsolationLevelEnum Level ) = 0;
  1112. virtual HRESULT __stdcall get_Attributes (
  1113. long * plAttr ) = 0;
  1114. virtual HRESULT __stdcall put_Attributes (
  1115. long plAttr ) = 0;
  1116. virtual HRESULT __stdcall get_CursorLocation (
  1117. enum CursorLocationEnum * plCursorLoc ) = 0;
  1118. virtual HRESULT __stdcall put_CursorLocation (
  1119. enum CursorLocationEnum plCursorLoc ) = 0;
  1120. virtual HRESULT __stdcall get_Mode (
  1121. enum ConnectModeEnum * plMode ) = 0;
  1122. virtual HRESULT __stdcall put_Mode (
  1123. enum ConnectModeEnum plMode ) = 0;
  1124. virtual HRESULT __stdcall get_Provider (
  1125. BSTR * pbstr ) = 0;
  1126. virtual HRESULT __stdcall put_Provider (
  1127. BSTR pbstr ) = 0;
  1128. virtual HRESULT __stdcall get_State (
  1129. long * plObjState ) = 0;
  1130. virtual HRESULT __stdcall raw_OpenSchema (
  1131. enum SchemaEnum Schema,
  1132. VARIANT Restrictions,
  1133. VARIANT SchemaID,
  1134. struct _Recordset * * pprset ) = 0;
  1135. };
  1136. struct __declspec(uuid("00000550-0000-0010-8000-00aa006d2ea4"))
  1137. _Connection : Connection15
  1138. {
  1139. //
  1140. // Wrapper methods for error-handling
  1141. //
  1142. HRESULT Cancel ( );
  1143. //
  1144. // Raw methods provided by interface
  1145. //
  1146. virtual HRESULT __stdcall raw_Cancel ( ) = 0;
  1147. };
  1148. struct __declspec(uuid("0000050e-0000-0010-8000-00aa006d2ea4"))
  1149. Recordset15 : _ADO
  1150. {
  1151. //
  1152. // Property data
  1153. //
  1154. __declspec(property(get=GetFields))
  1155. FieldsPtr Fields;
  1156. __declspec(property(get=GetPageSize,put=PutPageSize))
  1157. long PageSize;
  1158. __declspec(property(get=GetPageCount))
  1159. long PageCount;
  1160. __declspec(property(get=GetCursorLocation,put=PutCursorLocation))
  1161. enum CursorLocationEnum CursorLocation;
  1162. __declspec(property(get=GetState))
  1163. long State;
  1164. __declspec(property(get=GetMarshalOptions,put=PutMarshalOptions))
  1165. enum MarshalOptionsEnum MarshalOptions;
  1166. __declspec(property(get=GetCollect,put=PutCollect))
  1167. _variant_t Collect[];
  1168. __declspec(property(get=GetEditMode))
  1169. enum EditModeEnum EditMode;
  1170. __declspec(property(get=GetStatus))
  1171. long Status;
  1172. __declspec(property(get=GetFilter,put=PutFilter))
  1173. _variant_t Filter;
  1174. __declspec(property(get=GetSort,put=PutSort))
  1175. _bstr_t Sort;
  1176. __declspec(property(get=GetAbsolutePosition,put=PutAbsolutePosition))
  1177. enum PositionEnum AbsolutePosition;
  1178. __declspec(property(get=GetBOF))
  1179. VARIANT_BOOL BOF;
  1180. __declspec(property(get=GetBookmark,put=PutBookmark))
  1181. _variant_t Bookmark;
  1182. __declspec(property(get=GetCacheSize,put=PutCacheSize))
  1183. long CacheSize;
  1184. __declspec(property(get=GetCursorType,put=PutCursorType))
  1185. enum CursorTypeEnum CursorType;
  1186. __declspec(property(get=GetEndOfFile))
  1187. VARIANT_BOOL EndOfFile;
  1188. __declspec(property(get=GetAbsolutePage,put=PutAbsolutePage))
  1189. enum PositionEnum AbsolutePage;
  1190. __declspec(property(get=GetLockType,put=PutLockType))
  1191. enum LockTypeEnum LockType;
  1192. __declspec(property(get=GetMaxRecords,put=PutMaxRecords))
  1193. long MaxRecords;
  1194. __declspec(property(get=GetRecordCount))
  1195. long RecordCount;
  1196. //
  1197. // Wrapper methods for error-handling
  1198. //
  1199. enum PositionEnum GetAbsolutePosition ( );
  1200. void PutAbsolutePosition (
  1201. enum PositionEnum pl );
  1202. void PutRefActiveConnection (
  1203. IDispatch * pvar );
  1204. void PutActiveConnection (
  1205. const _variant_t & pvar );
  1206. _variant_t GetActiveConnection ( );
  1207. VARIANT_BOOL GetBOF ( );
  1208. _variant_t GetBookmark ( );
  1209. void PutBookmark (
  1210. const _variant_t & pvBookmark );
  1211. long GetCacheSize ( );
  1212. void PutCacheSize (
  1213. long pl );
  1214. enum CursorTypeEnum GetCursorType ( );
  1215. void PutCursorType (
  1216. enum CursorTypeEnum plCursorType );
  1217. VARIANT_BOOL GetEndOfFile ( );
  1218. FieldsPtr GetFields ( );
  1219. enum LockTypeEnum GetLockType ( );
  1220. void PutLockType (
  1221. enum LockTypeEnum plLockType );
  1222. long GetMaxRecords ( );
  1223. void PutMaxRecords (
  1224. long plMaxRecords );
  1225. long GetRecordCount ( );
  1226. void PutRefSource (
  1227. IDispatch * pvSource );
  1228. void PutSource (
  1229. _bstr_t pvSource );
  1230. _variant_t GetSource ( );
  1231. HRESULT AddNew (
  1232. const _variant_t & FieldList = vtMissing,
  1233. const _variant_t & Values = vtMissing );
  1234. HRESULT CancelUpdate ( );
  1235. HRESULT Close ( );
  1236. HRESULT Delete (
  1237. enum AffectEnum AffectRecords );
  1238. _variant_t GetRows (
  1239. long Rows,
  1240. const _variant_t & Start = vtMissing,
  1241. const _variant_t & Fields = vtMissing );
  1242. HRESULT Move (
  1243. long NumRecords,
  1244. const _variant_t & Start = vtMissing );
  1245. HRESULT MoveNext ( );
  1246. HRESULT MovePrevious ( );
  1247. HRESULT MoveFirst ( );
  1248. HRESULT MoveLast ( );
  1249. HRESULT Open (
  1250. const _variant_t & Source,
  1251. const _variant_t & ActiveConnection,
  1252. enum CursorTypeEnum CursorType,
  1253. enum LockTypeEnum LockType,
  1254. long Options );
  1255. HRESULT Requery (
  1256. long Options );
  1257. HRESULT _xResync (
  1258. enum AffectEnum AffectRecords );
  1259. HRESULT Update (
  1260. const _variant_t & Fields = vtMissing,
  1261. const _variant_t & Values = vtMissing );
  1262. enum PositionEnum GetAbsolutePage ( );
  1263. void PutAbsolutePage (
  1264. enum PositionEnum pl );
  1265. enum EditModeEnum GetEditMode ( );
  1266. _variant_t GetFilter ( );
  1267. void PutFilter (
  1268. const _variant_t & Criteria );
  1269. long GetPageCount ( );
  1270. long GetPageSize ( );
  1271. void PutPageSize (
  1272. long pl );
  1273. _bstr_t GetSort ( );
  1274. void PutSort (
  1275. _bstr_t Criteria );
  1276. long GetStatus ( );
  1277. long GetState ( );
  1278. _RecordsetPtr _xClone ( );
  1279. HRESULT UpdateBatch (
  1280. enum AffectEnum AffectRecords );
  1281. HRESULT CancelBatch (
  1282. enum AffectEnum AffectRecords );
  1283. enum CursorLocationEnum GetCursorLocation ( );
  1284. void PutCursorLocation (
  1285. enum CursorLocationEnum plCursorLoc );
  1286. _RecordsetPtr NextRecordset (
  1287. VARIANT * RecordsAffected );
  1288. VARIANT_BOOL Supports (
  1289. enum CursorOptionEnum CursorOptions );
  1290. _variant_t GetCollect (
  1291. const _variant_t & Index );
  1292. void PutCollect (
  1293. const _variant_t & Index,
  1294. const _variant_t & pvar );
  1295. enum MarshalOptionsEnum GetMarshalOptions ( );
  1296. void PutMarshalOptions (
  1297. enum MarshalOptionsEnum peMarshal );
  1298. HRESULT Find (
  1299. _bstr_t Criteria,
  1300. long SkipRecords,
  1301. enum SearchDirectionEnum SearchDirection,
  1302. const _variant_t & Start = vtMissing );
  1303. //
  1304. // Raw methods provided by interface
  1305. //
  1306. virtual HRESULT __stdcall get_AbsolutePosition (
  1307. enum PositionEnum * pl ) = 0;
  1308. virtual HRESULT __stdcall put_AbsolutePosition (
  1309. enum PositionEnum pl ) = 0;
  1310. virtual HRESULT __stdcall putref_ActiveConnection (
  1311. IDispatch * pvar ) = 0;
  1312. virtual HRESULT __stdcall put_ActiveConnection (
  1313. VARIANT pvar ) = 0;
  1314. virtual HRESULT __stdcall get_ActiveConnection (
  1315. VARIANT * pvar ) = 0;
  1316. virtual HRESULT __stdcall get_BOF (
  1317. VARIANT_BOOL * pb ) = 0;
  1318. virtual HRESULT __stdcall get_Bookmark (
  1319. VARIANT * pvBookmark ) = 0;
  1320. virtual HRESULT __stdcall put_Bookmark (
  1321. VARIANT pvBookmark ) = 0;
  1322. virtual HRESULT __stdcall get_CacheSize (
  1323. long * pl ) = 0;
  1324. virtual HRESULT __stdcall put_CacheSize (
  1325. long pl ) = 0;
  1326. virtual HRESULT __stdcall get_CursorType (
  1327. enum CursorTypeEnum * plCursorType ) = 0;
  1328. virtual HRESULT __stdcall put_CursorType (
  1329. enum CursorTypeEnum plCursorType ) = 0;
  1330. virtual HRESULT __stdcall get_EndOfFile (
  1331. VARIANT_BOOL * pb ) = 0;
  1332. virtual HRESULT __stdcall get_Fields (
  1333. struct Fields * * ppvObject ) = 0;
  1334. virtual HRESULT __stdcall get_LockType (
  1335. enum LockTypeEnum * plLockType ) = 0;
  1336. virtual HRESULT __stdcall put_LockType (
  1337. enum LockTypeEnum plLockType ) = 0;
  1338. virtual HRESULT __stdcall get_MaxRecords (
  1339. long * plMaxRecords ) = 0;
  1340. virtual HRESULT __stdcall put_MaxRecords (
  1341. long plMaxRecords ) = 0;
  1342. virtual HRESULT __stdcall get_RecordCount (
  1343. long * pl ) = 0;
  1344. virtual HRESULT __stdcall putref_Source (
  1345. IDispatch * pvSource ) = 0;
  1346. virtual HRESULT __stdcall put_Source (
  1347. BSTR pvSource ) = 0;
  1348. virtual HRESULT __stdcall get_Source (
  1349. VARIANT * pvSource ) = 0;
  1350. virtual HRESULT __stdcall raw_AddNew (
  1351. VARIANT FieldList = vtMissing,
  1352. VARIANT Values = vtMissing ) = 0;
  1353. virtual HRESULT __stdcall raw_CancelUpdate ( ) = 0;
  1354. virtual HRESULT __stdcall raw_Close ( ) = 0;
  1355. virtual HRESULT __stdcall raw_Delete (
  1356. enum AffectEnum AffectRecords ) = 0;
  1357. virtual HRESULT __stdcall raw_GetRows (
  1358. long Rows,
  1359. VARIANT Start,
  1360. VARIANT Fields,
  1361. VARIANT * pvar ) = 0;
  1362. virtual HRESULT __stdcall raw_Move (
  1363. long NumRecords,
  1364. VARIANT Start = vtMissing ) = 0;
  1365. virtual HRESULT __stdcall raw_MoveNext ( ) = 0;
  1366. virtual HRESULT __stdcall raw_MovePrevious ( ) = 0;
  1367. virtual HRESULT __stdcall raw_MoveFirst ( ) = 0;
  1368. virtual HRESULT __stdcall raw_MoveLast ( ) = 0;
  1369. virtual HRESULT __stdcall raw_Open (
  1370. VARIANT Source,
  1371. VARIANT ActiveConnection,
  1372. enum CursorTypeEnum CursorType,
  1373. enum LockTypeEnum LockType,
  1374. long Options ) = 0;
  1375. virtual HRESULT __stdcall raw_Requery (
  1376. long Options ) = 0;
  1377. virtual HRESULT __stdcall raw__xResync (
  1378. enum AffectEnum AffectRecords ) = 0;
  1379. virtual HRESULT __stdcall raw_Update (
  1380. VARIANT Fields = vtMissing,
  1381. VARIANT Values = vtMissing ) = 0;
  1382. virtual HRESULT __stdcall get_AbsolutePage (
  1383. enum PositionEnum * pl ) = 0;
  1384. virtual HRESULT __stdcall put_AbsolutePage (
  1385. enum PositionEnum pl ) = 0;
  1386. virtual HRESULT __stdcall get_EditMode (
  1387. enum EditModeEnum * pl ) = 0;
  1388. virtual HRESULT __stdcall get_Filter (
  1389. VARIANT * Criteria ) = 0;
  1390. virtual HRESULT __stdcall put_Filter (
  1391. VARIANT Criteria ) = 0;
  1392. virtual HRESULT __stdcall get_PageCount (
  1393. long * pl ) = 0;
  1394. virtual HRESULT __stdcall get_PageSize (
  1395. long * pl ) = 0;
  1396. virtual HRESULT __stdcall put_PageSize (
  1397. long pl ) = 0;
  1398. virtual HRESULT __stdcall get_Sort (
  1399. BSTR * Criteria ) = 0;
  1400. virtual HRESULT __stdcall put_Sort (
  1401. BSTR Criteria ) = 0;
  1402. virtual HRESULT __stdcall get_Status (
  1403. long * pl ) = 0;
  1404. virtual HRESULT __stdcall get_State (
  1405. long * plObjState ) = 0;
  1406. virtual HRESULT __stdcall raw__xClone (
  1407. struct _Recordset * * ppvObject ) = 0;
  1408. virtual HRESULT __stdcall raw_UpdateBatch (
  1409. enum AffectEnum AffectRecords ) = 0;
  1410. virtual HRESULT __stdcall raw_CancelBatch (
  1411. enum AffectEnum AffectRecords ) = 0;
  1412. virtual HRESULT __stdcall get_CursorLocation (
  1413. enum CursorLocationEnum * plCursorLoc ) = 0;
  1414. virtual HRESULT __stdcall put_CursorLocation (
  1415. enum CursorLocationEnum plCursorLoc ) = 0;
  1416. virtual HRESULT __stdcall raw_NextRecordset (
  1417. VARIANT * RecordsAffected,
  1418. struct _Recordset * * ppiRs ) = 0;
  1419. virtual HRESULT __stdcall raw_Supports (
  1420. enum CursorOptionEnum CursorOptions,
  1421. VARIANT_BOOL * pb ) = 0;
  1422. virtual HRESULT __stdcall get_Collect (
  1423. VARIANT Index,
  1424. VARIANT * pvar ) = 0;
  1425. virtual HRESULT __stdcall put_Collect (
  1426. VARIANT Index,
  1427. VARIANT pvar ) = 0;
  1428. virtual HRESULT __stdcall get_MarshalOptions (
  1429. enum MarshalOptionsEnum * peMarshal ) = 0;
  1430. virtual HRESULT __stdcall put_MarshalOptions (
  1431. enum MarshalOptionsEnum peMarshal ) = 0;
  1432. virtual HRESULT __stdcall raw_Find (
  1433. BSTR Criteria,
  1434. long SkipRecords,
  1435. enum SearchDirectionEnum SearchDirection,
  1436. VARIANT Start = vtMissing ) = 0;
  1437. };
  1438. struct __declspec(uuid("0000054f-0000-0010-8000-00aa006d2ea4"))
  1439. Recordset20 : Recordset15
  1440. {
  1441. //
  1442. // Property data
  1443. //
  1444. __declspec(property(get=GetDataSource,put=PutRefDataSource))
  1445. IUnknownPtr DataSource;
  1446. __declspec(property(get=GetActiveCommand))
  1447. IDispatchPtr ActiveCommand;
  1448. __declspec(property(get=GetStayInSync,put=PutStayInSync))
  1449. VARIANT_BOOL StayInSync;
  1450. __declspec(property(get=GetDataMember,put=PutDataMember))
  1451. _bstr_t DataMember;
  1452. //
  1453. // Wrapper methods for error-handling
  1454. //
  1455. HRESULT Cancel ( );
  1456. IUnknownPtr GetDataSource ( );
  1457. void PutRefDataSource (
  1458. IUnknown * ppunkDataSource );
  1459. HRESULT _xSave (
  1460. _bstr_t FileName,
  1461. enum PersistFormatEnum PersistFormat );
  1462. IDispatchPtr GetActiveCommand ( );
  1463. void PutStayInSync (
  1464. VARIANT_BOOL pbStayInSync );
  1465. VARIANT_BOOL GetStayInSync ( );
  1466. _bstr_t GetString (
  1467. enum StringFormatEnum StringFormat,
  1468. long NumRows,
  1469. _bstr_t ColumnDelimeter,
  1470. _bstr_t RowDelimeter,
  1471. _bstr_t NullExpr );
  1472. _bstr_t GetDataMember ( );
  1473. void PutDataMember (
  1474. _bstr_t pbstrDataMember );
  1475. enum CompareEnum CompareBookmarks (
  1476. const _variant_t & Bookmark1,
  1477. const _variant_t & Bookmark2 );
  1478. _RecordsetPtr Clone (
  1479. enum LockTypeEnum LockType );
  1480. HRESULT Resync (
  1481. enum AffectEnum AffectRecords,
  1482. enum ResyncEnum ResyncValues );
  1483. //
  1484. // Raw methods provided by interface
  1485. //
  1486. virtual HRESULT __stdcall raw_Cancel ( ) = 0;
  1487. virtual HRESULT __stdcall get_DataSource (
  1488. IUnknown * * ppunkDataSource ) = 0;
  1489. virtual HRESULT __stdcall putref_DataSource (
  1490. IUnknown * ppunkDataSource ) = 0;
  1491. virtual HRESULT __stdcall raw__xSave (
  1492. BSTR FileName,
  1493. enum PersistFormatEnum PersistFormat ) = 0;
  1494. virtual HRESULT __stdcall get_ActiveCommand (
  1495. IDispatch * * ppCmd ) = 0;
  1496. virtual HRESULT __stdcall put_StayInSync (
  1497. VARIANT_BOOL pbStayInSync ) = 0;
  1498. virtual HRESULT __stdcall get_StayInSync (
  1499. VARIANT_BOOL * pbStayInSync ) = 0;
  1500. virtual HRESULT __stdcall raw_GetString (
  1501. enum StringFormatEnum StringFormat,
  1502. long NumRows,
  1503. BSTR ColumnDelimeter,
  1504. BSTR RowDelimeter,
  1505. BSTR NullExpr,
  1506. BSTR * pRetString ) = 0;
  1507. virtual HRESULT __stdcall get_DataMember (
  1508. BSTR * pbstrDataMember ) = 0;
  1509. virtual HRESULT __stdcall put_DataMember (
  1510. BSTR pbstrDataMember ) = 0;
  1511. virtual HRESULT __stdcall raw_CompareBookmarks (
  1512. VARIANT Bookmark1,
  1513. VARIANT Bookmark2,
  1514. enum CompareEnum * pCompare ) = 0;
  1515. virtual HRESULT __stdcall raw_Clone (
  1516. enum LockTypeEnum LockType,
  1517. struct _Recordset * * ppvObject ) = 0;
  1518. virtual HRESULT __stdcall raw_Resync (
  1519. enum AffectEnum AffectRecords,
  1520. enum ResyncEnum ResyncValues ) = 0;
  1521. };
  1522. struct __declspec(uuid("00000555-0000-0010-8000-00aa006d2ea4"))
  1523. Recordset21 : Recordset20
  1524. {
  1525. //
  1526. // Property data
  1527. //
  1528. __declspec(property(get=GetIndex,put=PutIndex))
  1529. _bstr_t Index;
  1530. //
  1531. // Wrapper methods for error-handling
  1532. //
  1533. HRESULT Seek (
  1534. const _variant_t & KeyValues,
  1535. enum SeekEnum SeekOption );
  1536. void PutIndex (
  1537. _bstr_t pbstrIndex );
  1538. _bstr_t GetIndex ( );
  1539. //
  1540. // Raw methods provided by interface
  1541. //
  1542. virtual HRESULT __stdcall raw_Seek (
  1543. VARIANT KeyValues,
  1544. enum SeekEnum SeekOption ) = 0;
  1545. virtual HRESULT __stdcall put_Index (
  1546. BSTR pbstrIndex ) = 0;
  1547. virtual HRESULT __stdcall get_Index (
  1548. BSTR * pbstrIndex ) = 0;
  1549. };
  1550. struct __declspec(uuid("00000556-0000-0010-8000-00aa006d2ea4"))
  1551. _Recordset : Recordset21
  1552. {
  1553. //
  1554. // Wrapper methods for error-handling
  1555. //
  1556. HRESULT Save (
  1557. const _variant_t & Destination,
  1558. enum PersistFormatEnum PersistFormat );
  1559. //
  1560. // Raw methods provided by interface
  1561. //
  1562. virtual HRESULT __stdcall raw_Save (
  1563. VARIANT Destination,
  1564. enum PersistFormatEnum PersistFormat ) = 0;
  1565. };
  1566. struct __declspec(uuid("00000506-0000-0010-8000-00aa006d2ea4"))
  1567. Fields15 : _Collection
  1568. {
  1569. //
  1570. // Property data
  1571. //
  1572. __declspec(property(get=GetItem))
  1573. FieldPtr Item[];
  1574. //
  1575. // Wrapper methods for error-handling
  1576. //
  1577. FieldPtr GetItem (
  1578. const _variant_t & Index );
  1579. //
  1580. // Raw methods provided by interface
  1581. //
  1582. virtual HRESULT __stdcall get_Item (
  1583. VARIANT Index,
  1584. struct Field * * ppvObject ) = 0;
  1585. };
  1586. struct __declspec(uuid("0000054d-0000-0010-8000-00aa006d2ea4"))
  1587. Fields20 : Fields15
  1588. {
  1589. //
  1590. // Wrapper methods for error-handling
  1591. //
  1592. HRESULT _Append (
  1593. _bstr_t Name,
  1594. enum DataTypeEnum Type,
  1595. long DefinedSize,
  1596. enum FieldAttributeEnum Attrib );
  1597. HRESULT Delete (
  1598. const _variant_t & Index );
  1599. //
  1600. // Raw methods provided by interface
  1601. //
  1602. virtual HRESULT __stdcall raw__Append (
  1603. BSTR Name,
  1604. enum DataTypeEnum Type,
  1605. long DefinedSize,
  1606. enum FieldAttributeEnum Attrib ) = 0;
  1607. virtual HRESULT __stdcall raw_Delete (
  1608. VARIANT Index ) = 0;
  1609. };
  1610. struct __declspec(uuid("00000564-0000-0010-8000-00aa006d2ea4"))
  1611. Fields : Fields20
  1612. {
  1613. //
  1614. // Wrapper methods for error-handling
  1615. //
  1616. HRESULT Append (
  1617. _bstr_t Name,
  1618. enum DataTypeEnum Type,
  1619. long DefinedSize,
  1620. enum FieldAttributeEnum Attrib,
  1621. const _variant_t & FieldValue = vtMissing );
  1622. HRESULT Update ( );
  1623. HRESULT Resync (
  1624. enum ResyncEnum ResyncValues );
  1625. HRESULT CancelUpdate ( );
  1626. //
  1627. // Raw methods provided by interface
  1628. //
  1629. virtual HRESULT __stdcall raw_Append (
  1630. BSTR Name,
  1631. enum DataTypeEnum Type,
  1632. long DefinedSize,
  1633. enum FieldAttributeEnum Attrib,
  1634. VARIANT FieldValue = vtMissing ) = 0;
  1635. virtual HRESULT __stdcall raw_Update ( ) = 0;
  1636. virtual HRESULT __stdcall raw_Resync (
  1637. enum ResyncEnum ResyncValues ) = 0;
  1638. virtual HRESULT __stdcall raw_CancelUpdate ( ) = 0;
  1639. };
  1640. struct __declspec(uuid("0000054c-0000-0010-8000-00aa006d2ea4"))
  1641. Field20 : _ADO
  1642. {
  1643. //
  1644. // Property data
  1645. //
  1646. __declspec(property(get=GetValue,put=PutValue))
  1647. _variant_t Value;
  1648. __declspec(property(get=GetName))
  1649. _bstr_t Name;
  1650. __declspec(property(get=GetType,put=PutType))
  1651. enum DataTypeEnum Type;
  1652. __declspec(property(get=GetDefinedSize,put=PutDefinedSize))
  1653. long DefinedSize;
  1654. __declspec(property(get=GetOriginalValue))
  1655. _variant_t OriginalValue;
  1656. __declspec(property(get=GetUnderlyingValue))
  1657. _variant_t UnderlyingValue;
  1658. __declspec(property(get=GetActualSize))
  1659. long ActualSize;
  1660. __declspec(property(get=GetPrecision,put=PutPrecision))
  1661. unsigned char Precision;
  1662. __declspec(property(get=GetNumericScale,put=PutNumericScale))
  1663. unsigned char NumericScale;
  1664. __declspec(property(get=GetAttributes,put=PutAttributes))
  1665. long Attributes;
  1666. __declspec(property(get=GetDataFormat,put=PutRefDataFormat))
  1667. IUnknownPtr DataFormat;
  1668. //
  1669. // Wrapper methods for error-handling
  1670. //
  1671. long GetActualSize ( );
  1672. long GetAttributes ( );
  1673. long GetDefinedSize ( );
  1674. _bstr_t GetName ( );
  1675. enum DataTypeEnum GetType ( );
  1676. _variant_t GetValue ( );
  1677. void PutValue (
  1678. const _variant_t & pvar );
  1679. unsigned char GetPrecision ( );
  1680. unsigned char GetNumericScale ( );
  1681. HRESULT AppendChunk (
  1682. const _variant_t & Data );
  1683. _variant_t GetChunk (
  1684. long Length );
  1685. _variant_t GetOriginalValue ( );
  1686. _variant_t GetUnderlyingValue ( );
  1687. IUnknownPtr GetDataFormat ( );
  1688. void PutRefDataFormat (
  1689. IUnknown * ppiDF );
  1690. void PutPrecision (
  1691. unsigned char pbPrecision );
  1692. void PutNumericScale (
  1693. unsigned char pbNumericScale );
  1694. void PutType (
  1695. enum DataTypeEnum pDataType );
  1696. void PutDefinedSize (
  1697. long pl );
  1698. void PutAttributes (
  1699. long pl );
  1700. //
  1701. // Raw methods provided by interface
  1702. //
  1703. virtual HRESULT __stdcall get_ActualSize (
  1704. long * pl ) = 0;
  1705. virtual HRESULT __stdcall get_Attributes (
  1706. long * pl ) = 0;
  1707. virtual HRESULT __stdcall get_DefinedSize (
  1708. long * pl ) = 0;
  1709. virtual HRESULT __stdcall get_Name (
  1710. BSTR * pbstr ) = 0;
  1711. virtual HRESULT __stdcall get_Type (
  1712. enum DataTypeEnum * pDataType ) = 0;
  1713. virtual HRESULT __stdcall get_Value (
  1714. VARIANT * pvar ) = 0;
  1715. virtual HRESULT __stdcall put_Value (
  1716. VARIANT pvar ) = 0;
  1717. virtual HRESULT __stdcall get_Precision (
  1718. unsigned char * pbPrecision ) = 0;
  1719. virtual HRESULT __stdcall get_NumericScale (
  1720. unsigned char * pbNumericScale ) = 0;
  1721. virtual HRESULT __stdcall raw_AppendChunk (
  1722. VARIANT Data ) = 0;
  1723. virtual HRESULT __stdcall raw_GetChunk (
  1724. long Length,
  1725. VARIANT * pvar ) = 0;
  1726. virtual HRESULT __stdcall get_OriginalValue (
  1727. VARIANT * pvar ) = 0;
  1728. virtual HRESULT __stdcall get_UnderlyingValue (
  1729. VARIANT * pvar ) = 0;
  1730. virtual HRESULT __stdcall get_DataFormat (
  1731. IUnknown * * ppiDF ) = 0;
  1732. virtual HRESULT __stdcall putref_DataFormat (
  1733. IUnknown * ppiDF ) = 0;
  1734. virtual HRESULT __stdcall put_Precision (
  1735. unsigned char pbPrecision ) = 0;
  1736. virtual HRESULT __stdcall put_NumericScale (
  1737. unsigned char pbNumericScale ) = 0;
  1738. virtual HRESULT __stdcall put_Type (
  1739. enum DataTypeEnum pDataType ) = 0;
  1740. virtual HRESULT __stdcall put_DefinedSize (
  1741. long pl ) = 0;
  1742. virtual HRESULT __stdcall put_Attributes (
  1743. long pl ) = 0;
  1744. };
  1745. struct __declspec(uuid("00000569-0000-0010-8000-00aa006d2ea4"))
  1746. Field : Field20
  1747. {
  1748. //
  1749. // Property data
  1750. //
  1751. __declspec(property(get=GetStatus))
  1752. long Status;
  1753. //
  1754. // Wrapper methods for error-handling
  1755. //
  1756. long GetStatus ( );
  1757. //
  1758. // Raw methods provided by interface
  1759. //
  1760. virtual HRESULT __stdcall get_Status (
  1761. long * pFStatus ) = 0;
  1762. };
  1763. struct __declspec(uuid("0000050c-0000-0010-8000-00aa006d2ea4"))
  1764. _Parameter : _ADO
  1765. {
  1766. //
  1767. // Property data
  1768. //
  1769. __declspec(property(get=GetValue,put=PutValue))
  1770. _variant_t Value;
  1771. __declspec(property(get=GetName,put=PutName))
  1772. _bstr_t Name;
  1773. __declspec(property(get=GetType,put=PutType))
  1774. enum DataTypeEnum Type;
  1775. __declspec(property(get=GetDirection,put=PutDirection))
  1776. enum ParameterDirectionEnum Direction;
  1777. __declspec(property(get=GetPrecision,put=PutPrecision))
  1778. unsigned char Precision;
  1779. __declspec(property(get=GetNumericScale,put=PutNumericScale))
  1780. unsigned char NumericScale;
  1781. __declspec(property(get=GetSize,put=PutSize))
  1782. long Size;
  1783. __declspec(property(get=GetAttributes,put=PutAttributes))
  1784. long Attributes;
  1785. //
  1786. // Wrapper methods for error-handling
  1787. //
  1788. _bstr_t GetName ( );
  1789. void PutName (
  1790. _bstr_t pbstr );
  1791. _variant_t GetValue ( );
  1792. void PutValue (
  1793. const _variant_t & pvar );
  1794. enum DataTypeEnum GetType ( );
  1795. void PutType (
  1796. enum DataTypeEnum psDataType );
  1797. void PutDirection (
  1798. enum ParameterDirectionEnum plParmDirection );
  1799. enum ParameterDirectionEnum GetDirection ( );
  1800. void PutPrecision (
  1801. unsigned char pbPrecision );
  1802. unsigned char GetPrecision ( );
  1803. void PutNumericScale (
  1804. unsigned char pbScale );
  1805. unsigned char GetNumericScale ( );
  1806. void PutSize (
  1807. long pl );
  1808. long GetSize ( );
  1809. HRESULT AppendChunk (
  1810. const _variant_t & Val );
  1811. long GetAttributes ( );
  1812. void PutAttributes (
  1813. long plParmAttribs );
  1814. //
  1815. // Raw methods provided by interface
  1816. //
  1817. virtual HRESULT __stdcall get_Name (
  1818. BSTR * pbstr ) = 0;
  1819. virtual HRESULT __stdcall put_Name (
  1820. BSTR pbstr ) = 0;
  1821. virtual HRESULT __stdcall get_Value (
  1822. VARIANT * pvar ) = 0;
  1823. virtual HRESULT __stdcall put_Value (
  1824. VARIANT pvar ) = 0;
  1825. virtual HRESULT __stdcall get_Type (
  1826. enum DataTypeEnum * psDataType ) = 0;
  1827. virtual HRESULT __stdcall put_Type (
  1828. enum DataTypeEnum psDataType ) = 0;
  1829. virtual HRESULT __stdcall put_Direction (
  1830. enum ParameterDirectionEnum plParmDirection ) = 0;
  1831. virtual HRESULT __stdcall get_Direction (
  1832. enum ParameterDirectionEnum * plParmDirection ) = 0;
  1833. virtual HRESULT __stdcall put_Precision (
  1834. unsigned char pbPrecision ) = 0;
  1835. virtual HRESULT __stdcall get_Precision (
  1836. unsigned char * pbPrecision ) = 0;
  1837. virtual HRESULT __stdcall put_NumericScale (
  1838. unsigned char pbScale ) = 0;
  1839. virtual HRESULT __stdcall get_NumericScale (
  1840. unsigned char * pbScale ) = 0;
  1841. virtual HRESULT __stdcall put_Size (
  1842. long pl ) = 0;
  1843. virtual HRESULT __stdcall get_Size (
  1844. long * pl ) = 0;
  1845. virtual HRESULT __stdcall raw_AppendChunk (
  1846. VARIANT Val ) = 0;
  1847. virtual HRESULT __stdcall get_Attributes (
  1848. long * plParmAttribs ) = 0;
  1849. virtual HRESULT __stdcall put_Attributes (
  1850. long plParmAttribs ) = 0;
  1851. };
  1852. struct __declspec(uuid("0000050d-0000-0010-8000-00aa006d2ea4"))
  1853. Parameters : _DynaCollection
  1854. {
  1855. //
  1856. // Property data
  1857. //
  1858. __declspec(property(get=GetItem))
  1859. _ParameterPtr Item[];
  1860. //
  1861. // Wrapper methods for error-handling
  1862. //
  1863. _ParameterPtr GetItem (
  1864. const _variant_t & Index );
  1865. //
  1866. // Raw methods provided by interface
  1867. //
  1868. virtual HRESULT __stdcall get_Item (
  1869. VARIANT Index,
  1870. struct _Parameter * * ppvObject ) = 0;
  1871. };
  1872. struct __declspec(uuid("0000054e-0000-0010-8000-00aa006d2ea4"))
  1873. _Command : Command15
  1874. {
  1875. //
  1876. // Property data
  1877. //
  1878. __declspec(property(get=GetState))
  1879. long State;
  1880. //
  1881. // Wrapper methods for error-handling
  1882. //
  1883. long GetState ( );
  1884. HRESULT Cancel ( );
  1885. //
  1886. // Raw methods provided by interface
  1887. //
  1888. virtual HRESULT __stdcall get_State (
  1889. long * plObjState ) = 0;
  1890. virtual HRESULT __stdcall raw_Cancel ( ) = 0;
  1891. };
  1892. struct __declspec(uuid("00000402-0000-0010-8000-00aa006d2ea4"))
  1893. ConnectionEventsVt : IUnknown
  1894. {
  1895. //
  1896. // Wrapper methods for error-handling
  1897. //
  1898. HRESULT InfoMessage (
  1899. struct Error * pError,
  1900. enum EventStatusEnum * adStatus,
  1901. struct _Connection * pConnection );
  1902. HRESULT BeginTransComplete (
  1903. long TransactionLevel,
  1904. struct Error * pError,
  1905. enum EventStatusEnum * adStatus,
  1906. struct _Connection * pConnection );
  1907. HRESULT CommitTransComplete (
  1908. struct Error * pError,
  1909. enum EventStatusEnum * adStatus,
  1910. struct _Connection * pConnection );
  1911. HRESULT RollbackTransComplete (
  1912. struct Error * pError,
  1913. enum EventStatusEnum * adStatus,
  1914. struct _Connection * pConnection );
  1915. HRESULT WillExecute (
  1916. BSTR * Source,
  1917. enum CursorTypeEnum * CursorType,
  1918. enum LockTypeEnum * LockType,
  1919. long * Options,
  1920. enum EventStatusEnum * adStatus,
  1921. struct _Command * pCommand,
  1922. struct _Recordset * pRecordset,
  1923. struct _Connection * pConnection );
  1924. HRESULT ExecuteComplete (
  1925. long RecordsAffected,
  1926. struct Error * pError,
  1927. enum EventStatusEnum * adStatus,
  1928. struct _Command * pCommand,
  1929. struct _Recordset * pRecordset,
  1930. struct _Connection * pConnection );
  1931. HRESULT WillConnect (
  1932. BSTR * ConnectionString,
  1933. BSTR * UserID,
  1934. BSTR * Password,
  1935. long * Options,
  1936. enum EventStatusEnum * adStatus,
  1937. struct _Connection * pConnection );
  1938. HRESULT ConnectComplete (
  1939. struct Error * pError,
  1940. enum EventStatusEnum * adStatus,
  1941. struct _Connection * pConnection );
  1942. HRESULT Disconnect (
  1943. enum EventStatusEnum * adStatus,
  1944. struct _Connection * pConnection );
  1945. //
  1946. // Raw methods provided by interface
  1947. //
  1948. virtual HRESULT __stdcall raw_InfoMessage (
  1949. struct Error * pError,
  1950. enum EventStatusEnum * adStatus,
  1951. struct _Connection * pConnection ) = 0;
  1952. virtual HRESULT __stdcall raw_BeginTransComplete (
  1953. long TransactionLevel,
  1954. struct Error * pError,
  1955. enum EventStatusEnum * adStatus,
  1956. struct _Connection * pConnection ) = 0;
  1957. virtual HRESULT __stdcall raw_CommitTransComplete (
  1958. struct Error * pError,
  1959. enum EventStatusEnum * adStatus,
  1960. struct _Connection * pConnection ) = 0;
  1961. virtual HRESULT __stdcall raw_RollbackTransComplete (
  1962. struct Error * pError,
  1963. enum EventStatusEnum * adStatus,
  1964. struct _Connection * pConnection ) = 0;
  1965. virtual HRESULT __stdcall raw_WillExecute (
  1966. BSTR * Source,
  1967. enum CursorTypeEnum * CursorType,
  1968. enum LockTypeEnum * LockType,
  1969. long * Options,
  1970. enum EventStatusEnum * adStatus,
  1971. struct _Command * pCommand,
  1972. struct _Recordset * pRecordset,
  1973. struct _Connection * pConnection ) = 0;
  1974. virtual HRESULT __stdcall raw_ExecuteComplete (
  1975. long RecordsAffected,
  1976. struct Error * pError,
  1977. enum EventStatusEnum * adStatus,
  1978. struct _Command * pCommand,
  1979. struct _Recordset * pRecordset,
  1980. struct _Connection * pConnection ) = 0;
  1981. virtual HRESULT __stdcall raw_WillConnect (
  1982. BSTR * ConnectionString,
  1983. BSTR * UserID,
  1984. BSTR * Password,
  1985. long * Options,
  1986. enum EventStatusEnum * adStatus,
  1987. struct _Connection * pConnection ) = 0;
  1988. virtual HRESULT __stdcall raw_ConnectComplete (
  1989. struct Error * pError,
  1990. enum EventStatusEnum * adStatus,
  1991. struct _Connection * pConnection ) = 0;
  1992. virtual HRESULT __stdcall raw_Disconnect (
  1993. enum EventStatusEnum * adStatus,
  1994. struct _Connection * pConnection ) = 0;
  1995. };
  1996. struct __declspec(uuid("00000403-0000-0010-8000-00aa006d2ea4"))
  1997. RecordsetEventsVt : IUnknown
  1998. {
  1999. //
  2000. // Wrapper methods for error-handling
  2001. //
  2002. HRESULT WillChangeField (
  2003. long cFields,
  2004. const _variant_t & Fields,
  2005. enum EventStatusEnum * adStatus,
  2006. struct _Recordset * pRecordset );
  2007. HRESULT FieldChangeComplete (
  2008. long cFields,
  2009. const _variant_t & Fields,
  2010. struct Error * pError,
  2011. enum EventStatusEnum * adStatus,
  2012. struct _Recordset * pRecordset );
  2013. HRESULT WillChangeRecord (
  2014. enum EventReasonEnum adReason,
  2015. long cRecords,
  2016. enum EventStatusEnum * adStatus,
  2017. struct _Recordset * pRecordset );
  2018. HRESULT RecordChangeComplete (
  2019. enum EventReasonEnum adReason,
  2020. long cRecords,
  2021. struct Error * pError,
  2022. enum EventStatusEnum * adStatus,
  2023. struct _Recordset * pRecordset );
  2024. HRESULT WillChangeRecordset (
  2025. enum EventReasonEnum adReason,
  2026. enum EventStatusEnum * adStatus,
  2027. struct _Recordset * pRecordset );
  2028. HRESULT RecordsetChangeComplete (
  2029. enum EventReasonEnum adReason,
  2030. struct Error * pError,
  2031. enum EventStatusEnum * adStatus,
  2032. struct _Recordset * pRecordset );
  2033. HRESULT WillMove (
  2034. enum EventReasonEnum adReason,
  2035. enum EventStatusEnum * adStatus,
  2036. struct _Recordset * pRecordset );
  2037. HRESULT MoveComplete (
  2038. enum EventReasonEnum adReason,
  2039. struct Error * pError,
  2040. enum EventStatusEnum * adStatus,
  2041. struct _Recordset * pRecordset );
  2042. HRESULT EndOfRecordset (
  2043. VARIANT_BOOL * fMoreData,
  2044. enum EventStatusEnum * adStatus,
  2045. struct _Recordset * pRecordset );
  2046. HRESULT FetchProgress (
  2047. long Progress,
  2048. long MaxProgress,
  2049. enum EventStatusEnum * adStatus,
  2050. struct _Recordset * pRecordset );
  2051. HRESULT FetchComplete (
  2052. struct Error * pError,
  2053. enum EventStatusEnum * adStatus,
  2054. struct _Recordset * pRecordset );
  2055. //
  2056. // Raw methods provided by interface
  2057. //
  2058. virtual HRESULT __stdcall raw_WillChangeField (
  2059. long cFields,
  2060. VARIANT Fields,
  2061. enum EventStatusEnum * adStatus,
  2062. struct _Recordset * pRecordset ) = 0;
  2063. virtual HRESULT __stdcall raw_FieldChangeComplete (
  2064. long cFields,
  2065. VARIANT Fields,
  2066. struct Error * pError,
  2067. enum EventStatusEnum * adStatus,
  2068. struct _Recordset * pRecordset ) = 0;
  2069. virtual HRESULT __stdcall raw_WillChangeRecord (
  2070. enum EventReasonEnum adReason,
  2071. long cRecords,
  2072. enum EventStatusEnum * adStatus,
  2073. struct _Recordset * pRecordset ) = 0;
  2074. virtual HRESULT __stdcall raw_RecordChangeComplete (
  2075. enum EventReasonEnum adReason,
  2076. long cRecords,
  2077. struct Error * pError,
  2078. enum EventStatusEnum * adStatus,
  2079. struct _Recordset * pRecordset ) = 0;
  2080. virtual HRESULT __stdcall raw_WillChangeRecordset (
  2081. enum EventReasonEnum adReason,
  2082. enum EventStatusEnum * adStatus,
  2083. struct _Recordset * pRecordset ) = 0;
  2084. virtual HRESULT __stdcall raw_RecordsetChangeComplete (
  2085. enum EventReasonEnum adReason,
  2086. struct Error * pError,
  2087. enum EventStatusEnum * adStatus,
  2088. struct _Recordset * pRecordset ) = 0;
  2089. virtual HRESULT __stdcall raw_WillMove (
  2090. enum EventReasonEnum adReason,
  2091. enum EventStatusEnum * adStatus,
  2092. struct _Recordset * pRecordset ) = 0;
  2093. virtual HRESULT __stdcall raw_MoveComplete (
  2094. enum EventReasonEnum adReason,
  2095. struct Error * pError,
  2096. enum EventStatusEnum * adStatus,
  2097. struct _Recordset * pRecordset ) = 0;
  2098. virtual HRESULT __stdcall raw_EndOfRecordset (
  2099. VARIANT_BOOL * fMoreData,
  2100. enum EventStatusEnum * adStatus,
  2101. struct _Recordset * pRecordset ) = 0;
  2102. virtual HRESULT __stdcall raw_FetchProgress (
  2103. long Progress,
  2104. long MaxProgress,
  2105. enum EventStatusEnum * adStatus,
  2106. struct _Recordset * pRecordset ) = 0;
  2107. virtual HRESULT __stdcall raw_FetchComplete (
  2108. struct Error * pError,
  2109. enum EventStatusEnum * adStatus,
  2110. struct _Recordset * pRecordset ) = 0;
  2111. };
  2112. struct __declspec(uuid("00000400-0000-0010-8000-00aa006d2ea4"))
  2113. ConnectionEvents : IDispatch
  2114. {
  2115. //
  2116. // Wrapper methods for error-handling
  2117. //
  2118. // Methods:
  2119. HRESULT InfoMessage (
  2120. struct Error * pError,
  2121. enum EventStatusEnum * adStatus,
  2122. struct _Connection * pConnection );
  2123. HRESULT BeginTransComplete (
  2124. long TransactionLevel,
  2125. struct Error * pError,
  2126. enum EventStatusEnum * adStatus,
  2127. struct _Connection * pConnection );
  2128. HRESULT CommitTransComplete (
  2129. struct Error * pError,
  2130. enum EventStatusEnum * adStatus,
  2131. struct _Connection * pConnection );
  2132. HRESULT RollbackTransComplete (
  2133. struct Error * pError,
  2134. enum EventStatusEnum * adStatus,
  2135. struct _Connection * pConnection );
  2136. HRESULT WillExecute (
  2137. BSTR * Source,
  2138. enum CursorTypeEnum * CursorType,
  2139. enum LockTypeEnum * LockType,
  2140. long * Options,
  2141. enum EventStatusEnum * adStatus,
  2142. struct _Command * pCommand,
  2143. struct _Recordset * pRecordset,
  2144. struct _Connection * pConnection );
  2145. HRESULT ExecuteComplete (
  2146. long RecordsAffected,
  2147. struct Error * pError,
  2148. enum EventStatusEnum * adStatus,
  2149. struct _Command * pCommand,
  2150. struct _Recordset * pRecordset,
  2151. struct _Connection * pConnection );
  2152. HRESULT WillConnect (
  2153. BSTR * ConnectionString,
  2154. BSTR * UserID,
  2155. BSTR * Password,
  2156. long * Options,
  2157. enum EventStatusEnum * adStatus,
  2158. struct _Connection * pConnection );
  2159. HRESULT ConnectComplete (
  2160. struct Error * pError,
  2161. enum EventStatusEnum * adStatus,
  2162. struct _Connection * pConnection );
  2163. HRESULT Disconnect (
  2164. enum EventStatusEnum * adStatus,
  2165. struct _Connection * pConnection );
  2166. };
  2167. struct __declspec(uuid("00000266-0000-0010-8000-00aa006d2ea4"))
  2168. RecordsetEvents : IDispatch
  2169. {
  2170. //
  2171. // Wrapper methods for error-handling
  2172. //
  2173. // Methods:
  2174. HRESULT WillChangeField (
  2175. long cFields,
  2176. const _variant_t & Fields,
  2177. enum EventStatusEnum * adStatus,
  2178. struct _Recordset * pRecordset );
  2179. HRESULT FieldChangeComplete (
  2180. long cFields,
  2181. const _variant_t & Fields,
  2182. struct Error * pError,
  2183. enum EventStatusEnum * adStatus,
  2184. struct _Recordset * pRecordset );
  2185. HRESULT WillChangeRecord (
  2186. enum EventReasonEnum adReason,
  2187. long cRecords,
  2188. enum EventStatusEnum * adStatus,
  2189. struct _Recordset * pRecordset );
  2190. HRESULT RecordChangeComplete (
  2191. enum EventReasonEnum adReason,
  2192. long cRecords,
  2193. struct Error * pError,
  2194. enum EventStatusEnum * adStatus,
  2195. struct _Recordset * pRecordset );
  2196. HRESULT WillChangeRecordset (
  2197. enum EventReasonEnum adReason,
  2198. enum EventStatusEnum * adStatus,
  2199. struct _Recordset * pRecordset );
  2200. HRESULT RecordsetChangeComplete (
  2201. enum EventReasonEnum adReason,
  2202. struct Error * pError,
  2203. enum EventStatusEnum * adStatus,
  2204. struct _Recordset * pRecordset );
  2205. HRESULT WillMove (
  2206. enum EventReasonEnum adReason,
  2207. enum EventStatusEnum * adStatus,
  2208. struct _Recordset * pRecordset );
  2209. HRESULT MoveComplete (
  2210. enum EventReasonEnum adReason,
  2211. struct Error * pError,
  2212. enum EventStatusEnum * adStatus,
  2213. struct _Recordset * pRecordset );
  2214. HRESULT EndOfRecordset (
  2215. VARIANT_BOOL * fMoreData,
  2216. enum EventStatusEnum * adStatus,
  2217. struct _Recordset * pRecordset );
  2218. HRESULT FetchProgress (
  2219. long Progress,
  2220. long MaxProgress,
  2221. enum EventStatusEnum * adStatus,
  2222. struct _Recordset * pRecordset );
  2223. HRESULT FetchComplete (
  2224. struct Error * pError,
  2225. enum EventStatusEnum * adStatus,
  2226. struct _Recordset * pRecordset );
  2227. };
  2228. struct __declspec(uuid("00000516-0000-0010-8000-00aa006d2ea4"))
  2229. ADOConnectionConstruction15 : IUnknown
  2230. {
  2231. //
  2232. // Property data
  2233. //
  2234. __declspec(property(get=GetDSO))
  2235. IUnknownPtr DSO;
  2236. __declspec(property(get=GetSession))
  2237. IUnknownPtr Session;
  2238. //
  2239. // Wrapper methods for error-handling
  2240. //
  2241. IUnknownPtr GetDSO ( );
  2242. IUnknownPtr GetSession ( );
  2243. HRESULT WrapDSOandSession (
  2244. IUnknown * pDSO,
  2245. IUnknown * pSession );
  2246. //
  2247. // Raw methods provided by interface
  2248. //
  2249. virtual HRESULT __stdcall get_DSO (
  2250. IUnknown * * ppDSO ) = 0;
  2251. virtual HRESULT __stdcall get_Session (
  2252. IUnknown * * ppSession ) = 0;
  2253. virtual HRESULT __stdcall raw_WrapDSOandSession (
  2254. IUnknown * pDSO,
  2255. IUnknown * pSession ) = 0;
  2256. };
  2257. struct __declspec(uuid("00000551-0000-0010-8000-00aa006d2ea4"))
  2258. ADOConnectionConstruction : ADOConnectionConstruction15
  2259. {};
  2260. struct __declspec(uuid("00000514-0000-0010-8000-00aa006d2ea4"))
  2261. Connection;
  2262. // [ default ] interface _Connection
  2263. // [ default, source ] dispinterface ConnectionEvents
  2264. struct __declspec(uuid("00000562-0000-0010-8000-00aa006d2ea4"))
  2265. _Record : _ADO
  2266. {
  2267. //
  2268. // Property data
  2269. //
  2270. __declspec(property(get=GetFields))
  2271. FieldsPtr Fields;
  2272. __declspec(property(get=GetState))
  2273. enum ObjectStateEnum State;
  2274. __declspec(property(get=GetMode,put=PutMode))
  2275. enum ConnectModeEnum Mode;
  2276. __declspec(property(get=GetParentURL))
  2277. _bstr_t ParentURL;
  2278. __declspec(property(get=GetRecordType))
  2279. enum RecordTypeEnum RecordType;
  2280. //
  2281. // Wrapper methods for error-handling
  2282. //
  2283. _variant_t GetActiveConnection ( );
  2284. void PutActiveConnection (
  2285. _bstr_t pvar );
  2286. void PutRefActiveConnection (
  2287. struct _Connection * pvar );
  2288. enum ObjectStateEnum GetState ( );
  2289. _variant_t GetSource ( );
  2290. void PutSource (
  2291. _bstr_t pvar );
  2292. void PutRefSource (
  2293. IDispatch * pvar );
  2294. enum ConnectModeEnum GetMode ( );
  2295. void PutMode (
  2296. enum ConnectModeEnum pMode );
  2297. _bstr_t GetParentURL ( );
  2298. _bstr_t MoveRecord (
  2299. _bstr_t Source,
  2300. _bstr_t Destination,
  2301. _bstr_t UserName,
  2302. _bstr_t Password,
  2303. enum MoveRecordOptionsEnum Options,
  2304. VARIANT_BOOL Async );
  2305. _bstr_t CopyRecord (
  2306. _bstr_t Source,
  2307. _bstr_t Destination,
  2308. _bstr_t UserName,
  2309. _bstr_t Password,
  2310. enum CopyRecordOptionsEnum Options,
  2311. VARIANT_BOOL Async );
  2312. HRESULT DeleteRecord (
  2313. _bstr_t Source,
  2314. VARIANT_BOOL Async );
  2315. HRESULT Open (
  2316. const _variant_t & Source,
  2317. const _variant_t & ActiveConnection,
  2318. enum ConnectModeEnum Mode,
  2319. enum RecordCreateOptionsEnum CreateOptions,
  2320. enum RecordOpenOptionsEnum Options,
  2321. _bstr_t UserName,
  2322. _bstr_t Password );
  2323. HRESULT Close ( );
  2324. FieldsPtr GetFields ( );
  2325. enum RecordTypeEnum GetRecordType ( );
  2326. _RecordsetPtr GetChildren ( );
  2327. HRESULT Cancel ( );
  2328. //
  2329. // Raw methods provided by interface
  2330. //
  2331. virtual HRESULT __stdcall get_ActiveConnection (
  2332. VARIANT * pvar ) = 0;
  2333. virtual HRESULT __stdcall put_ActiveConnection (
  2334. BSTR pvar ) = 0;
  2335. virtual HRESULT __stdcall putref_ActiveConnection (
  2336. struct _Connection * pvar ) = 0;
  2337. virtual HRESULT __stdcall get_State (
  2338. enum ObjectStateEnum * pState ) = 0;
  2339. virtual HRESULT __stdcall get_Source (
  2340. VARIANT * pvar ) = 0;
  2341. virtual HRESULT __stdcall put_Source (
  2342. BSTR pvar ) = 0;
  2343. virtual HRESULT __stdcall putref_Source (
  2344. IDispatch * pvar ) = 0;
  2345. virtual HRESULT __stdcall get_Mode (
  2346. enum ConnectModeEnum * pMode ) = 0;
  2347. virtual HRESULT __stdcall put_Mode (
  2348. enum ConnectModeEnum pMode ) = 0;
  2349. virtual HRESULT __stdcall get_ParentURL (
  2350. BSTR * pbstrParentURL ) = 0;
  2351. virtual HRESULT __stdcall raw_MoveRecord (
  2352. BSTR Source,
  2353. BSTR Destination,
  2354. BSTR UserName,
  2355. BSTR Password,
  2356. enum MoveRecordOptionsEnum Options,
  2357. VARIANT_BOOL Async,
  2358. BSTR * pbstrNewURL ) = 0;
  2359. virtual HRESULT __stdcall raw_CopyRecord (
  2360. BSTR Source,
  2361. BSTR Destination,
  2362. BSTR UserName,
  2363. BSTR Password,
  2364. enum CopyRecordOptionsEnum Options,
  2365. VARIANT_BOOL Async,
  2366. BSTR * pbstrNewURL ) = 0;
  2367. virtual HRESULT __stdcall raw_DeleteRecord (
  2368. BSTR Source,
  2369. VARIANT_BOOL Async ) = 0;
  2370. virtual HRESULT __stdcall raw_Open (
  2371. VARIANT Source,
  2372. VARIANT ActiveConnection,
  2373. enum ConnectModeEnum Mode,
  2374. enum RecordCreateOptionsEnum CreateOptions,
  2375. enum RecordOpenOptionsEnum Options,
  2376. BSTR UserName,
  2377. BSTR Password ) = 0;
  2378. virtual HRESULT __stdcall raw_Close ( ) = 0;
  2379. virtual HRESULT __stdcall get_Fields (
  2380. struct Fields * * ppFlds ) = 0;
  2381. virtual HRESULT __stdcall get_RecordType (
  2382. enum RecordTypeEnum * ptype ) = 0;
  2383. virtual HRESULT __stdcall raw_GetChildren (
  2384. struct _Recordset * * pprset ) = 0;
  2385. virtual HRESULT __stdcall raw_Cancel ( ) = 0;
  2386. };
  2387. struct __declspec(uuid("00000560-0000-0010-8000-00aa006d2ea4"))
  2388. Record;
  2389. // [ default ] interface _Record
  2390. struct __declspec(uuid("00000563-0000-0010-8000-00aa006d2ea4"))
  2391. IRecFields : IUnknown
  2392. {
  2393. //
  2394. // Wrapper methods for error-handling
  2395. //
  2396. HRESULT ADOCheck ( );
  2397. //
  2398. // Raw methods provided by interface
  2399. //
  2400. virtual HRESULT __stdcall raw_ADOCheck ( ) = 0;
  2401. };
  2402. struct __declspec(uuid("00000565-0000-0010-8000-00aa006d2ea4"))
  2403. _Stream : IDispatch
  2404. {
  2405. //
  2406. // Property data
  2407. //
  2408. __declspec(property(get=GetSize))
  2409. long Size;
  2410. __declspec(property(get=GetEOS))
  2411. VARIANT_BOOL EOS;
  2412. __declspec(property(get=GetPosition,put=PutPosition))
  2413. long Position;
  2414. __declspec(property(get=GetType,put=PutType))
  2415. enum StreamTypeEnum Type;
  2416. __declspec(property(get=GetLineSeparator,put=PutLineSeparator))
  2417. enum LineSeparatorEnum LineSeparator;
  2418. __declspec(property(get=GetState))
  2419. enum ObjectStateEnum State;
  2420. __declspec(property(get=GetMode,put=PutMode))
  2421. enum ConnectModeEnum Mode;
  2422. __declspec(property(get=GetCharset,put=PutCharset))
  2423. _bstr_t Charset;
  2424. //
  2425. // Wrapper methods for error-handling
  2426. //
  2427. long GetSize ( );
  2428. VARIANT_BOOL GetEOS ( );
  2429. long GetPosition ( );
  2430. void PutPosition (
  2431. long pPos );
  2432. enum StreamTypeEnum GetType ( );
  2433. void PutType (
  2434. enum StreamTypeEnum ptype );
  2435. enum LineSeparatorEnum GetLineSeparator ( );
  2436. void PutLineSeparator (
  2437. enum LineSeparatorEnum pLS );
  2438. enum ObjectStateEnum GetState ( );
  2439. enum ConnectModeEnum GetMode ( );
  2440. void PutMode (
  2441. enum ConnectModeEnum pMode );
  2442. _bstr_t GetCharset ( );
  2443. void PutCharset (
  2444. _bstr_t pbstrCharset );
  2445. _variant_t Read (
  2446. long NumBytes );
  2447. HRESULT Open (
  2448. const _variant_t & Source,
  2449. enum ConnectModeEnum Mode,
  2450. enum StreamOpenOptionsEnum Options,
  2451. _bstr_t UserName,
  2452. _bstr_t Password );
  2453. HRESULT Close ( );
  2454. HRESULT SkipLine ( );
  2455. HRESULT Write (
  2456. const _variant_t & Buffer );
  2457. HRESULT SetEOS ( );
  2458. HRESULT CopyTo (
  2459. struct _Stream * DestStream,
  2460. long CharNumber );
  2461. HRESULT Flush ( );
  2462. HRESULT SaveToFile (
  2463. _bstr_t FileName,
  2464. enum SaveOptionsEnum Options );
  2465. HRESULT LoadFromFile (
  2466. _bstr_t FileName );
  2467. _bstr_t ReadText (
  2468. long NumChars );
  2469. HRESULT WriteText (
  2470. _bstr_t Data,
  2471. enum StreamWriteEnum Options );
  2472. HRESULT Cancel ( );
  2473. //
  2474. // Raw methods provided by interface
  2475. //
  2476. virtual HRESULT __stdcall get_Size (
  2477. long * pSize ) = 0;
  2478. virtual HRESULT __stdcall get_EOS (
  2479. VARIANT_BOOL * pEOS ) = 0;
  2480. virtual HRESULT __stdcall get_Position (
  2481. long * pPos ) = 0;
  2482. virtual HRESULT __stdcall put_Position (
  2483. long pPos ) = 0;
  2484. virtual HRESULT __stdcall get_Type (
  2485. enum StreamTypeEnum * ptype ) = 0;
  2486. virtual HRESULT __stdcall put_Type (
  2487. enum StreamTypeEnum ptype ) = 0;
  2488. virtual HRESULT __stdcall get_LineSeparator (
  2489. enum LineSeparatorEnum * pLS ) = 0;
  2490. virtual HRESULT __stdcall put_LineSeparator (
  2491. enum LineSeparatorEnum pLS ) = 0;
  2492. virtual HRESULT __stdcall get_State (
  2493. enum ObjectStateEnum * pState ) = 0;
  2494. virtual HRESULT __stdcall get_Mode (
  2495. enum ConnectModeEnum * pMode ) = 0;
  2496. virtual HRESULT __stdcall put_Mode (
  2497. enum ConnectModeEnum pMode ) = 0;
  2498. virtual HRESULT __stdcall get_Charset (
  2499. BSTR * pbstrCharset ) = 0;
  2500. virtual HRESULT __stdcall put_Charset (
  2501. BSTR pbstrCharset ) = 0;
  2502. virtual HRESULT __stdcall raw_Read (
  2503. long NumBytes,
  2504. VARIANT * pval ) = 0;
  2505. virtual HRESULT __stdcall raw_Open (
  2506. VARIANT Source,
  2507. enum ConnectModeEnum Mode,
  2508. enum StreamOpenOptionsEnum Options,
  2509. BSTR UserName,
  2510. BSTR Password ) = 0;
  2511. virtual HRESULT __stdcall raw_Close ( ) = 0;
  2512. virtual HRESULT __stdcall raw_SkipLine ( ) = 0;
  2513. virtual HRESULT __stdcall raw_Write (
  2514. VARIANT Buffer ) = 0;
  2515. virtual HRESULT __stdcall raw_SetEOS ( ) = 0;
  2516. virtual HRESULT __stdcall raw_CopyTo (
  2517. struct _Stream * DestStream,
  2518. long CharNumber ) = 0;
  2519. virtual HRESULT __stdcall raw_Flush ( ) = 0;
  2520. virtual HRESULT __stdcall raw_SaveToFile (
  2521. BSTR FileName,
  2522. enum SaveOptionsEnum Options ) = 0;
  2523. virtual HRESULT __stdcall raw_LoadFromFile (
  2524. BSTR FileName ) = 0;
  2525. virtual HRESULT __stdcall raw_ReadText (
  2526. long NumChars,
  2527. BSTR * pbstr ) = 0;
  2528. virtual HRESULT __stdcall raw_WriteText (
  2529. BSTR Data,
  2530. enum StreamWriteEnum Options ) = 0;
  2531. virtual HRESULT __stdcall raw_Cancel ( ) = 0;
  2532. };
  2533. struct __declspec(uuid("00000566-0000-0010-8000-00aa006d2ea4"))
  2534. Stream;
  2535. // [ default ] interface _Stream
  2536. struct __declspec(uuid("00000567-0000-0010-8000-00aa006d2ea4"))
  2537. ADORecordConstruction : IDispatch
  2538. {
  2539. //
  2540. // Property data
  2541. //
  2542. __declspec(property(get=GetRow,put=PutRow))
  2543. IUnknownPtr Row;
  2544. __declspec(property(put=PutParentRow))
  2545. IUnknownPtr ParentRow;
  2546. //
  2547. // Wrapper methods for error-handling
  2548. //
  2549. IUnknownPtr GetRow ( );
  2550. void PutRow (
  2551. IUnknown * ppRow );
  2552. void PutParentRow (
  2553. IUnknown * _arg1 );
  2554. //
  2555. // Raw methods provided by interface
  2556. //
  2557. virtual HRESULT __stdcall get_Row (
  2558. IUnknown * * ppRow ) = 0;
  2559. virtual HRESULT __stdcall put_Row (
  2560. IUnknown * ppRow ) = 0;
  2561. virtual HRESULT __stdcall put_ParentRow (
  2562. IUnknown * _arg1 ) = 0;
  2563. };
  2564. struct __declspec(uuid("00000568-0000-0010-8000-00aa006d2ea4"))
  2565. ADOStreamConstruction : IDispatch
  2566. {
  2567. //
  2568. // Property data
  2569. //
  2570. __declspec(property(get=GetStream,put=PutStream))
  2571. IUnknownPtr Stream;
  2572. //
  2573. // Wrapper methods for error-handling
  2574. //
  2575. IUnknownPtr GetStream ( );
  2576. void PutStream (
  2577. IUnknown * ppStm );
  2578. //
  2579. // Raw methods provided by interface
  2580. //
  2581. virtual HRESULT __stdcall get_Stream (
  2582. IUnknown * * ppStm ) = 0;
  2583. virtual HRESULT __stdcall put_Stream (
  2584. IUnknown * ppStm ) = 0;
  2585. };
  2586. struct __declspec(uuid("00000517-0000-0010-8000-00aa006d2ea4"))
  2587. ADOCommandConstruction : IUnknown
  2588. {
  2589. //
  2590. // Property data
  2591. //
  2592. __declspec(property(get=GetOLEDBCommand,put=PutOLEDBCommand))
  2593. IUnknownPtr OLEDBCommand;
  2594. //
  2595. // Wrapper methods for error-handling
  2596. //
  2597. IUnknownPtr GetOLEDBCommand ( );
  2598. void PutOLEDBCommand (
  2599. IUnknown * ppOLEDBCommand );
  2600. //
  2601. // Raw methods provided by interface
  2602. //
  2603. virtual HRESULT __stdcall get_OLEDBCommand (
  2604. IUnknown * * ppOLEDBCommand ) = 0;
  2605. virtual HRESULT __stdcall put_OLEDBCommand (
  2606. IUnknown * ppOLEDBCommand ) = 0;
  2607. };
  2608. struct __declspec(uuid("00000507-0000-0010-8000-00aa006d2ea4"))
  2609. Command;
  2610. // [ default ] interface _Command
  2611. struct __declspec(uuid("00000535-0000-0010-8000-00aa006d2ea4"))
  2612. Recordset;
  2613. // [ default ] interface _Recordset
  2614. // [ default, source ] dispinterface RecordsetEvents
  2615. struct __declspec(uuid("00000283-0000-0010-8000-00aa006d2ea4"))
  2616. ADORecordsetConstruction : IDispatch
  2617. {
  2618. //
  2619. // Property data
  2620. //
  2621. __declspec(property(get=GetRowset,put=PutRowset))
  2622. IUnknownPtr Rowset;
  2623. __declspec(property(get=GetChapter,put=PutChapter))
  2624. long Chapter;
  2625. __declspec(property(get=GetRowPosition,put=PutRowPosition))
  2626. IUnknownPtr RowPosition;
  2627. //
  2628. // Wrapper methods for error-handling
  2629. //
  2630. IUnknownPtr GetRowset ( );
  2631. void PutRowset (
  2632. IUnknown * ppRowset );
  2633. long GetChapter ( );
  2634. void PutChapter (
  2635. long plChapter );
  2636. IUnknownPtr GetRowPosition ( );
  2637. void PutRowPosition (
  2638. IUnknown * ppRowPos );
  2639. //
  2640. // Raw methods provided by interface
  2641. //
  2642. virtual HRESULT __stdcall get_Rowset (
  2643. IUnknown * * ppRowset ) = 0;
  2644. virtual HRESULT __stdcall put_Rowset (
  2645. IUnknown * ppRowset ) = 0;
  2646. virtual HRESULT __stdcall get_Chapter (
  2647. long * plChapter ) = 0;
  2648. virtual HRESULT __stdcall put_Chapter (
  2649. long plChapter ) = 0;
  2650. virtual HRESULT __stdcall get_RowPosition (
  2651. IUnknown * * ppRowPos ) = 0;
  2652. virtual HRESULT __stdcall put_RowPosition (
  2653. IUnknown * ppRowPos ) = 0;
  2654. };
  2655. struct __declspec(uuid("00000505-0000-0010-8000-00aa006d2ea4"))
  2656. Field15 : _ADO
  2657. {
  2658. //
  2659. // Property data
  2660. //
  2661. __declspec(property(get=GetValue,put=PutValue))
  2662. _variant_t Value;
  2663. __declspec(property(get=GetName))
  2664. _bstr_t Name;
  2665. __declspec(property(get=GetType))
  2666. enum DataTypeEnum Type;
  2667. __declspec(property(get=GetDefinedSize))
  2668. long DefinedSize;
  2669. __declspec(property(get=GetOriginalValue))
  2670. _variant_t OriginalValue;
  2671. __declspec(property(get=GetUnderlyingValue))
  2672. _variant_t UnderlyingValue;
  2673. __declspec(property(get=GetActualSize))
  2674. long ActualSize;
  2675. __declspec(property(get=GetPrecision))
  2676. unsigned char Precision;
  2677. __declspec(property(get=GetNumericScale))
  2678. unsigned char NumericScale;
  2679. __declspec(property(get=GetAttributes))
  2680. long Attributes;
  2681. //
  2682. // Wrapper methods for error-handling
  2683. //
  2684. long GetActualSize ( );
  2685. long GetAttributes ( );
  2686. long GetDefinedSize ( );
  2687. _bstr_t GetName ( );
  2688. enum DataTypeEnum GetType ( );
  2689. _variant_t GetValue ( );
  2690. void PutValue (
  2691. const _variant_t & pvar );
  2692. unsigned char GetPrecision ( );
  2693. unsigned char GetNumericScale ( );
  2694. HRESULT AppendChunk (
  2695. const _variant_t & Data );
  2696. _variant_t GetChunk (
  2697. long Length );
  2698. _variant_t GetOriginalValue ( );
  2699. _variant_t GetUnderlyingValue ( );
  2700. //
  2701. // Raw methods provided by interface
  2702. //
  2703. virtual HRESULT __stdcall get_ActualSize (
  2704. long * pl ) = 0;
  2705. virtual HRESULT __stdcall get_Attributes (
  2706. long * pl ) = 0;
  2707. virtual HRESULT __stdcall get_DefinedSize (
  2708. long * pl ) = 0;
  2709. virtual HRESULT __stdcall get_Name (
  2710. BSTR * pbstr ) = 0;
  2711. virtual HRESULT __stdcall get_Type (
  2712. enum DataTypeEnum * pDataType ) = 0;
  2713. virtual HRESULT __stdcall get_Value (
  2714. VARIANT * pvar ) = 0;
  2715. virtual HRESULT __stdcall put_Value (
  2716. VARIANT pvar ) = 0;
  2717. virtual HRESULT __stdcall get_Precision (
  2718. unsigned char * pbPrecision ) = 0;
  2719. virtual HRESULT __stdcall get_NumericScale (
  2720. unsigned char * pbNumericScale ) = 0;
  2721. virtual HRESULT __stdcall raw_AppendChunk (
  2722. VARIANT Data ) = 0;
  2723. virtual HRESULT __stdcall raw_GetChunk (
  2724. long Length,
  2725. VARIANT * pvar ) = 0;
  2726. virtual HRESULT __stdcall get_OriginalValue (
  2727. VARIANT * pvar ) = 0;
  2728. virtual HRESULT __stdcall get_UnderlyingValue (
  2729. VARIANT * pvar ) = 0;
  2730. };
  2731. struct __declspec(uuid("0000050b-0000-0010-8000-00aa006d2ea4"))
  2732. Parameter;
  2733. // [ default ] interface _Parameter
  2734. //
  2735. // Wrapper method implementations
  2736. //
  2737. #include "msado15.tli"
  2738. #pragma pack(pop)