Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 #ifndef _ADOINT_H_
      7 #define _ADOINT_H_
      8 
      9 #include <tchar.h>
     10 
     11 #ifndef __REQUIRED_RPCNDR_H_VERSION__
     12 #define __REQUIRED_RPCNDR_H_VERSION__ 440
     13 #endif
     14 #include "rpc.h"
     15 #include "rpcndr.h"
     16 #ifndef __m_bobj_h__
     17 #define __m_bobj_h__
     18 
     19 #ifndef ___ADOCollection_FWD_DEFINED__
     20 #define ___ADOCollection_FWD_DEFINED__
     21 typedef struct _ADOCollection _ADOCollection;
     22 #endif
     23 #ifndef ___ADODynaCollection_FWD_DEFINED__
     24 #define ___ADODynaCollection_FWD_DEFINED__
     25 typedef struct _ADODynaCollection _ADODynaCollection;
     26 #endif
     27 #ifndef ___ADO_FWD_DEFINED__
     28 #define ___ADO_FWD_DEFINED__
     29 typedef struct _ADO _ADO;
     30 #endif
     31 #ifndef __Error_FWD_DEFINED__
     32 #define __Error_FWD_DEFINED__
     33 typedef struct ADOError Error;
     34 #endif
     35 #ifndef __Errors_FWD_DEFINED__
     36 #define __Errors_FWD_DEFINED__
     37 typedef struct ADOErrors Errors;
     38 #endif
     39 #ifndef __Command15_FWD_DEFINED__
     40 #define __Command15_FWD_DEFINED__
     41 typedef struct Command15 Command15;
     42 #endif
     43 #ifndef __Command25_FWD_DEFINED__
     44 #define __Command25_FWD_DEFINED__
     45 typedef struct Command25 Command25;
     46 #endif
     47 #ifndef ___Command_FWD_DEFINED__
     48 #define ___Command_FWD_DEFINED__
     49 typedef struct _ADOCommand _Command;
     50 #endif
     51 #ifndef __ConnectionEventsVt_FWD_DEFINED__
     52 #define __ConnectionEventsVt_FWD_DEFINED__
     53 typedef struct ConnectionEventsVt ConnectionEventsVt;
     54 #endif
     55 #ifndef __RecordsetEventsVt_FWD_DEFINED__
     56 #define __RecordsetEventsVt_FWD_DEFINED__
     57 typedef struct RecordsetEventsVt RecordsetEventsVt;
     58 #endif
     59 #ifndef __ConnectionEvents_FWD_DEFINED__
     60 #define __ConnectionEvents_FWD_DEFINED__
     61 typedef struct ConnectionEvents ConnectionEvents;
     62 #endif
     63 #ifndef __RecordsetEvents_FWD_DEFINED__
     64 #define __RecordsetEvents_FWD_DEFINED__
     65 typedef struct RecordsetEvents RecordsetEvents;
     66 #endif
     67 #ifndef __Connection15_FWD_DEFINED__
     68 #define __Connection15_FWD_DEFINED__
     69 typedef struct Connection15 Connection15;
     70 #endif
     71 #ifndef ___Connection_FWD_DEFINED__
     72 #define ___Connection_FWD_DEFINED__
     73 typedef struct _ADOConnection _Connection;
     74 #endif
     75 #ifndef __ADOConnectionConstruction15_FWD_DEFINED__
     76 #define __ADOConnectionConstruction15_FWD_DEFINED__
     77 typedef struct ADOConnectionConstruction15 ADOConnectionConstruction15;
     78 #endif
     79 #ifndef __ADOConnectionConstruction_FWD_DEFINED__
     80 #define __ADOConnectionConstruction_FWD_DEFINED__
     81 typedef struct ADOConnectionConstruction ADOConnectionConstruction;
     82 #endif
     83 #ifndef __Connection_FWD_DEFINED__
     84 #define __Connection_FWD_DEFINED__
     85 #ifdef __cplusplus
     86 typedef class ADOConnection Connection;
     87 #else
     88 typedef struct ADOConnection Connection;
     89 #endif
     90 #endif
     91 #ifndef ___Record_FWD_DEFINED__
     92 #define ___Record_FWD_DEFINED__
     93 typedef struct _ADORecord _Record;
     94 #endif
     95 #ifndef __Record_FWD_DEFINED__
     96 #define __Record_FWD_DEFINED__
     97 #ifdef __cplusplus
     98 typedef class ADORecord Record;
     99 #else
    100 typedef struct ADORecord Record;
    101 #endif
    102 #endif
    103 #ifndef ___Stream_FWD_DEFINED__
    104 #define ___Stream_FWD_DEFINED__
    105 typedef struct _ADOStream _Stream;
    106 #endif
    107 #ifndef __Stream_FWD_DEFINED__
    108 #define __Stream_FWD_DEFINED__
    109 #ifdef __cplusplus
    110 typedef class ADOStream Stream;
    111 #else
    112 typedef struct ADOStream Stream;
    113 #endif
    114 #endif
    115 #ifndef __ADORecordConstruction_FWD_DEFINED__
    116 #define __ADORecordConstruction_FWD_DEFINED__
    117 typedef struct ADORecordConstruction ADORecordConstruction;
    118 #endif
    119 #ifndef __ADOStreamConstruction_FWD_DEFINED__
    120 #define __ADOStreamConstruction_FWD_DEFINED__
    121 typedef struct ADOStreamConstruction ADOStreamConstruction;
    122 #endif
    123 #ifndef __ADOCommandConstruction_FWD_DEFINED__
    124 #define __ADOCommandConstruction_FWD_DEFINED__
    125 typedef struct ADOCommandConstruction ADOCommandConstruction;
    126 #endif
    127 #ifndef __Command_FWD_DEFINED__
    128 #define __Command_FWD_DEFINED__
    129 #ifdef __cplusplus
    130 typedef class ADOCommand Command;
    131 #else
    132 typedef struct ADOCommand Command;
    133 #endif
    134 #endif
    135 #ifndef __Recordset_FWD_DEFINED__
    136 #define __Recordset_FWD_DEFINED__
    137 #ifdef __cplusplus
    138 typedef class ADORecordset Recordset;
    139 #else
    140 typedef struct ADORecordset Recordset;
    141 #endif
    142 #endif
    143 #ifndef __Recordset15_FWD_DEFINED__
    144 #define __Recordset15_FWD_DEFINED__
    145 typedef struct Recordset15 Recordset15;
    146 #endif
    147 #ifndef __Recordset20_FWD_DEFINED__
    148 #define __Recordset20_FWD_DEFINED__
    149 typedef struct Recordset20 Recordset20;
    150 #endif
    151 #ifndef __Recordset21_FWD_DEFINED__
    152 #define __Recordset21_FWD_DEFINED__
    153 typedef struct Recordset21 Recordset21;
    154 #endif
    155 #ifndef ___Recordset_FWD_DEFINED__
    156 #define ___Recordset_FWD_DEFINED__
    157 typedef struct _ADORecordset _Recordset;
    158 #endif
    159 #ifndef __ADORecordsetConstruction_FWD_DEFINED__
    160 #define __ADORecordsetConstruction_FWD_DEFINED__
    161 typedef struct ADORecordsetConstruction ADORecordsetConstruction;
    162 #endif
    163 #ifndef __Field15_FWD_DEFINED__
    164 #define __Field15_FWD_DEFINED__
    165 typedef struct Field15 Field15;
    166 #endif
    167 #ifndef __Field20_FWD_DEFINED__
    168 #define __Field20_FWD_DEFINED__
    169 typedef struct Field20 Field20;
    170 #endif
    171 #ifndef __Field_FWD_DEFINED__
    172 #define __Field_FWD_DEFINED__
    173 typedef struct ADOField Field;
    174 #endif
    175 #ifndef __Fields15_FWD_DEFINED__
    176 #define __Fields15_FWD_DEFINED__
    177 typedef struct Fields15 Fields15;
    178 #endif
    179 #ifndef __Fields20_FWD_DEFINED__
    180 #define __Fields20_FWD_DEFINED__
    181 typedef struct Fields20 Fields20;
    182 #endif
    183 #ifndef __Fields_FWD_DEFINED__
    184 #define __Fields_FWD_DEFINED__
    185 typedef struct ADOFields Fields;
    186 #endif
    187 #ifndef ___Parameter_FWD_DEFINED__
    188 #define ___Parameter_FWD_DEFINED__
    189 typedef struct _ADOParameter _Parameter;
    190 #endif
    191 #ifndef __Parameter_FWD_DEFINED__
    192 #define __Parameter_FWD_DEFINED__
    193 #ifdef __cplusplus
    194 typedef class ADOParameter Parameter;
    195 #else
    196 typedef struct ADOParameter Parameter;
    197 #endif
    198 #endif
    199 #ifndef __Parameters_FWD_DEFINED__
    200 #define __Parameters_FWD_DEFINED__
    201 typedef struct ADOParameters Parameters;
    202 #endif
    203 #ifndef __Property_FWD_DEFINED__
    204 #define __Property_FWD_DEFINED__
    205 typedef struct ADOProperty Property;
    206 #endif
    207 #ifndef __Properties_FWD_DEFINED__
    208 #define __Properties_FWD_DEFINED__
    209 typedef struct ADOProperties Properties;
    210 #endif
    211 #ifdef __cplusplus
    212 extern "C"{
    213 #endif
    214 
    215 #ifndef __MIDL_user_allocate_free_DEFINED__
    216 #define __MIDL_user_allocate_free_DEFINED__
    217   void *__RPC_API MIDL_user_allocate(size_t);
    218   void __RPC_API MIDL_user_free(void *);
    219 #endif
    220 
    221 #ifdef _WIN64
    222   typedef LONGLONG ADO_LONGPTR;
    223 #else
    224   typedef LONG ADO_LONGPTR;
    225 #endif
    226 
    227   extern RPC_IF_HANDLE __MIDL_itf_m_bobj_0000_v0_0_c_ifspec;
    228   extern RPC_IF_HANDLE __MIDL_itf_m_bobj_0000_v0_0_s_ifspec;
    229 
    230 #ifndef __ADODB_LIBRARY_DEFINED__
    231 #define __ADODB_LIBRARY_DEFINED__
    232   typedef enum CursorTypeEnum {
    233     adOpenUnspecified = -1,adOpenForwardOnly = 0,adOpenKeyset = 1,adOpenDynamic = 2,adOpenStatic = 3
    234   } CursorTypeEnum;
    235   typedef enum CursorOptionEnum {
    236     adHoldRecords = 0x100,adMovePrevious = 0x200,adAddNew = 0x1000400,adDelete = 0x1000800,adUpdate = 0x1008000,adBookmark = 0x2000,
    237     adApproxPosition = 0x4000,adUpdateBatch = 0x10000,adResync = 0x20000,adNotify = 0x40000,adFind = 0x80000,adSeek = 0x400000,adIndex = 0x800000
    238   } CursorOptionEnum;
    239   typedef enum LockTypeEnum {
    240     adLockUnspecified = -1,adLockReadOnly = 1,adLockPessimistic = 2,adLockOptimistic = 3,adLockBatchOptimistic = 4
    241   } LockTypeEnum;
    242   typedef enum ExecuteOptionEnum {
    243     adOptionUnspecified = -1,adAsyncExecute = 0x10,adAsyncFetch = 0x20,adAsyncFetchNonBlocking = 0x40,adExecuteNoRecords = 0x80,
    244     adExecuteStream = 0x400,adExecuteRecord = 0x800
    245   } ExecuteOptionEnum;
    246   typedef enum ConnectOptionEnum {
    247     adConnectUnspecified = -1,adAsyncConnect = 0x10
    248   } ConnectOptionEnum;
    249   typedef enum ObjectStateEnum {
    250     adStateClosed = 0,adStateOpen = 0x1,adStateConnecting = 0x2,adStateExecuting = 0x4,adStateFetching = 0x8
    251   } ObjectStateEnum;
    252   typedef enum CursorLocationEnum {
    253     adUseNone = 1,adUseServer = 2,adUseClient = 3,adUseClientBatch = 3
    254   } CursorLocationEnum;
    255   typedef enum DataTypeEnum {
    256     adEmpty = 0,adTinyInt = 16,adSmallInt = 2,adInteger = 3,adBigInt = 20,adUnsignedTinyInt = 17,adUnsignedSmallInt = 18,adUnsignedInt = 19,
    257     adUnsignedBigInt = 21,adSingle = 4,adDouble = 5,adCurrency = 6,adDecimal = 14,adNumeric = 131,adBoolean = 11,adError = 10,adUserDefined = 132,
    258     adVariant = 12,adIDispatch = 9,adIUnknown = 13,adGUID = 72,adDate = 7,adDBDate = 133,adDBTime = 134,adDBTimeStamp = 135,adBSTR = 8,adChar = 129,
    259     adVarChar = 200,adLongVarChar = 201,adWChar = 130,adVarWChar = 202,adLongVarWChar = 203,adBinary = 128,adVarBinary = 204,adLongVarBinary = 205,
    260     adChapter = 136,adFileTime = 64,adPropVariant = 138,adVarNumeric = 139,adArray = 0x2000
    261   } DataTypeEnum;
    262   typedef enum FieldAttributeEnum {
    263     adFldUnspecified = -1,adFldMayDefer = 0x2,adFldUpdatable = 0x4,adFldUnknownUpdatable = 0x8,adFldFixed = 0x10,adFldIsNullable = 0x20,
    264     adFldMayBeNull = 0x40,adFldLong = 0x80,adFldRowID = 0x100,adFldRowVersion = 0x200,adFldCacheDeferred = 0x1000,adFldIsChapter = 0x2000,
    265     adFldNegativeScale = 0x4000,adFldKeyColumn = 0x8000,adFldIsRowURL = 0x10000,adFldIsDefaultStream = 0x20000,adFldIsCollection = 0x40000
    266   } FieldAttributeEnum;
    267   typedef enum EditModeEnum {
    268     adEditNone = 0,adEditInProgress = 0x1,adEditAdd = 0x2,adEditDelete = 0x4
    269   } EditModeEnum;
    270   typedef enum RecordStatusEnum {
    271     adRecOK = 0,adRecNew = 0x1,adRecModified = 0x2,adRecDeleted = 0x4,adRecUnmodified = 0x8,adRecInvalid = 0x10,adRecMultipleChanges = 0x40,
    272     adRecPendingChanges = 0x80,adRecCanceled = 0x100,adRecCantRelease = 0x400,adRecConcurrencyViolation = 0x800,adRecIntegrityViolation = 0x1000,
    273     adRecMaxChangesExceeded = 0x2000,adRecObjectOpen = 0x4000,adRecOutOfMemory = 0x8000,adRecPermissionDenied = 0x10000,
    274     adRecSchemaViolation = 0x20000,adRecDBDeleted = 0x40000
    275   } RecordStatusEnum;
    276   typedef enum GetRowsOptionEnum {
    277     adGetRowsRest = -1
    278   } GetRowsOptionEnum;
    279   typedef enum PositionEnum {
    280     adPosUnknown = -1,adPosBOF = -2,adPosEOF = -3
    281   } PositionEnum;
    282 #ifdef _WIN64
    283   typedef LONGLONG PositionEnum_Param;
    284 #else
    285   typedef PositionEnum PositionEnum_Param;
    286 #endif
    287   typedef enum BookmarkEnum {
    288     adBookmarkCurrent = 0,adBookmarkFirst = 1,adBookmarkLast = 2
    289   } BookmarkEnum;
    290   typedef enum MarshalOptionsEnum {
    291     adMarshalAll = 0,adMarshalModifiedOnly = 1
    292   } MarshalOptionsEnum;
    293   typedef enum AffectEnum {
    294     adAffectCurrent = 1,adAffectGroup = 2,adAffectAll = 3,adAffectAllChapters = 4
    295   } AffectEnum;
    296   typedef enum ResyncEnum {
    297     adResyncUnderlyingValues = 1,adResyncAllValues = 2
    298   } ResyncEnum;
    299   typedef enum CompareEnum {
    300     adCompareLessThan = 0,adCompareEqual = 1,adCompareGreaterThan = 2,adCompareNotEqual = 3,adCompareNotComparable = 4
    301   } CompareEnum;
    302   typedef enum FilterGroupEnum {
    303     adFilterNone = 0,adFilterPendingRecords = 1,adFilterAffectedRecords = 2,adFilterFetchedRecords = 3,adFilterPredicate = 4,
    304     adFilterConflictingRecords = 5
    305   } FilterGroupEnum;
    306   typedef enum SearchDirectionEnum {
    307     adSearchForward = 1,adSearchBackward = -1
    308   } SearchDirectionEnum;
    309   typedef SearchDirectionEnum SearchDirection;
    310   typedef enum PersistFormatEnum {
    311     adPersistADTG = 0,adPersistXML = 1
    312   } PersistFormatEnum;
    313   typedef enum StringFormatEnum {
    314     adClipString = 2
    315   } StringFormatEnum;
    316   typedef enum ConnectPromptEnum {
    317     adPromptAlways = 1,adPromptComplete = 2,adPromptCompleteRequired = 3,adPromptNever = 4
    318   } ConnectPromptEnum;
    319   typedef enum ConnectModeEnum {
    320     adModeUnknown = 0,adModeRead = 1,adModeWrite = 2,adModeReadWrite = 3,adModeShareDenyRead = 4,adModeShareDenyWrite = 8,adModeShareExclusive = 0xc,
    321     adModeShareDenyNone = 0x10,adModeRecursive = 0x400000
    322   } ConnectModeEnum;
    323   typedef enum RecordCreateOptionsEnum {
    324     adCreateCollection = 0x2000,adCreateStructDoc = 0x80000000,adCreateNonCollection = 0,adOpenIfExists = 0x2000000,adCreateOverwrite = 0x4000000,
    325     adFailIfNotExists = -1
    326   } RecordCreateOptionsEnum;
    327   typedef enum RecordOpenOptionsEnum {
    328     adOpenRecordUnspecified = -1,adOpenSource = 0x800000,adOpenOutput = 0x800000,adOpenAsync = 0x1000,adDelayFetchStream = 0x4000,
    329     adDelayFetchFields = 0x8000,adOpenExecuteCommand = 0x10000
    330   } RecordOpenOptionsEnum;
    331   typedef enum IsolationLevelEnum {
    332     adXactUnspecified = 0xffffffff,adXactChaos = 0x10,adXactReadUncommitted = 0x100,adXactBrowse = 0x100,adXactCursorStability = 0x1000,
    333     adXactReadCommitted = 0x1000,adXactRepeatableRead = 0x10000,adXactSerializable = 0x100000,adXactIsolated = 0x100000
    334   } IsolationLevelEnum;
    335   typedef enum XactAttributeEnum {
    336     adXactCommitRetaining = 0x20000,adXactAbortRetaining = 0x40000,adXactAsyncPhaseOne = 0x80000,adXactSyncPhaseOne = 0x100000
    337   } XactAttributeEnum;
    338   typedef enum PropertyAttributesEnum {
    339     adPropNotSupported = 0,adPropRequired = 0x1,adPropOptional = 0x2,adPropRead = 0x200,adPropWrite = 0x400
    340   } PropertyAttributesEnum;
    341   typedef enum ErrorValueEnum {
    342     adErrProviderFailed = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xbb8),
    343     adErrInvalidArgument = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xbb9),
    344     adErrOpeningFile = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xbba),
    345     adErrReadFile = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xbbb),
    346     adErrWriteFile = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xbbc),
    347     adErrNoCurrentRecord = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xbcd),
    348     adErrIllegalOperation = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xc93),
    349     adErrCantChangeProvider = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xc94),
    350     adErrInTransaction = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xcae),
    351     adErrFeatureNotAvailable = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xcb3),
    352     adErrItemNotFound = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xcc1),
    353     adErrObjectInCollection = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xd27),
    354     adErrObjectNotSet = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xd5c),
    355     adErrDataConversion = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xd5d),
    356     adErrObjectClosed = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe78),
    357     adErrObjectOpen = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe79),
    358     adErrProviderNotFound = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe7a),
    359     adErrBoundToCommand = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe7b),
    360     adErrInvalidParamInfo = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe7c),
    361     adErrInvalidConnection = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe7d),
    362     adErrNotReentrant = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe7e),
    363     adErrStillExecuting = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe7f),
    364     adErrOperationCancelled = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe80),
    365     adErrStillConnecting = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe81),
    366     adErrInvalidTransaction = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe82),
    367     adErrNotExecuting = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe83),
    368     adErrUnsafeOperation = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe84),
    369     adwrnSecurityDialog = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe85),
    370     adwrnSecurityDialogHeader = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe86),
    371     adErrIntegrityViolation = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe87),
    372     adErrPermissionDenied = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe88),
    373     adErrDataOverflow = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe89),
    374     adErrSchemaViolation = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe8a),
    375     adErrSignMismatch = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe8b),
    376     adErrCantConvertvalue = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe8c),
    377     adErrCantCreate = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe8d),
    378     adErrColumnNotOnThisRow = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe8e),
    379     adErrURLDoesNotExist = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe8f),
    380     adErrTreePermissionDenied = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe90),
    381     adErrInvalidURL = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe91),
    382     adErrResourceLocked = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe92),
    383     adErrResourceExists = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe93),
    384     adErrCannotComplete = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe94),
    385     adErrVolumeNotFound = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe95),
    386     adErrOutOfSpace = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe96),
    387     adErrResourceOutOfScope = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe97),
    388     adErrUnavailable = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe98),
    389     adErrURLNamedRowDoesNotExist = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe99),
    390     adErrDelResOutOfScope = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe9a),
    391     adErrPropInvalidColumn = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe9b),
    392     adErrPropInvalidOption = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe9c),
    393     adErrPropInvalidValue = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe9d),
    394     adErrPropConflicting = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe9e),
    395     adErrPropNotAllSettable = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xe9f),
    396     adErrPropNotSet = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xea0),
    397     adErrPropNotSettable = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xea1),
    398     adErrPropNotSupported = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xea2),
    399     adErrCatalogNotSet = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xea3),
    400     adErrCantChangeConnection = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xea4),
    401     adErrFieldsUpdateFailed = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xea5),
    402     adErrDenyNotSupported = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xea6),
    403     adErrDenyTypeNotSupported = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xea7),
    404     adErrProviderNotSpecified = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xea9),
    405     adErrConnectionStringTooLong = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_CONTROL,0xeaa)
    406   } ErrorValueEnum;
    407   typedef enum ParameterAttributesEnum {
    408     adParamSigned = 0x10,adParamNullable = 0x40,adParamLong = 0x80
    409   } ParameterAttributesEnum;
    410   typedef enum ParameterDirectionEnum {
    411     adParamUnknown = 0,adParamInput = 0x1,adParamOutput = 0x2,adParamInputOutput = 0x3,adParamReturnValue = 0x4
    412   } ParameterDirectionEnum;
    413   typedef enum CommandTypeEnum {
    414     adCmdUnspecified = -1,adCmdUnknown = 0x8,adCmdText = 0x1,adCmdTable = 0x2,adCmdStoredProc = 0x4,adCmdFile = 0x100,adCmdTableDirect = 0x200
    415   } CommandTypeEnum;
    416   typedef enum EventStatusEnum {
    417     adStatusOK = 0x1,adStatusErrorsOccurred = 0x2,adStatusCantDeny = 0x3,adStatusCancel = 0x4,adStatusUnwantedEvent = 0x5
    418   } EventStatusEnum;
    419   typedef enum EventReasonEnum {
    420     adRsnAddNew = 1,adRsnDelete = 2,adRsnUpdate = 3,adRsnUndoUpdate = 4,adRsnUndoAddNew = 5,adRsnUndoDelete = 6,adRsnRequery = 7,adRsnResynch = 8,
    421     adRsnClose = 9,adRsnMove = 10,adRsnFirstChange = 11,adRsnMoveFirst = 12,adRsnMoveNext = 13,adRsnMovePrevious = 14,adRsnMoveLast = 15
    422   } EventReasonEnum;
    423   typedef enum SchemaEnum {
    424     adSchemaProviderSpecific = -1,adSchemaAsserts = 0,adSchemaCatalogs = 1,adSchemaCharacterSets = 2,adSchemaCollations = 3,adSchemaColumns = 4,
    425     adSchemaCheckConstraints = 5,adSchemaConstraintColumnUsage = 6,adSchemaConstraintTableUsage = 7,adSchemaKeyColumnUsage = 8,
    426     adSchemaReferentialContraints = 9,adSchemaReferentialConstraints = 9,adSchemaTableConstraints = 10,adSchemaColumnsDomainUsage = 11,
    427     adSchemaIndexes = 12,adSchemaColumnPrivileges = 13,adSchemaTablePrivileges = 14,adSchemaUsagePrivileges = 15,adSchemaProcedures = 16,
    428     adSchemaSchemata = 17,adSchemaSQLLanguages = 18,adSchemaStatistics = 19,adSchemaTables = 20,adSchemaTranslations = 21,adSchemaProviderTypes = 22,
    429     adSchemaViews = 23,adSchemaViewColumnUsage = 24,adSchemaViewTableUsage = 25,adSchemaProcedureParameters = 26,adSchemaForeignKeys = 27,
    430     adSchemaPrimaryKeys = 28,adSchemaProcedureColumns = 29,adSchemaDBInfoKeywords = 30,adSchemaDBInfoLiterals = 31,adSchemaCubes = 32,
    431     adSchemaDimensions = 33,adSchemaHierarchies = 34,adSchemaLevels = 35,adSchemaMeasures = 36,adSchemaProperties = 37,adSchemaMembers = 38,
    432     adSchemaTrustees = 39,adSchemaFunctions = 40,adSchemaActions = 41,adSchemaCommands = 42,adSchemaSets = 43
    433   } SchemaEnum;
    434   typedef enum FieldStatusEnum {
    435     adFieldOK = 0,adFieldCantConvertValue = 2,adFieldIsNull = 3,adFieldTruncated = 4,adFieldSignMismatch = 5,adFieldDataOverflow = 6,
    436     adFieldCantCreate = 7,adFieldUnavailable = 8,adFieldPermissionDenied = 9,adFieldIntegrityViolation = 10,adFieldSchemaViolation = 11,
    437     adFieldBadStatus = 12,adFieldDefault = 13,adFieldIgnore = 15,adFieldDoesNotExist = 16,adFieldInvalidURL = 17,adFieldResourceLocked = 18,
    438     adFieldResourceExists = 19,adFieldCannotComplete = 20,adFieldVolumeNotFound = 21,adFieldOutOfSpace = 22,adFieldCannotDeleteSource = 23,
    439     adFieldReadOnly = 24,adFieldResourceOutOfScope = 25,adFieldAlreadyExists = 26,adFieldPendingInsert = 0x10000,adFieldPendingDelete = 0x20000,
    440     adFieldPendingChange = 0x40000,adFieldPendingUnknown = 0x80000,adFieldPendingUnknownDelete = 0x100000
    441   } FieldStatusEnum;
    442   typedef enum SeekEnum {
    443     adSeekFirstEQ = 0x1,adSeekLastEQ = 0x2,adSeekAfterEQ = 0x4,adSeekAfter = 0x8,adSeekBeforeEQ = 0x10,adSeekBefore = 0x20
    444   } SeekEnum;
    445 
    446 #ifndef _COMMON_ADC_AND_ADO_PROPS_
    447 #define _COMMON_ADC_AND_ADO_PROPS_
    448   typedef enum ADCPROP_UPDATECRITERIA_ENUM {
    449     adCriteriaKey = 0,adCriteriaAllCols = 1,adCriteriaUpdCols = 2,adCriteriaTimeStamp = 3
    450   } ADCPROP_UPDATECRITERIA_ENUM;
    451   typedef enum ADCPROP_ASYNCTHREADPRIORITY_ENUM {
    452     adPriorityLowest = 1,adPriorityBelowNormal = 2,adPriorityNormal = 3,adPriorityAboveNormal = 4,adPriorityHighest = 5
    453   } ADCPROP_ASYNCTHREADPRIORITY_ENUM;
    454   typedef enum ADCPROP_AUTORECALC_ENUM {
    455     adRecalcUpFront = 0,adRecalcAlways = 1
    456   } ADCPROP_AUTORECALC_ENUM;
    457   typedef enum ADCPROP_UPDATERESYNC_ENUM {
    458     adResyncNone = 0,adResyncAutoIncrement = 1,adResyncConflicts = 2,adResyncUpdates = 4,adResyncInserts = 8,adResyncAll = 15
    459   } ADCPROP_UPDATERESYNC_ENUM;
    460 #endif
    461   typedef ADCPROP_UPDATERESYNC_ENUM CEResyncEnum;
    462   typedef enum MoveRecordOptionsEnum {
    463     adMoveUnspecified = -1,adMoveOverWrite = 1,adMoveDontUpdateLinks = 2,adMoveAllowEmulation = 4
    464   } MoveRecordOptionsEnum;
    465   typedef enum CopyRecordOptionsEnum {
    466     adCopyUnspecified = -1,adCopyOverWrite = 1,adCopyAllowEmulation = 4,adCopyNonRecursive = 2
    467   } CopyRecordOptionsEnum;
    468   typedef enum StreamTypeEnum {
    469     adTypeBinary = 1,adTypeText = 2
    470   } StreamTypeEnum;
    471   typedef enum LineSeparatorEnum {
    472     adLF = 10,adCR = 13,adCRLF = -1
    473   } LineSeparatorEnum;
    474   typedef enum StreamOpenOptionsEnum {
    475     adOpenStreamUnspecified = -1,adOpenStreamAsync = 1,adOpenStreamFromRecord = 4
    476   } StreamOpenOptionsEnum;
    477   typedef enum StreamWriteEnum {
    478     adWriteChar = 0,adWriteLine = 1,stWriteChar = 0,stWriteLine = 1
    479   } StreamWriteEnum;
    480   typedef enum SaveOptionsEnum {
    481     adSaveCreateNotExist = 1,adSaveCreateOverWrite = 2
    482   } SaveOptionsEnum;
    483   typedef enum FieldEnum {
    484     adDefaultStream = -1,adRecordURL = -2
    485   } FieldEnum;
    486   typedef enum StreamReadEnum {
    487     adReadAll = -1,adReadLine = -2
    488   } StreamReadEnum;
    489   typedef enum RecordTypeEnum {
    490     adSimpleRecord = 0,adCollectionRecord = 1,adStructDoc = 2
    491   } RecordTypeEnum;
    492   EXTERN_C const IID LIBID_ADODB;
    493 
    494 #ifndef ___ADOCollection_INTERFACE_DEFINED__
    495 #define ___ADOCollection_INTERFACE_DEFINED__
    496   EXTERN_C const IID IID__ADOCollection;
    497 #if defined(__cplusplus) && !defined(CINTERFACE)
    498   struct _ADOCollection : public IDispatch {
    499   public:
    500     virtual HRESULT WINAPI get_Count(__LONG32 *c) = 0;
    501     virtual HRESULT WINAPI _NewEnum(IUnknown **ppvObject) = 0;
    502     virtual HRESULT WINAPI Refresh(void) = 0;
    503   };
    504 #else
    505   typedef struct _ADOCollectionVtbl {
    506     BEGIN_INTERFACE
    507       HRESULT (WINAPI *QueryInterface)(_ADOCollection *This,REFIID riid,void **ppvObject);
    508       ULONG (WINAPI *AddRef)(_ADOCollection *This);
    509       ULONG (WINAPI *Release)(_ADOCollection *This);
    510       HRESULT (WINAPI *GetTypeInfoCount)(_ADOCollection *This,UINT *pctinfo);
    511       HRESULT (WINAPI *GetTypeInfo)(_ADOCollection *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    512       HRESULT (WINAPI *GetIDsOfNames)(_ADOCollection *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    513       HRESULT (WINAPI *Invoke)(_ADOCollection *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    514       HRESULT (WINAPI *get_Count)(_ADOCollection *This,__LONG32 *c);
    515       HRESULT (WINAPI *_NewEnum)(_ADOCollection *This,IUnknown **ppvObject);
    516       HRESULT (WINAPI *Refresh)(_ADOCollection *This);
    517     END_INTERFACE
    518   } _ADOCollectionVtbl;
    519   struct _ADOCollection {
    520     CONST_VTBL struct _ADOCollectionVtbl *lpVtbl;
    521   };
    522 #ifdef COBJMACROS
    523 #define _ADOCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
    524 #define _ADOCollection_AddRef(This) (This)->lpVtbl -> AddRef(This)
    525 #define _ADOCollection_Release(This) (This)->lpVtbl -> Release(This)
    526 #define _ADOCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
    527 #define _ADOCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    528 #define _ADOCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    529 #define _ADOCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    530 #define _Collection_get_Count(This,c) (This)->lpVtbl -> get_Count(This,c)
    531 #define _ADOCollection__NewEnum(This,ppvObject) (This)->lpVtbl -> _NewEnum(This,ppvObject)
    532 #define _ADOCollection_Refresh(This) (This)->lpVtbl -> Refresh(This)
    533 #endif
    534 #endif
    535   HRESULT WINAPI _Collection_get_Count_Proxy(_ADOCollection *This,__LONG32 *c);
    536   void __RPC_STUB _Collection_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    537   HRESULT WINAPI _ADOCollection__NewEnum_Proxy(_ADOCollection *This,IUnknown **ppvObject);
    538   void __RPC_STUB _ADOCollection__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    539   HRESULT WINAPI _ADOCollection_Refresh_Proxy(_ADOCollection *This);
    540   void __RPC_STUB _ADOCollection_Refresh_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    541 #endif
    542 
    543 #ifndef ___ADODynaCollection_INTERFACE_DEFINED__
    544 #define ___ADODynaCollection_INTERFACE_DEFINED__
    545   EXTERN_C const IID IID__ADODynaCollection;
    546 #if defined(__cplusplus) && !defined(CINTERFACE)
    547   struct _ADODynaCollection : public _ADOCollection {
    548   public:
    549     virtual HRESULT WINAPI Append(IDispatch *Object) = 0;
    550     virtual HRESULT WINAPI Delete(VARIANT Index) = 0;
    551   };
    552 #else
    553   typedef struct _ADODynaCollectionVtbl {
    554     BEGIN_INTERFACE
    555       HRESULT (WINAPI *QueryInterface)(_ADODynaCollection *This,REFIID riid,void **ppvObject);
    556       ULONG (WINAPI *AddRef)(_ADODynaCollection *This);
    557       ULONG (WINAPI *Release)(_ADODynaCollection *This);
    558       HRESULT (WINAPI *GetTypeInfoCount)(_ADODynaCollection *This,UINT *pctinfo);
    559       HRESULT (WINAPI *GetTypeInfo)(_ADODynaCollection *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    560       HRESULT (WINAPI *GetIDsOfNames)(_ADODynaCollection *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    561       HRESULT (WINAPI *Invoke)(_ADODynaCollection *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    562       HRESULT (WINAPI *get_Count)(_ADODynaCollection *This,__LONG32 *c);
    563       HRESULT (WINAPI *_NewEnum)(_ADODynaCollection *This,IUnknown **ppvObject);
    564       HRESULT (WINAPI *Refresh)(_ADODynaCollection *This);
    565       HRESULT (WINAPI *Append)(_ADODynaCollection *This,IDispatch *Object);
    566       HRESULT (WINAPI *Delete)(_ADODynaCollection *This,VARIANT Index);
    567     END_INTERFACE
    568   } _ADODynaCollectionVtbl;
    569   struct _ADODynaCollection {
    570     CONST_VTBL struct _ADODynaCollectionVtbl *lpVtbl;
    571   };
    572 #ifdef COBJMACROS
    573 #define _ADODynaCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
    574 #define _ADODynaCollection_AddRef(This) (This)->lpVtbl -> AddRef(This)
    575 #define _ADODynaCollection_Release(This) (This)->lpVtbl -> Release(This)
    576 #define _ADODynaCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
    577 #define _ADODynaCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    578 #define _ADODynaCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    579 #define _ADODynaCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    580 #define _DynaCollection_get_Count(This,c) (This)->lpVtbl -> get_Count(This,c)
    581 #define _ADODynaCollection__NewEnum(This,ppvObject) (This)->lpVtbl -> _NewEnum(This,ppvObject)
    582 #define _ADODynaCollection_Refresh(This) (This)->lpVtbl -> Refresh(This)
    583 #define _ADODynaCollection_Append(This,Object) (This)->lpVtbl -> Append(This,Object)
    584 #define _ADODynaCollection_Delete(This,Index) (This)->lpVtbl -> Delete(This,Index)
    585 #endif
    586 #endif
    587   HRESULT WINAPI _ADODynaCollection_Append_Proxy(_ADODynaCollection *This,IDispatch *Object);
    588   void __RPC_STUB _ADODynaCollection_Append_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    589   HRESULT WINAPI _ADODynaCollection_Delete_Proxy(_ADODynaCollection *This,VARIANT Index);
    590   void __RPC_STUB _ADODynaCollection_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    591 #endif
    592 
    593 #ifndef ___ADO_INTERFACE_DEFINED__
    594 #define ___ADO_INTERFACE_DEFINED__
    595   EXTERN_C const IID IID__ADO;
    596 #if defined(__cplusplus) && !defined(CINTERFACE)
    597   struct _ADO : public IDispatch {
    598   public:
    599     virtual HRESULT WINAPI get_Properties(ADOProperties **ppvObject) = 0;
    600   };
    601 #else
    602   typedef struct _ADOVtbl {
    603     BEGIN_INTERFACE
    604       HRESULT (WINAPI *QueryInterface)(_ADO *This,REFIID riid,void **ppvObject);
    605       ULONG (WINAPI *AddRef)(_ADO *This);
    606       ULONG (WINAPI *Release)(_ADO *This);
    607       HRESULT (WINAPI *GetTypeInfoCount)(_ADO *This,UINT *pctinfo);
    608       HRESULT (WINAPI *GetTypeInfo)(_ADO *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    609       HRESULT (WINAPI *GetIDsOfNames)(_ADO *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    610       HRESULT (WINAPI *Invoke)(_ADO *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    611       HRESULT (WINAPI *get_Properties)(_ADO *This,ADOProperties **ppvObject);
    612     END_INTERFACE
    613   } _ADOVtbl;
    614   struct _ADO {
    615     CONST_VTBL struct _ADOVtbl *lpVtbl;
    616   };
    617 #ifdef COBJMACROS
    618 #define _ADO_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
    619 #define _ADO_AddRef(This) (This)->lpVtbl -> AddRef(This)
    620 #define _ADO_Release(This) (This)->lpVtbl -> Release(This)
    621 #define _ADO_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
    622 #define _ADO_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    623 #define _ADO_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    624 #define _ADO_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    625 #define _ADO_get_Properties(This,ppvObject) (This)->lpVtbl -> get_Properties(This,ppvObject)
    626 #endif
    627 #endif
    628   HRESULT WINAPI _ADO_get_Properties_Proxy(_ADO *This,ADOProperties **ppvObject);
    629   void __RPC_STUB _ADO_get_Properties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    630 #endif
    631 
    632 #ifndef __Error_INTERFACE_DEFINED__
    633 #define __Error_INTERFACE_DEFINED__
    634   EXTERN_C const IID IID_Error;
    635 #if defined(__cplusplus) && !defined(CINTERFACE)
    636   struct ADOError : public IDispatch {
    637   public:
    638     virtual HRESULT WINAPI get_Number(__LONG32 *pl) = 0;
    639     virtual HRESULT WINAPI get_Source(BSTR *pbstr) = 0;
    640     virtual HRESULT WINAPI get_Description(BSTR *pbstr) = 0;
    641     virtual HRESULT WINAPI get_HelpFile(BSTR *pbstr) = 0;
    642     virtual HRESULT WINAPI get_HelpContext(__LONG32 *pl) = 0;
    643     virtual HRESULT WINAPI get_SQLState(BSTR *pbstr) = 0;
    644     virtual HRESULT WINAPI get_NativeError(__LONG32 *pl) = 0;
    645   };
    646 #else
    647   typedef struct ErrorVtbl {
    648     BEGIN_INTERFACE
    649       HRESULT (WINAPI *QueryInterface)(ADOError *This,REFIID riid,void **ppvObject);
    650       ULONG (WINAPI *AddRef)(ADOError *This);
    651       ULONG (WINAPI *Release)(ADOError *This);
    652       HRESULT (WINAPI *GetTypeInfoCount)(ADOError *This,UINT *pctinfo);
    653       HRESULT (WINAPI *GetTypeInfo)(ADOError *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    654       HRESULT (WINAPI *GetIDsOfNames)(ADOError *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    655       HRESULT (WINAPI *Invoke)(ADOError *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    656       HRESULT (WINAPI *get_Number)(ADOError *This,__LONG32 *pl);
    657       HRESULT (WINAPI *get_Source)(ADOError *This,BSTR *pbstr);
    658       HRESULT (WINAPI *get_Description)(ADOError *This,BSTR *pbstr);
    659       HRESULT (WINAPI *get_HelpFile)(ADOError *This,BSTR *pbstr);
    660       HRESULT (WINAPI *get_HelpContext)(ADOError *This,__LONG32 *pl);
    661       HRESULT (WINAPI *get_SQLState)(ADOError *This,BSTR *pbstr);
    662       HRESULT (WINAPI *get_NativeError)(ADOError *This,__LONG32 *pl);
    663     END_INTERFACE
    664   } ErrorVtbl;
    665   struct Error {
    666     CONST_VTBL struct ErrorVtbl *lpVtbl;
    667   };
    668 #ifdef COBJMACROS
    669 #define Error_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
    670 #define Error_AddRef(This) (This)->lpVtbl -> AddRef(This)
    671 #define Error_Release(This) (This)->lpVtbl -> Release(This)
    672 #define Error_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
    673 #define Error_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    674 #define Error_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    675 #define Error_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    676 #define Error_get_Number(This,pl) (This)->lpVtbl -> get_Number(This,pl)
    677 #define Error_get_Source(This,pbstr) (This)->lpVtbl -> get_Source(This,pbstr)
    678 #define Error_get_Description(This,pbstr) (This)->lpVtbl -> get_Description(This,pbstr)
    679 #define Error_get_HelpFile(This,pbstr) (This)->lpVtbl -> get_HelpFile(This,pbstr)
    680 #define Error_get_HelpContext(This,pl) (This)->lpVtbl -> get_HelpContext(This,pl)
    681 #define Error_get_SQLState(This,pbstr) (This)->lpVtbl -> get_SQLState(This,pbstr)
    682 #define Error_get_NativeError(This,pl) (This)->lpVtbl -> get_NativeError(This,pl)
    683 #endif
    684 #endif
    685   HRESULT WINAPI Error_get_Number_Proxy(ADOError *This,__LONG32 *pl);
    686   void __RPC_STUB Error_get_Number_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    687   HRESULT WINAPI Error_get_Source_Proxy(ADOError *This,BSTR *pbstr);
    688   void __RPC_STUB Error_get_Source_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    689   HRESULT WINAPI Error_get_Description_Proxy(ADOError *This,BSTR *pbstr);
    690   void __RPC_STUB Error_get_Description_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    691   HRESULT WINAPI Error_get_HelpFile_Proxy(ADOError *This,BSTR *pbstr);
    692   void __RPC_STUB Error_get_HelpFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    693   HRESULT WINAPI Error_get_HelpContext_Proxy(ADOError *This,__LONG32 *pl);
    694   void __RPC_STUB Error_get_HelpContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    695   HRESULT WINAPI Error_get_SQLState_Proxy(ADOError *This,BSTR *pbstr);
    696   void __RPC_STUB Error_get_SQLState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    697   HRESULT WINAPI Error_get_NativeError_Proxy(ADOError *This,__LONG32 *pl);
    698   void __RPC_STUB Error_get_NativeError_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    699 #endif
    700 
    701 #ifndef __Errors_INTERFACE_DEFINED__
    702 #define __Errors_INTERFACE_DEFINED__
    703   EXTERN_C const IID IID_Errors;
    704 #if defined(__cplusplus) && !defined(CINTERFACE)
    705   struct ADOErrors : public _ADOCollection {
    706   public:
    707     virtual HRESULT WINAPI get_Item(VARIANT Index,ADOError **ppvObject) = 0;
    708     virtual HRESULT WINAPI Clear(void) = 0;
    709   };
    710 #else
    711   typedef struct ErrorsVtbl {
    712     BEGIN_INTERFACE
    713       HRESULT (WINAPI *QueryInterface)(ADOErrors *This,REFIID riid,void **ppvObject);
    714       ULONG (WINAPI *AddRef)(ADOErrors *This);
    715       ULONG (WINAPI *Release)(ADOErrors *This);
    716       HRESULT (WINAPI *GetTypeInfoCount)(ADOErrors *This,UINT *pctinfo);
    717       HRESULT (WINAPI *GetTypeInfo)(ADOErrors *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    718       HRESULT (WINAPI *GetIDsOfNames)(ADOErrors *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    719       HRESULT (WINAPI *Invoke)(ADOErrors *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    720       HRESULT (WINAPI *get_Count)(ADOErrors *This,__LONG32 *c);
    721       HRESULT (WINAPI *_NewEnum)(ADOErrors *This,IUnknown **ppvObject);
    722       HRESULT (WINAPI *Refresh)(ADOErrors *This);
    723       HRESULT (WINAPI *get_Item)(ADOErrors *This,VARIANT Index,ADOError **ppvObject);
    724       HRESULT (WINAPI *Clear)(ADOErrors *This);
    725     END_INTERFACE
    726   } ErrorsVtbl;
    727   struct Errors {
    728     CONST_VTBL struct ErrorsVtbl *lpVtbl;
    729   };
    730 #ifdef COBJMACROS
    731 #define Errors_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
    732 #define Errors_AddRef(This) (This)->lpVtbl -> AddRef(This)
    733 #define Errors_Release(This) (This)->lpVtbl -> Release(This)
    734 #define Errors_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
    735 #define Errors_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    736 #define Errors_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    737 #define Errors_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    738 #define Errors_get_Count(This,c) (This)->lpVtbl -> get_Count(This,c)
    739 #define Errors__NewEnum(This,ppvObject) (This)->lpVtbl -> _NewEnum(This,ppvObject)
    740 #define Errors_Refresh(This) (This)->lpVtbl -> Refresh(This)
    741 #define Errors_get_Item(This,Index,ppvObject) (This)->lpVtbl -> get_Item(This,Index,ppvObject)
    742 #define Errors_Clear(This) (This)->lpVtbl -> Clear(This)
    743 #endif
    744 #endif
    745   HRESULT WINAPI Errors_get_Item_Proxy(ADOErrors *This,VARIANT Index,ADOError **ppvObject);
    746   void __RPC_STUB Errors_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    747   HRESULT WINAPI Errors_Clear_Proxy(ADOErrors *This);
    748   void __RPC_STUB Errors_Clear_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    749 #endif
    750 
    751 #ifndef __Command15_INTERFACE_DEFINED__
    752 #define __Command15_INTERFACE_DEFINED__
    753   EXTERN_C const IID IID_Command15;
    754 #if defined(__cplusplus) && !defined(CINTERFACE)
    755   struct Command15 : public _ADO {
    756   public:
    757     virtual HRESULT WINAPI get_ActiveConnection(_ADOConnection **ppvObject) = 0;
    758     virtual HRESULT WINAPI putref_ActiveConnection(_ADOConnection *pCon) = 0;
    759     virtual HRESULT WINAPI put_ActiveConnection(VARIANT vConn) = 0;
    760     virtual HRESULT WINAPI get_CommandText(BSTR *pbstr) = 0;
    761     virtual HRESULT WINAPI put_CommandText(BSTR bstr) = 0;
    762     virtual HRESULT WINAPI get_CommandTimeout(LONG *pl) = 0;
    763     virtual HRESULT WINAPI put_CommandTimeout(LONG Timeout) = 0;
    764     virtual HRESULT WINAPI get_Prepared(VARIANT_BOOL *pfPrepared) = 0;
    765     virtual HRESULT WINAPI put_Prepared(VARIANT_BOOL fPrepared) = 0;
    766     virtual HRESULT WINAPI Execute(VARIANT *RecordsAffected,VARIANT *Parameters,__LONG32 Options,_ADORecordset **ppirs) = 0;
    767     virtual HRESULT WINAPI CreateParameter(BSTR Name,DataTypeEnum Type,ParameterDirectionEnum Direction,ADO_LONGPTR Size,VARIANT Value,_ADOParameter **ppiprm) = 0;
    768     virtual HRESULT WINAPI get_Parameters(ADOParameters **ppvObject) = 0;
    769     virtual HRESULT WINAPI put_CommandType(CommandTypeEnum lCmdType) = 0;
    770     virtual HRESULT WINAPI get_CommandType(CommandTypeEnum *plCmdType) = 0;
    771     virtual HRESULT WINAPI get_Name(BSTR *pbstrName) = 0;
    772     virtual HRESULT WINAPI put_Name(BSTR bstrName) = 0;
    773   };
    774 #else
    775   typedef struct Command15Vtbl {
    776     BEGIN_INTERFACE
    777       HRESULT (WINAPI *QueryInterface)(Command15 *This,REFIID riid,void **ppvObject);
    778       ULONG (WINAPI *AddRef)(Command15 *This);
    779       ULONG (WINAPI *Release)(Command15 *This);
    780       HRESULT (WINAPI *GetTypeInfoCount)(Command15 *This,UINT *pctinfo);
    781       HRESULT (WINAPI *GetTypeInfo)(Command15 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    782       HRESULT (WINAPI *GetIDsOfNames)(Command15 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    783       HRESULT (WINAPI *Invoke)(Command15 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    784       HRESULT (WINAPI *get_Properties)(Command15 *This,ADOProperties **ppvObject);
    785       HRESULT (WINAPI *get_ActiveConnection)(Command15 *This,_ADOConnection **ppvObject);
    786       HRESULT (WINAPI *putref_ActiveADOConnection)(Command15 *This,_ADOConnection *pCon);
    787       HRESULT (WINAPI *put_ActiveConnection)(Command15 *This,VARIANT vConn);
    788       HRESULT (WINAPI *get_CommandText)(Command15 *This,BSTR *pbstr);
    789       HRESULT (WINAPI *put_CommandText)(Command15 *This,BSTR bstr);
    790       HRESULT (WINAPI *get_CommandTimeout)(Command15 *This,LONG *pl);
    791       HRESULT (WINAPI *put_CommandTimeout)(Command15 *This,LONG Timeout);
    792       HRESULT (WINAPI *get_Prepared)(Command15 *This,VARIANT_BOOL *pfPrepared);
    793       HRESULT (WINAPI *put_Prepared)(Command15 *This,VARIANT_BOOL fPrepared);
    794       HRESULT (WINAPI *Execute)(Command15 *This,VARIANT *RecordsAffected,VARIANT *Parameters,__LONG32 Options,_ADORecordset **ppirs);
    795       HRESULT (WINAPI *CreateParameter)(Command15 *This,BSTR Name,DataTypeEnum Type,ParameterDirectionEnum Direction,ADO_LONGPTR Size,VARIANT Value,_ADOParameter **ppiprm);
    796       HRESULT (WINAPI *get_Parameters)(Command15 *This,ADOParameters **ppvObject);
    797       HRESULT (WINAPI *put_CommandType)(Command15 *This,CommandTypeEnum lCmdType);
    798       HRESULT (WINAPI *get_CommandType)(Command15 *This,CommandTypeEnum *plCmdType);
    799       HRESULT (WINAPI *get_Name)(Command15 *This,BSTR *pbstrName);
    800       HRESULT (WINAPI *put_Name)(Command15 *This,BSTR bstrName);
    801     END_INTERFACE
    802   } Command15Vtbl;
    803   struct Command15 {
    804     CONST_VTBL struct Command15Vtbl *lpVtbl;
    805   };
    806 
    807 #ifdef COBJMACROS
    808 #define Command15_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
    809 #define Command15_AddRef(This) (This)->lpVtbl -> AddRef(This)
    810 #define Command15_Release(This) (This)->lpVtbl -> Release(This)
    811 #define Command15_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
    812 #define Command15_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    813 #define Command15_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    814 #define Command15_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    815 #define Command15_get_Properties(This,ppvObject) (This)->lpVtbl -> get_Properties(This,ppvObject)
    816 #define Command15_get_ActiveConnection(This,ppvObject) (This)->lpVtbl -> get_ActiveConnection(This,ppvObject)
    817 #define Command15_putref_ActiveConnection(This,pCon) (This)->lpVtbl -> putref_ActiveConnection(This,pCon)
    818 #define Command15_put_ActiveConnection(This,vConn) (This)->lpVtbl -> put_ActiveConnection(This,vConn)
    819 #define Command15_get_CommandText(This,pbstr) (This)->lpVtbl -> get_CommandText(This,pbstr)
    820 #define Command15_put_CommandText(This,bstr) (This)->lpVtbl -> put_CommandText(This,bstr)
    821 #define Command15_get_CommandTimeout(This,pl) (This)->lpVtbl -> get_CommandTimeout(This,pl)
    822 #define Command15_put_CommandTimeout(This,Timeout) (This)->lpVtbl -> put_CommandTimeout(This,Timeout)
    823 #define Command15_get_Prepared(This,pfPrepared) (This)->lpVtbl -> get_Prepared(This,pfPrepared)
    824 #define Command15_put_Prepared(This,fPrepared) (This)->lpVtbl -> put_Prepared(This,fPrepared)
    825 #define Command15_Execute(This,RecordsAffected,Parameters,Options,ppirs) (This)->lpVtbl -> Execute(This,RecordsAffected,Parameters,Options,ppirs)
    826 #define Command15_CreateParameter(This,Name,Type,Direction,Size,Value,ppiprm) (This)->lpVtbl -> CreateParameter(This,Name,Type,Direction,Size,Value,ppiprm)
    827 #define Command15_get_Parameters(This,ppvObject) (This)->lpVtbl -> get_Parameters(This,ppvObject)
    828 #define Command15_put_CommandType(This,lCmdType) (This)->lpVtbl -> put_CommandType(This,lCmdType)
    829 #define Command15_get_CommandType(This,plCmdType) (This)->lpVtbl -> get_CommandType(This,plCmdType)
    830 #define Command15_get_Name(This,pbstrName) (This)->lpVtbl -> get_Name(This,pbstrName)
    831 #define Command15_put_Name(This,bstrName) (This)->lpVtbl -> put_Name(This,bstrName)
    832 #endif
    833 #endif
    834   HRESULT WINAPI Command15_get_ActiveConnection_Proxy(Command15 *This,_ADOConnection **ppvObject);
    835   void __RPC_STUB Command15_get_ActiveConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    836   HRESULT WINAPI Command15_putref_ActiveConnection_Proxy(Command15 *This,_ADOConnection *pCon);
    837   void __RPC_STUB Command15_putref_ActiveConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    838   HRESULT WINAPI Command15_put_ActiveConnection_Proxy(Command15 *This,VARIANT vConn);
    839   void __RPC_STUB Command15_put_ActiveConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    840   HRESULT WINAPI Command15_get_CommandText_Proxy(Command15 *This,BSTR *pbstr);
    841   void __RPC_STUB Command15_get_CommandText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    842   HRESULT WINAPI Command15_put_CommandText_Proxy(Command15 *This,BSTR bstr);
    843   void __RPC_STUB Command15_put_CommandText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    844   HRESULT WINAPI Command15_get_CommandTimeout_Proxy(Command15 *This,LONG *pl);
    845   void __RPC_STUB Command15_get_CommandTimeout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    846   HRESULT WINAPI Command15_put_CommandTimeout_Proxy(Command15 *This,LONG Timeout);
    847   void __RPC_STUB Command15_put_CommandTimeout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    848   HRESULT WINAPI Command15_get_Prepared_Proxy(Command15 *This,VARIANT_BOOL *pfPrepared);
    849   void __RPC_STUB Command15_get_Prepared_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    850   HRESULT WINAPI Command15_put_Prepared_Proxy(Command15 *This,VARIANT_BOOL fPrepared);
    851   void __RPC_STUB Command15_put_Prepared_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    852   HRESULT WINAPI Command15_Execute_Proxy(Command15 *This,VARIANT *RecordsAffected,VARIANT *Parameters,__LONG32 Options,_ADORecordset **ppirs);
    853   void __RPC_STUB Command15_Execute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    854   HRESULT WINAPI Command15_CreateParameter_Proxy(Command15 *This,BSTR Name,DataTypeEnum Type,ParameterDirectionEnum Direction,ADO_LONGPTR Size,VARIANT Value,_ADOParameter **ppiprm);
    855   void __RPC_STUB Command15_CreateParameter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    856   HRESULT WINAPI Command15_get_Parameters_Proxy(Command15 *This,ADOParameters **ppvObject);
    857   void __RPC_STUB Command15_get_Parameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    858   HRESULT WINAPI Command15_put_CommandType_Proxy(Command15 *This,CommandTypeEnum lCmdType);
    859   void __RPC_STUB Command15_put_CommandType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    860   HRESULT WINAPI Command15_get_CommandType_Proxy(Command15 *This,CommandTypeEnum *plCmdType);
    861   void __RPC_STUB Command15_get_CommandType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    862   HRESULT WINAPI Command15_get_Name_Proxy(Command15 *This,BSTR *pbstrName);
    863   void __RPC_STUB Command15_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    864   HRESULT WINAPI Command15_put_Name_Proxy(Command15 *This,BSTR bstrName);
    865   void __RPC_STUB Command15_put_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    866 #endif
    867 
    868 #ifndef __Command25_INTERFACE_DEFINED__
    869 #define __Command25_INTERFACE_DEFINED__
    870   EXTERN_C const IID IID_Command25;
    871 #if defined(__cplusplus) && !defined(CINTERFACE)
    872   struct Command25 : public Command15 {
    873   public:
    874     virtual HRESULT WINAPI get_State(LONG *plObjState) = 0;
    875     virtual HRESULT WINAPI Cancel(void) = 0;
    876   };
    877 #else
    878   typedef struct Command25Vtbl {
    879     BEGIN_INTERFACE
    880       HRESULT (WINAPI *QueryInterface)(Command25 *This,REFIID riid,void **ppvObject);
    881       ULONG (WINAPI *AddRef)(Command25 *This);
    882       ULONG (WINAPI *Release)(Command25 *This);
    883       HRESULT (WINAPI *GetTypeInfoCount)(Command25 *This,UINT *pctinfo);
    884       HRESULT (WINAPI *GetTypeInfo)(Command25 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    885       HRESULT (WINAPI *GetIDsOfNames)(Command25 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    886       HRESULT (WINAPI *Invoke)(Command25 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    887       HRESULT (WINAPI *get_Properties)(Command25 *This,ADOProperties **ppvObject);
    888       HRESULT (WINAPI *get_ActiveConnection)(Command25 *This,_ADOConnection **ppvObject);
    889       HRESULT (WINAPI *putref_ActiveADOConnection)(Command25 *This,_ADOConnection *pCon);
    890       HRESULT (WINAPI *put_ActiveConnection)(Command25 *This,VARIANT vConn);
    891       HRESULT (WINAPI *get_CommandText)(Command25 *This,BSTR *pbstr);
    892       HRESULT (WINAPI *put_CommandText)(Command25 *This,BSTR bstr);
    893       HRESULT (WINAPI *get_CommandTimeout)(Command25 *This,LONG *pl);
    894       HRESULT (WINAPI *put_CommandTimeout)(Command25 *This,LONG Timeout);
    895       HRESULT (WINAPI *get_Prepared)(Command25 *This,VARIANT_BOOL *pfPrepared);
    896       HRESULT (WINAPI *put_Prepared)(Command25 *This,VARIANT_BOOL fPrepared);
    897       HRESULT (WINAPI *Execute)(Command25 *This,VARIANT *RecordsAffected,VARIANT *Parameters,__LONG32 Options,_ADORecordset **ppirs);
    898       HRESULT (WINAPI *CreateParameter)(Command25 *This,BSTR Name,DataTypeEnum Type,ParameterDirectionEnum Direction,ADO_LONGPTR Size,VARIANT Value,_ADOParameter **ppiprm);
    899       HRESULT (WINAPI *get_Parameters)(Command25 *This,ADOParameters **ppvObject);
    900       HRESULT (WINAPI *put_CommandType)(Command25 *This,CommandTypeEnum lCmdType);
    901       HRESULT (WINAPI *get_CommandType)(Command25 *This,CommandTypeEnum *plCmdType);
    902       HRESULT (WINAPI *get_Name)(Command25 *This,BSTR *pbstrName);
    903       HRESULT (WINAPI *put_Name)(Command25 *This,BSTR bstrName);
    904       HRESULT (WINAPI *get_State)(Command25 *This,LONG *plObjState);
    905       HRESULT (WINAPI *Cancel)(Command25 *This);
    906     END_INTERFACE
    907   } Command25Vtbl;
    908   struct Command25 {
    909     CONST_VTBL struct Command25Vtbl *lpVtbl;
    910   };
    911 #ifdef COBJMACROS
    912 #define Command25_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
    913 #define Command25_AddRef(This) (This)->lpVtbl -> AddRef(This)
    914 #define Command25_Release(This) (This)->lpVtbl -> Release(This)
    915 #define Command25_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
    916 #define Command25_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    917 #define Command25_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    918 #define Command25_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    919 #define Command25_get_Properties(This,ppvObject) (This)->lpVtbl -> get_Properties(This,ppvObject)
    920 #define Command25_get_ActiveConnection(This,ppvObject) (This)->lpVtbl -> get_ActiveConnection(This,ppvObject)
    921 #define Command25_putref_ActiveConnection(This,pCon) (This)->lpVtbl -> putref_ActiveConnection(This,pCon)
    922 #define Command25_put_ActiveConnection(This,vConn) (This)->lpVtbl -> put_ActiveConnection(This,vConn)
    923 #define Command25_get_CommandText(This,pbstr) (This)->lpVtbl -> get_CommandText(This,pbstr)
    924 #define Command25_put_CommandText(This,bstr) (This)->lpVtbl -> put_CommandText(This,bstr)
    925 #define Command25_get_CommandTimeout(This,pl) (This)->lpVtbl -> get_CommandTimeout(This,pl)
    926 #define Command25_put_CommandTimeout(This,Timeout) (This)->lpVtbl -> put_CommandTimeout(This,Timeout)
    927 #define Command25_get_Prepared(This,pfPrepared) (This)->lpVtbl -> get_Prepared(This,pfPrepared)
    928 #define Command25_put_Prepared(This,fPrepared) (This)->lpVtbl -> put_Prepared(This,fPrepared)
    929 #define Command25_Execute(This,RecordsAffected,Parameters,Options,ppirs) (This)->lpVtbl -> Execute(This,RecordsAffected,Parameters,Options,ppirs)
    930 #define Command25_CreateParameter(This,Name,Type,Direction,Size,Value,ppiprm) (This)->lpVtbl -> CreateParameter(This,Name,Type,Direction,Size,Value,ppiprm)
    931 #define Command25_get_Parameters(This,ppvObject) (This)->lpVtbl -> get_Parameters(This,ppvObject)
    932 #define Command25_put_CommandType(This,lCmdType) (This)->lpVtbl -> put_CommandType(This,lCmdType)
    933 #define Command25_get_CommandType(This,plCmdType) (This)->lpVtbl -> get_CommandType(This,plCmdType)
    934 #define Command25_get_Name(This,pbstrName) (This)->lpVtbl -> get_Name(This,pbstrName)
    935 #define Command25_put_Name(This,bstrName) (This)->lpVtbl -> put_Name(This,bstrName)
    936 #define Command25_get_State(This,plObjState) (This)->lpVtbl -> get_State(This,plObjState)
    937 #define Command25_Cancel(This) (This)->lpVtbl -> Cancel(This)
    938 #endif
    939 #endif
    940   HRESULT WINAPI Command25_get_State_Proxy(Command25 *This,LONG *plObjState);
    941   void __RPC_STUB Command25_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    942   HRESULT WINAPI Command25_Cancel_Proxy(Command25 *This);
    943   void __RPC_STUB Command25_Cancel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    944 #endif
    945 
    946 #ifndef ___Command_INTERFACE_DEFINED__
    947 #define ___Command_INTERFACE_DEFINED__
    948   EXTERN_C const IID IID__Command;
    949 #if defined(__cplusplus) && !defined(CINTERFACE)
    950   struct _ADOCommand : public Command25 {
    951   public:
    952     virtual HRESULT WINAPI putref_CommandStream(IUnknown *pStream) = 0;
    953     virtual HRESULT WINAPI get_CommandStream(VARIANT *pvStream) = 0;
    954     virtual HRESULT WINAPI put_Dialect(BSTR bstrDialect) = 0;
    955     virtual HRESULT WINAPI get_Dialect(BSTR *pbstrDialect) = 0;
    956     virtual HRESULT WINAPI put_NamedParameters(VARIANT_BOOL fNamedParameters) = 0;
    957     virtual HRESULT WINAPI get_NamedParameters(VARIANT_BOOL *pfNamedParameters) = 0;
    958   };
    959 #else
    960   typedef struct _CommandVtbl {
    961     BEGIN_INTERFACE
    962       HRESULT (WINAPI *QueryInterface)(_ADOCommand *This,REFIID riid,void **ppvObject);
    963       ULONG (WINAPI *AddRef)(_ADOCommand *This);
    964       ULONG (WINAPI *Release)(_ADOCommand *This);
    965       HRESULT (WINAPI *GetTypeInfoCount)(_ADOCommand *This,UINT *pctinfo);
    966       HRESULT (WINAPI *GetTypeInfo)(_ADOCommand *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    967       HRESULT (WINAPI *GetIDsOfNames)(_ADOCommand *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    968       HRESULT (WINAPI *Invoke)(_ADOCommand *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    969       HRESULT (WINAPI *get_Properties)(_ADOCommand *This,ADOProperties **ppvObject);
    970       HRESULT (WINAPI *get_ActiveConnection)(_ADOCommand *This,_ADOConnection **ppvObject);
    971       HRESULT (WINAPI *putref_ActiveADOConnection)(_ADOCommand *This,_ADOConnection *pCon);
    972       HRESULT (WINAPI *put_ActiveConnection)(_ADOCommand *This,VARIANT vConn);
    973       HRESULT (WINAPI *get_CommandText)(_ADOCommand *This,BSTR *pbstr);
    974       HRESULT (WINAPI *put_CommandText)(_ADOCommand *This,BSTR bstr);
    975       HRESULT (WINAPI *get_CommandTimeout)(_ADOCommand *This,LONG *pl);
    976       HRESULT (WINAPI *put_CommandTimeout)(_ADOCommand *This,LONG Timeout);
    977       HRESULT (WINAPI *get_Prepared)(_ADOCommand *This,VARIANT_BOOL *pfPrepared);
    978       HRESULT (WINAPI *put_Prepared)(_ADOCommand *This,VARIANT_BOOL fPrepared);
    979       HRESULT (WINAPI *Execute)(_ADOCommand *This,VARIANT *RecordsAffected,VARIANT *Parameters,__LONG32 Options,_ADORecordset **ppirs);
    980       HRESULT (WINAPI *CreateParameter)(_ADOCommand *This,BSTR Name,DataTypeEnum Type,ParameterDirectionEnum Direction,ADO_LONGPTR Size,VARIANT Value,_ADOParameter **ppiprm);
    981       HRESULT (WINAPI *get_Parameters)(_ADOCommand *This,ADOParameters **ppvObject);
    982       HRESULT (WINAPI *put_CommandType)(_ADOCommand *This,CommandTypeEnum lCmdType);
    983       HRESULT (WINAPI *get_CommandType)(_ADOCommand *This,CommandTypeEnum *plCmdType);
    984       HRESULT (WINAPI *get_Name)(_ADOCommand *This,BSTR *pbstrName);
    985       HRESULT (WINAPI *put_Name)(_ADOCommand *This,BSTR bstrName);
    986       HRESULT (WINAPI *get_State)(_ADOCommand *This,LONG *plObjState);
    987       HRESULT (WINAPI *Cancel)(_ADOCommand *This);
    988       HRESULT (WINAPI *putref_CommandADOStream)(_ADOCommand *This,IUnknown *pStream);
    989       HRESULT (WINAPI *get_CommandStream)(_ADOCommand *This,VARIANT *pvStream);
    990       HRESULT (WINAPI *put_Dialect)(_ADOCommand *This,BSTR bstrDialect);
    991       HRESULT (WINAPI *get_Dialect)(_ADOCommand *This,BSTR *pbstrDialect);
    992       HRESULT (WINAPI *put_NamedParameters)(_ADOCommand *This,VARIANT_BOOL fNamedParameters);
    993       HRESULT (WINAPI *get_NamedParameters)(_ADOCommand *This,VARIANT_BOOL *pfNamedParameters);
    994     END_INTERFACE
    995   } _CommandVtbl;
    996   struct _Command {
    997     CONST_VTBL struct _CommandVtbl *lpVtbl;
    998   };
    999 #ifdef COBJMACROS
   1000 #define _Command_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   1001 #define _Command_AddRef(This) (This)->lpVtbl -> AddRef(This)
   1002 #define _Command_Release(This) (This)->lpVtbl -> Release(This)
   1003 #define _Command_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   1004 #define _Command_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1005 #define _Command_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1006 #define _Command_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1007 #define _Command_get_Properties(This,ppvObject) (This)->lpVtbl -> get_Properties(This,ppvObject)
   1008 #define _Command_get_ActiveConnection(This,ppvObject) (This)->lpVtbl -> get_ActiveConnection(This,ppvObject)
   1009 #define _Command_putref_ActiveConnection(This,pCon) (This)->lpVtbl -> putref_ActiveConnection(This,pCon)
   1010 #define _Command_put_ActiveConnection(This,vConn) (This)->lpVtbl -> put_ActiveConnection(This,vConn)
   1011 #define _Command_get_CommandText(This,pbstr) (This)->lpVtbl -> get_CommandText(This,pbstr)
   1012 #define _Command_put_CommandText(This,bstr) (This)->lpVtbl -> put_CommandText(This,bstr)
   1013 #define _Command_get_CommandTimeout(This,pl) (This)->lpVtbl -> get_CommandTimeout(This,pl)
   1014 #define _Command_put_CommandTimeout(This,Timeout) (This)->lpVtbl -> put_CommandTimeout(This,Timeout)
   1015 #define _Command_get_Prepared(This,pfPrepared) (This)->lpVtbl -> get_Prepared(This,pfPrepared)
   1016 #define _Command_put_Prepared(This,fPrepared) (This)->lpVtbl -> put_Prepared(This,fPrepared)
   1017 #define _Command_Execute(This,RecordsAffected,Parameters,Options,ppirs) (This)->lpVtbl -> Execute(This,RecordsAffected,Parameters,Options,ppirs)
   1018 #define _Command_CreateParameter(This,Name,Type,Direction,Size,Value,ppiprm) (This)->lpVtbl -> CreateParameter(This,Name,Type,Direction,Size,Value,ppiprm)
   1019 #define _Command_get_Parameters(This,ppvObject) (This)->lpVtbl -> get_Parameters(This,ppvObject)
   1020 #define _Command_put_CommandType(This,lCmdType) (This)->lpVtbl -> put_CommandType(This,lCmdType)
   1021 #define _Command_get_CommandType(This,plCmdType) (This)->lpVtbl -> get_CommandType(This,plCmdType)
   1022 #define _Command_get_Name(This,pbstrName) (This)->lpVtbl -> get_Name(This,pbstrName)
   1023 #define _Command_put_Name(This,bstrName) (This)->lpVtbl -> put_Name(This,bstrName)
   1024 #define _Command_get_State(This,plObjState) (This)->lpVtbl -> get_State(This,plObjState)
   1025 #define _Command_Cancel(This) (This)->lpVtbl -> Cancel(This)
   1026 #define _Command_putref_CommandStream(This,pStream) (This)->lpVtbl -> putref_CommandStream(This,pStream)
   1027 #define _Command_get_CommandStream(This,pvStream) (This)->lpVtbl -> get_CommandStream(This,pvStream)
   1028 #define _Command_put_Dialect(This,bstrDialect) (This)->lpVtbl -> put_Dialect(This,bstrDialect)
   1029 #define _Command_get_Dialect(This,pbstrDialect) (This)->lpVtbl -> get_Dialect(This,pbstrDialect)
   1030 #define _Command_put_NamedParameters(This,fNamedParameters) (This)->lpVtbl -> put_NamedParameters(This,fNamedParameters)
   1031 #define _Command_get_NamedParameters(This,pfNamedParameters) (This)->lpVtbl -> get_NamedParameters(This,pfNamedParameters)
   1032 #endif
   1033 #endif
   1034   HRESULT WINAPI _Command_putref_CommandStream_Proxy(_ADOCommand *This,IUnknown *pStream);
   1035   void __RPC_STUB _Command_putref_CommandStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1036   HRESULT WINAPI _Command_get_CommandStream_Proxy(_ADOCommand *This,VARIANT *pvStream);
   1037   void __RPC_STUB _Command_get_CommandStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1038   HRESULT WINAPI _Command_put_Dialect_Proxy(_ADOCommand *This,BSTR bstrDialect);
   1039   void __RPC_STUB _Command_put_Dialect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1040   HRESULT WINAPI _Command_get_Dialect_Proxy(_ADOCommand *This,BSTR *pbstrDialect);
   1041   void __RPC_STUB _Command_get_Dialect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1042   HRESULT WINAPI _Command_put_NamedParameters_Proxy(_ADOCommand *This,VARIANT_BOOL fNamedParameters);
   1043   void __RPC_STUB _Command_put_NamedParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1044   HRESULT WINAPI _Command_get_NamedParameters_Proxy(_ADOCommand *This,VARIANT_BOOL *pfNamedParameters);
   1045   void __RPC_STUB _Command_get_NamedParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1046 #endif
   1047 
   1048 #ifndef __ConnectionEventsVt_INTERFACE_DEFINED__
   1049 #define __ConnectionEventsVt_INTERFACE_DEFINED__
   1050 
   1051   EXTERN_C const IID IID_ConnectionEventsVt;
   1052 #if defined(__cplusplus) && !defined(CINTERFACE)
   1053   struct ConnectionEventsVt : public IUnknown {
   1054   public:
   1055     virtual HRESULT WINAPI InfoMessage(ADOError *pError,EventStatusEnum *adStatus,_ADOConnection *pConnection) = 0;
   1056     virtual HRESULT WINAPI BeginTransComplete(LONG TransactionLevel,ADOError *pError,EventStatusEnum *adStatus,_ADOConnection *pConnection) = 0;
   1057     virtual HRESULT WINAPI CommitTransComplete(ADOError *pError,EventStatusEnum *adStatus,_ADOConnection *pConnection) = 0;
   1058     virtual HRESULT WINAPI RollbackTransComplete(ADOError *pError,EventStatusEnum *adStatus,_ADOConnection *pConnection) = 0;
   1059     virtual HRESULT WINAPI WillExecute(BSTR *Source,CursorTypeEnum *CursorType,LockTypeEnum *LockType,__LONG32 *Options,EventStatusEnum *adStatus,_ADOCommand *pCommand,_ADORecordset *pRecordset,_ADOConnection *pConnection) = 0;
   1060     virtual HRESULT WINAPI ExecuteComplete(LONG RecordsAffected,ADOError *pError,EventStatusEnum *adStatus,_ADOCommand *pCommand,_ADORecordset *pRecordset,_ADOConnection *pConnection) = 0;
   1061     virtual HRESULT WINAPI WillConnect(BSTR *ConnectionString,BSTR *UserID,BSTR *Password,__LONG32 *Options,EventStatusEnum *adStatus,_ADOConnection *pConnection) = 0;
   1062     virtual HRESULT WINAPI ConnectComplete(ADOError *pError,EventStatusEnum *adStatus,_ADOConnection *pConnection) = 0;
   1063     virtual HRESULT WINAPI Disconnect(EventStatusEnum *adStatus,_ADOConnection *pConnection) = 0;
   1064   };
   1065 #else
   1066   typedef struct ConnectionEventsVtVtbl {
   1067     BEGIN_INTERFACE
   1068       HRESULT (WINAPI *QueryInterface)(ConnectionEventsVt *This,REFIID riid,void **ppvObject);
   1069       ULONG (WINAPI *AddRef)(ConnectionEventsVt *This);
   1070       ULONG (WINAPI *Release)(ConnectionEventsVt *This);
   1071       HRESULT (WINAPI *InfoMessage)(ConnectionEventsVt *This,ADOError *pError,EventStatusEnum *adStatus,_ADOConnection *pConnection);
   1072       HRESULT (WINAPI *BeginTransComplete)(ConnectionEventsVt *This,LONG TransactionLevel,ADOError *pError,EventStatusEnum *adStatus,_ADOConnection *pConnection);
   1073       HRESULT (WINAPI *CommitTransComplete)(ConnectionEventsVt *This,ADOError *pError,EventStatusEnum *adStatus,_ADOConnection *pConnection);
   1074       HRESULT (WINAPI *RollbackTransComplete)(ConnectionEventsVt *This,ADOError *pError,EventStatusEnum *adStatus,_ADOConnection *pConnection);
   1075       HRESULT (WINAPI *WillExecute)(ConnectionEventsVt *This,BSTR *Source,CursorTypeEnum *CursorType,LockTypeEnum *LockType,__LONG32 *Options,EventStatusEnum *adStatus,_ADOCommand *pCommand,_ADORecordset *pRecordset,_ADOConnection *pConnection);
   1076       HRESULT (WINAPI *ExecuteComplete)(ConnectionEventsVt *This,LONG RecordsAffected,ADOError *pError,EventStatusEnum *adStatus,_ADOCommand *pCommand,_ADORecordset *pRecordset,_ADOConnection *pConnection);
   1077       HRESULT (WINAPI *WillConnect)(ConnectionEventsVt *This,BSTR *ConnectionString,BSTR *UserID,BSTR *Password,__LONG32 *Options,EventStatusEnum *adStatus,_ADOConnection *pConnection);
   1078       HRESULT (WINAPI *ConnectComplete)(ConnectionEventsVt *This,ADOError *pError,EventStatusEnum *adStatus,_ADOConnection *pConnection);
   1079       HRESULT (WINAPI *Disconnect)(ConnectionEventsVt *This,EventStatusEnum *adStatus,_ADOConnection *pConnection);
   1080     END_INTERFACE
   1081   } ConnectionEventsVtVtbl;
   1082   struct ConnectionEventsVt {
   1083     CONST_VTBL struct ConnectionEventsVtVtbl *lpVtbl;
   1084   };
   1085 #ifdef COBJMACROS
   1086 #define ConnectionEventsVt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   1087 #define ConnectionEventsVt_AddRef(This) (This)->lpVtbl -> AddRef(This)
   1088 #define ConnectionEventsVt_Release(This) (This)->lpVtbl -> Release(This)
   1089 #define ConnectionEventsVt_InfoMessage(This,pError,adStatus,pConnection) (This)->lpVtbl -> InfoMessage(This,pError,adStatus,pConnection)
   1090 #define ConnectionEventsVt_BeginTransComplete(This,TransactionLevel,pError,adStatus,pConnection) (This)->lpVtbl -> BeginTransComplete(This,TransactionLevel,pError,adStatus,pConnection)
   1091 #define ConnectionEventsVt_CommitTransComplete(This,pError,adStatus,pConnection) (This)->lpVtbl -> CommitTransComplete(This,pError,adStatus,pConnection)
   1092 #define ConnectionEventsVt_RollbackTransComplete(This,pError,adStatus,pConnection) (This)->lpVtbl -> RollbackTransComplete(This,pError,adStatus,pConnection)
   1093 #define ConnectionEventsVt_WillExecute(This,Source,CursorType,LockType,Options,adStatus,pCommand,pRecordset,pConnection) (This)->lpVtbl -> WillExecute(This,Source,CursorType,LockType,Options,adStatus,pCommand,pRecordset,pConnection)
   1094 #define ConnectionEventsVt_ExecuteComplete(This,RecordsAffected,pError,adStatus,pCommand,pRecordset,pConnection) (This)->lpVtbl -> ExecuteComplete(This,RecordsAffected,pError,adStatus,pCommand,pRecordset,pConnection)
   1095 #define ConnectionEventsVt_WillConnect(This,ConnectionString,UserID,Password,Options,adStatus,pConnection) (This)->lpVtbl -> WillConnect(This,ConnectionString,UserID,Password,Options,adStatus,pConnection)
   1096 #define ConnectionEventsVt_ConnectComplete(This,pError,adStatus,pConnection) (This)->lpVtbl -> ConnectComplete(This,pError,adStatus,pConnection)
   1097 #define ConnectionEventsVt_Disconnect(This,adStatus,pConnection) (This)->lpVtbl -> Disconnect(This,adStatus,pConnection)
   1098 #endif
   1099 #endif
   1100   HRESULT WINAPI ConnectionEventsVt_InfoMessage_Proxy(ConnectionEventsVt *This,ADOError *pError,EventStatusEnum *adStatus,_ADOConnection *pConnection);
   1101   void __RPC_STUB ConnectionEventsVt_InfoMessage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1102   HRESULT WINAPI ConnectionEventsVt_BeginTransComplete_Proxy(ConnectionEventsVt *This,LONG TransactionLevel,ADOError *pError,EventStatusEnum *adStatus,_ADOConnection *pConnection);
   1103   void __RPC_STUB ConnectionEventsVt_BeginTransComplete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1104   HRESULT WINAPI ConnectionEventsVt_CommitTransComplete_Proxy(ConnectionEventsVt *This,ADOError *pError,EventStatusEnum *adStatus,_ADOConnection *pConnection);
   1105   void __RPC_STUB ConnectionEventsVt_CommitTransComplete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1106   HRESULT WINAPI ConnectionEventsVt_RollbackTransComplete_Proxy(ConnectionEventsVt *This,ADOError *pError,EventStatusEnum *adStatus,_ADOConnection *pConnection);
   1107   void __RPC_STUB ConnectionEventsVt_RollbackTransComplete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1108   HRESULT WINAPI ConnectionEventsVt_WillExecute_Proxy(ConnectionEventsVt *This,BSTR *Source,CursorTypeEnum *CursorType,LockTypeEnum *LockType,__LONG32 *Options,EventStatusEnum *adStatus,_ADOCommand *pCommand,_ADORecordset *pRecordset,_ADOConnection *pConnection);
   1109   void __RPC_STUB ConnectionEventsVt_WillExecute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1110   HRESULT WINAPI ConnectionEventsVt_ExecuteComplete_Proxy(ConnectionEventsVt *This,LONG RecordsAffected,ADOError *pError,EventStatusEnum *adStatus,_ADOCommand *pCommand,_ADORecordset *pRecordset,_ADOConnection *pConnection);
   1111   void __RPC_STUB ConnectionEventsVt_ExecuteComplete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1112   HRESULT WINAPI ConnectionEventsVt_WillConnect_Proxy(ConnectionEventsVt *This,BSTR *ConnectionString,BSTR *UserID,BSTR *Password,__LONG32 *Options,EventStatusEnum *adStatus,_ADOConnection *pConnection);
   1113   void __RPC_STUB ConnectionEventsVt_WillConnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1114   HRESULT WINAPI ConnectionEventsVt_ConnectComplete_Proxy(ConnectionEventsVt *This,ADOError *pError,EventStatusEnum *adStatus,_ADOConnection *pConnection);
   1115   void __RPC_STUB ConnectionEventsVt_ConnectComplete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1116   HRESULT WINAPI ConnectionEventsVt_Disconnect_Proxy(ConnectionEventsVt *This,EventStatusEnum *adStatus,_ADOConnection *pConnection);
   1117   void __RPC_STUB ConnectionEventsVt_Disconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1118 #endif
   1119 
   1120 #ifndef __RecordsetEventsVt_INTERFACE_DEFINED__
   1121 #define __RecordsetEventsVt_INTERFACE_DEFINED__
   1122   EXTERN_C const IID IID_RecordsetEventsVt;
   1123 #if defined(__cplusplus) && !defined(CINTERFACE)
   1124   struct RecordsetEventsVt : public IUnknown {
   1125   public:
   1126     virtual HRESULT WINAPI WillChangeField(LONG cFields,VARIANT Fields,EventStatusEnum *adStatus,_ADORecordset *pRecordset) = 0;
   1127     virtual HRESULT WINAPI FieldChangeComplete(LONG cFields,VARIANT Fields,ADOError *pError,EventStatusEnum *adStatus,_ADORecordset *pRecordset) = 0;
   1128     virtual HRESULT WINAPI WillChangeRecord(EventReasonEnum adReason,LONG cRecords,EventStatusEnum *adStatus,_ADORecordset *pRecordset) = 0;
   1129     virtual HRESULT WINAPI RecordChangeComplete(EventReasonEnum adReason,LONG cRecords,ADOError *pError,EventStatusEnum *adStatus,_ADORecordset *pRecordset) = 0;
   1130     virtual HRESULT WINAPI WillChangeRecordset(EventReasonEnum adReason,EventStatusEnum *adStatus,_ADORecordset *pRecordset) = 0;
   1131     virtual HRESULT WINAPI RecordsetChangeComplete(EventReasonEnum adReason,ADOError *pError,EventStatusEnum *adStatus,_ADORecordset *pRecordset) = 0;
   1132     virtual HRESULT WINAPI WillMove(EventReasonEnum adReason,EventStatusEnum *adStatus,_ADORecordset *pRecordset) = 0;
   1133     virtual HRESULT WINAPI MoveComplete(EventReasonEnum adReason,ADOError *pError,EventStatusEnum *adStatus,_ADORecordset *pRecordset) = 0;
   1134     virtual HRESULT WINAPI EndOfRecordset(VARIANT_BOOL *fMoreData,EventStatusEnum *adStatus,_ADORecordset *pRecordset) = 0;
   1135     virtual HRESULT WINAPI FetchProgress(__LONG32 Progress,__LONG32 MaxProgress,EventStatusEnum *adStatus,_ADORecordset *pRecordset) = 0;
   1136     virtual HRESULT WINAPI FetchComplete(ADOError *pError,EventStatusEnum *adStatus,_ADORecordset *pRecordset) = 0;
   1137   };
   1138 #else
   1139   typedef struct RecordsetEventsVtVtbl {
   1140     BEGIN_INTERFACE
   1141       HRESULT (WINAPI *QueryInterface)(RecordsetEventsVt *This,REFIID riid,void **ppvObject);
   1142       ULONG (WINAPI *AddRef)(RecordsetEventsVt *This);
   1143       ULONG (WINAPI *Release)(RecordsetEventsVt *This);
   1144       HRESULT (WINAPI *WillChangeADOField)(RecordsetEventsVt *This,LONG cFields,VARIANT Fields,EventStatusEnum *adStatus,_ADORecordset *pRecordset);
   1145       HRESULT (WINAPI *FieldChangeComplete)(RecordsetEventsVt *This,LONG cFields,VARIANT Fields,ADOError *pError,EventStatusEnum *adStatus,_ADORecordset *pRecordset);
   1146       HRESULT (WINAPI *WillChangeADORecord)(RecordsetEventsVt *This,EventReasonEnum adReason,LONG cRecords,EventStatusEnum *adStatus,_ADORecordset *pRecordset);
   1147       HRESULT (WINAPI *RecordChangeComplete)(RecordsetEventsVt *This,EventReasonEnum adReason,LONG cRecords,ADOError *pError,EventStatusEnum *adStatus,_ADORecordset *pRecordset);
   1148       HRESULT (WINAPI *WillChangeADORecordset)(RecordsetEventsVt *This,EventReasonEnum adReason,EventStatusEnum *adStatus,_ADORecordset *pRecordset);
   1149       HRESULT (WINAPI *RecordsetChangeComplete)(RecordsetEventsVt *This,EventReasonEnum adReason,ADOError *pError,EventStatusEnum *adStatus,_ADORecordset *pRecordset);
   1150       HRESULT (WINAPI *WillMove)(RecordsetEventsVt *This,EventReasonEnum adReason,EventStatusEnum *adStatus,_ADORecordset *pRecordset);
   1151       HRESULT (WINAPI *MoveComplete)(RecordsetEventsVt *This,EventReasonEnum adReason,ADOError *pError,EventStatusEnum *adStatus,_ADORecordset *pRecordset);
   1152       HRESULT (WINAPI *EndOfADORecordset)(RecordsetEventsVt *This,VARIANT_BOOL *fMoreData,EventStatusEnum *adStatus,_ADORecordset *pRecordset);
   1153       HRESULT (WINAPI *FetchProgress)(RecordsetEventsVt *This,__LONG32 Progress,__LONG32 MaxProgress,EventStatusEnum *adStatus,_ADORecordset *pRecordset);
   1154       HRESULT (WINAPI *FetchComplete)(RecordsetEventsVt *This,ADOError *pError,EventStatusEnum *adStatus,_ADORecordset *pRecordset);
   1155     END_INTERFACE
   1156   } RecordsetEventsVtVtbl;
   1157   struct RecordsetEventsVt {
   1158     CONST_VTBL struct RecordsetEventsVtVtbl *lpVtbl;
   1159   };
   1160 #ifdef COBJMACROS
   1161 #define RecordsetEventsVt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   1162 #define RecordsetEventsVt_AddRef(This) (This)->lpVtbl -> AddRef(This)
   1163 #define RecordsetEventsVt_Release(This) (This)->lpVtbl -> Release(This)
   1164 #define RecordsetEventsVt_WillChangeField(This,cFields,Fields,adStatus,pRecordset) (This)->lpVtbl -> WillChangeField(This,cFields,Fields,adStatus,pRecordset)
   1165 #define RecordsetEventsVt_FieldChangeComplete(This,cFields,Fields,pError,adStatus,pRecordset) (This)->lpVtbl -> FieldChangeComplete(This,cFields,Fields,pError,adStatus,pRecordset)
   1166 #define RecordsetEventsVt_WillChangeRecord(This,adReason,cRecords,adStatus,pRecordset) (This)->lpVtbl -> WillChangeRecord(This,adReason,cRecords,adStatus,pRecordset)
   1167 #define RecordsetEventsVt_RecordChangeComplete(This,adReason,cRecords,pError,adStatus,pRecordset) (This)->lpVtbl -> RecordChangeComplete(This,adReason,cRecords,pError,adStatus,pRecordset)
   1168 #define RecordsetEventsVt_WillChangeRecordset(This,adReason,adStatus,pRecordset) (This)->lpVtbl -> WillChangeRecordset(This,adReason,adStatus,pRecordset)
   1169 #define RecordsetEventsVt_RecordsetChangeComplete(This,adReason,pError,adStatus,pRecordset) (This)->lpVtbl -> RecordsetChangeComplete(This,adReason,pError,adStatus,pRecordset)
   1170 #define RecordsetEventsVt_WillMove(This,adReason,adStatus,pRecordset) (This)->lpVtbl -> WillMove(This,adReason,adStatus,pRecordset)
   1171 #define RecordsetEventsVt_MoveComplete(This,adReason,pError,adStatus,pRecordset) (This)->lpVtbl -> MoveComplete(This,adReason,pError,adStatus,pRecordset)
   1172 #define RecordsetEventsVt_EndOfRecordset(This,fMoreData,adStatus,pRecordset) (This)->lpVtbl -> EndOfRecordset(This,fMoreData,adStatus,pRecordset)
   1173 #define RecordsetEventsVt_FetchProgress(This,Progress,MaxProgress,adStatus,pRecordset) (This)->lpVtbl -> FetchProgress(This,Progress,MaxProgress,adStatus,pRecordset)
   1174 #define RecordsetEventsVt_FetchComplete(This,pError,adStatus,pRecordset) (This)->lpVtbl -> FetchComplete(This,pError,adStatus,pRecordset)
   1175 #endif
   1176 #endif
   1177   HRESULT WINAPI RecordsetEventsVt_WillChangeField_Proxy(RecordsetEventsVt *This,LONG cFields,VARIANT Fields,EventStatusEnum *adStatus,_ADORecordset *pRecordset);
   1178   void __RPC_STUB RecordsetEventsVt_WillChangeField_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1179   HRESULT WINAPI RecordsetEventsVt_FieldChangeComplete_Proxy(RecordsetEventsVt *This,LONG cFields,VARIANT Fields,ADOError *pError,EventStatusEnum *adStatus,_ADORecordset *pRecordset);
   1180   void __RPC_STUB RecordsetEventsVt_FieldChangeComplete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1181   HRESULT WINAPI RecordsetEventsVt_WillChangeRecord_Proxy(RecordsetEventsVt *This,EventReasonEnum adReason,LONG cRecords,EventStatusEnum *adStatus,_ADORecordset *pRecordset);
   1182   void __RPC_STUB RecordsetEventsVt_WillChangeRecord_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1183   HRESULT WINAPI RecordsetEventsVt_RecordChangeComplete_Proxy(RecordsetEventsVt *This,EventReasonEnum adReason,LONG cRecords,ADOError *pError,EventStatusEnum *adStatus,_ADORecordset *pRecordset);
   1184   void __RPC_STUB RecordsetEventsVt_RecordChangeComplete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1185   HRESULT WINAPI RecordsetEventsVt_WillChangeRecordset_Proxy(RecordsetEventsVt *This,EventReasonEnum adReason,EventStatusEnum *adStatus,_ADORecordset *pRecordset);
   1186   void __RPC_STUB RecordsetEventsVt_WillChangeRecordset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1187   HRESULT WINAPI RecordsetEventsVt_RecordsetChangeComplete_Proxy(RecordsetEventsVt *This,EventReasonEnum adReason,ADOError *pError,EventStatusEnum *adStatus,_ADORecordset *pRecordset);
   1188   void __RPC_STUB RecordsetEventsVt_RecordsetChangeComplete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1189   HRESULT WINAPI RecordsetEventsVt_WillMove_Proxy(RecordsetEventsVt *This,EventReasonEnum adReason,EventStatusEnum *adStatus,_ADORecordset *pRecordset);
   1190   void __RPC_STUB RecordsetEventsVt_WillMove_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1191   HRESULT WINAPI RecordsetEventsVt_MoveComplete_Proxy(RecordsetEventsVt *This,EventReasonEnum adReason,ADOError *pError,EventStatusEnum *adStatus,_ADORecordset *pRecordset);
   1192   void __RPC_STUB RecordsetEventsVt_MoveComplete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1193   HRESULT WINAPI RecordsetEventsVt_EndOfRecordset_Proxy(RecordsetEventsVt *This,VARIANT_BOOL *fMoreData,EventStatusEnum *adStatus,_ADORecordset *pRecordset);
   1194   void __RPC_STUB RecordsetEventsVt_EndOfRecordset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1195   HRESULT WINAPI RecordsetEventsVt_FetchProgress_Proxy(RecordsetEventsVt *This,__LONG32 Progress,__LONG32 MaxProgress,EventStatusEnum *adStatus,_ADORecordset *pRecordset);
   1196   void __RPC_STUB RecordsetEventsVt_FetchProgress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1197   HRESULT WINAPI RecordsetEventsVt_FetchComplete_Proxy(RecordsetEventsVt *This,ADOError *pError,EventStatusEnum *adStatus,_ADORecordset *pRecordset);
   1198   void __RPC_STUB RecordsetEventsVt_FetchComplete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1199 #endif
   1200 
   1201 #ifndef __ConnectionEvents_DISPINTERFACE_DEFINED__
   1202 #define __ConnectionEvents_DISPINTERFACE_DEFINED__
   1203   EXTERN_C const IID DIID_ConnectionEvents;
   1204 #if defined(__cplusplus) && !defined(CINTERFACE)
   1205   struct ConnectionEvents : public IDispatch {
   1206   };
   1207 #else
   1208   typedef struct ConnectionEventsVtbl {
   1209     BEGIN_INTERFACE
   1210       HRESULT (WINAPI *QueryInterface)(ConnectionEvents *This,REFIID riid,void **ppvObject);
   1211       ULONG (WINAPI *AddRef)(ConnectionEvents *This);
   1212       ULONG (WINAPI *Release)(ConnectionEvents *This);
   1213       HRESULT (WINAPI *GetTypeInfoCount)(ConnectionEvents *This,UINT *pctinfo);
   1214       HRESULT (WINAPI *GetTypeInfo)(ConnectionEvents *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1215       HRESULT (WINAPI *GetIDsOfNames)(ConnectionEvents *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1216       HRESULT (WINAPI *Invoke)(ConnectionEvents *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1217     END_INTERFACE
   1218   } ConnectionEventsVtbl;
   1219   struct ConnectionEvents {
   1220     CONST_VTBL struct ConnectionEventsVtbl *lpVtbl;
   1221   };
   1222 #ifdef COBJMACROS
   1223 #define ConnectionEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   1224 #define ConnectionEvents_AddRef(This) (This)->lpVtbl -> AddRef(This)
   1225 #define ConnectionEvents_Release(This) (This)->lpVtbl -> Release(This)
   1226 #define ConnectionEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   1227 #define ConnectionEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1228 #define ConnectionEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1229 #define ConnectionEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1230 #endif
   1231 #endif
   1232 #endif
   1233 
   1234 #ifndef __RecordsetEvents_DISPINTERFACE_DEFINED__
   1235 #define __RecordsetEvents_DISPINTERFACE_DEFINED__
   1236   EXTERN_C const IID DIID_RecordsetEvents;
   1237 #if defined(__cplusplus) && !defined(CINTERFACE)
   1238   struct RecordsetEvents : public IDispatch {
   1239   };
   1240 #else
   1241   typedef struct RecordsetEventsVtbl {
   1242     BEGIN_INTERFACE
   1243       HRESULT (WINAPI *QueryInterface)(RecordsetEvents *This,REFIID riid,void **ppvObject);
   1244       ULONG (WINAPI *AddRef)(RecordsetEvents *This);
   1245       ULONG (WINAPI *Release)(RecordsetEvents *This);
   1246       HRESULT (WINAPI *GetTypeInfoCount)(RecordsetEvents *This,UINT *pctinfo);
   1247       HRESULT (WINAPI *GetTypeInfo)(RecordsetEvents *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1248       HRESULT (WINAPI *GetIDsOfNames)(RecordsetEvents *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1249       HRESULT (WINAPI *Invoke)(RecordsetEvents *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1250     END_INTERFACE
   1251   } RecordsetEventsVtbl;
   1252   struct RecordsetEvents {
   1253     CONST_VTBL struct RecordsetEventsVtbl *lpVtbl;
   1254   };
   1255 #ifdef COBJMACROS
   1256 #define RecordsetEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   1257 #define RecordsetEvents_AddRef(This) (This)->lpVtbl -> AddRef(This)
   1258 #define RecordsetEvents_Release(This) (This)->lpVtbl -> Release(This)
   1259 #define RecordsetEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   1260 #define RecordsetEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1261 #define RecordsetEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1262 #define RecordsetEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1263 #endif
   1264 #endif
   1265 #endif
   1266 
   1267 #ifndef __Connection15_INTERFACE_DEFINED__
   1268 #define __Connection15_INTERFACE_DEFINED__
   1269   EXTERN_C const IID IID_Connection15;
   1270 #if defined(__cplusplus) && !defined(CINTERFACE)
   1271   struct Connection15 : public _ADO {
   1272   public:
   1273     virtual HRESULT WINAPI get_ConnectionString(BSTR *pbstr) = 0;
   1274     virtual HRESULT WINAPI put_ConnectionString(BSTR bstr) = 0;
   1275     virtual HRESULT WINAPI get_CommandTimeout(LONG *plTimeout) = 0;
   1276     virtual HRESULT WINAPI put_CommandTimeout(LONG lTimeout) = 0;
   1277     virtual HRESULT WINAPI get_ConnectionTimeout(LONG *plTimeout) = 0;
   1278     virtual HRESULT WINAPI put_ConnectionTimeout(LONG lTimeout) = 0;
   1279     virtual HRESULT WINAPI get_Version(BSTR *pbstr) = 0;
   1280     virtual HRESULT WINAPI Close(void) = 0;
   1281     virtual HRESULT WINAPI Execute(BSTR CommandText,VARIANT *RecordsAffected,__LONG32 Options,_ADORecordset **ppiRset) = 0;
   1282     virtual HRESULT WINAPI BeginTrans(__LONG32 *TransactionLevel) = 0;
   1283     virtual HRESULT WINAPI CommitTrans(void) = 0;
   1284     virtual HRESULT WINAPI RollbackTrans(void) = 0;
   1285     virtual HRESULT WINAPI Open(BSTR ConnectionString = NULL,BSTR UserID = NULL,BSTR Password = NULL,__LONG32 Options = adOptionUnspecified) = 0;
   1286     virtual HRESULT WINAPI get_Errors(ADOErrors **ppvObject) = 0;
   1287     virtual HRESULT WINAPI get_DefaultDatabase(BSTR *pbstr) = 0;
   1288     virtual HRESULT WINAPI put_DefaultDatabase(BSTR bstr) = 0;
   1289     virtual HRESULT WINAPI get_IsolationLevel(IsolationLevelEnum *Level) = 0;
   1290     virtual HRESULT WINAPI put_IsolationLevel(IsolationLevelEnum Level) = 0;
   1291     virtual HRESULT WINAPI get_Attributes(__LONG32 *plAttr) = 0;
   1292     virtual HRESULT WINAPI put_Attributes(__LONG32 lAttr) = 0;
   1293     virtual HRESULT WINAPI get_CursorLocation(CursorLocationEnum *plCursorLoc) = 0;
   1294     virtual HRESULT WINAPI put_CursorLocation(CursorLocationEnum lCursorLoc) = 0;
   1295     virtual HRESULT WINAPI get_Mode(ConnectModeEnum *plMode) = 0;
   1296     virtual HRESULT WINAPI put_Mode(ConnectModeEnum lMode) = 0;
   1297     virtual HRESULT WINAPI get_Provider(BSTR *pbstr) = 0;
   1298     virtual HRESULT WINAPI put_Provider(BSTR Provider) = 0;
   1299     virtual HRESULT WINAPI get_State(LONG *plObjState) = 0;
   1300     virtual HRESULT WINAPI OpenSchema(SchemaEnum Schema,VARIANT Restrictions,VARIANT SchemaID,_ADORecordset **pprset) = 0;
   1301   };
   1302 #else
   1303   typedef struct Connection15Vtbl {
   1304     BEGIN_INTERFACE
   1305       HRESULT (WINAPI *QueryInterface)(Connection15 *This,REFIID riid,void **ppvObject);
   1306       ULONG (WINAPI *AddRef)(Connection15 *This);
   1307       ULONG (WINAPI *Release)(Connection15 *This);
   1308       HRESULT (WINAPI *GetTypeInfoCount)(Connection15 *This,UINT *pctinfo);
   1309       HRESULT (WINAPI *GetTypeInfo)(Connection15 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1310       HRESULT (WINAPI *GetIDsOfNames)(Connection15 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1311       HRESULT (WINAPI *Invoke)(Connection15 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1312       HRESULT (WINAPI *get_Properties)(Connection15 *This,ADOProperties **ppvObject);
   1313       HRESULT (WINAPI *get_ConnectionString)(Connection15 *This,BSTR *pbstr);
   1314       HRESULT (WINAPI *put_ConnectionString)(Connection15 *This,BSTR bstr);
   1315       HRESULT (WINAPI *get_CommandTimeout)(Connection15 *This,LONG *plTimeout);
   1316       HRESULT (WINAPI *put_CommandTimeout)(Connection15 *This,LONG lTimeout);
   1317       HRESULT (WINAPI *get_ConnectionTimeout)(Connection15 *This,LONG *plTimeout);
   1318       HRESULT (WINAPI *put_ConnectionTimeout)(Connection15 *This,LONG lTimeout);
   1319       HRESULT (WINAPI *get_Version)(Connection15 *This,BSTR *pbstr);
   1320       HRESULT (WINAPI *Close)(Connection15 *This);
   1321       HRESULT (WINAPI *Execute)(Connection15 *This,BSTR CommandText,VARIANT *RecordsAffected,__LONG32 Options,_ADORecordset **ppiRset);
   1322       HRESULT (WINAPI *BeginTrans)(Connection15 *This,__LONG32 *TransactionLevel);
   1323       HRESULT (WINAPI *CommitTrans)(Connection15 *This);
   1324       HRESULT (WINAPI *RollbackTrans)(Connection15 *This);
   1325       HRESULT (WINAPI *Open)(Connection15 *This,BSTR ConnectionString,BSTR UserID,BSTR Password,__LONG32 Options);
   1326       HRESULT (WINAPI *get_Errors)(Connection15 *This,ADOErrors **ppvObject);
   1327       HRESULT (WINAPI *get_DefaultDatabase)(Connection15 *This,BSTR *pbstr);
   1328       HRESULT (WINAPI *put_DefaultDatabase)(Connection15 *This,BSTR bstr);
   1329       HRESULT (WINAPI *get_IsolationLevel)(Connection15 *This,IsolationLevelEnum *Level);
   1330       HRESULT (WINAPI *put_IsolationLevel)(Connection15 *This,IsolationLevelEnum Level);
   1331       HRESULT (WINAPI *get_Attributes)(Connection15 *This,__LONG32 *plAttr);
   1332       HRESULT (WINAPI *put_Attributes)(Connection15 *This,__LONG32 lAttr);
   1333       HRESULT (WINAPI *get_CursorLocation)(Connection15 *This,CursorLocationEnum *plCursorLoc);
   1334       HRESULT (WINAPI *put_CursorLocation)(Connection15 *This,CursorLocationEnum lCursorLoc);
   1335       HRESULT (WINAPI *get_Mode)(Connection15 *This,ConnectModeEnum *plMode);
   1336       HRESULT (WINAPI *put_Mode)(Connection15 *This,ConnectModeEnum lMode);
   1337       HRESULT (WINAPI *get_Provider)(Connection15 *This,BSTR *pbstr);
   1338       HRESULT (WINAPI *put_Provider)(Connection15 *This,BSTR Provider);
   1339       HRESULT (WINAPI *get_State)(Connection15 *This,LONG *plObjState);
   1340       HRESULT (WINAPI *OpenSchema)(Connection15 *This,SchemaEnum Schema,VARIANT Restrictions,VARIANT SchemaID,_ADORecordset **pprset);
   1341     END_INTERFACE
   1342   } Connection15Vtbl;
   1343   struct Connection15 {
   1344     CONST_VTBL struct Connection15Vtbl *lpVtbl;
   1345   };
   1346 #ifdef COBJMACROS
   1347 #define Connection15_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   1348 #define Connection15_AddRef(This) (This)->lpVtbl -> AddRef(This)
   1349 #define Connection15_Release(This) (This)->lpVtbl -> Release(This)
   1350 #define Connection15_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   1351 #define Connection15_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1352 #define Connection15_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1353 #define Connection15_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1354 #define Connection15_get_Properties(This,ppvObject) (This)->lpVtbl -> get_Properties(This,ppvObject)
   1355 #define Connection15_get_ConnectionString(This,pbstr) (This)->lpVtbl -> get_ConnectionString(This,pbstr)
   1356 #define Connection15_put_ConnectionString(This,bstr) (This)->lpVtbl -> put_ConnectionString(This,bstr)
   1357 #define Connection15_get_CommandTimeout(This,plTimeout) (This)->lpVtbl -> get_CommandTimeout(This,plTimeout)
   1358 #define Connection15_put_CommandTimeout(This,lTimeout) (This)->lpVtbl -> put_CommandTimeout(This,lTimeout)
   1359 #define Connection15_get_ConnectionTimeout(This,plTimeout) (This)->lpVtbl -> get_ConnectionTimeout(This,plTimeout)
   1360 #define Connection15_put_ConnectionTimeout(This,lTimeout) (This)->lpVtbl -> put_ConnectionTimeout(This,lTimeout)
   1361 #define Connection15_get_Version(This,pbstr) (This)->lpVtbl -> get_Version(This,pbstr)
   1362 #define Connection15_Close(This) (This)->lpVtbl -> Close(This)
   1363 #define Connection15_Execute(This,CommandText,RecordsAffected,Options,ppiRset) (This)->lpVtbl -> Execute(This,CommandText,RecordsAffected,Options,ppiRset)
   1364 #define Connection15_BeginTrans(This,TransactionLevel) (This)->lpVtbl -> BeginTrans(This,TransactionLevel)
   1365 #define Connection15_CommitTrans(This) (This)->lpVtbl -> CommitTrans(This)
   1366 #define Connection15_RollbackTrans(This) (This)->lpVtbl -> RollbackTrans(This)
   1367 #define Connection15_Open(This,ConnectionString,UserID,Password,Options) (This)->lpVtbl -> Open(This,ConnectionString,UserID,Password,Options)
   1368 #define Connection15_get_Errors(This,ppvObject) (This)->lpVtbl -> get_Errors(This,ppvObject)
   1369 #define Connection15_get_DefaultDatabase(This,pbstr) (This)->lpVtbl -> get_DefaultDatabase(This,pbstr)
   1370 #define Connection15_put_DefaultDatabase(This,bstr) (This)->lpVtbl -> put_DefaultDatabase(This,bstr)
   1371 #define Connection15_get_IsolationLevel(This,Level) (This)->lpVtbl -> get_IsolationLevel(This,Level)
   1372 #define Connection15_put_IsolationLevel(This,Level) (This)->lpVtbl -> put_IsolationLevel(This,Level)
   1373 #define Connection15_get_Attributes(This,plAttr) (This)->lpVtbl -> get_Attributes(This,plAttr)
   1374 #define Connection15_put_Attributes(This,lAttr) (This)->lpVtbl -> put_Attributes(This,lAttr)
   1375 #define Connection15_get_CursorLocation(This,plCursorLoc) (This)->lpVtbl -> get_CursorLocation(This,plCursorLoc)
   1376 #define Connection15_put_CursorLocation(This,lCursorLoc) (This)->lpVtbl -> put_CursorLocation(This,lCursorLoc)
   1377 #define Connection15_get_Mode(This,plMode) (This)->lpVtbl -> get_Mode(This,plMode)
   1378 #define Connection15_put_Mode(This,lMode) (This)->lpVtbl -> put_Mode(This,lMode)
   1379 #define Connection15_get_Provider(This,pbstr) (This)->lpVtbl -> get_Provider(This,pbstr)
   1380 #define Connection15_put_Provider(This,Provider) (This)->lpVtbl -> put_Provider(This,Provider)
   1381 #define Connection15_get_State(This,plObjState) (This)->lpVtbl -> get_State(This,plObjState)
   1382 #define Connection15_OpenSchema(This,Schema,Restrictions,SchemaID,pprset) (This)->lpVtbl -> OpenSchema(This,Schema,Restrictions,SchemaID,pprset)
   1383 #endif
   1384 #endif
   1385   HRESULT WINAPI Connection15_get_ConnectionString_Proxy(Connection15 *This,BSTR *pbstr);
   1386   void __RPC_STUB Connection15_get_ConnectionString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1387   HRESULT WINAPI Connection15_put_ConnectionString_Proxy(Connection15 *This,BSTR bstr);
   1388   void __RPC_STUB Connection15_put_ConnectionString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1389   HRESULT WINAPI Connection15_get_CommandTimeout_Proxy(Connection15 *This,LONG *plTimeout);
   1390   void __RPC_STUB Connection15_get_CommandTimeout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1391   HRESULT WINAPI Connection15_put_CommandTimeout_Proxy(Connection15 *This,LONG lTimeout);
   1392   void __RPC_STUB Connection15_put_CommandTimeout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1393   HRESULT WINAPI Connection15_get_ConnectionTimeout_Proxy(Connection15 *This,LONG *plTimeout);
   1394   void __RPC_STUB Connection15_get_ConnectionTimeout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1395   HRESULT WINAPI Connection15_put_ConnectionTimeout_Proxy(Connection15 *This,LONG lTimeout);
   1396   void __RPC_STUB Connection15_put_ConnectionTimeout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1397   HRESULT WINAPI Connection15_get_Version_Proxy(Connection15 *This,BSTR *pbstr);
   1398   void __RPC_STUB Connection15_get_Version_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1399   HRESULT WINAPI Connection15_Close_Proxy(Connection15 *This);
   1400   void __RPC_STUB Connection15_Close_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1401   HRESULT WINAPI Connection15_Execute_Proxy(Connection15 *This,BSTR CommandText,VARIANT *RecordsAffected,__LONG32 Options,_ADORecordset **ppiRset);
   1402   void __RPC_STUB Connection15_Execute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1403   HRESULT WINAPI Connection15_BeginTrans_Proxy(Connection15 *This,__LONG32 *TransactionLevel);
   1404   void __RPC_STUB Connection15_BeginTrans_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1405   HRESULT WINAPI Connection15_CommitTrans_Proxy(Connection15 *This);
   1406   void __RPC_STUB Connection15_CommitTrans_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1407   HRESULT WINAPI Connection15_RollbackTrans_Proxy(Connection15 *This);
   1408   void __RPC_STUB Connection15_RollbackTrans_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1409   HRESULT WINAPI Connection15_Open_Proxy(Connection15 *This,BSTR ConnectionString,BSTR UserID,BSTR Password,__LONG32 Options);
   1410   void __RPC_STUB Connection15_Open_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1411   HRESULT WINAPI Connection15_get_Errors_Proxy(Connection15 *This,ADOErrors **ppvObject);
   1412   void __RPC_STUB Connection15_get_Errors_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1413   HRESULT WINAPI Connection15_get_DefaultDatabase_Proxy(Connection15 *This,BSTR *pbstr);
   1414   void __RPC_STUB Connection15_get_DefaultDatabase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1415   HRESULT WINAPI Connection15_put_DefaultDatabase_Proxy(Connection15 *This,BSTR bstr);
   1416   void __RPC_STUB Connection15_put_DefaultDatabase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1417   HRESULT WINAPI Connection15_get_IsolationLevel_Proxy(Connection15 *This,IsolationLevelEnum *Level);
   1418   void __RPC_STUB Connection15_get_IsolationLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1419   HRESULT WINAPI Connection15_put_IsolationLevel_Proxy(Connection15 *This,IsolationLevelEnum Level);
   1420   void __RPC_STUB Connection15_put_IsolationLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1421   HRESULT WINAPI Connection15_get_Attributes_Proxy(Connection15 *This,__LONG32 *plAttr);
   1422   void __RPC_STUB Connection15_get_Attributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1423   HRESULT WINAPI Connection15_put_Attributes_Proxy(Connection15 *This,__LONG32 lAttr);
   1424   void __RPC_STUB Connection15_put_Attributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1425   HRESULT WINAPI Connection15_get_CursorLocation_Proxy(Connection15 *This,CursorLocationEnum *plCursorLoc);
   1426   void __RPC_STUB Connection15_get_CursorLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1427   HRESULT WINAPI Connection15_put_CursorLocation_Proxy(Connection15 *This,CursorLocationEnum lCursorLoc);
   1428   void __RPC_STUB Connection15_put_CursorLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1429   HRESULT WINAPI Connection15_get_Mode_Proxy(Connection15 *This,ConnectModeEnum *plMode);
   1430   void __RPC_STUB Connection15_get_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1431   HRESULT WINAPI Connection15_put_Mode_Proxy(Connection15 *This,ConnectModeEnum lMode);
   1432   void __RPC_STUB Connection15_put_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1433   HRESULT WINAPI Connection15_get_Provider_Proxy(Connection15 *This,BSTR *pbstr);
   1434   void __RPC_STUB Connection15_get_Provider_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1435   HRESULT WINAPI Connection15_put_Provider_Proxy(Connection15 *This,BSTR Provider);
   1436   void __RPC_STUB Connection15_put_Provider_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1437   HRESULT WINAPI Connection15_get_State_Proxy(Connection15 *This,LONG *plObjState);
   1438   void __RPC_STUB Connection15_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1439   HRESULT WINAPI Connection15_OpenSchema_Proxy(Connection15 *This,SchemaEnum Schema,VARIANT Restrictions,VARIANT SchemaID,_ADORecordset **pprset);
   1440   void __RPC_STUB Connection15_OpenSchema_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1441 #endif
   1442 
   1443 #ifndef ___Connection_INTERFACE_DEFINED__
   1444 #define ___Connection_INTERFACE_DEFINED__
   1445   EXTERN_C const IID IID__Connection;
   1446 #if defined(__cplusplus) && !defined(CINTERFACE)
   1447   struct _ADOConnection : public Connection15 {
   1448   public:
   1449     virtual HRESULT WINAPI Cancel(void) = 0;
   1450   };
   1451 #else
   1452   typedef struct _ConnectionVtbl {
   1453     BEGIN_INTERFACE
   1454       HRESULT (WINAPI *QueryInterface)(_ADOConnection *This,REFIID riid,void **ppvObject);
   1455       ULONG (WINAPI *AddRef)(_ADOConnection *This);
   1456       ULONG (WINAPI *Release)(_ADOConnection *This);
   1457       HRESULT (WINAPI *GetTypeInfoCount)(_ADOConnection *This,UINT *pctinfo);
   1458       HRESULT (WINAPI *GetTypeInfo)(_ADOConnection *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1459       HRESULT (WINAPI *GetIDsOfNames)(_ADOConnection *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1460       HRESULT (WINAPI *Invoke)(_ADOConnection *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1461       HRESULT (WINAPI *get_Properties)(_ADOConnection *This,ADOProperties **ppvObject);
   1462       HRESULT (WINAPI *get_ConnectionString)(_ADOConnection *This,BSTR *pbstr);
   1463       HRESULT (WINAPI *put_ConnectionString)(_ADOConnection *This,BSTR bstr);
   1464       HRESULT (WINAPI *get_CommandTimeout)(_ADOConnection *This,LONG *plTimeout);
   1465       HRESULT (WINAPI *put_CommandTimeout)(_ADOConnection *This,LONG lTimeout);
   1466       HRESULT (WINAPI *get_ConnectionTimeout)(_ADOConnection *This,LONG *plTimeout);
   1467       HRESULT (WINAPI *put_ConnectionTimeout)(_ADOConnection *This,LONG lTimeout);
   1468       HRESULT (WINAPI *get_Version)(_ADOConnection *This,BSTR *pbstr);
   1469       HRESULT (WINAPI *Close)(_ADOConnection *This);
   1470       HRESULT (WINAPI *Execute)(_ADOConnection *This,BSTR CommandText,VARIANT *RecordsAffected,__LONG32 Options,_ADORecordset **ppiRset);
   1471       HRESULT (WINAPI *BeginTrans)(_ADOConnection *This,__LONG32 *TransactionLevel);
   1472       HRESULT (WINAPI *CommitTrans)(_ADOConnection *This);
   1473       HRESULT (WINAPI *RollbackTrans)(_ADOConnection *This);
   1474       HRESULT (WINAPI *Open)(_ADOConnection *This,BSTR ConnectionString,BSTR UserID,BSTR Password,__LONG32 Options);
   1475       HRESULT (WINAPI *get_Errors)(_ADOConnection *This,ADOErrors **ppvObject);
   1476       HRESULT (WINAPI *get_DefaultDatabase)(_ADOConnection *This,BSTR *pbstr);
   1477       HRESULT (WINAPI *put_DefaultDatabase)(_ADOConnection *This,BSTR bstr);
   1478       HRESULT (WINAPI *get_IsolationLevel)(_ADOConnection *This,IsolationLevelEnum *Level);
   1479       HRESULT (WINAPI *put_IsolationLevel)(_ADOConnection *This,IsolationLevelEnum Level);
   1480       HRESULT (WINAPI *get_Attributes)(_ADOConnection *This,__LONG32 *plAttr);
   1481       HRESULT (WINAPI *put_Attributes)(_ADOConnection *This,__LONG32 lAttr);
   1482       HRESULT (WINAPI *get_CursorLocation)(_ADOConnection *This,CursorLocationEnum *plCursorLoc);
   1483       HRESULT (WINAPI *put_CursorLocation)(_ADOConnection *This,CursorLocationEnum lCursorLoc);
   1484       HRESULT (WINAPI *get_Mode)(_ADOConnection *This,ConnectModeEnum *plMode);
   1485       HRESULT (WINAPI *put_Mode)(_ADOConnection *This,ConnectModeEnum lMode);
   1486       HRESULT (WINAPI *get_Provider)(_ADOConnection *This,BSTR *pbstr);
   1487       HRESULT (WINAPI *put_Provider)(_ADOConnection *This,BSTR Provider);
   1488       HRESULT (WINAPI *get_State)(_ADOConnection *This,LONG *plObjState);
   1489       HRESULT (WINAPI *OpenSchema)(_ADOConnection *This,SchemaEnum Schema,VARIANT Restrictions,VARIANT SchemaID,_ADORecordset **pprset);
   1490       HRESULT (WINAPI *Cancel)(_ADOConnection *This);
   1491     END_INTERFACE
   1492   } _ConnectionVtbl;
   1493   struct _Connection {
   1494     CONST_VTBL struct _ConnectionVtbl *lpVtbl;
   1495   };
   1496 #ifdef COBJMACROS
   1497 #define _Connection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   1498 #define _Connection_AddRef(This) (This)->lpVtbl -> AddRef(This)
   1499 #define _Connection_Release(This) (This)->lpVtbl -> Release(This)
   1500 #define _Connection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   1501 #define _Connection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1502 #define _Connection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1503 #define _Connection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1504 #define _Connection_get_Properties(This,ppvObject) (This)->lpVtbl -> get_Properties(This,ppvObject)
   1505 #define _Connection_get_ConnectionString(This,pbstr) (This)->lpVtbl -> get_ConnectionString(This,pbstr)
   1506 #define _Connection_put_ConnectionString(This,bstr) (This)->lpVtbl -> put_ConnectionString(This,bstr)
   1507 #define _Connection_get_CommandTimeout(This,plTimeout) (This)->lpVtbl -> get_CommandTimeout(This,plTimeout)
   1508 #define _Connection_put_CommandTimeout(This,lTimeout) (This)->lpVtbl -> put_CommandTimeout(This,lTimeout)
   1509 #define _Connection_get_ConnectionTimeout(This,plTimeout) (This)->lpVtbl -> get_ConnectionTimeout(This,plTimeout)
   1510 #define _Connection_put_ConnectionTimeout(This,lTimeout) (This)->lpVtbl -> put_ConnectionTimeout(This,lTimeout)
   1511 #define _Connection_get_Version(This,pbstr) (This)->lpVtbl -> get_Version(This,pbstr)
   1512 #define _Connection_Close(This) (This)->lpVtbl -> Close(This)
   1513 #define _Connection_Execute(This,CommandText,RecordsAffected,Options,ppiRset) (This)->lpVtbl -> Execute(This,CommandText,RecordsAffected,Options,ppiRset)
   1514 #define _Connection_BeginTrans(This,TransactionLevel) (This)->lpVtbl -> BeginTrans(This,TransactionLevel)
   1515 #define _Connection_CommitTrans(This) (This)->lpVtbl -> CommitTrans(This)
   1516 #define _Connection_RollbackTrans(This) (This)->lpVtbl -> RollbackTrans(This)
   1517 #define _Connection_Open(This,ConnectionString,UserID,Password,Options) (This)->lpVtbl -> Open(This,ConnectionString,UserID,Password,Options)
   1518 #define _Connection_get_Errors(This,ppvObject) (This)->lpVtbl -> get_Errors(This,ppvObject)
   1519 #define _Connection_get_DefaultDatabase(This,pbstr) (This)->lpVtbl -> get_DefaultDatabase(This,pbstr)
   1520 #define _Connection_put_DefaultDatabase(This,bstr) (This)->lpVtbl -> put_DefaultDatabase(This,bstr)
   1521 #define _Connection_get_IsolationLevel(This,Level) (This)->lpVtbl -> get_IsolationLevel(This,Level)
   1522 #define _Connection_put_IsolationLevel(This,Level) (This)->lpVtbl -> put_IsolationLevel(This,Level)
   1523 #define _Connection_get_Attributes(This,plAttr) (This)->lpVtbl -> get_Attributes(This,plAttr)
   1524 #define _Connection_put_Attributes(This,lAttr) (This)->lpVtbl -> put_Attributes(This,lAttr)
   1525 #define _Connection_get_CursorLocation(This,plCursorLoc) (This)->lpVtbl -> get_CursorLocation(This,plCursorLoc)
   1526 #define _Connection_put_CursorLocation(This,lCursorLoc) (This)->lpVtbl -> put_CursorLocation(This,lCursorLoc)
   1527 #define _Connection_get_Mode(This,plMode) (This)->lpVtbl -> get_Mode(This,plMode)
   1528 #define _Connection_put_Mode(This,lMode) (This)->lpVtbl -> put_Mode(This,lMode)
   1529 #define _Connection_get_Provider(This,pbstr) (This)->lpVtbl -> get_Provider(This,pbstr)
   1530 #define _Connection_put_Provider(This,Provider) (This)->lpVtbl -> put_Provider(This,Provider)
   1531 #define _Connection_get_State(This,plObjState) (This)->lpVtbl -> get_State(This,plObjState)
   1532 #define _Connection_OpenSchema(This,Schema,Restrictions,SchemaID,pprset) (This)->lpVtbl -> OpenSchema(This,Schema,Restrictions,SchemaID,pprset)
   1533 #define _Connection_Cancel(This) (This)->lpVtbl -> Cancel(This)
   1534 #endif
   1535 #endif
   1536   HRESULT WINAPI _Connection_Cancel_Proxy(_ADOConnection *This);
   1537   void __RPC_STUB _Connection_Cancel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1538 #endif
   1539 
   1540 #ifndef __ADOConnectionConstruction15_INTERFACE_DEFINED__
   1541 #define __ADOConnectionConstruction15_INTERFACE_DEFINED__
   1542   EXTERN_C const IID IID_ADOConnectionConstruction15;
   1543 #if defined(__cplusplus) && !defined(CINTERFACE)
   1544   struct ADOConnectionConstruction15 : public IUnknown {
   1545   public:
   1546     virtual HRESULT WINAPI get_DSO(IUnknown **ppDSO) = 0;
   1547     virtual HRESULT WINAPI get_Session(IUnknown **ppSession) = 0;
   1548     virtual HRESULT WINAPI WrapDSOandSession(IUnknown *pDSO,IUnknown *pSession) = 0;
   1549   };
   1550 #else
   1551   typedef struct ADOConnectionConstruction15Vtbl {
   1552     BEGIN_INTERFACE
   1553       HRESULT (WINAPI *QueryInterface)(ADOConnectionConstruction15 *This,REFIID riid,void **ppvObject);
   1554       ULONG (WINAPI *AddRef)(ADOConnectionConstruction15 *This);
   1555       ULONG (WINAPI *Release)(ADOConnectionConstruction15 *This);
   1556       HRESULT (WINAPI *get_DSO)(ADOConnectionConstruction15 *This,IUnknown **ppDSO);
   1557       HRESULT (WINAPI *get_Session)(ADOConnectionConstruction15 *This,IUnknown **ppSession);
   1558       HRESULT (WINAPI *WrapDSOandSession)(ADOConnectionConstruction15 *This,IUnknown *pDSO,IUnknown *pSession);
   1559     END_INTERFACE
   1560   } ADOConnectionConstruction15Vtbl;
   1561   struct ADOConnectionConstruction15 {
   1562     CONST_VTBL struct ADOConnectionConstruction15Vtbl *lpVtbl;
   1563   };
   1564 #ifdef COBJMACROS
   1565 #define ADOConnectionConstruction15_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   1566 #define ADOConnectionConstruction15_AddRef(This) (This)->lpVtbl -> AddRef(This)
   1567 #define ADOConnectionConstruction15_Release(This) (This)->lpVtbl -> Release(This)
   1568 #define ADOConnectionConstruction15_get_DSO(This,ppDSO) (This)->lpVtbl -> get_DSO(This,ppDSO)
   1569 #define ADOConnectionConstruction15_get_Session(This,ppSession) (This)->lpVtbl -> get_Session(This,ppSession)
   1570 #define ADOConnectionConstruction15_WrapDSOandSession(This,pDSO,pSession) (This)->lpVtbl -> WrapDSOandSession(This,pDSO,pSession)
   1571 #endif
   1572 #endif
   1573   HRESULT WINAPI ADOConnectionConstruction15_get_DSO_Proxy(ADOConnectionConstruction15 *This,IUnknown **ppDSO);
   1574   void __RPC_STUB ADOConnectionConstruction15_get_DSO_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1575   HRESULT WINAPI ADOConnectionConstruction15_get_Session_Proxy(ADOConnectionConstruction15 *This,IUnknown **ppSession);
   1576   void __RPC_STUB ADOConnectionConstruction15_get_Session_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1577   HRESULT WINAPI ADOConnectionConstruction15_WrapDSOandSession_Proxy(ADOConnectionConstruction15 *This,IUnknown *pDSO,IUnknown *pSession);
   1578   void __RPC_STUB ADOConnectionConstruction15_WrapDSOandSession_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1579 #endif
   1580 
   1581 #ifndef __ADOConnectionConstruction_INTERFACE_DEFINED__
   1582 #define __ADOConnectionConstruction_INTERFACE_DEFINED__
   1583   EXTERN_C const IID IID_ADOConnectionConstruction;
   1584 #if defined(__cplusplus) && !defined(CINTERFACE)
   1585   struct ADOConnectionConstruction : public ADOConnectionConstruction15 {
   1586   public:
   1587   };
   1588 #else
   1589   typedef struct ADOConnectionConstructionVtbl {
   1590     BEGIN_INTERFACE
   1591       HRESULT (WINAPI *QueryInterface)(ADOConnectionConstruction *This,REFIID riid,void **ppvObject);
   1592       ULONG (WINAPI *AddRef)(ADOConnectionConstruction *This);
   1593       ULONG (WINAPI *Release)(ADOConnectionConstruction *This);
   1594       HRESULT (WINAPI *get_DSO)(ADOConnectionConstruction *This,IUnknown **ppDSO);
   1595       HRESULT (WINAPI *get_Session)(ADOConnectionConstruction *This,IUnknown **ppSession);
   1596       HRESULT (WINAPI *WrapDSOandSession)(ADOConnectionConstruction *This,IUnknown *pDSO,IUnknown *pSession);
   1597     END_INTERFACE
   1598   } ADOConnectionConstructionVtbl;
   1599   struct ADOConnectionConstruction {
   1600     CONST_VTBL struct ADOConnectionConstructionVtbl *lpVtbl;
   1601   };
   1602 #ifdef COBJMACROS
   1603 #define ADOConnectionConstruction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   1604 #define ADOConnectionConstruction_AddRef(This) (This)->lpVtbl -> AddRef(This)
   1605 #define ADOConnectionConstruction_Release(This) (This)->lpVtbl -> Release(This)
   1606 #define ADOConnectionConstruction_get_DSO(This,ppDSO) (This)->lpVtbl -> get_DSO(This,ppDSO)
   1607 #define ADOConnectionConstruction_get_Session(This,ppSession) (This)->lpVtbl -> get_Session(This,ppSession)
   1608 #define ADOConnectionConstruction_WrapDSOandSession(This,pDSO,pSession) (This)->lpVtbl -> WrapDSOandSession(This,pDSO,pSession)
   1609 #endif
   1610 #endif
   1611 #endif
   1612   EXTERN_C const CLSID CLSID_Connection;
   1613 #ifdef __cplusplus
   1614   Connection;
   1615 #endif
   1616 
   1617 #ifndef ___Record_INTERFACE_DEFINED__
   1618 #define ___Record_INTERFACE_DEFINED__
   1619   EXTERN_C const IID IID__Record;
   1620 #if defined(__cplusplus) && !defined(CINTERFACE)
   1621   struct _ADORecord : public _ADO {
   1622   public:
   1623     virtual HRESULT WINAPI get_ActiveConnection(VARIANT *pvar) = 0;
   1624     virtual HRESULT WINAPI put_ActiveConnection(BSTR bstrConn) = 0;
   1625     virtual HRESULT WINAPI putref_ActiveConnection(_ADOConnection *Con) = 0;
   1626     virtual HRESULT WINAPI get_State(ObjectStateEnum *pState) = 0;
   1627     virtual HRESULT WINAPI get_Source(VARIANT *pvar) = 0;
   1628     virtual HRESULT WINAPI put_Source(BSTR Source) = 0;
   1629     virtual HRESULT WINAPI putref_Source(IDispatch *Source) = 0;
   1630     virtual HRESULT WINAPI get_Mode(ConnectModeEnum *pMode) = 0;
   1631     virtual HRESULT WINAPI put_Mode(ConnectModeEnum Mode) = 0;
   1632     virtual HRESULT WINAPI get_ParentURL(BSTR *pbstrParentURL) = 0;
   1633     virtual HRESULT WINAPI MoveRecord(BSTR Source,BSTR Destination,BSTR UserName,BSTR Password,MoveRecordOptionsEnum Options,VARIANT_BOOL Async,BSTR *pbstrNewURL) = 0;
   1634     virtual HRESULT WINAPI CopyRecord(BSTR Source,BSTR Destination,BSTR UserName,BSTR Password,CopyRecordOptionsEnum Options,VARIANT_BOOL Async,BSTR *pbstrNewURL) = 0;
   1635     virtual HRESULT WINAPI DeleteRecord(BSTR Source = NULL,VARIANT_BOOL Async = 0) = 0;
   1636     virtual HRESULT WINAPI Open(VARIANT Source,VARIANT ActiveConnection,ConnectModeEnum Mode = adModeUnknown,RecordCreateOptionsEnum CreateOptions = adFailIfNotExists,RecordOpenOptionsEnum Options = adOpenRecordUnspecified,BSTR UserName = NULL,BSTR Password = NULL) = 0;
   1637     virtual HRESULT WINAPI Close(void) = 0;
   1638     virtual HRESULT WINAPI get_Fields(ADOFields **ppFlds) = 0;
   1639     virtual HRESULT WINAPI get_RecordType(RecordTypeEnum *pType) = 0;
   1640     virtual HRESULT WINAPI GetChildren(_ADORecordset **ppRSet) = 0;
   1641     virtual HRESULT WINAPI Cancel(void) = 0;
   1642   };
   1643 #else
   1644   typedef struct _RecordVtbl {
   1645     BEGIN_INTERFACE
   1646       HRESULT (WINAPI *QueryInterface)(_ADORecord *This,REFIID riid,void **ppvObject);
   1647       ULONG (WINAPI *AddRef)(_ADORecord *This);
   1648       ULONG (WINAPI *Release)(_ADORecord *This);
   1649       HRESULT (WINAPI *GetTypeInfoCount)(_ADORecord *This,UINT *pctinfo);
   1650       HRESULT (WINAPI *GetTypeInfo)(_ADORecord *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1651       HRESULT (WINAPI *GetIDsOfNames)(_ADORecord *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1652       HRESULT (WINAPI *Invoke)(_ADORecord *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1653       HRESULT (WINAPI *get_Properties)(_ADORecord *This,ADOProperties **ppvObject);
   1654       HRESULT (WINAPI *get_ActiveConnection)(_ADORecord *This,VARIANT *pvar);
   1655       HRESULT (WINAPI *put_ActiveConnection)(_ADORecord *This,BSTR bstrConn);
   1656       HRESULT (WINAPI *putref_ActiveADOConnection)(_ADORecord *This,_ADOConnection *Con);
   1657       HRESULT (WINAPI *get_State)(_ADORecord *This,ObjectStateEnum *pState);
   1658       HRESULT (WINAPI *get_Source)(_ADORecord *This,VARIANT *pvar);
   1659       HRESULT (WINAPI *put_Source)(_ADORecord *This,BSTR Source);
   1660       HRESULT (WINAPI *putref_Source)(_ADORecord *This,IDispatch *Source);
   1661       HRESULT (WINAPI *get_Mode)(_ADORecord *This,ConnectModeEnum *pMode);
   1662       HRESULT (WINAPI *put_Mode)(_ADORecord *This,ConnectModeEnum Mode);
   1663       HRESULT (WINAPI *get_ParentURL)(_ADORecord *This,BSTR *pbstrParentURL);
   1664       HRESULT (WINAPI *MoveADORecord)(_ADORecord *This,BSTR Source,BSTR Destination,BSTR UserName,BSTR Password,MoveRecordOptionsEnum Options,VARIANT_BOOL Async,BSTR *pbstrNewURL);
   1665       HRESULT (WINAPI *CopyADORecord)(_ADORecord *This,BSTR Source,BSTR Destination,BSTR UserName,BSTR Password,CopyRecordOptionsEnum Options,VARIANT_BOOL Async,BSTR *pbstrNewURL);
   1666       HRESULT (WINAPI *DeleteADORecord)(_ADORecord *This,BSTR Source,VARIANT_BOOL Async);
   1667       HRESULT (WINAPI *Open)(_ADORecord *This,VARIANT Source,VARIANT ActiveConnection,ConnectModeEnum Mode,RecordCreateOptionsEnum CreateOptions,RecordOpenOptionsEnum Options,BSTR UserName,BSTR Password);
   1668       HRESULT (WINAPI *Close)(_ADORecord *This);
   1669       HRESULT (WINAPI *get_Fields)(_ADORecord *This,ADOFields **ppFlds);
   1670       HRESULT (WINAPI *get_RecordType)(_ADORecord *This,RecordTypeEnum *pType);
   1671       HRESULT (WINAPI *GetChildren)(_ADORecord *This,_ADORecordset **ppRSet);
   1672       HRESULT (WINAPI *Cancel)(_ADORecord *This);
   1673     END_INTERFACE
   1674   } _RecordVtbl;
   1675   struct _Record {
   1676     CONST_VTBL struct _RecordVtbl *lpVtbl;
   1677   };
   1678 #ifdef COBJMACROS
   1679 #define _Record_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   1680 #define _Record_AddRef(This) (This)->lpVtbl -> AddRef(This)
   1681 #define _Record_Release(This) (This)->lpVtbl -> Release(This)
   1682 #define _Record_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   1683 #define _Record_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1684 #define _Record_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1685 #define _Record_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1686 #define _Record_get_Properties(This,ppvObject) (This)->lpVtbl -> get_Properties(This,ppvObject)
   1687 #define _Record_get_ActiveConnection(This,pvar) (This)->lpVtbl -> get_ActiveConnection(This,pvar)
   1688 #define _Record_put_ActiveConnection(This,bstrConn) (This)->lpVtbl -> put_ActiveConnection(This,bstrConn)
   1689 #define _Record_putref_ActiveConnection(This,Con) (This)->lpVtbl -> putref_ActiveConnection(This,Con)
   1690 #define _Record_get_State(This,pState) (This)->lpVtbl -> get_State(This,pState)
   1691 #define _Record_get_Source(This,pvar) (This)->lpVtbl -> get_Source(This,pvar)
   1692 #define _Record_put_Source(This,Source) (This)->lpVtbl -> put_Source(This,Source)
   1693 #define _Record_putref_Source(This,Source) (This)->lpVtbl -> putref_Source(This,Source)
   1694 #define _Record_get_Mode(This,pMode) (This)->lpVtbl -> get_Mode(This,pMode)
   1695 #define _Record_put_Mode(This,Mode) (This)->lpVtbl -> put_Mode(This,Mode)
   1696 #define _Record_get_ParentURL(This,pbstrParentURL) (This)->lpVtbl -> get_ParentURL(This,pbstrParentURL)
   1697 #define _Record_MoveRecord(This,Source,Destination,UserName,Password,Options,Async,pbstrNewURL) (This)->lpVtbl -> MoveRecord(This,Source,Destination,UserName,Password,Options,Async,pbstrNewURL)
   1698 #define _Record_CopyRecord(This,Source,Destination,UserName,Password,Options,Async,pbstrNewURL) (This)->lpVtbl -> CopyRecord(This,Source,Destination,UserName,Password,Options,Async,pbstrNewURL)
   1699 #define _Record_DeleteRecord(This,Source,Async) (This)->lpVtbl -> DeleteRecord(This,Source,Async)
   1700 #define _Record_Open(This,Source,ActiveConnection,Mode,CreateOptions,Options,UserName,Password) (This)->lpVtbl -> Open(This,Source,ActiveConnection,Mode,CreateOptions,Options,UserName,Password)
   1701 #define _Record_Close(This) (This)->lpVtbl -> Close(This)
   1702 #define _Record_get_Fields(This,ppFlds) (This)->lpVtbl -> get_Fields(This,ppFlds)
   1703 #define _Record_get_RecordType(This,pType) (This)->lpVtbl -> get_RecordType(This,pType)
   1704 #define _Record_GetChildren(This,ppRSet) (This)->lpVtbl -> GetChildren(This,ppRSet)
   1705 #define _Record_Cancel(This) (This)->lpVtbl -> Cancel(This)
   1706 #endif
   1707 #endif
   1708   HRESULT WINAPI _Record_get_ActiveConnection_Proxy(_ADORecord *This,VARIANT *pvar);
   1709   void __RPC_STUB _Record_get_ActiveConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1710   HRESULT WINAPI _Record_put_ActiveConnection_Proxy(_ADORecord *This,BSTR bstrConn);
   1711   void __RPC_STUB _Record_put_ActiveConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1712   HRESULT WINAPI _Record_putref_ActiveConnection_Proxy(_ADORecord *This,_ADOConnection *Con);
   1713   void __RPC_STUB _Record_putref_ActiveConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1714   HRESULT WINAPI _Record_get_State_Proxy(_ADORecord *This,ObjectStateEnum *pState);
   1715   void __RPC_STUB _Record_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1716   HRESULT WINAPI _Record_get_Source_Proxy(_ADORecord *This,VARIANT *pvar);
   1717   void __RPC_STUB _Record_get_Source_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1718   HRESULT WINAPI _Record_put_Source_Proxy(_ADORecord *This,BSTR Source);
   1719   void __RPC_STUB _Record_put_Source_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1720   HRESULT WINAPI _Record_putref_Source_Proxy(_ADORecord *This,IDispatch *Source);
   1721   void __RPC_STUB _Record_putref_Source_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1722   HRESULT WINAPI _Record_get_Mode_Proxy(_ADORecord *This,ConnectModeEnum *pMode);
   1723   void __RPC_STUB _Record_get_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1724   HRESULT WINAPI _Record_put_Mode_Proxy(_ADORecord *This,ConnectModeEnum Mode);
   1725   void __RPC_STUB _Record_put_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1726   HRESULT WINAPI _Record_get_ParentURL_Proxy(_ADORecord *This,BSTR *pbstrParentURL);
   1727   void __RPC_STUB _Record_get_ParentURL_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1728   HRESULT WINAPI _Record_MoveRecord_Proxy(_ADORecord *This,BSTR Source,BSTR Destination,BSTR UserName,BSTR Password,MoveRecordOptionsEnum Options,VARIANT_BOOL Async,BSTR *pbstrNewURL);
   1729   void __RPC_STUB _Record_MoveRecord_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1730   HRESULT WINAPI _Record_CopyRecord_Proxy(_ADORecord *This,BSTR Source,BSTR Destination,BSTR UserName,BSTR Password,CopyRecordOptionsEnum Options,VARIANT_BOOL Async,BSTR *pbstrNewURL);
   1731   void __RPC_STUB _Record_CopyRecord_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1732   HRESULT WINAPI _Record_DeleteRecord_Proxy(_ADORecord *This,BSTR Source,VARIANT_BOOL Async);
   1733   void __RPC_STUB _Record_DeleteRecord_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1734   HRESULT WINAPI _Record_Open_Proxy(_ADORecord *This,VARIANT Source,VARIANT ActiveConnection,ConnectModeEnum Mode,RecordCreateOptionsEnum CreateOptions,RecordOpenOptionsEnum Options,BSTR UserName,BSTR Password);
   1735   void __RPC_STUB _Record_Open_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1736   HRESULT WINAPI _Record_Close_Proxy(_ADORecord *This);
   1737   void __RPC_STUB _Record_Close_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1738   HRESULT WINAPI _Record_get_Fields_Proxy(_ADORecord *This,ADOFields **ppFlds);
   1739   void __RPC_STUB _Record_get_Fields_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1740   HRESULT WINAPI _Record_get_RecordType_Proxy(_ADORecord *This,RecordTypeEnum *pType);
   1741   void __RPC_STUB _Record_get_RecordType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1742   HRESULT WINAPI _Record_GetChildren_Proxy(_ADORecord *This,_ADORecordset **ppRSet);
   1743   void __RPC_STUB _Record_GetChildren_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1744   HRESULT WINAPI _Record_Cancel_Proxy(_ADORecord *This);
   1745   void __RPC_STUB _Record_Cancel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1746 #endif
   1747   EXTERN_C const CLSID CLSID_Record;
   1748 #ifdef __cplusplus
   1749   Record;
   1750 #endif
   1751 
   1752 #ifndef ___Stream_INTERFACE_DEFINED__
   1753 #define ___Stream_INTERFACE_DEFINED__
   1754   EXTERN_C const IID IID__Stream;
   1755 #if defined(__cplusplus) && !defined(CINTERFACE)
   1756   struct _ADOStream : public IDispatch {
   1757   public:
   1758     virtual HRESULT WINAPI get_Size(ADO_LONGPTR *pSize) = 0;
   1759     virtual HRESULT WINAPI get_EOS(VARIANT_BOOL *pEOS) = 0;
   1760     virtual HRESULT WINAPI get_Position(ADO_LONGPTR *pPos) = 0;
   1761     virtual HRESULT WINAPI put_Position(ADO_LONGPTR Position) = 0;
   1762     virtual HRESULT WINAPI get_Type(StreamTypeEnum *pType) = 0;
   1763     virtual HRESULT WINAPI put_Type(StreamTypeEnum Type) = 0;
   1764     virtual HRESULT WINAPI get_LineSeparator(LineSeparatorEnum *pLS) = 0;
   1765     virtual HRESULT WINAPI put_LineSeparator(LineSeparatorEnum LineSeparator) = 0;
   1766     virtual HRESULT WINAPI get_State(ObjectStateEnum *pState) = 0;
   1767     virtual HRESULT WINAPI get_Mode(ConnectModeEnum *pMode) = 0;
   1768     virtual HRESULT WINAPI put_Mode(ConnectModeEnum Mode) = 0;
   1769     virtual HRESULT WINAPI get_Charset(BSTR *pbstrCharset) = 0;
   1770     virtual HRESULT WINAPI put_Charset(BSTR Charset) = 0;
   1771     virtual HRESULT WINAPI Read(__LONG32 NumBytes,VARIANT *pVal) = 0;
   1772     virtual HRESULT WINAPI Open(VARIANT Source,ConnectModeEnum Mode = adModeUnknown,StreamOpenOptionsEnum Options = adOpenStreamUnspecified,BSTR UserName = NULL,BSTR Password = NULL) = 0;
   1773     virtual HRESULT WINAPI Close(void) = 0;
   1774     virtual HRESULT WINAPI SkipLine(void) = 0;
   1775     virtual HRESULT WINAPI Write(VARIANT Buffer) = 0;
   1776     virtual HRESULT WINAPI SetEOS(void) = 0;
   1777     virtual HRESULT WINAPI CopyTo(_ADOStream *DestStream,ADO_LONGPTR CharNumber = -1) = 0;
   1778     virtual HRESULT WINAPI Flush(void) = 0;
   1779     virtual HRESULT WINAPI SaveToFile(BSTR FileName,SaveOptionsEnum Options = adSaveCreateNotExist) = 0;
   1780     virtual HRESULT WINAPI LoadFromFile(BSTR FileName) = 0;
   1781     virtual HRESULT WINAPI ReadText(__LONG32 NumChars,BSTR *pbstr) = 0;
   1782     virtual HRESULT WINAPI WriteText(BSTR Data,StreamWriteEnum Options = adWriteChar) = 0;
   1783     virtual HRESULT WINAPI Cancel(void) = 0;
   1784   };
   1785 #else
   1786   typedef struct _StreamVtbl {
   1787     BEGIN_INTERFACE
   1788       HRESULT (WINAPI *QueryInterface)(_ADOStream *This,REFIID riid,void **ppvObject);
   1789       ULONG (WINAPI *AddRef)(_ADOStream *This);
   1790       ULONG (WINAPI *Release)(_ADOStream *This);
   1791       HRESULT (WINAPI *GetTypeInfoCount)(_ADOStream *This,UINT *pctinfo);
   1792       HRESULT (WINAPI *GetTypeInfo)(_ADOStream *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1793       HRESULT (WINAPI *GetIDsOfNames)(_ADOStream *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1794       HRESULT (WINAPI *Invoke)(_ADOStream *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1795       HRESULT (WINAPI *get_Size)(_ADOStream *This,ADO_LONGPTR *pSize);
   1796       HRESULT (WINAPI *get_EOS)(_ADOStream *This,VARIANT_BOOL *pEOS);
   1797       HRESULT (WINAPI *get_Position)(_ADOStream *This,ADO_LONGPTR *pPos);
   1798       HRESULT (WINAPI *put_Position)(_ADOStream *This,ADO_LONGPTR Position);
   1799       HRESULT (WINAPI *get_Type)(_ADOStream *This,StreamTypeEnum *pType);
   1800       HRESULT (WINAPI *put_Type)(_ADOStream *This,StreamTypeEnum Type);
   1801       HRESULT (WINAPI *get_LineSeparator)(_ADOStream *This,LineSeparatorEnum *pLS);
   1802       HRESULT (WINAPI *put_LineSeparator)(_ADOStream *This,LineSeparatorEnum LineSeparator);
   1803       HRESULT (WINAPI *get_State)(_ADOStream *This,ObjectStateEnum *pState);
   1804       HRESULT (WINAPI *get_Mode)(_ADOStream *This,ConnectModeEnum *pMode);
   1805       HRESULT (WINAPI *put_Mode)(_ADOStream *This,ConnectModeEnum Mode);
   1806       HRESULT (WINAPI *get_Charset)(_ADOStream *This,BSTR *pbstrCharset);
   1807       HRESULT (WINAPI *put_Charset)(_ADOStream *This,BSTR Charset);
   1808       HRESULT (WINAPI *Read)(_ADOStream *This,__LONG32 NumBytes,VARIANT *pVal);
   1809       HRESULT (WINAPI *Open)(_ADOStream *This,VARIANT Source,ConnectModeEnum Mode,StreamOpenOptionsEnum Options,BSTR UserName,BSTR Password);
   1810       HRESULT (WINAPI *Close)(_ADOStream *This);
   1811       HRESULT (WINAPI *SkipLine)(_ADOStream *This);
   1812       HRESULT (WINAPI *Write)(_ADOStream *This,VARIANT Buffer);
   1813       HRESULT (WINAPI *SetEOS)(_ADOStream *This);
   1814       HRESULT (WINAPI *CopyTo)(_ADOStream *This,_ADOStream *DestStream,ADO_LONGPTR CharNumber);
   1815       HRESULT (WINAPI *Flush)(_ADOStream *This);
   1816       HRESULT (WINAPI *SaveToFile)(_ADOStream *This,BSTR FileName,SaveOptionsEnum Options);
   1817       HRESULT (WINAPI *LoadFromFile)(_ADOStream *This,BSTR FileName);
   1818       HRESULT (WINAPI *ReadText)(_ADOStream *This,__LONG32 NumChars,BSTR *pbstr);
   1819       HRESULT (WINAPI *WriteText)(_ADOStream *This,BSTR Data,StreamWriteEnum Options);
   1820       HRESULT (WINAPI *Cancel)(_ADOStream *This);
   1821     END_INTERFACE
   1822   } _StreamVtbl;
   1823   struct _Stream {
   1824     CONST_VTBL struct _StreamVtbl *lpVtbl;
   1825   };
   1826 #ifdef COBJMACROS
   1827 #define _Stream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   1828 #define _Stream_AddRef(This) (This)->lpVtbl -> AddRef(This)
   1829 #define _Stream_Release(This) (This)->lpVtbl -> Release(This)
   1830 #define _Stream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   1831 #define _Stream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1832 #define _Stream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1833 #define _Stream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1834 #define _Stream_get_Size(This,pSize) (This)->lpVtbl -> get_Size(This,pSize)
   1835 #define _Stream_get_EOS(This,pEOS) (This)->lpVtbl -> get_EOS(This,pEOS)
   1836 #define _Stream_get_Position(This,pPos) (This)->lpVtbl -> get_Position(This,pPos)
   1837 #define _Stream_put_Position(This,Position) (This)->lpVtbl -> put_Position(This,Position)
   1838 #define _Stream_get_Type(This,pType) (This)->lpVtbl -> get_Type(This,pType)
   1839 #define _Stream_put_Type(This,Type) (This)->lpVtbl -> put_Type(This,Type)
   1840 #define _Stream_get_LineSeparator(This,pLS) (This)->lpVtbl -> get_LineSeparator(This,pLS)
   1841 #define _Stream_put_LineSeparator(This,LineSeparator) (This)->lpVtbl -> put_LineSeparator(This,LineSeparator)
   1842 #define _Stream_get_State(This,pState) (This)->lpVtbl -> get_State(This,pState)
   1843 #define _Stream_get_Mode(This,pMode) (This)->lpVtbl -> get_Mode(This,pMode)
   1844 #define _Stream_put_Mode(This,Mode) (This)->lpVtbl -> put_Mode(This,Mode)
   1845 #define _Stream_get_Charset(This,pbstrCharset) (This)->lpVtbl -> get_Charset(This,pbstrCharset)
   1846 #define _Stream_put_Charset(This,Charset) (This)->lpVtbl -> put_Charset(This,Charset)
   1847 #define _Stream_Read(This,NumBytes,pVal) (This)->lpVtbl -> Read(This,NumBytes,pVal)
   1848 #define _Stream_Open(This,Source,Mode,Options,UserName,Password) (This)->lpVtbl -> Open(This,Source,Mode,Options,UserName,Password)
   1849 #define _Stream_Close(This) (This)->lpVtbl -> Close(This)
   1850 #define _Stream_SkipLine(This) (This)->lpVtbl -> SkipLine(This)
   1851 #define _Stream_Write(This,Buffer) (This)->lpVtbl -> Write(This,Buffer)
   1852 #define _Stream_SetEOS(This) (This)->lpVtbl -> SetEOS(This)
   1853 #define _Stream_CopyTo(This,DestStream,CharNumber) (This)->lpVtbl -> CopyTo(This,DestStream,CharNumber)
   1854 #define _Stream_Flush(This) (This)->lpVtbl -> Flush(This)
   1855 #define _Stream_SaveToFile(This,FileName,Options) (This)->lpVtbl -> SaveToFile(This,FileName,Options)
   1856 #define _Stream_LoadFromFile(This,FileName) (This)->lpVtbl -> LoadFromFile(This,FileName)
   1857 #define _Stream_ReadText(This,NumChars,pbstr) (This)->lpVtbl -> ReadText(This,NumChars,pbstr)
   1858 #define _Stream_WriteText(This,Data,Options) (This)->lpVtbl -> WriteText(This,Data,Options)
   1859 #define _Stream_Cancel(This) (This)->lpVtbl -> Cancel(This)
   1860 #endif
   1861 #endif
   1862   HRESULT WINAPI _Stream_get_Size_Proxy(_ADOStream *This,ADO_LONGPTR *pSize);
   1863   void __RPC_STUB _Stream_get_Size_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1864   HRESULT WINAPI _Stream_get_EOS_Proxy(_ADOStream *This,VARIANT_BOOL *pEOS);
   1865   void __RPC_STUB _Stream_get_EOS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1866   HRESULT WINAPI _Stream_get_Position_Proxy(_ADOStream *This,ADO_LONGPTR *pPos);
   1867   void __RPC_STUB _Stream_get_Position_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1868   HRESULT WINAPI _Stream_put_Position_Proxy(_ADOStream *This,ADO_LONGPTR Position);
   1869   void __RPC_STUB _Stream_put_Position_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1870   HRESULT WINAPI _Stream_get_Type_Proxy(_ADOStream *This,StreamTypeEnum *pType);
   1871   void __RPC_STUB _Stream_get_Type_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1872   HRESULT WINAPI _Stream_put_Type_Proxy(_ADOStream *This,StreamTypeEnum Type);
   1873   void __RPC_STUB _Stream_put_Type_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1874   HRESULT WINAPI _Stream_get_LineSeparator_Proxy(_ADOStream *This,LineSeparatorEnum *pLS);
   1875   void __RPC_STUB _Stream_get_LineSeparator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1876   HRESULT WINAPI _Stream_put_LineSeparator_Proxy(_ADOStream *This,LineSeparatorEnum LineSeparator);
   1877   void __RPC_STUB _Stream_put_LineSeparator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1878   HRESULT WINAPI _Stream_get_State_Proxy(_ADOStream *This,ObjectStateEnum *pState);
   1879   void __RPC_STUB _Stream_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1880   HRESULT WINAPI _Stream_get_Mode_Proxy(_ADOStream *This,ConnectModeEnum *pMode);
   1881   void __RPC_STUB _Stream_get_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1882   HRESULT WINAPI _Stream_put_Mode_Proxy(_ADOStream *This,ConnectModeEnum Mode);
   1883   void __RPC_STUB _Stream_put_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1884   HRESULT WINAPI _Stream_get_Charset_Proxy(_ADOStream *This,BSTR *pbstrCharset);
   1885   void __RPC_STUB _Stream_get_Charset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1886   HRESULT WINAPI _Stream_put_Charset_Proxy(_ADOStream *This,BSTR Charset);
   1887   void __RPC_STUB _Stream_put_Charset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1888   HRESULT WINAPI _Stream_Read_Proxy(_ADOStream *This,__LONG32 NumBytes,VARIANT *pVal);
   1889   void __RPC_STUB _Stream_Read_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1890   HRESULT WINAPI _Stream_Open_Proxy(_ADOStream *This,VARIANT Source,ConnectModeEnum Mode,StreamOpenOptionsEnum Options,BSTR UserName,BSTR Password);
   1891   void __RPC_STUB _Stream_Open_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1892   HRESULT WINAPI _Stream_Close_Proxy(_ADOStream *This);
   1893   void __RPC_STUB _Stream_Close_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1894   HRESULT WINAPI _Stream_SkipLine_Proxy(_ADOStream *This);
   1895   void __RPC_STUB _Stream_SkipLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1896   HRESULT WINAPI _Stream_Write_Proxy(_ADOStream *This,VARIANT Buffer);
   1897   void __RPC_STUB _Stream_Write_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1898   HRESULT WINAPI _Stream_SetEOS_Proxy(_ADOStream *This);
   1899   void __RPC_STUB _Stream_SetEOS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1900   HRESULT WINAPI _Stream_CopyTo_Proxy(_ADOStream *This,_ADOStream *DestStream,ADO_LONGPTR CharNumber);
   1901   void __RPC_STUB _Stream_CopyTo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1902   HRESULT WINAPI _Stream_Flush_Proxy(_ADOStream *This);
   1903   void __RPC_STUB _Stream_Flush_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1904   HRESULT WINAPI _Stream_SaveToFile_Proxy(_ADOStream *This,BSTR FileName,SaveOptionsEnum Options);
   1905   void __RPC_STUB _Stream_SaveToFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1906   HRESULT WINAPI _Stream_LoadFromFile_Proxy(_ADOStream *This,BSTR FileName);
   1907   void __RPC_STUB _Stream_LoadFromFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1908   HRESULT WINAPI _Stream_ReadText_Proxy(_ADOStream *This,__LONG32 NumChars,BSTR *pbstr);
   1909   void __RPC_STUB _Stream_ReadText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1910   HRESULT WINAPI _Stream_WriteText_Proxy(_ADOStream *This,BSTR Data,StreamWriteEnum Options);
   1911   void __RPC_STUB _Stream_WriteText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1912   HRESULT WINAPI _Stream_Cancel_Proxy(_ADOStream *This);
   1913   void __RPC_STUB _Stream_Cancel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1914 #endif
   1915   EXTERN_C const CLSID CLSID_Stream;
   1916 #ifdef __cplusplus
   1917   Stream;
   1918 #endif
   1919 
   1920 #ifndef __ADORecordConstruction_INTERFACE_DEFINED__
   1921 #define __ADORecordConstruction_INTERFACE_DEFINED__
   1922   EXTERN_C const IID IID_ADORecordConstruction;
   1923 #if defined(__cplusplus) && !defined(CINTERFACE)
   1924   struct ADORecordConstruction : public IDispatch {
   1925   public:
   1926     virtual HRESULT WINAPI get_Row(IUnknown **ppRow) = 0;
   1927     virtual HRESULT WINAPI put_Row(IUnknown *pRow) = 0;
   1928     virtual HRESULT WINAPI put_ParentRow(IUnknown *pRow) = 0;
   1929   };
   1930 #else
   1931   typedef struct ADORecordConstructionVtbl {
   1932     BEGIN_INTERFACE
   1933       HRESULT (WINAPI *QueryInterface)(ADORecordConstruction *This,REFIID riid,void **ppvObject);
   1934       ULONG (WINAPI *AddRef)(ADORecordConstruction *This);
   1935       ULONG (WINAPI *Release)(ADORecordConstruction *This);
   1936       HRESULT (WINAPI *GetTypeInfoCount)(ADORecordConstruction *This,UINT *pctinfo);
   1937       HRESULT (WINAPI *GetTypeInfo)(ADORecordConstruction *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1938       HRESULT (WINAPI *GetIDsOfNames)(ADORecordConstruction *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1939       HRESULT (WINAPI *Invoke)(ADORecordConstruction *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1940       HRESULT (WINAPI *get_Row)(ADORecordConstruction *This,IUnknown **ppRow);
   1941       HRESULT (WINAPI *put_Row)(ADORecordConstruction *This,IUnknown *pRow);
   1942       HRESULT (WINAPI *put_ParentRow)(ADORecordConstruction *This,IUnknown *pRow);
   1943     END_INTERFACE
   1944   } ADORecordConstructionVtbl;
   1945   struct ADORecordConstruction {
   1946     CONST_VTBL struct ADORecordConstructionVtbl *lpVtbl;
   1947   };
   1948 #ifdef COBJMACROS
   1949 #define ADORecordConstruction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   1950 #define ADORecordConstruction_AddRef(This) (This)->lpVtbl -> AddRef(This)
   1951 #define ADORecordConstruction_Release(This) (This)->lpVtbl -> Release(This)
   1952 #define ADORecordConstruction_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   1953 #define ADORecordConstruction_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1954 #define ADORecordConstruction_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1955 #define ADORecordConstruction_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1956 #define ADORecordConstruction_get_Row(This,ppRow) (This)->lpVtbl -> get_Row(This,ppRow)
   1957 #define ADORecordConstruction_put_Row(This,pRow) (This)->lpVtbl -> put_Row(This,pRow)
   1958 #define ADORecordConstruction_put_ParentRow(This,pRow) (This)->lpVtbl -> put_ParentRow(This,pRow)
   1959 #endif
   1960 #endif
   1961   HRESULT WINAPI ADORecordConstruction_get_Row_Proxy(ADORecordConstruction *This,IUnknown **ppRow);
   1962   void __RPC_STUB ADORecordConstruction_get_Row_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1963   HRESULT WINAPI ADORecordConstruction_put_Row_Proxy(ADORecordConstruction *This,IUnknown *pRow);
   1964   void __RPC_STUB ADORecordConstruction_put_Row_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1965   HRESULT WINAPI ADORecordConstruction_put_ParentRow_Proxy(ADORecordConstruction *This,IUnknown *pRow);
   1966   void __RPC_STUB ADORecordConstruction_put_ParentRow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1967 #endif
   1968 
   1969 #ifndef __ADOStreamConstruction_INTERFACE_DEFINED__
   1970 #define __ADOStreamConstruction_INTERFACE_DEFINED__
   1971   EXTERN_C const IID IID_ADOStreamConstruction;
   1972 #if defined(__cplusplus) && !defined(CINTERFACE)
   1973   struct ADOStreamConstruction : public IDispatch {
   1974   public:
   1975     virtual HRESULT WINAPI get_Stream(IUnknown **ppStm) = 0;
   1976     virtual HRESULT WINAPI put_Stream(IUnknown *pStm) = 0;
   1977   };
   1978 #else
   1979   typedef struct ADOStreamConstructionVtbl {
   1980     BEGIN_INTERFACE
   1981       HRESULT (WINAPI *QueryInterface)(ADOStreamConstruction *This,REFIID riid,void **ppvObject);
   1982       ULONG (WINAPI *AddRef)(ADOStreamConstruction *This);
   1983       ULONG (WINAPI *Release)(ADOStreamConstruction *This);
   1984       HRESULT (WINAPI *GetTypeInfoCount)(ADOStreamConstruction *This,UINT *pctinfo);
   1985       HRESULT (WINAPI *GetTypeInfo)(ADOStreamConstruction *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1986       HRESULT (WINAPI *GetIDsOfNames)(ADOStreamConstruction *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1987       HRESULT (WINAPI *Invoke)(ADOStreamConstruction *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1988       HRESULT (WINAPI *get_Stream)(ADOStreamConstruction *This,IUnknown **ppStm);
   1989       HRESULT (WINAPI *put_Stream)(ADOStreamConstruction *This,IUnknown *pStm);
   1990     END_INTERFACE
   1991   } ADOStreamConstructionVtbl;
   1992   struct ADOStreamConstruction {
   1993     CONST_VTBL struct ADOStreamConstructionVtbl *lpVtbl;
   1994   };
   1995 #ifdef COBJMACROS
   1996 #define ADOStreamConstruction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   1997 #define ADOStreamConstruction_AddRef(This) (This)->lpVtbl -> AddRef(This)
   1998 #define ADOStreamConstruction_Release(This) (This)->lpVtbl -> Release(This)
   1999 #define ADOStreamConstruction_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   2000 #define ADOStreamConstruction_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2001 #define ADOStreamConstruction_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2002 #define ADOStreamConstruction_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2003 #define ADOStreamConstruction_get_Stream(This,ppStm) (This)->lpVtbl -> get_Stream(This,ppStm)
   2004 #define ADOStreamConstruction_put_Stream(This,pStm) (This)->lpVtbl -> put_Stream(This,pStm)
   2005 #endif
   2006 #endif
   2007   HRESULT WINAPI ADOStreamConstruction_get_Stream_Proxy(ADOStreamConstruction *This,IUnknown **ppStm);
   2008   void __RPC_STUB ADOStreamConstruction_get_Stream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2009   HRESULT WINAPI ADOStreamConstruction_put_Stream_Proxy(ADOStreamConstruction *This,IUnknown *pStm);
   2010   void __RPC_STUB ADOStreamConstruction_put_Stream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2011 #endif
   2012 
   2013 #ifndef __ADOCommandConstruction_INTERFACE_DEFINED__
   2014 #define __ADOCommandConstruction_INTERFACE_DEFINED__
   2015   EXTERN_C const IID IID_ADOCommandConstruction;
   2016 #if defined(__cplusplus) && !defined(CINTERFACE)
   2017   struct ADOCommandConstruction : public IUnknown {
   2018   public:
   2019     virtual HRESULT WINAPI get_OLEDBCommand(IUnknown **ppOLEDBCommand) = 0;
   2020     virtual HRESULT WINAPI put_OLEDBCommand(IUnknown *pOLEDBCommand) = 0;
   2021   };
   2022 #else
   2023   typedef struct ADOCommandConstructionVtbl {
   2024     BEGIN_INTERFACE
   2025       HRESULT (WINAPI *QueryInterface)(ADOCommandConstruction *This,REFIID riid,void **ppvObject);
   2026       ULONG (WINAPI *AddRef)(ADOCommandConstruction *This);
   2027       ULONG (WINAPI *Release)(ADOCommandConstruction *This);
   2028       HRESULT (WINAPI *get_OLEDBCommand)(ADOCommandConstruction *This,IUnknown **ppOLEDBCommand);
   2029       HRESULT (WINAPI *put_OLEDBCommand)(ADOCommandConstruction *This,IUnknown *pOLEDBCommand);
   2030     END_INTERFACE
   2031   } ADOCommandConstructionVtbl;
   2032   struct ADOCommandConstruction {
   2033     CONST_VTBL struct ADOCommandConstructionVtbl *lpVtbl;
   2034   };
   2035 #ifdef COBJMACROS
   2036 #define ADOCommandConstruction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   2037 #define ADOCommandConstruction_AddRef(This) (This)->lpVtbl -> AddRef(This)
   2038 #define ADOCommandConstruction_Release(This) (This)->lpVtbl -> Release(This)
   2039 #define ADOCommandConstruction_get_OLEDBCommand(This,ppOLEDBCommand) (This)->lpVtbl -> get_OLEDBCommand(This,ppOLEDBCommand)
   2040 #define ADOCommandConstruction_put_OLEDBCommand(This,pOLEDBCommand) (This)->lpVtbl -> put_OLEDBCommand(This,pOLEDBCommand)
   2041 #endif
   2042 #endif
   2043   HRESULT WINAPI ADOCommandConstruction_get_OLEDBCommand_Proxy(ADOCommandConstruction *This,IUnknown **ppOLEDBCommand);
   2044   void __RPC_STUB ADOCommandConstruction_get_OLEDBCommand_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2045   HRESULT WINAPI ADOCommandConstruction_put_OLEDBCommand_Proxy(ADOCommandConstruction *This,IUnknown *pOLEDBCommand);
   2046   void __RPC_STUB ADOCommandConstruction_put_OLEDBCommand_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2047 #endif
   2048   EXTERN_C const CLSID CLSID_Command;
   2049 #ifdef __cplusplus
   2050   Command;
   2051 #endif
   2052   EXTERN_C const CLSID CLSID_Recordset;
   2053 #ifdef __cplusplus
   2054   Recordset;
   2055 #endif
   2056 
   2057 #ifndef __Recordset15_INTERFACE_DEFINED__
   2058 #define __Recordset15_INTERFACE_DEFINED__
   2059   EXTERN_C const IID IID_Recordset15;
   2060 #if defined(__cplusplus) && !defined(CINTERFACE)
   2061   struct Recordset15 : public _ADO {
   2062   public:
   2063     virtual HRESULT WINAPI get_AbsolutePosition(PositionEnum_Param *pl) = 0;
   2064     virtual HRESULT WINAPI put_AbsolutePosition(PositionEnum_Param Position) = 0;
   2065     virtual HRESULT WINAPI putref_ActiveConnection(IDispatch *pconn) = 0;
   2066     virtual HRESULT WINAPI put_ActiveConnection(VARIANT vConn) = 0;
   2067     virtual HRESULT WINAPI get_ActiveConnection(VARIANT *pvar) = 0;
   2068     virtual HRESULT WINAPI get_BOF(VARIANT_BOOL *pb) = 0;
   2069     virtual HRESULT WINAPI get_Bookmark(VARIANT *pvBookmark) = 0;
   2070     virtual HRESULT WINAPI put_Bookmark(VARIANT vBookmark) = 0;
   2071     virtual HRESULT WINAPI get_CacheSize(__LONG32 *pl) = 0;
   2072     virtual HRESULT WINAPI put_CacheSize(__LONG32 CacheSize) = 0;
   2073     virtual HRESULT WINAPI get_CursorType(CursorTypeEnum *plCursorType) = 0;
   2074     virtual HRESULT WINAPI put_CursorType(CursorTypeEnum lCursorType) = 0;
   2075     virtual HRESULT WINAPI get_EOF(VARIANT_BOOL *pb) = 0;
   2076     virtual HRESULT WINAPI get_Fields(ADOFields **ppvObject) = 0;
   2077     virtual HRESULT WINAPI get_LockType(LockTypeEnum *plLockType) = 0;
   2078     virtual HRESULT WINAPI put_LockType(LockTypeEnum lLockType) = 0;
   2079     virtual HRESULT WINAPI get_MaxRecords(ADO_LONGPTR *plMaxRecords) = 0;
   2080     virtual HRESULT WINAPI put_MaxRecords(ADO_LONGPTR lMaxRecords) = 0;
   2081     virtual HRESULT WINAPI get_RecordCount(ADO_LONGPTR *pl) = 0;
   2082     virtual HRESULT WINAPI putref_Source(IDispatch *pcmd) = 0;
   2083     virtual HRESULT WINAPI put_Source(BSTR bstrConn) = 0;
   2084     virtual HRESULT WINAPI get_Source(VARIANT *pvSource) = 0;
   2085     virtual HRESULT WINAPI AddNew(VARIANT FieldList,VARIANT Values) = 0;
   2086     virtual HRESULT WINAPI CancelUpdate(void) = 0;
   2087     virtual HRESULT WINAPI Close(void) = 0;
   2088     virtual HRESULT WINAPI Delete(AffectEnum AffectRecords = adAffectCurrent) = 0;
   2089     virtual HRESULT WINAPI GetRows(__LONG32 Rows,VARIANT Start,VARIANT Fields,VARIANT *pvar) = 0;
   2090     virtual HRESULT WINAPI Move(ADO_LONGPTR NumRecords,VARIANT Start) = 0;
   2091     virtual HRESULT WINAPI MoveNext(void) = 0;
   2092     virtual HRESULT WINAPI MovePrevious(void) = 0;
   2093     virtual HRESULT WINAPI MoveFirst(void) = 0;
   2094     virtual HRESULT WINAPI MoveLast(void) = 0;
   2095     virtual HRESULT WINAPI Open(VARIANT Source,VARIANT ActiveConnection,CursorTypeEnum CursorType = adOpenUnspecified,LockTypeEnum LockType = adLockUnspecified,LONG Options = adCmdUnspecified) = 0;
   2096     virtual HRESULT WINAPI Requery(LONG Options = adOptionUnspecified) = 0;
   2097     virtual HRESULT WINAPI _xResync(AffectEnum AffectRecords = adAffectAll) = 0;
   2098     virtual HRESULT WINAPI Update(VARIANT Fields,VARIANT Values) = 0;
   2099     virtual HRESULT WINAPI get_AbsolutePage(PositionEnum_Param *pl) = 0;
   2100     virtual HRESULT WINAPI put_AbsolutePage(PositionEnum_Param Page) = 0;
   2101     virtual HRESULT WINAPI get_EditMode(EditModeEnum *pl) = 0;
   2102     virtual HRESULT WINAPI get_Filter(VARIANT *Criteria) = 0;
   2103     virtual HRESULT WINAPI put_Filter(VARIANT Criteria) = 0;
   2104     virtual HRESULT WINAPI get_PageCount(ADO_LONGPTR *pl) = 0;
   2105     virtual HRESULT WINAPI get_PageSize(__LONG32 *pl) = 0;
   2106     virtual HRESULT WINAPI put_PageSize(__LONG32 PageSize) = 0;
   2107     virtual HRESULT WINAPI get_Sort(BSTR *Criteria) = 0;
   2108     virtual HRESULT WINAPI put_Sort(BSTR Criteria) = 0;
   2109     virtual HRESULT WINAPI get_Status(__LONG32 *pl) = 0;
   2110     virtual HRESULT WINAPI get_State(LONG *plObjState) = 0;
   2111     virtual HRESULT WINAPI _xClone(_ADORecordset **ppvObject) = 0;
   2112     virtual HRESULT WINAPI UpdateBatch(AffectEnum AffectRecords = adAffectAll) = 0;
   2113     virtual HRESULT WINAPI CancelBatch(AffectEnum AffectRecords = adAffectAll) = 0;
   2114     virtual HRESULT WINAPI get_CursorLocation(CursorLocationEnum *plCursorLoc) = 0;
   2115     virtual HRESULT WINAPI put_CursorLocation(CursorLocationEnum lCursorLoc) = 0;
   2116     virtual HRESULT WINAPI NextRecordset(VARIANT *RecordsAffected,_ADORecordset **ppiRs) = 0;
   2117     virtual HRESULT WINAPI Supports(CursorOptionEnum CursorOptions,VARIANT_BOOL *pb) = 0;
   2118     virtual HRESULT WINAPI get_Collect(VARIANT Index,VARIANT *pvar) = 0;
   2119     virtual HRESULT WINAPI put_Collect(VARIANT Index,VARIANT value) = 0;
   2120     virtual HRESULT WINAPI get_MarshalOptions(MarshalOptionsEnum *peMarshal) = 0;
   2121     virtual HRESULT WINAPI put_MarshalOptions(MarshalOptionsEnum eMarshal) = 0;
   2122     virtual HRESULT WINAPI Find(BSTR Criteria,ADO_LONGPTR SkipRecords,SearchDirectionEnum SearchDirection,VARIANT Start) = 0;
   2123   };
   2124 #else
   2125   typedef struct Recordset15Vtbl {
   2126     BEGIN_INTERFACE
   2127       HRESULT (WINAPI *QueryInterface)(Recordset15 *This,REFIID riid,void **ppvObject);
   2128       ULONG (WINAPI *AddRef)(Recordset15 *This);
   2129       ULONG (WINAPI *Release)(Recordset15 *This);
   2130       HRESULT (WINAPI *GetTypeInfoCount)(Recordset15 *This,UINT *pctinfo);
   2131       HRESULT (WINAPI *GetTypeInfo)(Recordset15 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2132       HRESULT (WINAPI *GetIDsOfNames)(Recordset15 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2133       HRESULT (WINAPI *Invoke)(Recordset15 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2134       HRESULT (WINAPI *get_Properties)(Recordset15 *This,ADOProperties **ppvObject);
   2135       HRESULT (WINAPI *get_AbsolutePosition)(Recordset15 *This,PositionEnum_Param *pl);
   2136       HRESULT (WINAPI *put_AbsolutePosition)(Recordset15 *This,PositionEnum_Param Position);
   2137       HRESULT (WINAPI *putref_ActiveADOConnection)(Recordset15 *This,IDispatch *pconn);
   2138       HRESULT (WINAPI *put_ActiveConnection)(Recordset15 *This,VARIANT vConn);
   2139       HRESULT (WINAPI *get_ActiveConnection)(Recordset15 *This,VARIANT *pvar);
   2140       HRESULT (WINAPI *get_BOF)(Recordset15 *This,VARIANT_BOOL *pb);
   2141       HRESULT (WINAPI *get_Bookmark)(Recordset15 *This,VARIANT *pvBookmark);
   2142       HRESULT (WINAPI *put_Bookmark)(Recordset15 *This,VARIANT vBookmark);
   2143       HRESULT (WINAPI *get_CacheSize)(Recordset15 *This,__LONG32 *pl);
   2144       HRESULT (WINAPI *put_CacheSize)(Recordset15 *This,__LONG32 CacheSize);
   2145       HRESULT (WINAPI *get_CursorType)(Recordset15 *This,CursorTypeEnum *plCursorType);
   2146       HRESULT (WINAPI *put_CursorType)(Recordset15 *This,CursorTypeEnum lCursorType);
   2147       HRESULT (WINAPI *get_EOF)(Recordset15 *This,VARIANT_BOOL *pb);
   2148       HRESULT (WINAPI *get_Fields)(Recordset15 *This,ADOFields **ppvObject);
   2149       HRESULT (WINAPI *get_LockType)(Recordset15 *This,LockTypeEnum *plLockType);
   2150       HRESULT (WINAPI *put_LockType)(Recordset15 *This,LockTypeEnum lLockType);
   2151       HRESULT (WINAPI *get_MaxRecords)(Recordset15 *This,ADO_LONGPTR *plMaxRecords);
   2152       HRESULT (WINAPI *put_MaxRecords)(Recordset15 *This,ADO_LONGPTR lMaxRecords);
   2153       HRESULT (WINAPI *get_RecordCount)(Recordset15 *This,ADO_LONGPTR *pl);
   2154       HRESULT (WINAPI *putref_Source)(Recordset15 *This,IDispatch *pcmd);
   2155       HRESULT (WINAPI *put_Source)(Recordset15 *This,BSTR bstrConn);
   2156       HRESULT (WINAPI *get_Source)(Recordset15 *This,VARIANT *pvSource);
   2157       HRESULT (WINAPI *AddNew)(Recordset15 *This,VARIANT FieldList,VARIANT Values);
   2158       HRESULT (WINAPI *CancelUpdate)(Recordset15 *This);
   2159       HRESULT (WINAPI *Close)(Recordset15 *This);
   2160       HRESULT (WINAPI *Delete)(Recordset15 *This,AffectEnum AffectRecords);
   2161       HRESULT (WINAPI *GetRows)(Recordset15 *This,__LONG32 Rows,VARIANT Start,VARIANT Fields,VARIANT *pvar);
   2162       HRESULT (WINAPI *Move)(Recordset15 *This,ADO_LONGPTR NumRecords,VARIANT Start);
   2163       HRESULT (WINAPI *MoveNext)(Recordset15 *This);
   2164       HRESULT (WINAPI *MovePrevious)(Recordset15 *This);
   2165       HRESULT (WINAPI *MoveFirst)(Recordset15 *This);
   2166       HRESULT (WINAPI *MoveLast)(Recordset15 *This);
   2167       HRESULT (WINAPI *Open)(Recordset15 *This,VARIANT Source,VARIANT ActiveConnection,CursorTypeEnum CursorType,LockTypeEnum LockType,LONG Options);
   2168       HRESULT (WINAPI *Requery)(Recordset15 *This,LONG Options);
   2169       HRESULT (WINAPI *_xResync)(Recordset15 *This,AffectEnum AffectRecords);
   2170       HRESULT (WINAPI *Update)(Recordset15 *This,VARIANT Fields,VARIANT Values);
   2171       HRESULT (WINAPI *get_AbsolutePage)(Recordset15 *This,PositionEnum_Param *pl);
   2172       HRESULT (WINAPI *put_AbsolutePage)(Recordset15 *This,PositionEnum_Param Page);
   2173       HRESULT (WINAPI *get_EditMode)(Recordset15 *This,EditModeEnum *pl);
   2174       HRESULT (WINAPI *get_Filter)(Recordset15 *This,VARIANT *Criteria);
   2175       HRESULT (WINAPI *put_Filter)(Recordset15 *This,VARIANT Criteria);
   2176       HRESULT (WINAPI *get_PageCount)(Recordset15 *This,ADO_LONGPTR *pl);
   2177       HRESULT (WINAPI *get_PageSize)(Recordset15 *This,__LONG32 *pl);
   2178       HRESULT (WINAPI *put_PageSize)(Recordset15 *This,__LONG32 PageSize);
   2179       HRESULT (WINAPI *get_Sort)(Recordset15 *This,BSTR *Criteria);
   2180       HRESULT (WINAPI *put_Sort)(Recordset15 *This,BSTR Criteria);
   2181       HRESULT (WINAPI *get_Status)(Recordset15 *This,__LONG32 *pl);
   2182       HRESULT (WINAPI *get_State)(Recordset15 *This,LONG *plObjState);
   2183       HRESULT (WINAPI *_xClone)(Recordset15 *This,_ADORecordset **ppvObject);
   2184       HRESULT (WINAPI *UpdateBatch)(Recordset15 *This,AffectEnum AffectRecords);
   2185       HRESULT (WINAPI *CancelBatch)(Recordset15 *This,AffectEnum AffectRecords);
   2186       HRESULT (WINAPI *get_CursorLocation)(Recordset15 *This,CursorLocationEnum *plCursorLoc);
   2187       HRESULT (WINAPI *put_CursorLocation)(Recordset15 *This,CursorLocationEnum lCursorLoc);
   2188       HRESULT (WINAPI *NextADORecordset)(Recordset15 *This,VARIANT *RecordsAffected,_ADORecordset **ppiRs);
   2189       HRESULT (WINAPI *Supports)(Recordset15 *This,CursorOptionEnum CursorOptions,VARIANT_BOOL *pb);
   2190       HRESULT (WINAPI *get_Collect)(Recordset15 *This,VARIANT Index,VARIANT *pvar);
   2191       HRESULT (WINAPI *put_Collect)(Recordset15 *This,VARIANT Index,VARIANT value);
   2192       HRESULT (WINAPI *get_MarshalOptions)(Recordset15 *This,MarshalOptionsEnum *peMarshal);
   2193       HRESULT (WINAPI *put_MarshalOptions)(Recordset15 *This,MarshalOptionsEnum eMarshal);
   2194       HRESULT (WINAPI *Find)(Recordset15 *This,BSTR Criteria,ADO_LONGPTR SkipRecords,SearchDirectionEnum SearchDirection,VARIANT Start);
   2195     END_INTERFACE
   2196   } Recordset15Vtbl;
   2197   struct Recordset15 {
   2198     CONST_VTBL struct Recordset15Vtbl *lpVtbl;
   2199   };
   2200 #ifdef COBJMACROS
   2201 #define Recordset15_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   2202 #define Recordset15_AddRef(This) (This)->lpVtbl -> AddRef(This)
   2203 #define Recordset15_Release(This) (This)->lpVtbl -> Release(This)
   2204 #define Recordset15_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   2205 #define Recordset15_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2206 #define Recordset15_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2207 #define Recordset15_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2208 #define Recordset15_get_Properties(This,ppvObject) (This)->lpVtbl -> get_Properties(This,ppvObject)
   2209 #define Recordset15_get_AbsolutePosition(This,pl) (This)->lpVtbl -> get_AbsolutePosition(This,pl)
   2210 #define Recordset15_put_AbsolutePosition(This,Position) (This)->lpVtbl -> put_AbsolutePosition(This,Position)
   2211 #define Recordset15_putref_ActiveConnection(This,pconn) (This)->lpVtbl -> putref_ActiveConnection(This,pconn)
   2212 #define Recordset15_put_ActiveConnection(This,vConn) (This)->lpVtbl -> put_ActiveConnection(This,vConn)
   2213 #define Recordset15_get_ActiveConnection(This,pvar) (This)->lpVtbl -> get_ActiveConnection(This,pvar)
   2214 #define Recordset15_get_BOF(This,pb) (This)->lpVtbl -> get_BOF(This,pb)
   2215 #define Recordset15_get_Bookmark(This,pvBookmark) (This)->lpVtbl -> get_Bookmark(This,pvBookmark)
   2216 #define Recordset15_put_Bookmark(This,vBookmark) (This)->lpVtbl -> put_Bookmark(This,vBookmark)
   2217 #define Recordset15_get_CacheSize(This,pl) (This)->lpVtbl -> get_CacheSize(This,pl)
   2218 #define Recordset15_put_CacheSize(This,CacheSize) (This)->lpVtbl -> put_CacheSize(This,CacheSize)
   2219 #define Recordset15_get_CursorType(This,plCursorType) (This)->lpVtbl -> get_CursorType(This,plCursorType)
   2220 #define Recordset15_put_CursorType(This,lCursorType) (This)->lpVtbl -> put_CursorType(This,lCursorType)
   2221 #define Recordset15_get_EOF(This,pb) (This)->lpVtbl -> get_EOF(This,pb)
   2222 #define Recordset15_get_Fields(This,ppvObject) (This)->lpVtbl -> get_Fields(This,ppvObject)
   2223 #define Recordset15_get_LockType(This,plLockType) (This)->lpVtbl -> get_LockType(This,plLockType)
   2224 #define Recordset15_put_LockType(This,lLockType) (This)->lpVtbl -> put_LockType(This,lLockType)
   2225 #define Recordset15_get_MaxRecords(This,plMaxRecords) (This)->lpVtbl -> get_MaxRecords(This,plMaxRecords)
   2226 #define Recordset15_put_MaxRecords(This,lMaxRecords) (This)->lpVtbl -> put_MaxRecords(This,lMaxRecords)
   2227 #define Recordset15_get_RecordCount(This,pl) (This)->lpVtbl -> get_RecordCount(This,pl)
   2228 #define Recordset15_putref_Source(This,pcmd) (This)->lpVtbl -> putref_Source(This,pcmd)
   2229 #define Recordset15_put_Source(This,bstrConn) (This)->lpVtbl -> put_Source(This,bstrConn)
   2230 #define Recordset15_get_Source(This,pvSource) (This)->lpVtbl -> get_Source(This,pvSource)
   2231 #define Recordset15_AddNew(This,FieldList,Values) (This)->lpVtbl -> AddNew(This,FieldList,Values)
   2232 #define Recordset15_CancelUpdate(This) (This)->lpVtbl -> CancelUpdate(This)
   2233 #define Recordset15_Close(This) (This)->lpVtbl -> Close(This)
   2234 #define Recordset15_Delete(This,AffectRecords) (This)->lpVtbl -> Delete(This,AffectRecords)
   2235 #define Recordset15_GetRows(This,Rows,Start,Fields,pvar) (This)->lpVtbl -> GetRows(This,Rows,Start,Fields,pvar)
   2236 #define Recordset15_Move(This,NumRecords,Start) (This)->lpVtbl -> Move(This,NumRecords,Start)
   2237 #define Recordset15_MoveNext(This) (This)->lpVtbl -> MoveNext(This)
   2238 #define Recordset15_MovePrevious(This) (This)->lpVtbl -> MovePrevious(This)
   2239 #define Recordset15_MoveFirst(This) (This)->lpVtbl -> MoveFirst(This)
   2240 #define Recordset15_MoveLast(This) (This)->lpVtbl -> MoveLast(This)
   2241 #define Recordset15_Open(This,Source,ActiveConnection,CursorType,LockType,Options) (This)->lpVtbl -> Open(This,Source,ActiveConnection,CursorType,LockType,Options)
   2242 #define Recordset15_Requery(This,Options) (This)->lpVtbl -> Requery(This,Options)
   2243 #define Recordset15__xResync(This,AffectRecords) (This)->lpVtbl -> _xResync(This,AffectRecords)
   2244 #define Recordset15_Update(This,Fields,Values) (This)->lpVtbl -> Update(This,Fields,Values)
   2245 #define Recordset15_get_AbsolutePage(This,pl) (This)->lpVtbl -> get_AbsolutePage(This,pl)
   2246 #define Recordset15_put_AbsolutePage(This,Page) (This)->lpVtbl -> put_AbsolutePage(This,Page)
   2247 #define Recordset15_get_EditMode(This,pl) (This)->lpVtbl -> get_EditMode(This,pl)
   2248 #define Recordset15_get_Filter(This,Criteria) (This)->lpVtbl -> get_Filter(This,Criteria)
   2249 #define Recordset15_put_Filter(This,Criteria) (This)->lpVtbl -> put_Filter(This,Criteria)
   2250 #define Recordset15_get_PageCount(This,pl) (This)->lpVtbl -> get_PageCount(This,pl)
   2251 #define Recordset15_get_PageSize(This,pl) (This)->lpVtbl -> get_PageSize(This,pl)
   2252 #define Recordset15_put_PageSize(This,PageSize) (This)->lpVtbl -> put_PageSize(This,PageSize)
   2253 #define Recordset15_get_Sort(This,Criteria) (This)->lpVtbl -> get_Sort(This,Criteria)
   2254 #define Recordset15_put_Sort(This,Criteria) (This)->lpVtbl -> put_Sort(This,Criteria)
   2255 #define Recordset15_get_Status(This,pl) (This)->lpVtbl -> get_Status(This,pl)
   2256 #define Recordset15_get_State(This,plObjState) (This)->lpVtbl -> get_State(This,plObjState)
   2257 #define Recordset15__xClone(This,ppvObject) (This)->lpVtbl -> _xClone(This,ppvObject)
   2258 #define Recordset15_UpdateBatch(This,AffectRecords) (This)->lpVtbl -> UpdateBatch(This,AffectRecords)
   2259 #define Recordset15_CancelBatch(This,AffectRecords) (This)->lpVtbl -> CancelBatch(This,AffectRecords)
   2260 #define Recordset15_get_CursorLocation(This,plCursorLoc) (This)->lpVtbl -> get_CursorLocation(This,plCursorLoc)
   2261 #define Recordset15_put_CursorLocation(This,lCursorLoc) (This)->lpVtbl -> put_CursorLocation(This,lCursorLoc)
   2262 #define Recordset15_NextRecordset(This,RecordsAffected,ppiRs) (This)->lpVtbl -> NextRecordset(This,RecordsAffected,ppiRs)
   2263 #define Recordset15_Supports(This,CursorOptions,pb) (This)->lpVtbl -> Supports(This,CursorOptions,pb)
   2264 #define Recordset15_get_Collect(This,Index,pvar) (This)->lpVtbl -> get_Collect(This,Index,pvar)
   2265 #define Recordset15_put_Collect(This,Index,value) (This)->lpVtbl -> put_Collect(This,Index,value)
   2266 #define Recordset15_get_MarshalOptions(This,peMarshal) (This)->lpVtbl -> get_MarshalOptions(This,peMarshal)
   2267 #define Recordset15_put_MarshalOptions(This,eMarshal) (This)->lpVtbl -> put_MarshalOptions(This,eMarshal)
   2268 #define Recordset15_Find(This,Criteria,SkipRecords,SearchDirection,Start) (This)->lpVtbl -> Find(This,Criteria,SkipRecords,SearchDirection,Start)
   2269 #endif
   2270 #endif
   2271   HRESULT WINAPI Recordset15_get_AbsolutePosition_Proxy(Recordset15 *This,PositionEnum_Param *pl);
   2272   void __RPC_STUB Recordset15_get_AbsolutePosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2273   HRESULT WINAPI Recordset15_put_AbsolutePosition_Proxy(Recordset15 *This,PositionEnum_Param Position);
   2274   void __RPC_STUB Recordset15_put_AbsolutePosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2275   HRESULT WINAPI Recordset15_putref_ActiveConnection_Proxy(Recordset15 *This,IDispatch *pconn);
   2276   void __RPC_STUB Recordset15_putref_ActiveConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2277   HRESULT WINAPI Recordset15_put_ActiveConnection_Proxy(Recordset15 *This,VARIANT vConn);
   2278   void __RPC_STUB Recordset15_put_ActiveConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2279   HRESULT WINAPI Recordset15_get_ActiveConnection_Proxy(Recordset15 *This,VARIANT *pvar);
   2280   void __RPC_STUB Recordset15_get_ActiveConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2281   HRESULT WINAPI Recordset15_get_BOF_Proxy(Recordset15 *This,VARIANT_BOOL *pb);
   2282   void __RPC_STUB Recordset15_get_BOF_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2283   HRESULT WINAPI Recordset15_get_Bookmark_Proxy(Recordset15 *This,VARIANT *pvBookmark);
   2284   void __RPC_STUB Recordset15_get_Bookmark_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2285   HRESULT WINAPI Recordset15_put_Bookmark_Proxy(Recordset15 *This,VARIANT vBookmark);
   2286   void __RPC_STUB Recordset15_put_Bookmark_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2287   HRESULT WINAPI Recordset15_get_CacheSize_Proxy(Recordset15 *This,__LONG32 *pl);
   2288   void __RPC_STUB Recordset15_get_CacheSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2289   HRESULT WINAPI Recordset15_put_CacheSize_Proxy(Recordset15 *This,__LONG32 CacheSize);
   2290   void __RPC_STUB Recordset15_put_CacheSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2291   HRESULT WINAPI Recordset15_get_CursorType_Proxy(Recordset15 *This,CursorTypeEnum *plCursorType);
   2292   void __RPC_STUB Recordset15_get_CursorType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2293   HRESULT WINAPI Recordset15_put_CursorType_Proxy(Recordset15 *This,CursorTypeEnum lCursorType);
   2294   void __RPC_STUB Recordset15_put_CursorType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2295   HRESULT WINAPI Recordset15_get_EOF_Proxy(Recordset15 *This,VARIANT_BOOL *pb);
   2296   void __RPC_STUB Recordset15_get_EOF_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2297   HRESULT WINAPI Recordset15_get_Fields_Proxy(Recordset15 *This,ADOFields **ppvObject);
   2298   void __RPC_STUB Recordset15_get_Fields_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2299   HRESULT WINAPI Recordset15_get_LockType_Proxy(Recordset15 *This,LockTypeEnum *plLockType);
   2300   void __RPC_STUB Recordset15_get_LockType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2301   HRESULT WINAPI Recordset15_put_LockType_Proxy(Recordset15 *This,LockTypeEnum lLockType);
   2302   void __RPC_STUB Recordset15_put_LockType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2303   HRESULT WINAPI Recordset15_get_MaxRecords_Proxy(Recordset15 *This,ADO_LONGPTR *plMaxRecords);
   2304   void __RPC_STUB Recordset15_get_MaxRecords_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2305   HRESULT WINAPI Recordset15_put_MaxRecords_Proxy(Recordset15 *This,ADO_LONGPTR lMaxRecords);
   2306   void __RPC_STUB Recordset15_put_MaxRecords_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2307   HRESULT WINAPI Recordset15_get_RecordCount_Proxy(Recordset15 *This,ADO_LONGPTR *pl);
   2308   void __RPC_STUB Recordset15_get_RecordCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2309   HRESULT WINAPI Recordset15_putref_Source_Proxy(Recordset15 *This,IDispatch *pcmd);
   2310   void __RPC_STUB Recordset15_putref_Source_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2311   HRESULT WINAPI Recordset15_put_Source_Proxy(Recordset15 *This,BSTR bstrConn);
   2312   void __RPC_STUB Recordset15_put_Source_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2313   HRESULT WINAPI Recordset15_get_Source_Proxy(Recordset15 *This,VARIANT *pvSource);
   2314   void __RPC_STUB Recordset15_get_Source_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2315   HRESULT WINAPI Recordset15_AddNew_Proxy(Recordset15 *This,VARIANT FieldList,VARIANT Values);
   2316   void __RPC_STUB Recordset15_AddNew_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2317   HRESULT WINAPI Recordset15_CancelUpdate_Proxy(Recordset15 *This);
   2318   void __RPC_STUB Recordset15_CancelUpdate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2319   HRESULT WINAPI Recordset15_Close_Proxy(Recordset15 *This);
   2320   void __RPC_STUB Recordset15_Close_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2321   HRESULT WINAPI Recordset15_Delete_Proxy(Recordset15 *This,AffectEnum AffectRecords);
   2322   void __RPC_STUB Recordset15_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2323   HRESULT WINAPI Recordset15_GetRows_Proxy(Recordset15 *This,__LONG32 Rows,VARIANT Start,VARIANT Fields,VARIANT *pvar);
   2324   void __RPC_STUB Recordset15_GetRows_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2325   HRESULT WINAPI Recordset15_Move_Proxy(Recordset15 *This,ADO_LONGPTR NumRecords,VARIANT Start);
   2326   void __RPC_STUB Recordset15_Move_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2327   HRESULT WINAPI Recordset15_MoveNext_Proxy(Recordset15 *This);
   2328   void __RPC_STUB Recordset15_MoveNext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2329   HRESULT WINAPI Recordset15_MovePrevious_Proxy(Recordset15 *This);
   2330   void __RPC_STUB Recordset15_MovePrevious_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2331   HRESULT WINAPI Recordset15_MoveFirst_Proxy(Recordset15 *This);
   2332   void __RPC_STUB Recordset15_MoveFirst_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2333   HRESULT WINAPI Recordset15_MoveLast_Proxy(Recordset15 *This);
   2334   void __RPC_STUB Recordset15_MoveLast_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2335   HRESULT WINAPI Recordset15_Open_Proxy(Recordset15 *This,VARIANT Source,VARIANT ActiveConnection,CursorTypeEnum CursorType,LockTypeEnum LockType,LONG Options);
   2336   void __RPC_STUB Recordset15_Open_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2337   HRESULT WINAPI Recordset15_Requery_Proxy(Recordset15 *This,LONG Options);
   2338   void __RPC_STUB Recordset15_Requery_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2339   HRESULT WINAPI Recordset15__xResync_Proxy(Recordset15 *This,AffectEnum AffectRecords);
   2340   void __RPC_STUB Recordset15__xResync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2341   HRESULT WINAPI Recordset15_Update_Proxy(Recordset15 *This,VARIANT Fields,VARIANT Values);
   2342   void __RPC_STUB Recordset15_Update_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2343   HRESULT WINAPI Recordset15_get_AbsolutePage_Proxy(Recordset15 *This,PositionEnum_Param *pl);
   2344   void __RPC_STUB Recordset15_get_AbsolutePage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2345   HRESULT WINAPI Recordset15_put_AbsolutePage_Proxy(Recordset15 *This,PositionEnum_Param Page);
   2346   void __RPC_STUB Recordset15_put_AbsolutePage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2347   HRESULT WINAPI Recordset15_get_EditMode_Proxy(Recordset15 *This,EditModeEnum *pl);
   2348   void __RPC_STUB Recordset15_get_EditMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2349   HRESULT WINAPI Recordset15_get_Filter_Proxy(Recordset15 *This,VARIANT *Criteria);
   2350   void __RPC_STUB Recordset15_get_Filter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2351   HRESULT WINAPI Recordset15_put_Filter_Proxy(Recordset15 *This,VARIANT Criteria);
   2352   void __RPC_STUB Recordset15_put_Filter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2353   HRESULT WINAPI Recordset15_get_PageCount_Proxy(Recordset15 *This,ADO_LONGPTR *pl);
   2354   void __RPC_STUB Recordset15_get_PageCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2355   HRESULT WINAPI Recordset15_get_PageSize_Proxy(Recordset15 *This,__LONG32 *pl);
   2356   void __RPC_STUB Recordset15_get_PageSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2357   HRESULT WINAPI Recordset15_put_PageSize_Proxy(Recordset15 *This,__LONG32 PageSize);
   2358   void __RPC_STUB Recordset15_put_PageSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2359   HRESULT WINAPI Recordset15_get_Sort_Proxy(Recordset15 *This,BSTR *Criteria);
   2360   void __RPC_STUB Recordset15_get_Sort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2361   HRESULT WINAPI Recordset15_put_Sort_Proxy(Recordset15 *This,BSTR Criteria);
   2362   void __RPC_STUB Recordset15_put_Sort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2363   HRESULT WINAPI Recordset15_get_Status_Proxy(Recordset15 *This,__LONG32 *pl);
   2364   void __RPC_STUB Recordset15_get_Status_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2365   HRESULT WINAPI Recordset15_get_State_Proxy(Recordset15 *This,LONG *plObjState);
   2366   void __RPC_STUB Recordset15_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2367   HRESULT WINAPI Recordset15__xClone_Proxy(Recordset15 *This,_ADORecordset **ppvObject);
   2368   void __RPC_STUB Recordset15__xClone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2369   HRESULT WINAPI Recordset15_UpdateBatch_Proxy(Recordset15 *This,AffectEnum AffectRecords);
   2370   void __RPC_STUB Recordset15_UpdateBatch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2371   HRESULT WINAPI Recordset15_CancelBatch_Proxy(Recordset15 *This,AffectEnum AffectRecords);
   2372   void __RPC_STUB Recordset15_CancelBatch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2373   HRESULT WINAPI Recordset15_get_CursorLocation_Proxy(Recordset15 *This,CursorLocationEnum *plCursorLoc);
   2374   void __RPC_STUB Recordset15_get_CursorLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2375   HRESULT WINAPI Recordset15_put_CursorLocation_Proxy(Recordset15 *This,CursorLocationEnum lCursorLoc);
   2376   void __RPC_STUB Recordset15_put_CursorLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2377   HRESULT WINAPI Recordset15_NextRecordset_Proxy(Recordset15 *This,VARIANT *RecordsAffected,_ADORecordset **ppiRs);
   2378   void __RPC_STUB Recordset15_NextRecordset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2379   HRESULT WINAPI Recordset15_Supports_Proxy(Recordset15 *This,CursorOptionEnum CursorOptions,VARIANT_BOOL *pb);
   2380   void __RPC_STUB Recordset15_Supports_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2381   HRESULT WINAPI Recordset15_get_Collect_Proxy(Recordset15 *This,VARIANT Index,VARIANT *pvar);
   2382   void __RPC_STUB Recordset15_get_Collect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2383   HRESULT WINAPI Recordset15_put_Collect_Proxy(Recordset15 *This,VARIANT Index,VARIANT value);
   2384   void __RPC_STUB Recordset15_put_Collect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2385   HRESULT WINAPI Recordset15_get_MarshalOptions_Proxy(Recordset15 *This,MarshalOptionsEnum *peMarshal);
   2386   void __RPC_STUB Recordset15_get_MarshalOptions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2387   HRESULT WINAPI Recordset15_put_MarshalOptions_Proxy(Recordset15 *This,MarshalOptionsEnum eMarshal);
   2388   void __RPC_STUB Recordset15_put_MarshalOptions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2389   HRESULT WINAPI Recordset15_Find_Proxy(Recordset15 *This,BSTR Criteria,ADO_LONGPTR SkipRecords,SearchDirectionEnum SearchDirection,VARIANT Start);
   2390   void __RPC_STUB Recordset15_Find_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2391 #endif
   2392 
   2393 #ifndef __Recordset20_INTERFACE_DEFINED__
   2394 #define __Recordset20_INTERFACE_DEFINED__
   2395   EXTERN_C const IID IID_Recordset20;
   2396 #if defined(__cplusplus) && !defined(CINTERFACE)
   2397   struct Recordset20 : public Recordset15 {
   2398   public:
   2399     virtual HRESULT WINAPI Cancel(void) = 0;
   2400     virtual HRESULT WINAPI get_DataSource(IUnknown **ppunkDataSource) = 0;
   2401     virtual HRESULT WINAPI putref_DataSource(IUnknown *punkDataSource) = 0;
   2402     virtual HRESULT WINAPI _xSave(BSTR FileName = NULL,PersistFormatEnum PersistFormat = adPersistADTG) = 0;
   2403     virtual HRESULT WINAPI get_ActiveCommand(IDispatch **ppCmd) = 0;
   2404     virtual HRESULT WINAPI put_StayInSync(VARIANT_BOOL bStayInSync) = 0;
   2405     virtual HRESULT WINAPI get_StayInSync(VARIANT_BOOL *pbStayInSync) = 0;
   2406     virtual HRESULT WINAPI GetString(StringFormatEnum StringFormat,__LONG32 NumRows,BSTR ColumnDelimeter,BSTR RowDelimeter,BSTR NullExpr,BSTR *pRetString) = 0;
   2407     virtual HRESULT WINAPI get_DataMember(BSTR *pbstrDataMember) = 0;
   2408     virtual HRESULT WINAPI put_DataMember(BSTR bstrDataMember) = 0;
   2409     virtual HRESULT WINAPI CompareBookmarks(VARIANT Bookmark1,VARIANT Bookmark2,CompareEnum *pCompare) = 0;
   2410     virtual HRESULT WINAPI Clone(LockTypeEnum LockType,_ADORecordset **ppvObject) = 0;
   2411     virtual HRESULT WINAPI Resync(AffectEnum AffectRecords = adAffectAll,ResyncEnum ResyncValues = adResyncAllValues) = 0;
   2412   };
   2413 #else
   2414   typedef struct Recordset20Vtbl {
   2415     BEGIN_INTERFACE
   2416       HRESULT (WINAPI *QueryInterface)(Recordset20 *This,REFIID riid,void **ppvObject);
   2417       ULONG (WINAPI *AddRef)(Recordset20 *This);
   2418       ULONG (WINAPI *Release)(Recordset20 *This);
   2419       HRESULT (WINAPI *GetTypeInfoCount)(Recordset20 *This,UINT *pctinfo);
   2420       HRESULT (WINAPI *GetTypeInfo)(Recordset20 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2421       HRESULT (WINAPI *GetIDsOfNames)(Recordset20 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2422       HRESULT (WINAPI *Invoke)(Recordset20 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2423       HRESULT (WINAPI *get_Properties)(Recordset20 *This,ADOProperties **ppvObject);
   2424       HRESULT (WINAPI *get_AbsolutePosition)(Recordset20 *This,PositionEnum_Param *pl);
   2425       HRESULT (WINAPI *put_AbsolutePosition)(Recordset20 *This,PositionEnum_Param Position);
   2426       HRESULT (WINAPI *putref_ActiveADOConnection)(Recordset20 *This,IDispatch *pconn);
   2427       HRESULT (WINAPI *put_ActiveConnection)(Recordset20 *This,VARIANT vConn);
   2428       HRESULT (WINAPI *get_ActiveConnection)(Recordset20 *This,VARIANT *pvar);
   2429       HRESULT (WINAPI *get_BOF)(Recordset20 *This,VARIANT_BOOL *pb);
   2430       HRESULT (WINAPI *get_Bookmark)(Recordset20 *This,VARIANT *pvBookmark);
   2431       HRESULT (WINAPI *put_Bookmark)(Recordset20 *This,VARIANT vBookmark);
   2432       HRESULT (WINAPI *get_CacheSize)(Recordset20 *This,__LONG32 *pl);
   2433       HRESULT (WINAPI *put_CacheSize)(Recordset20 *This,__LONG32 CacheSize);
   2434       HRESULT (WINAPI *get_CursorType)(Recordset20 *This,CursorTypeEnum *plCursorType);
   2435       HRESULT (WINAPI *put_CursorType)(Recordset20 *This,CursorTypeEnum lCursorType);
   2436       HRESULT (WINAPI *get_EOF)(Recordset20 *This,VARIANT_BOOL *pb);
   2437       HRESULT (WINAPI *get_Fields)(Recordset20 *This,ADOFields **ppvObject);
   2438       HRESULT (WINAPI *get_LockType)(Recordset20 *This,LockTypeEnum *plLockType);
   2439       HRESULT (WINAPI *put_LockType)(Recordset20 *This,LockTypeEnum lLockType);
   2440       HRESULT (WINAPI *get_MaxRecords)(Recordset20 *This,ADO_LONGPTR *plMaxRecords);
   2441       HRESULT (WINAPI *put_MaxRecords)(Recordset20 *This,ADO_LONGPTR lMaxRecords);
   2442       HRESULT (WINAPI *get_RecordCount)(Recordset20 *This,ADO_LONGPTR *pl);
   2443       HRESULT (WINAPI *putref_Source)(Recordset20 *This,IDispatch *pcmd);
   2444       HRESULT (WINAPI *put_Source)(Recordset20 *This,BSTR bstrConn);
   2445       HRESULT (WINAPI *get_Source)(Recordset20 *This,VARIANT *pvSource);
   2446       HRESULT (WINAPI *AddNew)(Recordset20 *This,VARIANT FieldList,VARIANT Values);
   2447       HRESULT (WINAPI *CancelUpdate)(Recordset20 *This);
   2448       HRESULT (WINAPI *Close)(Recordset20 *This);
   2449       HRESULT (WINAPI *Delete)(Recordset20 *This,AffectEnum AffectRecords);
   2450       HRESULT (WINAPI *GetRows)(Recordset20 *This,__LONG32 Rows,VARIANT Start,VARIANT Fields,VARIANT *pvar);
   2451       HRESULT (WINAPI *Move)(Recordset20 *This,ADO_LONGPTR NumRecords,VARIANT Start);
   2452       HRESULT (WINAPI *MoveNext)(Recordset20 *This);
   2453       HRESULT (WINAPI *MovePrevious)(Recordset20 *This);
   2454       HRESULT (WINAPI *MoveFirst)(Recordset20 *This);
   2455       HRESULT (WINAPI *MoveLast)(Recordset20 *This);
   2456       HRESULT (WINAPI *Open)(Recordset20 *This,VARIANT Source,VARIANT ActiveConnection,CursorTypeEnum CursorType,LockTypeEnum LockType,LONG Options);
   2457       HRESULT (WINAPI *Requery)(Recordset20 *This,LONG Options);
   2458       HRESULT (WINAPI *_xResync)(Recordset20 *This,AffectEnum AffectRecords);
   2459       HRESULT (WINAPI *Update)(Recordset20 *This,VARIANT Fields,VARIANT Values);
   2460       HRESULT (WINAPI *get_AbsolutePage)(Recordset20 *This,PositionEnum_Param *pl);
   2461       HRESULT (WINAPI *put_AbsolutePage)(Recordset20 *This,PositionEnum_Param Page);
   2462       HRESULT (WINAPI *get_EditMode)(Recordset20 *This,EditModeEnum *pl);
   2463       HRESULT (WINAPI *get_Filter)(Recordset20 *This,VARIANT *Criteria);
   2464       HRESULT (WINAPI *put_Filter)(Recordset20 *This,VARIANT Criteria);
   2465       HRESULT (WINAPI *get_PageCount)(Recordset20 *This,ADO_LONGPTR *pl);
   2466       HRESULT (WINAPI *get_PageSize)(Recordset20 *This,__LONG32 *pl);
   2467       HRESULT (WINAPI *put_PageSize)(Recordset20 *This,__LONG32 PageSize);
   2468       HRESULT (WINAPI *get_Sort)(Recordset20 *This,BSTR *Criteria);
   2469       HRESULT (WINAPI *put_Sort)(Recordset20 *This,BSTR Criteria);
   2470       HRESULT (WINAPI *get_Status)(Recordset20 *This,__LONG32 *pl);
   2471       HRESULT (WINAPI *get_State)(Recordset20 *This,LONG *plObjState);
   2472       HRESULT (WINAPI *_xClone)(Recordset20 *This,_ADORecordset **ppvObject);
   2473       HRESULT (WINAPI *UpdateBatch)(Recordset20 *This,AffectEnum AffectRecords);
   2474       HRESULT (WINAPI *CancelBatch)(Recordset20 *This,AffectEnum AffectRecords);
   2475       HRESULT (WINAPI *get_CursorLocation)(Recordset20 *This,CursorLocationEnum *plCursorLoc);
   2476       HRESULT (WINAPI *put_CursorLocation)(Recordset20 *This,CursorLocationEnum lCursorLoc);
   2477       HRESULT (WINAPI *NextADORecordset)(Recordset20 *This,VARIANT *RecordsAffected,_ADORecordset **ppiRs);
   2478       HRESULT (WINAPI *Supports)(Recordset20 *This,CursorOptionEnum CursorOptions,VARIANT_BOOL *pb);
   2479       HRESULT (WINAPI *get_Collect)(Recordset20 *This,VARIANT Index,VARIANT *pvar);
   2480       HRESULT (WINAPI *put_Collect)(Recordset20 *This,VARIANT Index,VARIANT value);
   2481       HRESULT (WINAPI *get_MarshalOptions)(Recordset20 *This,MarshalOptionsEnum *peMarshal);
   2482       HRESULT (WINAPI *put_MarshalOptions)(Recordset20 *This,MarshalOptionsEnum eMarshal);
   2483       HRESULT (WINAPI *Find)(Recordset20 *This,BSTR Criteria,ADO_LONGPTR SkipRecords,SearchDirectionEnum SearchDirection,VARIANT Start);
   2484       HRESULT (WINAPI *Cancel)(Recordset20 *This);
   2485       HRESULT (WINAPI *get_DataSource)(Recordset20 *This,IUnknown **ppunkDataSource);
   2486       HRESULT (WINAPI *putref_DataSource)(Recordset20 *This,IUnknown *punkDataSource);
   2487       HRESULT (WINAPI *_xSave)(Recordset20 *This,BSTR FileName,PersistFormatEnum PersistFormat);
   2488       HRESULT (WINAPI *get_ActiveCommand)(Recordset20 *This,IDispatch **ppCmd);
   2489       HRESULT (WINAPI *put_StayInSync)(Recordset20 *This,VARIANT_BOOL bStayInSync);
   2490       HRESULT (WINAPI *get_StayInSync)(Recordset20 *This,VARIANT_BOOL *pbStayInSync);
   2491       HRESULT (WINAPI *GetString)(Recordset20 *This,StringFormatEnum StringFormat,__LONG32 NumRows,BSTR ColumnDelimeter,BSTR RowDelimeter,BSTR NullExpr,BSTR *pRetString);
   2492       HRESULT (WINAPI *get_DataMember)(Recordset20 *This,BSTR *pbstrDataMember);
   2493       HRESULT (WINAPI *put_DataMember)(Recordset20 *This,BSTR bstrDataMember);
   2494       HRESULT (WINAPI *CompareBookmarks)(Recordset20 *This,VARIANT Bookmark1,VARIANT Bookmark2,CompareEnum *pCompare);
   2495       HRESULT (WINAPI *Clone)(Recordset20 *This,LockTypeEnum LockType,_ADORecordset **ppvObject);
   2496       HRESULT (WINAPI *Resync)(Recordset20 *This,AffectEnum AffectRecords,ResyncEnum ResyncValues);
   2497     END_INTERFACE
   2498   } Recordset20Vtbl;
   2499   struct Recordset20 {
   2500     CONST_VTBL struct Recordset20Vtbl *lpVtbl;
   2501   };
   2502 #ifdef COBJMACROS
   2503 #define Recordset20_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   2504 #define Recordset20_AddRef(This) (This)->lpVtbl -> AddRef(This)
   2505 #define Recordset20_Release(This) (This)->lpVtbl -> Release(This)
   2506 #define Recordset20_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   2507 #define Recordset20_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2508 #define Recordset20_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2509 #define Recordset20_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2510 #define Recordset20_get_Properties(This,ppvObject) (This)->lpVtbl -> get_Properties(This,ppvObject)
   2511 #define Recordset20_get_AbsolutePosition(This,pl) (This)->lpVtbl -> get_AbsolutePosition(This,pl)
   2512 #define Recordset20_put_AbsolutePosition(This,Position) (This)->lpVtbl -> put_AbsolutePosition(This,Position)
   2513 #define Recordset20_putref_ActiveConnection(This,pconn) (This)->lpVtbl -> putref_ActiveConnection(This,pconn)
   2514 #define Recordset20_put_ActiveConnection(This,vConn) (This)->lpVtbl -> put_ActiveConnection(This,vConn)
   2515 #define Recordset20_get_ActiveConnection(This,pvar) (This)->lpVtbl -> get_ActiveConnection(This,pvar)
   2516 #define Recordset20_get_BOF(This,pb) (This)->lpVtbl -> get_BOF(This,pb)
   2517 #define Recordset20_get_Bookmark(This,pvBookmark) (This)->lpVtbl -> get_Bookmark(This,pvBookmark)
   2518 #define Recordset20_put_Bookmark(This,vBookmark) (This)->lpVtbl -> put_Bookmark(This,vBookmark)
   2519 #define Recordset20_get_CacheSize(This,pl) (This)->lpVtbl -> get_CacheSize(This,pl)
   2520 #define Recordset20_put_CacheSize(This,CacheSize) (This)->lpVtbl -> put_CacheSize(This,CacheSize)
   2521 #define Recordset20_get_CursorType(This,plCursorType) (This)->lpVtbl -> get_CursorType(This,plCursorType)
   2522 #define Recordset20_put_CursorType(This,lCursorType) (This)->lpVtbl -> put_CursorType(This,lCursorType)
   2523 #define Recordset20_get_EOF(This,pb) (This)->lpVtbl -> get_EOF(This,pb)
   2524 #define Recordset20_get_Fields(This,ppvObject) (This)->lpVtbl -> get_Fields(This,ppvObject)
   2525 #define Recordset20_get_LockType(This,plLockType) (This)->lpVtbl -> get_LockType(This,plLockType)
   2526 #define Recordset20_put_LockType(This,lLockType) (This)->lpVtbl -> put_LockType(This,lLockType)
   2527 #define Recordset20_get_MaxRecords(This,plMaxRecords) (This)->lpVtbl -> get_MaxRecords(This,plMaxRecords)
   2528 #define Recordset20_put_MaxRecords(This,lMaxRecords) (This)->lpVtbl -> put_MaxRecords(This,lMaxRecords)
   2529 #define Recordset20_get_RecordCount(This,pl) (This)->lpVtbl -> get_RecordCount(This,pl)
   2530 #define Recordset20_putref_Source(This,pcmd) (This)->lpVtbl -> putref_Source(This,pcmd)
   2531 #define Recordset20_put_Source(This,bstrConn) (This)->lpVtbl -> put_Source(This,bstrConn)
   2532 #define Recordset20_get_Source(This,pvSource) (This)->lpVtbl -> get_Source(This,pvSource)
   2533 #define Recordset20_AddNew(This,FieldList,Values) (This)->lpVtbl -> AddNew(This,FieldList,Values)
   2534 #define Recordset20_CancelUpdate(This) (This)->lpVtbl -> CancelUpdate(This)
   2535 #define Recordset20_Close(This) (This)->lpVtbl -> Close(This)
   2536 #define Recordset20_Delete(This,AffectRecords) (This)->lpVtbl -> Delete(This,AffectRecords)
   2537 #define Recordset20_GetRows(This,Rows,Start,Fields,pvar) (This)->lpVtbl -> GetRows(This,Rows,Start,Fields,pvar)
   2538 #define Recordset20_Move(This,NumRecords,Start) (This)->lpVtbl -> Move(This,NumRecords,Start)
   2539 #define Recordset20_MoveNext(This) (This)->lpVtbl -> MoveNext(This)
   2540 #define Recordset20_MovePrevious(This) (This)->lpVtbl -> MovePrevious(This)
   2541 #define Recordset20_MoveFirst(This) (This)->lpVtbl -> MoveFirst(This)
   2542 #define Recordset20_MoveLast(This) (This)->lpVtbl -> MoveLast(This)
   2543 #define Recordset20_Open(This,Source,ActiveConnection,CursorType,LockType,Options) (This)->lpVtbl -> Open(This,Source,ActiveConnection,CursorType,LockType,Options)
   2544 #define Recordset20_Requery(This,Options) (This)->lpVtbl -> Requery(This,Options)
   2545 #define Recordset20__xResync(This,AffectRecords) (This)->lpVtbl -> _xResync(This,AffectRecords)
   2546 #define Recordset20_Update(This,Fields,Values) (This)->lpVtbl -> Update(This,Fields,Values)
   2547 #define Recordset20_get_AbsolutePage(This,pl) (This)->lpVtbl -> get_AbsolutePage(This,pl)
   2548 #define Recordset20_put_AbsolutePage(This,Page) (This)->lpVtbl -> put_AbsolutePage(This,Page)
   2549 #define Recordset20_get_EditMode(This,pl) (This)->lpVtbl -> get_EditMode(This,pl)
   2550 #define Recordset20_get_Filter(This,Criteria) (This)->lpVtbl -> get_Filter(This,Criteria)
   2551 #define Recordset20_put_Filter(This,Criteria) (This)->lpVtbl -> put_Filter(This,Criteria)
   2552 #define Recordset20_get_PageCount(This,pl) (This)->lpVtbl -> get_PageCount(This,pl)
   2553 #define Recordset20_get_PageSize(This,pl) (This)->lpVtbl -> get_PageSize(This,pl)
   2554 #define Recordset20_put_PageSize(This,PageSize) (This)->lpVtbl -> put_PageSize(This,PageSize)
   2555 #define Recordset20_get_Sort(This,Criteria) (This)->lpVtbl -> get_Sort(This,Criteria)
   2556 #define Recordset20_put_Sort(This,Criteria) (This)->lpVtbl -> put_Sort(This,Criteria)
   2557 #define Recordset20_get_Status(This,pl) (This)->lpVtbl -> get_Status(This,pl)
   2558 #define Recordset20_get_State(This,plObjState) (This)->lpVtbl -> get_State(This,plObjState)
   2559 #define Recordset20__xClone(This,ppvObject) (This)->lpVtbl -> _xClone(This,ppvObject)
   2560 #define Recordset20_UpdateBatch(This,AffectRecords) (This)->lpVtbl -> UpdateBatch(This,AffectRecords)
   2561 #define Recordset20_CancelBatch(This,AffectRecords) (This)->lpVtbl -> CancelBatch(This,AffectRecords)
   2562 #define Recordset20_get_CursorLocation(This,plCursorLoc) (This)->lpVtbl -> get_CursorLocation(This,plCursorLoc)
   2563 #define Recordset20_put_CursorLocation(This,lCursorLoc) (This)->lpVtbl -> put_CursorLocation(This,lCursorLoc)
   2564 #define Recordset20_NextRecordset(This,RecordsAffected,ppiRs) (This)->lpVtbl -> NextRecordset(This,RecordsAffected,ppiRs)
   2565 #define Recordset20_Supports(This,CursorOptions,pb) (This)->lpVtbl -> Supports(This,CursorOptions,pb)
   2566 #define Recordset20_get_Collect(This,Index,pvar) (This)->lpVtbl -> get_Collect(This,Index,pvar)
   2567 #define Recordset20_put_Collect(This,Index,value) (This)->lpVtbl -> put_Collect(This,Index,value)
   2568 #define Recordset20_get_MarshalOptions(This,peMarshal) (This)->lpVtbl -> get_MarshalOptions(This,peMarshal)
   2569 #define Recordset20_put_MarshalOptions(This,eMarshal) (This)->lpVtbl -> put_MarshalOptions(This,eMarshal)
   2570 #define Recordset20_Find(This,Criteria,SkipRecords,SearchDirection,Start) (This)->lpVtbl -> Find(This,Criteria,SkipRecords,SearchDirection,Start)
   2571 #define Recordset20_Cancel(This) (This)->lpVtbl -> Cancel(This)
   2572 #define Recordset20_get_DataSource(This,ppunkDataSource) (This)->lpVtbl -> get_DataSource(This,ppunkDataSource)
   2573 #define Recordset20_putref_DataSource(This,punkDataSource) (This)->lpVtbl -> putref_DataSource(This,punkDataSource)
   2574 #define Recordset20__xSave(This,FileName,PersistFormat) (This)->lpVtbl -> _xSave(This,FileName,PersistFormat)
   2575 #define Recordset20_get_ActiveCommand(This,ppCmd) (This)->lpVtbl -> get_ActiveCommand(This,ppCmd)
   2576 #define Recordset20_put_StayInSync(This,bStayInSync) (This)->lpVtbl -> put_StayInSync(This,bStayInSync)
   2577 #define Recordset20_get_StayInSync(This,pbStayInSync) (This)->lpVtbl -> get_StayInSync(This,pbStayInSync)
   2578 #define Recordset20_GetString(This,StringFormat,NumRows,ColumnDelimeter,RowDelimeter,NullExpr,pRetString) (This)->lpVtbl -> GetString(This,StringFormat,NumRows,ColumnDelimeter,RowDelimeter,NullExpr,pRetString)
   2579 #define Recordset20_get_DataMember(This,pbstrDataMember) (This)->lpVtbl -> get_DataMember(This,pbstrDataMember)
   2580 #define Recordset20_put_DataMember(This,bstrDataMember) (This)->lpVtbl -> put_DataMember(This,bstrDataMember)
   2581 #define Recordset20_CompareBookmarks(This,Bookmark1,Bookmark2,pCompare) (This)->lpVtbl -> CompareBookmarks(This,Bookmark1,Bookmark2,pCompare)
   2582 #define Recordset20_Clone(This,LockType,ppvObject) (This)->lpVtbl -> Clone(This,LockType,ppvObject)
   2583 #define Recordset20_Resync(This,AffectRecords,ResyncValues) (This)->lpVtbl -> Resync(This,AffectRecords,ResyncValues)
   2584 #endif
   2585 #endif
   2586   HRESULT WINAPI Recordset20_Cancel_Proxy(Recordset20 *This);
   2587   void __RPC_STUB Recordset20_Cancel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2588   HRESULT WINAPI Recordset20_get_DataSource_Proxy(Recordset20 *This,IUnknown **ppunkDataSource);
   2589   void __RPC_STUB Recordset20_get_DataSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2590   HRESULT WINAPI Recordset20_putref_DataSource_Proxy(Recordset20 *This,IUnknown *punkDataSource);
   2591   void __RPC_STUB Recordset20_putref_DataSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2592   HRESULT WINAPI Recordset20__xSave_Proxy(Recordset20 *This,BSTR FileName,PersistFormatEnum PersistFormat);
   2593   void __RPC_STUB Recordset20__xSave_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2594   HRESULT WINAPI Recordset20_get_ActiveCommand_Proxy(Recordset20 *This,IDispatch **ppCmd);
   2595   void __RPC_STUB Recordset20_get_ActiveCommand_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2596   HRESULT WINAPI Recordset20_put_StayInSync_Proxy(Recordset20 *This,VARIANT_BOOL bStayInSync);
   2597   void __RPC_STUB Recordset20_put_StayInSync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2598   HRESULT WINAPI Recordset20_get_StayInSync_Proxy(Recordset20 *This,VARIANT_BOOL *pbStayInSync);
   2599   void __RPC_STUB Recordset20_get_StayInSync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2600   HRESULT WINAPI Recordset20_GetString_Proxy(Recordset20 *This,StringFormatEnum StringFormat,__LONG32 NumRows,BSTR ColumnDelimeter,BSTR RowDelimeter,BSTR NullExpr,BSTR *pRetString);
   2601   void __RPC_STUB Recordset20_GetString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2602   HRESULT WINAPI Recordset20_get_DataMember_Proxy(Recordset20 *This,BSTR *pbstrDataMember);
   2603   void __RPC_STUB Recordset20_get_DataMember_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2604   HRESULT WINAPI Recordset20_put_DataMember_Proxy(Recordset20 *This,BSTR bstrDataMember);
   2605   void __RPC_STUB Recordset20_put_DataMember_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2606   HRESULT WINAPI Recordset20_CompareBookmarks_Proxy(Recordset20 *This,VARIANT Bookmark1,VARIANT Bookmark2,CompareEnum *pCompare);
   2607   void __RPC_STUB Recordset20_CompareBookmarks_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2608   HRESULT WINAPI Recordset20_Clone_Proxy(Recordset20 *This,LockTypeEnum LockType,_ADORecordset **ppvObject);
   2609   void __RPC_STUB Recordset20_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2610   HRESULT WINAPI Recordset20_Resync_Proxy(Recordset20 *This,AffectEnum AffectRecords,ResyncEnum ResyncValues);
   2611   void __RPC_STUB Recordset20_Resync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2612 #endif
   2613 
   2614 #ifndef __Recordset21_INTERFACE_DEFINED__
   2615 #define __Recordset21_INTERFACE_DEFINED__
   2616   EXTERN_C const IID IID_Recordset21;
   2617 #if defined(__cplusplus) && !defined(CINTERFACE)
   2618   struct Recordset21 : public Recordset20 {
   2619   public:
   2620     virtual HRESULT WINAPI Seek(VARIANT KeyValues,SeekEnum SeekOption = adSeekFirstEQ) = 0;
   2621     virtual HRESULT WINAPI put_Index(BSTR Index) = 0;
   2622     virtual HRESULT WINAPI get_Index(BSTR *pbstrIndex) = 0;
   2623   };
   2624 #else
   2625   typedef struct Recordset21Vtbl {
   2626     BEGIN_INTERFACE
   2627       HRESULT (WINAPI *QueryInterface)(Recordset21 *This,REFIID riid,void **ppvObject);
   2628       ULONG (WINAPI *AddRef)(Recordset21 *This);
   2629       ULONG (WINAPI *Release)(Recordset21 *This);
   2630       HRESULT (WINAPI *GetTypeInfoCount)(Recordset21 *This,UINT *pctinfo);
   2631       HRESULT (WINAPI *GetTypeInfo)(Recordset21 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2632       HRESULT (WINAPI *GetIDsOfNames)(Recordset21 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2633       HRESULT (WINAPI *Invoke)(Recordset21 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2634       HRESULT (WINAPI *get_Properties)(Recordset21 *This,ADOProperties **ppvObject);
   2635       HRESULT (WINAPI *get_AbsolutePosition)(Recordset21 *This,PositionEnum_Param *pl);
   2636       HRESULT (WINAPI *put_AbsolutePosition)(Recordset21 *This,PositionEnum_Param Position);
   2637       HRESULT (WINAPI *putref_ActiveADOConnection)(Recordset21 *This,IDispatch *pconn);
   2638       HRESULT (WINAPI *put_ActiveConnection)(Recordset21 *This,VARIANT vConn);
   2639       HRESULT (WINAPI *get_ActiveConnection)(Recordset21 *This,VARIANT *pvar);
   2640       HRESULT (WINAPI *get_BOF)(Recordset21 *This,VARIANT_BOOL *pb);
   2641       HRESULT (WINAPI *get_Bookmark)(Recordset21 *This,VARIANT *pvBookmark);
   2642       HRESULT (WINAPI *put_Bookmark)(Recordset21 *This,VARIANT vBookmark);
   2643       HRESULT (WINAPI *get_CacheSize)(Recordset21 *This,__LONG32 *pl);
   2644       HRESULT (WINAPI *put_CacheSize)(Recordset21 *This,__LONG32 CacheSize);
   2645       HRESULT (WINAPI *get_CursorType)(Recordset21 *This,CursorTypeEnum *plCursorType);
   2646       HRESULT (WINAPI *put_CursorType)(Recordset21 *This,CursorTypeEnum lCursorType);
   2647       HRESULT (WINAPI *get_EOF)(Recordset21 *This,VARIANT_BOOL *pb);
   2648       HRESULT (WINAPI *get_Fields)(Recordset21 *This,ADOFields **ppvObject);
   2649       HRESULT (WINAPI *get_LockType)(Recordset21 *This,LockTypeEnum *plLockType);
   2650       HRESULT (WINAPI *put_LockType)(Recordset21 *This,LockTypeEnum lLockType);
   2651       HRESULT (WINAPI *get_MaxRecords)(Recordset21 *This,ADO_LONGPTR *plMaxRecords);
   2652       HRESULT (WINAPI *put_MaxRecords)(Recordset21 *This,ADO_LONGPTR lMaxRecords);
   2653       HRESULT (WINAPI *get_RecordCount)(Recordset21 *This,ADO_LONGPTR *pl);
   2654       HRESULT (WINAPI *putref_Source)(Recordset21 *This,IDispatch *pcmd);
   2655       HRESULT (WINAPI *put_Source)(Recordset21 *This,BSTR bstrConn);
   2656       HRESULT (WINAPI *get_Source)(Recordset21 *This,VARIANT *pvSource);
   2657       HRESULT (WINAPI *AddNew)(Recordset21 *This,VARIANT FieldList,VARIANT Values);
   2658       HRESULT (WINAPI *CancelUpdate)(Recordset21 *This);
   2659       HRESULT (WINAPI *Close)(Recordset21 *This);
   2660       HRESULT (WINAPI *Delete)(Recordset21 *This,AffectEnum AffectRecords);
   2661       HRESULT (WINAPI *GetRows)(Recordset21 *This,__LONG32 Rows,VARIANT Start,VARIANT Fields,VARIANT *pvar);
   2662       HRESULT (WINAPI *Move)(Recordset21 *This,ADO_LONGPTR NumRecords,VARIANT Start);
   2663       HRESULT (WINAPI *MoveNext)(Recordset21 *This);
   2664       HRESULT (WINAPI *MovePrevious)(Recordset21 *This);
   2665       HRESULT (WINAPI *MoveFirst)(Recordset21 *This);
   2666       HRESULT (WINAPI *MoveLast)(Recordset21 *This);
   2667       HRESULT (WINAPI *Open)(Recordset21 *This,VARIANT Source,VARIANT ActiveConnection,CursorTypeEnum CursorType,LockTypeEnum LockType,LONG Options);
   2668       HRESULT (WINAPI *Requery)(Recordset21 *This,LONG Options);
   2669       HRESULT (WINAPI *_xResync)(Recordset21 *This,AffectEnum AffectRecords);
   2670       HRESULT (WINAPI *Update)(Recordset21 *This,VARIANT Fields,VARIANT Values);
   2671       HRESULT (WINAPI *get_AbsolutePage)(Recordset21 *This,PositionEnum_Param *pl);
   2672       HRESULT (WINAPI *put_AbsolutePage)(Recordset21 *This,PositionEnum_Param Page);
   2673       HRESULT (WINAPI *get_EditMode)(Recordset21 *This,EditModeEnum *pl);
   2674       HRESULT (WINAPI *get_Filter)(Recordset21 *This,VARIANT *Criteria);
   2675       HRESULT (WINAPI *put_Filter)(Recordset21 *This,VARIANT Criteria);
   2676       HRESULT (WINAPI *get_PageCount)(Recordset21 *This,ADO_LONGPTR *pl);
   2677       HRESULT (WINAPI *get_PageSize)(Recordset21 *This,__LONG32 *pl);
   2678       HRESULT (WINAPI *put_PageSize)(Recordset21 *This,__LONG32 PageSize);
   2679       HRESULT (WINAPI *get_Sort)(Recordset21 *This,BSTR *Criteria);
   2680       HRESULT (WINAPI *put_Sort)(Recordset21 *This,BSTR Criteria);
   2681       HRESULT (WINAPI *get_Status)(Recordset21 *This,__LONG32 *pl);
   2682       HRESULT (WINAPI *get_State)(Recordset21 *This,LONG *plObjState);
   2683       HRESULT (WINAPI *_xClone)(Recordset21 *This,_ADORecordset **ppvObject);
   2684       HRESULT (WINAPI *UpdateBatch)(Recordset21 *This,AffectEnum AffectRecords);
   2685       HRESULT (WINAPI *CancelBatch)(Recordset21 *This,AffectEnum AffectRecords);
   2686       HRESULT (WINAPI *get_CursorLocation)(Recordset21 *This,CursorLocationEnum *plCursorLoc);
   2687       HRESULT (WINAPI *put_CursorLocation)(Recordset21 *This,CursorLocationEnum lCursorLoc);
   2688       HRESULT (WINAPI *NextADORecordset)(Recordset21 *This,VARIANT *RecordsAffected,_ADORecordset **ppiRs);
   2689       HRESULT (WINAPI *Supports)(Recordset21 *This,CursorOptionEnum CursorOptions,VARIANT_BOOL *pb);
   2690       HRESULT (WINAPI *get_Collect)(Recordset21 *This,VARIANT Index,VARIANT *pvar);
   2691       HRESULT (WINAPI *put_Collect)(Recordset21 *This,VARIANT Index,VARIANT value);
   2692       HRESULT (WINAPI *get_MarshalOptions)(Recordset21 *This,MarshalOptionsEnum *peMarshal);
   2693       HRESULT (WINAPI *put_MarshalOptions)(Recordset21 *This,MarshalOptionsEnum eMarshal);
   2694       HRESULT (WINAPI *Find)(Recordset21 *This,BSTR Criteria,ADO_LONGPTR SkipRecords,SearchDirectionEnum SearchDirection,VARIANT Start);
   2695       HRESULT (WINAPI *Cancel)(Recordset21 *This);
   2696       HRESULT (WINAPI *get_DataSource)(Recordset21 *This,IUnknown **ppunkDataSource);
   2697       HRESULT (WINAPI *putref_DataSource)(Recordset21 *This,IUnknown *punkDataSource);
   2698       HRESULT (WINAPI *_xSave)(Recordset21 *This,BSTR FileName,PersistFormatEnum PersistFormat);
   2699       HRESULT (WINAPI *get_ActiveCommand)(Recordset21 *This,IDispatch **ppCmd);
   2700       HRESULT (WINAPI *put_StayInSync)(Recordset21 *This,VARIANT_BOOL bStayInSync);
   2701       HRESULT (WINAPI *get_StayInSync)(Recordset21 *This,VARIANT_BOOL *pbStayInSync);
   2702       HRESULT (WINAPI *GetString)(Recordset21 *This,StringFormatEnum StringFormat,__LONG32 NumRows,BSTR ColumnDelimeter,BSTR RowDelimeter,BSTR NullExpr,BSTR *pRetString);
   2703       HRESULT (WINAPI *get_DataMember)(Recordset21 *This,BSTR *pbstrDataMember);
   2704       HRESULT (WINAPI *put_DataMember)(Recordset21 *This,BSTR bstrDataMember);
   2705       HRESULT (WINAPI *CompareBookmarks)(Recordset21 *This,VARIANT Bookmark1,VARIANT Bookmark2,CompareEnum *pCompare);
   2706       HRESULT (WINAPI *Clone)(Recordset21 *This,LockTypeEnum LockType,_ADORecordset **ppvObject);
   2707       HRESULT (WINAPI *Resync)(Recordset21 *This,AffectEnum AffectRecords,ResyncEnum ResyncValues);
   2708       HRESULT (WINAPI *Seek)(Recordset21 *This,VARIANT KeyValues,SeekEnum SeekOption);
   2709       HRESULT (WINAPI *put_Index)(Recordset21 *This,BSTR Index);
   2710       HRESULT (WINAPI *get_Index)(Recordset21 *This,BSTR *pbstrIndex);
   2711     END_INTERFACE
   2712   } Recordset21Vtbl;
   2713   struct Recordset21 {
   2714     CONST_VTBL struct Recordset21Vtbl *lpVtbl;
   2715   };
   2716 #ifdef COBJMACROS
   2717 #define Recordset21_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   2718 #define Recordset21_AddRef(This) (This)->lpVtbl -> AddRef(This)
   2719 #define Recordset21_Release(This) (This)->lpVtbl -> Release(This)
   2720 #define Recordset21_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   2721 #define Recordset21_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2722 #define Recordset21_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2723 #define Recordset21_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2724 #define Recordset21_get_Properties(This,ppvObject) (This)->lpVtbl -> get_Properties(This,ppvObject)
   2725 #define Recordset21_get_AbsolutePosition(This,pl) (This)->lpVtbl -> get_AbsolutePosition(This,pl)
   2726 #define Recordset21_put_AbsolutePosition(This,Position) (This)->lpVtbl -> put_AbsolutePosition(This,Position)
   2727 #define Recordset21_putref_ActiveConnection(This,pconn) (This)->lpVtbl -> putref_ActiveConnection(This,pconn)
   2728 #define Recordset21_put_ActiveConnection(This,vConn) (This)->lpVtbl -> put_ActiveConnection(This,vConn)
   2729 #define Recordset21_get_ActiveConnection(This,pvar) (This)->lpVtbl -> get_ActiveConnection(This,pvar)
   2730 #define Recordset21_get_BOF(This,pb) (This)->lpVtbl -> get_BOF(This,pb)
   2731 #define Recordset21_get_Bookmark(This,pvBookmark) (This)->lpVtbl -> get_Bookmark(This,pvBookmark)
   2732 #define Recordset21_put_Bookmark(This,vBookmark) (This)->lpVtbl -> put_Bookmark(This,vBookmark)
   2733 #define Recordset21_get_CacheSize(This,pl) (This)->lpVtbl -> get_CacheSize(This,pl)
   2734 #define Recordset21_put_CacheSize(This,CacheSize) (This)->lpVtbl -> put_CacheSize(This,CacheSize)
   2735 #define Recordset21_get_CursorType(This,plCursorType) (This)->lpVtbl -> get_CursorType(This,plCursorType)
   2736 #define Recordset21_put_CursorType(This,lCursorType) (This)->lpVtbl -> put_CursorType(This,lCursorType)
   2737 #define Recordset21_get_EOF(This,pb) (This)->lpVtbl -> get_EOF(This,pb)
   2738 #define Recordset21_get_Fields(This,ppvObject) (This)->lpVtbl -> get_Fields(This,ppvObject)
   2739 #define Recordset21_get_LockType(This,plLockType) (This)->lpVtbl -> get_LockType(This,plLockType)
   2740 #define Recordset21_put_LockType(This,lLockType) (This)->lpVtbl -> put_LockType(This,lLockType)
   2741 #define Recordset21_get_MaxRecords(This,plMaxRecords) (This)->lpVtbl -> get_MaxRecords(This,plMaxRecords)
   2742 #define Recordset21_put_MaxRecords(This,lMaxRecords) (This)->lpVtbl -> put_MaxRecords(This,lMaxRecords)
   2743 #define Recordset21_get_RecordCount(This,pl) (This)->lpVtbl -> get_RecordCount(This,pl)
   2744 #define Recordset21_putref_Source(This,pcmd) (This)->lpVtbl -> putref_Source(This,pcmd)
   2745 #define Recordset21_put_Source(This,bstrConn) (This)->lpVtbl -> put_Source(This,bstrConn)
   2746 #define Recordset21_get_Source(This,pvSource) (This)->lpVtbl -> get_Source(This,pvSource)
   2747 #define Recordset21_AddNew(This,FieldList,Values) (This)->lpVtbl -> AddNew(This,FieldList,Values)
   2748 #define Recordset21_CancelUpdate(This) (This)->lpVtbl -> CancelUpdate(This)
   2749 #define Recordset21_Close(This) (This)->lpVtbl -> Close(This)
   2750 #define Recordset21_Delete(This,AffectRecords) (This)->lpVtbl -> Delete(This,AffectRecords)
   2751 #define Recordset21_GetRows(This,Rows,Start,Fields,pvar) (This)->lpVtbl -> GetRows(This,Rows,Start,Fields,pvar)
   2752 #define Recordset21_Move(This,NumRecords,Start) (This)->lpVtbl -> Move(This,NumRecords,Start)
   2753 #define Recordset21_MoveNext(This) (This)->lpVtbl -> MoveNext(This)
   2754 #define Recordset21_MovePrevious(This) (This)->lpVtbl -> MovePrevious(This)
   2755 #define Recordset21_MoveFirst(This) (This)->lpVtbl -> MoveFirst(This)
   2756 #define Recordset21_MoveLast(This) (This)->lpVtbl -> MoveLast(This)
   2757 #define Recordset21_Open(This,Source,ActiveConnection,CursorType,LockType,Options) (This)->lpVtbl -> Open(This,Source,ActiveConnection,CursorType,LockType,Options)
   2758 #define Recordset21_Requery(This,Options) (This)->lpVtbl -> Requery(This,Options)
   2759 #define Recordset21__xResync(This,AffectRecords) (This)->lpVtbl -> _xResync(This,AffectRecords)
   2760 #define Recordset21_Update(This,Fields,Values) (This)->lpVtbl -> Update(This,Fields,Values)
   2761 #define Recordset21_get_AbsolutePage(This,pl) (This)->lpVtbl -> get_AbsolutePage(This,pl)
   2762 #define Recordset21_put_AbsolutePage(This,Page) (This)->lpVtbl -> put_AbsolutePage(This,Page)
   2763 #define Recordset21_get_EditMode(This,pl) (This)->lpVtbl -> get_EditMode(This,pl)
   2764 #define Recordset21_get_Filter(This,Criteria) (This)->lpVtbl -> get_Filter(This,Criteria)
   2765 #define Recordset21_put_Filter(This,Criteria) (This)->lpVtbl -> put_Filter(This,Criteria)
   2766 #define Recordset21_get_PageCount(This,pl) (This)->lpVtbl -> get_PageCount(This,pl)
   2767 #define Recordset21_get_PageSize(This,pl) (This)->lpVtbl -> get_PageSize(This,pl)
   2768 #define Recordset21_put_PageSize(This,PageSize) (This)->lpVtbl -> put_PageSize(This,PageSize)
   2769 #define Recordset21_get_Sort(This,Criteria) (This)->lpVtbl -> get_Sort(This,Criteria)
   2770 #define Recordset21_put_Sort(This,Criteria) (This)->lpVtbl -> put_Sort(This,Criteria)
   2771 #define Recordset21_get_Status(This,pl) (This)->lpVtbl -> get_Status(This,pl)
   2772 #define Recordset21_get_State(This,plObjState) (This)->lpVtbl -> get_State(This,plObjState)
   2773 #define Recordset21__xClone(This,ppvObject) (This)->lpVtbl -> _xClone(This,ppvObject)
   2774 #define Recordset21_UpdateBatch(This,AffectRecords) (This)->lpVtbl -> UpdateBatch(This,AffectRecords)
   2775 #define Recordset21_CancelBatch(This,AffectRecords) (This)->lpVtbl -> CancelBatch(This,AffectRecords)
   2776 #define Recordset21_get_CursorLocation(This,plCursorLoc) (This)->lpVtbl -> get_CursorLocation(This,plCursorLoc)
   2777 #define Recordset21_put_CursorLocation(This,lCursorLoc) (This)->lpVtbl -> put_CursorLocation(This,lCursorLoc)
   2778 #define Recordset21_NextRecordset(This,RecordsAffected,ppiRs) (This)->lpVtbl -> NextRecordset(This,RecordsAffected,ppiRs)
   2779 #define Recordset21_Supports(This,CursorOptions,pb) (This)->lpVtbl -> Supports(This,CursorOptions,pb)
   2780 #define Recordset21_get_Collect(This,Index,pvar) (This)->lpVtbl -> get_Collect(This,Index,pvar)
   2781 #define Recordset21_put_Collect(This,Index,value) (This)->lpVtbl -> put_Collect(This,Index,value)
   2782 #define Recordset21_get_MarshalOptions(This,peMarshal) (This)->lpVtbl -> get_MarshalOptions(This,peMarshal)
   2783 #define Recordset21_put_MarshalOptions(This,eMarshal) (This)->lpVtbl -> put_MarshalOptions(This,eMarshal)
   2784 #define Recordset21_Find(This,Criteria,SkipRecords,SearchDirection,Start) (This)->lpVtbl -> Find(This,Criteria,SkipRecords,SearchDirection,Start)
   2785 #define Recordset21_Cancel(This) (This)->lpVtbl -> Cancel(This)
   2786 #define Recordset21_get_DataSource(This,ppunkDataSource) (This)->lpVtbl -> get_DataSource(This,ppunkDataSource)
   2787 #define Recordset21_putref_DataSource(This,punkDataSource) (This)->lpVtbl -> putref_DataSource(This,punkDataSource)
   2788 #define Recordset21__xSave(This,FileName,PersistFormat) (This)->lpVtbl -> _xSave(This,FileName,PersistFormat)
   2789 #define Recordset21_get_ActiveCommand(This,ppCmd) (This)->lpVtbl -> get_ActiveCommand(This,ppCmd)
   2790 #define Recordset21_put_StayInSync(This,bStayInSync) (This)->lpVtbl -> put_StayInSync(This,bStayInSync)
   2791 #define Recordset21_get_StayInSync(This,pbStayInSync) (This)->lpVtbl -> get_StayInSync(This,pbStayInSync)
   2792 #define Recordset21_GetString(This,StringFormat,NumRows,ColumnDelimeter,RowDelimeter,NullExpr,pRetString) (This)->lpVtbl -> GetString(This,StringFormat,NumRows,ColumnDelimeter,RowDelimeter,NullExpr,pRetString)
   2793 #define Recordset21_get_DataMember(This,pbstrDataMember) (This)->lpVtbl -> get_DataMember(This,pbstrDataMember)
   2794 #define Recordset21_put_DataMember(This,bstrDataMember) (This)->lpVtbl -> put_DataMember(This,bstrDataMember)
   2795 #define Recordset21_CompareBookmarks(This,Bookmark1,Bookmark2,pCompare) (This)->lpVtbl -> CompareBookmarks(This,Bookmark1,Bookmark2,pCompare)
   2796 #define Recordset21_Clone(This,LockType,ppvObject) (This)->lpVtbl -> Clone(This,LockType,ppvObject)
   2797 #define Recordset21_Resync(This,AffectRecords,ResyncValues) (This)->lpVtbl -> Resync(This,AffectRecords,ResyncValues)
   2798 #define Recordset21_Seek(This,KeyValues,SeekOption) (This)->lpVtbl -> Seek(This,KeyValues,SeekOption)
   2799 #define Recordset21_put_Index(This,Index) (This)->lpVtbl -> put_Index(This,Index)
   2800 #define Recordset21_get_Index(This,pbstrIndex) (This)->lpVtbl -> get_Index(This,pbstrIndex)
   2801 #endif
   2802 #endif
   2803   HRESULT WINAPI Recordset21_Seek_Proxy(Recordset21 *This,VARIANT KeyValues,SeekEnum SeekOption);
   2804   void __RPC_STUB Recordset21_Seek_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2805   HRESULT WINAPI Recordset21_put_Index_Proxy(Recordset21 *This,BSTR Index);
   2806   void __RPC_STUB Recordset21_put_Index_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2807   HRESULT WINAPI Recordset21_get_Index_Proxy(Recordset21 *This,BSTR *pbstrIndex);
   2808   void __RPC_STUB Recordset21_get_Index_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2809 #endif
   2810 
   2811 #ifndef ___Recordset_INTERFACE_DEFINED__
   2812 #define ___Recordset_INTERFACE_DEFINED__
   2813   EXTERN_C const IID IID__Recordset;
   2814 #if defined(__cplusplus) && !defined(CINTERFACE)
   2815   struct _ADORecordset : public Recordset21 {
   2816   public:
   2817     virtual HRESULT WINAPI Save(VARIANT Destination,PersistFormatEnum PersistFormat = adPersistADTG) = 0;
   2818   };
   2819 #else
   2820   typedef struct _RecordsetVtbl {
   2821     BEGIN_INTERFACE
   2822       HRESULT (WINAPI *QueryInterface)(_ADORecordset *This,REFIID riid,void **ppvObject);
   2823       ULONG (WINAPI *AddRef)(_ADORecordset *This);
   2824       ULONG (WINAPI *Release)(_ADORecordset *This);
   2825       HRESULT (WINAPI *GetTypeInfoCount)(_ADORecordset *This,UINT *pctinfo);
   2826       HRESULT (WINAPI *GetTypeInfo)(_ADORecordset *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2827       HRESULT (WINAPI *GetIDsOfNames)(_ADORecordset *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2828       HRESULT (WINAPI *Invoke)(_ADORecordset *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2829       HRESULT (WINAPI *get_Properties)(_ADORecordset *This,ADOProperties **ppvObject);
   2830       HRESULT (WINAPI *get_AbsolutePosition)(_ADORecordset *This,PositionEnum_Param *pl);
   2831       HRESULT (WINAPI *put_AbsolutePosition)(_ADORecordset *This,PositionEnum_Param Position);
   2832       HRESULT (WINAPI *putref_ActiveADOConnection)(_ADORecordset *This,IDispatch *pconn);
   2833       HRESULT (WINAPI *put_ActiveConnection)(_ADORecordset *This,VARIANT vConn);
   2834       HRESULT (WINAPI *get_ActiveConnection)(_ADORecordset *This,VARIANT *pvar);
   2835       HRESULT (WINAPI *get_BOF)(_ADORecordset *This,VARIANT_BOOL *pb);
   2836       HRESULT (WINAPI *get_Bookmark)(_ADORecordset *This,VARIANT *pvBookmark);
   2837       HRESULT (WINAPI *put_Bookmark)(_ADORecordset *This,VARIANT vBookmark);
   2838       HRESULT (WINAPI *get_CacheSize)(_ADORecordset *This,__LONG32 *pl);
   2839       HRESULT (WINAPI *put_CacheSize)(_ADORecordset *This,__LONG32 CacheSize);
   2840       HRESULT (WINAPI *get_CursorType)(_ADORecordset *This,CursorTypeEnum *plCursorType);
   2841       HRESULT (WINAPI *put_CursorType)(_ADORecordset *This,CursorTypeEnum lCursorType);
   2842       HRESULT (WINAPI *get_EOF)(_ADORecordset *This,VARIANT_BOOL *pb);
   2843       HRESULT (WINAPI *get_Fields)(_ADORecordset *This,ADOFields **ppvObject);
   2844       HRESULT (WINAPI *get_LockType)(_ADORecordset *This,LockTypeEnum *plLockType);
   2845       HRESULT (WINAPI *put_LockType)(_ADORecordset *This,LockTypeEnum lLockType);
   2846       HRESULT (WINAPI *get_MaxRecords)(_ADORecordset *This,ADO_LONGPTR *plMaxRecords);
   2847       HRESULT (WINAPI *put_MaxRecords)(_ADORecordset *This,ADO_LONGPTR lMaxRecords);
   2848       HRESULT (WINAPI *get_RecordCount)(_ADORecordset *This,ADO_LONGPTR *pl);
   2849       HRESULT (WINAPI *putref_Source)(_ADORecordset *This,IDispatch *pcmd);
   2850       HRESULT (WINAPI *put_Source)(_ADORecordset *This,BSTR bstrConn);
   2851       HRESULT (WINAPI *get_Source)(_ADORecordset *This,VARIANT *pvSource);
   2852       HRESULT (WINAPI *AddNew)(_ADORecordset *This,VARIANT FieldList,VARIANT Values);
   2853       HRESULT (WINAPI *CancelUpdate)(_ADORecordset *This);
   2854       HRESULT (WINAPI *Close)(_ADORecordset *This);
   2855       HRESULT (WINAPI *Delete)(_ADORecordset *This,AffectEnum AffectRecords);
   2856       HRESULT (WINAPI *GetRows)(_ADORecordset *This,__LONG32 Rows,VARIANT Start,VARIANT Fields,VARIANT *pvar);
   2857       HRESULT (WINAPI *Move)(_ADORecordset *This,ADO_LONGPTR NumRecords,VARIANT Start);
   2858       HRESULT (WINAPI *MoveNext)(_ADORecordset *This);
   2859       HRESULT (WINAPI *MovePrevious)(_ADORecordset *This);
   2860       HRESULT (WINAPI *MoveFirst)(_ADORecordset *This);
   2861       HRESULT (WINAPI *MoveLast)(_ADORecordset *This);
   2862       HRESULT (WINAPI *Open)(_ADORecordset *This,VARIANT Source,VARIANT ActiveConnection,CursorTypeEnum CursorType,LockTypeEnum LockType,LONG Options);
   2863       HRESULT (WINAPI *Requery)(_ADORecordset *This,LONG Options);
   2864       HRESULT (WINAPI *_xResync)(_ADORecordset *This,AffectEnum AffectRecords);
   2865       HRESULT (WINAPI *Update)(_ADORecordset *This,VARIANT Fields,VARIANT Values);
   2866       HRESULT (WINAPI *get_AbsolutePage)(_ADORecordset *This,PositionEnum_Param *pl);
   2867       HRESULT (WINAPI *put_AbsolutePage)(_ADORecordset *This,PositionEnum_Param Page);
   2868       HRESULT (WINAPI *get_EditMode)(_ADORecordset *This,EditModeEnum *pl);
   2869       HRESULT (WINAPI *get_Filter)(_ADORecordset *This,VARIANT *Criteria);
   2870       HRESULT (WINAPI *put_Filter)(_ADORecordset *This,VARIANT Criteria);
   2871       HRESULT (WINAPI *get_PageCount)(_ADORecordset *This,ADO_LONGPTR *pl);
   2872       HRESULT (WINAPI *get_PageSize)(_ADORecordset *This,__LONG32 *pl);
   2873       HRESULT (WINAPI *put_PageSize)(_ADORecordset *This,__LONG32 PageSize);
   2874       HRESULT (WINAPI *get_Sort)(_ADORecordset *This,BSTR *Criteria);
   2875       HRESULT (WINAPI *put_Sort)(_ADORecordset *This,BSTR Criteria);
   2876       HRESULT (WINAPI *get_Status)(_ADORecordset *This,__LONG32 *pl);
   2877       HRESULT (WINAPI *get_State)(_ADORecordset *This,LONG *plObjState);
   2878       HRESULT (WINAPI *_xClone)(_ADORecordset *This,_ADORecordset **ppvObject);
   2879       HRESULT (WINAPI *UpdateBatch)(_ADORecordset *This,AffectEnum AffectRecords);
   2880       HRESULT (WINAPI *CancelBatch)(_ADORecordset *This,AffectEnum AffectRecords);
   2881       HRESULT (WINAPI *get_CursorLocation)(_ADORecordset *This,CursorLocationEnum *plCursorLoc);
   2882       HRESULT (WINAPI *put_CursorLocation)(_ADORecordset *This,CursorLocationEnum lCursorLoc);
   2883       HRESULT (WINAPI *NextADORecordset)(_ADORecordset *This,VARIANT *RecordsAffected,_ADORecordset **ppiRs);
   2884       HRESULT (WINAPI *Supports)(_ADORecordset *This,CursorOptionEnum CursorOptions,VARIANT_BOOL *pb);
   2885       HRESULT (WINAPI *get_Collect)(_ADORecordset *This,VARIANT Index,VARIANT *pvar);
   2886       HRESULT (WINAPI *put_Collect)(_ADORecordset *This,VARIANT Index,VARIANT value);
   2887       HRESULT (WINAPI *get_MarshalOptions)(_ADORecordset *This,MarshalOptionsEnum *peMarshal);
   2888       HRESULT (WINAPI *put_MarshalOptions)(_ADORecordset *This,MarshalOptionsEnum eMarshal);
   2889       HRESULT (WINAPI *Find)(_ADORecordset *This,BSTR Criteria,ADO_LONGPTR SkipRecords,SearchDirectionEnum SearchDirection,VARIANT Start);
   2890       HRESULT (WINAPI *Cancel)(_ADORecordset *This);
   2891       HRESULT (WINAPI *get_DataSource)(_ADORecordset *This,IUnknown **ppunkDataSource);
   2892       HRESULT (WINAPI *putref_DataSource)(_ADORecordset *This,IUnknown *punkDataSource);
   2893       HRESULT (WINAPI *_xSave)(_ADORecordset *This,BSTR FileName,PersistFormatEnum PersistFormat);
   2894       HRESULT (WINAPI *get_ActiveCommand)(_ADORecordset *This,IDispatch **ppCmd);
   2895       HRESULT (WINAPI *put_StayInSync)(_ADORecordset *This,VARIANT_BOOL bStayInSync);
   2896       HRESULT (WINAPI *get_StayInSync)(_ADORecordset *This,VARIANT_BOOL *pbStayInSync);
   2897       HRESULT (WINAPI *GetString)(_ADORecordset *This,StringFormatEnum StringFormat,__LONG32 NumRows,BSTR ColumnDelimeter,BSTR RowDelimeter,BSTR NullExpr,BSTR *pRetString);
   2898       HRESULT (WINAPI *get_DataMember)(_ADORecordset *This,BSTR *pbstrDataMember);
   2899       HRESULT (WINAPI *put_DataMember)(_ADORecordset *This,BSTR bstrDataMember);
   2900       HRESULT (WINAPI *CompareBookmarks)(_ADORecordset *This,VARIANT Bookmark1,VARIANT Bookmark2,CompareEnum *pCompare);
   2901       HRESULT (WINAPI *Clone)(_ADORecordset *This,LockTypeEnum LockType,_ADORecordset **ppvObject);
   2902       HRESULT (WINAPI *Resync)(_ADORecordset *This,AffectEnum AffectRecords,ResyncEnum ResyncValues);
   2903       HRESULT (WINAPI *Seek)(_ADORecordset *This,VARIANT KeyValues,SeekEnum SeekOption);
   2904       HRESULT (WINAPI *put_Index)(_ADORecordset *This,BSTR Index);
   2905       HRESULT (WINAPI *get_Index)(_ADORecordset *This,BSTR *pbstrIndex);
   2906       HRESULT (WINAPI *Save)(_ADORecordset *This,VARIANT Destination,PersistFormatEnum PersistFormat);
   2907     END_INTERFACE
   2908   } _RecordsetVtbl;
   2909   struct _Recordset {
   2910     CONST_VTBL struct _RecordsetVtbl *lpVtbl;
   2911   };
   2912 #ifdef COBJMACROS
   2913 #define _Recordset_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   2914 #define _Recordset_AddRef(This) (This)->lpVtbl -> AddRef(This)
   2915 #define _Recordset_Release(This) (This)->lpVtbl -> Release(This)
   2916 #define _Recordset_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   2917 #define _Recordset_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2918 #define _Recordset_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2919 #define _Recordset_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2920 #define _Recordset_get_Properties(This,ppvObject) (This)->lpVtbl -> get_Properties(This,ppvObject)
   2921 #define _Recordset_get_AbsolutePosition(This,pl) (This)->lpVtbl -> get_AbsolutePosition(This,pl)
   2922 #define _Recordset_put_AbsolutePosition(This,Position) (This)->lpVtbl -> put_AbsolutePosition(This,Position)
   2923 #define _Recordset_putref_ActiveConnection(This,pconn) (This)->lpVtbl -> putref_ActiveConnection(This,pconn)
   2924 #define _Recordset_put_ActiveConnection(This,vConn) (This)->lpVtbl -> put_ActiveConnection(This,vConn)
   2925 #define _Recordset_get_ActiveConnection(This,pvar) (This)->lpVtbl -> get_ActiveConnection(This,pvar)
   2926 #define _Recordset_get_BOF(This,pb) (This)->lpVtbl -> get_BOF(This,pb)
   2927 #define _Recordset_get_Bookmark(This,pvBookmark) (This)->lpVtbl -> get_Bookmark(This,pvBookmark)
   2928 #define _Recordset_put_Bookmark(This,vBookmark) (This)->lpVtbl -> put_Bookmark(This,vBookmark)
   2929 #define _Recordset_get_CacheSize(This,pl) (This)->lpVtbl -> get_CacheSize(This,pl)
   2930 #define _Recordset_put_CacheSize(This,CacheSize) (This)->lpVtbl -> put_CacheSize(This,CacheSize)
   2931 #define _Recordset_get_CursorType(This,plCursorType) (This)->lpVtbl -> get_CursorType(This,plCursorType)
   2932 #define _Recordset_put_CursorType(This,lCursorType) (This)->lpVtbl -> put_CursorType(This,lCursorType)
   2933 #define _Recordset_get_EOF(This,pb) (This)->lpVtbl -> get_EOF(This,pb)
   2934 #define _Recordset_get_Fields(This,ppvObject) (This)->lpVtbl -> get_Fields(This,ppvObject)
   2935 #define _Recordset_get_LockType(This,plLockType) (This)->lpVtbl -> get_LockType(This,plLockType)
   2936 #define _Recordset_put_LockType(This,lLockType) (This)->lpVtbl -> put_LockType(This,lLockType)
   2937 #define _Recordset_get_MaxRecords(This,plMaxRecords) (This)->lpVtbl -> get_MaxRecords(This,plMaxRecords)
   2938 #define _Recordset_put_MaxRecords(This,lMaxRecords) (This)->lpVtbl -> put_MaxRecords(This,lMaxRecords)
   2939 #define _Recordset_get_RecordCount(This,pl) (This)->lpVtbl -> get_RecordCount(This,pl)
   2940 #define _Recordset_putref_Source(This,pcmd) (This)->lpVtbl -> putref_Source(This,pcmd)
   2941 #define _Recordset_put_Source(This,bstrConn) (This)->lpVtbl -> put_Source(This,bstrConn)
   2942 #define _Recordset_get_Source(This,pvSource) (This)->lpVtbl -> get_Source(This,pvSource)
   2943 #define _Recordset_AddNew(This,FieldList,Values) (This)->lpVtbl -> AddNew(This,FieldList,Values)
   2944 #define _Recordset_CancelUpdate(This) (This)->lpVtbl -> CancelUpdate(This)
   2945 #define _Recordset_Close(This) (This)->lpVtbl -> Close(This)
   2946 #define _Recordset_Delete(This,AffectRecords) (This)->lpVtbl -> Delete(This,AffectRecords)
   2947 #define _Recordset_GetRows(This,Rows,Start,Fields,pvar) (This)->lpVtbl -> GetRows(This,Rows,Start,Fields,pvar)
   2948 #define _Recordset_Move(This,NumRecords,Start) (This)->lpVtbl -> Move(This,NumRecords,Start)
   2949 #define _Recordset_MoveNext(This) (This)->lpVtbl -> MoveNext(This)
   2950 #define _Recordset_MovePrevious(This) (This)->lpVtbl -> MovePrevious(This)
   2951 #define _Recordset_MoveFirst(This) (This)->lpVtbl -> MoveFirst(This)
   2952 #define _Recordset_MoveLast(This) (This)->lpVtbl -> MoveLast(This)
   2953 #define _Recordset_Open(This,Source,ActiveConnection,CursorType,LockType,Options) (This)->lpVtbl -> Open(This,Source,ActiveConnection,CursorType,LockType,Options)
   2954 #define _Recordset_Requery(This,Options) (This)->lpVtbl -> Requery(This,Options)
   2955 #define _Recordset__xResync(This,AffectRecords) (This)->lpVtbl -> _xResync(This,AffectRecords)
   2956 #define _Recordset_Update(This,Fields,Values) (This)->lpVtbl -> Update(This,Fields,Values)
   2957 #define _Recordset_get_AbsolutePage(This,pl) (This)->lpVtbl -> get_AbsolutePage(This,pl)
   2958 #define _Recordset_put_AbsolutePage(This,Page) (This)->lpVtbl -> put_AbsolutePage(This,Page)
   2959 #define _Recordset_get_EditMode(This,pl) (This)->lpVtbl -> get_EditMode(This,pl)
   2960 #define _Recordset_get_Filter(This,Criteria) (This)->lpVtbl -> get_Filter(This,Criteria)
   2961 #define _Recordset_put_Filter(This,Criteria) (This)->lpVtbl -> put_Filter(This,Criteria)
   2962 #define _Recordset_get_PageCount(This,pl) (This)->lpVtbl -> get_PageCount(This,pl)
   2963 #define _Recordset_get_PageSize(This,pl) (This)->lpVtbl -> get_PageSize(This,pl)
   2964 #define _Recordset_put_PageSize(This,PageSize) (This)->lpVtbl -> put_PageSize(This,PageSize)
   2965 #define _Recordset_get_Sort(This,Criteria) (This)->lpVtbl -> get_Sort(This,Criteria)
   2966 #define _Recordset_put_Sort(This,Criteria) (This)->lpVtbl -> put_Sort(This,Criteria)
   2967 #define _Recordset_get_Status(This,pl) (This)->lpVtbl -> get_Status(This,pl)
   2968 #define _Recordset_get_State(This,plObjState) (This)->lpVtbl -> get_State(This,plObjState)
   2969 #define _Recordset__xClone(This,ppvObject) (This)->lpVtbl -> _xClone(This,ppvObject)
   2970 #define _Recordset_UpdateBatch(This,AffectRecords) (This)->lpVtbl -> UpdateBatch(This,AffectRecords)
   2971 #define _Recordset_CancelBatch(This,AffectRecords) (This)->lpVtbl -> CancelBatch(This,AffectRecords)
   2972 #define _Recordset_get_CursorLocation(This,plCursorLoc) (This)->lpVtbl -> get_CursorLocation(This,plCursorLoc)
   2973 #define _Recordset_put_CursorLocation(This,lCursorLoc) (This)->lpVtbl -> put_CursorLocation(This,lCursorLoc)
   2974 #define _Recordset_NextRecordset(This,RecordsAffected,ppiRs) (This)->lpVtbl -> NextRecordset(This,RecordsAffected,ppiRs)
   2975 #define _Recordset_Supports(This,CursorOptions,pb) (This)->lpVtbl -> Supports(This,CursorOptions,pb)
   2976 #define _Recordset_get_Collect(This,Index,pvar) (This)->lpVtbl -> get_Collect(This,Index,pvar)
   2977 #define _Recordset_put_Collect(This,Index,value) (This)->lpVtbl -> put_Collect(This,Index,value)
   2978 #define _Recordset_get_MarshalOptions(This,peMarshal) (This)->lpVtbl -> get_MarshalOptions(This,peMarshal)
   2979 #define _Recordset_put_MarshalOptions(This,eMarshal) (This)->lpVtbl -> put_MarshalOptions(This,eMarshal)
   2980 #define _Recordset_Find(This,Criteria,SkipRecords,SearchDirection,Start) (This)->lpVtbl -> Find(This,Criteria,SkipRecords,SearchDirection,Start)
   2981 #define _Recordset_Cancel(This) (This)->lpVtbl -> Cancel(This)
   2982 #define _Recordset_get_DataSource(This,ppunkDataSource) (This)->lpVtbl -> get_DataSource(This,ppunkDataSource)
   2983 #define _Recordset_putref_DataSource(This,punkDataSource) (This)->lpVtbl -> putref_DataSource(This,punkDataSource)
   2984 #define _Recordset__xSave(This,FileName,PersistFormat) (This)->lpVtbl -> _xSave(This,FileName,PersistFormat)
   2985 #define _Recordset_get_ActiveCommand(This,ppCmd) (This)->lpVtbl -> get_ActiveCommand(This,ppCmd)
   2986 #define _Recordset_put_StayInSync(This,bStayInSync) (This)->lpVtbl -> put_StayInSync(This,bStayInSync)
   2987 #define _Recordset_get_StayInSync(This,pbStayInSync) (This)->lpVtbl -> get_StayInSync(This,pbStayInSync)
   2988 #define _Recordset_GetString(This,StringFormat,NumRows,ColumnDelimeter,RowDelimeter,NullExpr,pRetString) (This)->lpVtbl -> GetString(This,StringFormat,NumRows,ColumnDelimeter,RowDelimeter,NullExpr,pRetString)
   2989 #define _Recordset_get_DataMember(This,pbstrDataMember) (This)->lpVtbl -> get_DataMember(This,pbstrDataMember)
   2990 #define _Recordset_put_DataMember(This,bstrDataMember) (This)->lpVtbl -> put_DataMember(This,bstrDataMember)
   2991 #define _Recordset_CompareBookmarks(This,Bookmark1,Bookmark2,pCompare) (This)->lpVtbl -> CompareBookmarks(This,Bookmark1,Bookmark2,pCompare)
   2992 #define _Recordset_Clone(This,LockType,ppvObject) (This)->lpVtbl -> Clone(This,LockType,ppvObject)
   2993 #define _Recordset_Resync(This,AffectRecords,ResyncValues) (This)->lpVtbl -> Resync(This,AffectRecords,ResyncValues)
   2994 #define _Recordset_Seek(This,KeyValues,SeekOption) (This)->lpVtbl -> Seek(This,KeyValues,SeekOption)
   2995 #define _Recordset_put_Index(This,Index) (This)->lpVtbl -> put_Index(This,Index)
   2996 #define _Recordset_get_Index(This,pbstrIndex) (This)->lpVtbl -> get_Index(This,pbstrIndex)
   2997 #define _Recordset_Save(This,Destination,PersistFormat) (This)->lpVtbl -> Save(This,Destination,PersistFormat)
   2998 #endif
   2999 #endif
   3000   HRESULT WINAPI _Recordset_Save_Proxy(_ADORecordset *This,VARIANT Destination,PersistFormatEnum PersistFormat);
   3001   void __RPC_STUB _Recordset_Save_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3002 #endif
   3003 
   3004 #ifndef __ADORecordsetConstruction_INTERFACE_DEFINED__
   3005 #define __ADORecordsetConstruction_INTERFACE_DEFINED__
   3006   EXTERN_C const IID IID_ADORecordsetConstruction;
   3007 #if defined(__cplusplus) && !defined(CINTERFACE)
   3008   struct ADORecordsetConstruction : public IDispatch {
   3009   public:
   3010     virtual HRESULT WINAPI get_Rowset(IUnknown **ppRowset) = 0;
   3011     virtual HRESULT WINAPI put_Rowset(IUnknown *pRowset) = 0;
   3012     virtual HRESULT WINAPI get_Chapter(ADO_LONGPTR *plChapter) = 0;
   3013     virtual HRESULT WINAPI put_Chapter(ADO_LONGPTR lChapter) = 0;
   3014     virtual HRESULT WINAPI get_RowPosition(IUnknown **ppRowPos) = 0;
   3015     virtual HRESULT WINAPI put_RowPosition(IUnknown *pRowPos) = 0;
   3016   };
   3017 #else
   3018   typedef struct ADORecordsetConstructionVtbl {
   3019     BEGIN_INTERFACE
   3020       HRESULT (WINAPI *QueryInterface)(ADORecordsetConstruction *This,REFIID riid,void **ppvObject);
   3021       ULONG (WINAPI *AddRef)(ADORecordsetConstruction *This);
   3022       ULONG (WINAPI *Release)(ADORecordsetConstruction *This);
   3023       HRESULT (WINAPI *GetTypeInfoCount)(ADORecordsetConstruction *This,UINT *pctinfo);
   3024       HRESULT (WINAPI *GetTypeInfo)(ADORecordsetConstruction *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3025       HRESULT (WINAPI *GetIDsOfNames)(ADORecordsetConstruction *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3026       HRESULT (WINAPI *Invoke)(ADORecordsetConstruction *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3027       HRESULT (WINAPI *get_Rowset)(ADORecordsetConstruction *This,IUnknown **ppRowset);
   3028       HRESULT (WINAPI *put_Rowset)(ADORecordsetConstruction *This,IUnknown *pRowset);
   3029       HRESULT (WINAPI *get_Chapter)(ADORecordsetConstruction *This,ADO_LONGPTR *plChapter);
   3030       HRESULT (WINAPI *put_Chapter)(ADORecordsetConstruction *This,ADO_LONGPTR lChapter);
   3031       HRESULT (WINAPI *get_RowPosition)(ADORecordsetConstruction *This,IUnknown **ppRowPos);
   3032       HRESULT (WINAPI *put_RowPosition)(ADORecordsetConstruction *This,IUnknown *pRowPos);
   3033     END_INTERFACE
   3034   } ADORecordsetConstructionVtbl;
   3035   struct ADORecordsetConstruction {
   3036     CONST_VTBL struct ADORecordsetConstructionVtbl *lpVtbl;
   3037   };
   3038 #ifdef COBJMACROS
   3039 #define ADORecordsetConstruction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   3040 #define ADORecordsetConstruction_AddRef(This) (This)->lpVtbl -> AddRef(This)
   3041 #define ADORecordsetConstruction_Release(This) (This)->lpVtbl -> Release(This)
   3042 #define ADORecordsetConstruction_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   3043 #define ADORecordsetConstruction_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3044 #define ADORecordsetConstruction_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3045 #define ADORecordsetConstruction_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3046 #define ADORecordsetConstruction_get_Rowset(This,ppRowset) (This)->lpVtbl -> get_Rowset(This,ppRowset)
   3047 #define ADORecordsetConstruction_put_Rowset(This,pRowset) (This)->lpVtbl -> put_Rowset(This,pRowset)
   3048 #define ADORecordsetConstruction_get_Chapter(This,plChapter) (This)->lpVtbl -> get_Chapter(This,plChapter)
   3049 #define ADORecordsetConstruction_put_Chapter(This,lChapter) (This)->lpVtbl -> put_Chapter(This,lChapter)
   3050 #define ADORecordsetConstruction_get_RowPosition(This,ppRowPos) (This)->lpVtbl -> get_RowPosition(This,ppRowPos)
   3051 #define ADORecordsetConstruction_put_RowPosition(This,pRowPos) (This)->lpVtbl -> put_RowPosition(This,pRowPos)
   3052 #endif
   3053 #endif
   3054   HRESULT WINAPI ADORecordsetConstruction_get_Rowset_Proxy(ADORecordsetConstruction *This,IUnknown **ppRowset);
   3055   void __RPC_STUB ADORecordsetConstruction_get_Rowset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3056   HRESULT WINAPI ADORecordsetConstruction_put_Rowset_Proxy(ADORecordsetConstruction *This,IUnknown *pRowset);
   3057   void __RPC_STUB ADORecordsetConstruction_put_Rowset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3058   HRESULT WINAPI ADORecordsetConstruction_get_Chapter_Proxy(ADORecordsetConstruction *This,ADO_LONGPTR *plChapter);
   3059   void __RPC_STUB ADORecordsetConstruction_get_Chapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3060   HRESULT WINAPI ADORecordsetConstruction_put_Chapter_Proxy(ADORecordsetConstruction *This,ADO_LONGPTR lChapter);
   3061   void __RPC_STUB ADORecordsetConstruction_put_Chapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3062   HRESULT WINAPI ADORecordsetConstruction_get_RowPosition_Proxy(ADORecordsetConstruction *This,IUnknown **ppRowPos);
   3063   void __RPC_STUB ADORecordsetConstruction_get_RowPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3064   HRESULT WINAPI ADORecordsetConstruction_put_RowPosition_Proxy(ADORecordsetConstruction *This,IUnknown *pRowPos);
   3065   void __RPC_STUB ADORecordsetConstruction_put_RowPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3066 #endif
   3067 
   3068 #ifndef __Field15_INTERFACE_DEFINED__
   3069 #define __Field15_INTERFACE_DEFINED__
   3070   EXTERN_C const IID IID_Field15;
   3071 #if defined(__cplusplus) && !defined(CINTERFACE)
   3072   struct Field15 : public _ADO {
   3073   public:
   3074     virtual HRESULT WINAPI get_ActualSize(ADO_LONGPTR *pl) = 0;
   3075     virtual HRESULT WINAPI get_Attributes(__LONG32 *pl) = 0;
   3076     virtual HRESULT WINAPI get_DefinedSize(ADO_LONGPTR *pl) = 0;
   3077     virtual HRESULT WINAPI get_Name(BSTR *pbstr) = 0;
   3078     virtual HRESULT WINAPI get_Type(DataTypeEnum *pDataType) = 0;
   3079     virtual HRESULT WINAPI get_Value(VARIANT *pvar) = 0;
   3080     virtual HRESULT WINAPI put_Value(VARIANT Val) = 0;
   3081     virtual HRESULT WINAPI get_Precision(BYTE *pbPrecision) = 0;
   3082     virtual HRESULT WINAPI get_NumericScale(BYTE *pbNumericScale) = 0;
   3083     virtual HRESULT WINAPI AppendChunk(VARIANT Data) = 0;
   3084     virtual HRESULT WINAPI GetChunk(__LONG32 Length,VARIANT *pvar) = 0;
   3085     virtual HRESULT WINAPI get_OriginalValue(VARIANT *pvar) = 0;
   3086     virtual HRESULT WINAPI get_UnderlyingValue(VARIANT *pvar) = 0;
   3087   };
   3088 #else
   3089   typedef struct Field15Vtbl {
   3090     BEGIN_INTERFACE
   3091       HRESULT (WINAPI *QueryInterface)(Field15 *This,REFIID riid,void **ppvObject);
   3092       ULONG (WINAPI *AddRef)(Field15 *This);
   3093       ULONG (WINAPI *Release)(Field15 *This);
   3094       HRESULT (WINAPI *GetTypeInfoCount)(Field15 *This,UINT *pctinfo);
   3095       HRESULT (WINAPI *GetTypeInfo)(Field15 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3096       HRESULT (WINAPI *GetIDsOfNames)(Field15 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3097       HRESULT (WINAPI *Invoke)(Field15 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3098       HRESULT (WINAPI *get_Properties)(Field15 *This,ADOProperties **ppvObject);
   3099       HRESULT (WINAPI *get_ActualSize)(Field15 *This,ADO_LONGPTR *pl);
   3100       HRESULT (WINAPI *get_Attributes)(Field15 *This,__LONG32 *pl);
   3101       HRESULT (WINAPI *get_DefinedSize)(Field15 *This,ADO_LONGPTR *pl);
   3102       HRESULT (WINAPI *get_Name)(Field15 *This,BSTR *pbstr);
   3103       HRESULT (WINAPI *get_Type)(Field15 *This,DataTypeEnum *pDataType);
   3104       HRESULT (WINAPI *get_Value)(Field15 *This,VARIANT *pvar);
   3105       HRESULT (WINAPI *put_Value)(Field15 *This,VARIANT Val);
   3106       HRESULT (WINAPI *get_Precision)(Field15 *This,BYTE *pbPrecision);
   3107       HRESULT (WINAPI *get_NumericScale)(Field15 *This,BYTE *pbNumericScale);
   3108       HRESULT (WINAPI *AppendChunk)(Field15 *This,VARIANT Data);
   3109       HRESULT (WINAPI *GetChunk)(Field15 *This,__LONG32 Length,VARIANT *pvar);
   3110       HRESULT (WINAPI *get_OriginalValue)(Field15 *This,VARIANT *pvar);
   3111       HRESULT (WINAPI *get_UnderlyingValue)(Field15 *This,VARIANT *pvar);
   3112     END_INTERFACE
   3113   } Field15Vtbl;
   3114   struct Field15 {
   3115     CONST_VTBL struct Field15Vtbl *lpVtbl;
   3116   };
   3117 #ifdef COBJMACROS
   3118 #define Field15_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   3119 #define Field15_AddRef(This) (This)->lpVtbl -> AddRef(This)
   3120 #define Field15_Release(This) (This)->lpVtbl -> Release(This)
   3121 #define Field15_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   3122 #define Field15_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3123 #define Field15_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3124 #define Field15_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3125 #define Field15_get_Properties(This,ppvObject) (This)->lpVtbl -> get_Properties(This,ppvObject)
   3126 #define Field15_get_ActualSize(This,pl) (This)->lpVtbl -> get_ActualSize(This,pl)
   3127 #define Field15_get_Attributes(This,pl) (This)->lpVtbl -> get_Attributes(This,pl)
   3128 #define Field15_get_DefinedSize(This,pl) (This)->lpVtbl -> get_DefinedSize(This,pl)
   3129 #define Field15_get_Name(This,pbstr) (This)->lpVtbl -> get_Name(This,pbstr)
   3130 #define Field15_get_Type(This,pDataType) (This)->lpVtbl -> get_Type(This,pDataType)
   3131 #define Field15_get_Value(This,pvar) (This)->lpVtbl -> get_Value(This,pvar)
   3132 #define Field15_put_Value(This,Val) (This)->lpVtbl -> put_Value(This,Val)
   3133 #define Field15_get_Precision(This,pbPrecision) (This)->lpVtbl -> get_Precision(This,pbPrecision)
   3134 #define Field15_get_NumericScale(This,pbNumericScale) (This)->lpVtbl -> get_NumericScale(This,pbNumericScale)
   3135 #define Field15_AppendChunk(This,Data) (This)->lpVtbl -> AppendChunk(This,Data)
   3136 #define Field15_GetChunk(This,Length,pvar) (This)->lpVtbl -> GetChunk(This,Length,pvar)
   3137 #define Field15_get_OriginalValue(This,pvar) (This)->lpVtbl -> get_OriginalValue(This,pvar)
   3138 #define Field15_get_UnderlyingValue(This,pvar) (This)->lpVtbl -> get_UnderlyingValue(This,pvar)
   3139 #endif
   3140 #endif
   3141   HRESULT WINAPI Field15_get_ActualSize_Proxy(Field15 *This,ADO_LONGPTR *pl);
   3142   void __RPC_STUB Field15_get_ActualSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3143   HRESULT WINAPI Field15_get_Attributes_Proxy(Field15 *This,__LONG32 *pl);
   3144   void __RPC_STUB Field15_get_Attributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3145   HRESULT WINAPI Field15_get_DefinedSize_Proxy(Field15 *This,ADO_LONGPTR *pl);
   3146   void __RPC_STUB Field15_get_DefinedSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3147   HRESULT WINAPI Field15_get_Name_Proxy(Field15 *This,BSTR *pbstr);
   3148   void __RPC_STUB Field15_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3149   HRESULT WINAPI Field15_get_Type_Proxy(Field15 *This,DataTypeEnum *pDataType);
   3150   void __RPC_STUB Field15_get_Type_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3151   HRESULT WINAPI Field15_get_Value_Proxy(Field15 *This,VARIANT *pvar);
   3152   void __RPC_STUB Field15_get_Value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3153   HRESULT WINAPI Field15_put_Value_Proxy(Field15 *This,VARIANT Val);
   3154   void __RPC_STUB Field15_put_Value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3155   HRESULT WINAPI Field15_get_Precision_Proxy(Field15 *This,BYTE *pbPrecision);
   3156   void __RPC_STUB Field15_get_Precision_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3157   HRESULT WINAPI Field15_get_NumericScale_Proxy(Field15 *This,BYTE *pbNumericScale);
   3158   void __RPC_STUB Field15_get_NumericScale_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3159   HRESULT WINAPI Field15_AppendChunk_Proxy(Field15 *This,VARIANT Data);
   3160   void __RPC_STUB Field15_AppendChunk_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3161   HRESULT WINAPI Field15_GetChunk_Proxy(Field15 *This,__LONG32 Length,VARIANT *pvar);
   3162   void __RPC_STUB Field15_GetChunk_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3163   HRESULT WINAPI Field15_get_OriginalValue_Proxy(Field15 *This,VARIANT *pvar);
   3164   void __RPC_STUB Field15_get_OriginalValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3165   HRESULT WINAPI Field15_get_UnderlyingValue_Proxy(Field15 *This,VARIANT *pvar);
   3166   void __RPC_STUB Field15_get_UnderlyingValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3167 #endif
   3168 
   3169 #ifndef __Field20_INTERFACE_DEFINED__
   3170 #define __Field20_INTERFACE_DEFINED__
   3171   EXTERN_C const IID IID_Field20;
   3172 #if defined(__cplusplus) && !defined(CINTERFACE)
   3173   struct Field20 : public _ADO {
   3174   public:
   3175     virtual HRESULT WINAPI get_ActualSize(ADO_LONGPTR *pl) = 0;
   3176     virtual HRESULT WINAPI get_Attributes(__LONG32 *pl) = 0;
   3177     virtual HRESULT WINAPI get_DefinedSize(ADO_LONGPTR *pl) = 0;
   3178     virtual HRESULT WINAPI get_Name(BSTR *pbstr) = 0;
   3179     virtual HRESULT WINAPI get_Type(DataTypeEnum *pDataType) = 0;
   3180     virtual HRESULT WINAPI get_Value(VARIANT *pvar) = 0;
   3181     virtual HRESULT WINAPI put_Value(VARIANT Val) = 0;
   3182     virtual HRESULT WINAPI get_Precision(BYTE *pbPrecision) = 0;
   3183     virtual HRESULT WINAPI get_NumericScale(BYTE *pbNumericScale) = 0;
   3184     virtual HRESULT WINAPI AppendChunk(VARIANT Data) = 0;
   3185     virtual HRESULT WINAPI GetChunk(__LONG32 Length,VARIANT *pvar) = 0;
   3186     virtual HRESULT WINAPI get_OriginalValue(VARIANT *pvar) = 0;
   3187     virtual HRESULT WINAPI get_UnderlyingValue(VARIANT *pvar) = 0;
   3188     virtual HRESULT WINAPI get_DataFormat(IUnknown **ppiDF) = 0;
   3189     virtual HRESULT WINAPI putref_DataFormat(IUnknown *piDF) = 0;
   3190     virtual HRESULT WINAPI put_Precision(BYTE bPrecision) = 0;
   3191     virtual HRESULT WINAPI put_NumericScale(BYTE bScale) = 0;
   3192     virtual HRESULT WINAPI put_Type(DataTypeEnum DataType) = 0;
   3193     virtual HRESULT WINAPI put_DefinedSize(ADO_LONGPTR lSize) = 0;
   3194     virtual HRESULT WINAPI put_Attributes(__LONG32 lAttributes) = 0;
   3195   };
   3196 #else
   3197   typedef struct Field20Vtbl {
   3198     BEGIN_INTERFACE
   3199       HRESULT (WINAPI *QueryInterface)(Field20 *This,REFIID riid,void **ppvObject);
   3200       ULONG (WINAPI *AddRef)(Field20 *This);
   3201       ULONG (WINAPI *Release)(Field20 *This);
   3202       HRESULT (WINAPI *GetTypeInfoCount)(Field20 *This,UINT *pctinfo);
   3203       HRESULT (WINAPI *GetTypeInfo)(Field20 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3204       HRESULT (WINAPI *GetIDsOfNames)(Field20 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3205       HRESULT (WINAPI *Invoke)(Field20 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3206       HRESULT (WINAPI *get_Properties)(Field20 *This,ADOProperties **ppvObject);
   3207       HRESULT (WINAPI *get_ActualSize)(Field20 *This,ADO_LONGPTR *pl);
   3208       HRESULT (WINAPI *get_Attributes)(Field20 *This,__LONG32 *pl);
   3209       HRESULT (WINAPI *get_DefinedSize)(Field20 *This,ADO_LONGPTR *pl);
   3210       HRESULT (WINAPI *get_Name)(Field20 *This,BSTR *pbstr);
   3211       HRESULT (WINAPI *get_Type)(Field20 *This,DataTypeEnum *pDataType);
   3212       HRESULT (WINAPI *get_Value)(Field20 *This,VARIANT *pvar);
   3213       HRESULT (WINAPI *put_Value)(Field20 *This,VARIANT Val);
   3214       HRESULT (WINAPI *get_Precision)(Field20 *This,BYTE *pbPrecision);
   3215       HRESULT (WINAPI *get_NumericScale)(Field20 *This,BYTE *pbNumericScale);
   3216       HRESULT (WINAPI *AppendChunk)(Field20 *This,VARIANT Data);
   3217       HRESULT (WINAPI *GetChunk)(Field20 *This,__LONG32 Length,VARIANT *pvar);
   3218       HRESULT (WINAPI *get_OriginalValue)(Field20 *This,VARIANT *pvar);
   3219       HRESULT (WINAPI *get_UnderlyingValue)(Field20 *This,VARIANT *pvar);
   3220       HRESULT (WINAPI *get_DataFormat)(Field20 *This,IUnknown **ppiDF);
   3221       HRESULT (WINAPI *putref_DataFormat)(Field20 *This,IUnknown *piDF);
   3222       HRESULT (WINAPI *put_Precision)(Field20 *This,BYTE bPrecision);
   3223       HRESULT (WINAPI *put_NumericScale)(Field20 *This,BYTE bScale);
   3224       HRESULT (WINAPI *put_Type)(Field20 *This,DataTypeEnum DataType);
   3225       HRESULT (WINAPI *put_DefinedSize)(Field20 *This,ADO_LONGPTR lSize);
   3226       HRESULT (WINAPI *put_Attributes)(Field20 *This,__LONG32 lAttributes);
   3227     END_INTERFACE
   3228   } Field20Vtbl;
   3229   struct Field20 {
   3230     CONST_VTBL struct Field20Vtbl *lpVtbl;
   3231   };
   3232 #ifdef COBJMACROS
   3233 #define Field20_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   3234 #define Field20_AddRef(This) (This)->lpVtbl -> AddRef(This)
   3235 #define Field20_Release(This) (This)->lpVtbl -> Release(This)
   3236 #define Field20_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   3237 #define Field20_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3238 #define Field20_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3239 #define Field20_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3240 #define Field20_get_Properties(This,ppvObject) (This)->lpVtbl -> get_Properties(This,ppvObject)
   3241 #define Field20_get_ActualSize(This,pl) (This)->lpVtbl -> get_ActualSize(This,pl)
   3242 #define Field20_get_Attributes(This,pl) (This)->lpVtbl -> get_Attributes(This,pl)
   3243 #define Field20_get_DefinedSize(This,pl) (This)->lpVtbl -> get_DefinedSize(This,pl)
   3244 #define Field20_get_Name(This,pbstr) (This)->lpVtbl -> get_Name(This,pbstr)
   3245 #define Field20_get_Type(This,pDataType) (This)->lpVtbl -> get_Type(This,pDataType)
   3246 #define Field20_get_Value(This,pvar) (This)->lpVtbl -> get_Value(This,pvar)
   3247 #define Field20_put_Value(This,Val) (This)->lpVtbl -> put_Value(This,Val)
   3248 #define Field20_get_Precision(This,pbPrecision) (This)->lpVtbl -> get_Precision(This,pbPrecision)
   3249 #define Field20_get_NumericScale(This,pbNumericScale) (This)->lpVtbl -> get_NumericScale(This,pbNumericScale)
   3250 #define Field20_AppendChunk(This,Data) (This)->lpVtbl -> AppendChunk(This,Data)
   3251 #define Field20_GetChunk(This,Length,pvar) (This)->lpVtbl -> GetChunk(This,Length,pvar)
   3252 #define Field20_get_OriginalValue(This,pvar) (This)->lpVtbl -> get_OriginalValue(This,pvar)
   3253 #define Field20_get_UnderlyingValue(This,pvar) (This)->lpVtbl -> get_UnderlyingValue(This,pvar)
   3254 #define Field20_get_DataFormat(This,ppiDF) (This)->lpVtbl -> get_DataFormat(This,ppiDF)
   3255 #define Field20_putref_DataFormat(This,piDF) (This)->lpVtbl -> putref_DataFormat(This,piDF)
   3256 #define Field20_put_Precision(This,bPrecision) (This)->lpVtbl -> put_Precision(This,bPrecision)
   3257 #define Field20_put_NumericScale(This,bScale) (This)->lpVtbl -> put_NumericScale(This,bScale)
   3258 #define Field20_put_Type(This,DataType) (This)->lpVtbl -> put_Type(This,DataType)
   3259 #define Field20_put_DefinedSize(This,lSize) (This)->lpVtbl -> put_DefinedSize(This,lSize)
   3260 #define Field20_put_Attributes(This,lAttributes) (This)->lpVtbl -> put_Attributes(This,lAttributes)
   3261 #endif
   3262 #endif
   3263   HRESULT WINAPI Field20_get_ActualSize_Proxy(Field20 *This,ADO_LONGPTR *pl);
   3264   void __RPC_STUB Field20_get_ActualSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3265   HRESULT WINAPI Field20_get_Attributes_Proxy(Field20 *This,__LONG32 *pl);
   3266   void __RPC_STUB Field20_get_Attributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3267   HRESULT WINAPI Field20_get_DefinedSize_Proxy(Field20 *This,ADO_LONGPTR *pl);
   3268   void __RPC_STUB Field20_get_DefinedSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3269   HRESULT WINAPI Field20_get_Name_Proxy(Field20 *This,BSTR *pbstr);
   3270   void __RPC_STUB Field20_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3271   HRESULT WINAPI Field20_get_Type_Proxy(Field20 *This,DataTypeEnum *pDataType);
   3272   void __RPC_STUB Field20_get_Type_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3273   HRESULT WINAPI Field20_get_Value_Proxy(Field20 *This,VARIANT *pvar);
   3274   void __RPC_STUB Field20_get_Value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3275   HRESULT WINAPI Field20_put_Value_Proxy(Field20 *This,VARIANT Val);
   3276   void __RPC_STUB Field20_put_Value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3277   HRESULT WINAPI Field20_get_Precision_Proxy(Field20 *This,BYTE *pbPrecision);
   3278   void __RPC_STUB Field20_get_Precision_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3279   HRESULT WINAPI Field20_get_NumericScale_Proxy(Field20 *This,BYTE *pbNumericScale);
   3280   void __RPC_STUB Field20_get_NumericScale_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3281   HRESULT WINAPI Field20_AppendChunk_Proxy(Field20 *This,VARIANT Data);
   3282   void __RPC_STUB Field20_AppendChunk_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3283   HRESULT WINAPI Field20_GetChunk_Proxy(Field20 *This,__LONG32 Length,VARIANT *pvar);
   3284   void __RPC_STUB Field20_GetChunk_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3285   HRESULT WINAPI Field20_get_OriginalValue_Proxy(Field20 *This,VARIANT *pvar);
   3286   void __RPC_STUB Field20_get_OriginalValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3287   HRESULT WINAPI Field20_get_UnderlyingValue_Proxy(Field20 *This,VARIANT *pvar);
   3288   void __RPC_STUB Field20_get_UnderlyingValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3289   HRESULT WINAPI Field20_get_DataFormat_Proxy(Field20 *This,IUnknown **ppiDF);
   3290   void __RPC_STUB Field20_get_DataFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3291   HRESULT WINAPI Field20_putref_DataFormat_Proxy(Field20 *This,IUnknown *piDF);
   3292   void __RPC_STUB Field20_putref_DataFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3293   HRESULT WINAPI Field20_put_Precision_Proxy(Field20 *This,BYTE bPrecision);
   3294   void __RPC_STUB Field20_put_Precision_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3295   HRESULT WINAPI Field20_put_NumericScale_Proxy(Field20 *This,BYTE bScale);
   3296   void __RPC_STUB Field20_put_NumericScale_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3297   HRESULT WINAPI Field20_put_Type_Proxy(Field20 *This,DataTypeEnum DataType);
   3298   void __RPC_STUB Field20_put_Type_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3299   HRESULT WINAPI Field20_put_DefinedSize_Proxy(Field20 *This,ADO_LONGPTR lSize);
   3300   void __RPC_STUB Field20_put_DefinedSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3301   HRESULT WINAPI Field20_put_Attributes_Proxy(Field20 *This,__LONG32 lAttributes);
   3302   void __RPC_STUB Field20_put_Attributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3303 #endif
   3304 
   3305 #ifndef __Field_INTERFACE_DEFINED__
   3306 #define __Field_INTERFACE_DEFINED__
   3307   EXTERN_C const IID IID_Field;
   3308 #if defined(__cplusplus) && !defined(CINTERFACE)
   3309   struct ADOField : public Field20 {
   3310   public:
   3311     virtual HRESULT WINAPI get_Status(__LONG32 *pFStatus) = 0;
   3312   };
   3313 #else
   3314   typedef struct FieldVtbl {
   3315     BEGIN_INTERFACE
   3316       HRESULT (WINAPI *QueryInterface)(ADOField *This,REFIID riid,void **ppvObject);
   3317       ULONG (WINAPI *AddRef)(ADOField *This);
   3318       ULONG (WINAPI *Release)(ADOField *This);
   3319       HRESULT (WINAPI *GetTypeInfoCount)(ADOField *This,UINT *pctinfo);
   3320       HRESULT (WINAPI *GetTypeInfo)(ADOField *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3321       HRESULT (WINAPI *GetIDsOfNames)(ADOField *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3322       HRESULT (WINAPI *Invoke)(ADOField *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3323       HRESULT (WINAPI *get_Properties)(ADOField *This,ADOProperties **ppvObject);
   3324       HRESULT (WINAPI *get_ActualSize)(ADOField *This,ADO_LONGPTR *pl);
   3325       HRESULT (WINAPI *get_Attributes)(ADOField *This,__LONG32 *pl);
   3326       HRESULT (WINAPI *get_DefinedSize)(ADOField *This,ADO_LONGPTR *pl);
   3327       HRESULT (WINAPI *get_Name)(ADOField *This,BSTR *pbstr);
   3328       HRESULT (WINAPI *get_Type)(ADOField *This,DataTypeEnum *pDataType);
   3329       HRESULT (WINAPI *get_Value)(ADOField *This,VARIANT *pvar);
   3330       HRESULT (WINAPI *put_Value)(ADOField *This,VARIANT Val);
   3331       HRESULT (WINAPI *get_Precision)(ADOField *This,BYTE *pbPrecision);
   3332       HRESULT (WINAPI *get_NumericScale)(ADOField *This,BYTE *pbNumericScale);
   3333       HRESULT (WINAPI *AppendChunk)(ADOField *This,VARIANT Data);
   3334       HRESULT (WINAPI *GetChunk)(ADOField *This,__LONG32 Length,VARIANT *pvar);
   3335       HRESULT (WINAPI *get_OriginalValue)(ADOField *This,VARIANT *pvar);
   3336       HRESULT (WINAPI *get_UnderlyingValue)(ADOField *This,VARIANT *pvar);
   3337       HRESULT (WINAPI *get_DataFormat)(ADOField *This,IUnknown **ppiDF);
   3338       HRESULT (WINAPI *putref_DataFormat)(ADOField *This,IUnknown *piDF);
   3339       HRESULT (WINAPI *put_Precision)(ADOField *This,BYTE bPrecision);
   3340       HRESULT (WINAPI *put_NumericScale)(ADOField *This,BYTE bScale);
   3341       HRESULT (WINAPI *put_Type)(ADOField *This,DataTypeEnum DataType);
   3342       HRESULT (WINAPI *put_DefinedSize)(ADOField *This,ADO_LONGPTR lSize);
   3343       HRESULT (WINAPI *put_Attributes)(ADOField *This,__LONG32 lAttributes);
   3344       HRESULT (WINAPI *get_Status)(ADOField *This,__LONG32 *pFStatus);
   3345     END_INTERFACE
   3346   } FieldVtbl;
   3347   struct Field {
   3348     CONST_VTBL struct FieldVtbl *lpVtbl;
   3349   };
   3350 #ifdef COBJMACROS
   3351 #define Field_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   3352 #define Field_AddRef(This) (This)->lpVtbl -> AddRef(This)
   3353 #define Field_Release(This) (This)->lpVtbl -> Release(This)
   3354 #define Field_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   3355 #define Field_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3356 #define Field_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3357 #define Field_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3358 #define Field_get_Properties(This,ppvObject) (This)->lpVtbl -> get_Properties(This,ppvObject)
   3359 #define Field_get_ActualSize(This,pl) (This)->lpVtbl -> get_ActualSize(This,pl)
   3360 #define Field_get_Attributes(This,pl) (This)->lpVtbl -> get_Attributes(This,pl)
   3361 #define Field_get_DefinedSize(This,pl) (This)->lpVtbl -> get_DefinedSize(This,pl)
   3362 #define Field_get_Name(This,pbstr) (This)->lpVtbl -> get_Name(This,pbstr)
   3363 #define Field_get_Type(This,pDataType) (This)->lpVtbl -> get_Type(This,pDataType)
   3364 #define Field_get_Value(This,pvar) (This)->lpVtbl -> get_Value(This,pvar)
   3365 #define Field_put_Value(This,Val) (This)->lpVtbl -> put_Value(This,Val)
   3366 #define Field_get_Precision(This,pbPrecision) (This)->lpVtbl -> get_Precision(This,pbPrecision)
   3367 #define Field_get_NumericScale(This,pbNumericScale) (This)->lpVtbl -> get_NumericScale(This,pbNumericScale)
   3368 #define Field_AppendChunk(This,Data) (This)->lpVtbl -> AppendChunk(This,Data)
   3369 #define Field_GetChunk(This,Length,pvar) (This)->lpVtbl -> GetChunk(This,Length,pvar)
   3370 #define Field_get_OriginalValue(This,pvar) (This)->lpVtbl -> get_OriginalValue(This,pvar)
   3371 #define Field_get_UnderlyingValue(This,pvar) (This)->lpVtbl -> get_UnderlyingValue(This,pvar)
   3372 #define Field_get_DataFormat(This,ppiDF) (This)->lpVtbl -> get_DataFormat(This,ppiDF)
   3373 #define Field_putref_DataFormat(This,piDF) (This)->lpVtbl -> putref_DataFormat(This,piDF)
   3374 #define Field_put_Precision(This,bPrecision) (This)->lpVtbl -> put_Precision(This,bPrecision)
   3375 #define Field_put_NumericScale(This,bScale) (This)->lpVtbl -> put_NumericScale(This,bScale)
   3376 #define Field_put_Type(This,DataType) (This)->lpVtbl -> put_Type(This,DataType)
   3377 #define Field_put_DefinedSize(This,lSize) (This)->lpVtbl -> put_DefinedSize(This,lSize)
   3378 #define Field_put_Attributes(This,lAttributes) (This)->lpVtbl -> put_Attributes(This,lAttributes)
   3379 #define Field_get_Status(This,pFStatus) (This)->lpVtbl -> get_Status(This,pFStatus)
   3380 #endif
   3381 #endif
   3382   HRESULT WINAPI Field_get_Status_Proxy(ADOField *This,__LONG32 *pFStatus);
   3383   void __RPC_STUB Field_get_Status_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3384 #endif
   3385 
   3386 #ifndef __Fields15_INTERFACE_DEFINED__
   3387 #define __Fields15_INTERFACE_DEFINED__
   3388   EXTERN_C const IID IID_Fields15;
   3389 #if defined(__cplusplus) && !defined(CINTERFACE)
   3390   struct Fields15 : public _ADOCollection {
   3391   public:
   3392     virtual HRESULT WINAPI get_Item(VARIANT Index,ADOField **ppvObject) = 0;
   3393   };
   3394 #else
   3395   typedef struct Fields15Vtbl {
   3396     BEGIN_INTERFACE
   3397       HRESULT (WINAPI *QueryInterface)(Fields15 *This,REFIID riid,void **ppvObject);
   3398       ULONG (WINAPI *AddRef)(Fields15 *This);
   3399       ULONG (WINAPI *Release)(Fields15 *This);
   3400       HRESULT (WINAPI *GetTypeInfoCount)(Fields15 *This,UINT *pctinfo);
   3401       HRESULT (WINAPI *GetTypeInfo)(Fields15 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3402       HRESULT (WINAPI *GetIDsOfNames)(Fields15 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3403       HRESULT (WINAPI *Invoke)(Fields15 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3404       HRESULT (WINAPI *get_Count)(Fields15 *This,__LONG32 *c);
   3405       HRESULT (WINAPI *_NewEnum)(Fields15 *This,IUnknown **ppvObject);
   3406       HRESULT (WINAPI *Refresh)(Fields15 *This);
   3407       HRESULT (WINAPI *get_Item)(Fields15 *This,VARIANT Index,ADOField **ppvObject);
   3408     END_INTERFACE
   3409   } Fields15Vtbl;
   3410   struct Fields15 {
   3411     CONST_VTBL struct Fields15Vtbl *lpVtbl;
   3412   };
   3413 #ifdef COBJMACROS
   3414 #define Fields15_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   3415 #define Fields15_AddRef(This) (This)->lpVtbl -> AddRef(This)
   3416 #define Fields15_Release(This) (This)->lpVtbl -> Release(This)
   3417 #define Fields15_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   3418 #define Fields15_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3419 #define Fields15_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3420 #define Fields15_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3421 #define Fields15_get_Count(This,c) (This)->lpVtbl -> get_Count(This,c)
   3422 #define Fields15__NewEnum(This,ppvObject) (This)->lpVtbl -> _NewEnum(This,ppvObject)
   3423 #define Fields15_Refresh(This) (This)->lpVtbl -> Refresh(This)
   3424 #define Fields15_get_Item(This,Index,ppvObject) (This)->lpVtbl -> get_Item(This,Index,ppvObject)
   3425 #endif
   3426 #endif
   3427   HRESULT WINAPI Fields15_get_Item_Proxy(Fields15 *This,VARIANT Index,ADOField **ppvObject);
   3428   void __RPC_STUB Fields15_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3429 #endif
   3430 
   3431 #ifndef __Fields20_INTERFACE_DEFINED__
   3432 #define __Fields20_INTERFACE_DEFINED__
   3433   EXTERN_C const IID IID_Fields20;
   3434 #if defined(__cplusplus) && !defined(CINTERFACE)
   3435   struct Fields20 : public Fields15 {
   3436   public:
   3437     virtual HRESULT WINAPI _Append(BSTR Name,DataTypeEnum Type,ADO_LONGPTR DefinedSize = 0,FieldAttributeEnum Attrib = adFldUnspecified) = 0;
   3438     virtual HRESULT WINAPI Delete(VARIANT Index) = 0;
   3439   };
   3440 #else
   3441   typedef struct Fields20Vtbl {
   3442     BEGIN_INTERFACE
   3443       HRESULT (WINAPI *QueryInterface)(Fields20 *This,REFIID riid,void **ppvObject);
   3444       ULONG (WINAPI *AddRef)(Fields20 *This);
   3445       ULONG (WINAPI *Release)(Fields20 *This);
   3446       HRESULT (WINAPI *GetTypeInfoCount)(Fields20 *This,UINT *pctinfo);
   3447       HRESULT (WINAPI *GetTypeInfo)(Fields20 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3448       HRESULT (WINAPI *GetIDsOfNames)(Fields20 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3449       HRESULT (WINAPI *Invoke)(Fields20 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3450       HRESULT (WINAPI *get_Count)(Fields20 *This,__LONG32 *c);
   3451       HRESULT (WINAPI *_NewEnum)(Fields20 *This,IUnknown **ppvObject);
   3452       HRESULT (WINAPI *Refresh)(Fields20 *This);
   3453       HRESULT (WINAPI *get_Item)(Fields20 *This,VARIANT Index,ADOField **ppvObject);
   3454       HRESULT (WINAPI *_Append)(Fields20 *This,BSTR Name,DataTypeEnum Type,ADO_LONGPTR DefinedSize,FieldAttributeEnum Attrib);
   3455       HRESULT (WINAPI *Delete)(Fields20 *This,VARIANT Index);
   3456     END_INTERFACE
   3457   } Fields20Vtbl;
   3458   struct Fields20 {
   3459     CONST_VTBL struct Fields20Vtbl *lpVtbl;
   3460   };
   3461 #ifdef COBJMACROS
   3462 #define Fields20_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   3463 #define Fields20_AddRef(This) (This)->lpVtbl -> AddRef(This)
   3464 #define Fields20_Release(This) (This)->lpVtbl -> Release(This)
   3465 #define Fields20_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   3466 #define Fields20_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3467 #define Fields20_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3468 #define Fields20_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3469 #define Fields20_get_Count(This,c) (This)->lpVtbl -> get_Count(This,c)
   3470 #define Fields20__NewEnum(This,ppvObject) (This)->lpVtbl -> _NewEnum(This,ppvObject)
   3471 #define Fields20_Refresh(This) (This)->lpVtbl -> Refresh(This)
   3472 #define Fields20_get_Item(This,Index,ppvObject) (This)->lpVtbl -> get_Item(This,Index,ppvObject)
   3473 #define Fields20__Append(This,Name,Type,DefinedSize,Attrib) (This)->lpVtbl -> _Append(This,Name,Type,DefinedSize,Attrib)
   3474 #define Fields20_Delete(This,Index) (This)->lpVtbl -> Delete(This,Index)
   3475 #endif
   3476 #endif
   3477   HRESULT WINAPI Fields20__Append_Proxy(Fields20 *This,BSTR Name,DataTypeEnum Type,ADO_LONGPTR DefinedSize,FieldAttributeEnum Attrib);
   3478   void __RPC_STUB Fields20__Append_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3479   HRESULT WINAPI Fields20_Delete_Proxy(Fields20 *This,VARIANT Index);
   3480   void __RPC_STUB Fields20_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3481 #endif
   3482 
   3483 #ifndef __Fields_INTERFACE_DEFINED__
   3484 #define __Fields_INTERFACE_DEFINED__
   3485   EXTERN_C const IID IID_Fields;
   3486 #if defined(__cplusplus) && !defined(CINTERFACE)
   3487   struct ADOFields : public Fields20 {
   3488   public:
   3489     virtual HRESULT WINAPI Append(BSTR Name,DataTypeEnum Type,ADO_LONGPTR DefinedSize,FieldAttributeEnum Attrib,VARIANT FieldValue) = 0;
   3490     virtual HRESULT WINAPI Update(void) = 0;
   3491     virtual HRESULT WINAPI Resync(ResyncEnum ResyncValues = adResyncAllValues) = 0;
   3492     virtual HRESULT WINAPI CancelUpdate(void) = 0;
   3493   };
   3494 #else
   3495   typedef struct FieldsVtbl {
   3496     BEGIN_INTERFACE
   3497       HRESULT (WINAPI *QueryInterface)(ADOFields *This,REFIID riid,void **ppvObject);
   3498       ULONG (WINAPI *AddRef)(ADOFields *This);
   3499       ULONG (WINAPI *Release)(ADOFields *This);
   3500       HRESULT (WINAPI *GetTypeInfoCount)(ADOFields *This,UINT *pctinfo);
   3501       HRESULT (WINAPI *GetTypeInfo)(ADOFields *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3502       HRESULT (WINAPI *GetIDsOfNames)(ADOFields *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3503       HRESULT (WINAPI *Invoke)(ADOFields *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3504       HRESULT (WINAPI *get_Count)(ADOFields *This,__LONG32 *c);
   3505       HRESULT (WINAPI *_NewEnum)(ADOFields *This,IUnknown **ppvObject);
   3506       HRESULT (WINAPI *Refresh)(ADOFields *This);
   3507       HRESULT (WINAPI *get_Item)(ADOFields *This,VARIANT Index,ADOField **ppvObject);
   3508       HRESULT (WINAPI *_Append)(ADOFields *This,BSTR Name,DataTypeEnum Type,ADO_LONGPTR DefinedSize,FieldAttributeEnum Attrib);
   3509       HRESULT (WINAPI *Delete)(ADOFields *This,VARIANT Index);
   3510       HRESULT (WINAPI *Append)(ADOFields *This,BSTR Name,DataTypeEnum Type,ADO_LONGPTR DefinedSize,FieldAttributeEnum Attrib,VARIANT FieldValue);
   3511       HRESULT (WINAPI *Update)(ADOFields *This);
   3512       HRESULT (WINAPI *Resync)(ADOFields *This,ResyncEnum ResyncValues);
   3513       HRESULT (WINAPI *CancelUpdate)(ADOFields *This);
   3514     END_INTERFACE
   3515   } FieldsVtbl;
   3516   struct Fields {
   3517     CONST_VTBL struct FieldsVtbl *lpVtbl;
   3518   };
   3519 #ifdef COBJMACROS
   3520 #define Fields_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   3521 #define Fields_AddRef(This) (This)->lpVtbl -> AddRef(This)
   3522 #define Fields_Release(This) (This)->lpVtbl -> Release(This)
   3523 #define Fields_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   3524 #define Fields_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3525 #define Fields_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3526 #define Fields_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3527 #define Fields_get_Count(This,c) (This)->lpVtbl -> get_Count(This,c)
   3528 #define Fields__NewEnum(This,ppvObject) (This)->lpVtbl -> _NewEnum(This,ppvObject)
   3529 #define Fields_Refresh(This) (This)->lpVtbl -> Refresh(This)
   3530 #define Fields_get_Item(This,Index,ppvObject) (This)->lpVtbl -> get_Item(This,Index,ppvObject)
   3531 #define Fields__Append(This,Name,Type,DefinedSize,Attrib) (This)->lpVtbl -> _Append(This,Name,Type,DefinedSize,Attrib)
   3532 #define Fields_Delete(This,Index) (This)->lpVtbl -> Delete(This,Index)
   3533 #define Fields_Append(This,Name,Type,DefinedSize,Attrib,FieldValue) (This)->lpVtbl -> Append(This,Name,Type,DefinedSize,Attrib,FieldValue)
   3534 #define Fields_Update(This) (This)->lpVtbl -> Update(This)
   3535 #define Fields_Resync(This,ResyncValues) (This)->lpVtbl -> Resync(This,ResyncValues)
   3536 #define Fields_CancelUpdate(This) (This)->lpVtbl -> CancelUpdate(This)
   3537 #endif
   3538 #endif
   3539   HRESULT WINAPI Fields_Append_Proxy(ADOFields *This,BSTR Name,DataTypeEnum Type,ADO_LONGPTR DefinedSize,FieldAttributeEnum Attrib,VARIANT FieldValue);
   3540   void __RPC_STUB Fields_Append_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3541   HRESULT WINAPI Fields_Update_Proxy(ADOFields *This);
   3542   void __RPC_STUB Fields_Update_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3543   HRESULT WINAPI Fields_Resync_Proxy(ADOFields *This,ResyncEnum ResyncValues);
   3544   void __RPC_STUB Fields_Resync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3545   HRESULT WINAPI Fields_CancelUpdate_Proxy(ADOFields *This);
   3546   void __RPC_STUB Fields_CancelUpdate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3547 #endif
   3548 
   3549 #ifndef ___Parameter_INTERFACE_DEFINED__
   3550 #define ___Parameter_INTERFACE_DEFINED__
   3551   EXTERN_C const IID IID__Parameter;
   3552 #if defined(__cplusplus) && !defined(CINTERFACE)
   3553   struct _ADOParameter : public _ADO {
   3554   public:
   3555     virtual HRESULT WINAPI get_Name(BSTR *pbstr) = 0;
   3556     virtual HRESULT WINAPI put_Name(BSTR bstr) = 0;
   3557     virtual HRESULT WINAPI get_Value(VARIANT *pvar) = 0;
   3558     virtual HRESULT WINAPI put_Value(VARIANT val) = 0;
   3559     virtual HRESULT WINAPI get_Type(DataTypeEnum *psDataType) = 0;
   3560     virtual HRESULT WINAPI put_Type(DataTypeEnum sDataType) = 0;
   3561     virtual HRESULT WINAPI put_Direction(ParameterDirectionEnum lParmDirection) = 0;
   3562     virtual HRESULT WINAPI get_Direction(ParameterDirectionEnum *plParmDirection) = 0;
   3563     virtual HRESULT WINAPI put_Precision(BYTE bPrecision) = 0;
   3564     virtual HRESULT WINAPI get_Precision(BYTE *pbPrecision) = 0;
   3565     virtual HRESULT WINAPI put_NumericScale(BYTE bScale) = 0;
   3566     virtual HRESULT WINAPI get_NumericScale(BYTE *pbScale) = 0;
   3567     virtual HRESULT WINAPI put_Size(ADO_LONGPTR l) = 0;
   3568     virtual HRESULT WINAPI get_Size(ADO_LONGPTR *pl) = 0;
   3569     virtual HRESULT WINAPI AppendChunk(VARIANT Val) = 0;
   3570     virtual HRESULT WINAPI get_Attributes(LONG *plParmAttribs) = 0;
   3571     virtual HRESULT WINAPI put_Attributes(LONG lParmAttribs) = 0;
   3572   };
   3573 #else
   3574   typedef struct _ParameterVtbl {
   3575     BEGIN_INTERFACE
   3576       HRESULT (WINAPI *QueryInterface)(_ADOParameter *This,REFIID riid,void **ppvObject);
   3577       ULONG (WINAPI *AddRef)(_ADOParameter *This);
   3578       ULONG (WINAPI *Release)(_ADOParameter *This);
   3579       HRESULT (WINAPI *GetTypeInfoCount)(_ADOParameter *This,UINT *pctinfo);
   3580       HRESULT (WINAPI *GetTypeInfo)(_ADOParameter *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3581       HRESULT (WINAPI *GetIDsOfNames)(_ADOParameter *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3582       HRESULT (WINAPI *Invoke)(_ADOParameter *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3583       HRESULT (WINAPI *get_Properties)(_ADOParameter *This,ADOProperties **ppvObject);
   3584       HRESULT (WINAPI *get_Name)(_ADOParameter *This,BSTR *pbstr);
   3585       HRESULT (WINAPI *put_Name)(_ADOParameter *This,BSTR bstr);
   3586       HRESULT (WINAPI *get_Value)(_ADOParameter *This,VARIANT *pvar);
   3587       HRESULT (WINAPI *put_Value)(_ADOParameter *This,VARIANT val);
   3588       HRESULT (WINAPI *get_Type)(_ADOParameter *This,DataTypeEnum *psDataType);
   3589       HRESULT (WINAPI *put_Type)(_ADOParameter *This,DataTypeEnum sDataType);
   3590       HRESULT (WINAPI *put_Direction)(_ADOParameter *This,ParameterDirectionEnum lParmDirection);
   3591       HRESULT (WINAPI *get_Direction)(_ADOParameter *This,ParameterDirectionEnum *plParmDirection);
   3592       HRESULT (WINAPI *put_Precision)(_ADOParameter *This,BYTE bPrecision);
   3593       HRESULT (WINAPI *get_Precision)(_ADOParameter *This,BYTE *pbPrecision);
   3594       HRESULT (WINAPI *put_NumericScale)(_ADOParameter *This,BYTE bScale);
   3595       HRESULT (WINAPI *get_NumericScale)(_ADOParameter *This,BYTE *pbScale);
   3596       HRESULT (WINAPI *put_Size)(_ADOParameter *This,ADO_LONGPTR l);
   3597       HRESULT (WINAPI *get_Size)(_ADOParameter *This,ADO_LONGPTR *pl);
   3598       HRESULT (WINAPI *AppendChunk)(_ADOParameter *This,VARIANT Val);
   3599       HRESULT (WINAPI *get_Attributes)(_ADOParameter *This,LONG *plParmAttribs);
   3600       HRESULT (WINAPI *put_Attributes)(_ADOParameter *This,LONG lParmAttribs);
   3601     END_INTERFACE
   3602   } _ParameterVtbl;
   3603   struct _Parameter {
   3604     CONST_VTBL struct _ParameterVtbl *lpVtbl;
   3605   };
   3606 #ifdef COBJMACROS
   3607 #define _Parameter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   3608 #define _Parameter_AddRef(This) (This)->lpVtbl -> AddRef(This)
   3609 #define _Parameter_Release(This) (This)->lpVtbl -> Release(This)
   3610 #define _Parameter_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   3611 #define _Parameter_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3612 #define _Parameter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3613 #define _Parameter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3614 #define _Parameter_get_Properties(This,ppvObject) (This)->lpVtbl -> get_Properties(This,ppvObject)
   3615 #define _Parameter_get_Name(This,pbstr) (This)->lpVtbl -> get_Name(This,pbstr)
   3616 #define _Parameter_put_Name(This,bstr) (This)->lpVtbl -> put_Name(This,bstr)
   3617 #define _Parameter_get_Value(This,pvar) (This)->lpVtbl -> get_Value(This,pvar)
   3618 #define _Parameter_put_Value(This,val) (This)->lpVtbl -> put_Value(This,val)
   3619 #define _Parameter_get_Type(This,psDataType) (This)->lpVtbl -> get_Type(This,psDataType)
   3620 #define _Parameter_put_Type(This,sDataType) (This)->lpVtbl -> put_Type(This,sDataType)
   3621 #define _Parameter_put_Direction(This,lParmDirection) (This)->lpVtbl -> put_Direction(This,lParmDirection)
   3622 #define _Parameter_get_Direction(This,plParmDirection) (This)->lpVtbl -> get_Direction(This,plParmDirection)
   3623 #define _Parameter_put_Precision(This,bPrecision) (This)->lpVtbl -> put_Precision(This,bPrecision)
   3624 #define _Parameter_get_Precision(This,pbPrecision) (This)->lpVtbl -> get_Precision(This,pbPrecision)
   3625 #define _Parameter_put_NumericScale(This,bScale) (This)->lpVtbl -> put_NumericScale(This,bScale)
   3626 #define _Parameter_get_NumericScale(This,pbScale) (This)->lpVtbl -> get_NumericScale(This,pbScale)
   3627 #define _Parameter_put_Size(This,l) (This)->lpVtbl -> put_Size(This,l)
   3628 #define _Parameter_get_Size(This,pl) (This)->lpVtbl -> get_Size(This,pl)
   3629 #define _Parameter_AppendChunk(This,Val) (This)->lpVtbl -> AppendChunk(This,Val)
   3630 #define _Parameter_get_Attributes(This,plParmAttribs) (This)->lpVtbl -> get_Attributes(This,plParmAttribs)
   3631 #define _Parameter_put_Attributes(This,lParmAttribs) (This)->lpVtbl -> put_Attributes(This,lParmAttribs)
   3632 #endif
   3633 #endif
   3634   HRESULT WINAPI _Parameter_get_Name_Proxy(_ADOParameter *This,BSTR *pbstr);
   3635   void __RPC_STUB _Parameter_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3636   HRESULT WINAPI _Parameter_put_Name_Proxy(_ADOParameter *This,BSTR bstr);
   3637   void __RPC_STUB _Parameter_put_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3638   HRESULT WINAPI _Parameter_get_Value_Proxy(_ADOParameter *This,VARIANT *pvar);
   3639   void __RPC_STUB _Parameter_get_Value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3640   HRESULT WINAPI _Parameter_put_Value_Proxy(_ADOParameter *This,VARIANT val);
   3641   void __RPC_STUB _Parameter_put_Value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3642   HRESULT WINAPI _Parameter_get_Type_Proxy(_ADOParameter *This,DataTypeEnum *psDataType);
   3643   void __RPC_STUB _Parameter_get_Type_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3644   HRESULT WINAPI _Parameter_put_Type_Proxy(_ADOParameter *This,DataTypeEnum sDataType);
   3645   void __RPC_STUB _Parameter_put_Type_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3646   HRESULT WINAPI _Parameter_put_Direction_Proxy(_ADOParameter *This,ParameterDirectionEnum lParmDirection);
   3647   void __RPC_STUB _Parameter_put_Direction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3648   HRESULT WINAPI _Parameter_get_Direction_Proxy(_ADOParameter *This,ParameterDirectionEnum *plParmDirection);
   3649   void __RPC_STUB _Parameter_get_Direction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3650   HRESULT WINAPI _Parameter_put_Precision_Proxy(_ADOParameter *This,BYTE bPrecision);
   3651   void __RPC_STUB _Parameter_put_Precision_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3652   HRESULT WINAPI _Parameter_get_Precision_Proxy(_ADOParameter *This,BYTE *pbPrecision);
   3653   void __RPC_STUB _Parameter_get_Precision_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3654   HRESULT WINAPI _Parameter_put_NumericScale_Proxy(_ADOParameter *This,BYTE bScale);
   3655   void __RPC_STUB _Parameter_put_NumericScale_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3656   HRESULT WINAPI _Parameter_get_NumericScale_Proxy(_ADOParameter *This,BYTE *pbScale);
   3657   void __RPC_STUB _Parameter_get_NumericScale_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3658   HRESULT WINAPI _Parameter_put_Size_Proxy(_ADOParameter *This,ADO_LONGPTR l);
   3659   void __RPC_STUB _Parameter_put_Size_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3660   HRESULT WINAPI _Parameter_get_Size_Proxy(_ADOParameter *This,ADO_LONGPTR *pl);
   3661   void __RPC_STUB _Parameter_get_Size_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3662   HRESULT WINAPI _Parameter_AppendChunk_Proxy(_ADOParameter *This,VARIANT Val);
   3663   void __RPC_STUB _Parameter_AppendChunk_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3664   HRESULT WINAPI _Parameter_get_Attributes_Proxy(_ADOParameter *This,LONG *plParmAttribs);
   3665   void __RPC_STUB _Parameter_get_Attributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3666   HRESULT WINAPI _Parameter_put_Attributes_Proxy(_ADOParameter *This,LONG lParmAttribs);
   3667   void __RPC_STUB _Parameter_put_Attributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3668 #endif
   3669   EXTERN_C const CLSID CLSID_Parameter;
   3670 #ifdef __cplusplus
   3671   Parameter;
   3672 #endif
   3673 
   3674 #ifndef __Parameters_INTERFACE_DEFINED__
   3675 #define __Parameters_INTERFACE_DEFINED__
   3676   EXTERN_C const IID IID_Parameters;
   3677 #if defined(__cplusplus) && !defined(CINTERFACE)
   3678   struct
   3679 ADOParameters : public _ADODynaCollection {
   3680   public:
   3681     virtual HRESULT WINAPI get_Item(VARIANT Index,_ADOParameter **ppvObject) = 0;
   3682   };
   3683 #else
   3684   typedef struct ParametersVtbl {
   3685     BEGIN_INTERFACE
   3686       HRESULT (WINAPI *QueryInterface)(ADOParameters *This,REFIID riid,void **ppvObject);
   3687       ULONG (WINAPI *AddRef)(ADOParameters *This);
   3688       ULONG (WINAPI *Release)(ADOParameters *This);
   3689       HRESULT (WINAPI *GetTypeInfoCount)(ADOParameters *This,UINT *pctinfo);
   3690       HRESULT (WINAPI *GetTypeInfo)(ADOParameters *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3691       HRESULT (WINAPI *GetIDsOfNames)(ADOParameters *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3692       HRESULT (WINAPI *Invoke)(ADOParameters *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3693       HRESULT (WINAPI *get_Count)(ADOParameters *This,__LONG32 *c);
   3694       HRESULT (WINAPI *_NewEnum)(ADOParameters *This,IUnknown **ppvObject);
   3695       HRESULT (WINAPI *Refresh)(ADOParameters *This);
   3696       HRESULT (WINAPI *Append)(ADOParameters *This,IDispatch *Object);
   3697       HRESULT (WINAPI *Delete)(ADOParameters *This,VARIANT Index);
   3698       HRESULT (WINAPI *get_Item)(ADOParameters *This,VARIANT Index,_ADOParameter **ppvObject);
   3699     END_INTERFACE
   3700   } ParametersVtbl;
   3701   struct Parameters {
   3702     CONST_VTBL struct ParametersVtbl *lpVtbl;
   3703   };
   3704 #ifdef COBJMACROS
   3705 #define Parameters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   3706 #define Parameters_AddRef(This) (This)->lpVtbl -> AddRef(This)
   3707 #define Parameters_Release(This) (This)->lpVtbl -> Release(This)
   3708 #define Parameters_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   3709 #define Parameters_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3710 #define Parameters_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3711 #define Parameters_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3712 #define Parameters_get_Count(This,c) (This)->lpVtbl -> get_Count(This,c)
   3713 #define Parameters__NewEnum(This,ppvObject) (This)->lpVtbl -> _NewEnum(This,ppvObject)
   3714 #define Parameters_Refresh(This) (This)->lpVtbl -> Refresh(This)
   3715 #define Parameters_Append(This,Object) (This)->lpVtbl -> Append(This,Object)
   3716 #define Parameters_Delete(This,Index) (This)->lpVtbl -> Delete(This,Index)
   3717 #define Parameters_get_Item(This,Index,ppvObject) (This)->lpVtbl -> get_Item(This,Index,ppvObject)
   3718 #endif
   3719 #endif
   3720   HRESULT WINAPI Parameters_get_Item_Proxy(ADOParameters *This,VARIANT Index,_ADOParameter **ppvObject);
   3721   void __RPC_STUB Parameters_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3722 #endif
   3723 
   3724 #ifndef __Property_INTERFACE_DEFINED__
   3725 #define __Property_INTERFACE_DEFINED__
   3726   EXTERN_C const IID IID_Property;
   3727 #if defined(__cplusplus) && !defined(CINTERFACE)
   3728   struct ADOProperty : public IDispatch {
   3729   public:
   3730     virtual HRESULT WINAPI get_Value(VARIANT *pval) = 0;
   3731     virtual HRESULT WINAPI put_Value(VARIANT val) = 0;
   3732     virtual HRESULT WINAPI get_Name(BSTR *pbstr) = 0;
   3733     virtual HRESULT WINAPI get_Type(DataTypeEnum *ptype) = 0;
   3734     virtual HRESULT WINAPI get_Attributes(__LONG32 *plAttributes) = 0;
   3735     virtual HRESULT WINAPI put_Attributes(__LONG32 lAttributes) = 0;
   3736   };
   3737 #else
   3738   typedef struct PropertyVtbl {
   3739     BEGIN_INTERFACE
   3740       HRESULT (WINAPI *QueryInterface)(ADOProperty *This,REFIID riid,void **ppvObject);
   3741       ULONG (WINAPI *AddRef)(ADOProperty *This);
   3742       ULONG (WINAPI *Release)(ADOProperty *This);
   3743       HRESULT (WINAPI *GetTypeInfoCount)(ADOProperty *This,UINT *pctinfo);
   3744       HRESULT (WINAPI *GetTypeInfo)(ADOProperty *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3745       HRESULT (WINAPI *GetIDsOfNames)(ADOProperty *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3746       HRESULT (WINAPI *Invoke)(ADOProperty *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3747       HRESULT (WINAPI *get_Value)(ADOProperty *This,VARIANT *pval);
   3748       HRESULT (WINAPI *put_Value)(ADOProperty *This,VARIANT val);
   3749       HRESULT (WINAPI *get_Name)(ADOProperty *This,BSTR *pbstr);
   3750       HRESULT (WINAPI *get_Type)(ADOProperty *This,DataTypeEnum *ptype);
   3751       HRESULT (WINAPI *get_Attributes)(ADOProperty *This,__LONG32 *plAttributes);
   3752       HRESULT (WINAPI *put_Attributes)(ADOProperty *This,__LONG32 lAttributes);
   3753     END_INTERFACE
   3754   } PropertyVtbl;
   3755   struct Property {
   3756     CONST_VTBL struct PropertyVtbl *lpVtbl;
   3757   };
   3758 #ifdef COBJMACROS
   3759 #define Property_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   3760 #define Property_AddRef(This) (This)->lpVtbl -> AddRef(This)
   3761 #define Property_Release(This) (This)->lpVtbl -> Release(This)
   3762 #define Property_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   3763 #define Property_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3764 #define Property_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3765 #define Property_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3766 #define Property_get_Value(This,pval) (This)->lpVtbl -> get_Value(This,pval)
   3767 #define Property_put_Value(This,val) (This)->lpVtbl -> put_Value(This,val)
   3768 #define Property_get_Name(This,pbstr) (This)->lpVtbl -> get_Name(This,pbstr)
   3769 #define Property_get_Type(This,ptype) (This)->lpVtbl -> get_Type(This,ptype)
   3770 #define Property_get_Attributes(This,plAttributes) (This)->lpVtbl -> get_Attributes(This,plAttributes)
   3771 #define Property_put_Attributes(This,lAttributes) (This)->lpVtbl -> put_Attributes(This,lAttributes)
   3772 #endif
   3773 #endif
   3774   HRESULT WINAPI Property_get_Value_Proxy(ADOProperty *This,VARIANT *pval);
   3775   void __RPC_STUB Property_get_Value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3776   HRESULT WINAPI Property_put_Value_Proxy(ADOProperty *This,VARIANT val);
   3777   void __RPC_STUB Property_put_Value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3778   HRESULT WINAPI Property_get_Name_Proxy(ADOProperty *This,BSTR *pbstr);
   3779   void __RPC_STUB Property_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3780   HRESULT WINAPI Property_get_Type_Proxy(ADOProperty *This,DataTypeEnum *ptype);
   3781   void __RPC_STUB Property_get_Type_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3782   HRESULT WINAPI Property_get_Attributes_Proxy(ADOProperty *This,__LONG32 *plAttributes);
   3783   void __RPC_STUB Property_get_Attributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3784   HRESULT WINAPI Property_put_Attributes_Proxy(ADOProperty *This,__LONG32 lAttributes);
   3785   void __RPC_STUB Property_put_Attributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3786 #endif
   3787 
   3788 #ifndef __Properties_INTERFACE_DEFINED__
   3789 #define __Properties_INTERFACE_DEFINED__
   3790   EXTERN_C const IID IID_Properties;
   3791 #if defined(__cplusplus) && !defined(CINTERFACE)
   3792   struct ADOProperties : public _ADOCollection {
   3793   public:
   3794     virtual HRESULT WINAPI get_Item(VARIANT Index,ADOProperty **ppvObject) = 0;
   3795 
   3796   };
   3797 #else
   3798   typedef struct PropertiesVtbl {
   3799     BEGIN_INTERFACE
   3800       HRESULT (WINAPI *QueryInterface)(ADOProperties *This,REFIID riid,void **ppvObject);
   3801       ULONG (WINAPI *AddRef)(ADOProperties *This);
   3802       ULONG (WINAPI *Release)(ADOProperties *This);
   3803       HRESULT (WINAPI *GetTypeInfoCount)(ADOProperties *This,UINT *pctinfo);
   3804       HRESULT (WINAPI *GetTypeInfo)(ADOProperties *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3805       HRESULT (WINAPI *GetIDsOfNames)(ADOProperties *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3806       HRESULT (WINAPI *Invoke)(ADOProperties *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3807       HRESULT (WINAPI *get_Count)(ADOProperties *This,__LONG32 *c);
   3808       HRESULT (WINAPI *_NewEnum)(ADOProperties *This,IUnknown **ppvObject);
   3809       HRESULT (WINAPI *Refresh)(ADOProperties *This);
   3810       HRESULT (WINAPI *get_Item)(ADOProperties *This,VARIANT Index,ADOProperty **ppvObject);
   3811     END_INTERFACE
   3812   } PropertiesVtbl;
   3813   struct Properties {
   3814     CONST_VTBL struct PropertiesVtbl *lpVtbl;
   3815   };
   3816 #ifdef COBJMACROS
   3817 #define Properties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
   3818 #define Properties_AddRef(This) (This)->lpVtbl -> AddRef(This)
   3819 #define Properties_Release(This) (This)->lpVtbl -> Release(This)
   3820 #define Properties_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
   3821 #define Properties_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3822 #define Properties_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3823 #define Properties_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3824 #define Properties_get_Count(This,c) (This)->lpVtbl -> get_Count(This,c)
   3825 #define Properties__NewEnum(This,ppvObject) (This)->lpVtbl -> _NewEnum(This,ppvObject)
   3826 #define Properties_Refresh(This) (This)->lpVtbl -> Refresh(This)
   3827 #define Properties_get_Item(This,Index,ppvObject) (This)->lpVtbl -> get_Item(This,Index,ppvObject)
   3828 #endif
   3829 #endif
   3830   HRESULT WINAPI Properties_get_Item_Proxy(ADOProperties *This,VARIANT Index,ADOProperty **ppvObject);
   3831   void __RPC_STUB Properties_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3832 #endif
   3833 #endif
   3834 
   3835   extern RPC_IF_HANDLE __MIDL_itf_m_bobj_0150_v0_0_c_ifspec;
   3836   extern RPC_IF_HANDLE __MIDL_itf_m_bobj_0150_v0_0_s_ifspec;
   3837 
   3838 #ifdef __cplusplus
   3839 }
   3840 #endif
   3841 #endif
   3842 #define ADOCommand _ADOCommand
   3843 #define ADORecordset _ADORecordset
   3844 #define ADOTransaction _ADOTransaction
   3845 #define ADOParameter _ADOParameter
   3846 #define ADOConnection _ADOConnection
   3847 #define ADOCollection _ADOCollection
   3848 #define ADODynaCollection _ADODynaCollection
   3849 #define ADORecord _ADORecord
   3850 #define ADORecField _ADORecField
   3851 #define ADOStream _ADOStream
   3852 #endif
   3853