2 * Copyright 2019 Hans Leidekker for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 interface _Collection
;
24 interface _Connection
;
25 interface _DynaCollection
;
30 interface ADODebugging
;
31 interface ADOConnectionConstruction
;
32 interface ADOCommandConstruction
;
33 interface ADORecordsetConstruction
;
47 interface Recordset15
;
48 interface Recordset20
;
49 interface Recordset21
;
50 interface ConnectionEventsVt
;
51 dispinterface ConnectionEvents
;
52 dispinterface RecordsetEvents
;
54 typedef [uuid(0000052A
-0000-0010-8000-00AA006D2EA4
)] enum ErrorValueEnum
56 adErrInvalidArgument
= 3001,
57 adErrOpeningFile
= 3002,
59 adErrWriteFile
= 3004,
60 adErrNoCurrentRecord
= 3021,
61 adErrIllegalOperation
= 3219,
62 adErrCantChangeProvider
= 3220,
63 adErrInTransaction
= 3246,
64 adErrFeatureNotAvailable
= 3251,
65 adErrItemNotFound
= 3265,
66 adErrObjectInCollection
= 3367,
67 adErrObjectNotSet
= 3420,
68 adErrDataConversion
= 3421,
69 adErrObjectClosed
= 3704,
70 adErrObjectOpen
= 3705,
71 adErrProviderNotFound
= 3706,
72 adErrBoundToCommand
= 3707,
73 adErrInvalidParamInfo
= 3708,
74 adErrInvalidConnection
= 3709,
75 adErrNotReentrant
= 3710,
76 adErrStillExecuting
= 3711,
77 adErrOperationCancelled
= 3712,
78 adErrStillConnecting
= 3713,
79 adErrInvalidTransaction
= 3714,
80 adErrNotExecuting
= 3715,
81 adErrUnsafeOperation
= 3716,
82 adWrnSecurityDialog
= 3717,
83 adWrnSecurityDialogHeader
= 3718,
84 adErrIntegrityViolation
= 3719,
85 adErrPermissionDenied
= 3720,
86 adErrDataOverflow
= 3721,
87 adErrSchemaViolation
= 3722,
88 adErrSignMismatch
= 3723,
89 adErrCantConvertvalue
= 3724,
90 adErrCantCreate
= 3725,
91 adErrColumnNotOnThisRow
= 3726,
92 adErrURLDoesNotExist
= 3727,
93 adErrTreePermissionDenied
= 3728,
94 adErrInvalidURL
= 3729,
95 adErrResourceLocked
= 3730,
96 adErrResourceExists
= 3731,
97 adErrCannotComplete
= 3732,
98 adErrVolumeNotFound
= 3733,
99 adErrOutOfSpace
= 3734,
100 adErrResourceOutOfScope
= 3735,
101 adErrUnavailable
= 3736,
102 adErrURLNamedRowDoesNotExist
= 3737,
103 adErrDelResOutOfScope
= 3738,
104 adErrPropInvalidColumn
= 3739,
105 adErrPropInvalidOption
= 3740,
106 adErrPropInvalidValue
= 3741,
107 adErrPropConflicting
= 3742,
108 adErrPropNotAllSettable
= 3743,
109 adErrPropNotSet
= 3744,
110 adErrPropNotSettable
= 3745,
111 adErrPropNotSupported
= 3746,
112 adErrCatalogNotSet
= 3747,
113 adErrCantChangeConnection
= 3748,
114 adErrFieldsUpdateFailed
= 3749,
115 adErrDenyNotSupported
= 3750,
116 adErrDenyTypeNotSupported
= 3751,
117 adErrProviderNotSpecified
= 3753,
118 adErrConnectionStringTooLong
= 3754
121 typedef [uuid(00000528-0000-0010-8000-00aa006d2ea4
)] enum PositionEnum
128 typedef [uuid(a56187c5
-d690
-4037-ae32
-a00edc376ac3
), public] PositionEnum PositionEnum_Param
;
130 typedef [uuid(0000051f
-0000-0010-8000-00aa006d2ea4
)] enum DataTypeEnum
137 adUnsignedTinyInt
= 17,
138 adUnsignedSmallInt
= 18,
140 adUnsignedBigInt
= 21,
163 adLongVarWChar
= 203,
166 adLongVarBinary
= 205,
174 typedef [uuid(00000548-0000-0010-8000-00aa006d2ea4
)] enum PersistFormatEnum
180 typedef [uuid(00000552-0000-0010-8000-00aa006d2ea4
)] enum SeekEnum
190 typedef [uuid(0000051b
-0000-0010-8000-00aa006d2ea4
)] enum CursorTypeEnum
192 adOpenUnspecified
= -1,
193 adOpenForwardOnly
= 0,
199 typedef [uuid(00000525-0000-0010-8000-00aa006d2ea4
)] enum FieldAttributeEnum
201 adFldUnspecified
= -1,
202 adFldMayDefer
= 0x00000002,
203 adFldUpdatable
= 0x00000004,
204 adFldUnknownUpdatable
= 0x00000008,
205 adFldFixed
= 0x00000010,
206 adFldIsNullable
= 0x00000020,
207 adFldMayBeNull
= 0x00000040,
208 adFldLong
= 0x00000080,
209 adFldRowID
= 0x00000100,
210 adFldRowVersion
= 0x00000200,
211 adFldCacheDeferred
= 0x00001000,
212 adFldIsChapter
= 0x00002000,
213 adFldNegativeScale
= 0x00004000,
214 adFldKeyColumn
= 0x00008000,
215 adFldIsRowURL
= 0x00010000,
216 adFldIsDefaultStream
= 0x00020000,
217 adFldIsCollection
= 0x00040000
218 } FieldAttributeEnum
;
220 typedef [uuid(00000544-0000-0010-8000-00aa006d2ea4
)] enum ResyncEnum
222 adResyncUnderlyingValues
= 1,
223 adResyncAllValues
= 2
226 typedef [uuid(0000051d
-0000-0010-8000-00aa006d2ea4
)] enum LockTypeEnum
228 adLockUnspecified
= -1,
230 adLockPessimistic
= 2,
231 adLockOptimistic
= 3,
232 adLockBatchOptimistic
= 4
235 typedef [uuid(00000543-0000-0010-8000-00aa006d2ea4
)] enum AffectEnum
240 adAffectAllChapters
= 4
243 typedef [uuid(00000526-0000-0010-8000-00aa006d2ea4
)] enum EditModeEnum
246 adEditInProgress
= 1,
251 typedef [uuid(0000052f
-0000-0010-8000-00aa006d2ea4
)] enum CursorLocationEnum
257 } CursorLocationEnum
;
259 typedef [uuid(0000051c
-0000-0010-8000-00aa006d2ea4
)] enum CursorOptionEnum
262 adMovePrevious
= 512,
264 adApproxPosition
= 16384,
265 adUpdateBatch
= 65536,
276 typedef [uuid(00000540-0000-0010-8000-00aa006d2ea4
)] enum MarshalOptionsEnum
279 adMarshalModifiedOnly
= 1
280 } MarshalOptionsEnum
;
282 typedef [uuid(00000547-0000-0010-8000-00aa006d2ea4
)] enum SearchDirectionEnum
285 adSearchBackward
= -1
286 } SearchDirectionEnum
;
288 typedef [uuid(00000549-0000-0010-8000-00aa006d2ea4
)] enum StringFormatEnum
293 typedef [uuid(00000545-0000-0010-8000-00aa006d2ea4
)] enum CompareEnum
295 adCompareLessThan
= 0,
297 adCompareGreaterThan
= 2,
298 adCompareNotEqual
= 3,
299 adCompareNotComparable
= 4
302 typedef [uuid(00000523-0000-0010-8000-00aa006d2ea4
)] enum IsolationLevelEnum
304 adXactUnspecified
= -1,
306 adXactReadUncommitted
= 256,
308 adXactCursorStability
= 4096,
309 adXactReadCommitted
= 4096,
310 adXactRepeatableRead
= 65536,
311 adXactSerializable
= 1048576,
312 adXactIsolated
= 1048576
313 } IsolationLevelEnum
;
315 typedef [uuid(00000521-0000-0010-8000-00aa006d2ea4
)] enum ConnectModeEnum
321 adModeShareDenyRead
= 4,
322 adModeShareDenyWrite
= 8,
323 adModeShareExclusive
= 12,
324 adModeShareDenyNone
= 16,
325 adModeRecursive
= 4194304
328 typedef [uuid(00000533-0000-0010-8000-00aa006d2ea4
)] enum SchemaEnum
330 adSchemaProviderSpecific
= -1,
332 adSchemaCatalogs
= 1,
333 adSchemaCharacterSets
= 2,
334 adSchemaCollations
= 3,
336 adSchemaCheckConstraints
= 5,
337 adSchemaConstraintColumnUsage
= 6,
338 adSchemaConstraintTableUsage
= 7,
339 adSchemaKeyColumnUsage
= 8,
340 adSchemaReferentialContraints
= 9,
341 adSchemaReferentialConstraints
= 9,
342 adSchemaTableConstraints
= 10,
343 adSchemaColumnsDomainUsage
= 11,
344 adSchemaIndexes
= 12,
345 adSchemaColumnPrivileges
= 13,
346 adSchemaTablePrivileges
= 14,
347 adSchemaUsagePrivileges
= 15,
348 adSchemaProcedures
= 16,
349 adSchemaSchemata
= 17,
350 adSchemaSQLLanguages
= 18,
351 adSchemaStatistics
= 19,
353 adSchemaTranslations
= 21,
354 adSchemaProviderTypes
= 22,
356 adSchemaViewColumnUsage
= 24,
357 adSchemaViewTableUsage
= 25,
358 adSchemaProcedureParameters
= 26,
359 adSchemaForeignKeys
= 27,
360 adSchemaPrimaryKeys
= 28,
361 adSchemaProcedureColumns
= 29,
362 adSchemaDBInfoKeywords
= 30,
363 adSchemaDBInfoLiterals
= 31,
365 adSchemaDimensions
= 33,
366 adSchemaHierarchies
= 34,
368 adSchemaMeasures
= 36,
369 adSchemaProperties
= 37,
370 adSchemaMembers
= 38,
371 adSchemaTrustees
= 39,
372 adSchemaFunctions
= 40,
373 adSchemaActions
= 41,
374 adSchemaCommands
= 42,
378 typedef [uuid(00000530-0000-0010-8000-00aa006d2ea4
)] enum EventStatusEnum
381 adStatusErrorsOccurred
= 2,
382 adStatusCantDeny
= 3,
384 adStatusUnwantedEvent
= 5
387 typedef [uuid(0000052c
-0000-0010-8000-00aa006d2ea4
)] enum ParameterDirectionEnum
392 adParamInputOutput
= 3,
393 adParamReturnValue
= 4
394 } ParameterDirectionEnum
;
396 typedef [uuid(0000052e-0000-0010-8000-00aa006d2ea4
)] enum CommandTypeEnum
398 adCmdUnspecified
= -1,
404 adCmdTableDirect
= 512
407 typedef [uuid(00000532-0000-0010-8000-00aa006d2ea4
)] enum ObjectStateEnum
411 adStateConnecting
= 2,
412 adStateExecuting
= 4,
416 typedef [uuid(00000573-0000-0010-8000-00aa006d2ea4
)] enum MoveRecordOptionsEnum
418 adMoveUnspecified
= -1,
420 adMoveDontUpdateLinks
= 2,
421 adMoveAllowEmulation
= 4
422 } MoveRecordOptionsEnum
;
424 typedef [uuid(00000574-0000-0010-8000-00aa006d2ea4
)] enum CopyRecordOptionsEnum
426 adCopyUnspecified
= -1,
428 adCopyAllowEmulation
= 4,
429 adCopyNonRecursive
= 2
430 } CopyRecordOptionsEnum
;
432 typedef [uuid(00000570-0000-0010-8000-00aa006d2ea4
)] enum RecordCreateOptionsEnum
434 adCreateCollection
= (int) 0x00002000,
435 adCreateStructDoc
= (int) 0x80000000,
436 adCreateNonCollection
= (int) 0x00000000,
437 adOpenIfExists
= (int) 0x02000000,
438 adCreateOverwrite
= (int) 0x04000000,
439 adFailIfNotExists
= (int) -1
440 } RecordCreateOptionsEnum
;
442 typedef [uuid(00000571-0000-0010-8000-00aa006d2ea4
)] enum RecordOpenOptionsEnum
444 adOpenRecordUnspecified
= -1,
445 adOpenOutput
= 0x00800000,
446 adOpenAsync
= 0x00001000,
447 adDelayFetchStream
= 0x00004000,
448 adDelayFetchFields
= 0x00008000,
449 adOpenExecuteCommand
= 0x00010000
450 } RecordOpenOptionsEnum
;
452 typedef [uuid(0000057d
-0000-0010-8000-00aa006d2ea4
)] enum RecordTypeEnum
455 adCollectionRecord
= 1,
459 typedef [uuid(00000576-0000-0010-8000-00aa006d2ea4
)] enum StreamTypeEnum
465 typedef [uuid(00000577-0000-0010-8000-00aa006d2ea4
)] enum LineSeparatorEnum
478 typedef [uuid(0000057c
-0000-0010-8000-00aa006d2ea4
)] enum SaveOptionsEnum
480 adSaveCreateNotExist
= 1,
481 adSaveCreateOverWrite
= 2
484 typedef [uuid(0000057a
-0000-0010-8000-00aa006d2ea4
)] enum StreamOpenOptionsEnum
486 adOpenStreamUnspecified
= -1,
487 adOpenStreamAsync
= 1,
488 adOpenStreamFromRecord
= 4
489 } StreamOpenOptionsEnum
;
491 typedef [uuid(0000057b
-0000-0010-8000-00aa006d2ea4
)] enum StreamWriteEnum
497 typedef [uuid(00000531-0000-0010-8000-00aa006d2ea4
)] enum EventReasonEnum
509 adRsnFirstChange
= 11,
512 adRsnMovePrevious
= 14,
516 typedef [uuid(00000541-0000-0010-8000-00aa006d2ea4
)] enum ConnectOptionEnum
518 adConnectUnspecified
= -1,
519 adAsyncConnect
= 0x10
523 uuid(00000503-0000-0010-8000-00aa006d2ea4
),
529 interface Property
: IDispatch
531 [id(00000000), propget]
533 [out, retval] VARIANT *val
);
535 [id(00000000), propput]
539 [id(0x60020002), propget]
541 [out, retval] BSTR *str
);
543 [id(0x60020003), propget]
545 [out, retval] DataTypeEnum
*type
);
547 [id(0x60020004), propget]
549 [out, retval] LONG *attributes
);
551 [id(0x60020004), propput]
553 [in] LONG attributes
);
557 uuid(00000512-0000-0010-8000-00aa006d2ea4
),
563 interface _Collection
: IDispatch
565 [id(0x60020000), propget]
567 [out, retval] LONG *count
);
569 [id(0xfffffffc), restricted]
571 [out, retval] IUnknown
**object);
578 uuid(00000504-0000-0010-8000-00aa006d2ea4
),
584 interface Properties
: _Collection
586 [id(00000000), propget]
589 [out, retval] Property
**object);
593 uuid(00000534-0000-0010-8000-00aa006d2ea4
),
599 interface _ADO
: IDispatch
601 [id(0x000001f4), propget]
603 [out, retval] Properties
**object);
607 uuid(0000054c
-0000-0010-8000-00aa006d2ea4
),
614 interface Field20
: _ADO
616 [id(0x00000455), propget]
618 [out, retval] LONG *size
);
620 [id(0x0000040c), propget]
622 [out, retval] LONG *attrs
);
624 [id(0x0000044f), propget]
626 [out, retval] LONG *size
);
628 [id(0x0000044c), propget]
630 [out, retval] BSTR *str
);
632 [id(0x0000044e), propget]
634 [out, retval] DataTypeEnum
*type
);
636 [id(00000000), propget]
638 [out, retval] VARIANT *val
);
640 [id(00000000), propput]
644 [id(0x60030007), propget]
646 [out, retval] unsigned char *precision
);
648 [id(0x60030008), propget]
649 HRESULT NumericScale
(
650 [out, retval] unsigned char *scale
);
659 [out, retval] VARIANT *var
);
661 [id(0x00000450), propget]
662 HRESULT OriginalValue
(
663 [out, retval] VARIANT *val
);
665 [id(0x00000451), propget]
666 HRESULT UnderlyingValue
(
667 [out, retval] VARIANT *val
);
669 [id(0x6003000d), propget]
671 [out, retval] IUnknown
**format
);
673 [id(0x6003000d), propputref]
675 [in] IUnknown
*format
);
677 [id(0x60030007), propput]
679 [in] unsigned char precision
);
681 [id(0x60030008), propput]
682 HRESULT NumericScale
(
683 [in] unsigned char scale
);
685 [id(0x0000044e), propput]
687 [in] DataTypeEnum type
);
689 [id(0x0000044f), propput]
693 [id(0x0000040c), propput]
699 uuid(00000569-0000-0010-8000-00aa006d2ea4
),
705 interface Field
: Field20
707 [id(0x0000045c), propget]
709 [out, retval] LONG *status
);
713 uuid(00000506-0000-0010-8000-00aa006d2ea4
),
719 interface Fields15
: _Collection
721 [id(00000000), propget]
724 [out, retval] Field
**object);
728 uuid(0000054d
-0000-0010-8000-00aa006d2ea4
),
734 interface Fields20
: Fields15
739 [in] DataTypeEnum type
,
740 [in, defaultvalue(0)] LONG size
,
741 [in, defaultvalue(adFldUnspecified
)] FieldAttributeEnum attr
);
749 uuid(00000564-0000-0010-8000-00aa006d2ea4
),
755 interface Fields
: Fields20
760 [in] DataTypeEnum type
,
761 [in, defaultvalue(0)] LONG size
,
762 [in, defaultvalue(adFldUnspecified
)] FieldAttributeEnum attr
,
763 [in, optional] VARIANT value
);
770 [in, defaultvalue(adResyncAllValues
)] ResyncEnum resync_values
);
773 HRESULT CancelUpdate
();
777 uuid(0000050e-0000-0010-8000-00aa006d2ea4
),
783 interface Recordset15
: _ADO
785 [id(0x000003e8), propget]
786 HRESULT AbsolutePosition
(
787 [out, retval] PositionEnum_Param
*position
);
789 [id(0x000003e8), propput]
790 HRESULT AbsolutePosition
(
791 [in] PositionEnum_Param position
);
793 [id(0x000003e9), propputref]
794 HRESULT ActiveConnection
(
795 [in] IDispatch
*connection
);
797 [id(0x000003e9), propput]
798 HRESULT ActiveConnection
(
799 [in] VARIANT connection
);
801 [id(0x000003e9), propget]
802 HRESULT ActiveConnection
(
803 [out, retval] VARIANT *connection
);
805 [id(0x000003ea), propget]
807 [out, retval] VARIANT_BOOL *bof
);
809 [id(0x000003eb), propget]
811 [out, retval] VARIANT *bookmark
);
813 [id(0x000003eb), propput]
815 [in] VARIANT bookmark
);
817 [id(0x000003ec), propget]
819 [out, retval] LONG *size
);
821 [id(0x000003ec), propput]
825 [id(0x000003ed), propget]
827 [out, retval] CursorTypeEnum
*cursor_type
);
829 [id(0x000003ed), propput]
831 [in] CursorTypeEnum cursor_type
);
833 [id(0x000003ee), propget]
835 [out, retval] VARIANT_BOOL *eof
);
837 [id(00000000), propget]
839 [out, retval] Fields
**object);
841 [id(0x000003f0), propget]
843 [out, retval] LockTypeEnum
*lock_type
);
845 [id(0x000003f0), propput]
847 [in] LockTypeEnum lock_type
);
849 [id(0x000003f1), propget]
851 [out, retval] LONG *max_records
);
853 [id(0x000003f1), propput]
855 [in] LONG max_records
);
857 [id(0x000003f2), propget]
859 [out, retval] LONG *count
);
861 [id(0x000003f3), propputref]
863 [in] IDispatch
*source);
865 [id(0x000003f3), propput]
869 [id(0x000003f3), propget]
871 [out, retval] VARIANT *source);
875 [in, optional] VARIANT field_list
,
876 [in, optional] VARIANT values
);
879 HRESULT CancelUpdate
();
886 [in, defaultvalue(adAffectCurrent
)] AffectEnum affect_records
);
890 [in, defaultvalue(-1)] LONG rows
,
891 [in, optional] VARIANT start
,
892 [in, optional] VARIANT fields
,
893 [out, retval] VARIANT *var
);
897 [in] LONG num_records
,
898 [in, optional] VARIANT start
);
904 HRESULT MovePrevious
();
914 [in, optional] VARIANT source,
915 [in, optional] VARIANT active_connection
,
916 [in, defaultvalue(adOpenUnspecified
)] CursorTypeEnum cursor_type
,
917 [in, defaultvalue(adLockUnspecified
)] LockTypeEnum lock_type
,
918 [in, defaultvalue(-1)] LONG options
);
922 [in, defaultvalue(-1)] LONG options
);
924 [id(0x60030022), hidden]
926 [in, defaultvalue(adAffectAll
)] AffectEnum affect_records
);
930 [in, optional] VARIANT fields
,
931 [in, optional] VARIANT values
);
933 [id(0x00000417), propget]
934 HRESULT AbsolutePage
(
935 [out, retval] PositionEnum_Param
*position
);
937 [id(0x00000417), propput]
938 HRESULT AbsolutePage
(
939 [in] PositionEnum_Param position
);
941 [id(0x00000402), propget]
943 [out, retval] EditModeEnum
*mode
);
945 [id(0x00000406), propget]
947 [out, retval] VARIANT *criteria
);
949 [id(0x00000406), propput]
951 [in] VARIANT criteria
);
953 [id(0x0000041a), propget]
955 [out, retval] LONG *count
);
957 [id(0x00000418), propget]
959 [out, retval] LONG *size
);
961 [id(0x00000418), propput]
965 [id(0x00000407), propget]
967 [out, retval] BSTR *criteria
);
969 [id(0x00000407), propput]
973 [id(0x00000405), propget]
975 [out, retval] LONG *status
);
977 [id(0x0000041e), propget]
979 [out, retval] LONG *state
);
981 [id(0x60030030), hidden]
983 [out, retval] _Recordset
**object);
987 [in, defaultvalue(adAffectAll
)] AffectEnum affect_records
);
991 [in, defaultvalue(adAffectAll
)] AffectEnum affect_records
);
993 [id(0x0000041b), propget]
994 HRESULT CursorLocation
(
995 [out, retval] CursorLocationEnum
*cursor_loc
);
997 [id(0x0000041b), propput]
998 HRESULT CursorLocation
(
999 [in] CursorLocationEnum cursor_loc
);
1002 HRESULT NextRecordset
(
1003 [out, optional] VARIANT *records_affected
,
1004 [out, retval] _Recordset
**record_set
);
1008 [in] CursorOptionEnum cursor_options
,
1009 [out, retval] VARIANT_BOOL *ret
);
1011 [id(0xfffffff8), propget, hidden]
1014 [out, retval] VARIANT *var
);
1016 [id(0xfffffff8), propput, hidden]
1021 [id(0x0000041d), propget]
1022 HRESULT MarshalOptions
(
1023 [out, retval] MarshalOptionsEnum
*options
);
1025 [id(0x0000041d), propput]
1026 HRESULT MarshalOptions
(
1027 [in] MarshalOptionsEnum options
);
1032 [in, defaultvalue(0)] LONG skip_records
,
1033 [in, defaultvalue(adSearchForward
)] SearchDirectionEnum search_direction
,
1034 [in, optional] VARIANT start
);
1038 uuid(0000054f
-0000-0010-8000-00aa006d2ea4
),
1044 interface Recordset20
: Recordset15
1049 [id(0x00000420), propget]
1051 [out, retval] IUnknown
**data_source
);
1053 [id(0x00000420), propputref]
1055 [in] IUnknown
*data_source
);
1059 [in, optional] BSTR filename
,
1060 [in, defaultvalue(adPersistADTG
)] PersistFormatEnum persist_format
);
1062 [id(0x00000425), propget]
1063 HRESULT ActiveCommand
(
1064 [out, retval] IDispatch
**cmd
);
1066 [id(0x00000427), propput]
1068 [in] VARIANT_BOOL stay_in_sync
);
1070 [id(0x00000427), propget]
1072 [out, retval] VARIANT_BOOL *stay_in_sync
);
1076 [in, defaultvalue(adClipString
)] StringFormatEnum string_format
,
1077 [in, defaultvalue(-1)] LONG num_rows
,
1078 [in, optional] BSTR column_delimiter
,
1079 [in, optional] BSTR row_delimiter
,
1080 [in, optional] BSTR null_expr
,
1081 [out, retval] BSTR *ret_string
);
1083 [id(0x00000428), propget]
1085 [out, retval] BSTR *data_member
);
1087 [id(0x00000428), propput]
1089 [in] BSTR data_member
);
1092 HRESULT CompareBookmarks
(
1093 [in] VARIANT bookmark1
,
1094 [in] VARIANT bookmark2
,
1095 [out, retval] CompareEnum
*compare
);
1099 [in, defaultvalue(adLockUnspecified
)] LockTypeEnum lock_type
,
1100 [out, retval] _Recordset
**object);
1104 [in, defaultvalue(adAffectAll
)] AffectEnum affect_records
,
1105 [in, defaultvalue(adResyncAllValues
)] ResyncEnum resync_values
);
1109 uuid(00000555-0000-0010-8000-00aa006d2ea4
),
1115 interface Recordset21
: Recordset20
1119 [in] VARIANT key_values
,
1120 [in, defaultvalue(adSeekFirstEQ
)] SeekEnum seek_option
);
1122 [id(0x0000042b), propput]
1126 [id(0x0000042b), propget]
1128 [out, retval] BSTR *index
);
1132 uuid(00000556-0000-0010-8000-00aa006d2ea4
),
1138 interface _Recordset
: Recordset21
1142 [in, optional] VARIANT destination
,
1143 [in, defaultvalue(adPersistADTG
)] PersistFormatEnum persist_format
);
1147 uuid(00000500-0000-0010-8000-00aa006d2ea4
),
1153 interface Error
: IDispatch
1155 [id(0x60020000), propget]
1157 [out, retval] LONG *number
);
1159 [id(0x60020001), propget]
1161 [out, retval] BSTR *str
);
1163 [id(00000000), propget]
1164 HRESULT Description
(
1165 [out, retval] BSTR *str
);
1167 [id(0x60020003), propget]
1169 [out, retval] BSTR *str
);
1171 [id(0x60020004), propget]
1172 HRESULT HelpContext(
1173 [out, retval] LONG *ctx
);
1175 [id(0x60020005), propget]
1177 [out, retval] BSTR *str
);
1179 [id(0x60020006), propget]
1180 HRESULT NativeError
(
1181 [out, retval] LONG *error
);
1185 uuid(00000501-0000-0010-8000-00aa006d2ea4
),
1191 interface Errors
: _Collection
1193 [id(00000000), propget]
1196 [out, retval] Error
**object);
1203 uuid(00000515-0000-0010-8000-00aa006d2ea4
),
1208 interface Connection15
: _ADO
1210 [id(00000000), propget]
1211 HRESULT ConnectionString
(
1212 [out, retval] BSTR *str
);
1214 [id(00000000), propput]
1215 HRESULT ConnectionString
(
1218 [id(0x00000002), propget]
1219 HRESULT CommandTimeout
(
1220 [out, retval] LONG *timeout
);
1222 [id(0x00000002), propput]
1223 HRESULT CommandTimeout
(
1226 [id(0x00000003), propget]
1227 HRESULT ConnectionTimeout
(
1228 [out, retval] LONG *timeout
);
1230 [id(0x00000003), propput]
1231 HRESULT ConnectionTimeout
(
1234 [id(0x00000004), propget]
1236 [out, retval] BSTR *str
);
1244 [out, optional] VARIANT *records_affected
,
1245 [in, defaultvalue(-1)] LONG options
,
1246 [out, retval] _Recordset
**record_set
);
1250 [out, retval] LONG *transaction_level
);
1253 HRESULT CommitTrans
();
1256 HRESULT RollbackTrans
();
1260 [in, defaultvalue("")] BSTR connection_str
,
1261 [in, defaultvalue("")] BSTR user_id
,
1262 [in, defaultvalue("")] BSTR password
,
1263 [in, defaultvalue(-1)] LONG options
);
1265 [id(0x0000000b), propget]
1267 [out, retval] Errors
**object);
1269 [id(0x0000000c), propget]
1270 HRESULT DefaultDatabase
(
1271 [out, retval] BSTR *str
);
1273 [id(0x0000000c), propput]
1274 HRESULT DefaultDatabase
(
1277 [id(0x0000000d), propget]
1278 HRESULT IsolationLevel
(
1279 [out, retval] IsolationLevelEnum
*level
);
1281 [id(0x0000000d), propput]
1282 HRESULT IsolationLevel
(
1283 [in] IsolationLevelEnum level
);
1285 [id(0x0000000e), propget]
1287 [out, retval] LONG *attr
);
1289 [id(0x0000000e), propput]
1293 [id(0x0000000f), propget]
1294 HRESULT CursorLocation
(
1295 [out, retval] CursorLocationEnum
*cursor_loc
);
1297 [id(0x0000000f), propput]
1298 HRESULT CursorLocation
(
1299 [in] CursorLocationEnum cursor_loc
);
1301 [id(0x00000010), propget]
1303 [out, retval] ConnectModeEnum
*mode
);
1305 [id(0x00000010), propput]
1307 [in] ConnectModeEnum mode
);
1309 [id(0x00000011), propget]
1311 [out, retval] BSTR *str
);
1313 [id(0x00000011), propput]
1317 [id(0x00000012), propget]
1319 [out, retval] LONG *state
);
1323 [in] SchemaEnum schema
,
1324 [in, optional] VARIANT restrictions
,
1325 [in, optional] VARIANT schema_id
,
1326 [out, retval] _Recordset
**record_set
);
1330 uuid(00000550-0000-0010-8000-00aa006d2ea4
),
1335 interface _Connection
: Connection15
1342 uuid(0000050c
-0000-0010-8000-00aa006d2ea4
),
1348 interface _Parameter
: _ADO
1350 [id(0x60030000), propget]
1352 [out, retval] BSTR *str
);
1354 [id(0x60030000), propput]
1358 [id(00000000), propget]
1360 [out, retval] VARIANT *val
);
1362 [id(00000000), propput]
1366 [id(0x60030004), propget]
1368 [out, retval] DataTypeEnum
*data_type
);
1370 [id(0x60030004), propput]
1372 [in] DataTypeEnum data_type
);
1374 [id(0x60030006), propput]
1376 [in] ParameterDirectionEnum direction
);
1378 [id(0x60030006), propget]
1380 [out, retval] ParameterDirectionEnum
*direction
);
1382 [id(0x60030008), propput]
1384 [in] unsigned char precision
);
1386 [id(0x60030008), propget]
1388 [out, retval] unsigned char *precision
);
1390 [id(0x6003000a), propput]
1391 HRESULT NumericScale
(
1392 [in] unsigned char scale
);
1394 [id(0x6003000a), propget]
1395 HRESULT NumericScale
(
1396 [out, retval] unsigned char *scale
);
1398 [id(0x6003000c), propput]
1402 [id(0x6003000c), propget]
1404 [out, retval] LONG *size
);
1407 HRESULT AppendChunk
(
1410 [id(0x6003000f), propget]
1412 [out, retval] LONG *attrs
);
1414 [id(0x6003000f), propput]
1420 uuid(00000513-0000-0010-8000-00aa006d2ea4
),
1426 interface _DynaCollection
: _Collection
1430 [in] IDispatch
*object);
1434 [in] VARIANT index
);
1438 uuid(0000050d
-0000-0010-8000-00aa006d2ea4
),
1444 interface Parameters
: _DynaCollection
1446 [id(00000000), propget]
1449 [out, retval] _Parameter
**object);
1453 uuid(00000508-0000-0010-8000-00aa006d2ea4
),
1459 interface Command15
: _ADO
1461 [id(0x60030000), propget]
1462 HRESULT ActiveConnection
(
1463 [out, retval] _Connection
**object);
1465 [id(0x60030000), propputref]
1466 HRESULT ActiveConnection
(
1467 [in] _Connection
*object);
1469 [id(0x60030000), propput]
1470 HRESULT ActiveConnection
(
1471 [in] VARIANT object);
1473 [id(0x60030003), propget]
1474 HRESULT CommandText
(
1475 [out, retval] BSTR *str
);
1477 [id(0x60030003), propput]
1478 HRESULT CommandText
(
1481 [id(0x60030005), propget]
1482 HRESULT CommandTimeout
(
1483 [out, retval] LONG *timeout
);
1485 [id(0x60030005), propput]
1486 HRESULT CommandTimeout
(
1489 [id(0x60030007), propget]
1491 [out, retval] VARIANT_BOOL *prepared
);
1493 [id(0x60030007), propput]
1495 [in] VARIANT_BOOL prepared
);
1499 [out, optional] VARIANT *records_affected
,
1500 [in, optional] VARIANT *parameters
,
1501 [in, defaultvalue(-1)] LONG options
,
1502 [out, retval] _Recordset
**record_set
);
1505 HRESULT CreateParameter
(
1506 [in, defaultvalue("")] BSTR name
,
1507 [in, defaultvalue(adEmpty
)] DataTypeEnum type
,
1508 [in, defaultvalue(adParamInput
)] ParameterDirectionEnum direction
,
1509 [in, defaultvalue(0)] LONG size
,
1510 [in, optional] VARIANT value
,
1511 [out, retval] _Parameter
**parameter
);
1513 [id(00000000), propget]
1515 [out, retval] Parameters
**object);
1517 [id(0x6003000c), propput]
1518 HRESULT CommandType
(
1519 [in] CommandTypeEnum cmd_type
);
1521 [id(0x6003000c), propget]
1522 HRESULT CommandType
(
1523 [out, retval] CommandTypeEnum
*cmd_type
);
1525 [id(0x6003000e), propget]
1527 [out, retval] BSTR *name
);
1529 [id(0x6003000e), propput]
1535 uuid(0000054e-0000-0010-8000-00aa006d2ea4
),
1541 interface Command25
: Command15
1543 [id(0x60030010), propget]
1545 [out, retval] LONG *state
);
1552 uuid(b08400bd
-f9d1
-4d02
-b856
-71d5dba123e9
),
1558 interface _Command
: Command25
1560 [id(0x60030012), propputref]
1561 HRESULT CommandStream
(
1562 [in] IUnknown
*stream
);
1564 [id(0x60030012), propget]
1565 HRESULT CommandStream
(
1566 [out, retval] VARIANT *stream
);
1568 [id(0x60030013), propput]
1572 [id(0x60030013), propget]
1574 [out, retval] BSTR *dialect
);
1576 [id(0x60030014), propput]
1577 HRESULT NamedParameters
(
1578 [in] VARIANT_BOOL named_parameters
);
1580 [id(0x60030014), propget]
1581 HRESULT NamedParameters
(
1582 [out, retval] VARIANT_BOOL *named_parameters
);
1586 uuid(00000402-0000-0010-8000-00aa006d2ea4
),
1590 interface ConnectionEventsVt
: IUnknown
1592 HRESULT InfoMessage
(
1594 [in, out] EventStatusEnum
*status
,
1595 [in] _Connection
*connection
);
1597 HRESULT BeginTransComplete
(
1598 [in] LONG TransactionLevel
,
1600 [in, out] EventStatusEnum
*status
,
1601 [in] _Connection
*connection
);
1603 HRESULT CommitTransComplete
(
1605 [in, out] EventStatusEnum
*status
,
1606 [in] _Connection
*connection
);
1608 HRESULT RollbackTransComplete
(
1610 [in, out] EventStatusEnum
*status
,
1611 [in] _Connection
*connection
);
1613 HRESULT WillExecute
(
1614 [in, out] BSTR *source,
1615 [in, out] CursorTypeEnum
*cursor_type
,
1616 [in, out] LockTypeEnum
*lock_type
,
1617 [in, out] LONG *options
,
1618 [in, out] EventStatusEnum
*status
,
1619 [in] _Command
*command
,
1620 [in] _Recordset
*record_set
,
1621 [in] _Connection
*connection
);
1623 HRESULT ExecuteComplete
(
1624 [in] LONG records_affected
,
1626 [in, out] EventStatusEnum
*status
,
1627 [in] _Command
*command
,
1628 [in] _Recordset
*record_set
,
1629 [in] _Connection
*connection
);
1631 HRESULT WillConnect
(
1632 [in, out] BSTR *string,
1633 [in, out] BSTR *userid
,
1634 [in, out] BSTR *password
,
1635 [in, out] LONG *options
,
1636 [in, out] EventStatusEnum
*status
,
1637 [in] _Connection
*connection
);
1639 HRESULT ConnectComplete
(
1641 [in, out] EventStatusEnum
*status
,
1642 [in] _Connection
*connection
);
1645 [in, out] EventStatusEnum
*status
,
1646 [in] _Connection
*connection
);
1650 uuid(00000400-0000-0010-8000-00aa006d2ea4
)
1652 dispinterface ConnectionEvents
1657 HRESULT InfoMessage
(
1659 [in, out] EventStatusEnum
*status
,
1660 [in] _Connection
*Connection
);
1663 HRESULT BeginTransComplete
(
1664 [in] LONG TransactionLevel
,
1666 [in, out] EventStatusEnum
*status
,
1667 [in] _Connection
*connection
);
1670 HRESULT CommitTransComplete
(
1672 [in, out] EventStatusEnum
*status
,
1673 [in] _Connection
*connection
);
1676 HRESULT RollbackTransComplete
(
1678 [in, out] EventStatusEnum
*status
,
1679 [in] _Connection
*connection
);
1682 HRESULT WillExecute
(
1683 [in, out] BSTR *source,
1684 [in, out] CursorTypeEnum
*cursor_type
,
1685 [in, out] LockTypeEnum
*lock_type
,
1686 [in, out] LONG *options
,
1687 [in, out] EventStatusEnum
*status
,
1688 [in] _Command
*command
,
1689 [in] _Recordset
*record_set
,
1690 [in] _Connection
*connection
);
1693 HRESULT ExecuteComplete
(
1694 [in] LONG records_affected
,
1696 [in, out] EventStatusEnum
*status
,
1697 [in] _Command
*command
,
1698 [in] _Recordset
*record_set
,
1699 [in] _Connection
*connection
);
1702 HRESULT WillConnect
(
1703 [in, out] BSTR *string,
1704 [in, out] BSTR *userid
,
1705 [in, out] BSTR *password
,
1706 [in, out] LONG *options
,
1707 [in, out] EventStatusEnum
*status
,
1708 [in] _Connection
*connection
);
1711 HRESULT ConnectComplete
(
1713 [in, out] EventStatusEnum
*status
,
1714 [in] _Connection
*connection
);
1718 [in, out] EventStatusEnum
*status
,
1719 [in] _Connection
*connection
);
1723 uuid(00000562-0000-0010-8000-00aa006d2ea4
),
1729 interface _Record
: _ADO
1732 HRESULT ActiveConnection
(
1733 [out, retval] VARIANT *connection
);
1736 HRESULT ActiveConnection
(
1737 [in] BSTR connection
);
1740 HRESULT ActiveConnection
(
1741 [in] _Connection
*connection
);
1745 [out, retval] ObjectStateEnum
*state
);
1749 [out, retval] VARIANT *source);
1757 [in] IDispatch
*source);
1761 [out, retval] ConnectModeEnum
*mode
);
1765 [in] ConnectModeEnum mode
);
1769 [out, retval] BSTR *parent_URL
);
1773 [in, defaultvalue("")] BSTR source,
1774 [in, defaultvalue("")] BSTR Destination
,
1775 [in, optional] BSTR UserName
,
1776 [in, optional] BSTR Password
,
1777 [in, defaultvalue(adMoveUnspecified
)] MoveRecordOptionsEnum Options
,
1778 [in, optional] VARIANT_BOOL Async
,
1779 [out, retval] BSTR *pbstrNewURL
);
1783 [in, defaultvalue("")] BSTR source,
1784 [in, defaultvalue("")] BSTR destination
,
1785 [in, optional] BSTR username
,
1786 [in, optional] BSTR password
,
1787 [in, defaultvalue(adCopyUnspecified
)] CopyRecordOptionsEnum options
,
1788 [in, optional] VARIANT_BOOL async
,
1789 [out, retval] BSTR *new_URL
);
1792 HRESULT DeleteRecord
(
1794 [in, optional] VARIANT_BOOL async
);
1798 [in, optional] VARIANT source,
1799 [in, optional] VARIANT active_connection
,
1800 [in, optional] ConnectModeEnum mode
,
1801 [in, defaultvalue(adFailIfNotExists
)] RecordCreateOptionsEnum create_options
,
1802 [in, defaultvalue(adOpenRecordUnspecified
)] RecordOpenOptionsEnum options
,
1803 [in, optional] BSTR username
,
1804 [in, optional] BSTR password
);
1811 [out, retval] Fields
**fields
);
1815 [out, retval] RecordTypeEnum
*type
);
1818 HRESULT GetChildren
(
1819 [out, retval] _Recordset
**record_set
);
1826 uuid(00000565-0000-0010-8000-00aa006d2ea4
),
1832 interface _Stream
: IDispatch
1836 [out, retval] LONG *size
);
1840 [out, retval] VARIANT_BOOL *eos
);
1844 [out, retval] LONG *position
);
1848 [in] LONG position
);
1852 [out, retval] StreamTypeEnum
*type
);
1856 [in] StreamTypeEnum type
);
1859 HRESULT LineSeparator
(
1860 [out, retval] LineSeparatorEnum
*separator
);
1863 HRESULT LineSeparator
(
1864 [in] LineSeparatorEnum separator
);
1868 [out, retval] ObjectStateEnum
*state
);
1872 [out, retval] ConnectModeEnum
*mode
);
1876 [in] ConnectModeEnum mode
);
1880 [out, retval] BSTR *charset
);
1888 [in, defaultvalue(adReadAll
)] LONG num_bytes
,
1889 [out, retval] VARIANT *val
);
1893 [in, optional] VARIANT source,
1894 [in, defaultvalue(adModeUnknown
)] ConnectModeEnum mode
,
1895 [in, defaultvalue(adOpenStreamUnspecified
)] StreamOpenOptionsEnum options
,
1896 [in, optional] BSTR username
,
1897 [in, optional] BSTR password
);
1900 HRESULT Close
(void);
1903 HRESULT SkipLine
(void);
1907 [in] VARIANT buffer
);
1910 HRESULT SetEOS
(void);
1915 [in, defaultvalue(-1)] LONG size
);
1918 HRESULT Flush
(void);
1923 [in, defaultvalue(adSaveCreateNotExist
)] SaveOptionsEnum options
);
1926 HRESULT LoadFromFile
(
1927 [in] BSTR filename
);
1931 [in, defaultvalue(adReadAll
)] LONG size
,
1932 [out, retval] BSTR *str
);
1937 [in, defaultvalue(adWriteChar
)] StreamWriteEnum options
);
1940 HRESULT Cancel
(void);
1944 uuid(00000266-0000-0010-8000-00aa006d2ea4
)
1946 dispinterface RecordsetEvents
1951 HRESULT WillChangeField
(
1953 [in] VARIANT fields
,
1954 [in, out] EventStatusEnum
*status
,
1955 [in] _Recordset
*record_set
);
1958 HRESULT FieldChangeComplete
(
1960 [in] VARIANT fields
,
1962 [in, out] EventStatusEnum
*status
,
1963 [in] _Recordset
*record_set
);
1966 HRESULT WillChangeRecord
(
1967 [in] EventReasonEnum reason
,
1969 [in, out] EventStatusEnum
*status
,
1970 [in] _Recordset
*record_set
);
1973 HRESULT RecordChangeComplete
(
1974 [in] EventReasonEnum reason
,
1977 [in, out] EventStatusEnum
*status
,
1978 [in] _Recordset
*record_set
);
1981 HRESULT WillChangeRecordset
(
1982 [in] EventReasonEnum reason
,
1983 [in, out] EventStatusEnum
*status
,
1984 [in] _Recordset
*record_set
);
1987 HRESULT RecordsetChangeComplete
(
1988 [in] EventReasonEnum reason
,
1990 [in, out] EventStatusEnum
*status
,
1991 [in] _Recordset
*record_set
);
1995 [in] EventReasonEnum reason
,
1996 [in, out] EventStatusEnum
*status
,
1997 [in] _Recordset
*record_set
);
2000 HRESULT MoveComplete
(
2001 [in] EventReasonEnum reason
,
2003 [in, out] EventStatusEnum
*status
,
2004 [in] _Recordset
*record_set
);
2007 HRESULT EndOfRecordset
(
2008 [in, out] VARIANT_BOOL *more_data
,
2009 [in, out] EventStatusEnum
*status
,
2010 [in] _Recordset
*record_set
);
2013 HRESULT FetchProgress
(
2015 [in] LONG max_progress
,
2016 [in, out] EventStatusEnum
*status
,
2017 [in] _Recordset
*record_set
);
2020 HRESULT FetchComplete
(
2022 [in, out] EventStatusEnum
*status
,
2023 [in] _Recordset
*record_set
);
2027 uuid(00000538-0000-0010-8000-00aa006d2ea4
),
2031 interface ADODebugging
: IUnknown
2033 HRESULT IsGlobalDebugMode
(
2034 VARIANT_BOOL *debugging_on
);
2036 HRESULT SetGlobalDebugMode
(
2038 VARIANT_BOOL debugging_on
);
2042 uuid(00000516-0000-0010-8000-00aa006d2ea4
),
2046 interface ADOConnectionConstruction15
: IUnknown
2050 [out, retval] IUnknown
**dso
);
2054 [out, retval] IUnknown
**session
);
2056 HRESULT WrapDSOandSession
(
2058 [in] IUnknown
*session
);
2062 uuid(00000551-0000-0010-8000-00aa006d2ea4
),
2066 interface ADOConnectionConstruction
: ADOConnectionConstruction15
2071 uuid(00000517-0000-0010-8000-00aa006d2ea4
),
2075 interface ADOCommandConstruction
: IUnknown
2078 HRESULT OLEDBCommand
(
2079 [out, retval] IUnknown
**command
);
2082 HRESULT OLEDBCommand
(
2083 [in] IUnknown
*command
);
2087 uuid(00000283-0000-0010-8000-00aa006d2ea4
),
2091 interface ADORecordsetConstruction
: IDispatch
2095 [out, retval] IUnknown
**row_set
);
2099 [in] IUnknown
*row_set
);
2103 [out, retval] LONG *chapter
);
2110 HRESULT RowPosition
(
2111 [out, retval] IUnknown
**row_pos
);
2114 HRESULT RowPosition
(
2115 [in] IUnknown
*row_pos
);
2119 uuid(2a75196c
-d9eb
-4129-b803
-931327f72d5c
),
2124 importlib
("stdole2.tlb");
2127 uuid(00000514-0000-0010-8000-00aa006d2ea4
),
2131 [default] interface _Connection
;
2132 [default, source] dispinterface ConnectionEvents
;
2136 uuid(00000507-0000-0010-8000-00aa006d2ea4
),
2140 [default] interface _Command
;
2144 uuid(00000535-0000-0010-8000-00aa006d2ea4
),
2148 [default] interface _Recordset
;
2149 [default, source] dispinterface RecordsetEvents
;
2153 uuid(0000050b
-0000-0010-8000-00aa006d2ea4
),
2157 [default] interface _Parameter
;
2161 uuid(00000560-0000-0010-8000-00aa006d2ea4
),
2165 [default] interface _Record
;
2169 uuid(00000566-0000-0010-8000-00aa006d2ea4
),
2173 [default] interface _Stream
;