windows-nt/Source/XPSP1/NT/public/sdk/inc/msado15.idl

2089 lines
67 KiB
Plaintext
Raw Normal View History

2020-09-26 03:20:57 -05:00
//-----------------------------------------------------------------------------
// File: msado15.idl
//
// Copyright: Copyright (c) Microsoft Corporation
//
// Contents:
//
//
// Comments: ADO interface definitions for inclusion in .IDL files
//
//-----------------------------------------------------------------------------
#ifndef DO_NO_IMPORTS
import "oaidl.idl";
#endif
midl_pragma warning (disable: 2400)
interface _Collection;
interface _DynaCollection;
interface _ADO;
interface Properties;
interface Property;
interface Error;
interface Errors;
interface _Command;
interface Command25;
interface Command15;
interface _Connection;
interface Connection15;
interface _Recordset;
interface Recordset21;
interface Recordset20;
interface Recordset15;
interface _Record;
interface _Stream;
interface Fields;
interface Fields20;
interface Fields15;
interface Field;
interface Field20;
interface Field15;
interface _Parameter;
interface Parameters;
interface ADODebugging;
interface ConnectionEventsVt;
interface RecordsetEventsVt;
dispinterface ConnectionEvents;
dispinterface RecordsetEvents;
interface ADOConnectionConstruction;
interface ADOCommandConstruction;
interface ADORecordsetConstruction;
#ifdef _WIN64
typedef
[
public,
uuid(54D8B4B9-663B-4a9c-95F6-0E749ABD70F1),
]
__int64 ADO_LONGPTR;
#else
typedef
[
public,
uuid(54D8B4B9-663B-4a9c-95F6-0E749ABD70F1),
]
long ADO_LONGPTR;
#endif
typedef [uuid(0000051B-0000-0010-8000-00AA006D2EA4)]
enum {
adOpenUnspecified = -1,
adOpenForwardOnly = 0,
adOpenKeyset = 1,
adOpenDynamic = 2,
adOpenStatic = 3
} CursorTypeEnum;
typedef [uuid(0000051C-0000-0010-8000-00AA006D2EA4)]
enum {
adHoldRecords = 256,
adMovePrevious = 512,
adAddNew = 16778240,
adDelete = 16779264,
adUpdate = 16809984,
adBookmark = 8192,
adApproxPosition = 16384,
adUpdateBatch = 65536,
adResync = 131072,
adNotify = 262144,
adFind = 524288,
adSeek = 4194304,
adIndex = 8388608
} CursorOptionEnum;
typedef [uuid(0000051D-0000-0010-8000-00AA006D2EA4)]
enum {
adLockUnspecified = -1,
adLockReadOnly = 1,
adLockPessimistic = 2,
adLockOptimistic = 3,
adLockBatchOptimistic = 4
} LockTypeEnum;
typedef [uuid(0000051E-0000-0010-8000-00AA006D2EA4)]
enum {
adOptionUnspecified = -1,
adAsyncExecute = 16,
adAsyncFetch = 32,
adAsyncFetchNonBlocking = 64,
adExecuteNoRecords = 128,
adExecuteStream = 1024,
[hidden] adExecuteRecord = 2048
} ExecuteOptionEnum;
typedef [uuid(00000541-0000-0010-8000-00AA006D2EA4)]
enum {
adConnectUnspecified = -1,
adAsyncConnect = 16
} ConnectOptionEnum;
typedef [uuid(00000532-0000-0010-8000-00AA006D2EA4)]
enum {
adStateClosed = 0,
adStateOpen = 1,
adStateConnecting = 2,
adStateExecuting = 4,
adStateFetching = 8
} ObjectStateEnum;
typedef [uuid(0000052F-0000-0010-8000-00AA006D2EA4)]
enum {
adUseNone = 1,
adUseServer = 2,
adUseClient = 3,
adUseClientBatch = 3
} CursorLocationEnum;
typedef [uuid(0000051F-0000-0010-8000-00AA006D2EA4)]
enum {
adEmpty = 0,
adTinyInt = 16,
adSmallInt = 2,
adInteger = 3,
adBigInt = 20,
adUnsignedTinyInt = 17,
adUnsignedSmallInt = 18,
adUnsignedInt = 19,
adUnsignedBigInt = 21,
adSingle = 4,
adDouble = 5,
adCurrency = 6,
adDecimal = 14,
adNumeric = 131,
adBoolean = 11,
adError = 10,
adUserDefined = 132,
adVariant = 12,
adIDispatch = 9,
adIUnknown = 13,
adGUID = 72,
adDate = 7,
adDBDate = 133,
adDBTime = 134,
adDBTimeStamp = 135,
adBSTR = 8,
adChar = 129,
adVarChar = 200,
adLongVarChar = 201,
adWChar = 130,
adVarWChar = 202,
adLongVarWChar = 203,
adBinary = 128,
adVarBinary = 204,
adLongVarBinary = 205,
adChapter = 136,
adFileTime = 64,
adPropVariant = 138,
adVarNumeric = 139,
adArray = 0x2000
} DataTypeEnum;
typedef [uuid(00000525-0000-0010-8000-00AA006D2EA4)]
enum {
adFldUnspecified = -1,
adFldMayDefer = 0x00000002,
adFldUpdatable = 0x00000004,
adFldUnknownUpdatable = 0x00000008,
adFldFixed = 0x00000010,
adFldIsNullable = 0x00000020,
adFldMayBeNull = 0x00000040,
adFldLong = 0x00000080,
adFldRowID = 0x00000100,
adFldRowVersion = 0x00000200,
adFldCacheDeferred = 0x00001000,
adFldIsChapter = 0x00002000,
adFldNegativeScale = 0x00004000,
adFldKeyColumn = 0x00008000,
adFldIsRowURL = 0x00010000,
adFldIsDefaultStream = 0x00020000,
adFldIsCollection = 0x00040000
} FieldAttributeEnum;
typedef [uuid(00000526-0000-0010-8000-00AA006D2EA4)]
enum {
adEditNone = 0,
adEditInProgress = 1,
adEditAdd = 2,
adEditDelete = 4
} EditModeEnum;
typedef [uuid(00000527-0000-0010-8000-00AA006D2EA4)]
enum {
adRecOK = 0,
adRecNew = 1,
adRecModified = 2,
adRecDeleted = 4,
adRecUnmodified = 8,
adRecInvalid = 16,
adRecMultipleChanges = 64,
adRecPendingChanges = 128,
adRecCanceled = 256,
adRecCantRelease = 1024,
adRecConcurrencyViolation = 2048,
adRecIntegrityViolation = 4096,
adRecMaxChangesExceeded = 8192,
adRecObjectOpen = 16384,
adRecOutOfMemory = 32768,
adRecPermissionDenied = 65536,
adRecSchemaViolation = 131072,
adRecDBDeleted = 262144
} RecordStatusEnum;
typedef [uuid(00000542-0000-0010-8000-00AA006D2EA4)]
enum {
adGetRowsRest = -1
} GetRowsOptionEnum;
typedef [uuid(00000528-0000-0010-8000-00AA006D2EA4)]
enum {
adPosUnknown = -1,
adPosBOF = -2,
adPosEOF = -3
} PositionEnum;
#ifdef _WIN64
typedef
[
public,
uuid(A56187C5-D690-4037-AE32-A00EDC376AC3),
]
ADO_LONGPTR PositionEnum_Param;
#else
typedef
[
public,
uuid(A56187C5-D690-4037-AE32-A00EDC376AC3),
]
PositionEnum PositionEnum_Param;
#endif
typedef enum {
adBookmarkCurrent = 0,
adBookmarkFirst = 1,
adBookmarkLast = 2
} BookmarkEnum;
typedef [uuid(00000540-0000-0010-8000-00AA006D2EA4)]
enum {
adMarshalAll = 0,
adMarshalModifiedOnly = 1
} MarshalOptionsEnum;
typedef [uuid(00000543-0000-0010-8000-00AA006D2EA4)]
enum {
adAffectCurrent = 1,
adAffectGroup = 2,
adAffectAll = 3,
adAffectAllChapters = 4
} AffectEnum;
typedef [uuid(00000544-0000-0010-8000-00AA006D2EA4)]
enum {
adResyncUnderlyingValues = 1,
adResyncAllValues = 2
} ResyncEnum;
typedef [uuid(00000545-0000-0010-8000-00AA006D2EA4)]
enum {
adCompareLessThan = 0,
adCompareEqual = 1,
adCompareGreaterThan = 2,
adCompareNotEqual = 3,
adCompareNotComparable = 4
} CompareEnum;
typedef [uuid(00000546-0000-0010-8000-00AA006D2EA4)]
enum {
adFilterNone = 0,
adFilterPendingRecords = 1,
adFilterAffectedRecords = 2,
adFilterFetchedRecords = 3,
adFilterPredicate = 4,
adFilterConflictingRecords = 5
} FilterGroupEnum;
typedef [uuid(00000547-0000-0010-8000-00AA006D2EA4)]
enum {
adSearchForward = 1,
adSearchBackward = -1
} SearchDirectionEnum;
typedef [public]
SearchDirectionEnum SearchDirection;
typedef [uuid(00000548-0000-0010-8000-00AA006D2EA4)]
enum {
adPersistADTG = 0,
adPersistXML = 1
} PersistFormatEnum;
typedef [uuid(00000549-0000-0010-8000-00AA006D2EA4)]
enum {
adClipString = 2
} StringFormatEnum;
typedef [uuid(00000520-0000-0010-8000-00AA006D2EA4)]
enum {
adPromptAlways = 1,
adPromptComplete = 2,
adPromptCompleteRequired = 3,
adPromptNever = 4
} ConnectPromptEnum;
typedef [uuid(00000521-0000-0010-8000-00AA006D2EA4)]
enum {
adModeUnknown = 0,
adModeRead = 1,
adModeWrite = 2,
adModeReadWrite = 3,
adModeShareDenyRead = 4,
adModeShareDenyWrite = 8,
adModeShareExclusive = 12,
adModeShareDenyNone = 16,
adModeRecursive =4194304
} ConnectModeEnum;
typedef [uuid(00000523-0000-0010-8000-00AA006D2EA4)]
enum {
adXactUnspecified = -1,
adXactChaos = 16,
adXactReadUncommitted = 256,
adXactBrowse = 256,
adXactCursorStability = 4096,
adXactReadCommitted = 4096,
adXactRepeatableRead = 65536,
adXactSerializable = 1048576,
adXactIsolated = 1048576
} IsolationLevelEnum;
typedef [uuid(00000524-0000-0010-8000-00AA006D2EA4)]
enum {
adXactCommitRetaining = 131072,
adXactAbortRetaining = 262144,
adXactAsyncPhaseOne = 524288,
adXactSyncPhaseOne = 1048576
} XactAttributeEnum;
typedef [uuid(00000529-0000-0010-8000-00AA006D2EA4)]
enum {
adPropNotSupported = 0,
adPropRequired = 1,
adPropOptional = 2,
adPropRead = 512,
adPropWrite = 1024
} PropertyAttributesEnum;
typedef [uuid(0000052A-0000-0010-8000-00AA006D2EA4)]
enum {
adErrInvalidArgument = 3001,
adErrOpeningFile = 3002,
adErrReadFile = 3003,
adErrWriteFile = 3004,
adErrNoCurrentRecord = 3021,
adErrIllegalOperation = 3219,
adErrCantChangeProvider = 3220,
adErrInTransaction = 3246,
adErrFeatureNotAvailable = 3251,
adErrItemNotFound = 3265,
adErrObjectInCollection = 3367,
adErrObjectNotSet = 3420,
adErrDataConversion = 3421,
adErrObjectClosed = 3704,
adErrObjectOpen = 3705,
adErrProviderNotFound = 3706,
adErrBoundToCommand = 3707,
adErrInvalidParamInfo = 3708,
adErrInvalidConnection = 3709,
adErrNotReentrant = 3710,
adErrStillExecuting = 3711,
adErrOperationCancelled = 3712,
adErrStillConnecting = 3713,
adErrInvalidTransaction = 3714,
adErrNotExecuting = 3715,
adErrUnsafeOperation = 3716,
adWrnSecurityDialog = 3717,
adWrnSecurityDialogHeader = 3718,
adErrIntegrityViolation = 3719,
adErrPermissionDenied = 3720,
adErrDataOverflow = 3721,
adErrSchemaViolation = 3722,
adErrSignMismatch = 3723,
adErrCantConvertvalue = 3724,
adErrCantCreate = 3725,
adErrColumnNotOnThisRow = 3726,
//adErrURLIntegrViolSetColumns =3727,
adErrURLDoesNotExist =3727,
adErrTreePermissionDenied = 3728,
adErrInvalidURL = 3729,
adErrResourceLocked =3730,
adErrResourceExists =3731,
adErrCannotComplete = 3732,
adErrVolumeNotFound = 3733,
adErrOutOfSpace =3734,
adErrResourceOutOfScope =3735,
adErrUnavailable =3736,
adErrURLNamedRowDoesNotExist = 3737,
adErrDelResOutOfScope = 3738,
adErrPropInvalidColumn = 3739,
adErrPropInvalidOption = 3740,
adErrPropInvalidValue =3741,
adErrPropConflicting = 3742,
adErrPropNotAllSettable = 3743,
adErrPropNotSet =3744,
adErrPropNotSettable =3745,
adErrPropNotSupported = 3746,
adErrCatalogNotSet = 3747,
adErrCantChangeConnection = 3748,
adErrFieldsUpdateFailed = 3749,
adErrDenyNotSupported = 3750,
adErrDenyTypeNotSupported = 3751,
adErrProviderNotSpecified = 3753
} ErrorValueEnum;
typedef [uuid(0000052B-0000-0010-8000-00AA006D2EA4)]
enum {
adParamSigned = 16,
adParamNullable = 64,
adParamLong = 128
} ParameterAttributesEnum;
typedef [uuid(0000052C-0000-0010-8000-00AA006D2EA4)]
enum {
adParamUnknown = 0,
adParamInput = 1,
adParamOutput = 2,
adParamInputOutput = 3,
adParamReturnValue = 4
} ParameterDirectionEnum;
typedef [uuid(0000052E-0000-0010-8000-00AA006D2EA4)]
enum {
adCmdUnspecified = -1,
adCmdUnknown = 8,
adCmdText = 1,
adCmdTable = 2,
adCmdStoredProc = 4,
adCmdFile = 256,
adCmdTableDirect = 512
} CommandTypeEnum;
typedef [uuid(00000530-0000-0010-8000-00AA006D2EA4)]
enum {
adStatusOK = 1,
adStatusErrorsOccurred = 2,
adStatusCantDeny = 3,
adStatusCancel = 4,
adStatusUnwantedEvent = 5
} EventStatusEnum;
typedef [uuid(00000531-0000-0010-8000-00AA006D2EA4)]
enum {
adRsnAddNew = 1,
adRsnDelete = 2,
adRsnUpdate = 3,
adRsnUndoUpdate = 4,
adRsnUndoAddNew = 5,
adRsnUndoDelete = 6,
adRsnRequery = 7,
adRsnResynch = 8,
adRsnClose = 9,
adRsnMove = 10,
adRsnFirstChange = 11,
adRsnMoveFirst = 12,
adRsnMoveNext = 13,
adRsnMovePrevious = 14,
adRsnMoveLast = 15
} EventReasonEnum;
typedef [uuid(00000533-0000-0010-8000-00AA006D2EA4)]
enum {
adSchemaProviderSpecific = -1,
adSchemaAsserts = 0,
adSchemaCatalogs = 1,
adSchemaCharacterSets = 2,
adSchemaCollations = 3,
adSchemaColumns = 4,
adSchemaCheckConstraints = 5,
adSchemaConstraintColumnUsage = 6,
adSchemaConstraintTableUsage = 7,
adSchemaKeyColumnUsage = 8,
[hidden] adSchemaReferentialContraints = 9,
adSchemaReferentialConstraints = 9,
adSchemaTableConstraints = 10,
adSchemaColumnsDomainUsage = 11,
adSchemaIndexes = 12,
adSchemaColumnPrivileges = 13,
adSchemaTablePrivileges = 14,
adSchemaUsagePrivileges = 15,
adSchemaProcedures = 16,
adSchemaSchemata = 17,
adSchemaSQLLanguages = 18,
adSchemaStatistics = 19,
adSchemaTables = 20,
adSchemaTranslations = 21,
adSchemaProviderTypes = 22,
adSchemaViews = 23,
adSchemaViewColumnUsage = 24,
adSchemaViewTableUsage = 25,
adSchemaProcedureParameters = 26,
adSchemaForeignKeys = 27,
adSchemaPrimaryKeys = 28,
adSchemaProcedureColumns = 29,
adSchemaDBInfoKeywords = 30,
adSchemaDBInfoLiterals = 31,
adSchemaCubes = 32,
adSchemaDimensions = 33,
adSchemaHierarchies = 34,
adSchemaLevels = 35,
adSchemaMeasures = 36,
adSchemaProperties = 37,
adSchemaMembers = 38,
adSchemaTrustees = 39,
adSchemaFunctions = 40,
adSchemaActions = 41,
adSchemaCommands = 42,
adSchemaSets = 43
} SchemaEnum;
typedef [uuid(00000552-0000-0010-8000-00AA006D2EA4)]
enum {
adSeekFirstEQ = 1,
adSeekLastEQ = 2,
adSeekAfterEQ = 4,
adSeekAfter = 8,
adSeekBeforeEQ = 16,
adSeekBefore = 32
} SeekEnum;
typedef [uuid(0000054A-0000-0010-8000-00AA006D2EA4)]
enum {
adCriteriaKey = 0,
adCriteriaAllCols = 1,
adCriteriaUpdCols = 2,
adCriteriaTimeStamp = 3
} ADCPROP_UPDATECRITERIA_ENUM;
typedef [uuid(0000054B-0000-0010-8000-00AA006D2EA4)]
enum {
adPriorityLowest = 1,
adPriorityBelowNormal = 2,
adPriorityNormal = 3,
adPriorityAboveNormal = 4,
adPriorityHighest = 5
} ADCPROP_ASYNCTHREADPRIORITY_ENUM;
typedef [uuid(00000553-0000-0010-8000-00AA006D2EA4)]
enum {
adResyncNone = 0,
adResyncAutoIncrement = 1,
adResyncConflicts = 2,
adResyncUpdates = 4,
adResyncInserts = 8,
adResyncAll = 15
} CEResyncEnum;
typedef [uuid(00000554-0000-0010-8000-00AA006D2EA4)]
enum {
adRecalcUpFront = 0,
adRecalcAlways = 1
} ADCPROP_AUTORECALC_ENUM;
// Field states
typedef [uuid(0000057E-0000-0010-8000-00AA006D2EA4)]
enum FieldStatusEnum
{
adFieldOK = 0,
adFieldCantConvertValue = 2,
adFieldIsNull = 3,
adFieldTruncated = 4,
adFieldSignMismatch = 5,
adFieldDataOverflow = 6,
adFieldCantCreate = 7,
adFieldUnavailable = 8,
adFieldPermissionDenied = 9,
adFieldIntegrityViolation = 10,
adFieldSchemaViolation = 11,
adFieldBadStatus = 12,
adFieldDefault = 13,
adFieldIgnore = 15,
adFieldDoesNotExist = 16, //(&H10)
adFieldInvalidURL = 17, //(&H11)
adFieldResourceLocked = 18, //(&H12)
adFieldResourceExists = 19, //(&H13)
adFieldCannotComplete = 20, //(&H14)
adFieldVolumeNotFound = 21, //(&H15)
adFieldOutOfSpace = 22, //(&H16)
adFieldCannotDeleteSource = 23, //(&H17)
adFieldReadOnly = 24, //(&H18)
adFieldResourceOutOfScope = 25, //(&H19)
adFieldAlreadyExists = 26, //(&H1A)
adFieldPendingInsert = 0x10000,
adFieldPendingDelete = 0x20000,
adFieldPendingChange = 0x40000,
adFieldPendingUnknown = 0x80000,
adFieldPendingUnknownDelete = 0x100000
}
FieldStatusEnum;
typedef [uuid(00000570-0000-0010-8000-00AA006D2EA4)]
enum {
adCreateCollection = 0x00002000,
adCreateStructDoc = 0x80000000,
adCreateNonCollection = 0x00000000,
adOpenIfExists = 0x02000000,
adCreateOverwrite = 0x04000000,
adFailIfNotExists = -1
} RecordCreateOptionsEnum;
typedef [uuid(00000571-0000-0010-8000-00AA006D2EA4)]
enum {
adOpenRecordUnspecified = -1,
[hidden]adOpenSource = 0x00800000,
adOpenOutput = 0x00800000,
adOpenAsync = 0x00001000,
adDelayFetchStream = 0x00004000,
adDelayFetchFields = 0x00008000,
adOpenExecuteCommand = 0x00010000
} RecordOpenOptionsEnum;
typedef [uuid(00000573-0000-0010-8000-00AA006D2EA4)]
enum {
adMoveUnspecified = -1,
adMoveOverWrite = 1,
adMoveDontUpdateLinks = 2,
adMoveAllowEmulation = 4
} MoveRecordOptionsEnum;
typedef [uuid(00000574-0000-0010-8000-00AA006D2EA4)]
enum {
adCopyUnspecified = -1,
adCopyOverWrite = 1,
adCopyAllowEmulation = 4,
adCopyNonRecursive = 2
} CopyRecordOptionsEnum;
typedef [uuid(00000576-0000-0010-8000-00AA006D2EA4)]
enum {
adTypeBinary = 1,
adTypeText = 2
} StreamTypeEnum;
typedef [uuid(00000577-0000-0010-8000-00AA006D2EA4)]
enum {
adLF = 10,
adCR = 13,
adCRLF = -1
} LineSeparatorEnum;
typedef [uuid(0000057A-0000-0010-8000-00AA006D2EA4)]
enum {
adOpenStreamUnspecified = -1,
adOpenStreamAsync = 1,
adOpenStreamFromRecord = 4
#ifdef ADOSTREAMFROMCMD
,
adOpenStreamFromCommand = 8
#endif //ADOSTREAMFROMCMD
} StreamOpenOptionsEnum;
typedef [uuid(0000057B-0000-0010-8000-00AA006D2EA4)]
enum
{
adWriteChar = 0,
adWriteLine = 1
}
StreamWriteEnum;
typedef [uuid(0000057C-0000-0010-8000-00AA006D2EA4)]
enum
{
adSaveCreateNotExist = 1,
adSaveCreateOverWrite = 2
}
SaveOptionsEnum;
// Special Fields
typedef enum
{
adDefaultStream = -1,
adRecordURL = -2
}
FieldEnum;
// stream read options
typedef enum
{
adReadAll = -1,
adReadLine = -2
}
StreamReadEnum;
typedef [uuid(0000057D-0000-0010-8000-00AA006D2EA4)]
enum
{
adSimpleRecord = 0,
adCollectionRecord = 1,
adStructDoc = 2
}
RecordTypeEnum;
[
odl,
uuid(00000512-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation
]
interface _Collection : IDispatch {
[id(0x60020000), propget]
HRESULT _stdcall Count([out, retval] long* c);
[id(0xfffffffc), restricted]
HRESULT _stdcall _NewEnum([out, retval] IUnknown** ppvObject);
[id(0x60020002)]
HRESULT _stdcall Refresh();
};
[
odl,
uuid(00000513-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation
]
interface _DynaCollection : _Collection {
[id(0x60030000)]
HRESULT _stdcall Append([in] IDispatch* Object);
[id(0x60030001)]
HRESULT _stdcall Delete([in] VARIANT Index);
};
[
odl,
uuid(00000534-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation
]
interface _ADO : IDispatch {
[id(0x000001f4), propget]
HRESULT _stdcall Properties([out, retval] Properties** ppvObject);
};
[
odl,
uuid(00000504-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation
]
interface Properties : _Collection {
[id(00000000), propget]
HRESULT _stdcall Item(
[in] VARIANT Index,
[out, retval] Property** ppvObject);
};
[
odl,
uuid(00000503-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation
]
interface Property : IDispatch {
[id(00000000), propget]
HRESULT _stdcall Value([out, retval] VARIANT* pval);
[id(00000000), propput]
HRESULT _stdcall Value([in] VARIANT pval);
[id(0x60020002), propget]
HRESULT _stdcall Name([out, retval] BSTR* pbstr);
[id(0x60020003), propget]
HRESULT _stdcall Type([out, retval] DataTypeEnum* ptype);
[id(0x60020004), propget]
HRESULT _stdcall Attributes([out, retval] long* plAttributes);
[id(0x60020004), propput]
HRESULT _stdcall Attributes([in] long plAttributes);
};
[
odl,
uuid(00000500-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation
]
interface Error : IDispatch {
[id(0x60020000), propget]
HRESULT _stdcall Number([out, retval] long* pl);
[id(0x60020001), propget]
HRESULT _stdcall Source([out, retval] BSTR* pbstr);
[id(00000000), propget]
HRESULT _stdcall Description([out, retval] BSTR* pbstr);
[id(0x60020003), propget]
HRESULT _stdcall HelpFile([out, retval] BSTR* pbstr);
[id(0x60020004), propget]
HRESULT _stdcall HelpContext([out, retval] long* pl);
[id(0x60020005), propget]
HRESULT _stdcall SQLState([out, retval] BSTR* pbstr);
[id(0x60020006), propget]
HRESULT _stdcall NativeError([out, retval] long* pl);
};
[
odl,
uuid(00000501-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation
]
interface Errors : _Collection {
[id(00000000), propget]
HRESULT _stdcall Item(
[in] VARIANT Index,
[out, retval] Error** ppvObject);
[id(0x60030001)]
HRESULT _stdcall Clear();
};
[
odl,
uuid(00000508-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation
]
interface Command15 : _ADO {
[id(0x60030000), propget]
HRESULT _stdcall ActiveConnection([out, retval] _Connection** ppvObject);
[id(0x60030000), propputref]
HRESULT _stdcall ActiveConnection([in] _Connection* ppvObject);
[id(0x60030000), propput]
HRESULT _stdcall ActiveConnection([in] VARIANT ppvObject);
[id(0x60030003), propget]
HRESULT _stdcall CommandText([out, retval] BSTR* pbstr);
[id(0x60030003), propput]
HRESULT _stdcall CommandText([in] BSTR pbstr);
[id(0x60030005), propget]
HRESULT _stdcall CommandTimeout([out, retval] long* pl);
[id(0x60030005), propput]
HRESULT _stdcall CommandTimeout([in] long pl);
[id(0x60030007), propget]
HRESULT _stdcall Prepared([out, retval] VARIANT_BOOL* pfPrepared);
[id(0x60030007), propput]
HRESULT _stdcall Prepared([in] VARIANT_BOOL pfPrepared);
[id(0x60030009)]
HRESULT _stdcall Execute(
[out, optional] VARIANT* RecordsAffected,
[in, optional] VARIANT* Parameters,
[in, defaultvalue(-1)] long Options,
[out, retval] _Recordset** ppiRs);
[id(0x6003000a)]
HRESULT _stdcall CreateParameter(
[in, defaultvalue("")] BSTR Name,
[in, defaultvalue(adEmpty)] DataTypeEnum Type,
[in, defaultvalue(adParamInput)] ParameterDirectionEnum Direction,
[in, defaultvalue(0)] ADO_LONGPTR Size,
[in, optional] VARIANT Value,
[out, retval] _Parameter** ppiprm);
[id(00000000), propget]
HRESULT _stdcall Parameters([out, retval] Parameters** ppvObject);
[id(0x6003000c), propput]
HRESULT _stdcall CommandType([in] CommandTypeEnum plCmdType);
[id(0x6003000c), propget]
HRESULT _stdcall CommandType([out, retval] CommandTypeEnum* plCmdType);
[id(0x6003000e), propget]
HRESULT _stdcall Name([out, retval] BSTR* pbstrName);
[id(0x6003000e), propput]
HRESULT _stdcall Name([in] BSTR pbstrName);
};
[
odl,
uuid(0000054E-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation
]
interface Command25 : Command15 {
[id(0x60030010), propget]
HRESULT _stdcall State([out, retval] long* plObjState);
[id(0x60030011)]
HRESULT _stdcall Cancel();
};
[
odl,
uuid(B08400BD-F9D1-4D02-B856-71D5DBA123E9),
dual,
nonextensible,
oleautomation
]
interface _Command : Command25 {
[id(0x60030012), propputref]
HRESULT _stdcall CommandStream([in] IUnknown *pStream);
[id(0x60030012), propget]
HRESULT _stdcall CommandStream([out, retval] VARIANT* pvStream);
[id(0x60030013), propput]
HRESULT _stdcall Dialect([in] BSTR bstrDialect);
[id(0x60030013), propget]
HRESULT _stdcall Dialect([out, retval] BSTR* pbstrDialect);
[id(0x60030014), propput]
HRESULT _stdcall NamedParameters([in] VARIANT_BOOL fNamedParameters);
[id(0x60030014), propget]
HRESULT _stdcall NamedParameters([out, retval] VARIANT_BOOL* pfNamedParameters);
};
[
odl,
uuid(00000515-0000-0010-8000-00AA006D2EA4),
dual,
oleautomation
]
interface Connection15 : _ADO {
[id(00000000), propget]
HRESULT _stdcall ConnectionString([out, retval] BSTR* pbstr);
[id(00000000), propput]
HRESULT _stdcall ConnectionString([in] BSTR pbstr);
[id(0x00000002), propget]
HRESULT _stdcall CommandTimeout([out, retval] long* plTimeout);
[id(0x00000002), propput]
HRESULT _stdcall CommandTimeout([in] long plTimeout);
[id(0x00000003), propget]
HRESULT _stdcall ConnectionTimeout([out, retval] long* plTimeout);
[id(0x00000003), propput]
HRESULT _stdcall ConnectionTimeout([in] long plTimeout);
[id(0x00000004), propget]
HRESULT _stdcall Version([out, retval] BSTR* pbstr);
[id(0x00000005)]
HRESULT _stdcall Close();
[id(0x00000006)]
HRESULT _stdcall Execute(
[in] BSTR CommandText,
[out, optional] VARIANT* RecordsAffected,
[in, defaultvalue(-1)] long Options,
[out, retval] _Recordset** ppiRset);
[id(0x00000007)]
HRESULT _stdcall BeginTrans([out, retval] long* TransactionLevel);
[id(0x00000008)]
HRESULT _stdcall CommitTrans();
[id(0x00000009)]
HRESULT _stdcall RollbackTrans();
[id(0x0000000a)]
HRESULT _stdcall Open(
[in, defaultvalue("")] BSTR ConnectionString,
[in, defaultvalue("")] BSTR UserID,
[in, defaultvalue("")] BSTR Password,
[in, defaultvalue(-1)] long Options);
[id(0x0000000b), propget]
HRESULT _stdcall Errors([out, retval] Errors** ppvObject);
[id(0x0000000c), propget]
HRESULT _stdcall DefaultDatabase([out, retval] BSTR* pbstr);
[id(0x0000000c), propput]
HRESULT _stdcall DefaultDatabase([in] BSTR pbstr);
[id(0x0000000d), propget]
HRESULT _stdcall IsolationLevel([out, retval] IsolationLevelEnum* Level);
[id(0x0000000d), propput]
HRESULT _stdcall IsolationLevel([in] IsolationLevelEnum Level);
[id(0x0000000e), propget]
HRESULT _stdcall Attributes([out, retval] long* plAttr);
[id(0x0000000e), propput]
HRESULT _stdcall Attributes([in] long plAttr);
[id(0x0000000f), propget]
HRESULT _stdcall CursorLocation([out, retval] CursorLocationEnum* plCursorLoc);
[id(0x0000000f), propput]
HRESULT _stdcall CursorLocation([in] CursorLocationEnum plCursorLoc);
[id(0x00000010), propget]
HRESULT _stdcall Mode([out, retval] ConnectModeEnum* plMode);
[id(0x00000010), propput]
HRESULT _stdcall Mode([in] ConnectModeEnum plMode);
[id(0x00000011), propget]
HRESULT _stdcall Provider([out, retval] BSTR* pbstr);
[id(0x00000011), propput]
HRESULT _stdcall Provider([in] BSTR pbstr);
[id(0x00000012), propget]
HRESULT _stdcall State([out, retval] long* plObjState);
[id(0x00000013)]
HRESULT _stdcall OpenSchema(
[in] SchemaEnum Schema,
[in, optional] VARIANT Restrictions,
[in, optional] VARIANT SchemaID,
[out, retval] _Recordset** pprset);
};
[
odl,
uuid(00000550-0000-0010-8000-00AA006D2EA4),
dual,
oleautomation
]
interface _Connection : Connection15 {
[id(0x00000015)]
HRESULT _stdcall Cancel();
};
[
odl,
uuid(0000050E-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation
]
interface Recordset15 : _ADO {
[id(0x000003e8), propget]
HRESULT _stdcall AbsolutePosition([out, retval] PositionEnum_Param *pl);
[id(0x000003e8), propput]
HRESULT _stdcall AbsolutePosition([in] PositionEnum_Param pl);
[id(0x000003e9), propputref]
HRESULT _stdcall ActiveConnection([in] IDispatch* pvar);
[id(0x000003e9), propput]
HRESULT _stdcall ActiveConnection([in] VARIANT pvar);
[id(0x000003e9), propget]
HRESULT _stdcall ActiveConnection([out, retval] VARIANT* pvar);
[id(0x000003ea), propget]
HRESULT _stdcall BOF([out, retval] VARIANT_BOOL* pb);
[id(0x000003eb), propget]
HRESULT _stdcall Bookmark([out, retval] VARIANT* pvBookmark);
[id(0x000003eb), propput]
HRESULT _stdcall Bookmark([in] VARIANT pvBookmark);
[id(0x000003ec), propget]
HRESULT _stdcall CacheSize([out, retval] long* pl);
[id(0x000003ec), propput]
HRESULT _stdcall CacheSize([in] long pl);
[id(0x000003ed), propget]
HRESULT _stdcall CursorType([out, retval] CursorTypeEnum* plCursorType);
[id(0x000003ed), propput]
HRESULT _stdcall CursorType([in] CursorTypeEnum plCursorType);
[id(0x000003ee), propget]
HRESULT _stdcall EOF([out, retval] VARIANT_BOOL* pb);
[id(00000000), propget]
HRESULT _stdcall Fields([out, retval] Fields** ppvObject);
[id(0x000003f0), propget]
HRESULT _stdcall LockType([out, retval] LockTypeEnum* plLockType);
[id(0x000003f0), propput]
HRESULT _stdcall LockType([in] LockTypeEnum plLockType);
[id(0x000003f1), propget]
HRESULT _stdcall MaxRecords([out, retval] ADO_LONGPTR* plMaxRecords);
[id(0x000003f1), propput]
HRESULT _stdcall MaxRecords([in] ADO_LONGPTR plMaxRecords);
[id(0x000003f2), propget]
HRESULT _stdcall RecordCount([out, retval] ADO_LONGPTR* pl);
[id(0x000003f3), propputref]
HRESULT _stdcall Source([in] IDispatch* pvSource);
[id(0x000003f3), propput]
HRESULT _stdcall Source([in] BSTR pvSource);
[id(0x000003f3), propget]
HRESULT _stdcall Source([out, retval] VARIANT* pvSource);
[id(0x000003f4)]
HRESULT _stdcall AddNew(
[in, optional] VARIANT FieldList,
[in, optional] VARIANT Values);
[id(0x000003f5)]
HRESULT _stdcall CancelUpdate();
[id(0x000003f6)]
HRESULT _stdcall Close();
[id(0x000003f7)]
HRESULT _stdcall Delete([in, defaultvalue(adAffectCurrent)] AffectEnum AffectRecords);
[id(0x000003f8)]
HRESULT _stdcall GetRows(
[in, defaultvalue(-1)] long Rows,
[in, optional] VARIANT Start,
[in, optional] VARIANT Fields,
[out, retval] VARIANT* pvar);
[id(0x000003f9)]
HRESULT _stdcall Move(
[in] ADO_LONGPTR NumRecords,
[in, optional] VARIANT Start);
[id(0x000003fa)]
HRESULT _stdcall MoveNext();
[id(0x000003fb)]
HRESULT _stdcall MovePrevious();
[id(0x000003fc)]
HRESULT _stdcall MoveFirst();
[id(0x000003fd)]
HRESULT _stdcall MoveLast();
[id(0x000003fe)]
HRESULT _stdcall Open(
[in, optional] VARIANT Source,
[in, optional] VARIANT ActiveConnection,
[in, defaultvalue(adOpenUnspecified)] CursorTypeEnum CursorType,
[in, defaultvalue(adLockUnspecified)] LockTypeEnum LockType,
[in, defaultvalue(-1)] long Options);
[id(0x000003ff)]
HRESULT _stdcall Requery([in, defaultvalue(-1)] long Options);
[id(0x60030022), hidden]
HRESULT _stdcall _xResync([in, defaultvalue(adAffectAll)] AffectEnum AffectRecords);
[id(0x00000401)]
HRESULT _stdcall Update(
[in, optional] VARIANT Fields,
[in, optional] VARIANT Values);
[id(0x00000417), propget]
HRESULT _stdcall AbsolutePage([out, retval] PositionEnum_Param* pl);
[id(0x00000417), propput]
HRESULT _stdcall AbsolutePage([in] PositionEnum_Param pl);
[id(0x00000402), propget]
HRESULT _stdcall EditMode([out, retval] EditModeEnum* pl);
[id(0x00000406), propget]
HRESULT _stdcall Filter([out, retval] VARIANT* Criteria);
[id(0x00000406), propput]
HRESULT _stdcall Filter([in] VARIANT Criteria);
[id(0x0000041a), propget]
HRESULT _stdcall PageCount([out, retval] ADO_LONGPTR* pl);
[id(0x00000418), propget]
HRESULT _stdcall PageSize([out, retval] long* pl);
[id(0x00000418), propput]
HRESULT _stdcall PageSize([in] long pl);
[id(0x00000407), propget]
HRESULT _stdcall Sort([out, retval] BSTR* Criteria);
[id(0x00000407), propput]
HRESULT _stdcall Sort([in] BSTR Criteria);
[id(0x00000405), propget]
HRESULT _stdcall Status([out, retval] long* pl);
[id(0x0000041e), propget]
HRESULT _stdcall State([out, retval] long* plObjState);
[id(0x60030030), hidden]
HRESULT _stdcall _xClone([out, retval] _Recordset** ppvObject);
[id(0x0000040b)]
HRESULT _stdcall UpdateBatch([in, defaultvalue(adAffectAll)] AffectEnum AffectRecords);
[id(0x00000419)]
HRESULT _stdcall CancelBatch([in, defaultvalue(adAffectAll)] AffectEnum AffectRecords);
[id(0x0000041b), propget]
HRESULT _stdcall CursorLocation([out, retval] CursorLocationEnum* plCursorLoc);
[id(0x0000041b), propput]
HRESULT _stdcall CursorLocation([in] CursorLocationEnum plCursorLoc);
[id(0x0000041c)]
HRESULT _stdcall NextRecordset(
[out, optional] VARIANT* RecordsAffected,
[out, retval] _Recordset** ppiRs);
[id(0x0000040c)]
HRESULT _stdcall Supports(
[in] CursorOptionEnum CursorOptions,
[out, retval] VARIANT_BOOL* pb);
[id(0xfffffff8), propget, hidden]
HRESULT _stdcall Collect(
[in] VARIANT Index,
[out, retval] VARIANT* pvar);
[id(0xfffffff8), propput, hidden]
HRESULT _stdcall Collect(
[in] VARIANT Index,
[in] VARIANT pvar);
[id(0x0000041d), propget]
HRESULT _stdcall MarshalOptions([out, retval] MarshalOptionsEnum* peMarshal);
[id(0x0000041d), propput]
HRESULT _stdcall MarshalOptions([in] MarshalOptionsEnum peMarshal);
[id(0x00000422)]
HRESULT _stdcall Find(
[in] BSTR Criteria,
[in, defaultvalue(0)] ADO_LONGPTR SkipRecords,
[in, defaultvalue(adSearchForward)] SearchDirectionEnum SearchDirection,
[in, optional] VARIANT Start);
};
[
odl,
uuid(0000054F-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation
]
interface Recordset20 : Recordset15 {
[id(0x0000041f)]
HRESULT _stdcall Cancel();
[id(0x00000420), propget]
HRESULT _stdcall DataSource([out, retval] IUnknown** ppunkDataSource);
[id(0x00000420), propputref]
HRESULT _stdcall DataSource([in] IUnknown* ppunkDataSource);
[hidden]
HRESULT _stdcall _xSave(
[in, optional] BSTR FileName,
[in, defaultvalue(adPersistADTG)] PersistFormatEnum PersistFormat);
[id(0x00000425), propget]
HRESULT _stdcall ActiveCommand([out, retval] IDispatch** ppCmd);
[id(0x00000427), propput]
HRESULT _stdcall StayInSync([in] VARIANT_BOOL pbStayInSync);
[id(0x00000427), propget]
HRESULT _stdcall StayInSync([out, retval] VARIANT_BOOL* pbStayInSync);
[id(0x00000426)]
HRESULT _stdcall GetString(
[in, defaultvalue(adClipString)] StringFormatEnum StringFormat,
[in, defaultvalue(-1)] long NumRows,
[in, optional] BSTR ColumnDelimeter,
[in, optional] BSTR RowDelimeter,
[in, optional] BSTR NullExpr,
[out, retval] BSTR* pRetString);
[id(0x00000428), propget]
HRESULT _stdcall DataMember([out, retval] BSTR* pbstrDataMember);
[id(0x00000428), propput]
HRESULT _stdcall DataMember([in] BSTR pbstrDataMember);
[id(0x00000429)]
HRESULT _stdcall CompareBookmarks(
[in] VARIANT Bookmark1,
[in] VARIANT Bookmark2,
[out, retval] CompareEnum* pCompare);
[id(0x0000040a)]
HRESULT _stdcall Clone(
[in, defaultvalue(adLockUnspecified)] LockTypeEnum LockType,
[out, retval] _Recordset** ppvObject);
[id(0x00000400)]
HRESULT _stdcall Resync(
[in, defaultvalue(adAffectAll)] AffectEnum AffectRecords,
[in, defaultvalue(adResyncAllValues)] ResyncEnum ResyncValues);
};
[
odl,
uuid(00000555-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation
]
interface Recordset21 : Recordset20 {
[id(0x0000042a), helpcontext(0x001356db)]
HRESULT _stdcall Seek(
[in] VARIANT KeyValues,
[in, defaultvalue(adSeekFirstEQ)] SeekEnum SeekOption);
[id(0x0000042b), propput, helpcontext(0x001356da)]
HRESULT _stdcall Index([in] BSTR pbstrIndex);
[id(0x0000042b), propget, helpcontext(0x001356da)]
HRESULT _stdcall Index([out, retval] BSTR* pbstrIndex);
};
[
odl,
uuid(00000556-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation
]
interface _Recordset : Recordset21
{
[
id(0x00000421),
helpcontext(0x0012C8DF)
]
HRESULT Save(
[in, optional] VARIANT Destination,
[in, defaultvalue(adPersistADTG)] PersistFormatEnum PersistFormat
);
}
[
odl,
uuid(00000506-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation
]
interface Fields15 : _Collection {
[id(00000000), propget]
HRESULT _stdcall Item(
[in] VARIANT Index,
[out, retval] Field** ppvObject);
};
[
odl,
uuid(0000054D-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation
]
interface Fields20 : Fields15 {
[id(0x60030001)]
HRESULT _stdcall _Append(
[in] BSTR Name,
[in] DataTypeEnum Type,
[in, defaultvalue(0)] ADO_LONGPTR DefinedSize,
[in, defaultvalue(adFldUnspecified)] FieldAttributeEnum Attrib);
[id(0x60030002)]
HRESULT _stdcall Delete([in] VARIANT Index);
};
[
odl,
uuid(00000564-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation
]
interface Fields : Fields20
{
[id(0x60040001)]
HRESULT _stdcall Append(
[in] BSTR Name,
[in] DataTypeEnum Type,
[in, defaultvalue(0)] ADO_LONGPTR DefinedSize,
[in, defaultvalue(adFldUnspecified)] FieldAttributeEnum Attrib,
[in, optional] VARIANT FieldValue);
[id(0x60040002)]
HRESULT _stdcall Update();
[id(0x60040003)]
HRESULT _stdcall Resync([in, defaultvalue(adResyncAllValues)] ResyncEnum ResyncValues);
[id(0x60040004)]
HRESULT _stdcall CancelUpdate();
};
[
odl,
uuid(00000505-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation
]
interface Field15 : _ADO {
[id(0x00000455), propget]
HRESULT _stdcall ActualSize([out, retval] ADO_LONGPTR* pl);
[id(0x0000040c), propget]
HRESULT _stdcall Attributes([out, retval] long* pl);
[id(0x0000044f), propget]
HRESULT _stdcall DefinedSize([out, retval] ADO_LONGPTR* pl);
[id(0x0000044c), propget]
HRESULT _stdcall Name([out, retval] BSTR* pbstr);
[id(0x0000044e), propget]
HRESULT _stdcall Type([out, retval] DataTypeEnum* pDataType);
[id(00000000), propget]
HRESULT _stdcall Value([out, retval] VARIANT* pvar);
[id(00000000), propput]
HRESULT _stdcall Value([in] VARIANT pvar);
[id(0x60030007), propget]
HRESULT _stdcall Precision([out, retval] unsigned char* pbPrecision);
[id(0x60030008), propget]
HRESULT _stdcall NumericScale([out, retval] unsigned char* pbNumericScale);
[id(0x00000453)]
HRESULT _stdcall AppendChunk([in] VARIANT Data);
[id(0x00000454)]
HRESULT _stdcall GetChunk(
[in] long Length,
[out, retval] VARIANT* pvar);
[id(0x00000450), propget]
HRESULT _stdcall OriginalValue([out, retval] VARIANT* pvar);
[id(0x00000451), propget]
HRESULT _stdcall UnderlyingValue([out, retval] VARIANT* pvar);
};
[
odl,
uuid(0000054C-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation,
hidden
]
interface Field20 : _ADO {
[id(0x00000455), propget]
HRESULT _stdcall ActualSize([out, retval] ADO_LONGPTR* pl);
[id(0x0000040c), propget]
HRESULT _stdcall Attributes([out, retval] long* pl);
[id(0x0000044f), propget]
HRESULT _stdcall DefinedSize([out, retval] ADO_LONGPTR* pl);
[id(0x0000044c), propget]
HRESULT _stdcall Name([out, retval] BSTR* pbstr);
[id(0x0000044e), propget]
HRESULT _stdcall Type([out, retval] DataTypeEnum* pDataType);
[id(00000000), propget]
HRESULT _stdcall Value([out, retval] VARIANT* pvar);
[id(00000000), propput]
HRESULT _stdcall Value([in] VARIANT pvar);
[id(0x60030007), propget]
HRESULT _stdcall Precision([out, retval] unsigned char* pbPrecision);
[id(0x60030008), propget]
HRESULT _stdcall NumericScale([out, retval] unsigned char* pbNumericScale);
[id(0x00000453)]
HRESULT _stdcall AppendChunk([in] VARIANT Data);
[id(0x00000454)]
HRESULT _stdcall GetChunk(
[in] long Length,
[out, retval] VARIANT* pvar);
[id(0x00000450), propget]
HRESULT _stdcall OriginalValue([out, retval] VARIANT* pvar);
[id(0x00000451), propget]
HRESULT _stdcall UnderlyingValue([out, retval] VARIANT* pvar);
[id(0x6003000d), propget]
HRESULT _stdcall DataFormat([out, retval] IUnknown** ppiDF);
[id(0x6003000d), propputref]
HRESULT _stdcall DataFormat([in] IUnknown* ppiDF);
[id(0x60030007), propput]
HRESULT _stdcall Precision([in] unsigned char pbPrecision);
[id(0x60030008), propput]
HRESULT _stdcall NumericScale([in] unsigned char pbNumericScale);
[id(0x0000044e), propput]
HRESULT _stdcall Type([in] DataTypeEnum pDataType);
[id(0x0000044f), propput]
HRESULT _stdcall DefinedSize([in] ADO_LONGPTR pl);
[id(0x0000040c), propput]
HRESULT _stdcall Attributes([in] long pl);
};
[
odl,
uuid(00000569-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation
]
interface Field : Field20
{
[ id(0x0000045c),propget]
HRESULT _stdcall Status( [out, retval] long *pFStatus);
};
[
odl,
uuid(0000050C-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation
]
interface _Parameter : _ADO {
[id(0x60030000), propget]
HRESULT _stdcall Name([out, retval] BSTR* pbstr);
[id(0x60030000), propput]
HRESULT _stdcall Name([in] BSTR pbstr);
[id(00000000), propget]
HRESULT _stdcall Value([out, retval] VARIANT* pvar);
[id(00000000), propput]
HRESULT _stdcall Value([in] VARIANT pvar);
[id(0x60030004), propget]
HRESULT _stdcall Type([out, retval] DataTypeEnum* psDataType);
[id(0x60030004), propput]
HRESULT _stdcall Type([in] DataTypeEnum psDataType);
[id(0x60030006), propput]
HRESULT _stdcall Direction([in] ParameterDirectionEnum plParmDirection);
[id(0x60030006), propget]
HRESULT _stdcall Direction([out, retval] ParameterDirectionEnum* plParmDirection);
[id(0x60030008), propput]
HRESULT _stdcall Precision([in] unsigned char pbPrecision);
[id(0x60030008), propget]
HRESULT _stdcall Precision([out, retval] unsigned char* pbPrecision);
[id(0x6003000a), propput]
HRESULT _stdcall NumericScale([in] unsigned char pbScale);
[id(0x6003000a), propget]
HRESULT _stdcall NumericScale([out, retval] unsigned char* pbScale);
[id(0x6003000c), propput]
HRESULT _stdcall Size([in] ADO_LONGPTR pl);
[id(0x6003000c), propget]
HRESULT _stdcall Size([out, retval] ADO_LONGPTR* pl);
[id(0x6003000e)]
HRESULT _stdcall AppendChunk([in] VARIANT Val);
[id(0x6003000f), propget]
HRESULT _stdcall Attributes([out, retval] long* plParmAttribs);
[id(0x6003000f), propput]
HRESULT _stdcall Attributes([in] long plParmAttribs);
};
[
odl,
uuid(0000050D-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation
]
interface Parameters : _DynaCollection {
[id(00000000), propget]
HRESULT _stdcall Item(
[in] VARIANT Index,
[out, retval] _Parameter** ppvObject);
};
[
odl,
uuid(00000562-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation
]
interface _Record : _ADO
{
[id(1), propget]
HRESULT _stdcall ActiveConnection(
[out, retval] VARIANT *pvar);
[id(1), propput]
HRESULT _stdcall ActiveConnection(
[in] BSTR bstrConn);
[id(1), propputref]
HRESULT ActiveConnection(
[in] _Connection *Con);
[id(2), propget]
HRESULT _stdcall State(
[out, retval] ObjectStateEnum *pState);
[id(3), propget]
HRESULT _stdcall Source(
[out, retval] VARIANT *pvar);
[id(3), propput]
HRESULT _stdcall Source(
[in] BSTR Source);
[id(3), propputref]
HRESULT _stdcall Source(
[in] IDispatch *Source);
[id(4), propget]
HRESULT _stdcall Mode(
[out, retval] ConnectModeEnum *pMode);
[id(4), propput]
HRESULT _stdcall Mode(
[in] ConnectModeEnum Mode);
[id(5), propget]
HRESULT _stdcall ParentURL(
[out, retval] BSTR *pbstrParentURL);
[id(6)]
HRESULT _stdcall MoveRecord(
[in, defaultvalue("")] BSTR Source,
[in, defaultvalue("")] BSTR Destination,
[in, optional] BSTR UserName,
[in, optional] BSTR Password,
[in, defaultvalue(adMoveUnspecified)] MoveRecordOptionsEnum Options,
[in, optional] VARIANT_BOOL Async,
[out, retval] BSTR *pbstrNewURL);
[id(7)]
HRESULT _stdcall CopyRecord(
[in, defaultvalue("")] BSTR Source,
[in, defaultvalue("")] BSTR Destination,
[in, optional] BSTR UserName,
[in, optional] BSTR Password,
[in, defaultvalue(adCopyUnspecified)] CopyRecordOptionsEnum Options,
[in, optional] VARIANT_BOOL Async,
[out, retval] BSTR *pbstrNewURL);
[id(8)]
HRESULT _stdcall DeleteRecord(
[in] BSTR Source,
[in, optional] VARIANT_BOOL Async);
[id(9)]
HRESULT _stdcall Open(
[in, optional] VARIANT Source,
[in, optional] VARIANT ActiveConnection,
[in, optional] ConnectModeEnum Mode,
[in, defaultvalue(adFailIfNotExists)] RecordCreateOptionsEnum CreateOptions,
[in, defaultvalue(adOpenRecordUnspecified)] RecordOpenOptionsEnum Options,
[in, optional] BSTR UserName,
[in, optional] BSTR Password);
[id(10)]
HRESULT _stdcall Close();
[id(0), propget]
HRESULT _stdcall Fields(
[out, retval] Fields **ppFlds);
[id(11), propget]
HRESULT _stdcall RecordType(
[out, retval] RecordTypeEnum *pType);
[id(12)]
HRESULT _stdcall GetChildren(
[out, retval] _Recordset **ppRSet);
[id(13)]
HRESULT _stdcall Cancel();
};
[
odl,
uuid(00000565-0000-0010-8000-00AA006D2EA4),
dual,
nonextensible,
oleautomation
]
interface _Stream : IDispatch
{
[id(1), propget]
HRESULT _stdcall Size(
[out, retval] ADO_LONGPTR *pSize );
[id(2), propget]
HRESULT _stdcall EOS(
[out, retval] VARIANT_BOOL *pEOS );
[id(3), propget]
HRESULT _stdcall Position(
[out, retval] ADO_LONGPTR *pPos );
[id(3), propput]
HRESULT _stdcall Position(
[in] ADO_LONGPTR Position );
[id(4), propget]
HRESULT _stdcall Type(
[out, retval] StreamTypeEnum *pType );
[id(4), propput]
HRESULT _stdcall Type(
[in] StreamTypeEnum Type );
[id(5), propget]
HRESULT _stdcall LineSeparator(
[out, retval] LineSeparatorEnum *pLS );
[id(5), propput]
HRESULT _stdcall LineSeparator(
[in] LineSeparatorEnum LineSeparator );
[id(6), propget]
HRESULT _stdcall State(
[out, retval] ObjectStateEnum *pState );
[id(7), propget]
HRESULT _stdcall Mode(
[out, retval] ConnectModeEnum *pMode );
[id(7), propput]
HRESULT _stdcall Mode(
[in] ConnectModeEnum Mode );
[id(8), propget]
HRESULT Charset(
[out, retval] BSTR *pbstrCharset );
[id(8), propput]
HRESULT Charset(
[in] BSTR Charset );
[id(9)]
HRESULT _stdcall Read(
[in, defaultvalue(adReadAll)]long NumBytes,
[out, retval]VARIANT *pVal);
[id(10)]
HRESULT _stdcall Open(
[in, optional] VARIANT Source,
[in, defaultvalue(adModeUnknown)] ConnectModeEnum Mode,
[in, defaultvalue(adOpenStreamUnspecified)] StreamOpenOptionsEnum Options,
[in, optional] BSTR UserName,
[in, optional] BSTR Password);
[id(11)]
HRESULT _stdcall Close(void);
[id(12)]
HRESULT _stdcall SkipLine(void);
[id(13)]
HRESULT _stdcall Write(
[in]VARIANT Buffer);
[id(14)]
HRESULT _stdcall SetEOS(void);
[id(15)]
HRESULT _stdcall CopyTo(
[in]_Stream *DestStream,
[in, defaultvalue(-1)]ADO_LONGPTR CharNumber);
[id(16)]
HRESULT _stdcall Flush(void);
[id(17)]
HRESULT _stdcall SaveToFile(
[in] BSTR FileName,
[in, defaultvalue(adSaveCreateNotExist)] SaveOptionsEnum Options);
[id(18)]
HRESULT _stdcall LoadFromFile(
[in] BSTR FileName);
[id(19)]
HRESULT _stdcall ReadText(
[in, defaultvalue(adReadAll)] long NumChars,
[out, retval] BSTR *pbstr);
[id(20)]
HRESULT _stdcall WriteText(
[in] BSTR Data,
[in, defaultvalue(adWriteChar)] StreamWriteEnum Options);
[id(21)]
HRESULT _stdcall Cancel(void);
};
[
odl,
uuid(00000538-0000-0010-8000-00AA006D2EA4),
hidden
]
interface ADODebugging : IUnknown {
HRESULT _stdcall IsGlobalDebugMode(VARIANT_BOOL* pfDebuggingOn);
HRESULT _stdcall SetGlobalDebugMode(
IUnknown* pDebugger,
VARIANT_BOOL fDebuggingOn);
};
[
odl,
uuid(00000402-0000-0010-8000-00AA006D2EA4),
hidden
]
interface ConnectionEventsVt : IUnknown {
HRESULT _stdcall InfoMessage(
[in] Error* pError,
[in, out] EventStatusEnum* adStatus,
[in] _Connection* pConnection);
HRESULT _stdcall BeginTransComplete(
[in] long TransactionLevel,
[in] Error* pError,
[in, out] EventStatusEnum* adStatus,
[in] _Connection* pConnection);
HRESULT _stdcall CommitTransComplete(
[in] Error* pError,
[in, out] EventStatusEnum* adStatus,
[in] _Connection* pConnection);
HRESULT _stdcall RollbackTransComplete(
[in] Error* pError,
[in, out] EventStatusEnum* adStatus,
[in] _Connection* pConnection);
HRESULT _stdcall WillExecute(
[in, out] BSTR* Source,
[in, out] CursorTypeEnum* CursorType,
[in, out] LockTypeEnum* LockType,
[in, out] long* Options,
[in, out] EventStatusEnum* adStatus,
[in] _Command* pCommand,
[in] _Recordset* pRecordset,
[in] _Connection* pConnection);
HRESULT _stdcall ExecuteComplete(
[in] long RecordsAffected,
[in] Error* pError,
[in, out] EventStatusEnum* adStatus,
[in] _Command* pCommand,
[in] _Recordset* pRecordset,
[in] _Connection* pConnection);
HRESULT _stdcall WillConnect(
[in, out] BSTR* ConnectionString,
[in, out] BSTR* UserID,
[in, out] BSTR* Password,
[in, out] long* Options,
[in, out] EventStatusEnum* adStatus,
[in] _Connection* pConnection);
HRESULT _stdcall ConnectComplete(
[in] Error* pError,
[in, out] EventStatusEnum* adStatus,
[in] _Connection* pConnection);
HRESULT _stdcall Disconnect(
[in, out] EventStatusEnum* adStatus,
[in] _Connection* pConnection);
};
[
odl,
uuid(00000403-0000-0010-8000-00AA006D2EA4),
hidden
]
interface RecordsetEventsVt : IUnknown {
HRESULT _stdcall WillChangeField(
[in] long cFields,
[in] VARIANT Fields,
[in, out] EventStatusEnum* adStatus,
[in] _Recordset* pRecordset);
HRESULT _stdcall FieldChangeComplete(
[in] long cFields,
[in] VARIANT Fields,
[in] Error* pError,
[in, out] EventStatusEnum* adStatus,
[in] _Recordset* pRecordset);
HRESULT _stdcall WillChangeRecord(
[in] EventReasonEnum adReason,
[in] long cRecords,
[in, out] EventStatusEnum* adStatus,
[in] _Recordset* pRecordset);
HRESULT _stdcall RecordChangeComplete(
[in] EventReasonEnum adReason,
[in] long cRecords,
[in] Error* pError,
[in, out] EventStatusEnum* adStatus,
[in] _Recordset* pRecordset);
HRESULT _stdcall WillChangeRecordset(
[in] EventReasonEnum adReason,
[in, out] EventStatusEnum* adStatus,
[in] _Recordset* pRecordset);
HRESULT _stdcall RecordsetChangeComplete(
[in] EventReasonEnum adReason,
[in] Error* pError,
[in, out] EventStatusEnum* adStatus,
[in] _Recordset* pRecordset);
HRESULT _stdcall WillMove(
[in] EventReasonEnum adReason,
[in, out] EventStatusEnum* adStatus,
[in] _Recordset* pRecordset);
HRESULT _stdcall MoveComplete(
[in] EventReasonEnum adReason,
[in] Error* pError,
[in, out] EventStatusEnum* adStatus,
[in] _Recordset* pRecordset);
HRESULT _stdcall EndOfRecordset(
[in, out] VARIANT_BOOL* fMoreData,
[in, out] EventStatusEnum* adStatus,
[in] _Recordset* pRecordset);
HRESULT _stdcall FetchProgress(
[in] long Progress,
[in] long MaxProgress,
[in, out] EventStatusEnum* adStatus,
[in] _Recordset* pRecordset);
HRESULT _stdcall FetchComplete(
[in] Error* pError,
[in, out] EventStatusEnum* adStatus,
[in] _Recordset* pRecordset);
};
[
uuid(00000400-0000-0010-8000-00AA006D2EA4)
]
dispinterface ConnectionEvents {
properties:
methods:
[id(00000000)]
HRESULT InfoMessage(
[in] Error* pError,
[in, out] EventStatusEnum* adStatus,
[in] _Connection* pConnection);
[id(0x00000001)]
HRESULT BeginTransComplete(
[in] long TransactionLevel,
[in] Error* pError,
[in, out] EventStatusEnum* adStatus,
[in] _Connection* pConnection);
[id(0x00000003)]
HRESULT CommitTransComplete(
[in] Error* pError,
[in, out] EventStatusEnum* adStatus,
[in] _Connection* pConnection);
[id(0x00000002)]
HRESULT RollbackTransComplete(
[in] Error* pError,
[in, out] EventStatusEnum* adStatus,
[in] _Connection* pConnection);
[id(0x00000004)]
HRESULT WillExecute(
[in, out] BSTR* Source,
[in, out] CursorTypeEnum* CursorType,
[in, out] LockTypeEnum* LockType,
[in, out] long* Options,
[in, out] EventStatusEnum* adStatus,
[in] _Command* pCommand,
[in] _Recordset* pRecordset,
[in] _Connection* pConnection);
[id(0x00000005)]
HRESULT ExecuteComplete(
[in] long RecordsAffected,
[in] Error* pError,
[in, out] EventStatusEnum* adStatus,
[in] _Command* pCommand,
[in] _Recordset* pRecordset,
[in] _Connection* pConnection);
[id(0x00000006)]
HRESULT WillConnect(
[in, out] BSTR* ConnectionString,
[in, out] BSTR* UserID,
[in, out] BSTR* Password,
[in, out] long* Options,
[in, out] EventStatusEnum* adStatus,
[in] _Connection* pConnection);
[id(0x00000007)]
HRESULT ConnectComplete(
[in] Error* pError,
[in, out] EventStatusEnum* adStatus,
[in] _Connection* pConnection);
[id(0x00000008)]
HRESULT Disconnect(
[in, out] EventStatusEnum* adStatus,
[in] _Connection* pConnection);
};
[
uuid(00000266-0000-0010-8000-00AA006D2EA4)
]
dispinterface RecordsetEvents {
properties:
methods:
[id(0x00000009)]
HRESULT WillChangeField(
[in] long cFields,
[in] VARIANT Fields,
[in, out] EventStatusEnum* adStatus,
[in] _Recordset* pRecordset);
[id(0x0000000a)]
HRESULT FieldChangeComplete(
[in] long cFields,
[in] VARIANT Fields,
[in] Error* pError,
[in, out] EventStatusEnum* adStatus,
[in] _Recordset* pRecordset);
[id(0x0000000b)]
HRESULT WillChangeRecord(
[in] EventReasonEnum adReason,
[in] long cRecords,
[in, out] EventStatusEnum* adStatus,
[in] _Recordset* pRecordset);
[id(0x0000000c)]
HRESULT RecordChangeComplete(
[in] EventReasonEnum adReason,
[in] long cRecords,
[in] Error* pError,
[in, out] EventStatusEnum* adStatus,
[in] _Recordset* pRecordset);
[id(0x0000000d)]
HRESULT WillChangeRecordset(
[in] EventReasonEnum adReason,
[in, out] EventStatusEnum* adStatus,
[in] _Recordset* pRecordset);
[id(0x0000000e)]
HRESULT RecordsetChangeComplete(
[in] EventReasonEnum adReason,
[in] Error* pError,
[in, out] EventStatusEnum* adStatus,
[in] _Recordset* pRecordset);
[id(0x0000000f)]
HRESULT WillMove(
[in] EventReasonEnum adReason,
[in, out] EventStatusEnum* adStatus,
[in] _Recordset* pRecordset);
[id(0x00000010)]
HRESULT MoveComplete(
[in] EventReasonEnum adReason,
[in] Error* pError,
[in, out] EventStatusEnum* adStatus,
[in] _Recordset* pRecordset);
[id(0x00000011)]
HRESULT EndOfRecordset(
[in, out] VARIANT_BOOL* fMoreData,
[in, out] EventStatusEnum* adStatus,
[in] _Recordset* pRecordset);
[id(0x00000012)]
HRESULT FetchProgress(
[in] long Progress,
[in] long MaxProgress,
[in, out] EventStatusEnum* adStatus,
[in] _Recordset* pRecordset);
[id(0x00000013)]
HRESULT FetchComplete(
[in] Error* pError,
[in, out] EventStatusEnum* adStatus,
[in] _Recordset* pRecordset);
};
[
odl,
uuid(00000516-0000-0010-8000-00AA006D2EA4),
restricted
]
interface ADOConnectionConstruction15 : IUnknown {
[propget]
HRESULT _stdcall DSO([out, retval] IUnknown** ppDSO);
[propget]
HRESULT _stdcall Session([out, retval] IUnknown** ppSession);
HRESULT _stdcall WrapDSOandSession(
[in] IUnknown* pDSO,
[in] IUnknown* pSession);
};
[
odl,
uuid(00000551-0000-0010-8000-00AA006D2EA4),
restricted
]
interface ADOConnectionConstruction : ADOConnectionConstruction15 {
};
[
odl,
uuid(00000283-0000-0010-8000-00AA006D2EA4),
restricted
]
interface ADORecordsetConstruction : IDispatch {
[propget]
HRESULT _stdcall Rowset([out, retval] IUnknown** ppRowset);
[propput]
HRESULT _stdcall Rowset([in] IUnknown* ppRowset);
[propget]
HRESULT _stdcall Chapter([out, retval] ADO_LONGPTR* plChapter);
[propput]
HRESULT _stdcall Chapter([in] ADO_LONGPTR plChapter);
[propget]
HRESULT _stdcall RowPosition([out, retval] IUnknown** ppRowPos);
[propput]
HRESULT _stdcall RowPosition([in] IUnknown* ppRowPos);
};
[
odl,
uuid(00000517-0000-0010-8000-00AA006D2EA4),
restricted
]
interface ADOCommandConstruction : IUnknown {
[propget]
HRESULT _stdcall OLEDBCommand([out, retval] IUnknown** ppOLEDBCommand);
[propput]
HRESULT _stdcall OLEDBCommand([in] IUnknown* ppOLEDBCommand);
};
[
odl,
uuid(00000567-0000-0010-8000-00AA006D2EA4),
restricted
]
interface ADORecordConstruction : IDispatch {
[propget]
HRESULT _stdcall Row([out, retval] IUnknown **ppRow);
[propput]
HRESULT _stdcall Row([in] IUnknown *pRow);
[propput]
HRESULT _stdcall ParentRow([in] IUnknown *pRow);
};
[
odl,
uuid(00000568-0000-0010-8000-00AA006D2EA4),
restricted
]
interface ADOStreamConstruction : IDispatch
{
[propget]
HRESULT _stdcall Stream([out, retval] IUnknown **ppStm);
[propput]
HRESULT _stdcall Stream([in] IUnknown *pStm);
};
[
uuid(EF53050B-882E-4776-B643-EDA472E8E3F2),
version(2.7),
helpstring("Microsoft ActiveX Data Objects 2.7 Library")
]
library ADODB
{
// TLib : OLE Automation : {00020430-0000-0000-C000-000000000046}
importlib("stdole2.tlb");
[
uuid(00000514-0000-0010-8000-00AA006D2EA4),
licensed
]
coclass Connection {
[default] interface _Connection;
[default, source] dispinterface ConnectionEvents;
};
[
uuid(00000507-0000-0010-8000-00AA006D2EA4),
licensed
]
coclass Command {
[default] interface _Command;
};
[
uuid(00000535-0000-0010-8000-00AA006D2EA4),
licensed
]
coclass Recordset {
[default] interface _Recordset;
[default, source] dispinterface RecordsetEvents;
};
[
uuid(0000050B-0000-0010-8000-00AA006D2EA4),
licensed
]
coclass Parameter {
[default] interface _Parameter;
};
[
uuid(00000560-0000-0010-8000-00AA006D2EA4),
licensed
]
coclass Record {
[default] interface _Record;
};
[
uuid(00000566-0000-0010-8000-00AA006D2EA4),
licensed
]
coclass Stream {
[default] interface _Stream;
};
};