wine/include/msado15_backcompat.idl

2189 lines
51 KiB
Text
Raw Normal View History

/*
* Copyright 2019 Hans Leidekker for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
import "oaidl.idl";
interface _ADO;
interface _Collection;
interface _Command;
interface _Connection;
interface _DynaCollection;
interface _Parameter;
interface _Record;
interface _Recordset;
interface _Stream;
interface ADODebugging;
interface ADOConnectionConstruction;
interface ADOCommandConstruction;
interface ADORecordsetConstruction;
interface Command15;
interface Command25;
interface Error;
interface Errors;
interface Field;
interface Field15;
interface Field20;
interface Fields;
interface Fields15;
interface Fields20;
interface Parameters;
interface Properties;
interface Property;
interface Recordset15;
interface Recordset20;
interface Recordset21;
interface ConnectionEventsVt;
dispinterface ConnectionEvents;
dispinterface RecordsetEvents;
typedef [uuid(54D8B4B9-663B-4a9c-95F6-0E749ABD70F1)] LONG_PTR ADO_LONGPTR;
typedef [uuid(0000052A-0000-0010-8000-00AA006D2EA4)] enum ErrorValueEnum
{
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,
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,
adErrConnectionStringTooLong = 3754
} ErrorValueEnum;
typedef [uuid(00000528-0000-0010-8000-00aa006d2ea4)] enum PositionEnum
{
adPosUnknown = -1,
adPosBOF = -2,
adPosEOF = -3
} PositionEnum;
typedef [uuid(a56187c5-d690-4037-ae32-a00edc376ac3), public] ADO_LONGPTR PositionEnum_Param;
typedef [uuid(0000051f-0000-0010-8000-00aa006d2ea4)] enum DataTypeEnum
{
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(00000548-0000-0010-8000-00aa006d2ea4)] enum PersistFormatEnum
{
adPersistADTG = 0,
adPersistXML = 1
} PersistFormatEnum;
typedef [uuid(00000552-0000-0010-8000-00aa006d2ea4)] enum SeekEnum
{
adSeekFirstEQ = 1,
adSeekLastEQ = 2,
adSeekAfterEQ = 4,
adSeekAfter = 8,
adSeekBeforeEQ = 16,
adSeekBefore = 32
} SeekEnum;
typedef [uuid(0000051b-0000-0010-8000-00aa006d2ea4)] enum CursorTypeEnum
{
adOpenUnspecified = -1,
adOpenForwardOnly = 0,
adOpenKeyset = 1,
adOpenDynamic = 2,
adOpenStatic = 3
} CursorTypeEnum;
typedef [uuid(00000525-0000-0010-8000-00aa006d2ea4)] enum FieldAttributeEnum
{
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(00000544-0000-0010-8000-00aa006d2ea4)] enum ResyncEnum
{
adResyncUnderlyingValues = 1,
adResyncAllValues = 2
} ResyncEnum;
typedef [uuid(0000051d-0000-0010-8000-00aa006d2ea4)] enum LockTypeEnum
{
adLockUnspecified = -1,
adLockReadOnly = 1,
adLockPessimistic = 2,
adLockOptimistic = 3,
adLockBatchOptimistic = 4
} LockTypeEnum;
typedef [uuid(00000543-0000-0010-8000-00aa006d2ea4)] enum AffectEnum
{
adAffectCurrent = 1,
adAffectGroup = 2,
adAffectAll = 3,
adAffectAllChapters = 4
} AffectEnum;
typedef [uuid(00000526-0000-0010-8000-00aa006d2ea4)] enum EditModeEnum
{
adEditNone = 0,
adEditInProgress = 1,
adEditAdd = 2,
adEditDelete = 4
} EditModeEnum;
typedef [uuid(0000052f-0000-0010-8000-00aa006d2ea4)] enum CursorLocationEnum
{
adUseNone = 1,
adUseServer = 2,
adUseClient = 3,
adUseClientBatch = 3
} CursorLocationEnum;
typedef [uuid(0000051c-0000-0010-8000-00aa006d2ea4)] enum CursorOptionEnum
{
adHoldRecords = 256,
adMovePrevious = 512,
adBookmark = 8192,
adApproxPosition = 16384,
adUpdateBatch = 65536,
adResync = 131072,
adNotify = 262144,
adFind = 524288,
adSeek = 4194304,
adIndex = 8388608,
adAddNew = 16778240,
adDelete = 16779264,
adUpdate = 16809984
} CursorOptionEnum;
typedef [uuid(00000540-0000-0010-8000-00aa006d2ea4)] enum MarshalOptionsEnum
{
adMarshalAll = 0,
adMarshalModifiedOnly = 1
} MarshalOptionsEnum;
typedef [uuid(00000547-0000-0010-8000-00aa006d2ea4)] enum SearchDirectionEnum
{
adSearchForward = 1,
adSearchBackward = -1
} SearchDirectionEnum;
typedef [uuid(00000549-0000-0010-8000-00aa006d2ea4)] enum StringFormatEnum
{
adClipString = 2
} StringFormatEnum;
typedef [uuid(00000545-0000-0010-8000-00aa006d2ea4)] enum CompareEnum
{
adCompareLessThan = 0,
adCompareEqual = 1,
adCompareGreaterThan = 2,
adCompareNotEqual = 3,
adCompareNotComparable = 4
} CompareEnum;
typedef [uuid(00000523-0000-0010-8000-00aa006d2ea4)] enum IsolationLevelEnum
{
adXactUnspecified = -1,
adXactChaos = 16,
adXactReadUncommitted = 256,
adXactBrowse = 256,
adXactCursorStability = 4096,
adXactReadCommitted = 4096,
adXactRepeatableRead = 65536,
adXactSerializable = 1048576,
adXactIsolated = 1048576
} IsolationLevelEnum;
typedef [uuid(00000521-0000-0010-8000-00aa006d2ea4)] enum ConnectModeEnum
{
adModeUnknown = 0,
adModeRead = 1,
adModeWrite = 2,
adModeReadWrite = 3,
adModeShareDenyRead = 4,
adModeShareDenyWrite = 8,
adModeShareExclusive = 12,
adModeShareDenyNone = 16,
adModeRecursive = 4194304
} ConnectModeEnum;
typedef [uuid(00000533-0000-0010-8000-00aa006d2ea4)] enum SchemaEnum
{
adSchemaProviderSpecific = -1,
adSchemaAsserts = 0,
adSchemaCatalogs = 1,
adSchemaCharacterSets = 2,
adSchemaCollations = 3,
adSchemaColumns = 4,
adSchemaCheckConstraints = 5,
adSchemaConstraintColumnUsage = 6,
adSchemaConstraintTableUsage = 7,
adSchemaKeyColumnUsage = 8,
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(00000530-0000-0010-8000-00aa006d2ea4)] enum EventStatusEnum
{
adStatusOK = 1,
adStatusErrorsOccurred = 2,
adStatusCantDeny = 3,
adStatusCancel = 4,
adStatusUnwantedEvent = 5
} EventStatusEnum;
typedef [uuid(0000052c-0000-0010-8000-00aa006d2ea4)] enum ParameterDirectionEnum
{
adParamUnknown = 0,
adParamInput = 1,
adParamOutput = 2,
adParamInputOutput = 3,
adParamReturnValue = 4
} ParameterDirectionEnum;
typedef [uuid(0000052e-0000-0010-8000-00aa006d2ea4)] enum CommandTypeEnum
{
adCmdUnspecified = -1,
adCmdUnknown = 8,
adCmdText = 1,
adCmdTable = 2,
adCmdStoredProc = 4,
adCmdFile = 256,
adCmdTableDirect = 512
} CommandTypeEnum;
typedef [uuid(00000532-0000-0010-8000-00aa006d2ea4)] enum ObjectStateEnum
{
adStateClosed = 0,
adStateOpen = 1,
adStateConnecting = 2,
adStateExecuting = 4,
adStateFetching = 8
} ObjectStateEnum;
typedef [uuid(00000573-0000-0010-8000-00aa006d2ea4)] enum MoveRecordOptionsEnum
{
adMoveUnspecified = -1,
adMoveOverWrite = 1,
adMoveDontUpdateLinks = 2,
adMoveAllowEmulation = 4
} MoveRecordOptionsEnum;
typedef [uuid(00000574-0000-0010-8000-00aa006d2ea4)] enum CopyRecordOptionsEnum
{
adCopyUnspecified = -1,
adCopyOverWrite = 1,
adCopyAllowEmulation = 4,
adCopyNonRecursive = 2
} CopyRecordOptionsEnum;
typedef [uuid(00000570-0000-0010-8000-00aa006d2ea4)] enum RecordCreateOptionsEnum
{
adCreateCollection = (int) 0x00002000,
adCreateStructDoc = (int) 0x80000000,
adCreateNonCollection = (int) 0x00000000,
adOpenIfExists = (int) 0x02000000,
adCreateOverwrite = (int) 0x04000000,
adFailIfNotExists = (int) -1
} RecordCreateOptionsEnum;
typedef [uuid(00000571-0000-0010-8000-00aa006d2ea4)] enum RecordOpenOptionsEnum
{
adOpenRecordUnspecified = -1,
adOpenOutput = 0x00800000,
adOpenAsync = 0x00001000,
adDelayFetchStream = 0x00004000,
adDelayFetchFields = 0x00008000,
adOpenExecuteCommand = 0x00010000
} RecordOpenOptionsEnum;
typedef [uuid(0000057d-0000-0010-8000-00aa006d2ea4)] enum RecordTypeEnum
{
adSimpleRecord = 0,
adCollectionRecord = 1,
adStructDoc = 2
} RecordTypeEnum;
typedef [uuid(00000576-0000-0010-8000-00aa006d2ea4)] enum StreamTypeEnum
{
adTypeBinary = 1,
adTypeText = 2
} StreamTypeEnum;
typedef [uuid(00000577-0000-0010-8000-00aa006d2ea4)] enum LineSeparatorEnum
{
adLF = 10,
adCR = 13,
adCRLF = -1
} LineSeparatorEnum;
typedef enum
{
adReadAll = -1,
adReadLine = -2
} StreamReadEnum;
typedef [uuid(0000057c-0000-0010-8000-00aa006d2ea4)] enum SaveOptionsEnum
{
adSaveCreateNotExist = 1,
adSaveCreateOverWrite = 2
} SaveOptionsEnum;
typedef [uuid(0000057a-0000-0010-8000-00aa006d2ea4)] enum StreamOpenOptionsEnum
{
adOpenStreamUnspecified = -1,
adOpenStreamAsync = 1,
adOpenStreamFromRecord = 4
} StreamOpenOptionsEnum;
typedef [uuid(0000057b-0000-0010-8000-00aa006d2ea4)] enum StreamWriteEnum
{
adWriteChar = 0,
adWriteLine = 1
} StreamWriteEnum;
typedef [uuid(00000531-0000-0010-8000-00aa006d2ea4)] enum EventReasonEnum
{
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(0000051e-0000-0010-8000-00aa006d2ea4)] enum ExecuteOptionEnum
{
adOptionUnspecified = -1,
adAsyncExecute = 16,
adAsyncFetch = 32,
adAsyncFetchNonBlocking = 64,
adExecuteNoRecords = 128,
adExecuteStream = 1024,
[hidden] adExecuteRecord = 2048
} ExecuteOptionEnum;
typedef [uuid(00000541-0000-0010-8000-00aa006d2ea4)] enum ConnectOptionEnum
{
adConnectUnspecified = -1,
adAsyncConnect = 0x10
} ConnectOptionEnum;
[
uuid(00000503-0000-0010-8000-00aa006d2ea4),
odl,
dual,
nonextensible,
oleautomation
]
interface Property : IDispatch
{
[id(00000000), propget]
HRESULT Value(
[out, retval] VARIANT *val);
[id(00000000), propput]
HRESULT Value(
[in] VARIANT val);
[id(0x60020002), propget]
HRESULT Name(
[out, retval] BSTR *str);
[id(0x60020003), propget]
HRESULT Type(
[out, retval] DataTypeEnum *type);
[id(0x60020004), propget]
HRESULT Attributes(
[out, retval] LONG *attributes);
[id(0x60020004), propput]
HRESULT Attributes(
[in] LONG attributes);
};
[
uuid(00000512-0000-0010-8000-00aa006d2ea4),
odl,
dual,
nonextensible,
oleautomation
]
interface _Collection : IDispatch
{
[id(0x60020000), propget]
HRESULT Count(
[out, retval] LONG *count);
[id(0xfffffffc), restricted]
HRESULT _NewEnum(
[out, retval] IUnknown **object);
[id(0x60020002)]
HRESULT Refresh();
};
[
uuid(00000504-0000-0010-8000-00aa006d2ea4),
odl,
dual,
nonextensible,
oleautomation
]
interface Properties : _Collection
{
[id(00000000), propget]
HRESULT Item(
[in] VARIANT index,
[out, retval] Property **object);
};
[
uuid(00000534-0000-0010-8000-00aa006d2ea4),
odl,
dual,
nonextensible,
oleautomation
]
interface _ADO : IDispatch
{
[id(0x000001f4), propget]
HRESULT Properties(
[out, retval] Properties **object);
};
[
uuid(0000054c-0000-0010-8000-00aa006d2ea4),
odl,
dual,
nonextensible,
oleautomation,
hidden
]
interface Field20 : _ADO
{
[id(0x00000455), propget]
HRESULT ActualSize(
[out, retval] ADO_LONGPTR *size);
[id(0x0000040c), propget]
HRESULT Attributes(
[out, retval] LONG *attrs);
[id(0x0000044f), propget]
HRESULT DefinedSize(
[out, retval] ADO_LONGPTR *size);
[id(0x0000044c), propget]
HRESULT Name(
[out, retval] BSTR *str);
[id(0x0000044e), propget]
HRESULT Type(
[out, retval] DataTypeEnum *type);
[id(00000000), propget]
HRESULT Value(
[out, retval] VARIANT *val);
[id(00000000), propput]
HRESULT Value(
[in] VARIANT val);
[id(0x60030007), propget]
HRESULT Precision(
[out, retval] unsigned char *precision);
[id(0x60030008), propget]
HRESULT NumericScale(
[out, retval] unsigned char *scale);
[id(0x00000453)]
HRESULT AppendChunk(
[in] VARIANT data);
[id(0x00000454)]
HRESULT GetChunk(
[in] LONG length,
[out, retval] VARIANT *var);
[id(0x00000450), propget]
HRESULT OriginalValue(
[out, retval] VARIANT *val);
[id(0x00000451), propget]
HRESULT UnderlyingValue(
[out, retval] VARIANT *val);
[id(0x6003000d), propget]
HRESULT DataFormat(
[out, retval] IUnknown **format);
[id(0x6003000d), propputref]
HRESULT DataFormat(
[in] IUnknown *format);
[id(0x60030007), propput]
HRESULT Precision(
[in] unsigned char precision);
[id(0x60030008), propput]
HRESULT NumericScale(
[in] unsigned char scale);
[id(0x0000044e), propput]
HRESULT Type(
[in] DataTypeEnum type);
[id(0x0000044f), propput]
HRESULT DefinedSize(
[in] ADO_LONGPTR size);
[id(0x0000040c), propput]
HRESULT Attributes(
[in] LONG attrs);
};
[
uuid(00000569-0000-0010-8000-00aa006d2ea4),
odl,
dual,
nonextensible,
oleautomation
]
interface Field : Field20
{
[id(0x0000045c), propget]
HRESULT Status(
[out, retval] LONG *status);
};
[
uuid(00000506-0000-0010-8000-00aa006d2ea4),
odl,
dual,
nonextensible,
oleautomation
]
interface Fields15 : _Collection
{
[id(00000000), propget]
HRESULT Item(
[in] VARIANT index,
[out, retval] Field **object);
};
[
uuid(0000054d-0000-0010-8000-00aa006d2ea4),
odl,
dual,
nonextensible,
oleautomation
]
interface Fields20 : Fields15
{
[id(0x60030001)]
HRESULT _Append(
[in] BSTR name,
[in] DataTypeEnum type,
[in, defaultvalue(0)] ADO_LONGPTR size,
[in, defaultvalue(adFldUnspecified)] FieldAttributeEnum attr);
[id(0x60030002)]
HRESULT Delete(
[in] VARIANT index);
};
[
uuid(00000564-0000-0010-8000-00aa006d2ea4),
odl,
dual,
nonextensible,
oleautomation
]
interface Fields : Fields20
{
[id(0x60040001)]
HRESULT Append(
[in] BSTR name,
[in] DataTypeEnum type,
[in, defaultvalue(0)] ADO_LONGPTR size,
[in, defaultvalue(adFldUnspecified)] FieldAttributeEnum attr,
[in, optional] VARIANT value);
[id(0x60040002)]
HRESULT Update();
[id(0x60040003)]
HRESULT Resync(
[in, defaultvalue(adResyncAllValues)] ResyncEnum resync_values);
[id(0x60040004)]
HRESULT CancelUpdate();
};
[
uuid(0000050e-0000-0010-8000-00aa006d2ea4),
odl,
dual,
nonextensible,
oleautomation
]
interface Recordset15 : _ADO
{
[id(0x000003e8), propget]
HRESULT AbsolutePosition(
[out, retval] PositionEnum_Param *position);
[id(0x000003e8), propput]
HRESULT AbsolutePosition(
[in] PositionEnum_Param position);
[id(0x000003e9), propputref]
HRESULT ActiveConnection(
[in] IDispatch *connection);
[id(0x000003e9), propput]
HRESULT ActiveConnection(
[in] VARIANT connection);
[id(0x000003e9), propget]
HRESULT ActiveConnection(
[out, retval] VARIANT *connection);
[id(0x000003ea), propget]
HRESULT BOF(
[out, retval] VARIANT_BOOL *bof);
[id(0x000003eb), propget]
HRESULT Bookmark(
[out, retval] VARIANT *bookmark);
[id(0x000003eb), propput]
HRESULT Bookmark(
[in] VARIANT bookmark);
[id(0x000003ec), propget]
HRESULT CacheSize(
[out, retval] LONG *size);
[id(0x000003ec), propput]
HRESULT CacheSize(
[in] LONG size);
[id(0x000003ed), propget]
HRESULT CursorType(
[out, retval] CursorTypeEnum *cursor_type);
[id(0x000003ed), propput]
HRESULT CursorType(
[in] CursorTypeEnum cursor_type);
[id(0x000003ee), propget]
HRESULT EOF(
[out, retval] VARIANT_BOOL *eof);
[id(00000000), propget]
HRESULT Fields(
[out, retval] Fields **object);
[id(0x000003f0), propget]
HRESULT LockType(
[out, retval] LockTypeEnum *lock_type);
[id(0x000003f0), propput]
HRESULT LockType(
[in] LockTypeEnum lock_type);
[id(0x000003f1), propget]
HRESULT MaxRecords(
[out, retval] ADO_LONGPTR *max_records);
[id(0x000003f1), propput]
HRESULT MaxRecords(
[in] ADO_LONGPTR max_records);
[id(0x000003f2), propget]
HRESULT RecordCount(
[out, retval] ADO_LONGPTR *count);
[id(0x000003f3), propputref]
HRESULT Source(
[in] IDispatch *source);
[id(0x000003f3), propput]
HRESULT Source(
[in] BSTR source);
[id(0x000003f3), propget]
HRESULT Source(
[out, retval] VARIANT *source);
[id(0x000003f4)]
HRESULT AddNew(
[in, optional] VARIANT field_list,
[in, optional] VARIANT values);
[id(0x000003f5)]
HRESULT CancelUpdate();
[id(0x000003f6)]
HRESULT Close();
[id(0x000003f7)]
HRESULT Delete(
[in, defaultvalue(adAffectCurrent)] AffectEnum affect_records);
[id(0x000003f8)]
HRESULT GetRows(
[in, defaultvalue(-1)] LONG rows,
[in, optional] VARIANT start,
[in, optional] VARIANT fields,
[out, retval] VARIANT *var);
[id(0x000003f9)]
HRESULT Move(
[in] ADO_LONGPTR num_records,
[in, optional] VARIANT start);
[id(0x000003fa)]
HRESULT MoveNext();
[id(0x000003fb)]
HRESULT MovePrevious();
[id(0x000003fc)]
HRESULT MoveFirst();
[id(0x000003fd)]
HRESULT MoveLast();
[id(0x000003fe)]
HRESULT Open(
[in, optional] VARIANT source,
[in, optional] VARIANT active_connection,
[in, defaultvalue(adOpenUnspecified)] CursorTypeEnum cursor_type,
[in, defaultvalue(adLockUnspecified)] LockTypeEnum lock_type,
[in, defaultvalue(-1)] LONG options);
[id(0x000003ff)]
HRESULT Requery(
[in, defaultvalue(-1)] LONG options);
[id(0x60030022), hidden]
HRESULT _xResync(
[in, defaultvalue(adAffectAll)] AffectEnum affect_records);
[id(0x00000401)]
HRESULT Update(
[in, optional] VARIANT fields,
[in, optional] VARIANT values);
[id(0x00000417), propget]
HRESULT AbsolutePage(
[out, retval] PositionEnum_Param *position);
[id(0x00000417), propput]
HRESULT AbsolutePage(
[in] PositionEnum_Param position);
[id(0x00000402), propget]
HRESULT EditMode(
[out, retval] EditModeEnum *mode);
[id(0x00000406), propget]
HRESULT Filter(
[out, retval] VARIANT *criteria);
[id(0x00000406), propput]
HRESULT Filter(
[in] VARIANT criteria);
[id(0x0000041a), propget]
HRESULT PageCount(
[out, retval] ADO_LONGPTR *count);
[id(0x00000418), propget]
HRESULT PageSize(
[out, retval] LONG *size);
[id(0x00000418), propput]
HRESULT PageSize(
[in] LONG size);
[id(0x00000407), propget]
HRESULT Sort(
[out, retval] BSTR *criteria);
[id(0x00000407), propput]
HRESULT Sort(
[in] BSTR criteria);
[id(0x00000405), propget]
HRESULT Status(
[out, retval] LONG *status);
[id(0x0000041e), propget]
HRESULT State(
[out, retval] LONG *state);
[id(0x60030030), hidden]
HRESULT _xClone(
[out, retval] _Recordset **object);
[id(0x0000040b)]
HRESULT UpdateBatch(
[in, defaultvalue(adAffectAll)] AffectEnum affect_records);
[id(0x00000419)]
HRESULT CancelBatch(
[in, defaultvalue(adAffectAll)] AffectEnum affect_records);
[id(0x0000041b), propget]
HRESULT CursorLocation(
[out, retval] CursorLocationEnum *cursor_loc);
[id(0x0000041b), propput]
HRESULT CursorLocation(
[in] CursorLocationEnum cursor_loc);
[id(0x0000041c)]
HRESULT NextRecordset(
[out, optional] VARIANT *records_affected,
[out, retval] _Recordset **record_set);
[id(0x0000040c)]
HRESULT Supports(
[in] CursorOptionEnum cursor_options,
[out, retval] VARIANT_BOOL *ret);
[id(0xfffffff8), propget, hidden]
HRESULT Collect(
[in] VARIANT index,
[out, retval] VARIANT *var);
[id(0xfffffff8), propput, hidden]
HRESULT Collect(
[in] VARIANT index,
[in] VARIANT var);
[id(0x0000041d), propget]
HRESULT MarshalOptions(
[out, retval] MarshalOptionsEnum *options);
[id(0x0000041d), propput]
HRESULT MarshalOptions(
[in] MarshalOptionsEnum options);
[id(0x00000422)]
HRESULT Find(
[in] BSTR criteria,
[in, defaultvalue(0)] LONG skip_records,
[in, defaultvalue(adSearchForward)] SearchDirectionEnum search_direction,
[in, optional] VARIANT start);
};
[
uuid(0000054f-0000-0010-8000-00aa006d2ea4),
odl,
dual,
nonextensible,
oleautomation
]
interface Recordset20 : Recordset15
{
[id(0x0000041f)]
HRESULT Cancel();
[id(0x00000420), propget]
HRESULT DataSource(
[out, retval] IUnknown **data_source);
[id(0x00000420), propputref]
HRESULT DataSource(
[in] IUnknown *data_source);
[hidden]
HRESULT _xSave(
[in, optional] BSTR filename,
[in, defaultvalue(adPersistADTG)] PersistFormatEnum persist_format);
[id(0x00000425), propget]
HRESULT ActiveCommand(
[out, retval] IDispatch **cmd);
[id(0x00000427), propput]
HRESULT StayInSync(
[in] VARIANT_BOOL stay_in_sync);
[id(0x00000427), propget]
HRESULT StayInSync(
[out, retval] VARIANT_BOOL *stay_in_sync);
[id(0x00000426)]
HRESULT GetString(
[in, defaultvalue(adClipString)] StringFormatEnum string_format,
[in, defaultvalue(-1)] LONG num_rows,
[in, optional] BSTR column_delimiter,
[in, optional] BSTR row_delimiter,
[in, optional] BSTR null_expr,
[out, retval] BSTR *ret_string);
[id(0x00000428), propget]
HRESULT DataMember(
[out, retval] BSTR *data_member);
[id(0x00000428), propput]
HRESULT DataMember(
[in] BSTR data_member);
[id(0x00000429)]
HRESULT CompareBookmarks(
[in] VARIANT bookmark1,
[in] VARIANT bookmark2,
[out, retval] CompareEnum *compare);
[id(0x0000040a)]
HRESULT Clone(
[in, defaultvalue(adLockUnspecified)] LockTypeEnum lock_type,
[out, retval] _Recordset **object);
[id(0x00000400)]
HRESULT Resync(
[in, defaultvalue(adAffectAll)] AffectEnum affect_records,
[in, defaultvalue(adResyncAllValues)] ResyncEnum resync_values);
};
[
uuid(00000555-0000-0010-8000-00aa006d2ea4),
odl,
dual,
nonextensible,
oleautomation
]
interface Recordset21 : Recordset20
{
[id(0x0000042a)]
HRESULT Seek(
[in] VARIANT key_values,
[in, defaultvalue(adSeekFirstEQ)] SeekEnum seek_option);
[id(0x0000042b), propput]
HRESULT Index(
[in] BSTR index);
[id(0x0000042b), propget]
HRESULT Index(
[out, retval] BSTR *index);
};
[
uuid(00000556-0000-0010-8000-00aa006d2ea4),
odl,
dual,
nonextensible,
oleautomation
]
interface _Recordset : Recordset21
{
[id(0x00000421)]
HRESULT Save(
[in, optional] VARIANT destination,
[in, defaultvalue(adPersistADTG)] PersistFormatEnum persist_format);
};
[
uuid(00000500-0000-0010-8000-00aa006d2ea4),
odl,
dual,
nonextensible,
oleautomation
]
interface Error : IDispatch
{
[id(0x60020000), propget]
HRESULT Number(
[out, retval] LONG *number);
[id(0x60020001), propget]
HRESULT Source(
[out, retval] BSTR *str);
[id(00000000), propget]
HRESULT Description(
[out, retval] BSTR *str);
[id(0x60020003), propget]
HRESULT HelpFile(
[out, retval] BSTR *str);
[id(0x60020004), propget]
HRESULT HelpContext(
[out, retval] LONG *ctx);
[id(0x60020005), propget]
HRESULT SQLState(
[out, retval] BSTR *str);
[id(0x60020006), propget]
HRESULT NativeError(
[out, retval] LONG *error);
};
[
uuid(00000501-0000-0010-8000-00aa006d2ea4),
odl,
dual,
nonextensible,
oleautomation
]
interface Errors : _Collection
{
[id(00000000), propget]
HRESULT Item(
[in] VARIANT index,
[out, retval] Error **object);
[id(0x60030001)]
HRESULT Clear();
};
[
uuid(00000515-0000-0010-8000-00aa006d2ea4),
odl,
dual,
oleautomation
]
interface Connection15 : _ADO
{
[id(00000000), propget]
HRESULT ConnectionString(
[out, retval] BSTR *str);
[id(00000000), propput]
HRESULT ConnectionString(
[in] BSTR str);
[id(0x00000002), propget]
HRESULT CommandTimeout(
[out, retval] LONG *timeout);
[id(0x00000002), propput]
HRESULT CommandTimeout(
[in] LONG timeout);
[id(0x00000003), propget]
HRESULT ConnectionTimeout(
[out, retval] LONG *timeout);
[id(0x00000003), propput]
HRESULT ConnectionTimeout(
[in] LONG timeout);
[id(0x00000004), propget]
HRESULT Version(
[out, retval] BSTR *str);
[id(0x00000005)]
HRESULT Close();
[id(0x00000006)]
HRESULT Execute(
[in] BSTR command,
[out, optional] VARIANT *records_affected,
[in, defaultvalue(-1)] LONG options,
[out, retval] _Recordset **record_set);
[id(0x00000007)]
HRESULT BeginTrans(
[out, retval] LONG *transaction_level);
[id(0x00000008)]
HRESULT CommitTrans();
[id(0x00000009)]
HRESULT RollbackTrans();
[id(0x0000000a)]
HRESULT Open(
[in, defaultvalue("")] BSTR connection_str,
[in, defaultvalue("")] BSTR user_id,
[in, defaultvalue("")] BSTR password,
[in, defaultvalue(-1)] LONG options);
[id(0x0000000b), propget]
HRESULT Errors(
[out, retval] Errors **object);
[id(0x0000000c), propget]
HRESULT DefaultDatabase(
[out, retval] BSTR *str);
[id(0x0000000c), propput]
HRESULT DefaultDatabase(
[in] BSTR str);
[id(0x0000000d), propget]
HRESULT IsolationLevel(
[out, retval] IsolationLevelEnum *level);
[id(0x0000000d), propput]
HRESULT IsolationLevel(
[in] IsolationLevelEnum level);
[id(0x0000000e), propget]
HRESULT Attributes(
[out, retval] LONG *attr);
[id(0x0000000e), propput]
HRESULT Attributes(
[in] LONG attr);
[id(0x0000000f), propget]
HRESULT CursorLocation(
[out, retval] CursorLocationEnum *cursor_loc);
[id(0x0000000f), propput]
HRESULT CursorLocation(
[in] CursorLocationEnum cursor_loc);
[id(0x00000010), propget]
HRESULT Mode(
[out, retval] ConnectModeEnum *mode);
[id(0x00000010), propput]
HRESULT Mode(
[in] ConnectModeEnum mode);
[id(0x00000011), propget]
HRESULT Provider(
[out, retval] BSTR *str);
[id(0x00000011), propput]
HRESULT Provider(
[in] BSTR str);
[id(0x00000012), propget]
HRESULT State(
[out, retval] LONG *state);
[id(0x00000013)]
HRESULT OpenSchema(
[in] SchemaEnum schema,
[in, optional] VARIANT restrictions,
[in, optional] VARIANT schema_id,
[out, retval] _Recordset **record_set);
};
[
uuid(00000550-0000-0010-8000-00aa006d2ea4),
odl,
dual,
oleautomation
]
interface _Connection : Connection15
{
[id(0x00000015)]
HRESULT Cancel();
};
[
uuid(0000050c-0000-0010-8000-00aa006d2ea4),
odl,
dual,
nonextensible,
oleautomation
]
interface _Parameter : _ADO
{
[id(0x60030000), propget]
HRESULT Name(
[out, retval] BSTR *str);
[id(0x60030000), propput]
HRESULT Name(
[in] BSTR str);
[id(00000000), propget]
HRESULT Value(
[out, retval] VARIANT *val);
[id(00000000), propput]
HRESULT Value(
[in] VARIANT val);
[id(0x60030004), propget]
HRESULT Type(
[out, retval] DataTypeEnum *data_type);
[id(0x60030004), propput]
HRESULT Type(
[in] DataTypeEnum data_type);
[id(0x60030006), propput]
HRESULT Direction(
[in] ParameterDirectionEnum direction);
[id(0x60030006), propget]
HRESULT Direction(
[out, retval] ParameterDirectionEnum *direction);
[id(0x60030008), propput]
HRESULT Precision(
[in] unsigned char precision);
[id(0x60030008), propget]
HRESULT Precision(
[out, retval] unsigned char *precision);
[id(0x6003000a), propput]
HRESULT NumericScale(
[in] unsigned char scale);
[id(0x6003000a), propget]
HRESULT NumericScale(
[out, retval] unsigned char *scale);
[id(0x6003000c), propput]
HRESULT Size(
[in] ADO_LONGPTR size);
[id(0x6003000c), propget]
HRESULT Size(
[out, retval] ADO_LONGPTR *size);
[id(0x6003000e)]
HRESULT AppendChunk(
[in] VARIANT val);
[id(0x6003000f), propget]
HRESULT Attributes(
[out, retval] LONG *attrs);
[id(0x6003000f), propput]
HRESULT Attributes(
[in] LONG attrs);
};
[
uuid(00000513-0000-0010-8000-00aa006d2ea4),
odl,
dual,
nonextensible,
oleautomation
]
interface _DynaCollection : _Collection
{
[id(0x60030000)]
HRESULT Append(
[in] IDispatch *object);
[id(0x60030001)]
HRESULT Delete(
[in] VARIANT index);
};
[
uuid(0000050d-0000-0010-8000-00aa006d2ea4),
odl,
dual,
nonextensible,
oleautomation
]
interface Parameters : _DynaCollection
{
[id(00000000), propget]
HRESULT Item(
[in] VARIANT index,
[out, retval] _Parameter **object);
};
[
uuid(00000508-0000-0010-8000-00aa006d2ea4),
odl,
dual,
nonextensible,
oleautomation
]
interface Command15 : _ADO
{
[id(0x60030000), propget]
HRESULT ActiveConnection(
[out, retval] _Connection **object);
[id(0x60030000), propputref]
HRESULT ActiveConnection(
[in] _Connection *object);
[id(0x60030000), propput]
HRESULT ActiveConnection(
[in] VARIANT object);
[id(0x60030003), propget]
HRESULT CommandText(
[out, retval] BSTR *str);
[id(0x60030003), propput]
HRESULT CommandText(
[in] BSTR str);
[id(0x60030005), propget]
HRESULT CommandTimeout(
[out, retval] LONG *timeout);
[id(0x60030005), propput]
HRESULT CommandTimeout(
[in] LONG timeout);
[id(0x60030007), propget]
HRESULT Prepared(
[out, retval] VARIANT_BOOL *prepared);
[id(0x60030007), propput]
HRESULT Prepared(
[in] VARIANT_BOOL prepared);
[id(0x60030009)]
HRESULT Execute(
[out, optional] VARIANT *records_affected,
[in, optional] VARIANT *parameters,
[in, defaultvalue(-1)] LONG options,
[out, retval] _Recordset **record_set);
[id(0x6003000a)]
HRESULT 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 **parameter);
[id(00000000), propget]
HRESULT Parameters(
[out, retval] Parameters **object);
[id(0x6003000c), propput]
HRESULT CommandType(
[in] CommandTypeEnum cmd_type);
[id(0x6003000c), propget]
HRESULT CommandType(
[out, retval] CommandTypeEnum *cmd_type);
[id(0x6003000e), propget]
HRESULT Name(
[out, retval] BSTR *name);
[id(0x6003000e), propput]
HRESULT Name(
[in] BSTR name);
};
[
uuid(0000054e-0000-0010-8000-00aa006d2ea4),
odl,
dual,
nonextensible,
oleautomation
]
interface Command25 : Command15
{
[id(0x60030010), propget]
HRESULT State(
[out, retval] LONG *state);
[id(0x60030011)]
HRESULT Cancel();
};
[
uuid(b08400bd-f9d1-4d02-b856-71d5dba123e9),
odl,
dual,
nonextensible,
oleautomation
]
interface _Command : Command25
{
[id(0x60030012), propputref]
HRESULT CommandStream(
[in] IUnknown *stream);
[id(0x60030012), propget]
HRESULT CommandStream(
[out, retval] VARIANT *stream);
[id(0x60030013), propput]
HRESULT Dialect(
[in] BSTR dialect);
[id(0x60030013), propget]
HRESULT Dialect(
[out, retval] BSTR *dialect);
[id(0x60030014), propput]
HRESULT NamedParameters(
[in] VARIANT_BOOL named_parameters);
[id(0x60030014), propget]
HRESULT NamedParameters(
[out, retval] VARIANT_BOOL *named_parameters);
};
[
uuid(00000402-0000-0010-8000-00aa006d2ea4),
odl,
hidden
]
interface ConnectionEventsVt : IUnknown
{
HRESULT InfoMessage(
[in] Error *error,
[in, out] EventStatusEnum *status,
[in] _Connection *connection);
HRESULT BeginTransComplete(
[in] LONG TransactionLevel,
[in] Error *error,
[in, out] EventStatusEnum *status,
[in] _Connection *connection);
HRESULT CommitTransComplete(
[in] Error *error,
[in, out] EventStatusEnum *status,
[in] _Connection *connection);
HRESULT RollbackTransComplete(
[in] Error *error,
[in, out] EventStatusEnum *status,
[in] _Connection *connection);
HRESULT WillExecute(
[in, out] BSTR *source,
[in, out] CursorTypeEnum *cursor_type,
[in, out] LockTypeEnum *lock_type,
[in, out] LONG *options,
[in, out] EventStatusEnum *status,
[in] _Command *command,
[in] _Recordset *record_set,
[in] _Connection *connection);
HRESULT ExecuteComplete(
[in] LONG records_affected,
[in] Error *error,
[in, out] EventStatusEnum *status,
[in] _Command *command,
[in] _Recordset *record_set,
[in] _Connection *connection);
HRESULT WillConnect(
[in, out] BSTR *string,
[in, out] BSTR *userid,
[in, out] BSTR *password,
[in, out] LONG *options,
[in, out] EventStatusEnum *status,
[in] _Connection *connection);
HRESULT ConnectComplete(
[in] Error *error,
[in, out] EventStatusEnum *status,
[in] _Connection *connection);
HRESULT Disconnect(
[in, out] EventStatusEnum *status,
[in] _Connection *connection);
};
[
uuid(00000400-0000-0010-8000-00aa006d2ea4)
]
dispinterface ConnectionEvents
{
properties:
methods:
[id(00000000)]
HRESULT InfoMessage(
[in] Error *error,
[in, out] EventStatusEnum *status,
[in] _Connection *Connection);
[id(0x00000001)]
HRESULT BeginTransComplete(
[in] LONG TransactionLevel,
[in] Error *error,
[in, out] EventStatusEnum *status,
[in] _Connection *connection);
[id(0x00000003)]
HRESULT CommitTransComplete(
[in] Error *error,
[in, out] EventStatusEnum *status,
[in] _Connection *connection);
[id(0x00000002)]
HRESULT RollbackTransComplete(
[in] Error *error,
[in, out] EventStatusEnum *status,
[in] _Connection *connection);
[id(0x00000004)]
HRESULT WillExecute(
[in, out] BSTR *source,
[in, out] CursorTypeEnum *cursor_type,
[in, out] LockTypeEnum *lock_type,
[in, out] LONG *options,
[in, out] EventStatusEnum *status,
[in] _Command *command,
[in] _Recordset *record_set,
[in] _Connection *connection);
[id(0x00000005)]
HRESULT ExecuteComplete(
[in] LONG records_affected,
[in] Error *error,
[in, out] EventStatusEnum *status,
[in] _Command *command,
[in] _Recordset *record_set,
[in] _Connection *connection);
[id(0x00000006)]
HRESULT WillConnect(
[in, out] BSTR *string,
[in, out] BSTR *userid,
[in, out] BSTR *password,
[in, out] LONG *options,
[in, out] EventStatusEnum *status,
[in] _Connection *connection);
[id(0x00000007)]
HRESULT ConnectComplete(
[in] Error *error,
[in, out] EventStatusEnum *status,
[in] _Connection *connection);
[id(0x00000008)]
HRESULT Disconnect(
[in, out] EventStatusEnum *status,
[in] _Connection *connection);
};
[
uuid(00000562-0000-0010-8000-00aa006d2ea4),
odl,
dual,
nonextensible,
oleautomation
]
interface _Record : _ADO
{
[id(1), propget]
HRESULT ActiveConnection(
[out, retval] VARIANT *connection);
[id(1), propput]
HRESULT ActiveConnection(
[in] BSTR connection);
[id(1), propputref]
HRESULT ActiveConnection(
[in] _Connection *connection);
[id(2), propget]
HRESULT State(
[out, retval] ObjectStateEnum *state);
[id(3), propget]
HRESULT Source(
[out, retval] VARIANT *source);
[id(3), propput]
HRESULT Source(
[in] BSTR source);
[id(3), propputref]
HRESULT Source(
[in] IDispatch *source);
[id(4), propget]
HRESULT Mode(
[out, retval] ConnectModeEnum *mode);
[id(4), propput]
HRESULT Mode(
[in] ConnectModeEnum mode);
[id(5), propget]
HRESULT ParentURL(
[out, retval] BSTR *parent_URL);
[id(6)]
HRESULT 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 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 *new_URL);
[id(8)]
HRESULT DeleteRecord(
[in] BSTR source,
[in, optional] VARIANT_BOOL async);
[id(9)]
HRESULT Open(
[in, optional] VARIANT source,
[in, optional] VARIANT active_connection,
[in, optional] ConnectModeEnum mode,
[in, defaultvalue(adFailIfNotExists)] RecordCreateOptionsEnum create_options,
[in, defaultvalue(adOpenRecordUnspecified)] RecordOpenOptionsEnum options,
[in, optional] BSTR username,
[in, optional] BSTR password);
[id(10)]
HRESULT Close();
[id(0), propget]
HRESULT Fields(
[out, retval] Fields **fields);
[id(11), propget]
HRESULT RecordType(
[out, retval] RecordTypeEnum *type);
[id(12)]
HRESULT GetChildren(
[out, retval] _Recordset **record_set);
[id(13)]
HRESULT Cancel();
};
[
uuid(00000565-0000-0010-8000-00aa006d2ea4),
odl,
dual,
nonextensible,
oleautomation
]
interface _Stream : IDispatch
{
[id(1), propget]
HRESULT Size(
[out, retval] ADO_LONGPTR *size);
[id(2), propget]
HRESULT EOS(
[out, retval] VARIANT_BOOL *eos);
[id(3), propget]
HRESULT Position(
[out, retval] ADO_LONGPTR *position);
[id(3), propput]
HRESULT Position(
[in] ADO_LONGPTR position);
[id(4), propget]
HRESULT Type(
[out, retval] StreamTypeEnum *type);
[id(4), propput]
HRESULT Type(
[in] StreamTypeEnum type);
[id(5), propget]
HRESULT LineSeparator(
[out, retval] LineSeparatorEnum *separator);
[id(5), propput]
HRESULT LineSeparator(
[in] LineSeparatorEnum separator);
[id(6), propget]
HRESULT State(
[out, retval] ObjectStateEnum *state);
[id(7), propget]
HRESULT Mode(
[out, retval] ConnectModeEnum *mode);
[id(7), propput]
HRESULT Mode(
[in] ConnectModeEnum mode);
[id(8), propget]
HRESULT Charset(
[out, retval] BSTR *charset);
[id(8), propput]
HRESULT Charset(
[in] BSTR charset);
[id(9)]
HRESULT Read(
[in, defaultvalue(adReadAll)] LONG num_bytes,
[out, retval] VARIANT *val);
[id(10)]
HRESULT 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 Close(void);
[id(12)]
HRESULT SkipLine(void);
[id(13)]
HRESULT Write(
[in] VARIANT buffer);
[id(14)]
HRESULT SetEOS(void);
[id(15)]
HRESULT CopyTo(
[in] _Stream *dest,
[in, defaultvalue(-1)] ADO_LONGPTR size);
[id(16)]
HRESULT Flush(void);
[id(17)]
HRESULT SaveToFile(
[in] BSTR FileName,
[in, defaultvalue(adSaveCreateNotExist)] SaveOptionsEnum options);
[id(18)]
HRESULT LoadFromFile(
[in] BSTR filename);
[id(19)]
HRESULT ReadText(
[in, defaultvalue(adReadAll)] LONG size,
[out, retval] BSTR *str);
[id(20)]
HRESULT WriteText(
[in] BSTR data,
[in, defaultvalue(adWriteChar)] StreamWriteEnum options);
[id(21)]
HRESULT Cancel(void);
};
[
uuid(00000266-0000-0010-8000-00aa006d2ea4)
]
dispinterface RecordsetEvents
{
properties:
methods:
[id(0x00000009)]
HRESULT WillChangeField(
[in] LONG count,
[in] VARIANT fields,
[in, out] EventStatusEnum *status,
[in] _Recordset *record_set);
[id(0x0000000a)]
HRESULT FieldChangeComplete(
[in] LONG count,
[in] VARIANT fields,
[in] Error *error,
[in, out] EventStatusEnum *status,
[in] _Recordset *record_set);
[id(0x0000000b)]
HRESULT WillChangeRecord(
[in] EventReasonEnum reason,
[in] LONG count,
[in, out] EventStatusEnum *status,
[in] _Recordset *record_set);
[id(0x0000000c)]
HRESULT RecordChangeComplete(
[in] EventReasonEnum reason,
[in] LONG count,
[in] Error *error,
[in, out] EventStatusEnum *status,
[in] _Recordset *record_set);
[id(0x0000000d)]
HRESULT WillChangeRecordset(
[in] EventReasonEnum reason,
[in, out] EventStatusEnum *status,
[in] _Recordset *record_set);
[id(0x0000000e)]
HRESULT RecordsetChangeComplete(
[in] EventReasonEnum reason,
[in] Error *error,
[in, out] EventStatusEnum *status,
[in] _Recordset *record_set);
[id(0x0000000f)]
HRESULT WillMove(
[in] EventReasonEnum reason,
[in, out] EventStatusEnum *status,
[in] _Recordset *record_set);
[id(0x00000010)]
HRESULT MoveComplete(
[in] EventReasonEnum reason,
[in] Error *error,
[in, out] EventStatusEnum *status,
[in] _Recordset *record_set);
[id(0x00000011)]
HRESULT EndOfRecordset(
[in, out] VARIANT_BOOL *more_data,
[in, out] EventStatusEnum *status,
[in] _Recordset *record_set);
[id(0x00000012)]
HRESULT FetchProgress(
[in] LONG progress,
[in] LONG max_progress,
[in, out] EventStatusEnum *status,
[in] _Recordset *record_set);
[id(0x00000013)]
HRESULT FetchComplete(
[in] Error *error,
[in, out] EventStatusEnum *status,
[in] _Recordset *record_set);
};
[
uuid(00000538-0000-0010-8000-00aa006d2ea4),
odl,
hidden
]
interface ADODebugging : IUnknown
{
HRESULT IsGlobalDebugMode(
VARIANT_BOOL *debugging_on);
HRESULT SetGlobalDebugMode(
IUnknown *debugger,
VARIANT_BOOL debugging_on);
};
[
uuid(00000516-0000-0010-8000-00aa006d2ea4),
odl,
restricted
]
interface ADOConnectionConstruction15 : IUnknown
{
[propget]
HRESULT DSO(
[out, retval] IUnknown **dso);
[propget]
HRESULT Session(
[out, retval] IUnknown **session);
HRESULT WrapDSOandSession(
[in] IUnknown *dso,
[in] IUnknown *session);
};
[
uuid(00000551-0000-0010-8000-00aa006d2ea4),
odl,
restricted
]
interface ADOConnectionConstruction : ADOConnectionConstruction15
{
};
[
uuid(00000517-0000-0010-8000-00aa006d2ea4),
odl,
restricted
]
interface ADOCommandConstruction : IUnknown
{
[propget]
HRESULT OLEDBCommand(
[out, retval] IUnknown **command);
[propput]
HRESULT OLEDBCommand(
[in] IUnknown *command);
};
[
uuid(00000283-0000-0010-8000-00aa006d2ea4),
odl,
restricted
]
interface ADORecordsetConstruction : IDispatch
{
[propget]
HRESULT Rowset(
[out, retval] IUnknown **row_set);
[propput]
HRESULT Rowset(
[in] IUnknown *row_set);
[propget]
HRESULT Chapter(
[out, retval] ADO_LONGPTR *chapter);
[propput]
HRESULT Chapter(
[in] ADO_LONGPTR chapter);
[propget]
HRESULT RowPosition(
[out, retval] IUnknown **row_pos);
[propput]
HRESULT RowPosition(
[in] IUnknown *row_pos);
};
[
uuid(2a75196c-d9eb-4129-b803-931327f72d5c),
version(2.8)
]
library ADODB
{
importlib("stdole2.tlb");
[
uuid(00000514-0000-0010-8000-00aa006d2ea4),
]
coclass Connection
{
[default] interface _Connection;
[default, source] dispinterface ConnectionEvents;
};
[
uuid(00000507-0000-0010-8000-00aa006d2ea4),
]
coclass Command
{
[default] interface _Command;
};
[
uuid(00000535-0000-0010-8000-00aa006d2ea4),
]
coclass Recordset
{
[default] interface _Recordset;
[default, source] dispinterface RecordsetEvents;
};
[
uuid(0000050b-0000-0010-8000-00aa006d2ea4),
]
coclass Parameter
{
[default] interface _Parameter;
};
[
uuid(00000560-0000-0010-8000-00aa006d2ea4),
]
coclass Record
{
[default] interface _Record;
};
[
uuid(00000566-0000-0010-8000-00aa006d2ea4),
]
coclass Stream
{
[default] interface _Stream;
};
}