// Created by Microsoft (R) C/C++ Compiler Version 12.00.8168.0 (e3b0a7df).
//
// d:\vcexercise\fapiao\debug\msado15.tlh
//
// C++ source equivalent of type library C:\Program Files\Common Files\System\ado\msado15.dll
// compiler-generated file created 02/21/17 at 19:25:38 - DO NOT EDIT!

#pragma once
#pragma pack(push, 8)

#include <comdef.h>

//
// Forward references and typedefs
//

typedef __int64 PositionEnum_Param;
typedef enum SearchDirectionEnum SearchDirection;
struct __declspec(uuid("00000512-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ _Collection;
struct __declspec(uuid("00000513-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ _DynaCollection;
struct __declspec(uuid("00000534-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ _ADO;
struct __declspec(uuid("00000504-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Properties;
struct __declspec(uuid("00000503-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Property;
struct __declspec(uuid("00000500-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Error;
struct __declspec(uuid("00000501-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Errors;
struct __declspec(uuid("00001508-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Command15;
struct __declspec(uuid("00001550-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ _Connection;
struct __declspec(uuid("00001515-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Connection15;
struct __declspec(uuid("00001556-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ _Recordset;
struct __declspec(uuid("00001555-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Recordset21;
struct __declspec(uuid("0000154f-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Recordset20;
struct __declspec(uuid("0000150e-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Recordset15;
struct __declspec(uuid("00001564-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Fields;
struct __declspec(uuid("0000154d-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Fields20;
struct __declspec(uuid("00001506-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Fields15;
struct __declspec(uuid("00001569-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Field;
struct __declspec(uuid("0000154c-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Field20;
struct __declspec(uuid("0000150c-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ _Parameter;
struct __declspec(uuid("0000150d-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Parameters;
struct __declspec(uuid("0000154e-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Command25;
struct __declspec(uuid("986761e8-7269-4890-aa65-ad7c03697a6d"))
/* dual interface */ _Command;
struct __declspec(uuid("00001402-0000-0010-8000-00aa006d2ea4"))
/* interface */ ConnectionEventsVt;
struct __declspec(uuid("00001403-0000-0010-8000-00aa006d2ea4"))
/* interface */ RecordsetEventsVt;
struct __declspec(uuid("00001400-0000-0010-8000-00aa006d2ea4"))
/* dispinterface */ ConnectionEvents;
struct __declspec(uuid("00001266-0000-0010-8000-00aa006d2ea4"))
/* dispinterface */ RecordsetEvents;
struct __declspec(uuid("00000516-0000-0010-8000-00aa006d2ea4"))
/* interface */ ADOConnectionConstruction15;
struct __declspec(uuid("00000551-0000-0010-8000-00aa006d2ea4"))
/* interface */ ADOConnectionConstruction;
struct /* coclass */ Connection;
struct __declspec(uuid("00001562-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ _Record;
struct /* coclass */ Record;
struct __declspec(uuid("00001565-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ _Stream;
struct /* coclass */ Stream;
struct __declspec(uuid("00000567-0000-0010-8000-00aa006d2ea4"))
/* interface */ ADORecordConstruction;
struct __declspec(uuid("00000568-0000-0010-8000-00aa006d2ea4"))
/* interface */ ADOStreamConstruction;
struct __declspec(uuid("00000517-0000-0010-8000-00aa006d2ea4"))
/* interface */ ADOCommandConstruction;
struct /* coclass */ Command;
struct /* coclass */ Recordset;
struct __declspec(uuid("00000283-0000-0010-8000-00aa006d2ea4"))
/* interface */ ADORecordsetConstruction;
typedef __int64 ADO_LONGPTR;
struct __declspec(uuid("00001505-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Field15;
struct /* coclass */ Parameter;
struct __declspec(uuid("00000402-0000-0010-8000-00aa006d2ea4"))
/* interface */ ConnectionEventsVt_Deprecated;
struct __declspec(uuid("00000550-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ _Connection_Deprecated;
struct __declspec(uuid("00000515-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Connection15_Deprecated;
struct __declspec(uuid("00000556-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ _Recordset_Deprecated;
struct __declspec(uuid("00000555-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Recordset21_Deprecated;
struct __declspec(uuid("0000054f-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Recordset20_Deprecated;
struct __declspec(uuid("0000050e-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Recordset15_Deprecated;
struct __declspec(uuid("00000564-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Fields_Deprecated;
struct __declspec(uuid("0000054d-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Fields20_Deprecated;
struct __declspec(uuid("00000506-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Fields15_Deprecated;
struct __declspec(uuid("00000569-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Field_Deprecated;
struct __declspec(uuid("0000054c-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Field20_Deprecated;
struct __declspec(uuid("b08400bd-f9d1-4d02-b856-71d5dba123e9"))
/* dual interface */ _Command_Deprecated;
struct __declspec(uuid("0000054e-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Command25_Deprecated;
struct __declspec(uuid("00000508-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Command15_Deprecated;
struct __declspec(uuid("0000050c-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ _Parameter_Deprecated;
struct __declspec(uuid("0000050d-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Parameters_Deprecated;
struct __declspec(uuid("00000403-0000-0010-8000-00aa006d2ea4"))
/* interface */ RecordsetEventsVt_Deprecated;
struct __declspec(uuid("00000400-0000-0010-8000-00aa006d2ea4"))
/* dispinterface */ ConnectionEvents_Deprecated;
struct __declspec(uuid("00000266-0000-0010-8000-00aa006d2ea4"))
/* dispinterface */ RecordsetEvents_Deprecated;
struct __declspec(uuid("00000562-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ _Record_Deprecated;
struct __declspec(uuid("00000565-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ _Stream_Deprecated;
struct __declspec(uuid("00000505-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ Field15_Deprecated;

//
// Smart pointer typedef declarations
//

_COM_SMARTPTR_TYPEDEF(_Collection, __uuidof(_Collection));
_COM_SMARTPTR_TYPEDEF(_DynaCollection, __uuidof(_DynaCollection));
_COM_SMARTPTR_TYPEDEF(_ADO, __uuidof(_ADO));
_COM_SMARTPTR_TYPEDEF(Properties, __uuidof(Properties));
_COM_SMARTPTR_TYPEDEF(Property, __uuidof(Property));
_COM_SMARTPTR_TYPEDEF(Error, __uuidof(Error));
_COM_SMARTPTR_TYPEDEF(Errors, __uuidof(Errors));
_COM_SMARTPTR_TYPEDEF(Command15, __uuidof(Command15));
_COM_SMARTPTR_TYPEDEF(Connection15, __uuidof(Connection15));
_COM_SMARTPTR_TYPEDEF(_Connection, __uuidof(_Connection));
_COM_SMARTPTR_TYPEDEF(Recordset15, __uuidof(Recordset15));
_COM_SMARTPTR_TYPEDEF(Recordset20, __uuidof(Recordset20));
_COM_SMARTPTR_TYPEDEF(Recordset21, __uuidof(Recordset21));
_COM_SMARTPTR_TYPEDEF(_Recordset, __uuidof(_Recordset));
_COM_SMARTPTR_TYPEDEF(Fields15, __uuidof(Fields15));
_COM_SMARTPTR_TYPEDEF(Fields20, __uuidof(Fields20));
_COM_SMARTPTR_TYPEDEF(Fields, __uuidof(Fields));
_COM_SMARTPTR_TYPEDEF(Field20, __uuidof(Field20));
_COM_SMARTPTR_TYPEDEF(Field, __uuidof(Field));
_COM_SMARTPTR_TYPEDEF(_Parameter, __uuidof(_Parameter));
_COM_SMARTPTR_TYPEDEF(Parameters, __uuidof(Parameters));
_COM_SMARTPTR_TYPEDEF(Command25, __uuidof(Command25));
_COM_SMARTPTR_TYPEDEF(_Command, __uuidof(_Command));
_COM_SMARTPTR_TYPEDEF(ConnectionEventsVt, __uuidof(ConnectionEventsVt));
_COM_SMARTPTR_TYPEDEF(RecordsetEventsVt, __uuidof(RecordsetEventsVt));
_COM_SMARTPTR_TYPEDEF(ConnectionEvents, __uuidof(IDispatch));
_COM_SMARTPTR_TYPEDEF(RecordsetEvents, __uuidof(IDispatch));
_COM_SMARTPTR_TYPEDEF(ADOConnectionConstruction15, __uuidof(ADOConnectionConstruction15));
_COM_SMARTPTR_TYPEDEF(ADOConnectionConstruction, __uuidof(ADOConnectionConstruction));
_COM_SMARTPTR_TYPEDEF(_Record, __uuidof(_Record));
_COM_SMARTPTR_TYPEDEF(_Stream, __uuidof(_Stream));
_COM_SMARTPTR_TYPEDEF(ADORecordConstruction, __uuidof(ADORecordConstruction));
_COM_SMARTPTR_TYPEDEF(ADOStreamConstruction, __uuidof(ADOStreamConstruction));
_COM_SMARTPTR_TYPEDEF(ADOCommandConstruction, __uuidof(ADOCommandConstruction));
_COM_SMARTPTR_TYPEDEF(ADORecordsetConstruction, __uuidof(ADORecordsetConstruction));
_COM_SMARTPTR_TYPEDEF(Field15, __uuidof(Field15));
_COM_SMARTPTR_TYPEDEF(ConnectionEventsVt_Deprecated, __uuidof(ConnectionEventsVt_Deprecated));
_COM_SMARTPTR_TYPEDEF(Connection15_Deprecated, __uuidof(Connection15_Deprecated));
_COM_SMARTPTR_TYPEDEF(_Connection_Deprecated, __uuidof(_Connection_Deprecated));
_COM_SMARTPTR_TYPEDEF(Recordset15_Deprecated, __uuidof(Recordset15_Deprecated));
_COM_SMARTPTR_TYPEDEF(Recordset20_Deprecated, __uuidof(Recordset20_Deprecated));
_COM_SMARTPTR_TYPEDEF(Recordset21_Deprecated, __uuidof(Recordset21_Deprecated));
_COM_SMARTPTR_TYPEDEF(_Recordset_Deprecated, __uuidof(_Recordset_Deprecated));
_COM_SMARTPTR_TYPEDEF(Fields15_Deprecated, __uuidof(Fields15_Deprecated));
_COM_SMARTPTR_TYPEDEF(Fields20_Deprecated, __uuidof(Fields20_Deprecated));
_COM_SMARTPTR_TYPEDEF(Fields_Deprecated, __uuidof(Fields_Deprecated));
_COM_SMARTPTR_TYPEDEF(Field20_Deprecated, __uuidof(Field20_Deprecated));
_COM_SMARTPTR_TYPEDEF(Field_Deprecated, __uuidof(Field_Deprecated));
_COM_SMARTPTR_TYPEDEF(Command15_Deprecated, __uuidof(Command15_Deprecated));
_COM_SMARTPTR_TYPEDEF(Command25_Deprecated, __uuidof(Command25_Deprecated));
_COM_SMARTPTR_TYPEDEF(_Command_Deprecated, __uuidof(_Command_Deprecated));
_COM_SMARTPTR_TYPEDEF(_Parameter_Deprecated, __uuidof(_Parameter_Deprecated));
_COM_SMARTPTR_TYPEDEF(Parameters_Deprecated, __uuidof(Parameters_Deprecated));
_COM_SMARTPTR_TYPEDEF(RecordsetEventsVt_Deprecated, __uuidof(RecordsetEventsVt_Deprecated));
_COM_SMARTPTR_TYPEDEF(ConnectionEvents_Deprecated, __uuidof(IDispatch));
_COM_SMARTPTR_TYPEDEF(RecordsetEvents_Deprecated, __uuidof(IDispatch));
_COM_SMARTPTR_TYPEDEF(_Record_Deprecated, __uuidof(_Record_Deprecated));
_COM_SMARTPTR_TYPEDEF(_Stream_Deprecated, __uuidof(_Stream_Deprecated));
_COM_SMARTPTR_TYPEDEF(Field15_Deprecated, __uuidof(Field15_Deprecated));

//
// Type library items
//

enum CursorTypeEnum
{
    adOpenUnspecified = -1,
    adOpenForwardOnly = 0,
    adOpenKeyset = 1,
    adOpenDynamic = 2,
    adOpenStatic = 3
};

enum CursorOptionEnum
{
    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
};

enum LockTypeEnum
{
    adLockUnspecified = -1,
    adLockReadOnly = 1,
    adLockPessimistic = 2,
    adLockOptimistic = 3,
    adLockBatchOptimistic = 4
};

enum ExecuteOptionEnum
{
    adOptionUnspecified = -1,
    adAsyncExecute = 16,
    adAsyncFetch = 32,
    adAsyncFetchNonBlocking = 64,
    adExecuteNoRecords = 128,
    adExecuteStream = 1024,
    adExecuteRecord = 2048
};

enum ConnectOptionEnum
{
    adConnectUnspecified = -1,
    adAsyncConnect = 16
};

enum ObjectStateEnum
{
    adStateClosed = 0,
    adStateOpen = 1,
    adStateConnecting = 2,
    adStateExecuting = 4,
    adStateFetching = 8
};

enum CursorLocationEnum
{
    adUseNone = 1,
    adUseServer = 2,
    adUseClient = 3,
    adUseClientBatch = 3
};

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 = 8192
};

enum FieldAttributeEnum
{
    adFldUnspecified = -1,
    adFldMayDefer = 2,
    adFldUpdatable = 4,
    adFldUnknownUpdatable = 8,
    adFldFixed = 16,
    adFldIsNullable = 32,
    adFldMayBeNull = 64,
    adFldLong = 128,
    adFldRowID = 256,
    adFldRowVersion = 512,
    adFldCacheDeferred = 4096,
    adFldIsChapter = 8192,
    adFldNegativeScale = 16384,
    adFldKeyColumn = 32768,
    adFldIsRowURL = 65536,
    adFldIsDefaultStream = 131072,
    adFldIsCollection = 262144
};

enum EditModeEnum
{
    adEditNone = 0,
    adEditInProgress = 1,
    adEditAdd = 2,
    adEditDelete = 4
};

enum RecordStatusEnum
{
    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
};

enum GetRowsOptionEnum
{
    adGetRowsRest = -1
};

enum PositionEnum
{
    adPosUnknown = -1,
    adPosBOF = -2,
    adPosEOF = -3
};

enum BookmarkEnum
{
    adBookmarkCurrent = 0,
    adBookmarkFirst = 1,
    adBookmarkLast = 2
};

enum MarshalOptionsEnum
{
    adMarshalAll = 0,
    adMarshalModifiedOnly = 1
};

enum AffectEnum
{
    adAffectCurrent = 1,
    adAffectGroup = 2,
    adAffectAll = 3,
    adAffectAllChapters = 4
};

enum ResyncEnum
{
    adResyncUnderlyingValues = 1,
    adResyncAllValues = 2
};

enum CompareEnum
{
    adCompareLessThan = 0,
    adCompareEqual = 1,
    adCompareGreaterThan = 2,
    adCompareNotEqual = 3,
    adCompareNotComparable = 4
};

enum FilterGroupEnum
{
    adFilterNone = 0,
    adFilterPendingRecords = 1,
    adFilterAffectedRecords = 2,
    adFilterFetchedRecords = 3,
    adFilterPredicate = 4,
    adFilterConflictingRecords = 5
};

enum SearchDirectionEnum
{
    adSearchForward = 1,
    adSearchBackward = -1
};

enum PersistFormatEnum
{
    adPersistADTG = 0,
    adPersistXML = 1
};

enum StringFormatEnum
{
    adClipString = 2
};

enum ConnectPromptEnum
{
    adPromptAlways = 1,
    adPromptComplete = 2,
    adPromptCompleteRequired = 3,
    adPromptNever = 4
};

enum ConnectModeEnum
{
    adModeUnknown = 0,
    adModeRead = 1,
    adModeWrite = 2,
    adModeReadWrite = 3,
    adModeShareDenyRead = 4,
    adModeShareDenyWrite = 8,
    adModeShareExclusive = 12,
    adModeShareDenyNone = 16,
    adModeRecursive = 4194304
};

enum RecordCreateOptionsEnum
{
    adCreateCollection = 8192,
    adCreateStructDoc = -2147483648,
    adCreateNonCollection = 0,
    adOpenIfExists = 33554432,
    adCreateOverwrite = 67108864,
    adFailIfNotExists = -1
};

enum RecordOpenOptionsEnum
{
    adOpenRecordUnspecified = -1,
    adOpenSource = 8388608,
    adOpenOutput = 8388608,
    adOpenAsync = 4096,
    adDelayFetchStream = 16384,
    adDelayFetchFields = 32768,
    adOpenExecuteCommand = 65536
};

enum IsolationLevelEnum
{
    adXactUnspecified = -1,
    adXactChaos = 16,
    adXactReadUncommitted = 256,
    adXactBrowse = 256,
    adXactCursorStability = 4096,
    adXactReadCommitted = 4096,
    adXactRepeatableRead = 65536,
    adXactSerializable = 1048576,
    adXactIsolated = 1048576
};

enum XactAttributeEnum
{
    adXactCommitRetaining = 131072,
    adXactAbortRetaining = 262144,
    adXactAsyncPhaseOne = 524288,
    adXactSyncPhaseOne = 1048576
};

enum PropertyAttributesEnum
{
    adPropNotSupported = 0,
    adPropRequired = 1,
    adPropOptional = 2,
    adPropRead = 512,
    adPropWrite = 1024
};

enum ErrorValueEnum
{
    adErrProviderFailed = 3000,
    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
};

enum ParameterAttributesEnum
{
    adParamSigned = 16,
    adParamNullable = 64,
    adParamLong = 128
};

enum ParameterDirectionEnum
{
    adParamUnknown = 0,
    adParamInput = 1,
    adParamOutput = 2,
    adParamInputOutput = 3,
    adParamReturnValue = 4
};

enum CommandTypeEnum
{
    adCmdUnspecified = -1,
    adCmdUnknown = 8,
    adCmdText = 1,
    adCmdTable = 2,
    adCmdStoredProc = 4,
    adCmdFile = 256,
    adCmdTableDirect = 512
};

enum EventStatusEnum
{
    adStatusOK = 1,
    adStatusErrorsOccurred = 2,
    adStatusCantDeny = 3,
    adStatusCancel = 4,
    adStatusUnwantedEvent = 5
};

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
};

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
};

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,
    adFieldInvalidURL = 17,
    adFieldResourceLocked = 18,
    adFieldResourceExists = 19,
    adFieldCannotComplete = 20,
    adFieldVolumeNotFound = 21,
    adFieldOutOfSpace = 22,
    adFieldCannotDeleteSource = 23,
    adFieldReadOnly = 24,
    adFieldResourceOutOfScope = 25,
    adFieldAlreadyExists = 26,
    adFieldPendingInsert = 65536,
    adFieldPendingDelete = 131072,
    adFieldPendingChange = 262144,
    adFieldPendingUnknown = 524288,
    adFieldPendingUnknownDelete = 1048576
};

enum SeekEnum
{
    adSeekFirstEQ = 1,
    adSeekLastEQ = 2,
    adSeekAfterEQ = 4,
    adSeekAfter = 8,
    adSeekBeforeEQ = 16,
    adSeekBefore = 32
};

enum ADCPROP_UPDATECRITERIA_ENUM
{
    adCriteriaKey = 0,
    adCriteriaAllCols = 1,
    adCriteriaUpdCols = 2,
    adCriteriaTimeStamp = 3
};

enum ADCPROP_ASYNCTHREADPRIORITY_ENUM
{
    adPriorityLowest = 1,
    adPriorityBelowNormal = 2,
    adPriorityNormal = 3,
    adPriorityAboveNormal = 4,
    adPriorityHighest = 5
};

enum ADCPROP_AUTORECALC_ENUM
{
    adRecalcUpFront = 0,
    adRecalcAlways = 1
};

enum ADCPROP_UPDATERESYNC_ENUM
{
    adResyncNone = 0,
    adResyncAutoIncrement = 1,
    adResyncConflicts = 2,
    adResyncUpdates = 4,
    adResyncInserts = 8,
    adResyncAll = 15
};

enum MoveRecordOptionsEnum
{
    adMoveUnspecified = -1,
    adMoveOverWrite = 1,
    adMoveDontUpdateLinks = 2,
    adMoveAllowEmulation = 4
};

enum CopyRecordOptionsEnum
{
    adCopyUnspecified = -1,
    adCopyOverWrite = 1,
    adCopyAllowEmulation = 4,
    adCopyNonRecursive = 2
};

enum StreamTypeEnum
{
    adTypeBinary = 1,
    adTypeText = 2
};

enum LineSeparatorEnum
{
    adLF = 10,
    adCR = 13,
    adCRLF = -1
};

enum StreamOpenOptionsEnum
{
    adOpenStreamUnspecified = -1,
    adOpenStreamAsync = 1,
    adOpenStreamFromRecord = 4
};

enum StreamWriteEnum
{
    adWriteChar = 0,
    adWriteLine = 1,
    stWriteChar = 0,
    stWriteLine = 1
};

enum SaveOptionsEnum
{
    adSaveCreateNotExist = 1,
    adSaveCreateOverWrite = 2
};

enum FieldEnum
{
    adDefaultStream = -1,
    adRecordURL = -2
};

enum StreamReadEnum
{
    adReadAll = -1,
    adReadLine = -2
};

enum RecordTypeEnum
{
    adSimpleRecord = 0,
    adCollectionRecord = 1,
    adStructDoc = 2
};

struct __declspec(uuid("00000512-0000-0010-8000-00aa006d2ea4"))
_Collection : IDispatch
{
    //
    // Property data
    //

    __declspec(property(get=GetCount))
    long Count;

    //
    // Wrapper methods for error-handling
    //

    long GetCount ( );
    IUnknownPtr _NewEnum ( );
    HRESULT Refresh ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_Count (
        long * c ) = 0;
    virtual HRESULT __stdcall raw__NewEnum (
        IUnknown * * ppvObject ) = 0;
    virtual HRESULT __stdcall raw_Refresh ( ) = 0;
};

struct __declspec(uuid("00000513-0000-0010-8000-00aa006d2ea4"))
_DynaCollection : _Collection
{
    //
    // Wrapper methods for error-handling
    //

    HRESULT Append (
        IDispatch * Object );
    HRESULT Delete (
        const _variant_t & Index );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall raw_Append (
        IDispatch * Object ) = 0;
    virtual HRESULT __stdcall raw_Delete (
        VARIANT Index ) = 0;
};

struct __declspec(uuid("00000534-0000-0010-8000-00aa006d2ea4"))
_ADO : IDispatch
{
    //
    // Property data
    //

    __declspec(property(get=GetProperties))
    PropertiesPtr Properties;

    //
    // Wrapper methods for error-handling
    //

    PropertiesPtr GetProperties ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_Properties (
        struct Properties * * ppvObject ) = 0;
};

struct __declspec(uuid("00000504-0000-0010-8000-00aa006d2ea4"))
Properties : _Collection
{
    //
    // Property data
    //

    __declspec(property(get=GetItem))
    PropertyPtr Item[];

    //
    // Wrapper methods for error-handling
    //

    PropertyPtr GetItem (
        const _variant_t & Index );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_Item (
        VARIANT Index,
        struct Property * * ppvObject ) = 0;
};

struct __declspec(uuid("00000503-0000-0010-8000-00aa006d2ea4"))
Property : IDispatch
{
    //
    // Property data
    //

    __declspec(property(get=GetValue,put=PutValue))
    _variant_t Value;
    __declspec(property(get=GetName))
    _bstr_t Name;
    __declspec(property(get=GetType))
    enum DataTypeEnum Type;
    __declspec(property(get=GetAttributes,put=PutAttributes))
    long Attributes;

    //
    // Wrapper methods for error-handling
    //

    _variant_t GetValue ( );
    void PutValue (
        const _variant_t & pval );
    _bstr_t GetName ( );
    enum DataTypeEnum GetType ( );
    long GetAttributes ( );
    void PutAttributes (
        long plAttributes );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_Value (
        VARIANT * pval ) = 0;
    virtual HRESULT __stdcall put_Value (
        VARIANT pval ) = 0;
    virtual HRESULT __stdcall get_Name (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall get_Type (
        enum DataTypeEnum * ptype ) = 0;
    virtual HRESULT __stdcall get_Attributes (
        long * plAttributes ) = 0;
    virtual HRESULT __stdcall put_Attributes (
        long plAttributes ) = 0;
};

struct __declspec(uuid("00000500-0000-0010-8000-00aa006d2ea4"))
Error : IDispatch
{
    //
    // Property data
    //

    __declspec(property(get=GetDescription))
    _bstr_t Description;
    __declspec(property(get=GetNumber))
    long Number;
    __declspec(property(get=GetSource))
    _bstr_t Source;
    __declspec(property(get=GetHelpFile))
    _bstr_t HelpFile;
    __declspec(property(get=GetHelpContext))
    long HelpContext;
    __declspec(property(get=GetSQLState))
    _bstr_t SQLState;
    __declspec(property(get=GetNativeError))
    long NativeError;

    //
    // Wrapper methods for error-handling
    //

    long GetNumber ( );
    _bstr_t GetSource ( );
    _bstr_t GetDescription ( );
    _bstr_t GetHelpFile ( );
    long GetHelpContext ( );
    _bstr_t GetSQLState ( );
    long GetNativeError ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_Number (
        long * pl ) = 0;
    virtual HRESULT __stdcall get_Source (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall get_Description (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall get_HelpFile (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall get_HelpContext (
        long * pl ) = 0;
    virtual HRESULT __stdcall get_SQLState (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall get_NativeError (
        long * pl ) = 0;
};

struct __declspec(uuid("00000501-0000-0010-8000-00aa006d2ea4"))
Errors : _Collection
{
    //
    // Property data
    //

    __declspec(property(get=GetItem))
    ErrorPtr Item[];

    //
    // Wrapper methods for error-handling
    //

    ErrorPtr GetItem (
        const _variant_t & Index );
    HRESULT Clear ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_Item (
        VARIANT Index,
        struct Error * * ppvObject ) = 0;
    virtual HRESULT __stdcall raw_Clear ( ) = 0;
};

struct __declspec(uuid("00001508-0000-0010-8000-00aa006d2ea4"))
Command15 : _ADO
{
    //
    // Property data
    //

    __declspec(property(get=GetParameters))
    ParametersPtr Parameters;
    __declspec(property(get=GetActiveConnection,put=PutRefActiveConnection))
    _ConnectionPtr ActiveConnection;
    __declspec(property(get=GetCommandText,put=PutCommandText))
    _bstr_t CommandText;
    __declspec(property(get=GetCommandTimeout,put=PutCommandTimeout))
    long CommandTimeout;
    __declspec(property(get=GetPrepared,put=PutPrepared))
    VARIANT_BOOL Prepared;
    __declspec(property(get=GetCommandType,put=PutCommandType))
    enum CommandTypeEnum CommandType;
    __declspec(property(get=GetName,put=PutName))
    _bstr_t Name;

    //
    // Wrapper methods for error-handling
    //

    _ConnectionPtr GetActiveConnection ( );
    void PutRefActiveConnection (
        struct _Connection * ppvObject );
    void PutActiveConnection (
        const _variant_t & ppvObject );
    _bstr_t GetCommandText ( );
    void PutCommandText (
        _bstr_t pbstr );
    long GetCommandTimeout ( );
    void PutCommandTimeout (
        long pl );
    VARIANT_BOOL GetPrepared ( );
    void PutPrepared (
        VARIANT_BOOL pfPrepared );
    _RecordsetPtr Execute (
        VARIANT * RecordsAffected,
        VARIANT * Parameters,
        long Options );
    _ParameterPtr CreateParameter (
        _bstr_t Name,
        enum DataTypeEnum Type,
        enum ParameterDirectionEnum Direction,
        long Size,
        const _variant_t & Value = vtMissing );
    ParametersPtr GetParameters ( );
    void PutCommandType (
        enum CommandTypeEnum plCmdType );
    enum CommandTypeEnum GetCommandType ( );
    _bstr_t GetName ( );
    void PutName (
        _bstr_t pbstrName );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_ActiveConnection (
        struct _Connection * * ppvObject ) = 0;
    virtual HRESULT __stdcall putref_ActiveConnection (
        struct _Connection * ppvObject ) = 0;
    virtual HRESULT __stdcall put_ActiveConnection (
        VARIANT ppvObject ) = 0;
    virtual HRESULT __stdcall get_CommandText (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall put_CommandText (
        BSTR pbstr ) = 0;
    virtual HRESULT __stdcall get_CommandTimeout (
        long * pl ) = 0;
    virtual HRESULT __stdcall put_CommandTimeout (
        long pl ) = 0;
    virtual HRESULT __stdcall get_Prepared (
        VARIANT_BOOL * pfPrepared ) = 0;
    virtual HRESULT __stdcall put_Prepared (
        VARIANT_BOOL pfPrepared ) = 0;
    virtual HRESULT __stdcall raw_Execute (
        VARIANT * RecordsAffected,
        VARIANT * Parameters,
        long Options,
        struct _Recordset * * ppiRs ) = 0;
    virtual HRESULT __stdcall raw_CreateParameter (
        BSTR Name,
        enum DataTypeEnum Type,
        enum ParameterDirectionEnum Direction,
        long Size,
        VARIANT Value,
        struct _Parameter * * ppiprm ) = 0;
    virtual HRESULT __stdcall get_Parameters (
        struct Parameters * * ppvObject ) = 0;
    virtual HRESULT __stdcall put_CommandType (
        enum CommandTypeEnum plCmdType ) = 0;
    virtual HRESULT __stdcall get_CommandType (
        enum CommandTypeEnum * plCmdType ) = 0;
    virtual HRESULT __stdcall get_Name (
        BSTR * pbstrName ) = 0;
    virtual HRESULT __stdcall put_Name (
        BSTR pbstrName ) = 0;
};

struct __declspec(uuid("00001515-0000-0010-8000-00aa006d2ea4"))
Connection15 : _ADO
{
    //
    // Property data
    //

    __declspec(property(get=GetConnectionString,put=PutConnectionString))
    _bstr_t ConnectionString;
    __declspec(property(get=GetCommandTimeout,put=PutCommandTimeout))
    long CommandTimeout;
    __declspec(property(get=GetConnectionTimeout,put=PutConnectionTimeout))
    long ConnectionTimeout;
    __declspec(property(get=GetVersion))
    _bstr_t Version;
    __declspec(property(get=GetErrors))
    ErrorsPtr Errors;
    __declspec(property(get=GetDefaultDatabase,put=PutDefaultDatabase))
    _bstr_t DefaultDatabase;
    __declspec(property(get=GetIsolationLevel,put=PutIsolationLevel))
    enum IsolationLevelEnum IsolationLevel;
    __declspec(property(get=GetAttributes,put=PutAttributes))
    long Attributes;
    __declspec(property(get=GetCursorLocation,put=PutCursorLocation))
    enum CursorLocationEnum CursorLocation;
    __declspec(property(get=GetMode,put=PutMode))
    enum ConnectModeEnum Mode;
    __declspec(property(get=GetProvider,put=PutProvider))
    _bstr_t Provider;
    __declspec(property(get=GetState))
    long State;

    //
    // Wrapper methods for error-handling
    //

    _bstr_t GetConnectionString ( );
    void PutConnectionString (
        _bstr_t pbstr );
    long GetCommandTimeout ( );
    void PutCommandTimeout (
        long plTimeout );
    long GetConnectionTimeout ( );
    void PutConnectionTimeout (
        long plTimeout );
    _bstr_t GetVersion ( );
    HRESULT Close ( );
    _RecordsetPtr Execute (
        _bstr_t CommandText,
        VARIANT * RecordsAffected,
        long Options );
    long BeginTrans ( );
    HRESULT CommitTrans ( );
    HRESULT RollbackTrans ( );
    HRESULT Open (
        _bstr_t ConnectionString,
        _bstr_t UserID,
        _bstr_t Password,
        long Options );
    ErrorsPtr GetErrors ( );
    _bstr_t GetDefaultDatabase ( );
    void PutDefaultDatabase (
        _bstr_t pbstr );
    enum IsolationLevelEnum GetIsolationLevel ( );
    void PutIsolationLevel (
        enum IsolationLevelEnum Level );
    long GetAttributes ( );
    void PutAttributes (
        long plAttr );
    enum CursorLocationEnum GetCursorLocation ( );
    void PutCursorLocation (
        enum CursorLocationEnum plCursorLoc );
    enum ConnectModeEnum GetMode ( );
    void PutMode (
        enum ConnectModeEnum plMode );
    _bstr_t GetProvider ( );
    void PutProvider (
        _bstr_t pbstr );
    long GetState ( );
    _RecordsetPtr OpenSchema (
        enum SchemaEnum Schema,
        const _variant_t & Restrictions = vtMissing,
        const _variant_t & SchemaID = vtMissing );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_ConnectionString (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall put_ConnectionString (
        BSTR pbstr ) = 0;
    virtual HRESULT __stdcall get_CommandTimeout (
        long * plTimeout ) = 0;
    virtual HRESULT __stdcall put_CommandTimeout (
        long plTimeout ) = 0;
    virtual HRESULT __stdcall get_ConnectionTimeout (
        long * plTimeout ) = 0;
    virtual HRESULT __stdcall put_ConnectionTimeout (
        long plTimeout ) = 0;
    virtual HRESULT __stdcall get_Version (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall raw_Close ( ) = 0;
    virtual HRESULT __stdcall raw_Execute (
        BSTR CommandText,
        VARIANT * RecordsAffected,
        long Options,
        struct _Recordset * * ppiRset ) = 0;
    virtual HRESULT __stdcall raw_BeginTrans (
        long * TransactionLevel ) = 0;
    virtual HRESULT __stdcall raw_CommitTrans ( ) = 0;
    virtual HRESULT __stdcall raw_RollbackTrans ( ) = 0;
    virtual HRESULT __stdcall raw_Open (
        BSTR ConnectionString,
        BSTR UserID,
        BSTR Password,
        long Options ) = 0;
    virtual HRESULT __stdcall get_Errors (
        struct Errors * * ppvObject ) = 0;
    virtual HRESULT __stdcall get_DefaultDatabase (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall put_DefaultDatabase (
        BSTR pbstr ) = 0;
    virtual HRESULT __stdcall get_IsolationLevel (
        enum IsolationLevelEnum * Level ) = 0;
    virtual HRESULT __stdcall put_IsolationLevel (
        enum IsolationLevelEnum Level ) = 0;
    virtual HRESULT __stdcall get_Attributes (
        long * plAttr ) = 0;
    virtual HRESULT __stdcall put_Attributes (
        long plAttr ) = 0;
    virtual HRESULT __stdcall get_CursorLocation (
        enum CursorLocationEnum * plCursorLoc ) = 0;
    virtual HRESULT __stdcall put_CursorLocation (
        enum CursorLocationEnum plCursorLoc ) = 0;
    virtual HRESULT __stdcall get_Mode (
        enum ConnectModeEnum * plMode ) = 0;
    virtual HRESULT __stdcall put_Mode (
        enum ConnectModeEnum plMode ) = 0;
    virtual HRESULT __stdcall get_Provider (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall put_Provider (
        BSTR pbstr ) = 0;
    virtual HRESULT __stdcall get_State (
        long * plObjState ) = 0;
    virtual HRESULT __stdcall raw_OpenSchema (
        enum SchemaEnum Schema,
        VARIANT Restrictions,
        VARIANT SchemaID,
        struct _Recordset * * pprset ) = 0;
};

struct __declspec(uuid("00001550-0000-0010-8000-00aa006d2ea4"))
_Connection : Connection15
{
    //
    // Wrapper methods for error-handling
    //

    HRESULT Cancel ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall raw_Cancel ( ) = 0;
};

struct __declspec(uuid("0000150e-0000-0010-8000-00aa006d2ea4"))
Recordset15 : _ADO
{
    //
    // Property data
    //

    __declspec(property(get=GetFields))
    FieldsPtr Fields;
    __declspec(property(get=GetPageSize,put=PutPageSize))
    long PageSize;
    __declspec(property(get=GetPageCount))
    long PageCount;
    __declspec(property(get=GetCursorLocation,put=PutCursorLocation))
    enum CursorLocationEnum CursorLocation;
    __declspec(property(get=GetState))
    long State;
    __declspec(property(get=GetMarshalOptions,put=PutMarshalOptions))
    enum MarshalOptionsEnum MarshalOptions;
    __declspec(property(get=GetCollect,put=PutCollect))
    _variant_t Collect[];
    __declspec(property(get=GetEditMode))
    enum EditModeEnum EditMode;
    __declspec(property(get=GetStatus))
    long Status;
    __declspec(property(get=GetFilter,put=PutFilter))
    _variant_t Filter;
    __declspec(property(get=GetSort,put=PutSort))
    _bstr_t Sort;
    __declspec(property(get=GetAbsolutePosition,put=PutAbsolutePosition))
    enum PositionEnum AbsolutePosition;
    __declspec(property(get=GetadoBOF))
    VARIANT_BOOL adoBOF;
    __declspec(property(get=GetBookmark,put=PutBookmark))
    _variant_t Bookmark;
    __declspec(property(get=GetCacheSize,put=PutCacheSize))
    long CacheSize;
    __declspec(property(get=GetCursorType,put=PutCursorType))
    enum CursorTypeEnum CursorType;
    __declspec(property(get=GetadoEOF))
    VARIANT_BOOL adoEOF;
    __declspec(property(get=GetAbsolutePage,put=PutAbsolutePage))
    enum PositionEnum AbsolutePage;
    __declspec(property(get=GetLockType,put=PutLockType))
    enum LockTypeEnum LockType;
    __declspec(property(get=GetMaxRecords,put=PutMaxRecords))
    long MaxRecords;
    __declspec(property(get=GetRecordCount))
    long RecordCount;

    //
    // Wrapper methods for error-handling
    //

    enum PositionEnum GetAbsolutePosition ( );
    void PutAbsolutePosition (
        enum PositionEnum pl );
    void PutRefActiveConnection (
        IDispatch * pvar );
    void PutActiveConnection (
        const _variant_t & pvar );
    _variant_t GetActiveConnection ( );
    VARIANT_BOOL GetadoBOF ( );
    _variant_t GetBookmark ( );
    void PutBookmark (
        const _variant_t & pvBookmark );
    long GetCacheSize ( );
    void PutCacheSize (
        long pl );
    enum CursorTypeEnum GetCursorType ( );
    void PutCursorType (
        enum CursorTypeEnum plCursorType );
    VARIANT_BOOL GetadoEOF ( );
    FieldsPtr GetFields ( );
    enum LockTypeEnum GetLockType ( );
    void PutLockType (
        enum LockTypeEnum plLockType );
    long GetMaxRecords ( );
    void PutMaxRecords (
        long plMaxRecords );
    long GetRecordCount ( );
    void PutRefSource (
        IDispatch * pvSource );
    void PutSource (
        _bstr_t pvSource );
    _variant_t GetSource ( );
    HRESULT AddNew (
        const _variant_t & FieldList = vtMissing,
        const _variant_t & Values = vtMissing );
    HRESULT CancelUpdate ( );
    HRESULT Close ( );
    HRESULT Delete (
        enum AffectEnum AffectRecords );
    _variant_t GetRows (
        long Rows,
        const _variant_t & Start = vtMissing,
        const _variant_t & Fields = vtMissing );
    HRESULT Move (
        long NumRecords,
        const _variant_t & Start = vtMissing );
    HRESULT MoveNext ( );
    HRESULT MovePrevious ( );
    HRESULT MoveFirst ( );
    HRESULT MoveLast ( );
    HRESULT Open (
        const _variant_t & Source,
        const _variant_t & ActiveConnection,
        enum CursorTypeEnum CursorType,
        enum LockTypeEnum LockType,
        long Options );
    HRESULT Requery (
        long Options );
    HRESULT _xResync (
        enum AffectEnum AffectRecords );
    HRESULT Update (
        const _variant_t & Fields = vtMissing,
        const _variant_t & Values = vtMissing );
    enum PositionEnum GetAbsolutePage ( );
    void PutAbsolutePage (
        enum PositionEnum pl );
    enum EditModeEnum GetEditMode ( );
    _variant_t GetFilter ( );
    void PutFilter (
        const _variant_t & Criteria );
    long GetPageCount ( );
    long GetPageSize ( );
    void PutPageSize (
        long pl );
    _bstr_t GetSort ( );
    void PutSort (
        _bstr_t Criteria );
    long GetStatus ( );
    long GetState ( );
    _RecordsetPtr _xClone ( );
    HRESULT UpdateBatch (
        enum AffectEnum AffectRecords );
    HRESULT CancelBatch (
        enum AffectEnum AffectRecords );
    enum CursorLocationEnum GetCursorLocation ( );
    void PutCursorLocation (
        enum CursorLocationEnum plCursorLoc );
    _RecordsetPtr NextRecordset (
        VARIANT * RecordsAffected );
    VARIANT_BOOL Supports (
        enum CursorOptionEnum CursorOptions );
    _variant_t GetCollect (
        const _variant_t & Index );
    void PutCollect (
        const _variant_t & Index,
        const _variant_t & pvar );
    enum MarshalOptionsEnum GetMarshalOptions ( );
    void PutMarshalOptions (
        enum MarshalOptionsEnum peMarshal );
    HRESULT Find (
        _bstr_t Criteria,
        long SkipRecords,
        enum SearchDirectionEnum SearchDirection,
        const _variant_t & Start = vtMissing );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_AbsolutePosition (
        enum PositionEnum * pl ) = 0;
    virtual HRESULT __stdcall put_AbsolutePosition (
        enum PositionEnum pl ) = 0;
    virtual HRESULT __stdcall putref_ActiveConnection (
        IDispatch * pvar ) = 0;
    virtual HRESULT __stdcall put_ActiveConnection (
        VARIANT pvar ) = 0;
    virtual HRESULT __stdcall get_ActiveConnection (
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall get_adoBOF (
        VARIANT_BOOL * pb ) = 0;
    virtual HRESULT __stdcall get_Bookmark (
        VARIANT * pvBookmark ) = 0;
    virtual HRESULT __stdcall put_Bookmark (
        VARIANT pvBookmark ) = 0;
    virtual HRESULT __stdcall get_CacheSize (
        long * pl ) = 0;
    virtual HRESULT __stdcall put_CacheSize (
        long pl ) = 0;
    virtual HRESULT __stdcall get_CursorType (
        enum CursorTypeEnum * plCursorType ) = 0;
    virtual HRESULT __stdcall put_CursorType (
        enum CursorTypeEnum plCursorType ) = 0;
    virtual HRESULT __stdcall get_adoEOF (
        VARIANT_BOOL * pb ) = 0;
    virtual HRESULT __stdcall get_Fields (
        struct Fields * * ppvObject ) = 0;
    virtual HRESULT __stdcall get_LockType (
        enum LockTypeEnum * plLockType ) = 0;
    virtual HRESULT __stdcall put_LockType (
        enum LockTypeEnum plLockType ) = 0;
    virtual HRESULT __stdcall get_MaxRecords (
        long * plMaxRecords ) = 0;
    virtual HRESULT __stdcall put_MaxRecords (
        long plMaxRecords ) = 0;
    virtual HRESULT __stdcall get_RecordCount (
        long * pl ) = 0;
    virtual HRESULT __stdcall putref_Source (
        IDispatch * pvSource ) = 0;
    virtual HRESULT __stdcall put_Source (
        BSTR pvSource ) = 0;
    virtual HRESULT __stdcall get_Source (
        VARIANT * pvSource ) = 0;
    virtual HRESULT __stdcall raw_AddNew (
        VARIANT FieldList = vtMissing,
        VARIANT Values = vtMissing ) = 0;
    virtual HRESULT __stdcall raw_CancelUpdate ( ) = 0;
    virtual HRESULT __stdcall raw_Close ( ) = 0;
    virtual HRESULT __stdcall raw_Delete (
        enum AffectEnum AffectRecords ) = 0;
    virtual HRESULT __stdcall raw_GetRows (
        long Rows,
        VARIANT Start,
        VARIANT Fields,
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall raw_Move (
        long NumRecords,
        VARIANT Start = vtMissing ) = 0;
    virtual HRESULT __stdcall raw_MoveNext ( ) = 0;
    virtual HRESULT __stdcall raw_MovePrevious ( ) = 0;
    virtual HRESULT __stdcall raw_MoveFirst ( ) = 0;
    virtual HRESULT __stdcall raw_MoveLast ( ) = 0;
    virtual HRESULT __stdcall raw_Open (
        VARIANT Source,
        VARIANT ActiveConnection,
        enum CursorTypeEnum CursorType,
        enum LockTypeEnum LockType,
        long Options ) = 0;
    virtual HRESULT __stdcall raw_Requery (
        long Options ) = 0;
    virtual HRESULT __stdcall raw__xResync (
        enum AffectEnum AffectRecords ) = 0;
    virtual HRESULT __stdcall raw_Update (
        VARIANT Fields = vtMissing,
        VARIANT Values = vtMissing ) = 0;
    virtual HRESULT __stdcall get_AbsolutePage (
        enum PositionEnum * pl ) = 0;
    virtual HRESULT __stdcall put_AbsolutePage (
        enum PositionEnum pl ) = 0;
    virtual HRESULT __stdcall get_EditMode (
        enum EditModeEnum * pl ) = 0;
    virtual HRESULT __stdcall get_Filter (
        VARIANT * Criteria ) = 0;
    virtual HRESULT __stdcall put_Filter (
        VARIANT Criteria ) = 0;
    virtual HRESULT __stdcall get_PageCount (
        long * pl ) = 0;
    virtual HRESULT __stdcall get_PageSize (
        long * pl ) = 0;
    virtual HRESULT __stdcall put_PageSize (
        long pl ) = 0;
    virtual HRESULT __stdcall get_Sort (
        BSTR * Criteria ) = 0;
    virtual HRESULT __stdcall put_Sort (
        BSTR Criteria ) = 0;
    virtual HRESULT __stdcall get_Status (
        long * pl ) = 0;
    virtual HRESULT __stdcall get_State (
        long * plObjState ) = 0;
    virtual HRESULT __stdcall raw__xClone (
        struct _Recordset * * ppvObject ) = 0;
    virtual HRESULT __stdcall raw_UpdateBatch (
        enum AffectEnum AffectRecords ) = 0;
    virtual HRESULT __stdcall raw_CancelBatch (
        enum AffectEnum AffectRecords ) = 0;
    virtual HRESULT __stdcall get_CursorLocation (
        enum CursorLocationEnum * plCursorLoc ) = 0;
    virtual HRESULT __stdcall put_CursorLocation (
        enum CursorLocationEnum plCursorLoc ) = 0;
    virtual HRESULT __stdcall raw_NextRecordset (
        VARIANT * RecordsAffected,
        struct _Recordset * * ppiRs ) = 0;
    virtual HRESULT __stdcall raw_Supports (
        enum CursorOptionEnum CursorOptions,
        VARIANT_BOOL * pb ) = 0;
    virtual HRESULT __stdcall get_Collect (
        VARIANT Index,
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall put_Collect (
        VARIANT Index,
        VARIANT pvar ) = 0;
    virtual HRESULT __stdcall get_MarshalOptions (
        enum MarshalOptionsEnum * peMarshal ) = 0;
    virtual HRESULT __stdcall put_MarshalOptions (
        enum MarshalOptionsEnum peMarshal ) = 0;
    virtual HRESULT __stdcall raw_Find (
        BSTR Criteria,
        long SkipRecords,
        enum SearchDirectionEnum SearchDirection,
        VARIANT Start = vtMissing ) = 0;
};

struct __declspec(uuid("0000154f-0000-0010-8000-00aa006d2ea4"))
Recordset20 : Recordset15
{
    //
    // Property data
    //

    __declspec(property(get=GetDataSource,put=PutRefDataSource))
    IUnknownPtr DataSource;
    __declspec(property(get=GetActiveCommand))
    IDispatchPtr ActiveCommand;
    __declspec(property(get=GetStayInSync,put=PutStayInSync))
    VARIANT_BOOL StayInSync;
    __declspec(property(get=GetDataMember,put=PutDataMember))
    _bstr_t DataMember;

    //
    // Wrapper methods for error-handling
    //

    HRESULT Cancel ( );
    IUnknownPtr GetDataSource ( );
    void PutRefDataSource (
        IUnknown * ppunkDataSource );
    HRESULT _xSave (
        _bstr_t FileName,
        enum PersistFormatEnum PersistFormat );
    IDispatchPtr GetActiveCommand ( );
    void PutStayInSync (
        VARIANT_BOOL pbStayInSync );
    VARIANT_BOOL GetStayInSync ( );
    _bstr_t GetString (
        enum StringFormatEnum StringFormat,
        long NumRows,
        _bstr_t ColumnDelimeter,
        _bstr_t RowDelimeter,
        _bstr_t NullExpr );
    _bstr_t GetDataMember ( );
    void PutDataMember (
        _bstr_t pbstrDataMember );
    enum CompareEnum CompareBookmarks (
        const _variant_t & Bookmark1,
        const _variant_t & Bookmark2 );
    _RecordsetPtr Clone (
        enum LockTypeEnum LockType );
    HRESULT Resync (
        enum AffectEnum AffectRecords,
        enum ResyncEnum ResyncValues );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall raw_Cancel ( ) = 0;
    virtual HRESULT __stdcall get_DataSource (
        IUnknown * * ppunkDataSource ) = 0;
    virtual HRESULT __stdcall putref_DataSource (
        IUnknown * ppunkDataSource ) = 0;
    virtual HRESULT __stdcall raw__xSave (
        BSTR FileName,
        enum PersistFormatEnum PersistFormat ) = 0;
    virtual HRESULT __stdcall get_ActiveCommand (
        IDispatch * * ppCmd ) = 0;
    virtual HRESULT __stdcall put_StayInSync (
        VARIANT_BOOL pbStayInSync ) = 0;
    virtual HRESULT __stdcall get_StayInSync (
        VARIANT_BOOL * pbStayInSync ) = 0;
    virtual HRESULT __stdcall raw_GetString (
        enum StringFormatEnum StringFormat,
        long NumRows,
        BSTR ColumnDelimeter,
        BSTR RowDelimeter,
        BSTR NullExpr,
        BSTR * pRetString ) = 0;
    virtual HRESULT __stdcall get_DataMember (
        BSTR * pbstrDataMember ) = 0;
    virtual HRESULT __stdcall put_DataMember (
        BSTR pbstrDataMember ) = 0;
    virtual HRESULT __stdcall raw_CompareBookmarks (
        VARIANT Bookmark1,
        VARIANT Bookmark2,
        enum CompareEnum * pCompare ) = 0;
    virtual HRESULT __stdcall raw_Clone (
        enum LockTypeEnum LockType,
        struct _Recordset * * ppvObject ) = 0;
    virtual HRESULT __stdcall raw_Resync (
        enum AffectEnum AffectRecords,
        enum ResyncEnum ResyncValues ) = 0;
};

struct __declspec(uuid("00001555-0000-0010-8000-00aa006d2ea4"))
Recordset21 : Recordset20
{
    //
    // Property data
    //

    __declspec(property(get=GetIndex,put=PutIndex))
    _bstr_t Index;

    //
    // Wrapper methods for error-handling
    //

    HRESULT Seek (
        const _variant_t & KeyValues,
        enum SeekEnum SeekOption );
    void PutIndex (
        _bstr_t pbstrIndex );
    _bstr_t GetIndex ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall raw_Seek (
        VARIANT KeyValues,
        enum SeekEnum SeekOption ) = 0;
    virtual HRESULT __stdcall put_Index (
        BSTR pbstrIndex ) = 0;
    virtual HRESULT __stdcall get_Index (
        BSTR * pbstrIndex ) = 0;
};

struct __declspec(uuid("00001556-0000-0010-8000-00aa006d2ea4"))
_Recordset : Recordset21
{
    //
    // Wrapper methods for error-handling
    //

    HRESULT Save (
        const _variant_t & Destination,
        enum PersistFormatEnum PersistFormat );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall raw_Save (
        VARIANT Destination,
        enum PersistFormatEnum PersistFormat ) = 0;
};

struct __declspec(uuid("00001506-0000-0010-8000-00aa006d2ea4"))
Fields15 : _Collection
{
    //
    // Property data
    //

    __declspec(property(get=GetItem))
    FieldPtr Item[];

    //
    // Wrapper methods for error-handling
    //

    FieldPtr GetItem (
        const _variant_t & Index );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_Item (
        VARIANT Index,
        struct Field * * ppvObject ) = 0;
};

struct __declspec(uuid("0000154d-0000-0010-8000-00aa006d2ea4"))
Fields20 : Fields15
{
    //
    // Wrapper methods for error-handling
    //

    HRESULT _Append (
        _bstr_t Name,
        enum DataTypeEnum Type,
        long DefinedSize,
        enum FieldAttributeEnum Attrib );
    HRESULT Delete (
        const _variant_t & Index );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall raw__Append (
        BSTR Name,
        enum DataTypeEnum Type,
        long DefinedSize,
        enum FieldAttributeEnum Attrib ) = 0;
    virtual HRESULT __stdcall raw_Delete (
        VARIANT Index ) = 0;
};

struct __declspec(uuid("00001564-0000-0010-8000-00aa006d2ea4"))
Fields : Fields20
{
    //
    // Wrapper methods for error-handling
    //

    HRESULT Append (
        _bstr_t Name,
        enum DataTypeEnum Type,
        long DefinedSize,
        enum FieldAttributeEnum Attrib,
        const _variant_t & FieldValue = vtMissing );
    HRESULT Update ( );
    HRESULT Resync (
        enum ResyncEnum ResyncValues );
    HRESULT CancelUpdate ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall raw_Append (
        BSTR Name,
        enum DataTypeEnum Type,
        long DefinedSize,
        enum FieldAttributeEnum Attrib,
        VARIANT FieldValue = vtMissing ) = 0;
    virtual HRESULT __stdcall raw_Update ( ) = 0;
    virtual HRESULT __stdcall raw_Resync (
        enum ResyncEnum ResyncValues ) = 0;
    virtual HRESULT __stdcall raw_CancelUpdate ( ) = 0;
};

struct __declspec(uuid("0000154c-0000-0010-8000-00aa006d2ea4"))
Field20 : _ADO
{
    //
    // Property data
    //

    __declspec(property(get=GetValue,put=PutValue))
    _variant_t Value;
    __declspec(property(get=GetName))
    _bstr_t Name;
    __declspec(property(get=GetType,put=PutType))
    enum DataTypeEnum Type;
    __declspec(property(get=GetDefinedSize,put=PutDefinedSize))
    long DefinedSize;
    __declspec(property(get=GetOriginalValue))
    _variant_t OriginalValue;
    __declspec(property(get=GetUnderlyingValue))
    _variant_t UnderlyingValue;
    __declspec(property(get=GetActualSize))
    long ActualSize;
    __declspec(property(get=GetPrecision,put=PutPrecision))
    unsigned char Precision;
    __declspec(property(get=GetNumericScale,put=PutNumericScale))
    unsigned char NumericScale;
    __declspec(property(get=GetAttributes,put=PutAttributes))
    long Attributes;
    __declspec(property(get=GetDataFormat,put=PutRefDataFormat))
    IUnknownPtr DataFormat;

    //
    // Wrapper methods for error-handling
    //

    long GetActualSize ( );
    long GetAttributes ( );
    long GetDefinedSize ( );
    _bstr_t GetName ( );
    enum DataTypeEnum GetType ( );
    _variant_t GetValue ( );
    void PutValue (
        const _variant_t & pvar );
    unsigned char GetPrecision ( );
    unsigned char GetNumericScale ( );
    HRESULT AppendChunk (
        const _variant_t & Data );
    _variant_t GetChunk (
        long Length );
    _variant_t GetOriginalValue ( );
    _variant_t GetUnderlyingValue ( );
    IUnknownPtr GetDataFormat ( );
    void PutRefDataFormat (
        IUnknown * ppiDF );
    void PutPrecision (
        unsigned char pbPrecision );
    void PutNumericScale (
        unsigned char pbNumericScale );
    void PutType (
        enum DataTypeEnum pDataType );
    void PutDefinedSize (
        long pl );
    void PutAttributes (
        long pl );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_ActualSize (
        long * pl ) = 0;
    virtual HRESULT __stdcall get_Attributes (
        long * pl ) = 0;
    virtual HRESULT __stdcall get_DefinedSize (
        long * pl ) = 0;
    virtual HRESULT __stdcall get_Name (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall get_Type (
        enum DataTypeEnum * pDataType ) = 0;
    virtual HRESULT __stdcall get_Value (
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall put_Value (
        VARIANT pvar ) = 0;
    virtual HRESULT __stdcall get_Precision (
        unsigned char * pbPrecision ) = 0;
    virtual HRESULT __stdcall get_NumericScale (
        unsigned char * pbNumericScale ) = 0;
    virtual HRESULT __stdcall raw_AppendChunk (
        VARIANT Data ) = 0;
    virtual HRESULT __stdcall raw_GetChunk (
        long Length,
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall get_OriginalValue (
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall get_UnderlyingValue (
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall get_DataFormat (
        IUnknown * * ppiDF ) = 0;
    virtual HRESULT __stdcall putref_DataFormat (
        IUnknown * ppiDF ) = 0;
    virtual HRESULT __stdcall put_Precision (
        unsigned char pbPrecision ) = 0;
    virtual HRESULT __stdcall put_NumericScale (
        unsigned char pbNumericScale ) = 0;
    virtual HRESULT __stdcall put_Type (
        enum DataTypeEnum pDataType ) = 0;
    virtual HRESULT __stdcall put_DefinedSize (
        long pl ) = 0;
    virtual HRESULT __stdcall put_Attributes (
        long pl ) = 0;
};

struct __declspec(uuid("00001569-0000-0010-8000-00aa006d2ea4"))
Field : Field20
{
    //
    // Property data
    //

    __declspec(property(get=GetStatus))
    long Status;

    //
    // Wrapper methods for error-handling
    //

    long GetStatus ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_Status (
        long * pFStatus ) = 0;
};

struct __declspec(uuid("0000150c-0000-0010-8000-00aa006d2ea4"))
_Parameter : _ADO
{
    //
    // Property data
    //

    __declspec(property(get=GetValue,put=PutValue))
    _variant_t Value;
    __declspec(property(get=GetName,put=PutName))
    _bstr_t Name;
    __declspec(property(get=GetType,put=PutType))
    enum DataTypeEnum Type;
    __declspec(property(get=GetDirection,put=PutDirection))
    enum ParameterDirectionEnum Direction;
    __declspec(property(get=GetPrecision,put=PutPrecision))
    unsigned char Precision;
    __declspec(property(get=GetNumericScale,put=PutNumericScale))
    unsigned char NumericScale;
    __declspec(property(get=GetSize,put=PutSize))
    long Size;
    __declspec(property(get=GetAttributes,put=PutAttributes))
    long Attributes;

    //
    // Wrapper methods for error-handling
    //

    _bstr_t GetName ( );
    void PutName (
        _bstr_t pbstr );
    _variant_t GetValue ( );
    void PutValue (
        const _variant_t & pvar );
    enum DataTypeEnum GetType ( );
    void PutType (
        enum DataTypeEnum psDataType );
    void PutDirection (
        enum ParameterDirectionEnum plParmDirection );
    enum ParameterDirectionEnum GetDirection ( );
    void PutPrecision (
        unsigned char pbPrecision );
    unsigned char GetPrecision ( );
    void PutNumericScale (
        unsigned char pbScale );
    unsigned char GetNumericScale ( );
    void PutSize (
        long pl );
    long GetSize ( );
    HRESULT AppendChunk (
        const _variant_t & Val );
    long GetAttributes ( );
    void PutAttributes (
        long plParmAttribs );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_Name (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall put_Name (
        BSTR pbstr ) = 0;
    virtual HRESULT __stdcall get_Value (
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall put_Value (
        VARIANT pvar ) = 0;
    virtual HRESULT __stdcall get_Type (
        enum DataTypeEnum * psDataType ) = 0;
    virtual HRESULT __stdcall put_Type (
        enum DataTypeEnum psDataType ) = 0;
    virtual HRESULT __stdcall put_Direction (
        enum ParameterDirectionEnum plParmDirection ) = 0;
    virtual HRESULT __stdcall get_Direction (
        enum ParameterDirectionEnum * plParmDirection ) = 0;
    virtual HRESULT __stdcall put_Precision (
        unsigned char pbPrecision ) = 0;
    virtual HRESULT __stdcall get_Precision (
        unsigned char * pbPrecision ) = 0;
    virtual HRESULT __stdcall put_NumericScale (
        unsigned char pbScale ) = 0;
    virtual HRESULT __stdcall get_NumericScale (
        unsigned char * pbScale ) = 0;
    virtual HRESULT __stdcall put_Size (
        long pl ) = 0;
    virtual HRESULT __stdcall get_Size (
        long * pl ) = 0;
    virtual HRESULT __stdcall raw_AppendChunk (
        VARIANT Val ) = 0;
    virtual HRESULT __stdcall get_Attributes (
        long * plParmAttribs ) = 0;
    virtual HRESULT __stdcall put_Attributes (
        long plParmAttribs ) = 0;
};

struct __declspec(uuid("0000150d-0000-0010-8000-00aa006d2ea4"))
Parameters : _DynaCollection
{
    //
    // Property data
    //

    __declspec(property(get=GetItem))
    _ParameterPtr Item[];

    //
    // Wrapper methods for error-handling
    //

    _ParameterPtr GetItem (
        const _variant_t & Index );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_Item (
        VARIANT Index,
        struct _Parameter * * ppvObject ) = 0;
};

struct __declspec(uuid("0000154e-0000-0010-8000-00aa006d2ea4"))
Command25 : Command15
{
    //
    // Property data
    //

    __declspec(property(get=GetState))
    long State;

    //
    // Wrapper methods for error-handling
    //

    long GetState ( );
    HRESULT Cancel ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_State (
        long * plObjState ) = 0;
    virtual HRESULT __stdcall raw_Cancel ( ) = 0;
};

struct __declspec(uuid("986761e8-7269-4890-aa65-ad7c03697a6d"))
_Command : Command25
{
    //
    // Property data
    //

    __declspec(property(get=GetDialect,put=PutDialect))
    _bstr_t Dialect;
    __declspec(property(get=GetNamedParameters,put=PutNamedParameters))
    VARIANT_BOOL NamedParameters;

    //
    // Wrapper methods for error-handling
    //

    void PutRefCommandStream (
        IUnknown * pvStream );
    _variant_t GetCommandStream ( );
    void PutDialect (
        _bstr_t pbstrDialect );
    _bstr_t GetDialect ( );
    void PutNamedParameters (
        VARIANT_BOOL pfNamedParameters );
    VARIANT_BOOL GetNamedParameters ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall putref_CommandStream (
        IUnknown * pvStream ) = 0;
    virtual HRESULT __stdcall get_CommandStream (
        VARIANT * pvStream ) = 0;
    virtual HRESULT __stdcall put_Dialect (
        BSTR pbstrDialect ) = 0;
    virtual HRESULT __stdcall get_Dialect (
        BSTR * pbstrDialect ) = 0;
    virtual HRESULT __stdcall put_NamedParameters (
        VARIANT_BOOL pfNamedParameters ) = 0;
    virtual HRESULT __stdcall get_NamedParameters (
        VARIANT_BOOL * pfNamedParameters ) = 0;
};

struct __declspec(uuid("00001402-0000-0010-8000-00aa006d2ea4"))
ConnectionEventsVt : IUnknown
{
    //
    // Wrapper methods for error-handling
    //

    HRESULT InfoMessage (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection * pConnection );
    HRESULT BeginTransComplete (
        long TransactionLevel,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection * pConnection );
    HRESULT CommitTransComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection * pConnection );
    HRESULT RollbackTransComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection * pConnection );
    HRESULT WillExecute (
        BSTR * Source,
        enum CursorTypeEnum * CursorType,
        enum LockTypeEnum * LockType,
        long * Options,
        enum EventStatusEnum * adStatus,
        struct _Command * pCommand,
        struct _Recordset * pRecordset,
        struct _Connection * pConnection );
    HRESULT ExecuteComplete (
        long RecordsAffected,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Command * pCommand,
        struct _Recordset * pRecordset,
        struct _Connection * pConnection );
    HRESULT WillConnect (
        BSTR * ConnectionString,
        BSTR * UserID,
        BSTR * Password,
        long * Options,
        enum EventStatusEnum * adStatus,
        struct _Connection * pConnection );
    HRESULT ConnectComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection * pConnection );
    HRESULT Disconnect (
        enum EventStatusEnum * adStatus,
        struct _Connection * pConnection );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall raw_InfoMessage (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection * pConnection ) = 0;
    virtual HRESULT __stdcall raw_BeginTransComplete (
        long TransactionLevel,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection * pConnection ) = 0;
    virtual HRESULT __stdcall raw_CommitTransComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection * pConnection ) = 0;
    virtual HRESULT __stdcall raw_RollbackTransComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection * pConnection ) = 0;
    virtual HRESULT __stdcall raw_WillExecute (
        BSTR * Source,
        enum CursorTypeEnum * CursorType,
        enum LockTypeEnum * LockType,
        long * Options,
        enum EventStatusEnum * adStatus,
        struct _Command * pCommand,
        struct _Recordset * pRecordset,
        struct _Connection * pConnection ) = 0;
    virtual HRESULT __stdcall raw_ExecuteComplete (
        long RecordsAffected,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Command * pCommand,
        struct _Recordset * pRecordset,
        struct _Connection * pConnection ) = 0;
    virtual HRESULT __stdcall raw_WillConnect (
        BSTR * ConnectionString,
        BSTR * UserID,
        BSTR * Password,
        long * Options,
        enum EventStatusEnum * adStatus,
        struct _Connection * pConnection ) = 0;
    virtual HRESULT __stdcall raw_ConnectComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection * pConnection ) = 0;
    virtual HRESULT __stdcall raw_Disconnect (
        enum EventStatusEnum * adStatus,
        struct _Connection * pConnection ) = 0;
};

struct __declspec(uuid("00001403-0000-0010-8000-00aa006d2ea4"))
RecordsetEventsVt : IUnknown
{
    //
    // Wrapper methods for error-handling
    //

    HRESULT WillChangeField (
        long cFields,
        const _variant_t & Fields,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset );
    HRESULT FieldChangeComplete (
        long cFields,
        const _variant_t & Fields,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset );
    HRESULT WillChangeRecord (
        enum EventReasonEnum adReason,
        long cRecords,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset );
    HRESULT RecordChangeComplete (
        enum EventReasonEnum adReason,
        long cRecords,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset );
    HRESULT WillChangeRecordset (
        enum EventReasonEnum adReason,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset );
    HRESULT RecordsetChangeComplete (
        enum EventReasonEnum adReason,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset );
    HRESULT WillMove (
        enum EventReasonEnum adReason,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset );
    HRESULT MoveComplete (
        enum EventReasonEnum adReason,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset );
    HRESULT EndOfRecordset (
        VARIANT_BOOL * fMoreData,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset );
    HRESULT FetchProgress (
        long Progress,
        long MaxProgress,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset );
    HRESULT FetchComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall raw_WillChangeField (
        long cFields,
        VARIANT Fields,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset ) = 0;
    virtual HRESULT __stdcall raw_FieldChangeComplete (
        long cFields,
        VARIANT Fields,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset ) = 0;
    virtual HRESULT __stdcall raw_WillChangeRecord (
        enum EventReasonEnum adReason,
        long cRecords,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset ) = 0;
    virtual HRESULT __stdcall raw_RecordChangeComplete (
        enum EventReasonEnum adReason,
        long cRecords,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset ) = 0;
    virtual HRESULT __stdcall raw_WillChangeRecordset (
        enum EventReasonEnum adReason,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset ) = 0;
    virtual HRESULT __stdcall raw_RecordsetChangeComplete (
        enum EventReasonEnum adReason,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset ) = 0;
    virtual HRESULT __stdcall raw_WillMove (
        enum EventReasonEnum adReason,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset ) = 0;
    virtual HRESULT __stdcall raw_MoveComplete (
        enum EventReasonEnum adReason,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset ) = 0;
    virtual HRESULT __stdcall raw_EndOfRecordset (
        VARIANT_BOOL * fMoreData,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset ) = 0;
    virtual HRESULT __stdcall raw_FetchProgress (
        long Progress,
        long MaxProgress,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset ) = 0;
    virtual HRESULT __stdcall raw_FetchComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset ) = 0;
};

struct __declspec(uuid("00001400-0000-0010-8000-00aa006d2ea4"))
ConnectionEvents : IDispatch
{
    //
    // Wrapper methods for error-handling
    //

    // Methods:
    HRESULT InfoMessage (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection * pConnection );
    HRESULT BeginTransComplete (
        long TransactionLevel,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection * pConnection );
    HRESULT CommitTransComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection * pConnection );
    HRESULT RollbackTransComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection * pConnection );
    HRESULT WillExecute (
        BSTR * Source,
        enum CursorTypeEnum * CursorType,
        enum LockTypeEnum * LockType,
        long * Options,
        enum EventStatusEnum * adStatus,
        struct _Command * pCommand,
        struct _Recordset * pRecordset,
        struct _Connection * pConnection );
    HRESULT ExecuteComplete (
        long RecordsAffected,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Command * pCommand,
        struct _Recordset * pRecordset,
        struct _Connection * pConnection );
    HRESULT WillConnect (
        BSTR * ConnectionString,
        BSTR * UserID,
        BSTR * Password,
        long * Options,
        enum EventStatusEnum * adStatus,
        struct _Connection * pConnection );
    HRESULT ConnectComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection * pConnection );
    HRESULT Disconnect (
        enum EventStatusEnum * adStatus,
        struct _Connection * pConnection );
};

struct __declspec(uuid("00001266-0000-0010-8000-00aa006d2ea4"))
RecordsetEvents : IDispatch
{
    //
    // Wrapper methods for error-handling
    //

    // Methods:
    HRESULT WillChangeField (
        long cFields,
        const _variant_t & Fields,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset );
    HRESULT FieldChangeComplete (
        long cFields,
        const _variant_t & Fields,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset );
    HRESULT WillChangeRecord (
        enum EventReasonEnum adReason,
        long cRecords,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset );
    HRESULT RecordChangeComplete (
        enum EventReasonEnum adReason,
        long cRecords,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset );
    HRESULT WillChangeRecordset (
        enum EventReasonEnum adReason,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset );
    HRESULT RecordsetChangeComplete (
        enum EventReasonEnum adReason,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset );
    HRESULT WillMove (
        enum EventReasonEnum adReason,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset );
    HRESULT MoveComplete (
        enum EventReasonEnum adReason,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset );
    HRESULT EndOfRecordset (
        VARIANT_BOOL * fMoreData,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset );
    HRESULT FetchProgress (
        long Progress,
        long MaxProgress,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset );
    HRESULT FetchComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset * pRecordset );
};

struct __declspec(uuid("00000516-0000-0010-8000-00aa006d2ea4"))
ADOConnectionConstruction15 : IUnknown
{
    //
    // Property data
    //

    __declspec(property(get=GetDSO))
    IUnknownPtr DSO;
    __declspec(property(get=GetSession))
    IUnknownPtr Session;

    //
    // Wrapper methods for error-handling
    //

    IUnknownPtr GetDSO ( );
    IUnknownPtr GetSession ( );
    HRESULT WrapDSOandSession (
        IUnknown * pDSO,
        IUnknown * pSession );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_DSO (
        IUnknown * * ppDSO ) = 0;
    virtual HRESULT __stdcall get_Session (
        IUnknown * * ppSession ) = 0;
    virtual HRESULT __stdcall raw_WrapDSOandSession (
        IUnknown * pDSO,
        IUnknown * pSession ) = 0;
};

struct __declspec(uuid("00000551-0000-0010-8000-00aa006d2ea4"))
ADOConnectionConstruction : ADOConnectionConstruction15
{};

struct __declspec(uuid("00000514-0000-0010-8000-00aa006d2ea4"))
Connection;
    // [ default ] interface _Connection
    // [ default, source ] dispinterface ConnectionEvents

struct __declspec(uuid("00001562-0000-0010-8000-00aa006d2ea4"))
_Record : _ADO
{
    //
    // Property data
    //

    __declspec(property(get=GetFields))
    FieldsPtr Fields;
    __declspec(property(get=GetState))
    enum ObjectStateEnum State;
    __declspec(property(get=GetMode,put=PutMode))
    enum ConnectModeEnum Mode;
    __declspec(property(get=GetParentURL))
    _bstr_t ParentURL;
    __declspec(property(get=GetRecordType))
    enum RecordTypeEnum RecordType;

    //
    // Wrapper methods for error-handling
    //

    _variant_t GetActiveConnection ( );
    void PutActiveConnection (
        _bstr_t pvar );
    void PutRefActiveConnection (
        struct _Connection * pvar );
    enum ObjectStateEnum GetState ( );
    _variant_t GetSource ( );
    void PutSource (
        _bstr_t pvar );
    void PutRefSource (
        IDispatch * pvar );
    enum ConnectModeEnum GetMode ( );
    void PutMode (
        enum ConnectModeEnum pMode );
    _bstr_t GetParentURL ( );
    _bstr_t MoveRecord (
        _bstr_t Source,
        _bstr_t Destination,
        _bstr_t UserName,
        _bstr_t Password,
        enum MoveRecordOptionsEnum Options,
        VARIANT_BOOL Async );
    _bstr_t CopyRecord (
        _bstr_t Source,
        _bstr_t Destination,
        _bstr_t UserName,
        _bstr_t Password,
        enum CopyRecordOptionsEnum Options,
        VARIANT_BOOL Async );
    HRESULT DeleteRecord (
        _bstr_t Source,
        VARIANT_BOOL Async );
    HRESULT Open (
        const _variant_t & Source,
        const _variant_t & ActiveConnection,
        enum ConnectModeEnum Mode,
        enum RecordCreateOptionsEnum CreateOptions,
        enum RecordOpenOptionsEnum Options,
        _bstr_t UserName,
        _bstr_t Password );
    HRESULT Close ( );
    FieldsPtr GetFields ( );
    enum RecordTypeEnum GetRecordType ( );
    _RecordsetPtr GetChildren ( );
    HRESULT Cancel ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_ActiveConnection (
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall put_ActiveConnection (
        BSTR pvar ) = 0;
    virtual HRESULT __stdcall putref_ActiveConnection (
        struct _Connection * pvar ) = 0;
    virtual HRESULT __stdcall get_State (
        enum ObjectStateEnum * pState ) = 0;
    virtual HRESULT __stdcall get_Source (
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall put_Source (
        BSTR pvar ) = 0;
    virtual HRESULT __stdcall putref_Source (
        IDispatch * pvar ) = 0;
    virtual HRESULT __stdcall get_Mode (
        enum ConnectModeEnum * pMode ) = 0;
    virtual HRESULT __stdcall put_Mode (
        enum ConnectModeEnum pMode ) = 0;
    virtual HRESULT __stdcall get_ParentURL (
        BSTR * pbstrParentURL ) = 0;
    virtual HRESULT __stdcall raw_MoveRecord (
        BSTR Source,
        BSTR Destination,
        BSTR UserName,
        BSTR Password,
        enum MoveRecordOptionsEnum Options,
        VARIANT_BOOL Async,
        BSTR * pbstrNewURL ) = 0;
    virtual HRESULT __stdcall raw_CopyRecord (
        BSTR Source,
        BSTR Destination,
        BSTR UserName,
        BSTR Password,
        enum CopyRecordOptionsEnum Options,
        VARIANT_BOOL Async,
        BSTR * pbstrNewURL ) = 0;
    virtual HRESULT __stdcall raw_DeleteRecord (
        BSTR Source,
        VARIANT_BOOL Async ) = 0;
    virtual HRESULT __stdcall raw_Open (
        VARIANT Source,
        VARIANT ActiveConnection,
        enum ConnectModeEnum Mode,
        enum RecordCreateOptionsEnum CreateOptions,
        enum RecordOpenOptionsEnum Options,
        BSTR UserName,
        BSTR Password ) = 0;
    virtual HRESULT __stdcall raw_Close ( ) = 0;
    virtual HRESULT __stdcall get_Fields (
        struct Fields * * ppFlds ) = 0;
    virtual HRESULT __stdcall get_RecordType (
        enum RecordTypeEnum * ptype ) = 0;
    virtual HRESULT __stdcall raw_GetChildren (
        struct _Recordset * * pprset ) = 0;
    virtual HRESULT __stdcall raw_Cancel ( ) = 0;
};

struct __declspec(uuid("00000560-0000-0010-8000-00aa006d2ea4"))
Record;
    // [ default ] interface _Record

struct __declspec(uuid("00001565-0000-0010-8000-00aa006d2ea4"))
_Stream : IDispatch
{
    //
    // Property data
    //

    __declspec(property(get=GetSize))
    long Size;
    __declspec(property(get=GetEOS))
    VARIANT_BOOL EOS;
    __declspec(property(get=GetPosition,put=PutPosition))
    long Position;
    __declspec(property(get=GetType,put=PutType))
    enum StreamTypeEnum Type;
    __declspec(property(get=GetLineSeparator,put=PutLineSeparator))
    enum LineSeparatorEnum LineSeparator;
    __declspec(property(get=GetState))
    enum ObjectStateEnum State;
    __declspec(property(get=GetMode,put=PutMode))
    enum ConnectModeEnum Mode;
    __declspec(property(get=GetCharset,put=PutCharset))
    _bstr_t Charset;

    //
    // Wrapper methods for error-handling
    //

    long GetSize ( );
    VARIANT_BOOL GetEOS ( );
    long GetPosition ( );
    void PutPosition (
        long pPos );
    enum StreamTypeEnum GetType ( );
    void PutType (
        enum StreamTypeEnum ptype );
    enum LineSeparatorEnum GetLineSeparator ( );
    void PutLineSeparator (
        enum LineSeparatorEnum pLS );
    enum ObjectStateEnum GetState ( );
    enum ConnectModeEnum GetMode ( );
    void PutMode (
        enum ConnectModeEnum pMode );
    _bstr_t GetCharset ( );
    void PutCharset (
        _bstr_t pbstrCharset );
    _variant_t Read (
        long NumBytes );
    HRESULT Open (
        const _variant_t & Source,
        enum ConnectModeEnum Mode,
        enum StreamOpenOptionsEnum Options,
        _bstr_t UserName,
        _bstr_t Password );
    HRESULT Close ( );
    HRESULT SkipLine ( );
    HRESULT Write (
        const _variant_t & Buffer );
    HRESULT SetEOS ( );
    HRESULT CopyTo (
        struct _Stream * DestStream,
        long CharNumber );
    HRESULT Flush ( );
    HRESULT SaveToFile (
        _bstr_t FileName,
        enum SaveOptionsEnum Options );
    HRESULT LoadFromFile (
        _bstr_t FileName );
    _bstr_t ReadText (
        long NumChars );
    HRESULT WriteText (
        _bstr_t Data,
        enum StreamWriteEnum Options );
    HRESULT Cancel ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_Size (
        long * pSize ) = 0;
    virtual HRESULT __stdcall get_EOS (
        VARIANT_BOOL * pEOS ) = 0;
    virtual HRESULT __stdcall get_Position (
        long * pPos ) = 0;
    virtual HRESULT __stdcall put_Position (
        long pPos ) = 0;
    virtual HRESULT __stdcall get_Type (
        enum StreamTypeEnum * ptype ) = 0;
    virtual HRESULT __stdcall put_Type (
        enum StreamTypeEnum ptype ) = 0;
    virtual HRESULT __stdcall get_LineSeparator (
        enum LineSeparatorEnum * pLS ) = 0;
    virtual HRESULT __stdcall put_LineSeparator (
        enum LineSeparatorEnum pLS ) = 0;
    virtual HRESULT __stdcall get_State (
        enum ObjectStateEnum * pState ) = 0;
    virtual HRESULT __stdcall get_Mode (
        enum ConnectModeEnum * pMode ) = 0;
    virtual HRESULT __stdcall put_Mode (
        enum ConnectModeEnum pMode ) = 0;
    virtual HRESULT __stdcall get_Charset (
        BSTR * pbstrCharset ) = 0;
    virtual HRESULT __stdcall put_Charset (
        BSTR pbstrCharset ) = 0;
    virtual HRESULT __stdcall raw_Read (
        long NumBytes,
        VARIANT * pval ) = 0;
    virtual HRESULT __stdcall raw_Open (
        VARIANT Source,
        enum ConnectModeEnum Mode,
        enum StreamOpenOptionsEnum Options,
        BSTR UserName,
        BSTR Password ) = 0;
    virtual HRESULT __stdcall raw_Close ( ) = 0;
    virtual HRESULT __stdcall raw_SkipLine ( ) = 0;
    virtual HRESULT __stdcall raw_Write (
        VARIANT Buffer ) = 0;
    virtual HRESULT __stdcall raw_SetEOS ( ) = 0;
    virtual HRESULT __stdcall raw_CopyTo (
        struct _Stream * DestStream,
        long CharNumber ) = 0;
    virtual HRESULT __stdcall raw_Flush ( ) = 0;
    virtual HRESULT __stdcall raw_SaveToFile (
        BSTR FileName,
        enum SaveOptionsEnum Options ) = 0;
    virtual HRESULT __stdcall raw_LoadFromFile (
        BSTR FileName ) = 0;
    virtual HRESULT __stdcall raw_ReadText (
        long NumChars,
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall raw_WriteText (
        BSTR Data,
        enum StreamWriteEnum Options ) = 0;
    virtual HRESULT __stdcall raw_Cancel ( ) = 0;
};

struct __declspec(uuid("00000566-0000-0010-8000-00aa006d2ea4"))
Stream;
    // [ default ] interface _Stream

struct __declspec(uuid("00000567-0000-0010-8000-00aa006d2ea4"))
ADORecordConstruction : IDispatch
{
    //
    // Property data
    //

    __declspec(property(get=GetRow,put=PutRow))
    IUnknownPtr Row;
    __declspec(property(put=PutParentRow))
    IUnknownPtr ParentRow;

    //
    // Wrapper methods for error-handling
    //

    IUnknownPtr GetRow ( );
    void PutRow (
        IUnknown * ppRow );
    void PutParentRow (
        IUnknown * _arg1 );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_Row (
        IUnknown * * ppRow ) = 0;
    virtual HRESULT __stdcall put_Row (
        IUnknown * ppRow ) = 0;
    virtual HRESULT __stdcall put_ParentRow (
        IUnknown * _arg1 ) = 0;
};

struct __declspec(uuid("00000568-0000-0010-8000-00aa006d2ea4"))
ADOStreamConstruction : IDispatch
{
    //
    // Property data
    //

    __declspec(property(get=GetStream,put=PutStream))
    IUnknownPtr Stream;

    //
    // Wrapper methods for error-handling
    //

    IUnknownPtr GetStream ( );
    void PutStream (
        IUnknown * ppStm );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_Stream (
        IUnknown * * ppStm ) = 0;
    virtual HRESULT __stdcall put_Stream (
        IUnknown * ppStm ) = 0;
};

struct __declspec(uuid("00000517-0000-0010-8000-00aa006d2ea4"))
ADOCommandConstruction : IUnknown
{
    //
    // Property data
    //

    __declspec(property(get=GetOLEDBCommand,put=PutOLEDBCommand))
    IUnknownPtr OLEDBCommand;

    //
    // Wrapper methods for error-handling
    //

    IUnknownPtr GetOLEDBCommand ( );
    void PutOLEDBCommand (
        IUnknown * ppOLEDBCommand );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_OLEDBCommand (
        IUnknown * * ppOLEDBCommand ) = 0;
    virtual HRESULT __stdcall put_OLEDBCommand (
        IUnknown * ppOLEDBCommand ) = 0;
};

struct __declspec(uuid("00000507-0000-0010-8000-00aa006d2ea4"))
Command;
    // [ default ] interface _Command

struct __declspec(uuid("00000535-0000-0010-8000-00aa006d2ea4"))
Recordset;
    // [ default ] interface _Recordset
    // [ default, source ] dispinterface RecordsetEvents

struct __declspec(uuid("00000283-0000-0010-8000-00aa006d2ea4"))
ADORecordsetConstruction : IDispatch
{
    //
    // Property data
    //

    __declspec(property(get=GetRowset,put=PutRowset))
    IUnknownPtr Rowset;
    __declspec(property(get=GetChapter,put=PutChapter))
    ADO_LONGPTR Chapter;
    __declspec(property(get=GetRowPosition,put=PutRowPosition))
    IUnknownPtr RowPosition;

    //
    // Wrapper methods for error-handling
    //

    IUnknownPtr GetRowset ( );
    void PutRowset (
        IUnknown * ppRowset );
    ADO_LONGPTR GetChapter ( );
    void PutChapter (
        ADO_LONGPTR plChapter );
    IUnknownPtr GetRowPosition ( );
    void PutRowPosition (
        IUnknown * ppRowPos );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_Rowset (
        IUnknown * * ppRowset ) = 0;
    virtual HRESULT __stdcall put_Rowset (
        IUnknown * ppRowset ) = 0;
    virtual HRESULT __stdcall get_Chapter (
        ADO_LONGPTR * plChapter ) = 0;
    virtual HRESULT __stdcall put_Chapter (
        ADO_LONGPTR plChapter ) = 0;
    virtual HRESULT __stdcall get_RowPosition (
        IUnknown * * ppRowPos ) = 0;
    virtual HRESULT __stdcall put_RowPosition (
        IUnknown * ppRowPos ) = 0;
};

struct __declspec(uuid("00001505-0000-0010-8000-00aa006d2ea4"))
Field15 : _ADO
{
    //
    // Property data
    //

    __declspec(property(get=GetValue,put=PutValue))
    _variant_t Value;
    __declspec(property(get=GetName))
    _bstr_t Name;
    __declspec(property(get=GetType))
    enum DataTypeEnum Type;
    __declspec(property(get=GetDefinedSize))
    long DefinedSize;
    __declspec(property(get=GetOriginalValue))
    _variant_t OriginalValue;
    __declspec(property(get=GetUnderlyingValue))
    _variant_t UnderlyingValue;
    __declspec(property(get=GetActualSize))
    long ActualSize;
    __declspec(property(get=GetPrecision))
    unsigned char Precision;
    __declspec(property(get=GetNumericScale))
    unsigned char NumericScale;
    __declspec(property(get=GetAttributes))
    long Attributes;

    //
    // Wrapper methods for error-handling
    //

    long GetActualSize ( );
    long GetAttributes ( );
    long GetDefinedSize ( );
    _bstr_t GetName ( );
    enum DataTypeEnum GetType ( );
    _variant_t GetValue ( );
    void PutValue (
        const _variant_t & pvar );
    unsigned char GetPrecision ( );
    unsigned char GetNumericScale ( );
    HRESULT AppendChunk (
        const _variant_t & Data );
    _variant_t GetChunk (
        long Length );
    _variant_t GetOriginalValue ( );
    _variant_t GetUnderlyingValue ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_ActualSize (
        long * pl ) = 0;
    virtual HRESULT __stdcall get_Attributes (
        long * pl ) = 0;
    virtual HRESULT __stdcall get_DefinedSize (
        long * pl ) = 0;
    virtual HRESULT __stdcall get_Name (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall get_Type (
        enum DataTypeEnum * pDataType ) = 0;
    virtual HRESULT __stdcall get_Value (
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall put_Value (
        VARIANT pvar ) = 0;
    virtual HRESULT __stdcall get_Precision (
        unsigned char * pbPrecision ) = 0;
    virtual HRESULT __stdcall get_NumericScale (
        unsigned char * pbNumericScale ) = 0;
    virtual HRESULT __stdcall raw_AppendChunk (
        VARIANT Data ) = 0;
    virtual HRESULT __stdcall raw_GetChunk (
        long Length,
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall get_OriginalValue (
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall get_UnderlyingValue (
        VARIANT * pvar ) = 0;
};

struct __declspec(uuid("0000050b-0000-0010-8000-00aa006d2ea4"))
Parameter;
    // [ default ] interface _Parameter

struct __declspec(uuid("00000402-0000-0010-8000-00aa006d2ea4"))
ConnectionEventsVt_Deprecated : IUnknown
{
    //
    // Wrapper methods for error-handling
    //

    HRESULT InfoMessage (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection_Deprecated * pConnection );
    HRESULT BeginTransComplete (
        long TransactionLevel,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection_Deprecated * pConnection );
    HRESULT CommitTransComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection_Deprecated * pConnection );
    HRESULT RollbackTransComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection_Deprecated * pConnection );
    HRESULT WillExecute (
        BSTR * Source,
        enum CursorTypeEnum * CursorType,
        enum LockTypeEnum * LockType,
        long * Options,
        enum EventStatusEnum * adStatus,
        struct _Command_Deprecated * pCommand,
        struct _Recordset_Deprecated * pRecordset,
        struct _Connection_Deprecated * pConnection );
    HRESULT ExecuteComplete (
        long RecordsAffected,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Command_Deprecated * pCommand,
        struct _Recordset_Deprecated * pRecordset,
        struct _Connection_Deprecated * pConnection );
    HRESULT WillConnect (
        BSTR * ConnectionString,
        BSTR * UserID,
        BSTR * Password,
        long * Options,
        enum EventStatusEnum * adStatus,
        struct _Connection_Deprecated * pConnection );
    HRESULT ConnectComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection_Deprecated * pConnection );
    HRESULT Disconnect (
        enum EventStatusEnum * adStatus,
        struct _Connection_Deprecated * pConnection );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall raw_InfoMessage (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection_Deprecated * pConnection ) = 0;
    virtual HRESULT __stdcall raw_BeginTransComplete (
        long TransactionLevel,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection_Deprecated * pConnection ) = 0;
    virtual HRESULT __stdcall raw_CommitTransComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection_Deprecated * pConnection ) = 0;
    virtual HRESULT __stdcall raw_RollbackTransComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection_Deprecated * pConnection ) = 0;
    virtual HRESULT __stdcall raw_WillExecute (
        BSTR * Source,
        enum CursorTypeEnum * CursorType,
        enum LockTypeEnum * LockType,
        long * Options,
        enum EventStatusEnum * adStatus,
        struct _Command_Deprecated * pCommand,
        struct _Recordset_Deprecated * pRecordset,
        struct _Connection_Deprecated * pConnection ) = 0;
    virtual HRESULT __stdcall raw_ExecuteComplete (
        long RecordsAffected,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Command_Deprecated * pCommand,
        struct _Recordset_Deprecated * pRecordset,
        struct _Connection_Deprecated * pConnection ) = 0;
    virtual HRESULT __stdcall raw_WillConnect (
        BSTR * ConnectionString,
        BSTR * UserID,
        BSTR * Password,
        long * Options,
        enum EventStatusEnum * adStatus,
        struct _Connection_Deprecated * pConnection ) = 0;
    virtual HRESULT __stdcall raw_ConnectComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection_Deprecated * pConnection ) = 0;
    virtual HRESULT __stdcall raw_Disconnect (
        enum EventStatusEnum * adStatus,
        struct _Connection_Deprecated * pConnection ) = 0;
};

struct __declspec(uuid("00000515-0000-0010-8000-00aa006d2ea4"))
Connection15_Deprecated : _ADO
{
    //
    // Property data
    //

    __declspec(property(get=GetConnectionString,put=PutConnectionString))
    _bstr_t ConnectionString;
    __declspec(property(get=GetCommandTimeout,put=PutCommandTimeout))
    long CommandTimeout;
    __declspec(property(get=GetConnectionTimeout,put=PutConnectionTimeout))
    long ConnectionTimeout;
    __declspec(property(get=GetVersion))
    _bstr_t Version;
    __declspec(property(get=GetErrors))
    ErrorsPtr Errors;
    __declspec(property(get=GetDefaultDatabase,put=PutDefaultDatabase))
    _bstr_t DefaultDatabase;
    __declspec(property(get=GetIsolationLevel,put=PutIsolationLevel))
    enum IsolationLevelEnum IsolationLevel;
    __declspec(property(get=GetAttributes,put=PutAttributes))
    long Attributes;
    __declspec(property(get=GetCursorLocation,put=PutCursorLocation))
    enum CursorLocationEnum CursorLocation;
    __declspec(property(get=GetMode,put=PutMode))
    enum ConnectModeEnum Mode;
    __declspec(property(get=GetProvider,put=PutProvider))
    _bstr_t Provider;
    __declspec(property(get=GetState))
    long State;

    //
    // Wrapper methods for error-handling
    //

    _bstr_t GetConnectionString ( );
    void PutConnectionString (
        _bstr_t pbstr );
    long GetCommandTimeout ( );
    void PutCommandTimeout (
        long plTimeout );
    long GetConnectionTimeout ( );
    void PutConnectionTimeout (
        long plTimeout );
    _bstr_t GetVersion ( );
    HRESULT Close ( );
    _Recordset_DeprecatedPtr Execute (
        _bstr_t CommandText,
        VARIANT * RecordsAffected,
        long Options );
    long BeginTrans ( );
    HRESULT CommitTrans ( );
    HRESULT RollbackTrans ( );
    HRESULT Open (
        _bstr_t ConnectionString,
        _bstr_t UserID,
        _bstr_t Password,
        long Options );
    ErrorsPtr GetErrors ( );
    _bstr_t GetDefaultDatabase ( );
    void PutDefaultDatabase (
        _bstr_t pbstr );
    enum IsolationLevelEnum GetIsolationLevel ( );
    void PutIsolationLevel (
        enum IsolationLevelEnum Level );
    long GetAttributes ( );
    void PutAttributes (
        long plAttr );
    enum CursorLocationEnum GetCursorLocation ( );
    void PutCursorLocation (
        enum CursorLocationEnum plCursorLoc );
    enum ConnectModeEnum GetMode ( );
    void PutMode (
        enum ConnectModeEnum plMode );
    _bstr_t GetProvider ( );
    void PutProvider (
        _bstr_t pbstr );
    long GetState ( );
    _Recordset_DeprecatedPtr OpenSchema (
        enum SchemaEnum Schema,
        const _variant_t & Restrictions = vtMissing,
        const _variant_t & SchemaID = vtMissing );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_ConnectionString (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall put_ConnectionString (
        BSTR pbstr ) = 0;
    virtual HRESULT __stdcall get_CommandTimeout (
        long * plTimeout ) = 0;
    virtual HRESULT __stdcall put_CommandTimeout (
        long plTimeout ) = 0;
    virtual HRESULT __stdcall get_ConnectionTimeout (
        long * plTimeout ) = 0;
    virtual HRESULT __stdcall put_ConnectionTimeout (
        long plTimeout ) = 0;
    virtual HRESULT __stdcall get_Version (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall raw_Close ( ) = 0;
    virtual HRESULT __stdcall raw_Execute (
        BSTR CommandText,
        VARIANT * RecordsAffected,
        long Options,
        struct _Recordset_Deprecated * * ppiRset ) = 0;
    virtual HRESULT __stdcall raw_BeginTrans (
        long * TransactionLevel ) = 0;
    virtual HRESULT __stdcall raw_CommitTrans ( ) = 0;
    virtual HRESULT __stdcall raw_RollbackTrans ( ) = 0;
    virtual HRESULT __stdcall raw_Open (
        BSTR ConnectionString,
        BSTR UserID,
        BSTR Password,
        long Options ) = 0;
    virtual HRESULT __stdcall get_Errors (
        struct Errors * * ppvObject ) = 0;
    virtual HRESULT __stdcall get_DefaultDatabase (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall put_DefaultDatabase (
        BSTR pbstr ) = 0;
    virtual HRESULT __stdcall get_IsolationLevel (
        enum IsolationLevelEnum * Level ) = 0;
    virtual HRESULT __stdcall put_IsolationLevel (
        enum IsolationLevelEnum Level ) = 0;
    virtual HRESULT __stdcall get_Attributes (
        long * plAttr ) = 0;
    virtual HRESULT __stdcall put_Attributes (
        long plAttr ) = 0;
    virtual HRESULT __stdcall get_CursorLocation (
        enum CursorLocationEnum * plCursorLoc ) = 0;
    virtual HRESULT __stdcall put_CursorLocation (
        enum CursorLocationEnum plCursorLoc ) = 0;
    virtual HRESULT __stdcall get_Mode (
        enum ConnectModeEnum * plMode ) = 0;
    virtual HRESULT __stdcall put_Mode (
        enum ConnectModeEnum plMode ) = 0;
    virtual HRESULT __stdcall get_Provider (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall put_Provider (
        BSTR pbstr ) = 0;
    virtual HRESULT __stdcall get_State (
        long * plObjState ) = 0;
    virtual HRESULT __stdcall raw_OpenSchema (
        enum SchemaEnum Schema,
        VARIANT Restrictions,
        VARIANT SchemaID,
        struct _Recordset_Deprecated * * pprset ) = 0;
};

struct __declspec(uuid("00000550-0000-0010-8000-00aa006d2ea4"))
_Connection_Deprecated : Connection15_Deprecated
{
    //
    // Wrapper methods for error-handling
    //

    HRESULT Cancel ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall raw_Cancel ( ) = 0;
};

struct __declspec(uuid("0000050e-0000-0010-8000-00aa006d2ea4"))
Recordset15_Deprecated : _ADO
{
    //
    // Property data
    //

    __declspec(property(get=GetFields))
    Fields_DeprecatedPtr Fields;
    __declspec(property(get=GetPageSize,put=PutPageSize))
    long PageSize;
    __declspec(property(get=GetPageCount))
    ADO_LONGPTR PageCount;
    __declspec(property(get=GetCursorLocation,put=PutCursorLocation))
    enum CursorLocationEnum CursorLocation;
    __declspec(property(get=GetState))
    long State;
    __declspec(property(get=GetMarshalOptions,put=PutMarshalOptions))
    enum MarshalOptionsEnum MarshalOptions;
    __declspec(property(get=GetCollect,put=PutCollect))
    _variant_t Collect[];
    __declspec(property(get=GetEditMode))
    enum EditModeEnum EditMode;
    __declspec(property(get=GetStatus))
    long Status;
    __declspec(property(get=GetFilter,put=PutFilter))
    _variant_t Filter;
    __declspec(property(get=GetSort,put=PutSort))
    _bstr_t Sort;
    __declspec(property(get=GetAbsolutePosition,put=PutAbsolutePosition))
    PositionEnum_Param AbsolutePosition;
    __declspec(property(get=GetadoBOF))
    VARIANT_BOOL adoBOF;
    __declspec(property(get=GetBookmark,put=PutBookmark))
    _variant_t Bookmark;
    __declspec(property(get=GetCacheSize,put=PutCacheSize))
    long CacheSize;
    __declspec(property(get=GetCursorType,put=PutCursorType))
    enum CursorTypeEnum CursorType;
    __declspec(property(get=GetadoEOF))
    VARIANT_BOOL adoEOF;
    __declspec(property(get=GetAbsolutePage,put=PutAbsolutePage))
    PositionEnum_Param AbsolutePage;
    __declspec(property(get=GetLockType,put=PutLockType))
    enum LockTypeEnum LockType;
    __declspec(property(get=GetMaxRecords,put=PutMaxRecords))
    ADO_LONGPTR MaxRecords;
    __declspec(property(get=GetRecordCount))
    ADO_LONGPTR RecordCount;

    //
    // Wrapper methods for error-handling
    //

    PositionEnum_Param GetAbsolutePosition ( );
    void PutAbsolutePosition (
        PositionEnum_Param pl );
    void PutRefActiveConnection (
        IDispatch * pvar );
    void PutActiveConnection (
        const _variant_t & pvar );
    _variant_t GetActiveConnection ( );
    VARIANT_BOOL GetadoBOF ( );
    _variant_t GetBookmark ( );
    void PutBookmark (
        const _variant_t & pvBookmark );
    long GetCacheSize ( );
    void PutCacheSize (
        long pl );
    enum CursorTypeEnum GetCursorType ( );
    void PutCursorType (
        enum CursorTypeEnum plCursorType );
    VARIANT_BOOL GetadoEOF ( );
    Fields_DeprecatedPtr GetFields ( );
    enum LockTypeEnum GetLockType ( );
    void PutLockType (
        enum LockTypeEnum plLockType );
    ADO_LONGPTR GetMaxRecords ( );
    void PutMaxRecords (
        ADO_LONGPTR plMaxRecords );
    ADO_LONGPTR GetRecordCount ( );
    void PutRefSource (
        IDispatch * pvSource );
    void PutSource (
        _bstr_t pvSource );
    _variant_t GetSource ( );
    HRESULT AddNew (
        const _variant_t & FieldList = vtMissing,
        const _variant_t & Values = vtMissing );
    HRESULT CancelUpdate ( );
    HRESULT Close ( );
    HRESULT Delete (
        enum AffectEnum AffectRecords );
    _variant_t GetRows (
        long Rows,
        const _variant_t & Start = vtMissing,
        const _variant_t & Fields = vtMissing );
    HRESULT Move (
        ADO_LONGPTR NumRecords,
        const _variant_t & Start = vtMissing );
    HRESULT MoveNext ( );
    HRESULT MovePrevious ( );
    HRESULT MoveFirst ( );
    HRESULT MoveLast ( );
    HRESULT Open (
        const _variant_t & Source,
        const _variant_t & ActiveConnection,
        enum CursorTypeEnum CursorType,
        enum LockTypeEnum LockType,
        long Options );
    HRESULT Requery (
        long Options );
    HRESULT _xResync (
        enum AffectEnum AffectRecords );
    HRESULT Update (
        const _variant_t & Fields = vtMissing,
        const _variant_t & Values = vtMissing );
    PositionEnum_Param GetAbsolutePage ( );
    void PutAbsolutePage (
        PositionEnum_Param pl );
    enum EditModeEnum GetEditMode ( );
    _variant_t GetFilter ( );
    void PutFilter (
        const _variant_t & Criteria );
    ADO_LONGPTR GetPageCount ( );
    long GetPageSize ( );
    void PutPageSize (
        long pl );
    _bstr_t GetSort ( );
    void PutSort (
        _bstr_t Criteria );
    long GetStatus ( );
    long GetState ( );
    _Recordset_DeprecatedPtr _xClone ( );
    HRESULT UpdateBatch (
        enum AffectEnum AffectRecords );
    HRESULT CancelBatch (
        enum AffectEnum AffectRecords );
    enum CursorLocationEnum GetCursorLocation ( );
    void PutCursorLocation (
        enum CursorLocationEnum plCursorLoc );
    _Recordset_DeprecatedPtr NextRecordset (
        VARIANT * RecordsAffected );
    VARIANT_BOOL Supports (
        enum CursorOptionEnum CursorOptions );
    _variant_t GetCollect (
        const _variant_t & Index );
    void PutCollect (
        const _variant_t & Index,
        const _variant_t & pvar );
    enum MarshalOptionsEnum GetMarshalOptions ( );
    void PutMarshalOptions (
        enum MarshalOptionsEnum peMarshal );
    HRESULT Find (
        _bstr_t Criteria,
        ADO_LONGPTR SkipRecords,
        enum SearchDirectionEnum SearchDirection,
        const _variant_t & Start = vtMissing );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_AbsolutePosition (
        PositionEnum_Param * pl ) = 0;
    virtual HRESULT __stdcall put_AbsolutePosition (
        PositionEnum_Param pl ) = 0;
    virtual HRESULT __stdcall putref_ActiveConnection (
        IDispatch * pvar ) = 0;
    virtual HRESULT __stdcall put_ActiveConnection (
        VARIANT pvar ) = 0;
    virtual HRESULT __stdcall get_ActiveConnection (
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall get_adoBOF (
        VARIANT_BOOL * pb ) = 0;
    virtual HRESULT __stdcall get_Bookmark (
        VARIANT * pvBookmark ) = 0;
    virtual HRESULT __stdcall put_Bookmark (
        VARIANT pvBookmark ) = 0;
    virtual HRESULT __stdcall get_CacheSize (
        long * pl ) = 0;
    virtual HRESULT __stdcall put_CacheSize (
        long pl ) = 0;
    virtual HRESULT __stdcall get_CursorType (
        enum CursorTypeEnum * plCursorType ) = 0;
    virtual HRESULT __stdcall put_CursorType (
        enum CursorTypeEnum plCursorType ) = 0;
    virtual HRESULT __stdcall get_adoEOF (
        VARIANT_BOOL * pb ) = 0;
    virtual HRESULT __stdcall get_Fields (
        struct Fields_Deprecated * * ppvObject ) = 0;
    virtual HRESULT __stdcall get_LockType (
        enum LockTypeEnum * plLockType ) = 0;
    virtual HRESULT __stdcall put_LockType (
        enum LockTypeEnum plLockType ) = 0;
    virtual HRESULT __stdcall get_MaxRecords (
        ADO_LONGPTR * plMaxRecords ) = 0;
    virtual HRESULT __stdcall put_MaxRecords (
        ADO_LONGPTR plMaxRecords ) = 0;
    virtual HRESULT __stdcall get_RecordCount (
        ADO_LONGPTR * pl ) = 0;
    virtual HRESULT __stdcall putref_Source (
        IDispatch * pvSource ) = 0;
    virtual HRESULT __stdcall put_Source (
        BSTR pvSource ) = 0;
    virtual HRESULT __stdcall get_Source (
        VARIANT * pvSource ) = 0;
    virtual HRESULT __stdcall raw_AddNew (
        VARIANT FieldList = vtMissing,
        VARIANT Values = vtMissing ) = 0;
    virtual HRESULT __stdcall raw_CancelUpdate ( ) = 0;
    virtual HRESULT __stdcall raw_Close ( ) = 0;
    virtual HRESULT __stdcall raw_Delete (
        enum AffectEnum AffectRecords ) = 0;
    virtual HRESULT __stdcall raw_GetRows (
        long Rows,
        VARIANT Start,
        VARIANT Fields,
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall raw_Move (
        ADO_LONGPTR NumRecords,
        VARIANT Start = vtMissing ) = 0;
    virtual HRESULT __stdcall raw_MoveNext ( ) = 0;
    virtual HRESULT __stdcall raw_MovePrevious ( ) = 0;
    virtual HRESULT __stdcall raw_MoveFirst ( ) = 0;
    virtual HRESULT __stdcall raw_MoveLast ( ) = 0;
    virtual HRESULT __stdcall raw_Open (
        VARIANT Source,
        VARIANT ActiveConnection,
        enum CursorTypeEnum CursorType,
        enum LockTypeEnum LockType,
        long Options ) = 0;
    virtual HRESULT __stdcall raw_Requery (
        long Options ) = 0;
    virtual HRESULT __stdcall raw__xResync (
        enum AffectEnum AffectRecords ) = 0;
    virtual HRESULT __stdcall raw_Update (
        VARIANT Fields = vtMissing,
        VARIANT Values = vtMissing ) = 0;
    virtual HRESULT __stdcall get_AbsolutePage (
        PositionEnum_Param * pl ) = 0;
    virtual HRESULT __stdcall put_AbsolutePage (
        PositionEnum_Param pl ) = 0;
    virtual HRESULT __stdcall get_EditMode (
        enum EditModeEnum * pl ) = 0;
    virtual HRESULT __stdcall get_Filter (
        VARIANT * Criteria ) = 0;
    virtual HRESULT __stdcall put_Filter (
        VARIANT Criteria ) = 0;
    virtual HRESULT __stdcall get_PageCount (
        ADO_LONGPTR * pl ) = 0;
    virtual HRESULT __stdcall get_PageSize (
        long * pl ) = 0;
    virtual HRESULT __stdcall put_PageSize (
        long pl ) = 0;
    virtual HRESULT __stdcall get_Sort (
        BSTR * Criteria ) = 0;
    virtual HRESULT __stdcall put_Sort (
        BSTR Criteria ) = 0;
    virtual HRESULT __stdcall get_Status (
        long * pl ) = 0;
    virtual HRESULT __stdcall get_State (
        long * plObjState ) = 0;
    virtual HRESULT __stdcall raw__xClone (
        struct _Recordset_Deprecated * * ppvObject ) = 0;
    virtual HRESULT __stdcall raw_UpdateBatch (
        enum AffectEnum AffectRecords ) = 0;
    virtual HRESULT __stdcall raw_CancelBatch (
        enum AffectEnum AffectRecords ) = 0;
    virtual HRESULT __stdcall get_CursorLocation (
        enum CursorLocationEnum * plCursorLoc ) = 0;
    virtual HRESULT __stdcall put_CursorLocation (
        enum CursorLocationEnum plCursorLoc ) = 0;
    virtual HRESULT __stdcall raw_NextRecordset (
        VARIANT * RecordsAffected,
        struct _Recordset_Deprecated * * ppiRs ) = 0;
    virtual HRESULT __stdcall raw_Supports (
        enum CursorOptionEnum CursorOptions,
        VARIANT_BOOL * pb ) = 0;
    virtual HRESULT __stdcall get_Collect (
        VARIANT Index,
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall put_Collect (
        VARIANT Index,
        VARIANT pvar ) = 0;
    virtual HRESULT __stdcall get_MarshalOptions (
        enum MarshalOptionsEnum * peMarshal ) = 0;
    virtual HRESULT __stdcall put_MarshalOptions (
        enum MarshalOptionsEnum peMarshal ) = 0;
    virtual HRESULT __stdcall raw_Find (
        BSTR Criteria,
        ADO_LONGPTR SkipRecords,
        enum SearchDirectionEnum SearchDirection,
        VARIANT Start = vtMissing ) = 0;
};

struct __declspec(uuid("0000054f-0000-0010-8000-00aa006d2ea4"))
Recordset20_Deprecated : Recordset15_Deprecated
{
    //
    // Property data
    //

    __declspec(property(get=GetDataSource,put=PutRefDataSource))
    IUnknownPtr DataSource;
    __declspec(property(get=GetActiveCommand))
    IDispatchPtr ActiveCommand;
    __declspec(property(get=GetStayInSync,put=PutStayInSync))
    VARIANT_BOOL StayInSync;
    __declspec(property(get=GetDataMember,put=PutDataMember))
    _bstr_t DataMember;

    //
    // Wrapper methods for error-handling
    //

    HRESULT Cancel ( );
    IUnknownPtr GetDataSource ( );
    void PutRefDataSource (
        IUnknown * ppunkDataSource );
    HRESULT _xSave (
        _bstr_t FileName,
        enum PersistFormatEnum PersistFormat );
    IDispatchPtr GetActiveCommand ( );
    void PutStayInSync (
        VARIANT_BOOL pbStayInSync );
    VARIANT_BOOL GetStayInSync ( );
    _bstr_t GetString (
        enum StringFormatEnum StringFormat,
        long NumRows,
        _bstr_t ColumnDelimeter,
        _bstr_t RowDelimeter,
        _bstr_t NullExpr );
    _bstr_t GetDataMember ( );
    void PutDataMember (
        _bstr_t pbstrDataMember );
    enum CompareEnum CompareBookmarks (
        const _variant_t & Bookmark1,
        const _variant_t & Bookmark2 );
    _Recordset_DeprecatedPtr Clone (
        enum LockTypeEnum LockType );
    HRESULT Resync (
        enum AffectEnum AffectRecords,
        enum ResyncEnum ResyncValues );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall raw_Cancel ( ) = 0;
    virtual HRESULT __stdcall get_DataSource (
        IUnknown * * ppunkDataSource ) = 0;
    virtual HRESULT __stdcall putref_DataSource (
        IUnknown * ppunkDataSource ) = 0;
    virtual HRESULT __stdcall raw__xSave (
        BSTR FileName,
        enum PersistFormatEnum PersistFormat ) = 0;
    virtual HRESULT __stdcall get_ActiveCommand (
        IDispatch * * ppCmd ) = 0;
    virtual HRESULT __stdcall put_StayInSync (
        VARIANT_BOOL pbStayInSync ) = 0;
    virtual HRESULT __stdcall get_StayInSync (
        VARIANT_BOOL * pbStayInSync ) = 0;
    virtual HRESULT __stdcall raw_GetString (
        enum StringFormatEnum StringFormat,
        long NumRows,
        BSTR ColumnDelimeter,
        BSTR RowDelimeter,
        BSTR NullExpr,
        BSTR * pRetString ) = 0;
    virtual HRESULT __stdcall get_DataMember (
        BSTR * pbstrDataMember ) = 0;
    virtual HRESULT __stdcall put_DataMember (
        BSTR pbstrDataMember ) = 0;
    virtual HRESULT __stdcall raw_CompareBookmarks (
        VARIANT Bookmark1,
        VARIANT Bookmark2,
        enum CompareEnum * pCompare ) = 0;
    virtual HRESULT __stdcall raw_Clone (
        enum LockTypeEnum LockType,
        struct _Recordset_Deprecated * * ppvObject ) = 0;
    virtual HRESULT __stdcall raw_Resync (
        enum AffectEnum AffectRecords,
        enum ResyncEnum ResyncValues ) = 0;
};

struct __declspec(uuid("00000555-0000-0010-8000-00aa006d2ea4"))
Recordset21_Deprecated : Recordset20_Deprecated
{
    //
    // Property data
    //

    __declspec(property(get=GetIndex,put=PutIndex))
    _bstr_t Index;

    //
    // Wrapper methods for error-handling
    //

    HRESULT Seek (
        const _variant_t & KeyValues,
        enum SeekEnum SeekOption );
    void PutIndex (
        _bstr_t pbstrIndex );
    _bstr_t GetIndex ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall raw_Seek (
        VARIANT KeyValues,
        enum SeekEnum SeekOption ) = 0;
    virtual HRESULT __stdcall put_Index (
        BSTR pbstrIndex ) = 0;
    virtual HRESULT __stdcall get_Index (
        BSTR * pbstrIndex ) = 0;
};

struct __declspec(uuid("00000556-0000-0010-8000-00aa006d2ea4"))
_Recordset_Deprecated : Recordset21_Deprecated
{
    //
    // Wrapper methods for error-handling
    //

    HRESULT Save (
        const _variant_t & Destination,
        enum PersistFormatEnum PersistFormat );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall raw_Save (
        VARIANT Destination,
        enum PersistFormatEnum PersistFormat ) = 0;
};

struct __declspec(uuid("00000506-0000-0010-8000-00aa006d2ea4"))
Fields15_Deprecated : _Collection
{
    //
    // Property data
    //

    __declspec(property(get=GetItem))
    Field_DeprecatedPtr Item[];

    //
    // Wrapper methods for error-handling
    //

    Field_DeprecatedPtr GetItem (
        const _variant_t & Index );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_Item (
        VARIANT Index,
        struct Field_Deprecated * * ppvObject ) = 0;
};

struct __declspec(uuid("0000054d-0000-0010-8000-00aa006d2ea4"))
Fields20_Deprecated : Fields15_Deprecated
{
    //
    // Wrapper methods for error-handling
    //

    HRESULT _Append (
        _bstr_t Name,
        enum DataTypeEnum Type,
        ADO_LONGPTR DefinedSize,
        enum FieldAttributeEnum Attrib );
    HRESULT Delete (
        const _variant_t & Index );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall raw__Append (
        BSTR Name,
        enum DataTypeEnum Type,
        ADO_LONGPTR DefinedSize,
        enum FieldAttributeEnum Attrib ) = 0;
    virtual HRESULT __stdcall raw_Delete (
        VARIANT Index ) = 0;
};

struct __declspec(uuid("00000564-0000-0010-8000-00aa006d2ea4"))
Fields_Deprecated : Fields20_Deprecated
{
    //
    // Wrapper methods for error-handling
    //

    HRESULT Append (
        _bstr_t Name,
        enum DataTypeEnum Type,
        ADO_LONGPTR DefinedSize,
        enum FieldAttributeEnum Attrib,
        const _variant_t & FieldValue = vtMissing );
    HRESULT Update ( );
    HRESULT Resync (
        enum ResyncEnum ResyncValues );
    HRESULT CancelUpdate ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall raw_Append (
        BSTR Name,
        enum DataTypeEnum Type,
        ADO_LONGPTR DefinedSize,
        enum FieldAttributeEnum Attrib,
        VARIANT FieldValue = vtMissing ) = 0;
    virtual HRESULT __stdcall raw_Update ( ) = 0;
    virtual HRESULT __stdcall raw_Resync (
        enum ResyncEnum ResyncValues ) = 0;
    virtual HRESULT __stdcall raw_CancelUpdate ( ) = 0;
};

struct __declspec(uuid("0000054c-0000-0010-8000-00aa006d2ea4"))
Field20_Deprecated : _ADO
{
    //
    // Property data
    //

    __declspec(property(get=GetValue,put=PutValue))
    _variant_t Value;
    __declspec(property(get=GetName))
    _bstr_t Name;
    __declspec(property(get=GetType,put=PutType))
    enum DataTypeEnum Type;
    __declspec(property(get=GetDefinedSize,put=PutDefinedSize))
    ADO_LONGPTR DefinedSize;
    __declspec(property(get=GetOriginalValue))
    _variant_t OriginalValue;
    __declspec(property(get=GetUnderlyingValue))
    _variant_t UnderlyingValue;
    __declspec(property(get=GetActualSize))
    ADO_LONGPTR ActualSize;
    __declspec(property(get=GetPrecision,put=PutPrecision))
    unsigned char Precision;
    __declspec(property(get=GetNumericScale,put=PutNumericScale))
    unsigned char NumericScale;
    __declspec(property(get=GetAttributes,put=PutAttributes))
    long Attributes;
    __declspec(property(get=GetDataFormat,put=PutRefDataFormat))
    IUnknownPtr DataFormat;

    //
    // Wrapper methods for error-handling
    //

    ADO_LONGPTR GetActualSize ( );
    long GetAttributes ( );
    ADO_LONGPTR GetDefinedSize ( );
    _bstr_t GetName ( );
    enum DataTypeEnum GetType ( );
    _variant_t GetValue ( );
    void PutValue (
        const _variant_t & pvar );
    unsigned char GetPrecision ( );
    unsigned char GetNumericScale ( );
    HRESULT AppendChunk (
        const _variant_t & Data );
    _variant_t GetChunk (
        long Length );
    _variant_t GetOriginalValue ( );
    _variant_t GetUnderlyingValue ( );
    IUnknownPtr GetDataFormat ( );
    void PutRefDataFormat (
        IUnknown * ppiDF );
    void PutPrecision (
        unsigned char pbPrecision );
    void PutNumericScale (
        unsigned char pbNumericScale );
    void PutType (
        enum DataTypeEnum pDataType );
    void PutDefinedSize (
        ADO_LONGPTR pl );
    void PutAttributes (
        long pl );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_ActualSize (
        ADO_LONGPTR * pl ) = 0;
    virtual HRESULT __stdcall get_Attributes (
        long * pl ) = 0;
    virtual HRESULT __stdcall get_DefinedSize (
        ADO_LONGPTR * pl ) = 0;
    virtual HRESULT __stdcall get_Name (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall get_Type (
        enum DataTypeEnum * pDataType ) = 0;
    virtual HRESULT __stdcall get_Value (
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall put_Value (
        VARIANT pvar ) = 0;
    virtual HRESULT __stdcall get_Precision (
        unsigned char * pbPrecision ) = 0;
    virtual HRESULT __stdcall get_NumericScale (
        unsigned char * pbNumericScale ) = 0;
    virtual HRESULT __stdcall raw_AppendChunk (
        VARIANT Data ) = 0;
    virtual HRESULT __stdcall raw_GetChunk (
        long Length,
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall get_OriginalValue (
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall get_UnderlyingValue (
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall get_DataFormat (
        IUnknown * * ppiDF ) = 0;
    virtual HRESULT __stdcall putref_DataFormat (
        IUnknown * ppiDF ) = 0;
    virtual HRESULT __stdcall put_Precision (
        unsigned char pbPrecision ) = 0;
    virtual HRESULT __stdcall put_NumericScale (
        unsigned char pbNumericScale ) = 0;
    virtual HRESULT __stdcall put_Type (
        enum DataTypeEnum pDataType ) = 0;
    virtual HRESULT __stdcall put_DefinedSize (
        ADO_LONGPTR pl ) = 0;
    virtual HRESULT __stdcall put_Attributes (
        long pl ) = 0;
};

struct __declspec(uuid("00000569-0000-0010-8000-00aa006d2ea4"))
Field_Deprecated : Field20_Deprecated
{
    //
    // Property data
    //

    __declspec(property(get=GetStatus))
    long Status;

    //
    // Wrapper methods for error-handling
    //

    long GetStatus ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_Status (
        long * pFStatus ) = 0;
};

struct __declspec(uuid("00000508-0000-0010-8000-00aa006d2ea4"))
Command15_Deprecated : _ADO
{
    //
    // Property data
    //

    __declspec(property(get=GetParameters))
    Parameters_DeprecatedPtr Parameters;
    __declspec(property(get=GetActiveConnection,put=PutRefActiveConnection))
    _Connection_DeprecatedPtr ActiveConnection;
    __declspec(property(get=GetCommandText,put=PutCommandText))
    _bstr_t CommandText;
    __declspec(property(get=GetCommandTimeout,put=PutCommandTimeout))
    long CommandTimeout;
    __declspec(property(get=GetPrepared,put=PutPrepared))
    VARIANT_BOOL Prepared;
    __declspec(property(get=GetCommandType,put=PutCommandType))
    enum CommandTypeEnum CommandType;
    __declspec(property(get=GetName,put=PutName))
    _bstr_t Name;

    //
    // Wrapper methods for error-handling
    //

    _Connection_DeprecatedPtr GetActiveConnection ( );
    void PutRefActiveConnection (
        struct _Connection_Deprecated * ppvObject );
    void PutActiveConnection (
        const _variant_t & ppvObject );
    _bstr_t GetCommandText ( );
    void PutCommandText (
        _bstr_t pbstr );
    long GetCommandTimeout ( );
    void PutCommandTimeout (
        long pl );
    VARIANT_BOOL GetPrepared ( );
    void PutPrepared (
        VARIANT_BOOL pfPrepared );
    _Recordset_DeprecatedPtr Execute (
        VARIANT * RecordsAffected,
        VARIANT * Parameters,
        long Options );
    _Parameter_DeprecatedPtr CreateParameter (
        _bstr_t Name,
        enum DataTypeEnum Type,
        enum ParameterDirectionEnum Direction,
        ADO_LONGPTR Size,
        const _variant_t & Value = vtMissing );
    Parameters_DeprecatedPtr GetParameters ( );
    void PutCommandType (
        enum CommandTypeEnum plCmdType );
    enum CommandTypeEnum GetCommandType ( );
    _bstr_t GetName ( );
    void PutName (
        _bstr_t pbstrName );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_ActiveConnection (
        struct _Connection_Deprecated * * ppvObject ) = 0;
    virtual HRESULT __stdcall putref_ActiveConnection (
        struct _Connection_Deprecated * ppvObject ) = 0;
    virtual HRESULT __stdcall put_ActiveConnection (
        VARIANT ppvObject ) = 0;
    virtual HRESULT __stdcall get_CommandText (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall put_CommandText (
        BSTR pbstr ) = 0;
    virtual HRESULT __stdcall get_CommandTimeout (
        long * pl ) = 0;
    virtual HRESULT __stdcall put_CommandTimeout (
        long pl ) = 0;
    virtual HRESULT __stdcall get_Prepared (
        VARIANT_BOOL * pfPrepared ) = 0;
    virtual HRESULT __stdcall put_Prepared (
        VARIANT_BOOL pfPrepared ) = 0;
    virtual HRESULT __stdcall raw_Execute (
        VARIANT * RecordsAffected,
        VARIANT * Parameters,
        long Options,
        struct _Recordset_Deprecated * * ppiRs ) = 0;
    virtual HRESULT __stdcall raw_CreateParameter (
        BSTR Name,
        enum DataTypeEnum Type,
        enum ParameterDirectionEnum Direction,
        ADO_LONGPTR Size,
        VARIANT Value,
        struct _Parameter_Deprecated * * ppiprm ) = 0;
    virtual HRESULT __stdcall get_Parameters (
        struct Parameters_Deprecated * * ppvObject ) = 0;
    virtual HRESULT __stdcall put_CommandType (
        enum CommandTypeEnum plCmdType ) = 0;
    virtual HRESULT __stdcall get_CommandType (
        enum CommandTypeEnum * plCmdType ) = 0;
    virtual HRESULT __stdcall get_Name (
        BSTR * pbstrName ) = 0;
    virtual HRESULT __stdcall put_Name (
        BSTR pbstrName ) = 0;
};

struct __declspec(uuid("0000054e-0000-0010-8000-00aa006d2ea4"))
Command25_Deprecated : Command15_Deprecated
{
    //
    // Property data
    //

    __declspec(property(get=GetState))
    long State;

    //
    // Wrapper methods for error-handling
    //

    long GetState ( );
    HRESULT Cancel ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_State (
        long * plObjState ) = 0;
    virtual HRESULT __stdcall raw_Cancel ( ) = 0;
};

struct __declspec(uuid("b08400bd-f9d1-4d02-b856-71d5dba123e9"))
_Command_Deprecated : Command25_Deprecated
{
    //
    // Property data
    //

    __declspec(property(get=GetDialect,put=PutDialect))
    _bstr_t Dialect;
    __declspec(property(get=GetNamedParameters,put=PutNamedParameters))
    VARIANT_BOOL NamedParameters;

    //
    // Wrapper methods for error-handling
    //

    void PutRefCommandStream (
        IUnknown * pvStream );
    _variant_t GetCommandStream ( );
    void PutDialect (
        _bstr_t pbstrDialect );
    _bstr_t GetDialect ( );
    void PutNamedParameters (
        VARIANT_BOOL pfNamedParameters );
    VARIANT_BOOL GetNamedParameters ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall putref_CommandStream (
        IUnknown * pvStream ) = 0;
    virtual HRESULT __stdcall get_CommandStream (
        VARIANT * pvStream ) = 0;
    virtual HRESULT __stdcall put_Dialect (
        BSTR pbstrDialect ) = 0;
    virtual HRESULT __stdcall get_Dialect (
        BSTR * pbstrDialect ) = 0;
    virtual HRESULT __stdcall put_NamedParameters (
        VARIANT_BOOL pfNamedParameters ) = 0;
    virtual HRESULT __stdcall get_NamedParameters (
        VARIANT_BOOL * pfNamedParameters ) = 0;
};

struct __declspec(uuid("0000050c-0000-0010-8000-00aa006d2ea4"))
_Parameter_Deprecated : _ADO
{
    //
    // Property data
    //

    __declspec(property(get=GetValue,put=PutValue))
    _variant_t Value;
    __declspec(property(get=GetName,put=PutName))
    _bstr_t Name;
    __declspec(property(get=GetType,put=PutType))
    enum DataTypeEnum Type;
    __declspec(property(get=GetDirection,put=PutDirection))
    enum ParameterDirectionEnum Direction;
    __declspec(property(get=GetPrecision,put=PutPrecision))
    unsigned char Precision;
    __declspec(property(get=GetNumericScale,put=PutNumericScale))
    unsigned char NumericScale;
    __declspec(property(get=GetSize,put=PutSize))
    ADO_LONGPTR Size;
    __declspec(property(get=GetAttributes,put=PutAttributes))
    long Attributes;

    //
    // Wrapper methods for error-handling
    //

    _bstr_t GetName ( );
    void PutName (
        _bstr_t pbstr );
    _variant_t GetValue ( );
    void PutValue (
        const _variant_t & pvar );
    enum DataTypeEnum GetType ( );
    void PutType (
        enum DataTypeEnum psDataType );
    void PutDirection (
        enum ParameterDirectionEnum plParmDirection );
    enum ParameterDirectionEnum GetDirection ( );
    void PutPrecision (
        unsigned char pbPrecision );
    unsigned char GetPrecision ( );
    void PutNumericScale (
        unsigned char pbScale );
    unsigned char GetNumericScale ( );
    void PutSize (
        ADO_LONGPTR pl );
    ADO_LONGPTR GetSize ( );
    HRESULT AppendChunk (
        const _variant_t & Val );
    long GetAttributes ( );
    void PutAttributes (
        long plParmAttribs );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_Name (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall put_Name (
        BSTR pbstr ) = 0;
    virtual HRESULT __stdcall get_Value (
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall put_Value (
        VARIANT pvar ) = 0;
    virtual HRESULT __stdcall get_Type (
        enum DataTypeEnum * psDataType ) = 0;
    virtual HRESULT __stdcall put_Type (
        enum DataTypeEnum psDataType ) = 0;
    virtual HRESULT __stdcall put_Direction (
        enum ParameterDirectionEnum plParmDirection ) = 0;
    virtual HRESULT __stdcall get_Direction (
        enum ParameterDirectionEnum * plParmDirection ) = 0;
    virtual HRESULT __stdcall put_Precision (
        unsigned char pbPrecision ) = 0;
    virtual HRESULT __stdcall get_Precision (
        unsigned char * pbPrecision ) = 0;
    virtual HRESULT __stdcall put_NumericScale (
        unsigned char pbScale ) = 0;
    virtual HRESULT __stdcall get_NumericScale (
        unsigned char * pbScale ) = 0;
    virtual HRESULT __stdcall put_Size (
        ADO_LONGPTR pl ) = 0;
    virtual HRESULT __stdcall get_Size (
        ADO_LONGPTR * pl ) = 0;
    virtual HRESULT __stdcall raw_AppendChunk (
        VARIANT Val ) = 0;
    virtual HRESULT __stdcall get_Attributes (
        long * plParmAttribs ) = 0;
    virtual HRESULT __stdcall put_Attributes (
        long plParmAttribs ) = 0;
};

struct __declspec(uuid("0000050d-0000-0010-8000-00aa006d2ea4"))
Parameters_Deprecated : _DynaCollection
{
    //
    // Property data
    //

    __declspec(property(get=GetItem))
    _Parameter_DeprecatedPtr Item[];

    //
    // Wrapper methods for error-handling
    //

    _Parameter_DeprecatedPtr GetItem (
        const _variant_t & Index );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_Item (
        VARIANT Index,
        struct _Parameter_Deprecated * * ppvObject ) = 0;
};

struct __declspec(uuid("00000403-0000-0010-8000-00aa006d2ea4"))
RecordsetEventsVt_Deprecated : IUnknown
{
    //
    // Wrapper methods for error-handling
    //

    HRESULT WillChangeField (
        long cFields,
        const _variant_t & Fields,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset );
    HRESULT FieldChangeComplete (
        long cFields,
        const _variant_t & Fields,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset );
    HRESULT WillChangeRecord (
        enum EventReasonEnum adReason,
        long cRecords,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset );
    HRESULT RecordChangeComplete (
        enum EventReasonEnum adReason,
        long cRecords,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset );
    HRESULT WillChangeRecordset (
        enum EventReasonEnum adReason,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset );
    HRESULT RecordsetChangeComplete (
        enum EventReasonEnum adReason,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset );
    HRESULT WillMove (
        enum EventReasonEnum adReason,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset );
    HRESULT MoveComplete (
        enum EventReasonEnum adReason,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset );
    HRESULT EndOfRecordset (
        VARIANT_BOOL * fMoreData,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset );
    HRESULT FetchProgress (
        long Progress,
        long MaxProgress,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset );
    HRESULT FetchComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall raw_WillChangeField (
        long cFields,
        VARIANT Fields,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset ) = 0;
    virtual HRESULT __stdcall raw_FieldChangeComplete (
        long cFields,
        VARIANT Fields,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset ) = 0;
    virtual HRESULT __stdcall raw_WillChangeRecord (
        enum EventReasonEnum adReason,
        long cRecords,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset ) = 0;
    virtual HRESULT __stdcall raw_RecordChangeComplete (
        enum EventReasonEnum adReason,
        long cRecords,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset ) = 0;
    virtual HRESULT __stdcall raw_WillChangeRecordset (
        enum EventReasonEnum adReason,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset ) = 0;
    virtual HRESULT __stdcall raw_RecordsetChangeComplete (
        enum EventReasonEnum adReason,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset ) = 0;
    virtual HRESULT __stdcall raw_WillMove (
        enum EventReasonEnum adReason,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset ) = 0;
    virtual HRESULT __stdcall raw_MoveComplete (
        enum EventReasonEnum adReason,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset ) = 0;
    virtual HRESULT __stdcall raw_EndOfRecordset (
        VARIANT_BOOL * fMoreData,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset ) = 0;
    virtual HRESULT __stdcall raw_FetchProgress (
        long Progress,
        long MaxProgress,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset ) = 0;
    virtual HRESULT __stdcall raw_FetchComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset ) = 0;
};

struct __declspec(uuid("00000400-0000-0010-8000-00aa006d2ea4"))
ConnectionEvents_Deprecated : IDispatch
{
    //
    // Wrapper methods for error-handling
    //

    // Methods:
    HRESULT InfoMessage (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection_Deprecated * pConnection );
    HRESULT BeginTransComplete (
        long TransactionLevel,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection_Deprecated * pConnection );
    HRESULT CommitTransComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection_Deprecated * pConnection );
    HRESULT RollbackTransComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection_Deprecated * pConnection );
    HRESULT WillExecute (
        BSTR * Source,
        enum CursorTypeEnum * CursorType,
        enum LockTypeEnum * LockType,
        long * Options,
        enum EventStatusEnum * adStatus,
        struct _Command_Deprecated * pCommand,
        struct _Recordset_Deprecated * pRecordset,
        struct _Connection_Deprecated * pConnection );
    HRESULT ExecuteComplete (
        long RecordsAffected,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Command_Deprecated * pCommand,
        struct _Recordset_Deprecated * pRecordset,
        struct _Connection_Deprecated * pConnection );
    HRESULT WillConnect (
        BSTR * ConnectionString,
        BSTR * UserID,
        BSTR * Password,
        long * Options,
        enum EventStatusEnum * adStatus,
        struct _Connection_Deprecated * pConnection );
    HRESULT ConnectComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Connection_Deprecated * pConnection );
    HRESULT Disconnect (
        enum EventStatusEnum * adStatus,
        struct _Connection_Deprecated * pConnection );
};

struct __declspec(uuid("00000266-0000-0010-8000-00aa006d2ea4"))
RecordsetEvents_Deprecated : IDispatch
{
    //
    // Wrapper methods for error-handling
    //

    // Methods:
    HRESULT WillChangeField (
        long cFields,
        const _variant_t & Fields,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset );
    HRESULT FieldChangeComplete (
        long cFields,
        const _variant_t & Fields,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset );
    HRESULT WillChangeRecord (
        enum EventReasonEnum adReason,
        long cRecords,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset );
    HRESULT RecordChangeComplete (
        enum EventReasonEnum adReason,
        long cRecords,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset );
    HRESULT WillChangeRecordset (
        enum EventReasonEnum adReason,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset );
    HRESULT RecordsetChangeComplete (
        enum EventReasonEnum adReason,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset );
    HRESULT WillMove (
        enum EventReasonEnum adReason,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset );
    HRESULT MoveComplete (
        enum EventReasonEnum adReason,
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset );
    HRESULT EndOfRecordset (
        VARIANT_BOOL * fMoreData,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset );
    HRESULT FetchProgress (
        long Progress,
        long MaxProgress,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset );
    HRESULT FetchComplete (
        struct Error * pError,
        enum EventStatusEnum * adStatus,
        struct _Recordset_Deprecated * pRecordset );
};

struct __declspec(uuid("00000562-0000-0010-8000-00aa006d2ea4"))
_Record_Deprecated : _ADO
{
    //
    // Property data
    //

    __declspec(property(get=GetFields))
    Fields_DeprecatedPtr Fields;
    __declspec(property(get=GetState))
    enum ObjectStateEnum State;
    __declspec(property(get=GetMode,put=PutMode))
    enum ConnectModeEnum Mode;
    __declspec(property(get=GetParentURL))
    _bstr_t ParentURL;
    __declspec(property(get=GetRecordType))
    enum RecordTypeEnum RecordType;

    //
    // Wrapper methods for error-handling
    //

    _variant_t GetActiveConnection ( );
    void PutActiveConnection (
        _bstr_t pvar );
    void PutRefActiveConnection (
        struct _Connection_Deprecated * pvar );
    enum ObjectStateEnum GetState ( );
    _variant_t GetSource ( );
    void PutSource (
        _bstr_t pvar );
    void PutRefSource (
        IDispatch * pvar );
    enum ConnectModeEnum GetMode ( );
    void PutMode (
        enum ConnectModeEnum pMode );
    _bstr_t GetParentURL ( );
    _bstr_t MoveRecord (
        _bstr_t Source,
        _bstr_t Destination,
        _bstr_t UserName,
        _bstr_t Password,
        enum MoveRecordOptionsEnum Options,
        VARIANT_BOOL Async );
    _bstr_t CopyRecord (
        _bstr_t Source,
        _bstr_t Destination,
        _bstr_t UserName,
        _bstr_t Password,
        enum CopyRecordOptionsEnum Options,
        VARIANT_BOOL Async );
    HRESULT DeleteRecord (
        _bstr_t Source,
        VARIANT_BOOL Async );
    HRESULT Open (
        const _variant_t & Source,
        const _variant_t & ActiveConnection,
        enum ConnectModeEnum Mode,
        enum RecordCreateOptionsEnum CreateOptions,
        enum RecordOpenOptionsEnum Options,
        _bstr_t UserName,
        _bstr_t Password );
    HRESULT Close ( );
    Fields_DeprecatedPtr GetFields ( );
    enum RecordTypeEnum GetRecordType ( );
    _Recordset_DeprecatedPtr GetChildren ( );
    HRESULT Cancel ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_ActiveConnection (
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall put_ActiveConnection (
        BSTR pvar ) = 0;
    virtual HRESULT __stdcall putref_ActiveConnection (
        struct _Connection_Deprecated * pvar ) = 0;
    virtual HRESULT __stdcall get_State (
        enum ObjectStateEnum * pState ) = 0;
    virtual HRESULT __stdcall get_Source (
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall put_Source (
        BSTR pvar ) = 0;
    virtual HRESULT __stdcall putref_Source (
        IDispatch * pvar ) = 0;
    virtual HRESULT __stdcall get_Mode (
        enum ConnectModeEnum * pMode ) = 0;
    virtual HRESULT __stdcall put_Mode (
        enum ConnectModeEnum pMode ) = 0;
    virtual HRESULT __stdcall get_ParentURL (
        BSTR * pbstrParentURL ) = 0;
    virtual HRESULT __stdcall raw_MoveRecord (
        BSTR Source,
        BSTR Destination,
        BSTR UserName,
        BSTR Password,
        enum MoveRecordOptionsEnum Options,
        VARIANT_BOOL Async,
        BSTR * pbstrNewURL ) = 0;
    virtual HRESULT __stdcall raw_CopyRecord (
        BSTR Source,
        BSTR Destination,
        BSTR UserName,
        BSTR Password,
        enum CopyRecordOptionsEnum Options,
        VARIANT_BOOL Async,
        BSTR * pbstrNewURL ) = 0;
    virtual HRESULT __stdcall raw_DeleteRecord (
        BSTR Source,
        VARIANT_BOOL Async ) = 0;
    virtual HRESULT __stdcall raw_Open (
        VARIANT Source,
        VARIANT ActiveConnection,
        enum ConnectModeEnum Mode,
        enum RecordCreateOptionsEnum CreateOptions,
        enum RecordOpenOptionsEnum Options,
        BSTR UserName,
        BSTR Password ) = 0;
    virtual HRESULT __stdcall raw_Close ( ) = 0;
    virtual HRESULT __stdcall get_Fields (
        struct Fields_Deprecated * * ppFlds ) = 0;
    virtual HRESULT __stdcall get_RecordType (
        enum RecordTypeEnum * ptype ) = 0;
    virtual HRESULT __stdcall raw_GetChildren (
        struct _Recordset_Deprecated * * pprset ) = 0;
    virtual HRESULT __stdcall raw_Cancel ( ) = 0;
};

struct __declspec(uuid("00000565-0000-0010-8000-00aa006d2ea4"))
_Stream_Deprecated : IDispatch
{
    //
    // Property data
    //

    __declspec(property(get=GetSize))
    ADO_LONGPTR Size;
    __declspec(property(get=GetEOS))
    VARIANT_BOOL EOS;
    __declspec(property(get=GetPosition,put=PutPosition))
    ADO_LONGPTR Position;
    __declspec(property(get=GetType,put=PutType))
    enum StreamTypeEnum Type;
    __declspec(property(get=GetLineSeparator,put=PutLineSeparator))
    enum LineSeparatorEnum LineSeparator;
    __declspec(property(get=GetState))
    enum ObjectStateEnum State;
    __declspec(property(get=GetMode,put=PutMode))
    enum ConnectModeEnum Mode;
    __declspec(property(get=GetCharset,put=PutCharset))
    _bstr_t Charset;

    //
    // Wrapper methods for error-handling
    //

    ADO_LONGPTR GetSize ( );
    VARIANT_BOOL GetEOS ( );
    ADO_LONGPTR GetPosition ( );
    void PutPosition (
        ADO_LONGPTR pPos );
    enum StreamTypeEnum GetType ( );
    void PutType (
        enum StreamTypeEnum ptype );
    enum LineSeparatorEnum GetLineSeparator ( );
    void PutLineSeparator (
        enum LineSeparatorEnum pLS );
    enum ObjectStateEnum GetState ( );
    enum ConnectModeEnum GetMode ( );
    void PutMode (
        enum ConnectModeEnum pMode );
    _bstr_t GetCharset ( );
    void PutCharset (
        _bstr_t pbstrCharset );
    _variant_t Read (
        long NumBytes );
    HRESULT Open (
        const _variant_t & Source,
        enum ConnectModeEnum Mode,
        enum StreamOpenOptionsEnum Options,
        _bstr_t UserName,
        _bstr_t Password );
    HRESULT Close ( );
    HRESULT SkipLine ( );
    HRESULT Write (
        const _variant_t & Buffer );
    HRESULT SetEOS ( );
    HRESULT CopyTo (
        struct _Stream_Deprecated * DestStream,
        ADO_LONGPTR CharNumber );
    HRESULT Flush ( );
    HRESULT SaveToFile (
        _bstr_t FileName,
        enum SaveOptionsEnum Options );
    HRESULT LoadFromFile (
        _bstr_t FileName );
    _bstr_t ReadText (
        long NumChars );
    HRESULT WriteText (
        _bstr_t Data,
        enum StreamWriteEnum Options );
    HRESULT Cancel ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_Size (
        ADO_LONGPTR * pSize ) = 0;
    virtual HRESULT __stdcall get_EOS (
        VARIANT_BOOL * pEOS ) = 0;
    virtual HRESULT __stdcall get_Position (
        ADO_LONGPTR * pPos ) = 0;
    virtual HRESULT __stdcall put_Position (
        ADO_LONGPTR pPos ) = 0;
    virtual HRESULT __stdcall get_Type (
        enum StreamTypeEnum * ptype ) = 0;
    virtual HRESULT __stdcall put_Type (
        enum StreamTypeEnum ptype ) = 0;
    virtual HRESULT __stdcall get_LineSeparator (
        enum LineSeparatorEnum * pLS ) = 0;
    virtual HRESULT __stdcall put_LineSeparator (
        enum LineSeparatorEnum pLS ) = 0;
    virtual HRESULT __stdcall get_State (
        enum ObjectStateEnum * pState ) = 0;
    virtual HRESULT __stdcall get_Mode (
        enum ConnectModeEnum * pMode ) = 0;
    virtual HRESULT __stdcall put_Mode (
        enum ConnectModeEnum pMode ) = 0;
    virtual HRESULT __stdcall get_Charset (
        BSTR * pbstrCharset ) = 0;
    virtual HRESULT __stdcall put_Charset (
        BSTR pbstrCharset ) = 0;
    virtual HRESULT __stdcall raw_Read (
        long NumBytes,
        VARIANT * pval ) = 0;
    virtual HRESULT __stdcall raw_Open (
        VARIANT Source,
        enum ConnectModeEnum Mode,
        enum StreamOpenOptionsEnum Options,
        BSTR UserName,
        BSTR Password ) = 0;
    virtual HRESULT __stdcall raw_Close ( ) = 0;
    virtual HRESULT __stdcall raw_SkipLine ( ) = 0;
    virtual HRESULT __stdcall raw_Write (
        VARIANT Buffer ) = 0;
    virtual HRESULT __stdcall raw_SetEOS ( ) = 0;
    virtual HRESULT __stdcall raw_CopyTo (
        struct _Stream_Deprecated * DestStream,
        ADO_LONGPTR CharNumber ) = 0;
    virtual HRESULT __stdcall raw_Flush ( ) = 0;
    virtual HRESULT __stdcall raw_SaveToFile (
        BSTR FileName,
        enum SaveOptionsEnum Options ) = 0;
    virtual HRESULT __stdcall raw_LoadFromFile (
        BSTR FileName ) = 0;
    virtual HRESULT __stdcall raw_ReadText (
        long NumChars,
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall raw_WriteText (
        BSTR Data,
        enum StreamWriteEnum Options ) = 0;
    virtual HRESULT __stdcall raw_Cancel ( ) = 0;
};

struct __declspec(uuid("00000505-0000-0010-8000-00aa006d2ea4"))
Field15_Deprecated : _ADO
{
    //
    // Property data
    //

    __declspec(property(get=GetValue,put=PutValue))
    _variant_t Value;
    __declspec(property(get=GetName))
    _bstr_t Name;
    __declspec(property(get=GetType))
    enum DataTypeEnum Type;
    __declspec(property(get=GetDefinedSize))
    ADO_LONGPTR DefinedSize;
    __declspec(property(get=GetOriginalValue))
    _variant_t OriginalValue;
    __declspec(property(get=GetUnderlyingValue))
    _variant_t UnderlyingValue;
    __declspec(property(get=GetActualSize))
    ADO_LONGPTR ActualSize;
    __declspec(property(get=GetPrecision))
    unsigned char Precision;
    __declspec(property(get=GetNumericScale))
    unsigned char NumericScale;
    __declspec(property(get=GetAttributes))
    long Attributes;

    //
    // Wrapper methods for error-handling
    //

    ADO_LONGPTR GetActualSize ( );
    long GetAttributes ( );
    ADO_LONGPTR GetDefinedSize ( );
    _bstr_t GetName ( );
    enum DataTypeEnum GetType ( );
    _variant_t GetValue ( );
    void PutValue (
        const _variant_t & pvar );
    unsigned char GetPrecision ( );
    unsigned char GetNumericScale ( );
    HRESULT AppendChunk (
        const _variant_t & Data );
    _variant_t GetChunk (
        long Length );
    _variant_t GetOriginalValue ( );
    _variant_t GetUnderlyingValue ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_ActualSize (
        ADO_LONGPTR * pl ) = 0;
    virtual HRESULT __stdcall get_Attributes (
        long * pl ) = 0;
    virtual HRESULT __stdcall get_DefinedSize (
        ADO_LONGPTR * pl ) = 0;
    virtual HRESULT __stdcall get_Name (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall get_Type (
        enum DataTypeEnum * pDataType ) = 0;
    virtual HRESULT __stdcall get_Value (
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall put_Value (
        VARIANT pvar ) = 0;
    virtual HRESULT __stdcall get_Precision (
        unsigned char * pbPrecision ) = 0;
    virtual HRESULT __stdcall get_NumericScale (
        unsigned char * pbNumericScale ) = 0;
    virtual HRESULT __stdcall raw_AppendChunk (
        VARIANT Data ) = 0;
    virtual HRESULT __stdcall raw_GetChunk (
        long Length,
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall get_OriginalValue (
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall get_UnderlyingValue (
        VARIANT * pvar ) = 0;
};

//
// Function implementation mapping
//

#pragma start_map_region("d:\vcexercise\fapiao\debug\msado15.tli")
__declspec(implementation_key(1)) long _Collection::GetCount ( );
__declspec(implementation_key(2)) IUnknownPtr _Collection::_NewEnum ( );
__declspec(implementation_key(3)) HRESULT _Collection::Refresh ( );
__declspec(implementation_key(4)) HRESULT _DynaCollection::Append ( IDispatch * Object );
__declspec(implementation_key(5)) HRESULT _DynaCollection::Delete ( const _variant_t & Index );
__declspec(implementation_key(6)) PropertiesPtr _ADO::GetProperties ( );
__declspec(implementation_key(7)) PropertyPtr Properties::GetItem ( const _variant_t & Index );
__declspec(implementation_key(8)) _variant_t Property::GetValue ( );
__declspec(implementation_key(9)) void Property::PutValue ( const _variant_t & pval );
__declspec(implementation_key(10)) _bstr_t Property::GetName ( );
__declspec(implementation_key(11)) enum DataTypeEnum Property::GetType ( );
__declspec(implementation_key(12)) long Property::GetAttributes ( );
__declspec(implementation_key(13)) void Property::PutAttributes ( long plAttributes );
__declspec(implementation_key(14)) long Error::GetNumber ( );
__declspec(implementation_key(15)) _bstr_t Error::GetSource ( );
__declspec(implementation_key(16)) _bstr_t Error::GetDescription ( );
__declspec(implementation_key(17)) _bstr_t Error::GetHelpFile ( );
__declspec(implementation_key(18)) long Error::GetHelpContext ( );
__declspec(implementation_key(19)) _bstr_t Error::GetSQLState ( );
__declspec(implementation_key(20)) long Error::GetNativeError ( );
__declspec(implementation_key(21)) ErrorPtr Errors::GetItem ( const _variant_t & Index );
__declspec(implementation_key(22)) HRESULT Errors::Clear ( );
__declspec(implementation_key(23)) _ConnectionPtr Command15::GetActiveConnection ( );
__declspec(implementation_key(24)) void Command15::PutRefActiveConnection ( struct _Connection * ppvObject );
__declspec(implementation_key(25)) void Command15::PutActiveConnection ( const _variant_t & ppvObject );
__declspec(implementation_key(26)) _bstr_t Command15::GetCommandText ( );
__declspec(implementation_key(27)) void Command15::PutCommandText ( _bstr_t pbstr );
__declspec(implementation_key(28)) long Command15::GetCommandTimeout ( );
__declspec(implementation_key(29)) void Command15::PutCommandTimeout ( long pl );
__declspec(implementation_key(30)) VARIANT_BOOL Command15::GetPrepared ( );
__declspec(implementation_key(31)) void Command15::PutPrepared ( VARIANT_BOOL pfPrepared );
__declspec(implementation_key(32)) _RecordsetPtr Command15::Execute ( VARIANT * RecordsAffected, VARIANT * Parameters, long Options );
__declspec(implementation_key(33)) _ParameterPtr Command15::CreateParameter ( _bstr_t Name, enum DataTypeEnum Type, enum ParameterDirectionEnum Direction, long Size, const _variant_t & Value );
__declspec(implementation_key(34)) ParametersPtr Command15::GetParameters ( );
__declspec(implementation_key(35)) void Command15::PutCommandType ( enum CommandTypeEnum plCmdType );
__declspec(implementation_key(36)) enum CommandTypeEnum Command15::GetCommandType ( );
__declspec(implementation_key(37)) _bstr_t Command15::GetName ( );
__declspec(implementation_key(38)) void Command15::PutName ( _bstr_t pbstrName );
__declspec(implementation_key(39)) _bstr_t Connection15::GetConnectionString ( );
__declspec(implementation_key(40)) void Connection15::PutConnectionString ( _bstr_t pbstr );
__declspec(implementation_key(41)) long Connection15::GetCommandTimeout ( );
__declspec(implementation_key(42)) void Connection15::PutCommandTimeout ( long plTimeout );
__declspec(implementation_key(43)) long Connection15::GetConnectionTimeout ( );
__declspec(implementation_key(44)) void Connection15::PutConnectionTimeout ( long plTimeout );
__declspec(implementation_key(45)) _bstr_t Connection15::GetVersion ( );
__declspec(implementation_key(46)) HRESULT Connection15::Close ( );
__declspec(implementation_key(47)) _RecordsetPtr Connection15::Execute ( _bstr_t CommandText, VARIANT * RecordsAffected, long Options );
__declspec(implementation_key(48)) long Connection15::BeginTrans ( );
__declspec(implementation_key(49)) HRESULT Connection15::CommitTrans ( );
__declspec(implementation_key(50)) HRESULT Connection15::RollbackTrans ( );
__declspec(implementation_key(51)) HRESULT Connection15::Open ( _bstr_t ConnectionString, _bstr_t UserID, _bstr_t Password, long Options );
__declspec(implementation_key(52)) ErrorsPtr Connection15::GetErrors ( );
__declspec(implementation_key(53)) _bstr_t Connection15::GetDefaultDatabase ( );
__declspec(implementation_key(54)) void Connection15::PutDefaultDatabase ( _bstr_t pbstr );
__declspec(implementation_key(55)) enum IsolationLevelEnum Connection15::GetIsolationLevel ( );
__declspec(implementation_key(56)) void Connection15::PutIsolationLevel ( enum IsolationLevelEnum Level );
__declspec(implementation_key(57)) long Connection15::GetAttributes ( );
__declspec(implementation_key(58)) void Connection15::PutAttributes ( long plAttr );
__declspec(implementation_key(59)) enum CursorLocationEnum Connection15::GetCursorLocation ( );
__declspec(implementation_key(60)) void Connection15::PutCursorLocation ( enum CursorLocationEnum plCursorLoc );
__declspec(implementation_key(61)) enum ConnectModeEnum Connection15::GetMode ( );
__declspec(implementation_key(62)) void Connection15::PutMode ( enum ConnectModeEnum plMode );
__declspec(implementation_key(63)) _bstr_t Connection15::GetProvider ( );
__declspec(implementation_key(64)) void Connection15::PutProvider ( _bstr_t pbstr );
__declspec(implementation_key(65)) long Connection15::GetState ( );
__declspec(implementation_key(66)) _RecordsetPtr Connection15::OpenSchema ( enum SchemaEnum Schema, const _variant_t & Restrictions, const _variant_t & SchemaID );
__declspec(implementation_key(67)) HRESULT _Connection::Cancel ( );
__declspec(implementation_key(68)) enum PositionEnum Recordset15::GetAbsolutePosition ( );
__declspec(implementation_key(69)) void Recordset15::PutAbsolutePosition ( enum PositionEnum pl );
__declspec(implementation_key(70)) void Recordset15::PutRefActiveConnection ( IDispatch * pvar );
__declspec(implementation_key(71)) void Recordset15::PutActiveConnection ( const _variant_t & pvar );
__declspec(implementation_key(72)) _variant_t Recordset15::GetActiveConnection ( );
__declspec(implementation_key(73)) VARIANT_BOOL Recordset15::GetadoBOF ( );
__declspec(implementation_key(74)) _variant_t Recordset15::GetBookmark ( );
__declspec(implementation_key(75)) void Recordset15::PutBookmark ( const _variant_t & pvBookmark );
__declspec(implementation_key(76)) long Recordset15::GetCacheSize ( );
__declspec(implementation_key(77)) void Recordset15::PutCacheSize ( long pl );
__declspec(implementation_key(78)) enum CursorTypeEnum Recordset15::GetCursorType ( );
__declspec(implementation_key(79)) void Recordset15::PutCursorType ( enum CursorTypeEnum plCursorType );
__declspec(implementation_key(80)) VARIANT_BOOL Recordset15::GetadoEOF ( );
__declspec(implementation_key(81)) FieldsPtr Recordset15::GetFields ( );
__declspec(implementation_key(82)) enum LockTypeEnum Recordset15::GetLockType ( );
__declspec(implementation_key(83)) void Recordset15::PutLockType ( enum LockTypeEnum plLockType );
__declspec(implementation_key(84)) long Recordset15::GetMaxRecords ( );
__declspec(implementation_key(85)) void Recordset15::PutMaxRecords ( long plMaxRecords );
__declspec(implementation_key(86)) long Recordset15::GetRecordCount ( );
__declspec(implementation_key(87)) void Recordset15::PutRefSource ( IDispatch * pvSource );
__declspec(implementation_key(88)) void Recordset15::PutSource ( _bstr_t pvSource );
__declspec(implementation_key(89)) _variant_t Recordset15::GetSource ( );
__declspec(implementation_key(90)) HRESULT Recordset15::AddNew ( const _variant_t & FieldList, const _variant_t & Values );
__declspec(implementation_key(91)) HRESULT Recordset15::CancelUpdate ( );
__declspec(implementation_key(92)) HRESULT Recordset15::Close ( );
__declspec(implementation_key(93)) HRESULT Recordset15::Delete ( enum AffectEnum AffectRecords );
__declspec(implementation_key(94)) _variant_t Recordset15::GetRows ( long Rows, const _variant_t & Start, const _variant_t & Fields );
__declspec(implementation_key(95)) HRESULT Recordset15::Move ( long NumRecords, const _variant_t & Start );
__declspec(implementation_key(96)) HRESULT Recordset15::MoveNext ( );
__declspec(implementation_key(97)) HRESULT Recordset15::MovePrevious ( );
__declspec(implementation_key(98)) HRESULT Recordset15::MoveFirst ( );
__declspec(implementation_key(99)) HRESULT Recordset15::MoveLast ( );
__declspec(implementation_key(100)) HRESULT Recordset15::Open ( const _variant_t & Source, const _variant_t & ActiveConnection, enum CursorTypeEnum CursorType, enum LockTypeEnum LockType, long Options );
__declspec(implementation_key(101)) HRESULT Recordset15::Requery ( long Options );
__declspec(implementation_key(102)) HRESULT Recordset15::_xResync ( enum AffectEnum AffectRecords );
__declspec(implementation_key(103)) HRESULT Recordset15::Update ( const _variant_t & Fields, const _variant_t & Values );
__declspec(implementation_key(104)) enum PositionEnum Recordset15::GetAbsolutePage ( );
__declspec(implementation_key(105)) void Recordset15::PutAbsolutePage ( enum PositionEnum pl );
__declspec(implementation_key(106)) enum EditModeEnum Recordset15::GetEditMode ( );
__declspec(implementation_key(107)) _variant_t Recordset15::GetFilter ( );
__declspec(implementation_key(108)) void Recordset15::PutFilter ( const _variant_t & Criteria );
__declspec(implementation_key(109)) long Recordset15::GetPageCount ( );
__declspec(implementation_key(110)) long Recordset15::GetPageSize ( );
__declspec(implementation_key(111)) void Recordset15::PutPageSize ( long pl );
__declspec(implementation_key(112)) _bstr_t Recordset15::GetSort ( );
__declspec(implementation_key(113)) void Recordset15::PutSort ( _bstr_t Criteria );
__declspec(implementation_key(114)) long Recordset15::GetStatus ( );
__declspec(implementation_key(115)) long Recordset15::GetState ( );
__declspec(implementation_key(116)) _RecordsetPtr Recordset15::_xClone ( );
__declspec(implementation_key(117)) HRESULT Recordset15::UpdateBatch ( enum AffectEnum AffectRecords );
__declspec(implementation_key(118)) HRESULT Recordset15::CancelBatch ( enum AffectEnum AffectRecords );
__declspec(implementation_key(119)) enum CursorLocationEnum Recordset15::GetCursorLocation ( );
__declspec(implementation_key(120)) void Recordset15::PutCursorLocation ( enum CursorLocationEnum plCursorLoc );
__declspec(implementation_key(121)) _RecordsetPtr Recordset15::NextRecordset ( VARIANT * RecordsAffected );
__declspec(implementation_key(122)) VARIANT_BOOL Recordset15::Supports ( enum CursorOptionEnum CursorOptions );
__declspec(implementation_key(123)) _variant_t Recordset15::GetCollect ( const _variant_t & Index );
__declspec(implementation_key(124)) void Recordset15::PutCollect ( const _variant_t & Index, const _variant_t & pvar );
__declspec(implementation_key(125)) enum MarshalOptionsEnum Recordset15::GetMarshalOptions ( );
__declspec(implementation_key(126)) void Recordset15::PutMarshalOptions ( enum MarshalOptionsEnum peMarshal );
__declspec(implementation_key(127)) HRESULT Recordset15::Find ( _bstr_t Criteria, long SkipRecords, enum SearchDirectionEnum SearchDirection, const _variant_t & Start );
__declspec(implementation_key(128)) HRESULT Recordset20::Cancel ( );
__declspec(implementation_key(129)) IUnknownPtr Recordset20::GetDataSource ( );
__declspec(implementation_key(130)) void Recordset20::PutRefDataSource ( IUnknown * ppunkDataSource );
__declspec(implementation_key(131)) HRESULT Recordset20::_xSave ( _bstr_t FileName, enum PersistFormatEnum PersistFormat );
__declspec(implementation_key(132)) IDispatchPtr Recordset20::GetActiveCommand ( );
__declspec(implementation_key(133)) void Recordset20::PutStayInSync ( VARIANT_BOOL pbStayInSync );
__declspec(implementation_key(134)) VARIANT_BOOL Recordset20::GetStayInSync ( );
__declspec(implementation_key(135)) _bstr_t Recordset20::GetString ( enum StringFormatEnum StringFormat, long NumRows, _bstr_t ColumnDelimeter, _bstr_t RowDelimeter, _bstr_t NullExpr );
__declspec(implementation_key(136)) _bstr_t Recordset20::GetDataMember ( );
__declspec(implementation_key(137)) void Recordset20::PutDataMember ( _bstr_t pbstrDataMember );
__declspec(implementation_key(138)) enum CompareEnum Recordset20::CompareBookmarks ( const _variant_t & Bookmark1, const _variant_t & Bookmark2 );
__declspec(implementation_key(139)) _RecordsetPtr Recordset20::Clone ( enum LockTypeEnum LockType );
__declspec(implementation_key(140)) HRESULT Recordset20::Resync ( enum AffectEnum AffectRecords, enum ResyncEnum ResyncValues );
__declspec(implementation_key(141)) HRESULT Recordset21::Seek ( const _variant_t & KeyValues, enum SeekEnum SeekOption );
__declspec(implementation_key(142)) void Recordset21::PutIndex ( _bstr_t pbstrIndex );
__declspec(implementation_key(143)) _bstr_t Recordset21::GetIndex ( );
__declspec(implementation_key(144)) HRESULT _Recordset::Save ( const _variant_t & Destination, enum PersistFormatEnum PersistFormat );
__declspec(implementation_key(145)) FieldPtr Fields15::GetItem ( const _variant_t & Index );
__declspec(implementation_key(146)) HRESULT Fields20::_Append ( _bstr_t Name, enum DataTypeEnum Type, long DefinedSize, enum FieldAttributeEnum Attrib );
__declspec(implementation_key(147)) HRESULT Fields20::Delete ( const _variant_t & Index );
__declspec(implementation_key(148)) HRESULT Fields::Append ( _bstr_t Name, enum DataTypeEnum Type, long DefinedSize, enum FieldAttributeEnum Attrib, const _variant_t & FieldValue );
__declspec(implementation_key(149)) HRESULT Fields::Update ( );
__declspec(implementation_key(150)) HRESULT Fields::Resync ( enum ResyncEnum ResyncValues );
__declspec(implementation_key(151)) HRESULT Fields::CancelUpdate ( );
__declspec(implementation_key(152)) long Field20::GetActualSize ( );
__declspec(implementation_key(153)) long Field20::GetAttributes ( );
__declspec(implementation_key(154)) long Field20::GetDefinedSize ( );
__declspec(implementation_key(155)) _bstr_t Field20::GetName ( );
__declspec(implementation_key(156)) enum DataTypeEnum Field20::GetType ( );
__declspec(implementation_key(157)) _variant_t Field20::GetValue ( );
__declspec(implementation_key(158)) void Field20::PutValue ( const _variant_t & pvar );
__declspec(implementation_key(159)) unsigned char Field20::GetPrecision ( );
__declspec(implementation_key(160)) unsigned char Field20::GetNumericScale ( );
__declspec(implementation_key(161)) HRESULT Field20::AppendChunk ( const _variant_t & Data );
__declspec(implementation_key(162)) _variant_t Field20::GetChunk ( long Length );
__declspec(implementation_key(163)) _variant_t Field20::GetOriginalValue ( );
__declspec(implementation_key(164)) _variant_t Field20::GetUnderlyingValue ( );
__declspec(implementation_key(165)) IUnknownPtr Field20::GetDataFormat ( );
__declspec(implementation_key(166)) void Field20::PutRefDataFormat ( IUnknown * ppiDF );
__declspec(implementation_key(167)) void Field20::PutPrecision ( unsigned char pbPrecision );
__declspec(implementation_key(168)) void Field20::PutNumericScale ( unsigned char pbNumericScale );
__declspec(implementation_key(169)) void Field20::PutType ( enum DataTypeEnum pDataType );
__declspec(implementation_key(170)) void Field20::PutDefinedSize ( long pl );
__declspec(implementation_key(171)) void Field20::PutAttributes ( long pl );
__declspec(implementation_key(172)) long Field::GetStatus ( );
__declspec(implementation_key(173)) _bstr_t _Parameter::GetName ( );
__declspec(implementation_key(174)) void _Parameter::PutName ( _bstr_t pbstr );
__declspec(implementation_key(175)) _variant_t _Parameter::GetValue ( );
__declspec(implementation_key(176)) void _Parameter::PutValue ( const _variant_t & pvar );
__declspec(implementation_key(177)) enum DataTypeEnum _Parameter::GetType ( );
__declspec(implementation_key(178)) void _Parameter::PutType ( enum DataTypeEnum psDataType );
__declspec(implementation_key(179)) void _Parameter::PutDirection ( enum ParameterDirectionEnum plParmDirection );
__declspec(implementation_key(180)) enum ParameterDirectionEnum _Parameter::GetDirection ( );
__declspec(implementation_key(181)) void _Parameter::PutPrecision ( unsigned char pbPrecision );
__declspec(implementation_key(182)) unsigned char _Parameter::GetPrecision ( );
__declspec(implementation_key(183)) void _Parameter::PutNumericScale ( unsigned char pbScale );
__declspec(implementation_key(184)) unsigned char _Parameter::GetNumericScale ( );
__declspec(implementation_key(185)) void _Parameter::PutSize ( long pl );
__declspec(implementation_key(186)) long _Parameter::GetSize ( );
__declspec(implementation_key(187)) HRESULT _Parameter::AppendChunk ( const _variant_t & Val );
__declspec(implementation_key(188)) long _Parameter::GetAttributes ( );
__declspec(implementation_key(189)) void _Parameter::PutAttributes ( long plParmAttribs );
__declspec(implementation_key(190)) _ParameterPtr Parameters::GetItem ( const _variant_t & Index );
__declspec(implementation_key(191)) long Command25::GetState ( );
__declspec(implementation_key(192)) HRESULT Command25::Cancel ( );
__declspec(implementation_key(193)) void _Command::PutRefCommandStream ( IUnknown * pvStream );
__declspec(implementation_key(194)) _variant_t _Command::GetCommandStream ( );
__declspec(implementation_key(195)) void _Command::PutDialect ( _bstr_t pbstrDialect );
__declspec(implementation_key(196)) _bstr_t _Command::GetDialect ( );
__declspec(implementation_key(197)) void _Command::PutNamedParameters ( VARIANT_BOOL pfNamedParameters );
__declspec(implementation_key(198)) VARIANT_BOOL _Command::GetNamedParameters ( );
__declspec(implementation_key(199)) HRESULT ConnectionEventsVt::InfoMessage ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection * pConnection );
__declspec(implementation_key(200)) HRESULT ConnectionEventsVt::BeginTransComplete ( long TransactionLevel, struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection * pConnection );
__declspec(implementation_key(201)) HRESULT ConnectionEventsVt::CommitTransComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection * pConnection );
__declspec(implementation_key(202)) HRESULT ConnectionEventsVt::RollbackTransComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection * pConnection );
__declspec(implementation_key(203)) HRESULT ConnectionEventsVt::WillExecute ( BSTR * Source, enum CursorTypeEnum * CursorType, enum LockTypeEnum * LockType, long * Options, enum EventStatusEnum * adStatus, struct _Command * pCommand, struct _Recordset * pRecordset, struct _Connection * pConnection );
__declspec(implementation_key(204)) HRESULT ConnectionEventsVt::ExecuteComplete ( long RecordsAffected, struct Error * pError, enum EventStatusEnum * adStatus, struct _Command * pCommand, struct _Recordset * pRecordset, struct _Connection * pConnection );
__declspec(implementation_key(205)) HRESULT ConnectionEventsVt::WillConnect ( BSTR * ConnectionString, BSTR * UserID, BSTR * Password, long * Options, enum EventStatusEnum * adStatus, struct _Connection * pConnection );
__declspec(implementation_key(206)) HRESULT ConnectionEventsVt::ConnectComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection * pConnection );
__declspec(implementation_key(207)) HRESULT ConnectionEventsVt::Disconnect ( enum EventStatusEnum * adStatus, struct _Connection * pConnection );
__declspec(implementation_key(208)) HRESULT RecordsetEventsVt::WillChangeField ( long cFields, const _variant_t & Fields, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset );
__declspec(implementation_key(209)) HRESULT RecordsetEventsVt::FieldChangeComplete ( long cFields, const _variant_t & Fields, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset );
__declspec(implementation_key(210)) HRESULT RecordsetEventsVt::WillChangeRecord ( enum EventReasonEnum adReason, long cRecords, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset );
__declspec(implementation_key(211)) HRESULT RecordsetEventsVt::RecordChangeComplete ( enum EventReasonEnum adReason, long cRecords, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset );
__declspec(implementation_key(212)) HRESULT RecordsetEventsVt::WillChangeRecordset ( enum EventReasonEnum adReason, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset );
__declspec(implementation_key(213)) HRESULT RecordsetEventsVt::RecordsetChangeComplete ( enum EventReasonEnum adReason, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset );
__declspec(implementation_key(214)) HRESULT RecordsetEventsVt::WillMove ( enum EventReasonEnum adReason, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset );
__declspec(implementation_key(215)) HRESULT RecordsetEventsVt::MoveComplete ( enum EventReasonEnum adReason, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset );
__declspec(implementation_key(216)) HRESULT RecordsetEventsVt::EndOfRecordset ( VARIANT_BOOL * fMoreData, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset );
__declspec(implementation_key(217)) HRESULT RecordsetEventsVt::FetchProgress ( long Progress, long MaxProgress, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset );
__declspec(implementation_key(218)) HRESULT RecordsetEventsVt::FetchComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset );
__declspec(implementation_key(219)) HRESULT ConnectionEvents::InfoMessage ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection * pConnection );
__declspec(implementation_key(220)) HRESULT ConnectionEvents::BeginTransComplete ( long TransactionLevel, struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection * pConnection );
__declspec(implementation_key(221)) HRESULT ConnectionEvents::CommitTransComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection * pConnection );
__declspec(implementation_key(222)) HRESULT ConnectionEvents::RollbackTransComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection * pConnection );
__declspec(implementation_key(223)) HRESULT ConnectionEvents::WillExecute ( BSTR * Source, enum CursorTypeEnum * CursorType, enum LockTypeEnum * LockType, long * Options, enum EventStatusEnum * adStatus, struct _Command * pCommand, struct _Recordset * pRecordset, struct _Connection * pConnection );
__declspec(implementation_key(224)) HRESULT ConnectionEvents::ExecuteComplete ( long RecordsAffected, struct Error * pError, enum EventStatusEnum * adStatus, struct _Command * pCommand, struct _Recordset * pRecordset, struct _Connection * pConnection );
__declspec(implementation_key(225)) HRESULT ConnectionEvents::WillConnect ( BSTR * ConnectionString, BSTR * UserID, BSTR * Password, long * Options, enum EventStatusEnum * adStatus, struct _Connection * pConnection );
__declspec(implementation_key(226)) HRESULT ConnectionEvents::ConnectComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection * pConnection );
__declspec(implementation_key(227)) HRESULT ConnectionEvents::Disconnect ( enum EventStatusEnum * adStatus, struct _Connection * pConnection );
__declspec(implementation_key(228)) HRESULT RecordsetEvents::WillChangeField ( long cFields, const _variant_t & Fields, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset );
__declspec(implementation_key(229)) HRESULT RecordsetEvents::FieldChangeComplete ( long cFields, const _variant_t & Fields, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset );
__declspec(implementation_key(230)) HRESULT RecordsetEvents::WillChangeRecord ( enum EventReasonEnum adReason, long cRecords, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset );
__declspec(implementation_key(231)) HRESULT RecordsetEvents::RecordChangeComplete ( enum EventReasonEnum adReason, long cRecords, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset );
__declspec(implementation_key(232)) HRESULT RecordsetEvents::WillChangeRecordset ( enum EventReasonEnum adReason, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset );
__declspec(implementation_key(233)) HRESULT RecordsetEvents::RecordsetChangeComplete ( enum EventReasonEnum adReason, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset );
__declspec(implementation_key(234)) HRESULT RecordsetEvents::WillMove ( enum EventReasonEnum adReason, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset );
__declspec(implementation_key(235)) HRESULT RecordsetEvents::MoveComplete ( enum EventReasonEnum adReason, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset );
__declspec(implementation_key(236)) HRESULT RecordsetEvents::EndOfRecordset ( VARIANT_BOOL * fMoreData, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset );
__declspec(implementation_key(237)) HRESULT RecordsetEvents::FetchProgress ( long Progress, long MaxProgress, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset );
__declspec(implementation_key(238)) HRESULT RecordsetEvents::FetchComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset );
__declspec(implementation_key(239)) IUnknownPtr ADOConnectionConstruction15::GetDSO ( );
__declspec(implementation_key(240)) IUnknownPtr ADOConnectionConstruction15::GetSession ( );
__declspec(implementation_key(241)) HRESULT ADOConnectionConstruction15::WrapDSOandSession ( IUnknown * pDSO, IUnknown * pSession );
__declspec(implementation_key(242)) _variant_t _Record::GetActiveConnection ( );
__declspec(implementation_key(243)) void _Record::PutActiveConnection ( _bstr_t pvar );
__declspec(implementation_key(244)) void _Record::PutRefActiveConnection ( struct _Connection * pvar );
__declspec(implementation_key(245)) enum ObjectStateEnum _Record::GetState ( );
__declspec(implementation_key(246)) _variant_t _Record::GetSource ( );
__declspec(implementation_key(247)) void _Record::PutSource ( _bstr_t pvar );
__declspec(implementation_key(248)) void _Record::PutRefSource ( IDispatch * pvar );
__declspec(implementation_key(249)) enum ConnectModeEnum _Record::GetMode ( );
__declspec(implementation_key(250)) void _Record::PutMode ( enum ConnectModeEnum pMode );
__declspec(implementation_key(251)) _bstr_t _Record::GetParentURL ( );
__declspec(implementation_key(252)) _bstr_t _Record::MoveRecord ( _bstr_t Source, _bstr_t Destination, _bstr_t UserName, _bstr_t Password, enum MoveRecordOptionsEnum Options, VARIANT_BOOL Async );
__declspec(implementation_key(253)) _bstr_t _Record::CopyRecord ( _bstr_t Source, _bstr_t Destination, _bstr_t UserName, _bstr_t Password, enum CopyRecordOptionsEnum Options, VARIANT_BOOL Async );
__declspec(implementation_key(254)) HRESULT _Record::DeleteRecord ( _bstr_t Source, VARIANT_BOOL Async );
__declspec(implementation_key(255)) HRESULT _Record::Open ( const _variant_t & Source, const _variant_t & ActiveConnection, enum ConnectModeEnum Mode, enum RecordCreateOptionsEnum CreateOptions, enum RecordOpenOptionsEnum Options, _bstr_t UserName, _bstr_t Password );
__declspec(implementation_key(256)) HRESULT _Record::Close ( );
__declspec(implementation_key(257)) FieldsPtr _Record::GetFields ( );
__declspec(implementation_key(258)) enum RecordTypeEnum _Record::GetRecordType ( );
__declspec(implementation_key(259)) _RecordsetPtr _Record::GetChildren ( );
__declspec(implementation_key(260)) HRESULT _Record::Cancel ( );
__declspec(implementation_key(261)) long _Stream::GetSize ( );
__declspec(implementation_key(262)) VARIANT_BOOL _Stream::GetEOS ( );
__declspec(implementation_key(263)) long _Stream::GetPosition ( );
__declspec(implementation_key(264)) void _Stream::PutPosition ( long pPos );
__declspec(implementation_key(265)) enum StreamTypeEnum _Stream::GetType ( );
__declspec(implementation_key(266)) void _Stream::PutType ( enum StreamTypeEnum ptype );
__declspec(implementation_key(267)) enum LineSeparatorEnum _Stream::GetLineSeparator ( );
__declspec(implementation_key(268)) void _Stream::PutLineSeparator ( enum LineSeparatorEnum pLS );
__declspec(implementation_key(269)) enum ObjectStateEnum _Stream::GetState ( );
__declspec(implementation_key(270)) enum ConnectModeEnum _Stream::GetMode ( );
__declspec(implementation_key(271)) void _Stream::PutMode ( enum ConnectModeEnum pMode );
__declspec(implementation_key(272)) _bstr_t _Stream::GetCharset ( );
__declspec(implementation_key(273)) void _Stream::PutCharset ( _bstr_t pbstrCharset );
__declspec(implementation_key(274)) _variant_t _Stream::Read ( long NumBytes );
__declspec(implementation_key(275)) HRESULT _Stream::Open ( const _variant_t & Source, enum ConnectModeEnum Mode, enum StreamOpenOptionsEnum Options, _bstr_t UserName, _bstr_t Password );
__declspec(implementation_key(276)) HRESULT _Stream::Close ( );
__declspec(implementation_key(277)) HRESULT _Stream::SkipLine ( );
__declspec(implementation_key(278)) HRESULT _Stream::Write ( const _variant_t & Buffer );
__declspec(implementation_key(279)) HRESULT _Stream::SetEOS ( );
__declspec(implementation_key(280)) HRESULT _Stream::CopyTo ( struct _Stream * DestStream, long CharNumber );
__declspec(implementation_key(281)) HRESULT _Stream::Flush ( );
__declspec(implementation_key(282)) HRESULT _Stream::SaveToFile ( _bstr_t FileName, enum SaveOptionsEnum Options );
__declspec(implementation_key(283)) HRESULT _Stream::LoadFromFile ( _bstr_t FileName );
__declspec(implementation_key(284)) _bstr_t _Stream::ReadText ( long NumChars );
__declspec(implementation_key(285)) HRESULT _Stream::WriteText ( _bstr_t Data, enum StreamWriteEnum Options );
__declspec(implementation_key(286)) HRESULT _Stream::Cancel ( );
__declspec(implementation_key(287)) IUnknownPtr ADORecordConstruction::GetRow ( );
__declspec(implementation_key(288)) void ADORecordConstruction::PutRow ( IUnknown * ppRow );
__declspec(implementation_key(289)) void ADORecordConstruction::PutParentRow ( IUnknown * _arg1 );
__declspec(implementation_key(290)) IUnknownPtr ADOStreamConstruction::GetStream ( );
__declspec(implementation_key(291)) void ADOStreamConstruction::PutStream ( IUnknown * ppStm );
__declspec(implementation_key(292)) IUnknownPtr ADOCommandConstruction::GetOLEDBCommand ( );
__declspec(implementation_key(293)) void ADOCommandConstruction::PutOLEDBCommand ( IUnknown * ppOLEDBCommand );
__declspec(implementation_key(294)) IUnknownPtr ADORecordsetConstruction::GetRowset ( );
__declspec(implementation_key(295)) void ADORecordsetConstruction::PutRowset ( IUnknown * ppRowset );
__declspec(implementation_key(296)) ADO_LONGPTR ADORecordsetConstruction::GetChapter ( );
__declspec(implementation_key(297)) void ADORecordsetConstruction::PutChapter ( ADO_LONGPTR plChapter );
__declspec(implementation_key(298)) IUnknownPtr ADORecordsetConstruction::GetRowPosition ( );
__declspec(implementation_key(299)) void ADORecordsetConstruction::PutRowPosition ( IUnknown * ppRowPos );
__declspec(implementation_key(300)) long Field15::GetActualSize ( );
__declspec(implementation_key(301)) long Field15::GetAttributes ( );
__declspec(implementation_key(302)) long Field15::GetDefinedSize ( );
__declspec(implementation_key(303)) _bstr_t Field15::GetName ( );
__declspec(implementation_key(304)) enum DataTypeEnum Field15::GetType ( );
__declspec(implementation_key(305)) _variant_t Field15::GetValue ( );
__declspec(implementation_key(306)) void Field15::PutValue ( const _variant_t & pvar );
__declspec(implementation_key(307)) unsigned char Field15::GetPrecision ( );
__declspec(implementation_key(308)) unsigned char Field15::GetNumericScale ( );
__declspec(implementation_key(309)) HRESULT Field15::AppendChunk ( const _variant_t & Data );
__declspec(implementation_key(310)) _variant_t Field15::GetChunk ( long Length );
__declspec(implementation_key(311)) _variant_t Field15::GetOriginalValue ( );
__declspec(implementation_key(312)) _variant_t Field15::GetUnderlyingValue ( );
__declspec(implementation_key(313)) HRESULT ConnectionEventsVt_Deprecated::InfoMessage ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection );
__declspec(implementation_key(314)) HRESULT ConnectionEventsVt_Deprecated::BeginTransComplete ( long TransactionLevel, struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection );
__declspec(implementation_key(315)) HRESULT ConnectionEventsVt_Deprecated::CommitTransComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection );
__declspec(implementation_key(316)) HRESULT ConnectionEventsVt_Deprecated::RollbackTransComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection );
__declspec(implementation_key(317)) HRESULT ConnectionEventsVt_Deprecated::WillExecute ( BSTR * Source, enum CursorTypeEnum * CursorType, enum LockTypeEnum * LockType, long * Options, enum EventStatusEnum * adStatus, struct _Command_Deprecated * pCommand, struct _Recordset_Deprecated * pRecordset, struct _Connection_Deprecated * pConnection );
__declspec(implementation_key(318)) HRESULT ConnectionEventsVt_Deprecated::ExecuteComplete ( long RecordsAffected, struct Error * pError, enum EventStatusEnum * adStatus, struct _Command_Deprecated * pCommand, struct _Recordset_Deprecated * pRecordset, struct _Connection_Deprecated * pConnection );
__declspec(implementation_key(319)) HRESULT ConnectionEventsVt_Deprecated::WillConnect ( BSTR * ConnectionString, BSTR * UserID, BSTR * Password, long * Options, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection );
__declspec(implementation_key(320)) HRESULT ConnectionEventsVt_Deprecated::ConnectComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection );
__declspec(implementation_key(321)) HRESULT ConnectionEventsVt_Deprecated::Disconnect ( enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection );
__declspec(implementation_key(322)) _bstr_t Connection15_Deprecated::GetConnectionString ( );
__declspec(implementation_key(323)) void Connection15_Deprecated::PutConnectionString ( _bstr_t pbstr );
__declspec(implementation_key(324)) long Connection15_Deprecated::GetCommandTimeout ( );
__declspec(implementation_key(325)) void Connection15_Deprecated::PutCommandTimeout ( long plTimeout );
__declspec(implementation_key(326)) long Connection15_Deprecated::GetConnectionTimeout ( );
__declspec(implementation_key(327)) void Connection15_Deprecated::PutConnectionTimeout ( long plTimeout );
__declspec(implementation_key(328)) _bstr_t Connection15_Deprecated::GetVersion ( );
__declspec(implementation_key(329)) HRESULT Connection15_Deprecated::Close ( );
__declspec(implementation_key(330)) _Recordset_DeprecatedPtr Connection15_Deprecated::Execute ( _bstr_t CommandText, VARIANT * RecordsAffected, long Options );
__declspec(implementation_key(331)) long Connection15_Deprecated::BeginTrans ( );
__declspec(implementation_key(332)) HRESULT Connection15_Deprecated::CommitTrans ( );
__declspec(implementation_key(333)) HRESULT Connection15_Deprecated::RollbackTrans ( );
__declspec(implementation_key(334)) HRESULT Connection15_Deprecated::Open ( _bstr_t ConnectionString, _bstr_t UserID, _bstr_t Password, long Options );
__declspec(implementation_key(335)) ErrorsPtr Connection15_Deprecated::GetErrors ( );
__declspec(implementation_key(336)) _bstr_t Connection15_Deprecated::GetDefaultDatabase ( );
__declspec(implementation_key(337)) void Connection15_Deprecated::PutDefaultDatabase ( _bstr_t pbstr );
__declspec(implementation_key(338)) enum IsolationLevelEnum Connection15_Deprecated::GetIsolationLevel ( );
__declspec(implementation_key(339)) void Connection15_Deprecated::PutIsolationLevel ( enum IsolationLevelEnum Level );
__declspec(implementation_key(340)) long Connection15_Deprecated::GetAttributes ( );
__declspec(implementation_key(341)) void Connection15_Deprecated::PutAttributes ( long plAttr );
__declspec(implementation_key(342)) enum CursorLocationEnum Connection15_Deprecated::GetCursorLocation ( );
__declspec(implementation_key(343)) void Connection15_Deprecated::PutCursorLocation ( enum CursorLocationEnum plCursorLoc );
__declspec(implementation_key(344)) enum ConnectModeEnum Connection15_Deprecated::GetMode ( );
__declspec(implementation_key(345)) void Connection15_Deprecated::PutMode ( enum ConnectModeEnum plMode );
__declspec(implementation_key(346)) _bstr_t Connection15_Deprecated::GetProvider ( );
__declspec(implementation_key(347)) void Connection15_Deprecated::PutProvider ( _bstr_t pbstr );
__declspec(implementation_key(348)) long Connection15_Deprecated::GetState ( );
__declspec(implementation_key(349)) _Recordset_DeprecatedPtr Connection15_Deprecated::OpenSchema ( enum SchemaEnum Schema, const _variant_t & Restrictions, const _variant_t & SchemaID );
__declspec(implementation_key(350)) HRESULT _Connection_Deprecated::Cancel ( );
__declspec(implementation_key(351)) PositionEnum_Param Recordset15_Deprecated::GetAbsolutePosition ( );
__declspec(implementation_key(352)) void Recordset15_Deprecated::PutAbsolutePosition ( PositionEnum_Param pl );
__declspec(implementation_key(353)) void Recordset15_Deprecated::PutRefActiveConnection ( IDispatch * pvar );
__declspec(implementation_key(354)) void Recordset15_Deprecated::PutActiveConnection ( const _variant_t & pvar );
__declspec(implementation_key(355)) _variant_t Recordset15_Deprecated::GetActiveConnection ( );
__declspec(implementation_key(356)) VARIANT_BOOL Recordset15_Deprecated::GetadoBOF ( );
__declspec(implementation_key(357)) _variant_t Recordset15_Deprecated::GetBookmark ( );
__declspec(implementation_key(358)) void Recordset15_Deprecated::PutBookmark ( const _variant_t & pvBookmark );
__declspec(implementation_key(359)) long Recordset15_Deprecated::GetCacheSize ( );
__declspec(implementation_key(360)) void Recordset15_Deprecated::PutCacheSize ( long pl );
__declspec(implementation_key(361)) enum CursorTypeEnum Recordset15_Deprecated::GetCursorType ( );
__declspec(implementation_key(362)) void Recordset15_Deprecated::PutCursorType ( enum CursorTypeEnum plCursorType );
__declspec(implementation_key(363)) VARIANT_BOOL Recordset15_Deprecated::GetadoEOF ( );
__declspec(implementation_key(364)) Fields_DeprecatedPtr Recordset15_Deprecated::GetFields ( );
__declspec(implementation_key(365)) enum LockTypeEnum Recordset15_Deprecated::GetLockType ( );
__declspec(implementation_key(366)) void Recordset15_Deprecated::PutLockType ( enum LockTypeEnum plLockType );
__declspec(implementation_key(367)) ADO_LONGPTR Recordset15_Deprecated::GetMaxRecords ( );
__declspec(implementation_key(368)) void Recordset15_Deprecated::PutMaxRecords ( ADO_LONGPTR plMaxRecords );
__declspec(implementation_key(369)) ADO_LONGPTR Recordset15_Deprecated::GetRecordCount ( );
__declspec(implementation_key(370)) void Recordset15_Deprecated::PutRefSource ( IDispatch * pvSource );
__declspec(implementation_key(371)) void Recordset15_Deprecated::PutSource ( _bstr_t pvSource );
__declspec(implementation_key(372)) _variant_t Recordset15_Deprecated::GetSource ( );
__declspec(implementation_key(373)) HRESULT Recordset15_Deprecated::AddNew ( const _variant_t & FieldList, const _variant_t & Values );
__declspec(implementation_key(374)) HRESULT Recordset15_Deprecated::CancelUpdate ( );
__declspec(implementation_key(375)) HRESULT Recordset15_Deprecated::Close ( );
__declspec(implementation_key(376)) HRESULT Recordset15_Deprecated::Delete ( enum AffectEnum AffectRecords );
__declspec(implementation_key(377)) _variant_t Recordset15_Deprecated::GetRows ( long Rows, const _variant_t & Start, const _variant_t & Fields );
__declspec(implementation_key(378)) HRESULT Recordset15_Deprecated::Move ( ADO_LONGPTR NumRecords, const _variant_t & Start );
__declspec(implementation_key(379)) HRESULT Recordset15_Deprecated::MoveNext ( );
__declspec(implementation_key(380)) HRESULT Recordset15_Deprecated::MovePrevious ( );
__declspec(implementation_key(381)) HRESULT Recordset15_Deprecated::MoveFirst ( );
__declspec(implementation_key(382)) HRESULT Recordset15_Deprecated::MoveLast ( );
__declspec(implementation_key(383)) HRESULT Recordset15_Deprecated::Open ( const _variant_t & Source, const _variant_t & ActiveConnection, enum CursorTypeEnum CursorType, enum LockTypeEnum LockType, long Options );
__declspec(implementation_key(384)) HRESULT Recordset15_Deprecated::Requery ( long Options );
__declspec(implementation_key(385)) HRESULT Recordset15_Deprecated::_xResync ( enum AffectEnum AffectRecords );
__declspec(implementation_key(386)) HRESULT Recordset15_Deprecated::Update ( const _variant_t & Fields, const _variant_t & Values );
__declspec(implementation_key(387)) PositionEnum_Param Recordset15_Deprecated::GetAbsolutePage ( );
__declspec(implementation_key(388)) void Recordset15_Deprecated::PutAbsolutePage ( PositionEnum_Param pl );
__declspec(implementation_key(389)) enum EditModeEnum Recordset15_Deprecated::GetEditMode ( );
__declspec(implementation_key(390)) _variant_t Recordset15_Deprecated::GetFilter ( );
__declspec(implementation_key(391)) void Recordset15_Deprecated::PutFilter ( const _variant_t & Criteria );
__declspec(implementation_key(392)) ADO_LONGPTR Recordset15_Deprecated::GetPageCount ( );
__declspec(implementation_key(393)) long Recordset15_Deprecated::GetPageSize ( );
__declspec(implementation_key(394)) void Recordset15_Deprecated::PutPageSize ( long pl );
__declspec(implementation_key(395)) _bstr_t Recordset15_Deprecated::GetSort ( );
__declspec(implementation_key(396)) void Recordset15_Deprecated::PutSort ( _bstr_t Criteria );
__declspec(implementation_key(397)) long Recordset15_Deprecated::GetStatus ( );
__declspec(implementation_key(398)) long Recordset15_Deprecated::GetState ( );
__declspec(implementation_key(399)) _Recordset_DeprecatedPtr Recordset15_Deprecated::_xClone ( );
__declspec(implementation_key(400)) HRESULT Recordset15_Deprecated::UpdateBatch ( enum AffectEnum AffectRecords );
__declspec(implementation_key(401)) HRESULT Recordset15_Deprecated::CancelBatch ( enum AffectEnum AffectRecords );
__declspec(implementation_key(402)) enum CursorLocationEnum Recordset15_Deprecated::GetCursorLocation ( );
__declspec(implementation_key(403)) void Recordset15_Deprecated::PutCursorLocation ( enum CursorLocationEnum plCursorLoc );
__declspec(implementation_key(404)) _Recordset_DeprecatedPtr Recordset15_Deprecated::NextRecordset ( VARIANT * RecordsAffected );
__declspec(implementation_key(405)) VARIANT_BOOL Recordset15_Deprecated::Supports ( enum CursorOptionEnum CursorOptions );
__declspec(implementation_key(406)) _variant_t Recordset15_Deprecated::GetCollect ( const _variant_t & Index );
__declspec(implementation_key(407)) void Recordset15_Deprecated::PutCollect ( const _variant_t & Index, const _variant_t & pvar );
__declspec(implementation_key(408)) enum MarshalOptionsEnum Recordset15_Deprecated::GetMarshalOptions ( );
__declspec(implementation_key(409)) void Recordset15_Deprecated::PutMarshalOptions ( enum MarshalOptionsEnum peMarshal );
__declspec(implementation_key(410)) HRESULT Recordset15_Deprecated::Find ( _bstr_t Criteria, ADO_LONGPTR SkipRecords, enum SearchDirectionEnum SearchDirection, const _variant_t & Start );
__declspec(implementation_key(411)) HRESULT Recordset20_Deprecated::Cancel ( );
__declspec(implementation_key(412)) IUnknownPtr Recordset20_Deprecated::GetDataSource ( );
__declspec(implementation_key(413)) void Recordset20_Deprecated::PutRefDataSource ( IUnknown * ppunkDataSource );
__declspec(implementation_key(414)) HRESULT Recordset20_Deprecated::_xSave ( _bstr_t FileName, enum PersistFormatEnum PersistFormat );
__declspec(implementation_key(415)) IDispatchPtr Recordset20_Deprecated::GetActiveCommand ( );
__declspec(implementation_key(416)) void Recordset20_Deprecated::PutStayInSync ( VARIANT_BOOL pbStayInSync );
__declspec(implementation_key(417)) VARIANT_BOOL Recordset20_Deprecated::GetStayInSync ( );
__declspec(implementation_key(418)) _bstr_t Recordset20_Deprecated::GetString ( enum StringFormatEnum StringFormat, long NumRows, _bstr_t ColumnDelimeter, _bstr_t RowDelimeter, _bstr_t NullExpr );
__declspec(implementation_key(419)) _bstr_t Recordset20_Deprecated::GetDataMember ( );
__declspec(implementation_key(420)) void Recordset20_Deprecated::PutDataMember ( _bstr_t pbstrDataMember );
__declspec(implementation_key(421)) enum CompareEnum Recordset20_Deprecated::CompareBookmarks ( const _variant_t & Bookmark1, const _variant_t & Bookmark2 );
__declspec(implementation_key(422)) _Recordset_DeprecatedPtr Recordset20_Deprecated::Clone ( enum LockTypeEnum LockType );
__declspec(implementation_key(423)) HRESULT Recordset20_Deprecated::Resync ( enum AffectEnum AffectRecords, enum ResyncEnum ResyncValues );
__declspec(implementation_key(424)) HRESULT Recordset21_Deprecated::Seek ( const _variant_t & KeyValues, enum SeekEnum SeekOption );
__declspec(implementation_key(425)) void Recordset21_Deprecated::PutIndex ( _bstr_t pbstrIndex );
__declspec(implementation_key(426)) _bstr_t Recordset21_Deprecated::GetIndex ( );
__declspec(implementation_key(427)) HRESULT _Recordset_Deprecated::Save ( const _variant_t & Destination, enum PersistFormatEnum PersistFormat );
__declspec(implementation_key(428)) Field_DeprecatedPtr Fields15_Deprecated::GetItem ( const _variant_t & Index );
__declspec(implementation_key(429)) HRESULT Fields20_Deprecated::_Append ( _bstr_t Name, enum DataTypeEnum Type, ADO_LONGPTR DefinedSize, enum FieldAttributeEnum Attrib );
__declspec(implementation_key(430)) HRESULT Fields20_Deprecated::Delete ( const _variant_t & Index );
__declspec(implementation_key(431)) HRESULT Fields_Deprecated::Append ( _bstr_t Name, enum DataTypeEnum Type, ADO_LONGPTR DefinedSize, enum FieldAttributeEnum Attrib, const _variant_t & FieldValue );
__declspec(implementation_key(432)) HRESULT Fields_Deprecated::Update ( );
__declspec(implementation_key(433)) HRESULT Fields_Deprecated::Resync ( enum ResyncEnum ResyncValues );
__declspec(implementation_key(434)) HRESULT Fields_Deprecated::CancelUpdate ( );
__declspec(implementation_key(435)) ADO_LONGPTR Field20_Deprecated::GetActualSize ( );
__declspec(implementation_key(436)) long Field20_Deprecated::GetAttributes ( );
__declspec(implementation_key(437)) ADO_LONGPTR Field20_Deprecated::GetDefinedSize ( );
__declspec(implementation_key(438)) _bstr_t Field20_Deprecated::GetName ( );
__declspec(implementation_key(439)) enum DataTypeEnum Field20_Deprecated::GetType ( );
__declspec(implementation_key(440)) _variant_t Field20_Deprecated::GetValue ( );
__declspec(implementation_key(441)) void Field20_Deprecated::PutValue ( const _variant_t & pvar );
__declspec(implementation_key(442)) unsigned char Field20_Deprecated::GetPrecision ( );
__declspec(implementation_key(443)) unsigned char Field20_Deprecated::GetNumericScale ( );
__declspec(implementation_key(444)) HRESULT Field20_Deprecated::AppendChunk ( const _variant_t & Data );
__declspec(implementation_key(445)) _variant_t Field20_Deprecated::GetChunk ( long Length );
__declspec(implementation_key(446)) _variant_t Field20_Deprecated::GetOriginalValue ( );
__declspec(implementation_key(447)) _variant_t Field20_Deprecated::GetUnderlyingValue ( );
__declspec(implementation_key(448)) IUnknownPtr Field20_Deprecated::GetDataFormat ( );
__declspec(implementation_key(449)) void Field20_Deprecated::PutRefDataFormat ( IUnknown * ppiDF );
__declspec(implementation_key(450)) void Field20_Deprecated::PutPrecision ( unsigned char pbPrecision );
__declspec(implementation_key(451)) void Field20_Deprecated::PutNumericScale ( unsigned char pbNumericScale );
__declspec(implementation_key(452)) void Field20_Deprecated::PutType ( enum DataTypeEnum pDataType );
__declspec(implementation_key(453)) void Field20_Deprecated::PutDefinedSize ( ADO_LONGPTR pl );
__declspec(implementation_key(454)) void Field20_Deprecated::PutAttributes ( long pl );
__declspec(implementation_key(455)) long Field_Deprecated::GetStatus ( );
__declspec(implementation_key(456)) _Connection_DeprecatedPtr Command15_Deprecated::GetActiveConnection ( );
__declspec(implementation_key(457)) void Command15_Deprecated::PutRefActiveConnection ( struct _Connection_Deprecated * ppvObject );
__declspec(implementation_key(458)) void Command15_Deprecated::PutActiveConnection ( const _variant_t & ppvObject );
__declspec(implementation_key(459)) _bstr_t Command15_Deprecated::GetCommandText ( );
__declspec(implementation_key(460)) void Command15_Deprecated::PutCommandText ( _bstr_t pbstr );
__declspec(implementation_key(461)) long Command15_Deprecated::GetCommandTimeout ( );
__declspec(implementation_key(462)) void Command15_Deprecated::PutCommandTimeout ( long pl );
__declspec(implementation_key(463)) VARIANT_BOOL Command15_Deprecated::GetPrepared ( );
__declspec(implementation_key(464)) void Command15_Deprecated::PutPrepared ( VARIANT_BOOL pfPrepared );
__declspec(implementation_key(465)) _Recordset_DeprecatedPtr Command15_Deprecated::Execute ( VARIANT * RecordsAffected, VARIANT * Parameters, long Options );
__declspec(implementation_key(466)) _Parameter_DeprecatedPtr Command15_Deprecated::CreateParameter ( _bstr_t Name, enum DataTypeEnum Type, enum ParameterDirectionEnum Direction, ADO_LONGPTR Size, const _variant_t & Value );
__declspec(implementation_key(467)) Parameters_DeprecatedPtr Command15_Deprecated::GetParameters ( );
__declspec(implementation_key(468)) void Command15_Deprecated::PutCommandType ( enum CommandTypeEnum plCmdType );
__declspec(implementation_key(469)) enum CommandTypeEnum Command15_Deprecated::GetCommandType ( );
__declspec(implementation_key(470)) _bstr_t Command15_Deprecated::GetName ( );
__declspec(implementation_key(471)) void Command15_Deprecated::PutName ( _bstr_t pbstrName );
__declspec(implementation_key(472)) long Command25_Deprecated::GetState ( );
__declspec(implementation_key(473)) HRESULT Command25_Deprecated::Cancel ( );
__declspec(implementation_key(474)) void _Command_Deprecated::PutRefCommandStream ( IUnknown * pvStream );
__declspec(implementation_key(475)) _variant_t _Command_Deprecated::GetCommandStream ( );
__declspec(implementation_key(476)) void _Command_Deprecated::PutDialect ( _bstr_t pbstrDialect );
__declspec(implementation_key(477)) _bstr_t _Command_Deprecated::GetDialect ( );
__declspec(implementation_key(478)) void _Command_Deprecated::PutNamedParameters ( VARIANT_BOOL pfNamedParameters );
__declspec(implementation_key(479)) VARIANT_BOOL _Command_Deprecated::GetNamedParameters ( );
__declspec(implementation_key(480)) _bstr_t _Parameter_Deprecated::GetName ( );
__declspec(implementation_key(481)) void _Parameter_Deprecated::PutName ( _bstr_t pbstr );
__declspec(implementation_key(482)) _variant_t _Parameter_Deprecated::GetValue ( );
__declspec(implementation_key(483)) void _Parameter_Deprecated::PutValue ( const _variant_t & pvar );
__declspec(implementation_key(484)) enum DataTypeEnum _Parameter_Deprecated::GetType ( );
__declspec(implementation_key(485)) void _Parameter_Deprecated::PutType ( enum DataTypeEnum psDataType );
__declspec(implementation_key(486)) void _Parameter_Deprecated::PutDirection ( enum ParameterDirectionEnum plParmDirection );
__declspec(implementation_key(487)) enum ParameterDirectionEnum _Parameter_Deprecated::GetDirection ( );
__declspec(implementation_key(488)) void _Parameter_Deprecated::PutPrecision ( unsigned char pbPrecision );
__declspec(implementation_key(489)) unsigned char _Parameter_Deprecated::GetPrecision ( );
__declspec(implementation_key(490)) void _Parameter_Deprecated::PutNumericScale ( unsigned char pbScale );
__declspec(implementation_key(491)) unsigned char _Parameter_Deprecated::GetNumericScale ( );
__declspec(implementation_key(492)) void _Parameter_Deprecated::PutSize ( ADO_LONGPTR pl );
__declspec(implementation_key(493)) ADO_LONGPTR _Parameter_Deprecated::GetSize ( );
__declspec(implementation_key(494)) HRESULT _Parameter_Deprecated::AppendChunk ( const _variant_t & Val );
__declspec(implementation_key(495)) long _Parameter_Deprecated::GetAttributes ( );
__declspec(implementation_key(496)) void _Parameter_Deprecated::PutAttributes ( long plParmAttribs );
__declspec(implementation_key(497)) _Parameter_DeprecatedPtr Parameters_Deprecated::GetItem ( const _variant_t & Index );
__declspec(implementation_key(498)) HRESULT RecordsetEventsVt_Deprecated::WillChangeField ( long cFields, const _variant_t & Fields, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset );
__declspec(implementation_key(499)) HRESULT RecordsetEventsVt_Deprecated::FieldChangeComplete ( long cFields, const _variant_t & Fields, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset );
__declspec(implementation_key(500)) HRESULT RecordsetEventsVt_Deprecated::WillChangeRecord ( enum EventReasonEnum adReason, long cRecords, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset );
__declspec(implementation_key(501)) HRESULT RecordsetEventsVt_Deprecated::RecordChangeComplete ( enum EventReasonEnum adReason, long cRecords, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset );
__declspec(implementation_key(502)) HRESULT RecordsetEventsVt_Deprecated::WillChangeRecordset ( enum EventReasonEnum adReason, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset );
__declspec(implementation_key(503)) HRESULT RecordsetEventsVt_Deprecated::RecordsetChangeComplete ( enum EventReasonEnum adReason, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset );
__declspec(implementation_key(504)) HRESULT RecordsetEventsVt_Deprecated::WillMove ( enum EventReasonEnum adReason, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset );
__declspec(implementation_key(505)) HRESULT RecordsetEventsVt_Deprecated::MoveComplete ( enum EventReasonEnum adReason, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset );
__declspec(implementation_key(506)) HRESULT RecordsetEventsVt_Deprecated::EndOfRecordset ( VARIANT_BOOL * fMoreData, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset );
__declspec(implementation_key(507)) HRESULT RecordsetEventsVt_Deprecated::FetchProgress ( long Progress, long MaxProgress, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset );
__declspec(implementation_key(508)) HRESULT RecordsetEventsVt_Deprecated::FetchComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset );
__declspec(implementation_key(509)) HRESULT ConnectionEvents_Deprecated::InfoMessage ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection );
__declspec(implementation_key(510)) HRESULT ConnectionEvents_Deprecated::BeginTransComplete ( long TransactionLevel, struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection );
__declspec(implementation_key(511)) HRESULT ConnectionEvents_Deprecated::CommitTransComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection );
__declspec(implementation_key(512)) HRESULT ConnectionEvents_Deprecated::RollbackTransComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection );
__declspec(implementation_key(513)) HRESULT ConnectionEvents_Deprecated::WillExecute ( BSTR * Source, enum CursorTypeEnum * CursorType, enum LockTypeEnum * LockType, long * Options, enum EventStatusEnum * adStatus, struct _Command_Deprecated * pCommand, struct _Recordset_Deprecated * pRecordset, struct _Connection_Deprecated * pConnection );
__declspec(implementation_key(514)) HRESULT ConnectionEvents_Deprecated::ExecuteComplete ( long RecordsAffected, struct Error * pError, enum EventStatusEnum * adStatus, struct _Command_Deprecated * pCommand, struct _Recordset_Deprecated * pRecordset, struct _Connection_Deprecated * pConnection );
__declspec(implementation_key(515)) HRESULT ConnectionEvents_Deprecated::WillConnect ( BSTR * ConnectionString, BSTR * UserID, BSTR * Password, long * Options, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection );
__declspec(implementation_key(516)) HRESULT ConnectionEvents_Deprecated::ConnectComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection );
__declspec(implementation_key(517)) HRESULT ConnectionEvents_Deprecated::Disconnect ( enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection );
__declspec(implementation_key(518)) HRESULT RecordsetEvents_Deprecated::WillChangeField ( long cFields, const _variant_t & Fields, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset );
__declspec(implementation_key(519)) HRESULT RecordsetEvents_Deprecated::FieldChangeComplete ( long cFields, const _variant_t & Fields, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset );
__declspec(implementation_key(520)) HRESULT RecordsetEvents_Deprecated::WillChangeRecord ( enum EventReasonEnum adReason, long cRecords, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset );
__declspec(implementation_key(521)) HRESULT RecordsetEvents_Deprecated::RecordChangeComplete ( enum EventReasonEnum adReason, long cRecords, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset );
__declspec(implementation_key(522)) HRESULT RecordsetEvents_Deprecated::WillChangeRecordset ( enum EventReasonEnum adReason, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset );
__declspec(implementation_key(523)) HRESULT RecordsetEvents_Deprecated::RecordsetChangeComplete ( enum EventReasonEnum adReason, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset );
__declspec(implementation_key(524)) HRESULT RecordsetEvents_Deprecated::WillMove ( enum EventReasonEnum adReason, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset );
__declspec(implementation_key(525)) HRESULT RecordsetEvents_Deprecated::MoveComplete ( enum EventReasonEnum adReason, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset );
__declspec(implementation_key(526)) HRESULT RecordsetEvents_Deprecated::EndOfRecordset ( VARIANT_BOOL * fMoreData, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset );
__declspec(implementation_key(527)) HRESULT RecordsetEvents_Deprecated::FetchProgress ( long Progress, long MaxProgress, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset );
__declspec(implementation_key(528)) HRESULT RecordsetEvents_Deprecated::FetchComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset );
__declspec(implementation_key(529)) _variant_t _Record_Deprecated::GetActiveConnection ( );
__declspec(implementation_key(530)) void _Record_Deprecated::PutActiveConnection ( _bstr_t pvar );
__declspec(implementation_key(531)) void _Record_Deprecated::PutRefActiveConnection ( struct _Connection_Deprecated * pvar );
__declspec(implementation_key(532)) enum ObjectStateEnum _Record_Deprecated::GetState ( );
__declspec(implementation_key(533)) _variant_t _Record_Deprecated::GetSource ( );
__declspec(implementation_key(534)) void _Record_Deprecated::PutSource ( _bstr_t pvar );
__declspec(implementation_key(535)) void _Record_Deprecated::PutRefSource ( IDispatch * pvar );
__declspec(implementation_key(536)) enum ConnectModeEnum _Record_Deprecated::GetMode ( );
__declspec(implementation_key(537)) void _Record_Deprecated::PutMode ( enum ConnectModeEnum pMode );
__declspec(implementation_key(538)) _bstr_t _Record_Deprecated::GetParentURL ( );
__declspec(implementation_key(539)) _bstr_t _Record_Deprecated::MoveRecord ( _bstr_t Source, _bstr_t Destination, _bstr_t UserName, _bstr_t Password, enum MoveRecordOptionsEnum Options, VARIANT_BOOL Async );
__declspec(implementation_key(540)) _bstr_t _Record_Deprecated::CopyRecord ( _bstr_t Source, _bstr_t Destination, _bstr_t UserName, _bstr_t Password, enum CopyRecordOptionsEnum Options, VARIANT_BOOL Async );
__declspec(implementation_key(541)) HRESULT _Record_Deprecated::DeleteRecord ( _bstr_t Source, VARIANT_BOOL Async );
__declspec(implementation_key(542)) HRESULT _Record_Deprecated::Open ( const _variant_t & Source, const _variant_t & ActiveConnection, enum ConnectModeEnum Mode, enum RecordCreateOptionsEnum CreateOptions, enum RecordOpenOptionsEnum Options, _bstr_t UserName, _bstr_t Password );
__declspec(implementation_key(543)) HRESULT _Record_Deprecated::Close ( );
__declspec(implementation_key(544)) Fields_DeprecatedPtr _Record_Deprecated::GetFields ( );
__declspec(implementation_key(545)) enum RecordTypeEnum _Record_Deprecated::GetRecordType ( );
__declspec(implementation_key(546)) _Recordset_DeprecatedPtr _Record_Deprecated::GetChildren ( );
__declspec(implementation_key(547)) HRESULT _Record_Deprecated::Cancel ( );
__declspec(implementation_key(548)) ADO_LONGPTR _Stream_Deprecated::GetSize ( );
__declspec(implementation_key(549)) VARIANT_BOOL _Stream_Deprecated::GetEOS ( );
__declspec(implementation_key(550)) ADO_LONGPTR _Stream_Deprecated::GetPosition ( );
__declspec(implementation_key(551)) void _Stream_Deprecated::PutPosition ( ADO_LONGPTR pPos );
__declspec(implementation_key(552)) enum StreamTypeEnum _Stream_Deprecated::GetType ( );
__declspec(implementation_key(553)) void _Stream_Deprecated::PutType ( enum StreamTypeEnum ptype );
__declspec(implementation_key(554)) enum LineSeparatorEnum _Stream_Deprecated::GetLineSeparator ( );
__declspec(implementation_key(555)) void _Stream_Deprecated::PutLineSeparator ( enum LineSeparatorEnum pLS );
__declspec(implementation_key(556)) enum ObjectStateEnum _Stream_Deprecated::GetState ( );
__declspec(implementation_key(557)) enum ConnectModeEnum _Stream_Deprecated::GetMode ( );
__declspec(implementation_key(558)) void _Stream_Deprecated::PutMode ( enum ConnectModeEnum pMode );
__declspec(implementation_key(559)) _bstr_t _Stream_Deprecated::GetCharset ( );
__declspec(implementation_key(560)) void _Stream_Deprecated::PutCharset ( _bstr_t pbstrCharset );
__declspec(implementation_key(561)) _variant_t _Stream_Deprecated::Read ( long NumBytes );
__declspec(implementation_key(562)) HRESULT _Stream_Deprecated::Open ( const _variant_t & Source, enum ConnectModeEnum Mode, enum StreamOpenOptionsEnum Options, _bstr_t UserName, _bstr_t Password );
__declspec(implementation_key(563)) HRESULT _Stream_Deprecated::Close ( );
__declspec(implementation_key(564)) HRESULT _Stream_Deprecated::SkipLine ( );
__declspec(implementation_key(565)) HRESULT _Stream_Deprecated::Write ( const _variant_t & Buffer );
__declspec(implementation_key(566)) HRESULT _Stream_Deprecated::SetEOS ( );
__declspec(implementation_key(567)) HRESULT _Stream_Deprecated::CopyTo ( struct _Stream_Deprecated * DestStream, ADO_LONGPTR CharNumber );
__declspec(implementation_key(568)) HRESULT _Stream_Deprecated::Flush ( );
__declspec(implementation_key(569)) HRESULT _Stream_Deprecated::SaveToFile ( _bstr_t FileName, enum SaveOptionsEnum Options );
__declspec(implementation_key(570)) HRESULT _Stream_Deprecated::LoadFromFile ( _bstr_t FileName );
__declspec(implementation_key(571)) _bstr_t _Stream_Deprecated::ReadText ( long NumChars );
__declspec(implementation_key(572)) HRESULT _Stream_Deprecated::WriteText ( _bstr_t Data, enum StreamWriteEnum Options );
__declspec(implementation_key(573)) HRESULT _Stream_Deprecated::Cancel ( );
__declspec(implementation_key(574)) ADO_LONGPTR Field15_Deprecated::GetActualSize ( );
__declspec(implementation_key(575)) long Field15_Deprecated::GetAttributes ( );
__declspec(implementation_key(576)) ADO_LONGPTR Field15_Deprecated::GetDefinedSize ( );
__declspec(implementation_key(577)) _bstr_t Field15_Deprecated::GetName ( );
__declspec(implementation_key(578)) enum DataTypeEnum Field15_Deprecated::GetType ( );
__declspec(implementation_key(579)) _variant_t Field15_Deprecated::GetValue ( );
__declspec(implementation_key(580)) void Field15_Deprecated::PutValue ( const _variant_t & pvar );
__declspec(implementation_key(581)) unsigned char Field15_Deprecated::GetPrecision ( );
__declspec(implementation_key(582)) unsigned char Field15_Deprecated::GetNumericScale ( );
__declspec(implementation_key(583)) HRESULT Field15_Deprecated::AppendChunk ( const _variant_t & Data );
__declspec(implementation_key(584)) _variant_t Field15_Deprecated::GetChunk ( long Length );
__declspec(implementation_key(585)) _variant_t Field15_Deprecated::GetOriginalValue ( );
__declspec(implementation_key(586)) _variant_t Field15_Deprecated::GetUnderlyingValue ( );
#pragma stop_map_region

#pragma pack(pop)
