home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 May / PCFMay2001.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / adoint.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  488.9 KB  |  10,852 lines

  1. //--------------------------------------------------------------------
  2. // Microsoft ADO
  3. //
  4. // (c) 1996-1998 Microsoft Corporation.  All Rights Reserved.
  5. //
  6. // @doc
  7. //
  8. // @module    adoint.h | ADO Interface header
  9. //
  10. // @devnote None
  11. //--------------------------------------------------------------------
  12. #ifndef _ADOINT_H_
  13. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  14. #define _ADOINT_H_
  15.  
  16. #ifndef _INC_TCHAR
  17. #include <tchar.h>
  18. #endif
  19.  
  20. #if _MSC_VER >= 1100
  21. #define DECLSPEC_UUID(x)    __declspec(uuid(x))
  22. #else
  23. #define DECLSPEC_UUID(x)
  24. #endif
  25.  
  26.  
  27. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  28. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  29.  /* File created by MIDL compiler version 5.03.0266 */
  30. /* at Mon May 24 01:27:07 1999
  31.  */
  32. /* Compiler settings for m_bobj.odl:
  33.     Os (OptLev=s), W4, Zp8, env=Win32 (32b run), ms_ext, c_ext
  34.     error checks: allocation ref bounds_check enum stub_data 
  35.     VC __declspec() decoration level: 
  36.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  37.          DECLSPEC_UUID(), MIDL_INTERFACE()
  38. */
  39. //@@MIDL_FILE_HEADING(  )
  40. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  41. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  42. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  43. #endif
  44. #include "rpc.h"
  45. #include "rpcndr.h"
  46. #ifndef __m_bobj_h__
  47. #define __m_bobj_h__
  48. /* Forward Declarations */ 
  49. #ifndef ___ADOCollection_FWD_DEFINED__
  50. #define ___ADOCollection_FWD_DEFINED__
  51. typedef interface _ADOCollection _ADOCollection;
  52. #endif     /* ___ADOCollection_FWD_DEFINED__ */
  53. #ifndef ___ADODynaCollection_FWD_DEFINED__
  54. #define ___ADODynaCollection_FWD_DEFINED__
  55. typedef interface _ADODynaCollection _ADODynaCollection;
  56. #endif     /* ___ADODynaCollection_FWD_DEFINED__ */
  57. #ifndef ___ADO_FWD_DEFINED__
  58. #define ___ADO_FWD_DEFINED__
  59. typedef interface _ADO _ADO;
  60. #endif     /* ___ADO_FWD_DEFINED__ */
  61. #ifndef __Error_FWD_DEFINED__
  62. #define __Error_FWD_DEFINED__
  63. typedef interface ADOError Error;
  64. #endif     /* __Error_FWD_DEFINED__ */
  65. #ifndef __Errors_FWD_DEFINED__
  66. #define __Errors_FWD_DEFINED__
  67. typedef interface ADOErrors Errors;
  68. #endif     /* __Errors_FWD_DEFINED__ */
  69. #ifndef __Command15_FWD_DEFINED__
  70. #define __Command15_FWD_DEFINED__
  71. typedef interface Command15 Command15;
  72. #endif     /* __Command15_FWD_DEFINED__ */
  73. #ifndef ___Command_FWD_DEFINED__
  74. #define ___Command_FWD_DEFINED__
  75. typedef interface _ADOCommand _Command;
  76. #endif     /* ___Command_FWD_DEFINED__ */
  77. #ifndef __ConnectionEventsVt_FWD_DEFINED__
  78. #define __ConnectionEventsVt_FWD_DEFINED__
  79. typedef interface ConnectionEventsVt ConnectionEventsVt;
  80. #endif     /* __ConnectionEventsVt_FWD_DEFINED__ */
  81. #ifndef __RecordsetEventsVt_FWD_DEFINED__
  82. #define __RecordsetEventsVt_FWD_DEFINED__
  83. typedef interface RecordsetEventsVt RecordsetEventsVt;
  84. #endif     /* __RecordsetEventsVt_FWD_DEFINED__ */
  85. #ifndef __ConnectionEvents_FWD_DEFINED__
  86. #define __ConnectionEvents_FWD_DEFINED__
  87. typedef interface ConnectionEvents ConnectionEvents;
  88. #endif     /* __ConnectionEvents_FWD_DEFINED__ */
  89. #ifndef __RecordsetEvents_FWD_DEFINED__
  90. #define __RecordsetEvents_FWD_DEFINED__
  91. typedef interface RecordsetEvents RecordsetEvents;
  92. #endif     /* __RecordsetEvents_FWD_DEFINED__ */
  93. #ifndef __Connection15_FWD_DEFINED__
  94. #define __Connection15_FWD_DEFINED__
  95. typedef interface Connection15 Connection15;
  96. #endif     /* __Connection15_FWD_DEFINED__ */
  97. #ifndef ___Connection_FWD_DEFINED__
  98. #define ___Connection_FWD_DEFINED__
  99. typedef interface _ADOConnection _Connection;
  100. #endif     /* ___Connection_FWD_DEFINED__ */
  101. #ifndef __ADOConnectionConstruction15_FWD_DEFINED__
  102. #define __ADOConnectionConstruction15_FWD_DEFINED__
  103. typedef interface ADOConnectionConstruction15 ADOConnectionConstruction15;
  104. #endif     /* __ADOConnectionConstruction15_FWD_DEFINED__ */
  105. #ifndef __ADOConnectionConstruction_FWD_DEFINED__
  106. #define __ADOConnectionConstruction_FWD_DEFINED__
  107. typedef interface ADOConnectionConstruction ADOConnectionConstruction;
  108. #endif     /* __ADOConnectionConstruction_FWD_DEFINED__ */
  109. #ifndef __Connection_FWD_DEFINED__
  110. #define __Connection_FWD_DEFINED__
  111. #ifdef __cplusplus
  112. typedef class ADOConnection Connection;
  113. #else
  114. typedef struct ADOConnection Connection;
  115. #endif /* __cplusplus */
  116. #endif     /* __Connection_FWD_DEFINED__ */
  117. #ifndef ___Record_FWD_DEFINED__
  118. #define ___Record_FWD_DEFINED__
  119. typedef interface _ADORecord _Record;
  120. #endif     /* ___Record_FWD_DEFINED__ */
  121. #ifndef __Record_FWD_DEFINED__
  122. #define __Record_FWD_DEFINED__
  123. #ifdef __cplusplus
  124. typedef class ADORecord Record;
  125. #else
  126. typedef struct ADORecord Record;
  127. #endif /* __cplusplus */
  128. #endif     /* __Record_FWD_DEFINED__ */
  129. #ifndef __IRecFields_FWD_DEFINED__
  130. #define __IRecFields_FWD_DEFINED__
  131. typedef interface IRecADOFields IRecFields;
  132. #endif     /* __IRecFields_FWD_DEFINED__ */
  133. #ifndef ___Stream_FWD_DEFINED__
  134. #define ___Stream_FWD_DEFINED__
  135. typedef interface _ADOStream _Stream;
  136. #endif     /* ___Stream_FWD_DEFINED__ */
  137. #ifndef __Stream_FWD_DEFINED__
  138. #define __Stream_FWD_DEFINED__
  139. #ifdef __cplusplus
  140. typedef class ADOStream Stream;
  141. #else
  142. typedef struct ADOStream Stream;
  143. #endif /* __cplusplus */
  144. #endif     /* __Stream_FWD_DEFINED__ */
  145. #ifndef __ADORecordConstruction_FWD_DEFINED__
  146. #define __ADORecordConstruction_FWD_DEFINED__
  147. typedef interface ADORecordConstruction ADORecordConstruction;
  148. #endif     /* __ADORecordConstruction_FWD_DEFINED__ */
  149. #ifndef __ADOStreamConstruction_FWD_DEFINED__
  150. #define __ADOStreamConstruction_FWD_DEFINED__
  151. typedef interface ADOStreamConstruction ADOStreamConstruction;
  152. #endif     /* __ADOStreamConstruction_FWD_DEFINED__ */
  153. #ifndef __ADOCommandConstruction_FWD_DEFINED__
  154. #define __ADOCommandConstruction_FWD_DEFINED__
  155. typedef interface ADOCommandConstruction ADOCommandConstruction;
  156. #endif     /* __ADOCommandConstruction_FWD_DEFINED__ */
  157. #ifndef __Command_FWD_DEFINED__
  158. #define __Command_FWD_DEFINED__
  159. #ifdef __cplusplus
  160. typedef class ADOCommand Command;
  161. #else
  162. typedef struct ADOCommand Command;
  163. #endif /* __cplusplus */
  164. #endif     /* __Command_FWD_DEFINED__ */
  165. #ifndef __Recordset_FWD_DEFINED__
  166. #define __Recordset_FWD_DEFINED__
  167. #ifdef __cplusplus
  168. typedef class ADORecordset Recordset;
  169. #else
  170. typedef struct ADORecordset Recordset;
  171. #endif /* __cplusplus */
  172. #endif     /* __Recordset_FWD_DEFINED__ */
  173. #ifndef __Recordset15_FWD_DEFINED__
  174. #define __Recordset15_FWD_DEFINED__
  175. typedef interface Recordset15 Recordset15;
  176. #endif     /* __Recordset15_FWD_DEFINED__ */
  177. #ifndef __Recordset20_FWD_DEFINED__
  178. #define __Recordset20_FWD_DEFINED__
  179. typedef interface Recordset20 Recordset20;
  180. #endif     /* __Recordset20_FWD_DEFINED__ */
  181. #ifndef __Recordset21_FWD_DEFINED__
  182. #define __Recordset21_FWD_DEFINED__
  183. typedef interface Recordset21 Recordset21;
  184. #endif     /* __Recordset21_FWD_DEFINED__ */
  185. #ifndef ___Recordset_FWD_DEFINED__
  186. #define ___Recordset_FWD_DEFINED__
  187. typedef interface _ADORecordset _Recordset;
  188. #endif     /* ___Recordset_FWD_DEFINED__ */
  189. #ifndef __ADORecordsetConstruction_FWD_DEFINED__
  190. #define __ADORecordsetConstruction_FWD_DEFINED__
  191. typedef interface ADORecordsetConstruction ADORecordsetConstruction;
  192. #endif     /* __ADORecordsetConstruction_FWD_DEFINED__ */
  193. #ifndef __Field15_FWD_DEFINED__
  194. #define __Field15_FWD_DEFINED__
  195. typedef interface Field15 Field15;
  196. #endif     /* __Field15_FWD_DEFINED__ */
  197. #ifndef __Field20_FWD_DEFINED__
  198. #define __Field20_FWD_DEFINED__
  199. typedef interface Field20 Field20;
  200. #endif     /* __Field20_FWD_DEFINED__ */
  201. #ifndef __Field_FWD_DEFINED__
  202. #define __Field_FWD_DEFINED__
  203. typedef interface ADOField Field;
  204. #endif     /* __Field_FWD_DEFINED__ */
  205. #ifndef __Fields15_FWD_DEFINED__
  206. #define __Fields15_FWD_DEFINED__
  207. typedef interface Fields15 Fields15;
  208. #endif     /* __Fields15_FWD_DEFINED__ */
  209. #ifndef __Fields20_FWD_DEFINED__
  210. #define __Fields20_FWD_DEFINED__
  211. typedef interface Fields20 Fields20;
  212. #endif     /* __Fields20_FWD_DEFINED__ */
  213. #ifndef __Fields_FWD_DEFINED__
  214. #define __Fields_FWD_DEFINED__
  215. typedef interface ADOFields Fields;
  216. #endif     /* __Fields_FWD_DEFINED__ */
  217. #ifndef ___Parameter_FWD_DEFINED__
  218. #define ___Parameter_FWD_DEFINED__
  219. typedef interface _ADOParameter _Parameter;
  220. #endif     /* ___Parameter_FWD_DEFINED__ */
  221. #ifndef __Parameter_FWD_DEFINED__
  222. #define __Parameter_FWD_DEFINED__
  223. #ifdef __cplusplus
  224. typedef class ADOParameter Parameter;
  225. #else
  226. typedef struct ADOParameter Parameter;
  227. #endif /* __cplusplus */
  228. #endif     /* __Parameter_FWD_DEFINED__ */
  229. #ifndef __Parameters_FWD_DEFINED__
  230. #define __Parameters_FWD_DEFINED__
  231. typedef interface ADOParameters Parameters;
  232. #endif     /* __Parameters_FWD_DEFINED__ */
  233. #ifndef __Property_FWD_DEFINED__
  234. #define __Property_FWD_DEFINED__
  235. typedef interface ADOProperty Property;
  236. #endif     /* __Property_FWD_DEFINED__ */
  237. #ifndef __Properties_FWD_DEFINED__
  238. #define __Properties_FWD_DEFINED__
  239. typedef interface ADOProperties Properties;
  240. #endif     /* __Properties_FWD_DEFINED__ */
  241. #ifdef __cplusplus
  242. extern "C"{
  243. #endif 
  244. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  245. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  246. /* interface __MIDL_itf_m_bobj_0000 */
  247. /* [local] */ 
  248. #ifdef _WIN64
  249. // Number of rows
  250. typedef LONGLONG                ADO_DBLONGPTR;
  251. #else
  252. // Number of rows
  253. typedef long ADO_DBLONGPTR;
  254. #endif    // _WIN64
  255. extern RPC_IF_HANDLE __MIDL_itf_m_bobj_0000_v0_0_c_ifspec;
  256. extern RPC_IF_HANDLE __MIDL_itf_m_bobj_0000_v0_0_s_ifspec;
  257. #ifndef __ADODB_LIBRARY_DEFINED__
  258. #define __ADODB_LIBRARY_DEFINED__
  259. /* library ADODB */
  260. /* [helpstring][helpfile][version][uuid] */ 
  261. typedef /* [uuid][helpcontext][public] */  DECLSPEC_UUID("0000051B-0000-0010-8000-00AA006D2EA4") 
  262. enum CursorTypeEnum
  263.     {    adOpenUnspecified    = -1,
  264.     adOpenForwardOnly    = 0,
  265.     adOpenKeyset    = 1,
  266.     adOpenDynamic    = 2,
  267.     adOpenStatic    = 3
  268.     }    CursorTypeEnum;
  269. typedef /* [uuid][helpcontext] */  DECLSPEC_UUID("0000051C-0000-0010-8000-00AA006D2EA4") 
  270. enum CursorOptionEnum
  271.     {    adHoldRecords    = 0x100,
  272.     adMovePrevious    = 0x200,
  273.     adAddNew    = 0x1000400,
  274.     adDelete    = 0x1000800,
  275.     adUpdate    = 0x1008000,
  276.     adBookmark    = 0x2000,
  277.     adApproxPosition    = 0x4000,
  278.     adUpdateBatch    = 0x10000,
  279.     adResync    = 0x20000,
  280.     adNotify    = 0x40000,
  281.     adFind    = 0x80000,
  282.     adSeek    = 0x400000,
  283.     adIndex    = 0x800000
  284.     }    CursorOptionEnum;
  285. typedef /* [uuid][helpcontext] */  DECLSPEC_UUID("0000051D-0000-0010-8000-00AA006D2EA4") 
  286. enum LockTypeEnum
  287.     {    adLockUnspecified    = -1,
  288.     adLockReadOnly    = 1,
  289.     adLockPessimistic    = 2,
  290.     adLockOptimistic    = 3,
  291.     adLockBatchOptimistic    = 4
  292.     }    LockTypeEnum;
  293. typedef /* [uuid][helpcontext] */  DECLSPEC_UUID("0000051E-0000-0010-8000-00AA006D2EA4") 
  294. enum ExecuteOptionEnum
  295.     {    adOptionUnspecified    = -1,
  296.     adAsyncExecute    = 0x10,
  297.     adAsyncFetch    = 0x20,
  298.     adAsyncFetchNonBlocking    = 0x40,
  299.     adExecuteNoRecords    = 0x80
  300.     }    ExecuteOptionEnum;
  301. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000541-0000-0010-8000-00AA006D2EA4") 
  302. enum ConnectOptionEnum
  303.     {    adConnectUnspecified    = -1,
  304.     adAsyncConnect    = 0x10
  305.     }    ConnectOptionEnum;
  306. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000532-0000-0010-8000-00AA006D2EA4") 
  307. enum ObjectStateEnum
  308.     {    adStateClosed    = 0,
  309.     adStateOpen    = 0x1,
  310.     adStateConnecting    = 0x2,
  311.     adStateExecuting    = 0x4,
  312.     adStateFetching    = 0x8
  313.     }    ObjectStateEnum;
  314. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("0000052F-0000-0010-8000-00AA006D2EA4") 
  315. enum CursorLocationEnum
  316.     {    adUseNone    = 1,
  317.     adUseServer    = 2,
  318.     adUseClient    = 3,
  319.     adUseClientBatch    = 3
  320.     }    CursorLocationEnum;
  321. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("0000051F-0000-0010-8000-00AA006D2EA4") 
  322. enum DataTypeEnum
  323.     {    adEmpty    = 0,
  324.     adTinyInt    = 16,
  325.     adSmallInt    = 2,
  326.     adInteger    = 3,
  327.     adBigInt    = 20,
  328.     adUnsignedTinyInt    = 17,
  329.     adUnsignedSmallInt    = 18,
  330.     adUnsignedInt    = 19,
  331.     adUnsignedBigInt    = 21,
  332.     adSingle    = 4,
  333.     adDouble    = 5,
  334.     adCurrency    = 6,
  335.     adDecimal    = 14,
  336.     adNumeric    = 131,
  337.     adBoolean    = 11,
  338.     adError    = 10,
  339.     adUserDefined    = 132,
  340.     adVariant    = 12,
  341.     adIDispatch    = 9,
  342.     adIUnknown    = 13,
  343.     adGUID    = 72,
  344.     adDate    = 7,
  345.     adDBDate    = 133,
  346.     adDBTime    = 134,
  347.     adDBTimeStamp    = 135,
  348.     adBSTR    = 8,
  349.     adChar    = 129,
  350.     adVarChar    = 200,
  351.     adLongVarChar    = 201,
  352.     adWChar    = 130,
  353.     adVarWChar    = 202,
  354.     adLongVarWChar    = 203,
  355.     adBinary    = 128,
  356.     adVarBinary    = 204,
  357.     adLongVarBinary    = 205,
  358.     adChapter    = 136,
  359.     adFileTime    = 64,
  360.     adPropVariant    = 138,
  361.     adVarNumeric    = 139,
  362.     adArray    = 0x2000
  363.     }    DataTypeEnum;
  364. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000525-0000-0010-8000-00AA006D2EA4") 
  365. enum FieldAttributeEnum
  366.     {    adFldUnspecified    = -1,
  367.     adFldMayDefer    = 0x2,
  368.     adFldUpdatable    = 0x4,
  369.     adFldUnknownUpdatable    = 0x8,
  370.     adFldFixed    = 0x10,
  371.     adFldIsNullable    = 0x20,
  372.     adFldMayBeNull    = 0x40,
  373.     adFldLong    = 0x80,
  374.     adFldRowID    = 0x100,
  375.     adFldRowVersion    = 0x200,
  376.     adFldCacheDeferred    = 0x1000,
  377.     adFldIsChapter    = 0x2000,
  378.     adFldNegativeScale    = 0x4000,
  379.     adFldKeyColumn    = 0x8000,
  380.     adFldIsRowURL    = 0x10000,
  381.     adFldIsDefaultStream    = 0x20000,
  382.     adFldIsCollection    = 0x40000
  383.     }    FieldAttributeEnum;
  384. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000526-0000-0010-8000-00AA006D2EA4") 
  385. enum EditModeEnum
  386.     {    adEditNone    = 0,
  387.     adEditInProgress    = 0x1,
  388.     adEditAdd    = 0x2,
  389.     adEditDelete    = 0x4
  390.     }    EditModeEnum;
  391. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000527-0000-0010-8000-00AA006D2EA4") 
  392. enum RecordStatusEnum
  393.     {    adRecOK    = 0,
  394.     adRecNew    = 0x1,
  395.     adRecModified    = 0x2,
  396.     adRecDeleted    = 0x4,
  397.     adRecUnmodified    = 0x8,
  398.     adRecInvalid    = 0x10,
  399.     adRecMultipleChanges    = 0x40,
  400.     adRecPendingChanges    = 0x80,
  401.     adRecCanceled    = 0x100,
  402.     adRecCantRelease    = 0x400,
  403.     adRecConcurrencyViolation    = 0x800,
  404.     adRecIntegrityViolation    = 0x1000,
  405.     adRecMaxChangesExceeded    = 0x2000,
  406.     adRecObjectOpen    = 0x4000,
  407.     adRecOutOfMemory    = 0x8000,
  408.     adRecPermissionDenied    = 0x10000,
  409.     adRecSchemaViolation    = 0x20000,
  410.     adRecDBDeleted    = 0x40000
  411.     }    RecordStatusEnum;
  412. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000542-0000-0010-8000-00AA006D2EA4") 
  413. enum GetRowsOptionEnum
  414.     {    adGetRowsRest    = -1
  415.     }    GetRowsOptionEnum;
  416. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000528-0000-0010-8000-00AA006D2EA4") 
  417. enum PositionEnum
  418.     {    adPosUnknown    = -1,
  419.     adPosBOF    = -2,
  420.     adPosEOF    = -3
  421.     }    PositionEnum;
  422. typedef /* [helpcontext] */ 
  423. enum BookmarkEnum
  424.     {    adBookmarkCurrent    = 0,
  425.     adBookmarkFirst    = 1,
  426.     adBookmarkLast    = 2
  427.     }    BookmarkEnum;
  428. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000540-0000-0010-8000-00AA006D2EA4") 
  429. enum MarshalOptionsEnum
  430.     {    adMarshalAll    = 0,
  431.     adMarshalModifiedOnly    = 1
  432.     }    MarshalOptionsEnum;
  433. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000543-0000-0010-8000-00AA006D2EA4") 
  434. enum AffectEnum
  435.     {    adAffectCurrent    = 1,
  436.     adAffectGroup    = 2,
  437.     adAffectAll    = 3,
  438.     adAffectAllChapters    = 4
  439.     }    AffectEnum;
  440. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000544-0000-0010-8000-00AA006D2EA4") 
  441. enum ResyncEnum
  442.     {    adResyncUnderlyingValues    = 1,
  443.     adResyncAllValues    = 2
  444.     }    ResyncEnum;
  445. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000545-0000-0010-8000-00AA006D2EA4") 
  446. enum CompareEnum
  447.     {    adCompareLessThan    = 0,
  448.     adCompareEqual    = 1,
  449.     adCompareGreaterThan    = 2,
  450.     adCompareNotEqual    = 3,
  451.     adCompareNotComparable    = 4
  452.     }    CompareEnum;
  453. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000546-0000-0010-8000-00AA006D2EA4") 
  454. enum FilterGroupEnum
  455.     {    adFilterNone    = 0,
  456.     adFilterPendingRecords    = 1,
  457.     adFilterAffectedRecords    = 2,
  458.     adFilterFetchedRecords    = 3,
  459.     adFilterPredicate    = 4,
  460.     adFilterConflictingRecords    = 5
  461.     }    FilterGroupEnum;
  462. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000547-0000-0010-8000-00AA006D2EA4") 
  463. enum SearchDirectionEnum
  464.     {    adSearchForward    = 1,
  465.     adSearchBackward    = -1
  466.     }    SearchDirectionEnum;
  467. typedef /* [hidden] */ SearchDirectionEnum SearchDirection;
  468. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000548-0000-0010-8000-00AA006D2EA4") 
  469. enum PersistFormatEnum
  470.     {    adPersistADTG    = 0,
  471.     adPersistXML    = 1
  472.     }    PersistFormatEnum;
  473. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000549-0000-0010-8000-00AA006D2EA4") 
  474. enum StringFormatEnum
  475.     {    adClipString    = 2
  476.     }    StringFormatEnum;
  477. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000520-0000-0010-8000-00AA006D2EA4") 
  478. enum ConnectPromptEnum
  479.     {    adPromptAlways    = 1,
  480.     adPromptComplete    = 2,
  481.     adPromptCompleteRequired    = 3,
  482.     adPromptNever    = 4
  483.     }    ConnectPromptEnum;
  484. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000521-0000-0010-8000-00AA006D2EA4") 
  485. enum ConnectModeEnum
  486.     {    adModeUnknown    = 0,
  487.     adModeRead    = 1,
  488.     adModeWrite    = 2,
  489.     adModeReadWrite    = 3,
  490.     adModeShareDenyRead    = 4,
  491.     adModeShareDenyWrite    = 8,
  492.     adModeShareExclusive    = 0xc,
  493.     adModeShareDenyNone    = 0x10,
  494.     adModeRecursive    = 0x400000
  495.     }    ConnectModeEnum;
  496. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000570-0000-0010-8000-00AA006D2EA4") 
  497. enum RecordCreateOptionsEnum
  498.     {    adCreateCollection    = 0x2000,
  499.     adCreateStructDoc    = 0x80000000,
  500.     adCreateNonCollection    = 0,
  501.     adOpenIfExists    = 0x2000000,
  502.     adCreateOverwrite    = 0x4000000,
  503.     adFailIfNotExists    = -1
  504.     }    RecordCreateOptionsEnum;
  505. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000571-0000-0010-8000-00AA006D2EA4") 
  506. enum RecordOpenOptionsEnum
  507.     {    adOpenRecordUnspecified    = -1,
  508.     adOpenSource    = 0x800000,
  509.     adOpenAsync    = 0x1000,
  510.     adDelayFetchStream    = 0x4000,
  511.     adDelayFetchFields    = 0x8000
  512.     }    RecordOpenOptionsEnum;
  513. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000523-0000-0010-8000-00AA006D2EA4") 
  514. enum IsolationLevelEnum
  515.     {    adXactUnspecified    = 0xffffffff,
  516.     adXactChaos    = 0x10,
  517.     adXactReadUncommitted    = 0x100,
  518.     adXactBrowse    = 0x100,
  519.     adXactCursorStability    = 0x1000,
  520.     adXactReadCommitted    = 0x1000,
  521.     adXactRepeatableRead    = 0x10000,
  522.     adXactSerializable    = 0x100000,
  523.     adXactIsolated    = 0x100000
  524.     }    IsolationLevelEnum;
  525. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000524-0000-0010-8000-00AA006D2EA4") 
  526. enum XactAttributeEnum
  527.     {    adXactCommitRetaining    = 0x20000,
  528.     adXactAbortRetaining    = 0x40000,
  529.     adXactAsyncPhaseOne    = 0x80000,
  530.     adXactSyncPhaseOne    = 0x100000
  531.     }    XactAttributeEnum;
  532. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000529-0000-0010-8000-00AA006D2EA4") 
  533. enum PropertyAttributesEnum
  534.     {    adPropNotSupported    = 0,
  535.     adPropRequired    = 0x1,
  536.     adPropOptional    = 0x2,
  537.     adPropRead    = 0x200,
  538.     adPropWrite    = 0x400
  539.     }    PropertyAttributesEnum;
  540. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("0000052A-0000-0010-8000-00AA006D2EA4") 
  541. enum ErrorValueEnum
  542.     {    adErrProviderFailed    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xbb8),
  543.     adErrInvalidArgument    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xbb9),
  544.     adErrOpeningFile    = 0xbba,
  545.     adErrReadFile    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xbbb),
  546.     adErrWriteFile    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xbbc),
  547.     adErrNoCurrentRecord    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xbcd),
  548.     adErrIllegalOperation    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xc93),
  549.     adErrCantChangeProvider    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xc94),
  550.     adErrInTransaction    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xcae),
  551.     adErrFeatureNotAvailable    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xcb3),
  552.     adErrItemNotFound    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xcc1),
  553.     adErrObjectInCollection    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xd27),
  554.     adErrObjectNotSet    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xd5c),
  555.     adErrDataConversion    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xd5d),
  556.     adErrObjectClosed    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe78),
  557.     adErrObjectOpen    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe79),
  558.     adErrProviderNotFound    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe7a),
  559.     adErrBoundToCommand    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe7b),
  560.     adErrInvalidParamInfo    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe7c),
  561.     adErrInvalidConnection    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe7d),
  562.     adErrNotReentrant    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe7e),
  563.     adErrStillExecuting    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe7f),
  564.     adErrOperationCancelled    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe80),
  565.     adErrStillConnecting    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe81),
  566.     adErrInvalidTransaction    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe82),
  567.     adErrNotExecuting    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe83),
  568.     adErrUnsafeOperation    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe84),
  569.     adwrnSecurityDialog    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe85),
  570.     adwrnSecurityDialogHeader    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe86),
  571.     adErrIntegrityViolation    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe87),
  572.     adErrPermissionDenied    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe88),
  573.     adErrDataOverflow    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe89),
  574.     adErrSchemaViolation    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe8a),
  575.     adErrSignMismatch    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe8b),
  576.     adErrCantConvertvalue    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe8c),
  577.     adErrCantCreate    = 0xe8d,
  578.     adErrColumnNotOnThisRow    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe8e),
  579.     adErrURLDoesNotExist    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe8f),
  580.     adErrTreePermissionDenied    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe90),
  581.     adErrInvalidURL    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe91),
  582.     adErrResourceLocked    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe92),
  583.     adErrResourceExists    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe93),
  584.     adErrCannotComplete    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe94),
  585.     adErrVolumeNotFound    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe95),
  586.     adErrOutOfSpace    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe96),
  587.     adErrResourceOutOfScope    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe97),
  588.     adErrUnavailable    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe98),
  589.     adErrURLNamedRowDoesNotExist    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe99),
  590.     adErrDelResOutOfScope    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe9a),
  591.     adErrPropInvalidColumn    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe9b),
  592.     adErrPropInvalidOption    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe9c),
  593.     adErrPropInvalidValue    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe9d),
  594.     adErrPropConflicting    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe9e),
  595.     adErrPropNotAllSettable    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe9f),
  596.     adErrPropNotSet    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xea0),
  597.     adErrPropNotSettable    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xea1),
  598.     adErrPropNotSupported    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xea2),
  599.     adErrCatalogNotSet    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xea3),
  600.     adErrCantChangeConnection    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xea4),
  601.     adErrFieldsUpdateFailed    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xea5),
  602.     adErrDenyNotSupported    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xea6),
  603.     adErrDenyTypeNotSupported    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xea7),
  604.     }    ErrorValueEnum;
  605. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("0000052B-0000-0010-8000-00AA006D2EA4") 
  606. enum ParameterAttributesEnum
  607.     {    adParamSigned    = 0x10,
  608.     adParamNullable    = 0x40,
  609.     adParamLong    = 0x80
  610.     }    ParameterAttributesEnum;
  611. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("0000052C-0000-0010-8000-00AA006D2EA4") 
  612. enum ParameterDirectionEnum
  613.     {    adParamUnknown    = 0,
  614.     adParamInput    = 0x1,
  615.     adParamOutput    = 0x2,
  616.     adParamInputOutput    = 0x3,
  617.     adParamReturnValue    = 0x4
  618.     }    ParameterDirectionEnum;
  619. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("0000052E-0000-0010-8000-00AA006D2EA4") 
  620. enum CommandTypeEnum
  621.     {    adCmdUnspecified    = -1,
  622.     adCmdUnknown    = 0x8,
  623.     adCmdText    = 0x1,
  624.     adCmdTable    = 0x2,
  625.     adCmdStoredProc    = 0x4,
  626.     adCmdFile    = 0x100,
  627.     adCmdTableDirect    = 0x200
  628.     }    CommandTypeEnum;
  629. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000530-0000-0010-8000-00AA006D2EA4") 
  630. enum EventStatusEnum
  631.     {    adStatusOK    = 0x1,
  632.     adStatusErrorsOccurred    = 0x2,
  633.     adStatusCantDeny    = 0x3,
  634.     adStatusCancel    = 0x4,
  635.     adStatusUnwantedEvent    = 0x5
  636.     }    EventStatusEnum;
  637. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000531-0000-0010-8000-00AA006D2EA4") 
  638. enum EventReasonEnum
  639.     {    adRsnAddNew    = 1,
  640.     adRsnDelete    = 2,
  641.     adRsnUpdate    = 3,
  642.     adRsnUndoUpdate    = 4,
  643.     adRsnUndoAddNew    = 5,
  644.     adRsnUndoDelete    = 6,
  645.     adRsnRequery    = 7,
  646.     adRsnResynch    = 8,
  647.     adRsnClose    = 9,
  648.     adRsnMove    = 10,
  649.     adRsnFirstChange    = 11,
  650.     adRsnMoveFirst    = 12,
  651.     adRsnMoveNext    = 13,
  652.     adRsnMovePrevious    = 14,
  653.     adRsnMoveLast    = 15
  654.     }    EventReasonEnum;
  655. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000533-0000-0010-8000-00AA006D2EA4") 
  656. enum SchemaEnum
  657.     {    adSchemaProviderSpecific    = -1,
  658.     adSchemaAsserts    = 0,
  659.     adSchemaCatalogs    = 1,
  660.     adSchemaCharacterSets    = 2,
  661.     adSchemaCollations    = 3,
  662.     adSchemaColumns    = 4,
  663.     adSchemaCheckConstraints    = 5,
  664.     adSchemaConstraintColumnUsage    = 6,
  665.     adSchemaConstraintTableUsage    = 7,
  666.     adSchemaKeyColumnUsage    = 8,
  667.     adSchemaReferentialContraints    = 9,
  668.     adSchemaReferentialConstraints    = 9,
  669.     adSchemaTableConstraints    = 10,
  670.     adSchemaColumnsDomainUsage    = 11,
  671.     adSchemaIndexes    = 12,
  672.     adSchemaColumnPrivileges    = 13,
  673.     adSchemaTablePrivileges    = 14,
  674.     adSchemaUsagePrivileges    = 15,
  675.     adSchemaProcedures    = 16,
  676.     adSchemaSchemata    = 17,
  677.     adSchemaSQLLanguages    = 18,
  678.     adSchemaStatistics    = 19,
  679.     adSchemaTables    = 20,
  680.     adSchemaTranslations    = 21,
  681.     adSchemaProviderTypes    = 22,
  682.     adSchemaViews    = 23,
  683.     adSchemaViewColumnUsage    = 24,
  684.     adSchemaViewTableUsage    = 25,
  685.     adSchemaProcedureParameters    = 26,
  686.     adSchemaForeignKeys    = 27,
  687.     adSchemaPrimaryKeys    = 28,
  688.     adSchemaProcedureColumns    = 29,
  689.     adSchemaDBInfoKeywords    = 30,
  690.     adSchemaDBInfoLiterals    = 31,
  691.     adSchemaCubes    = 32,
  692.     adSchemaDimensions    = 33,
  693.     adSchemaHierarchies    = 34,
  694.     adSchemaLevels    = 35,
  695.     adSchemaMeasures    = 36,
  696.     adSchemaProperties    = 37,
  697.     adSchemaMembers    = 38,
  698.     adSchemaTrustees    = 39
  699.     }    SchemaEnum;
  700. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("0000057E-0000-0010-8000-00AA006D2EA4") 
  701. enum FieldStatusEnum
  702.     {    adFieldOK    = 0,
  703.     adFieldCantConvertValue    = 2,
  704.     adFieldIsNull    = 3,
  705.     adFieldTruncated    = 4,
  706.     adFieldSignMismatch    = 5,
  707.     adFieldDataOverflow    = 6,
  708.     adFieldCantCreate    = 7,
  709.     adFieldUnavailable    = 8,
  710.     adFieldPermissionDenied    = 9,
  711.     adFieldIntegrityViolation    = 10,
  712.     adFieldSchemaViolation    = 11,
  713.     adFieldBadStatus    = 12,
  714.     adFieldDefault    = 13,
  715.     adFieldIgnore    = 15,
  716.     adFieldDoesNotExist    = 16,
  717.     adFieldInvalidURL    = 17,
  718.     adFieldResourceLocked    = 18,
  719.     adFieldResourceExists    = 19,
  720.     adFieldCannotComplete    = 20,
  721.     adFieldVolumeNotFound    = 21,
  722.     adFieldOutOfSpace    = 22,
  723.     adFieldCannotDeleteSource    = 23,
  724.     adFieldReadOnly    = 24,
  725.     adFieldResourceOutOfScope    = 25,
  726.     adFieldAlreadyExists    = 26,
  727.     adFieldPendingInsert    = 0x10000,
  728.     adFieldPendingDelete    = 0x20000,
  729.     adFieldPendingChange    = 0x40000,
  730.     adFieldPendingUnknown    = 0x80000,
  731.     adFieldPendingUnknownDelete    = 0x100000
  732.     }    FieldStatusEnum;
  733. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000552-0000-0010-8000-00AA006D2EA4") 
  734. enum SeekEnum
  735.     {    adSeekFirstEQ    = 0x1,
  736.     adSeekLastEQ    = 0x2,
  737.     adSeekAfterEQ    = 0x4,
  738.     adSeekAfter    = 0x8,
  739.     adSeekBeforeEQ    = 0x10,
  740.     adSeekBefore    = 0x20
  741.     }    SeekEnum;
  742. #ifndef _COMMON_ADC_AND_ADO_PROPS_
  743. #define _COMMON_ADC_AND_ADO_PROPS_
  744. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("0000054A-0000-0010-8000-00AA006D2EA4") 
  745. enum ADCPROP_UPDATECRITERIA_ENUM
  746.     {    adCriteriaKey    = 0,
  747.     adCriteriaAllCols    = 1,
  748.     adCriteriaUpdCols    = 2,
  749.     adCriteriaTimeStamp    = 3
  750.     }    ADCPROP_UPDATECRITERIA_ENUM;
  751. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("0000054B-0000-0010-8000-00AA006D2EA4") 
  752. enum ADCPROP_ASYNCTHREADPRIORITY_ENUM
  753.     {    adPriorityLowest    = 1,
  754.     adPriorityBelowNormal    = 2,
  755.     adPriorityNormal    = 3,
  756.     adPriorityAboveNormal    = 4,
  757.     adPriorityHighest    = 5
  758.     }    ADCPROP_ASYNCTHREADPRIORITY_ENUM;
  759. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000554-0000-0010-8000-00AA006D2EA4") 
  760. enum ADCPROP_AUTORECALC_ENUM
  761.     {    adRecalcUpFront    = 0,
  762.     adRecalcAlways    = 1
  763.     }    ADCPROP_AUTORECALC_ENUM;
  764. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000553-0000-0010-8000-00AA006D2EA4") 
  765. enum ADCPROP_UPDATERESYNC_ENUM
  766.     {    adResyncNone    = 0,
  767.     adResyncAutoIncrement    = 1,
  768.     adResyncConflicts    = 2,
  769.     adResyncUpdates    = 4,
  770.     adResyncInserts    = 8,
  771.     adResyncAll    = 15
  772.     }    ADCPROP_UPDATERESYNC_ENUM;
  773. #endif    /* _COMMON_ADC_AND_ADO_PROPS_ */
  774. typedef ADCPROP_UPDATERESYNC_ENUM CEResyncEnum;
  775. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000573-0000-0010-8000-00AA006D2EA4") 
  776. enum MoveRecordOptionsEnum
  777.     {    adMoveUnspecified    = -1,
  778.     adMoveOverWrite    = 1,
  779.     adMoveDontUpdateLinks    = 2,
  780.     adMoveAllowEmulation    = 4
  781.     }    MoveRecordOptionsEnum;
  782. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000574-0000-0010-8000-00AA006D2EA4") 
  783. enum CopyRecordOptionsEnum
  784.     {    adCopyUnspecified    = -1,
  785.     adCopyOverWrite    = 1,
  786.     adCopyAllowEmulation    = 4,
  787.     adCopyNonRecursive    = 2
  788.     }    CopyRecordOptionsEnum;
  789. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000576-0000-0010-8000-00AA006D2EA4") 
  790. enum StreamTypeEnum
  791.     {    adTypeBinary    = 1,
  792.     adTypeText    = 2
  793.     }    StreamTypeEnum;
  794. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("00000577-0000-0010-8000-00AA006D2EA4") 
  795. enum LineSeparatorEnum
  796.     {    adLF    = 10,
  797.     adCR    = 13,
  798.     adCRLF    = -1
  799.     }    LineSeparatorEnum;
  800. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("0000057A-0000-0010-8000-00AA006D2EA4") 
  801. enum StreamOpenOptionsEnum
  802.     {    adOpenStreamUnspecified    = -1,
  803.     adOpenStreamAsync    = 1,
  804.     adOpenStreamFromRecord    = 4
  805.     }    StreamOpenOptionsEnum;
  806. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("0000057B-0000-0010-8000-00AA006D2EA4") 
  807. enum StreamWriteEnum
  808.     {    adWriteChar    = 0,
  809.     adWriteLine    = 1,
  810.     stWriteChar    = 0,
  811.     stWriteLine    = 1
  812.     }    StreamWriteEnum;
  813. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("0000057C-0000-0010-8000-00AA006D2EA4") 
  814. enum SaveOptionsEnum
  815.     {    adSaveCreateNotExist    = 1,
  816.     adSaveCreateOverWrite    = 2
  817.     }    SaveOptionsEnum;
  818. typedef /* [helpcontext] */ 
  819. enum FieldEnum
  820.     {    adDefaultStream    = -1,
  821.     adRecordURL    = -2
  822.     }    FieldEnum;
  823. typedef /* [helpcontext] */ 
  824. enum StreamReadEnum
  825.     {    adReadAll    = -1,
  826.     adReadLine    = -2
  827.     }    StreamReadEnum;
  828. typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("0000057D-0000-0010-8000-00AA006D2EA4") 
  829. enum RecordTypeEnum
  830.     {    adSimpleRecord    = 0,
  831.     adCollectionRecord    = 1,
  832.     adStructDoc    = 2
  833.     }    RecordTypeEnum;
  834. EXTERN_C const IID LIBID_ADODB;
  835. #ifndef ___ADOCollection_INTERFACE_DEFINED__
  836. #define ___ADOCollection_INTERFACE_DEFINED__
  837. /* interface _ADOCollection */
  838. /* [object][uuid][nonextensible][dual] */ 
  839. EXTERN_C const IID IID__ADOCollection;
  840. #if defined(__cplusplus) && !defined(CINTERFACE)
  841.     
  842.     MIDL_INTERFACE("00000512-0000-0010-8000-00AA006D2EA4")
  843.     _ADOCollection : public IDispatch
  844.     {
  845.     public:
  846.         virtual /* [id][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  847.             /* [retval][out] */ long __RPC_FAR *c) = 0;
  848.         
  849.         virtual /* [id][restricted] */ HRESULT STDMETHODCALLTYPE _NewEnum( 
  850.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  851.         
  852.         virtual /* [id][helpcontext] */ HRESULT STDMETHODCALLTYPE Refresh( void) = 0;
  853.         
  854.     };
  855.     
  856. #else     /* C style interface */
  857.     typedef struct _ADOCollectionVtbl
  858.     {
  859.         BEGIN_INTERFACE
  860.         
  861.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  862.             _ADOCollection __RPC_FAR * This,
  863.             /* [in] */ REFIID riid,
  864.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  865.         
  866.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  867.             _ADOCollection __RPC_FAR * This);
  868.         
  869.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  870.             _ADOCollection __RPC_FAR * This);
  871.         
  872.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  873.             _ADOCollection __RPC_FAR * This,
  874.             /* [out] */ UINT __RPC_FAR *pctinfo);
  875.         
  876.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  877.             _ADOCollection __RPC_FAR * This,
  878.             /* [in] */ UINT iTInfo,
  879.             /* [in] */ LCID lcid,
  880.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  881.         
  882.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  883.             _ADOCollection __RPC_FAR * This,
  884.             /* [in] */ REFIID riid,
  885.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  886.             /* [in] */ UINT cNames,
  887.             /* [in] */ LCID lcid,
  888.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  889.         
  890.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  891.             _ADOCollection __RPC_FAR * This,
  892.             /* [in] */ DISPID dispIdMember,
  893.             /* [in] */ REFIID riid,
  894.             /* [in] */ LCID lcid,
  895.             /* [in] */ WORD wFlags,
  896.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  897.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  898.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  899.             /* [out] */ UINT __RPC_FAR *puArgErr);
  900.         
  901.         /* [id][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  902.             _ADOCollection __RPC_FAR * This,
  903.             /* [retval][out] */ long __RPC_FAR *c);
  904.         
  905.         /* [id][restricted] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum )( 
  906.             _ADOCollection __RPC_FAR * This,
  907.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
  908.         
  909.         /* [id][helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  910.             _ADOCollection __RPC_FAR * This);
  911.         
  912.         END_INTERFACE
  913.     } _ADOCollectionVtbl;
  914.     interface _ADOCollection
  915.     {
  916.         CONST_VTBL struct _ADOCollectionVtbl __RPC_FAR *lpVtbl;
  917.     };
  918.     
  919. #ifdef COBJMACROS
  920. #define _ADOCollection_QueryInterface(This,riid,ppvObject)    \
  921.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  922. #define _ADOCollection_AddRef(This)    \
  923.     (This)->lpVtbl -> AddRef(This)
  924. #define _ADOCollection_Release(This)    \
  925.     (This)->lpVtbl -> Release(This)
  926. #define _ADOCollection_GetTypeInfoCount(This,pctinfo)    \
  927.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  928. #define _ADOCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  929.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  930. #define _ADOCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  931.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  932. #define _ADOCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  933.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  934. #define _Collection_get_Count(This,c)    \
  935.     (This)->lpVtbl -> get_Count(This,c)
  936. #define _ADOCollection__NewEnum(This,ppvObject)    \
  937.     (This)->lpVtbl -> _NewEnum(This,ppvObject)
  938. #define _ADOCollection_Refresh(This)    \
  939.     (This)->lpVtbl -> Refresh(This)
  940. #endif /* COBJMACROS */
  941. #endif     /* C style interface */
  942. /* [id][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE _Collection_get_Count_Proxy( 
  943.     _ADOCollection __RPC_FAR * This,
  944.     /* [retval][out] */ long __RPC_FAR *c);
  945. void __RPC_STUB _Collection_get_Count_Stub(
  946.     IRpcStubBuffer *This,
  947.     IRpcChannelBuffer *_pRpcChannelBuffer,
  948.     PRPC_MESSAGE _pRpcMessage,
  949.     DWORD *_pdwStubPhase);
  950. /* [id][restricted] */ HRESULT STDMETHODCALLTYPE _ADOCollection__NewEnum_Proxy( 
  951.     _ADOCollection __RPC_FAR * This,
  952.     /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
  953. void __RPC_STUB _ADOCollection__NewEnum_Stub(
  954.     IRpcStubBuffer *This,
  955.     IRpcChannelBuffer *_pRpcChannelBuffer,
  956.     PRPC_MESSAGE _pRpcMessage,
  957.     DWORD *_pdwStubPhase);
  958. /* [id][helpcontext] */ HRESULT STDMETHODCALLTYPE _ADOCollection_Refresh_Proxy( 
  959.     _ADOCollection __RPC_FAR * This);
  960. void __RPC_STUB _ADOCollection_Refresh_Stub(
  961.     IRpcStubBuffer *This,
  962.     IRpcChannelBuffer *_pRpcChannelBuffer,
  963.     PRPC_MESSAGE _pRpcMessage,
  964.     DWORD *_pdwStubPhase);
  965. #endif     /* ___ADOCollection_INTERFACE_DEFINED__ */
  966. #ifndef ___ADODynaCollection_INTERFACE_DEFINED__
  967. #define ___ADODynaCollection_INTERFACE_DEFINED__
  968. /* interface _ADODynaCollection */
  969. /* [object][uuid][nonextensible][dual] */ 
  970. EXTERN_C const IID IID__ADODynaCollection;
  971. #if defined(__cplusplus) && !defined(CINTERFACE)
  972.     
  973.     MIDL_INTERFACE("00000513-0000-0010-8000-00AA006D2EA4")
  974. _ADODynaCollection : public _ADOCollection
  975.     {
  976.     public:
  977.         virtual /* [helpcontext] */ HRESULT STDMETHODCALLTYPE Append( 
  978.             /* [in] */ IDispatch __RPC_FAR *Object) = 0;
  979.         
  980.         virtual /* [helpcontext] */ HRESULT STDMETHODCALLTYPE Delete( 
  981.             /* [in] */ VARIANT Index) = 0;
  982.         
  983.     };
  984.     
  985. #else     /* C style interface */
  986.     typedef struct _ADODynaCollectionVtbl
  987.     {
  988.         BEGIN_INTERFACE
  989.         
  990.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  991.             _ADODynaCollection __RPC_FAR * This,
  992.             /* [in] */ REFIID riid,
  993.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  994.         
  995.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  996.             _ADODynaCollection __RPC_FAR * This);
  997.         
  998.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  999.             _ADODynaCollection __RPC_FAR * This);
  1000.         
  1001.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1002.             _ADODynaCollection __RPC_FAR * This,
  1003.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1004.         
  1005.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1006.             _ADODynaCollection __RPC_FAR * This,
  1007.             /* [in] */ UINT iTInfo,
  1008.             /* [in] */ LCID lcid,
  1009.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1010.         
  1011.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1012.             _ADODynaCollection __RPC_FAR * This,
  1013.             /* [in] */ REFIID riid,
  1014.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1015.             /* [in] */ UINT cNames,
  1016.             /* [in] */ LCID lcid,
  1017.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1018.         
  1019.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1020.             _ADODynaCollection __RPC_FAR * This,
  1021.             /* [in] */ DISPID dispIdMember,
  1022.             /* [in] */ REFIID riid,
  1023.             /* [in] */ LCID lcid,
  1024.             /* [in] */ WORD wFlags,
  1025.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1026.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1027.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1028.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1029.         
  1030.         /* [id][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  1031.             _ADODynaCollection __RPC_FAR * This,
  1032.             /* [retval][out] */ long __RPC_FAR *c);
  1033.         
  1034.         /* [id][restricted] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum )( 
  1035.             _ADODynaCollection __RPC_FAR * This,
  1036.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
  1037.         
  1038.         /* [id][helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  1039.             _ADODynaCollection __RPC_FAR * This);
  1040.         
  1041.         /* [helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Append )( 
  1042.             _ADODynaCollection __RPC_FAR * This,
  1043.             /* [in] */ IDispatch __RPC_FAR *Object);
  1044.         
  1045.         /* [helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
  1046.             _ADODynaCollection __RPC_FAR * This,
  1047.             /* [in] */ VARIANT Index);
  1048.         
  1049.         END_INTERFACE
  1050.     } _ADODynaCollectionVtbl;
  1051.     interface _ADODynaCollection
  1052.     {
  1053.         CONST_VTBL struct _ADODynaCollectionVtbl __RPC_FAR *lpVtbl;
  1054.     };
  1055.     
  1056. #ifdef COBJMACROS
  1057. #define _ADODynaCollection_QueryInterface(This,riid,ppvObject)    \
  1058.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1059. #define _ADODynaCollection_AddRef(This)    \
  1060.     (This)->lpVtbl -> AddRef(This)
  1061. #define _ADODynaCollection_Release(This)    \
  1062.     (This)->lpVtbl -> Release(This)
  1063. #define _ADODynaCollection_GetTypeInfoCount(This,pctinfo)    \
  1064.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1065. #define _ADODynaCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1066.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1067. #define _ADODynaCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1068.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1069. #define _ADODynaCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1070.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1071. #define _DynaCollection_get_Count(This,c)    \
  1072.     (This)->lpVtbl -> get_Count(This,c)
  1073. #define _ADODynaCollection__NewEnum(This,ppvObject)    \
  1074.     (This)->lpVtbl -> _NewEnum(This,ppvObject)
  1075. #define _ADODynaCollection_Refresh(This)    \
  1076.     (This)->lpVtbl -> Refresh(This)
  1077. #define _ADODynaCollection_Append(This,Object)    \
  1078.     (This)->lpVtbl -> Append(This,Object)
  1079. #define _ADODynaCollection_Delete(This,Index)    \
  1080.     (This)->lpVtbl -> Delete(This,Index)
  1081. #endif /* COBJMACROS */
  1082. #endif     /* C style interface */
  1083. /* [helpcontext] */ HRESULT STDMETHODCALLTYPE _ADODynaCollection_Append_Proxy( 
  1084.     _ADODynaCollection __RPC_FAR * This,
  1085.     /* [in] */ IDispatch __RPC_FAR *Object);
  1086. void __RPC_STUB _ADODynaCollection_Append_Stub(
  1087.     IRpcStubBuffer *This,
  1088.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1089.     PRPC_MESSAGE _pRpcMessage,
  1090.     DWORD *_pdwStubPhase);
  1091. /* [helpcontext] */ HRESULT STDMETHODCALLTYPE _ADODynaCollection_Delete_Proxy( 
  1092.     _ADODynaCollection __RPC_FAR * This,
  1093.     /* [in] */ VARIANT Index);
  1094. void __RPC_STUB _ADODynaCollection_Delete_Stub(
  1095.     IRpcStubBuffer *This,
  1096.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1097.     PRPC_MESSAGE _pRpcMessage,
  1098.     DWORD *_pdwStubPhase);
  1099. #endif     /* ___ADODynaCollection_INTERFACE_DEFINED__ */
  1100. #ifndef ___ADO_INTERFACE_DEFINED__
  1101. #define ___ADO_INTERFACE_DEFINED__
  1102. /* interface _ADO */
  1103. /* [object][uuid][nonextensible][dual] */ 
  1104. EXTERN_C const IID IID__ADO;
  1105. #if defined(__cplusplus) && !defined(CINTERFACE)
  1106.     
  1107.     MIDL_INTERFACE("00000534-0000-0010-8000-00AA006D2EA4")
  1108.     _ADO : public IDispatch
  1109.     {
  1110.     public:
  1111.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Properties( 
  1112.             /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  1113.         
  1114.     };
  1115.     
  1116. #else     /* C style interface */
  1117.     typedef struct _ADOVtbl
  1118.     {
  1119.         BEGIN_INTERFACE
  1120.         
  1121.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1122.             _ADO __RPC_FAR * This,
  1123.             /* [in] */ REFIID riid,
  1124.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1125.         
  1126.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1127.             _ADO __RPC_FAR * This);
  1128.         
  1129.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1130.             _ADO __RPC_FAR * This);
  1131.         
  1132.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1133.             _ADO __RPC_FAR * This,
  1134.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1135.         
  1136.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1137.             _ADO __RPC_FAR * This,
  1138.             /* [in] */ UINT iTInfo,
  1139.             /* [in] */ LCID lcid,
  1140.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1141.         
  1142.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1143.             _ADO __RPC_FAR * This,
  1144.             /* [in] */ REFIID riid,
  1145.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1146.             /* [in] */ UINT cNames,
  1147.             /* [in] */ LCID lcid,
  1148.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1149.         
  1150.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1151.             _ADO __RPC_FAR * This,
  1152.             /* [in] */ DISPID dispIdMember,
  1153.             /* [in] */ REFIID riid,
  1154.             /* [in] */ LCID lcid,
  1155.             /* [in] */ WORD wFlags,
  1156.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1157.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1158.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1159.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1160.         
  1161.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Properties )( 
  1162.             _ADO __RPC_FAR * This,
  1163.             /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject);
  1164.         
  1165.         END_INTERFACE
  1166.     } _ADOVtbl;
  1167.     interface _ADO
  1168.     {
  1169.         CONST_VTBL struct _ADOVtbl __RPC_FAR *lpVtbl;
  1170.     };
  1171.     
  1172. #ifdef COBJMACROS
  1173. #define _ADO_QueryInterface(This,riid,ppvObject)    \
  1174.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1175. #define _ADO_AddRef(This)    \
  1176.     (This)->lpVtbl -> AddRef(This)
  1177. #define _ADO_Release(This)    \
  1178.     (This)->lpVtbl -> Release(This)
  1179. #define _ADO_GetTypeInfoCount(This,pctinfo)    \
  1180.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1181. #define _ADO_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1182.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1183. #define _ADO_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1184.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1185. #define _ADO_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1186.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1187. #define _ADO_get_Properties(This,ppvObject)    \
  1188.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  1189. #endif /* COBJMACROS */
  1190. #endif     /* C style interface */
  1191. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _ADO_get_Properties_Proxy( 
  1192.     _ADO __RPC_FAR * This,
  1193.     /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject);
  1194. void __RPC_STUB _ADO_get_Properties_Stub(
  1195.     IRpcStubBuffer *This,
  1196.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1197.     PRPC_MESSAGE _pRpcMessage,
  1198.     DWORD *_pdwStubPhase);
  1199. #endif     /* ___ADO_INTERFACE_DEFINED__ */
  1200. #ifndef __Error_INTERFACE_DEFINED__
  1201. #define __Error_INTERFACE_DEFINED__
  1202. /* interface ADOError */
  1203. /* [object][helpcontext][uuid][nonextensible][dual] */ 
  1204. EXTERN_C const IID IID_Error;
  1205. #if defined(__cplusplus) && !defined(CINTERFACE)
  1206.     
  1207.     MIDL_INTERFACE("00000500-0000-0010-8000-00AA006D2EA4")
  1208.     ADOError : public IDispatch
  1209.     {
  1210.     public:
  1211.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Number( 
  1212.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  1213.         
  1214.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Source( 
  1215.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  1216.         
  1217.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Description( 
  1218.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  1219.         
  1220.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_HelpFile( 
  1221.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  1222.         
  1223.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_HelpContext( 
  1224.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  1225.         
  1226.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SQLState( 
  1227.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  1228.         
  1229.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_NativeError( 
  1230.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  1231.         
  1232.     };
  1233.     
  1234. #else     /* C style interface */
  1235.     typedef struct ErrorVtbl
  1236.     {
  1237.         BEGIN_INTERFACE
  1238.         
  1239.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1240.             ADOError __RPC_FAR * This,
  1241.             /* [in] */ REFIID riid,
  1242.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1243.         
  1244.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1245.             ADOError __RPC_FAR * This);
  1246.         
  1247.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1248.             ADOError __RPC_FAR * This);
  1249.         
  1250.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1251.             ADOError __RPC_FAR * This,
  1252.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1253.         
  1254.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1255.             ADOError __RPC_FAR * This,
  1256.             /* [in] */ UINT iTInfo,
  1257.             /* [in] */ LCID lcid,
  1258.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1259.         
  1260.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1261.             ADOError __RPC_FAR * This,
  1262.             /* [in] */ REFIID riid,
  1263.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1264.             /* [in] */ UINT cNames,
  1265.             /* [in] */ LCID lcid,
  1266.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1267.         
  1268.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1269.             ADOError __RPC_FAR * This,
  1270.             /* [in] */ DISPID dispIdMember,
  1271.             /* [in] */ REFIID riid,
  1272.             /* [in] */ LCID lcid,
  1273.             /* [in] */ WORD wFlags,
  1274.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1275.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1276.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1277.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1278.         
  1279.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Number )( 
  1280.             ADOError __RPC_FAR * This,
  1281.             /* [retval][out] */ long __RPC_FAR *pl);
  1282.         
  1283.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Source )( 
  1284.             ADOError __RPC_FAR * This,
  1285.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1286.         
  1287.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Description )( 
  1288.             ADOError __RPC_FAR * This,
  1289.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1290.         
  1291.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HelpFile )( 
  1292.             ADOError __RPC_FAR * This,
  1293.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1294.         
  1295.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HelpContext )( 
  1296.             ADOError __RPC_FAR * This,
  1297.             /* [retval][out] */ long __RPC_FAR *pl);
  1298.         
  1299.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SQLState )( 
  1300.             ADOError __RPC_FAR * This,
  1301.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1302.         
  1303.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NativeError )( 
  1304.             ADOError __RPC_FAR * This,
  1305.             /* [retval][out] */ long __RPC_FAR *pl);
  1306.         
  1307.         END_INTERFACE
  1308.     } ErrorVtbl;
  1309.     interface Error
  1310.     {
  1311.         CONST_VTBL struct ErrorVtbl __RPC_FAR *lpVtbl;
  1312.     };
  1313.     
  1314. #ifdef COBJMACROS
  1315. #define Error_QueryInterface(This,riid,ppvObject)    \
  1316.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1317. #define Error_AddRef(This)    \
  1318.     (This)->lpVtbl -> AddRef(This)
  1319. #define Error_Release(This)    \
  1320.     (This)->lpVtbl -> Release(This)
  1321. #define Error_GetTypeInfoCount(This,pctinfo)    \
  1322.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1323. #define Error_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1324.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1325. #define Error_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1326.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1327. #define Error_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1328.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1329. #define Error_get_Number(This,pl)    \
  1330.     (This)->lpVtbl -> get_Number(This,pl)
  1331. #define Error_get_Source(This,pbstr)    \
  1332.     (This)->lpVtbl -> get_Source(This,pbstr)
  1333. #define Error_get_Description(This,pbstr)    \
  1334.     (This)->lpVtbl -> get_Description(This,pbstr)
  1335. #define Error_get_HelpFile(This,pbstr)    \
  1336.     (This)->lpVtbl -> get_HelpFile(This,pbstr)
  1337. #define Error_get_HelpContext(This,pl)    \
  1338.     (This)->lpVtbl -> get_HelpContext(This,pl)
  1339. #define Error_get_SQLState(This,pbstr)    \
  1340.     (This)->lpVtbl -> get_SQLState(This,pbstr)
  1341. #define Error_get_NativeError(This,pl)    \
  1342.     (This)->lpVtbl -> get_NativeError(This,pl)
  1343. #endif /* COBJMACROS */
  1344. #endif     /* C style interface */
  1345. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Error_get_Number_Proxy( 
  1346.     ADOError __RPC_FAR * This,
  1347.     /* [retval][out] */ long __RPC_FAR *pl);
  1348. void __RPC_STUB Error_get_Number_Stub(
  1349.     IRpcStubBuffer *This,
  1350.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1351.     PRPC_MESSAGE _pRpcMessage,
  1352.     DWORD *_pdwStubPhase);
  1353. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Error_get_Source_Proxy( 
  1354.     ADOError __RPC_FAR * This,
  1355.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1356. void __RPC_STUB Error_get_Source_Stub(
  1357.     IRpcStubBuffer *This,
  1358.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1359.     PRPC_MESSAGE _pRpcMessage,
  1360.     DWORD *_pdwStubPhase);
  1361. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Error_get_Description_Proxy( 
  1362.     ADOError __RPC_FAR * This,
  1363.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1364. void __RPC_STUB Error_get_Description_Stub(
  1365.     IRpcStubBuffer *This,
  1366.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1367.     PRPC_MESSAGE _pRpcMessage,
  1368.     DWORD *_pdwStubPhase);
  1369. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Error_get_HelpFile_Proxy( 
  1370.     ADOError __RPC_FAR * This,
  1371.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1372. void __RPC_STUB Error_get_HelpFile_Stub(
  1373.     IRpcStubBuffer *This,
  1374.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1375.     PRPC_MESSAGE _pRpcMessage,
  1376.     DWORD *_pdwStubPhase);
  1377. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Error_get_HelpContext_Proxy( 
  1378.     ADOError __RPC_FAR * This,
  1379.     /* [retval][out] */ long __RPC_FAR *pl);
  1380. void __RPC_STUB Error_get_HelpContext_Stub(
  1381.     IRpcStubBuffer *This,
  1382.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1383.     PRPC_MESSAGE _pRpcMessage,
  1384.     DWORD *_pdwStubPhase);
  1385. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Error_get_SQLState_Proxy( 
  1386.     ADOError __RPC_FAR * This,
  1387.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1388. void __RPC_STUB Error_get_SQLState_Stub(
  1389.     IRpcStubBuffer *This,
  1390.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1391.     PRPC_MESSAGE _pRpcMessage,
  1392.     DWORD *_pdwStubPhase);
  1393. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Error_get_NativeError_Proxy( 
  1394.     ADOError __RPC_FAR * This,
  1395.     /* [retval][out] */ long __RPC_FAR *pl);
  1396. void __RPC_STUB Error_get_NativeError_Stub(
  1397.     IRpcStubBuffer *This,
  1398.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1399.     PRPC_MESSAGE _pRpcMessage,
  1400.     DWORD *_pdwStubPhase);
  1401. #endif     /* __Error_INTERFACE_DEFINED__ */
  1402. #ifndef __Errors_INTERFACE_DEFINED__
  1403. #define __Errors_INTERFACE_DEFINED__
  1404. /* interface ADOErrors */
  1405. /* [object][helpcontext][uuid][nonextensible][dual] */ 
  1406. EXTERN_C const IID IID_Errors;
  1407. #if defined(__cplusplus) && !defined(CINTERFACE)
  1408.     
  1409.     MIDL_INTERFACE("00000501-0000-0010-8000-00AA006D2EA4")
  1410.     ADOErrors : public _ADOCollection
  1411.     {
  1412.     public:
  1413.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  1414.             /* [in] */ VARIANT Index,
  1415.             /* [retval][out] */ ADOError __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  1416.         
  1417.         virtual /* [helpcontext] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
  1418.         
  1419.     };
  1420.     
  1421. #else     /* C style interface */
  1422.     typedef struct ErrorsVtbl
  1423.     {
  1424.         BEGIN_INTERFACE
  1425.         
  1426.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1427.             ADOErrors __RPC_FAR * This,
  1428.             /* [in] */ REFIID riid,
  1429.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1430.         
  1431.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1432.             ADOErrors __RPC_FAR * This);
  1433.         
  1434.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1435.             ADOErrors __RPC_FAR * This);
  1436.         
  1437.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1438.             ADOErrors __RPC_FAR * This,
  1439.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1440.         
  1441.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1442.             ADOErrors __RPC_FAR * This,
  1443.             /* [in] */ UINT iTInfo,
  1444.             /* [in] */ LCID lcid,
  1445.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1446.         
  1447.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1448.             ADOErrors __RPC_FAR * This,
  1449.             /* [in] */ REFIID riid,
  1450.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1451.             /* [in] */ UINT cNames,
  1452.             /* [in] */ LCID lcid,
  1453.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1454.         
  1455.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1456.             ADOErrors __RPC_FAR * This,
  1457.             /* [in] */ DISPID dispIdMember,
  1458.             /* [in] */ REFIID riid,
  1459.             /* [in] */ LCID lcid,
  1460.             /* [in] */ WORD wFlags,
  1461.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1462.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1463.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1464.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1465.         
  1466.         /* [id][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  1467.             ADOErrors __RPC_FAR * This,
  1468.             /* [retval][out] */ long __RPC_FAR *c);
  1469.         
  1470.         /* [id][restricted] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum )( 
  1471.             ADOErrors __RPC_FAR * This,
  1472.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
  1473.         
  1474.         /* [id][helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  1475.             ADOErrors __RPC_FAR * This);
  1476.         
  1477.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  1478.             ADOErrors __RPC_FAR * This,
  1479.             /* [in] */ VARIANT Index,
  1480.             /* [retval][out] */ ADOError __RPC_FAR *__RPC_FAR *ppvObject);
  1481.         
  1482.         /* [helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clear )( 
  1483.             ADOErrors __RPC_FAR * This);
  1484.         
  1485.         END_INTERFACE
  1486.     } ErrorsVtbl;
  1487.     interface Errors
  1488.     {
  1489.         CONST_VTBL struct ErrorsVtbl __RPC_FAR *lpVtbl;
  1490.     };
  1491.     
  1492. #ifdef COBJMACROS
  1493. #define Errors_QueryInterface(This,riid,ppvObject)    \
  1494.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1495. #define Errors_AddRef(This)    \
  1496.     (This)->lpVtbl -> AddRef(This)
  1497. #define Errors_Release(This)    \
  1498.     (This)->lpVtbl -> Release(This)
  1499. #define Errors_GetTypeInfoCount(This,pctinfo)    \
  1500.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1501. #define Errors_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1502.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1503. #define Errors_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1504.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1505. #define Errors_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1506.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1507. #define Errors_get_Count(This,c)    \
  1508.     (This)->lpVtbl -> get_Count(This,c)
  1509. #define Errors__NewEnum(This,ppvObject)    \
  1510.     (This)->lpVtbl -> _NewEnum(This,ppvObject)
  1511. #define Errors_Refresh(This)    \
  1512.     (This)->lpVtbl -> Refresh(This)
  1513. #define Errors_get_Item(This,Index,ppvObject)    \
  1514.     (This)->lpVtbl -> get_Item(This,Index,ppvObject)
  1515. #define Errors_Clear(This)    \
  1516.     (This)->lpVtbl -> Clear(This)
  1517. #endif /* COBJMACROS */
  1518. #endif     /* C style interface */
  1519. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Errors_get_Item_Proxy( 
  1520.     ADOErrors __RPC_FAR * This,
  1521.     /* [in] */ VARIANT Index,
  1522.     /* [retval][out] */ ADOError __RPC_FAR *__RPC_FAR *ppvObject);
  1523. void __RPC_STUB Errors_get_Item_Stub(
  1524.     IRpcStubBuffer *This,
  1525.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1526.     PRPC_MESSAGE _pRpcMessage,
  1527.     DWORD *_pdwStubPhase);
  1528. /* [helpcontext] */ HRESULT STDMETHODCALLTYPE Errors_Clear_Proxy( 
  1529.     ADOErrors __RPC_FAR * This);
  1530. void __RPC_STUB Errors_Clear_Stub(
  1531.     IRpcStubBuffer *This,
  1532.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1533.     PRPC_MESSAGE _pRpcMessage,
  1534.     DWORD *_pdwStubPhase);
  1535. #endif     /* __Errors_INTERFACE_DEFINED__ */
  1536. #ifndef __Command15_INTERFACE_DEFINED__
  1537. #define __Command15_INTERFACE_DEFINED__
  1538. /* interface Command15 */
  1539. /* [object][helpcontext][uuid][hidden][nonextensible][dual] */ 
  1540. EXTERN_C const IID IID_Command15;
  1541. #if defined(__cplusplus) && !defined(CINTERFACE)
  1542.     
  1543.     MIDL_INTERFACE("00000508-0000-0010-8000-00AA006D2EA4")
  1544.     Command15 : public _ADO
  1545.     {
  1546.     public:
  1547.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActiveConnection( 
  1548.             /* [retval][out] */ _ADOConnection __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  1549.         
  1550.         virtual /* [helpcontext][propputref][id] */ HRESULT STDMETHODCALLTYPE putref_ActiveConnection( 
  1551.             /* [in] */ _ADOConnection __RPC_FAR *pCon) = 0;
  1552.         
  1553.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ActiveConnection( 
  1554.             /* [in] */ VARIANT vConn) = 0;
  1555.         
  1556.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CommandText( 
  1557.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  1558.         
  1559.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_CommandText( 
  1560.             /* [in] */ BSTR bstr) = 0;
  1561.         
  1562.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CommandTimeout( 
  1563.             /* [retval][out] */ LONG __RPC_FAR *pl) = 0;
  1564.         
  1565.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_CommandTimeout( 
  1566.             /* [in] */ LONG Timeout) = 0;
  1567.         
  1568.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Prepared( 
  1569.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pfPrepared) = 0;
  1570.         
  1571.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Prepared( 
  1572.             /* [in] */ VARIANT_BOOL fPrepared) = 0;
  1573.         
  1574.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Execute( 
  1575.             /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  1576.             /* [optional][in] */ VARIANT __RPC_FAR *Parameters,
  1577.             /* [defaultvalue][in] */ long Options,
  1578.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppirs) = 0;
  1579.         
  1580.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CreateParameter( 
  1581.             /* [defaultvalue][in] */ BSTR Name,
  1582.             /* [defaultvalue][in] */ DataTypeEnum Type,
  1583.             /* [defaultvalue][in] */ ParameterDirectionEnum Direction,
  1584.             /* [defaultvalue][in] */ long Size,
  1585.             /* [optional][in] */ VARIANT Value,
  1586.             /* [retval][out] */ _ADOParameter __RPC_FAR *__RPC_FAR *ppiprm) = 0;
  1587.         
  1588.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parameters( 
  1589.             /* [retval][out] */ ADOParameters __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  1590.         
  1591.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_CommandType( 
  1592.             /* [in] */ CommandTypeEnum lCmdType) = 0;
  1593.         
  1594.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CommandType( 
  1595.             /* [retval][out] */ CommandTypeEnum __RPC_FAR *plCmdType) = 0;
  1596.         
  1597.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
  1598.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName) = 0;
  1599.         
  1600.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Name( 
  1601.             /* [in] */ BSTR bstrName) = 0;
  1602.         
  1603.     };
  1604.     
  1605. #else     /* C style interface */
  1606.     typedef struct Command15Vtbl
  1607.     {
  1608.         BEGIN_INTERFACE
  1609.         
  1610.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1611.             Command15 __RPC_FAR * This,
  1612.             /* [in] */ REFIID riid,
  1613.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1614.         
  1615.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1616.             Command15 __RPC_FAR * This);
  1617.         
  1618.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1619.             Command15 __RPC_FAR * This);
  1620.         
  1621.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1622.             Command15 __RPC_FAR * This,
  1623.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1624.         
  1625.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1626.             Command15 __RPC_FAR * This,
  1627.             /* [in] */ UINT iTInfo,
  1628.             /* [in] */ LCID lcid,
  1629.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1630.         
  1631.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1632.             Command15 __RPC_FAR * This,
  1633.             /* [in] */ REFIID riid,
  1634.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1635.             /* [in] */ UINT cNames,
  1636.             /* [in] */ LCID lcid,
  1637.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1638.         
  1639.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1640.             Command15 __RPC_FAR * This,
  1641.             /* [in] */ DISPID dispIdMember,
  1642.             /* [in] */ REFIID riid,
  1643.             /* [in] */ LCID lcid,
  1644.             /* [in] */ WORD wFlags,
  1645.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1646.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1647.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1648.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1649.         
  1650.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Properties )( 
  1651.             Command15 __RPC_FAR * This,
  1652.             /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject);
  1653.         
  1654.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveConnection )( 
  1655.             Command15 __RPC_FAR * This,
  1656.             /* [retval][out] */ _ADOConnection __RPC_FAR *__RPC_FAR *ppvObject);
  1657.         
  1658.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_ActiveADOConnection )( 
  1659.             Command15 __RPC_FAR * This,
  1660.             /* [in] */ _ADOConnection __RPC_FAR *pCon);
  1661.         
  1662.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ActiveConnection )( 
  1663.             Command15 __RPC_FAR * This,
  1664.             /* [in] */ VARIANT vConn);
  1665.         
  1666.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommandText )( 
  1667.             Command15 __RPC_FAR * This,
  1668.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1669.         
  1670.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CommandText )( 
  1671.             Command15 __RPC_FAR * This,
  1672.             /* [in] */ BSTR bstr);
  1673.         
  1674.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommandTimeout )( 
  1675.             Command15 __RPC_FAR * This,
  1676.             /* [retval][out] */ LONG __RPC_FAR *pl);
  1677.         
  1678.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CommandTimeout )( 
  1679.             Command15 __RPC_FAR * This,
  1680.             /* [in] */ LONG Timeout);
  1681.         
  1682.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Prepared )( 
  1683.             Command15 __RPC_FAR * This,
  1684.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pfPrepared);
  1685.         
  1686.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Prepared )( 
  1687.             Command15 __RPC_FAR * This,
  1688.             /* [in] */ VARIANT_BOOL fPrepared);
  1689.         
  1690.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Execute )( 
  1691.             Command15 __RPC_FAR * This,
  1692.             /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  1693.             /* [optional][in] */ VARIANT __RPC_FAR *Parameters,
  1694.             /* [defaultvalue][in] */ long Options,
  1695.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppirs);
  1696.         
  1697.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateParameter )( 
  1698.             Command15 __RPC_FAR * This,
  1699.             /* [defaultvalue][in] */ BSTR Name,
  1700.             /* [defaultvalue][in] */ DataTypeEnum Type,
  1701.             /* [defaultvalue][in] */ ParameterDirectionEnum Direction,
  1702.             /* [defaultvalue][in] */ long Size,
  1703.             /* [optional][in] */ VARIANT Value,
  1704.             /* [retval][out] */ _ADOParameter __RPC_FAR *__RPC_FAR *ppiprm);
  1705.         
  1706.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parameters )( 
  1707.             Command15 __RPC_FAR * This,
  1708.             /* [retval][out] */ ADOParameters __RPC_FAR *__RPC_FAR *ppvObject);
  1709.         
  1710.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CommandType )( 
  1711.             Command15 __RPC_FAR * This,
  1712.             /* [in] */ CommandTypeEnum lCmdType);
  1713.         
  1714.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommandType )( 
  1715.             Command15 __RPC_FAR * This,
  1716.             /* [retval][out] */ CommandTypeEnum __RPC_FAR *plCmdType);
  1717.         
  1718.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  1719.             Command15 __RPC_FAR * This,
  1720.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  1721.         
  1722.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
  1723.             Command15 __RPC_FAR * This,
  1724.             /* [in] */ BSTR bstrName);
  1725.         
  1726.         END_INTERFACE
  1727.     } Command15Vtbl;
  1728.     interface Command15
  1729.     {
  1730.         CONST_VTBL struct Command15Vtbl __RPC_FAR *lpVtbl;
  1731.     };
  1732.     
  1733. #ifdef COBJMACROS
  1734. #define Command15_QueryInterface(This,riid,ppvObject)    \
  1735.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1736. #define Command15_AddRef(This)    \
  1737.     (This)->lpVtbl -> AddRef(This)
  1738. #define Command15_Release(This)    \
  1739.     (This)->lpVtbl -> Release(This)
  1740. #define Command15_GetTypeInfoCount(This,pctinfo)    \
  1741.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1742. #define Command15_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1743.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1744. #define Command15_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1745.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1746. #define Command15_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1747.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1748. #define Command15_get_Properties(This,ppvObject)    \
  1749.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  1750. #define Command15_get_ActiveConnection(This,ppvObject)    \
  1751.     (This)->lpVtbl -> get_ActiveConnection(This,ppvObject)
  1752. #define Command15_putref_ActiveConnection(This,pCon)    \
  1753.     (This)->lpVtbl -> putref_ActiveConnection(This,pCon)
  1754. #define Command15_put_ActiveConnection(This,vConn)    \
  1755.     (This)->lpVtbl -> put_ActiveConnection(This,vConn)
  1756. #define Command15_get_CommandText(This,pbstr)    \
  1757.     (This)->lpVtbl -> get_CommandText(This,pbstr)
  1758. #define Command15_put_CommandText(This,bstr)    \
  1759.     (This)->lpVtbl -> put_CommandText(This,bstr)
  1760. #define Command15_get_CommandTimeout(This,pl)    \
  1761.     (This)->lpVtbl -> get_CommandTimeout(This,pl)
  1762. #define Command15_put_CommandTimeout(This,Timeout)    \
  1763.     (This)->lpVtbl -> put_CommandTimeout(This,Timeout)
  1764. #define Command15_get_Prepared(This,pfPrepared)    \
  1765.     (This)->lpVtbl -> get_Prepared(This,pfPrepared)
  1766. #define Command15_put_Prepared(This,fPrepared)    \
  1767.     (This)->lpVtbl -> put_Prepared(This,fPrepared)
  1768. #define Command15_Execute(This,RecordsAffected,Parameters,Options,ppirs)    \
  1769.     (This)->lpVtbl -> Execute(This,RecordsAffected,Parameters,Options,ppirs)
  1770. #define Command15_CreateParameter(This,Name,Type,Direction,Size,Value,ppiprm)    \
  1771.     (This)->lpVtbl -> CreateParameter(This,Name,Type,Direction,Size,Value,ppiprm)
  1772. #define Command15_get_Parameters(This,ppvObject)    \
  1773.     (This)->lpVtbl -> get_Parameters(This,ppvObject)
  1774. #define Command15_put_CommandType(This,lCmdType)    \
  1775.     (This)->lpVtbl -> put_CommandType(This,lCmdType)
  1776. #define Command15_get_CommandType(This,plCmdType)    \
  1777.     (This)->lpVtbl -> get_CommandType(This,plCmdType)
  1778. #define Command15_get_Name(This,pbstrName)    \
  1779.     (This)->lpVtbl -> get_Name(This,pbstrName)
  1780. #define Command15_put_Name(This,bstrName)    \
  1781.     (This)->lpVtbl -> put_Name(This,bstrName)
  1782. #endif /* COBJMACROS */
  1783. #endif     /* C style interface */
  1784. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Command15_get_ActiveConnection_Proxy( 
  1785.     Command15 __RPC_FAR * This,
  1786.     /* [retval][out] */ _ADOConnection __RPC_FAR *__RPC_FAR *ppvObject);
  1787. void __RPC_STUB Command15_get_ActiveConnection_Stub(
  1788.     IRpcStubBuffer *This,
  1789.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1790.     PRPC_MESSAGE _pRpcMessage,
  1791.     DWORD *_pdwStubPhase);
  1792. /* [helpcontext][propputref][id] */ HRESULT STDMETHODCALLTYPE Command15_putref_ActiveConnection_Proxy( 
  1793.     Command15 __RPC_FAR * This,
  1794.     /* [in] */ _ADOConnection __RPC_FAR *pCon);
  1795. void __RPC_STUB Command15_putref_ActiveConnection_Stub(
  1796.     IRpcStubBuffer *This,
  1797.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1798.     PRPC_MESSAGE _pRpcMessage,
  1799.     DWORD *_pdwStubPhase);
  1800. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Command15_put_ActiveConnection_Proxy( 
  1801.     Command15 __RPC_FAR * This,
  1802.     /* [in] */ VARIANT vConn);
  1803. void __RPC_STUB Command15_put_ActiveConnection_Stub(
  1804.     IRpcStubBuffer *This,
  1805.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1806.     PRPC_MESSAGE _pRpcMessage,
  1807.     DWORD *_pdwStubPhase);
  1808. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Command15_get_CommandText_Proxy( 
  1809.     Command15 __RPC_FAR * This,
  1810.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1811. void __RPC_STUB Command15_get_CommandText_Stub(
  1812.     IRpcStubBuffer *This,
  1813.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1814.     PRPC_MESSAGE _pRpcMessage,
  1815.     DWORD *_pdwStubPhase);
  1816. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Command15_put_CommandText_Proxy( 
  1817.     Command15 __RPC_FAR * This,
  1818.     /* [in] */ BSTR bstr);
  1819. void __RPC_STUB Command15_put_CommandText_Stub(
  1820.     IRpcStubBuffer *This,
  1821.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1822.     PRPC_MESSAGE _pRpcMessage,
  1823.     DWORD *_pdwStubPhase);
  1824. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Command15_get_CommandTimeout_Proxy( 
  1825.     Command15 __RPC_FAR * This,
  1826.     /* [retval][out] */ LONG __RPC_FAR *pl);
  1827. void __RPC_STUB Command15_get_CommandTimeout_Stub(
  1828.     IRpcStubBuffer *This,
  1829.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1830.     PRPC_MESSAGE _pRpcMessage,
  1831.     DWORD *_pdwStubPhase);
  1832. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Command15_put_CommandTimeout_Proxy( 
  1833.     Command15 __RPC_FAR * This,
  1834.     /* [in] */ LONG Timeout);
  1835. void __RPC_STUB Command15_put_CommandTimeout_Stub(
  1836.     IRpcStubBuffer *This,
  1837.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1838.     PRPC_MESSAGE _pRpcMessage,
  1839.     DWORD *_pdwStubPhase);
  1840. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Command15_get_Prepared_Proxy( 
  1841.     Command15 __RPC_FAR * This,
  1842.     /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pfPrepared);
  1843. void __RPC_STUB Command15_get_Prepared_Stub(
  1844.     IRpcStubBuffer *This,
  1845.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1846.     PRPC_MESSAGE _pRpcMessage,
  1847.     DWORD *_pdwStubPhase);
  1848. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Command15_put_Prepared_Proxy( 
  1849.     Command15 __RPC_FAR * This,
  1850.     /* [in] */ VARIANT_BOOL fPrepared);
  1851. void __RPC_STUB Command15_put_Prepared_Stub(
  1852.     IRpcStubBuffer *This,
  1853.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1854.     PRPC_MESSAGE _pRpcMessage,
  1855.     DWORD *_pdwStubPhase);
  1856. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Command15_Execute_Proxy( 
  1857.     Command15 __RPC_FAR * This,
  1858.     /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  1859.     /* [optional][in] */ VARIANT __RPC_FAR *Parameters,
  1860.     /* [defaultvalue][in] */ long Options,
  1861.     /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppirs);
  1862. void __RPC_STUB Command15_Execute_Stub(
  1863.     IRpcStubBuffer *This,
  1864.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1865.     PRPC_MESSAGE _pRpcMessage,
  1866.     DWORD *_pdwStubPhase);
  1867. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Command15_CreateParameter_Proxy( 
  1868.     Command15 __RPC_FAR * This,
  1869.     /* [defaultvalue][in] */ BSTR Name,
  1870.     /* [defaultvalue][in] */ DataTypeEnum Type,
  1871.     /* [defaultvalue][in] */ ParameterDirectionEnum Direction,
  1872.     /* [defaultvalue][in] */ long Size,
  1873.     /* [optional][in] */ VARIANT Value,
  1874.     /* [retval][out] */ _ADOParameter __RPC_FAR *__RPC_FAR *ppiprm);
  1875. void __RPC_STUB Command15_CreateParameter_Stub(
  1876.     IRpcStubBuffer *This,
  1877.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1878.     PRPC_MESSAGE _pRpcMessage,
  1879.     DWORD *_pdwStubPhase);
  1880. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Command15_get_Parameters_Proxy( 
  1881.     Command15 __RPC_FAR * This,
  1882.     /* [retval][out] */ ADOParameters __RPC_FAR *__RPC_FAR *ppvObject);
  1883. void __RPC_STUB Command15_get_Parameters_Stub(
  1884.     IRpcStubBuffer *This,
  1885.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1886.     PRPC_MESSAGE _pRpcMessage,
  1887.     DWORD *_pdwStubPhase);
  1888. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Command15_put_CommandType_Proxy( 
  1889.     Command15 __RPC_FAR * This,
  1890.     /* [in] */ CommandTypeEnum lCmdType);
  1891. void __RPC_STUB Command15_put_CommandType_Stub(
  1892.     IRpcStubBuffer *This,
  1893.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1894.     PRPC_MESSAGE _pRpcMessage,
  1895.     DWORD *_pdwStubPhase);
  1896. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Command15_get_CommandType_Proxy( 
  1897.     Command15 __RPC_FAR * This,
  1898.     /* [retval][out] */ CommandTypeEnum __RPC_FAR *plCmdType);
  1899. void __RPC_STUB Command15_get_CommandType_Stub(
  1900.     IRpcStubBuffer *This,
  1901.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1902.     PRPC_MESSAGE _pRpcMessage,
  1903.     DWORD *_pdwStubPhase);
  1904. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Command15_get_Name_Proxy( 
  1905.     Command15 __RPC_FAR * This,
  1906.     /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  1907. void __RPC_STUB Command15_get_Name_Stub(
  1908.     IRpcStubBuffer *This,
  1909.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1910.     PRPC_MESSAGE _pRpcMessage,
  1911.     DWORD *_pdwStubPhase);
  1912. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Command15_put_Name_Proxy( 
  1913.     Command15 __RPC_FAR * This,
  1914.     /* [in] */ BSTR bstrName);
  1915. void __RPC_STUB Command15_put_Name_Stub(
  1916.     IRpcStubBuffer *This,
  1917.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1918.     PRPC_MESSAGE _pRpcMessage,
  1919.     DWORD *_pdwStubPhase);
  1920. #endif     /* __Command15_INTERFACE_DEFINED__ */
  1921. #ifndef ___Command_INTERFACE_DEFINED__
  1922. #define ___Command_INTERFACE_DEFINED__
  1923. /* interface _ADOCommand */
  1924. /* [object][helpcontext][uuid][nonextensible][dual] */ 
  1925. EXTERN_C const IID IID__Command;
  1926. #if defined(__cplusplus) && !defined(CINTERFACE)
  1927.     
  1928.     MIDL_INTERFACE("0000054E-0000-0010-8000-00AA006D2EA4")
  1929.     _ADOCommand : public Command15
  1930.     {
  1931.     public:
  1932.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_State( 
  1933.             /* [retval][out] */ LONG __RPC_FAR *plObjState) = 0;
  1934.         
  1935.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  1936.         
  1937.     };
  1938.     
  1939. #else     /* C style interface */
  1940.     typedef struct _CommandVtbl
  1941.     {
  1942.         BEGIN_INTERFACE
  1943.         
  1944.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1945.             _ADOCommand __RPC_FAR * This,
  1946.             /* [in] */ REFIID riid,
  1947.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1948.         
  1949.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1950.             _ADOCommand __RPC_FAR * This);
  1951.         
  1952.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1953.             _ADOCommand __RPC_FAR * This);
  1954.         
  1955.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1956.             _ADOCommand __RPC_FAR * This,
  1957.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1958.         
  1959.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1960.             _ADOCommand __RPC_FAR * This,
  1961.             /* [in] */ UINT iTInfo,
  1962.             /* [in] */ LCID lcid,
  1963.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1964.         
  1965.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1966.             _ADOCommand __RPC_FAR * This,
  1967.             /* [in] */ REFIID riid,
  1968.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1969.             /* [in] */ UINT cNames,
  1970.             /* [in] */ LCID lcid,
  1971.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1972.         
  1973.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1974.             _ADOCommand __RPC_FAR * This,
  1975.             /* [in] */ DISPID dispIdMember,
  1976.             /* [in] */ REFIID riid,
  1977.             /* [in] */ LCID lcid,
  1978.             /* [in] */ WORD wFlags,
  1979.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1980.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1981.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1982.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1983.         
  1984.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Properties )( 
  1985.             _ADOCommand __RPC_FAR * This,
  1986.             /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject);
  1987.         
  1988.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveConnection )( 
  1989.             _ADOCommand __RPC_FAR * This,
  1990.             /* [retval][out] */ _ADOConnection __RPC_FAR *__RPC_FAR *ppvObject);
  1991.         
  1992.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_ActiveADOConnection )( 
  1993.             _ADOCommand __RPC_FAR * This,
  1994.             /* [in] */ _ADOConnection __RPC_FAR *pCon);
  1995.         
  1996.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ActiveConnection )( 
  1997.             _ADOCommand __RPC_FAR * This,
  1998.             /* [in] */ VARIANT vConn);
  1999.         
  2000.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommandText )( 
  2001.             _ADOCommand __RPC_FAR * This,
  2002.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  2003.         
  2004.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CommandText )( 
  2005.             _ADOCommand __RPC_FAR * This,
  2006.             /* [in] */ BSTR bstr);
  2007.         
  2008.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommandTimeout )( 
  2009.             _ADOCommand __RPC_FAR * This,
  2010.             /* [retval][out] */ LONG __RPC_FAR *pl);
  2011.         
  2012.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CommandTimeout )( 
  2013.             _ADOCommand __RPC_FAR * This,
  2014.             /* [in] */ LONG Timeout);
  2015.         
  2016.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Prepared )( 
  2017.             _ADOCommand __RPC_FAR * This,
  2018.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pfPrepared);
  2019.         
  2020.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Prepared )( 
  2021.             _ADOCommand __RPC_FAR * This,
  2022.             /* [in] */ VARIANT_BOOL fPrepared);
  2023.         
  2024.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Execute )( 
  2025.             _ADOCommand __RPC_FAR * This,
  2026.             /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  2027.             /* [optional][in] */ VARIANT __RPC_FAR *Parameters,
  2028.             /* [defaultvalue][in] */ long Options,
  2029.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppirs);
  2030.         
  2031.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateParameter )( 
  2032.             _ADOCommand __RPC_FAR * This,
  2033.             /* [defaultvalue][in] */ BSTR Name,
  2034.             /* [defaultvalue][in] */ DataTypeEnum Type,
  2035.             /* [defaultvalue][in] */ ParameterDirectionEnum Direction,
  2036.             /* [defaultvalue][in] */ long Size,
  2037.             /* [optional][in] */ VARIANT Value,
  2038.             /* [retval][out] */ _ADOParameter __RPC_FAR *__RPC_FAR *ppiprm);
  2039.         
  2040.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parameters )( 
  2041.             _ADOCommand __RPC_FAR * This,
  2042.             /* [retval][out] */ ADOParameters __RPC_FAR *__RPC_FAR *ppvObject);
  2043.         
  2044.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CommandType )( 
  2045.             _ADOCommand __RPC_FAR * This,
  2046.             /* [in] */ CommandTypeEnum lCmdType);
  2047.         
  2048.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommandType )( 
  2049.             _ADOCommand __RPC_FAR * This,
  2050.             /* [retval][out] */ CommandTypeEnum __RPC_FAR *plCmdType);
  2051.         
  2052.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  2053.             _ADOCommand __RPC_FAR * This,
  2054.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  2055.         
  2056.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
  2057.             _ADOCommand __RPC_FAR * This,
  2058.             /* [in] */ BSTR bstrName);
  2059.         
  2060.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_State )( 
  2061.             _ADOCommand __RPC_FAR * This,
  2062.             /* [retval][out] */ LONG __RPC_FAR *plObjState);
  2063.         
  2064.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Cancel )( 
  2065.             _ADOCommand __RPC_FAR * This);
  2066.         
  2067.         END_INTERFACE
  2068.     } _CommandVtbl;
  2069.     interface _Command
  2070.     {
  2071.         CONST_VTBL struct _CommandVtbl __RPC_FAR *lpVtbl;
  2072.     };
  2073.     
  2074. #ifdef COBJMACROS
  2075. #define _Command_QueryInterface(This,riid,ppvObject)    \
  2076.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2077. #define _Command_AddRef(This)    \
  2078.     (This)->lpVtbl -> AddRef(This)
  2079. #define _Command_Release(This)    \
  2080.     (This)->lpVtbl -> Release(This)
  2081. #define _Command_GetTypeInfoCount(This,pctinfo)    \
  2082.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2083. #define _Command_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  2084.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2085. #define _Command_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  2086.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2087. #define _Command_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  2088.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2089. #define _Command_get_Properties(This,ppvObject)    \
  2090.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  2091. #define _Command_get_ActiveConnection(This,ppvObject)    \
  2092.     (This)->lpVtbl -> get_ActiveConnection(This,ppvObject)
  2093. #define _Command_putref_ActiveConnection(This,pCon)    \
  2094.     (This)->lpVtbl -> putref_ActiveConnection(This,pCon)
  2095. #define _Command_put_ActiveConnection(This,vConn)    \
  2096.     (This)->lpVtbl -> put_ActiveConnection(This,vConn)
  2097. #define _Command_get_CommandText(This,pbstr)    \
  2098.     (This)->lpVtbl -> get_CommandText(This,pbstr)
  2099. #define _Command_put_CommandText(This,bstr)    \
  2100.     (This)->lpVtbl -> put_CommandText(This,bstr)
  2101. #define _Command_get_CommandTimeout(This,pl)    \
  2102.     (This)->lpVtbl -> get_CommandTimeout(This,pl)
  2103. #define _Command_put_CommandTimeout(This,Timeout)    \
  2104.     (This)->lpVtbl -> put_CommandTimeout(This,Timeout)
  2105. #define _Command_get_Prepared(This,pfPrepared)    \
  2106.     (This)->lpVtbl -> get_Prepared(This,pfPrepared)
  2107. #define _Command_put_Prepared(This,fPrepared)    \
  2108.     (This)->lpVtbl -> put_Prepared(This,fPrepared)
  2109. #define _Command_Execute(This,RecordsAffected,Parameters,Options,ppirs)    \
  2110.     (This)->lpVtbl -> Execute(This,RecordsAffected,Parameters,Options,ppirs)
  2111. #define _Command_CreateParameter(This,Name,Type,Direction,Size,Value,ppiprm)    \
  2112.     (This)->lpVtbl -> CreateParameter(This,Name,Type,Direction,Size,Value,ppiprm)
  2113. #define _Command_get_Parameters(This,ppvObject)    \
  2114.     (This)->lpVtbl -> get_Parameters(This,ppvObject)
  2115. #define _Command_put_CommandType(This,lCmdType)    \
  2116.     (This)->lpVtbl -> put_CommandType(This,lCmdType)
  2117. #define _Command_get_CommandType(This,plCmdType)    \
  2118.     (This)->lpVtbl -> get_CommandType(This,plCmdType)
  2119. #define _Command_get_Name(This,pbstrName)    \
  2120.     (This)->lpVtbl -> get_Name(This,pbstrName)
  2121. #define _Command_put_Name(This,bstrName)    \
  2122.     (This)->lpVtbl -> put_Name(This,bstrName)
  2123. #define _Command_get_State(This,plObjState)    \
  2124.     (This)->lpVtbl -> get_State(This,plObjState)
  2125. #define _Command_Cancel(This)    \
  2126.     (This)->lpVtbl -> Cancel(This)
  2127. #endif /* COBJMACROS */
  2128. #endif     /* C style interface */
  2129. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Command_get_State_Proxy( 
  2130.     _ADOCommand __RPC_FAR * This,
  2131.     /* [retval][out] */ LONG __RPC_FAR *plObjState);
  2132. void __RPC_STUB _Command_get_State_Stub(
  2133.     IRpcStubBuffer *This,
  2134.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2135.     PRPC_MESSAGE _pRpcMessage,
  2136.     DWORD *_pdwStubPhase);
  2137. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Command_Cancel_Proxy( 
  2138.     _ADOCommand __RPC_FAR * This);
  2139. void __RPC_STUB _Command_Cancel_Stub(
  2140.     IRpcStubBuffer *This,
  2141.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2142.     PRPC_MESSAGE _pRpcMessage,
  2143.     DWORD *_pdwStubPhase);
  2144. #endif     /* ___Command_INTERFACE_DEFINED__ */
  2145. #ifndef __ConnectionEventsVt_INTERFACE_DEFINED__
  2146. #define __ConnectionEventsVt_INTERFACE_DEFINED__
  2147. /* interface ConnectionEventsVt */
  2148. /* [object][uuid][hidden] */ 
  2149. EXTERN_C const IID IID_ConnectionEventsVt;
  2150. #if defined(__cplusplus) && !defined(CINTERFACE)
  2151.     
  2152.     MIDL_INTERFACE("00000402-0000-0010-8000-00AA006D2EA4")
  2153.     ConnectionEventsVt : public IUnknown
  2154.     {
  2155.     public:
  2156.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE InfoMessage( 
  2157.             /* [in] */ ADOError __RPC_FAR *pError,
  2158.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2159.             /* [in] */ _ADOConnection __RPC_FAR *pConnection) = 0;
  2160.         
  2161.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE BeginTransComplete( 
  2162.             /* [in] */ LONG TransactionLevel,
  2163.             /* [in] */ ADOError __RPC_FAR *pError,
  2164.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2165.             /* [in] */ _ADOConnection __RPC_FAR *pConnection) = 0;
  2166.         
  2167.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CommitTransComplete( 
  2168.             /* [in] */ ADOError __RPC_FAR *pError,
  2169.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2170.             /* [in] */ _ADOConnection __RPC_FAR *pConnection) = 0;
  2171.         
  2172.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RollbackTransComplete( 
  2173.             /* [in] */ ADOError __RPC_FAR *pError,
  2174.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2175.             /* [in] */ _ADOConnection __RPC_FAR *pConnection) = 0;
  2176.         
  2177.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE WillExecute( 
  2178.             /* [out][in] */ BSTR __RPC_FAR *Source,
  2179.             /* [out][in] */ CursorTypeEnum __RPC_FAR *CursorType,
  2180.             /* [out][in] */ LockTypeEnum __RPC_FAR *LockType,
  2181.             /* [out][in] */ long __RPC_FAR *Options,
  2182.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2183.             /* [in] */ _ADOCommand __RPC_FAR *pCommand,
  2184.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset,
  2185.             /* [in] */ _ADOConnection __RPC_FAR *pConnection) = 0;
  2186.         
  2187.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ExecuteComplete( 
  2188.             /* [in] */ LONG RecordsAffected,
  2189.             /* [in] */ ADOError __RPC_FAR *pError,
  2190.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2191.             /* [in] */ _ADOCommand __RPC_FAR *pCommand,
  2192.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset,
  2193.             /* [in] */ _ADOConnection __RPC_FAR *pConnection) = 0;
  2194.         
  2195.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE WillConnect( 
  2196.             /* [out][in] */ BSTR __RPC_FAR *ConnectionString,
  2197.             /* [out][in] */ BSTR __RPC_FAR *UserID,
  2198.             /* [out][in] */ BSTR __RPC_FAR *Password,
  2199.             /* [out][in] */ long __RPC_FAR *Options,
  2200.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2201.             /* [in] */ _ADOConnection __RPC_FAR *pConnection) = 0;
  2202.         
  2203.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ConnectComplete( 
  2204.             /* [in] */ ADOError __RPC_FAR *pError,
  2205.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2206.             /* [in] */ _ADOConnection __RPC_FAR *pConnection) = 0;
  2207.         
  2208.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Disconnect( 
  2209.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2210.             /* [in] */ _ADOConnection __RPC_FAR *pConnection) = 0;
  2211.         
  2212.     };
  2213.     
  2214. #else     /* C style interface */
  2215.     typedef struct ConnectionEventsVtVtbl
  2216.     {
  2217.         BEGIN_INTERFACE
  2218.         
  2219.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2220.             ConnectionEventsVt __RPC_FAR * This,
  2221.             /* [in] */ REFIID riid,
  2222.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2223.         
  2224.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2225.             ConnectionEventsVt __RPC_FAR * This);
  2226.         
  2227.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2228.             ConnectionEventsVt __RPC_FAR * This);
  2229.         
  2230.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InfoMessage )( 
  2231.             ConnectionEventsVt __RPC_FAR * This,
  2232.             /* [in] */ ADOError __RPC_FAR *pError,
  2233.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2234.             /* [in] */ _ADOConnection __RPC_FAR *pConnection);
  2235.         
  2236.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BeginTransComplete )( 
  2237.             ConnectionEventsVt __RPC_FAR * This,
  2238.             /* [in] */ LONG TransactionLevel,
  2239.             /* [in] */ ADOError __RPC_FAR *pError,
  2240.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2241.             /* [in] */ _ADOConnection __RPC_FAR *pConnection);
  2242.         
  2243.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CommitTransComplete )( 
  2244.             ConnectionEventsVt __RPC_FAR * This,
  2245.             /* [in] */ ADOError __RPC_FAR *pError,
  2246.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2247.             /* [in] */ _ADOConnection __RPC_FAR *pConnection);
  2248.         
  2249.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RollbackTransComplete )( 
  2250.             ConnectionEventsVt __RPC_FAR * This,
  2251.             /* [in] */ ADOError __RPC_FAR *pError,
  2252.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2253.             /* [in] */ _ADOConnection __RPC_FAR *pConnection);
  2254.         
  2255.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WillExecute )( 
  2256.             ConnectionEventsVt __RPC_FAR * This,
  2257.             /* [out][in] */ BSTR __RPC_FAR *Source,
  2258.             /* [out][in] */ CursorTypeEnum __RPC_FAR *CursorType,
  2259.             /* [out][in] */ LockTypeEnum __RPC_FAR *LockType,
  2260.             /* [out][in] */ long __RPC_FAR *Options,
  2261.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2262.             /* [in] */ _ADOCommand __RPC_FAR *pCommand,
  2263.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset,
  2264.             /* [in] */ _ADOConnection __RPC_FAR *pConnection);
  2265.         
  2266.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExecuteComplete )( 
  2267.             ConnectionEventsVt __RPC_FAR * This,
  2268.             /* [in] */ LONG RecordsAffected,
  2269.             /* [in] */ ADOError __RPC_FAR *pError,
  2270.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2271.             /* [in] */ _ADOCommand __RPC_FAR *pCommand,
  2272.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset,
  2273.             /* [in] */ _ADOConnection __RPC_FAR *pConnection);
  2274.         
  2275.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WillConnect )( 
  2276.             ConnectionEventsVt __RPC_FAR * This,
  2277.             /* [out][in] */ BSTR __RPC_FAR *ConnectionString,
  2278.             /* [out][in] */ BSTR __RPC_FAR *UserID,
  2279.             /* [out][in] */ BSTR __RPC_FAR *Password,
  2280.             /* [out][in] */ long __RPC_FAR *Options,
  2281.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2282.             /* [in] */ _ADOConnection __RPC_FAR *pConnection);
  2283.         
  2284.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConnectComplete )( 
  2285.             ConnectionEventsVt __RPC_FAR * This,
  2286.             /* [in] */ ADOError __RPC_FAR *pError,
  2287.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2288.             /* [in] */ _ADOConnection __RPC_FAR *pConnection);
  2289.         
  2290.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Disconnect )( 
  2291.             ConnectionEventsVt __RPC_FAR * This,
  2292.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2293.             /* [in] */ _ADOConnection __RPC_FAR *pConnection);
  2294.         
  2295.         END_INTERFACE
  2296.     } ConnectionEventsVtVtbl;
  2297.     interface ConnectionEventsVt
  2298.     {
  2299.         CONST_VTBL struct ConnectionEventsVtVtbl __RPC_FAR *lpVtbl;
  2300.     };
  2301.     
  2302. #ifdef COBJMACROS
  2303. #define ConnectionEventsVt_QueryInterface(This,riid,ppvObject)    \
  2304.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2305. #define ConnectionEventsVt_AddRef(This)    \
  2306.     (This)->lpVtbl -> AddRef(This)
  2307. #define ConnectionEventsVt_Release(This)    \
  2308.     (This)->lpVtbl -> Release(This)
  2309. #define ConnectionEventsVt_InfoMessage(This,pError,adStatus,pConnection)    \
  2310.     (This)->lpVtbl -> InfoMessage(This,pError,adStatus,pConnection)
  2311. #define ConnectionEventsVt_BeginTransComplete(This,TransactionLevel,pError,adStatus,pConnection)    \
  2312.     (This)->lpVtbl -> BeginTransComplete(This,TransactionLevel,pError,adStatus,pConnection)
  2313. #define ConnectionEventsVt_CommitTransComplete(This,pError,adStatus,pConnection)    \
  2314.     (This)->lpVtbl -> CommitTransComplete(This,pError,adStatus,pConnection)
  2315. #define ConnectionEventsVt_RollbackTransComplete(This,pError,adStatus,pConnection)    \
  2316.     (This)->lpVtbl -> RollbackTransComplete(This,pError,adStatus,pConnection)
  2317. #define ConnectionEventsVt_WillExecute(This,Source,CursorType,LockType,Options,adStatus,pCommand,pRecordset,pConnection)    \
  2318.     (This)->lpVtbl -> WillExecute(This,Source,CursorType,LockType,Options,adStatus,pCommand,pRecordset,pConnection)
  2319. #define ConnectionEventsVt_ExecuteComplete(This,RecordsAffected,pError,adStatus,pCommand,pRecordset,pConnection)    \
  2320.     (This)->lpVtbl -> ExecuteComplete(This,RecordsAffected,pError,adStatus,pCommand,pRecordset,pConnection)
  2321. #define ConnectionEventsVt_WillConnect(This,ConnectionString,UserID,Password,Options,adStatus,pConnection)    \
  2322.     (This)->lpVtbl -> WillConnect(This,ConnectionString,UserID,Password,Options,adStatus,pConnection)
  2323. #define ConnectionEventsVt_ConnectComplete(This,pError,adStatus,pConnection)    \
  2324.     (This)->lpVtbl -> ConnectComplete(This,pError,adStatus,pConnection)
  2325. #define ConnectionEventsVt_Disconnect(This,adStatus,pConnection)    \
  2326.     (This)->lpVtbl -> Disconnect(This,adStatus,pConnection)
  2327. #endif /* COBJMACROS */
  2328. #endif     /* C style interface */
  2329. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ConnectionEventsVt_InfoMessage_Proxy( 
  2330.     ConnectionEventsVt __RPC_FAR * This,
  2331.     /* [in] */ ADOError __RPC_FAR *pError,
  2332.     /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2333.     /* [in] */ _ADOConnection __RPC_FAR *pConnection);
  2334. void __RPC_STUB ConnectionEventsVt_InfoMessage_Stub(
  2335.     IRpcStubBuffer *This,
  2336.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2337.     PRPC_MESSAGE _pRpcMessage,
  2338.     DWORD *_pdwStubPhase);
  2339. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ConnectionEventsVt_BeginTransComplete_Proxy( 
  2340.     ConnectionEventsVt __RPC_FAR * This,
  2341.     /* [in] */ LONG TransactionLevel,
  2342.     /* [in] */ ADOError __RPC_FAR *pError,
  2343.     /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2344.     /* [in] */ _ADOConnection __RPC_FAR *pConnection);
  2345. void __RPC_STUB ConnectionEventsVt_BeginTransComplete_Stub(
  2346.     IRpcStubBuffer *This,
  2347.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2348.     PRPC_MESSAGE _pRpcMessage,
  2349.     DWORD *_pdwStubPhase);
  2350. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ConnectionEventsVt_CommitTransComplete_Proxy( 
  2351.     ConnectionEventsVt __RPC_FAR * This,
  2352.     /* [in] */ ADOError __RPC_FAR *pError,
  2353.     /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2354.     /* [in] */ _ADOConnection __RPC_FAR *pConnection);
  2355. void __RPC_STUB ConnectionEventsVt_CommitTransComplete_Stub(
  2356.     IRpcStubBuffer *This,
  2357.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2358.     PRPC_MESSAGE _pRpcMessage,
  2359.     DWORD *_pdwStubPhase);
  2360. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ConnectionEventsVt_RollbackTransComplete_Proxy( 
  2361.     ConnectionEventsVt __RPC_FAR * This,
  2362.     /* [in] */ ADOError __RPC_FAR *pError,
  2363.     /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2364.     /* [in] */ _ADOConnection __RPC_FAR *pConnection);
  2365. void __RPC_STUB ConnectionEventsVt_RollbackTransComplete_Stub(
  2366.     IRpcStubBuffer *This,
  2367.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2368.     PRPC_MESSAGE _pRpcMessage,
  2369.     DWORD *_pdwStubPhase);
  2370. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ConnectionEventsVt_WillExecute_Proxy( 
  2371.     ConnectionEventsVt __RPC_FAR * This,
  2372.     /* [out][in] */ BSTR __RPC_FAR *Source,
  2373.     /* [out][in] */ CursorTypeEnum __RPC_FAR *CursorType,
  2374.     /* [out][in] */ LockTypeEnum __RPC_FAR *LockType,
  2375.     /* [out][in] */ long __RPC_FAR *Options,
  2376.     /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2377.     /* [in] */ _ADOCommand __RPC_FAR *pCommand,
  2378.     /* [in] */ _ADORecordset __RPC_FAR *pRecordset,
  2379.     /* [in] */ _ADOConnection __RPC_FAR *pConnection);
  2380. void __RPC_STUB ConnectionEventsVt_WillExecute_Stub(
  2381.     IRpcStubBuffer *This,
  2382.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2383.     PRPC_MESSAGE _pRpcMessage,
  2384.     DWORD *_pdwStubPhase);
  2385. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ConnectionEventsVt_ExecuteComplete_Proxy( 
  2386.     ConnectionEventsVt __RPC_FAR * This,
  2387.     /* [in] */ LONG RecordsAffected,
  2388.     /* [in] */ ADOError __RPC_FAR *pError,
  2389.     /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2390.     /* [in] */ _ADOCommand __RPC_FAR *pCommand,
  2391.     /* [in] */ _ADORecordset __RPC_FAR *pRecordset,
  2392.     /* [in] */ _ADOConnection __RPC_FAR *pConnection);
  2393. void __RPC_STUB ConnectionEventsVt_ExecuteComplete_Stub(
  2394.     IRpcStubBuffer *This,
  2395.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2396.     PRPC_MESSAGE _pRpcMessage,
  2397.     DWORD *_pdwStubPhase);
  2398. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ConnectionEventsVt_WillConnect_Proxy( 
  2399.     ConnectionEventsVt __RPC_FAR * This,
  2400.     /* [out][in] */ BSTR __RPC_FAR *ConnectionString,
  2401.     /* [out][in] */ BSTR __RPC_FAR *UserID,
  2402.     /* [out][in] */ BSTR __RPC_FAR *Password,
  2403.     /* [out][in] */ long __RPC_FAR *Options,
  2404.     /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2405.     /* [in] */ _ADOConnection __RPC_FAR *pConnection);
  2406. void __RPC_STUB ConnectionEventsVt_WillConnect_Stub(
  2407.     IRpcStubBuffer *This,
  2408.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2409.     PRPC_MESSAGE _pRpcMessage,
  2410.     DWORD *_pdwStubPhase);
  2411. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ConnectionEventsVt_ConnectComplete_Proxy( 
  2412.     ConnectionEventsVt __RPC_FAR * This,
  2413.     /* [in] */ ADOError __RPC_FAR *pError,
  2414.     /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2415.     /* [in] */ _ADOConnection __RPC_FAR *pConnection);
  2416. void __RPC_STUB ConnectionEventsVt_ConnectComplete_Stub(
  2417.     IRpcStubBuffer *This,
  2418.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2419.     PRPC_MESSAGE _pRpcMessage,
  2420.     DWORD *_pdwStubPhase);
  2421. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ConnectionEventsVt_Disconnect_Proxy( 
  2422.     ConnectionEventsVt __RPC_FAR * This,
  2423.     /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2424.     /* [in] */ _ADOConnection __RPC_FAR *pConnection);
  2425. void __RPC_STUB ConnectionEventsVt_Disconnect_Stub(
  2426.     IRpcStubBuffer *This,
  2427.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2428.     PRPC_MESSAGE _pRpcMessage,
  2429.     DWORD *_pdwStubPhase);
  2430. #endif     /* __ConnectionEventsVt_INTERFACE_DEFINED__ */
  2431. #ifndef __RecordsetEventsVt_INTERFACE_DEFINED__
  2432. #define __RecordsetEventsVt_INTERFACE_DEFINED__
  2433. /* interface RecordsetEventsVt */
  2434. /* [object][uuid][hidden] */ 
  2435. EXTERN_C const IID IID_RecordsetEventsVt;
  2436. #if defined(__cplusplus) && !defined(CINTERFACE)
  2437.     
  2438.     MIDL_INTERFACE("00000403-0000-0010-8000-00AA006D2EA4")
  2439.     RecordsetEventsVt : public IUnknown
  2440.     {
  2441.     public:
  2442.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE WillChangeField( 
  2443.             /* [in] */ LONG cFields,
  2444.             /* [in] */ VARIANT Fields,
  2445.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2446.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset) = 0;
  2447.         
  2448.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE FieldChangeComplete( 
  2449.             /* [in] */ LONG cFields,
  2450.             /* [in] */ VARIANT Fields,
  2451.             /* [in] */ ADOError __RPC_FAR *pError,
  2452.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2453.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset) = 0;
  2454.         
  2455.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE WillChangeRecord( 
  2456.             /* [in] */ EventReasonEnum adReason,
  2457.             /* [in] */ LONG cRecords,
  2458.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2459.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset) = 0;
  2460.         
  2461.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordChangeComplete( 
  2462.             /* [in] */ EventReasonEnum adReason,
  2463.             /* [in] */ LONG cRecords,
  2464.             /* [in] */ ADOError __RPC_FAR *pError,
  2465.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2466.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset) = 0;
  2467.         
  2468.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE WillChangeRecordset( 
  2469.             /* [in] */ EventReasonEnum adReason,
  2470.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2471.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset) = 0;
  2472.         
  2473.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetChangeComplete( 
  2474.             /* [in] */ EventReasonEnum adReason,
  2475.             /* [in] */ ADOError __RPC_FAR *pError,
  2476.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2477.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset) = 0;
  2478.         
  2479.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE WillMove( 
  2480.             /* [in] */ EventReasonEnum adReason,
  2481.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2482.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset) = 0;
  2483.         
  2484.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE MoveComplete( 
  2485.             /* [in] */ EventReasonEnum adReason,
  2486.             /* [in] */ ADOError __RPC_FAR *pError,
  2487.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2488.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset) = 0;
  2489.         
  2490.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE EndOfRecordset( 
  2491.             /* [out][in] */ VARIANT_BOOL __RPC_FAR *fMoreData,
  2492.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2493.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset) = 0;
  2494.         
  2495.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE FetchProgress( 
  2496.             /* [in] */ long Progress,
  2497.             /* [in] */ long MaxProgress,
  2498.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2499.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset) = 0;
  2500.         
  2501.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE FetchComplete( 
  2502.             /* [in] */ ADOError __RPC_FAR *pError,
  2503.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2504.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset) = 0;
  2505.         
  2506.     };
  2507.     
  2508. #else     /* C style interface */
  2509.     typedef struct RecordsetEventsVtVtbl
  2510.     {
  2511.         BEGIN_INTERFACE
  2512.         
  2513.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2514.             RecordsetEventsVt __RPC_FAR * This,
  2515.             /* [in] */ REFIID riid,
  2516.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2517.         
  2518.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2519.             RecordsetEventsVt __RPC_FAR * This);
  2520.         
  2521.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2522.             RecordsetEventsVt __RPC_FAR * This);
  2523.         
  2524.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WillChangeADOField )( 
  2525.             RecordsetEventsVt __RPC_FAR * This,
  2526.             /* [in] */ LONG cFields,
  2527.             /* [in] */ VARIANT Fields,
  2528.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2529.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset);
  2530.         
  2531.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FieldChangeComplete )( 
  2532.             RecordsetEventsVt __RPC_FAR * This,
  2533.             /* [in] */ LONG cFields,
  2534.             /* [in] */ VARIANT Fields,
  2535.             /* [in] */ ADOError __RPC_FAR *pError,
  2536.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2537.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset);
  2538.         
  2539.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WillChangeADORecord )( 
  2540.             RecordsetEventsVt __RPC_FAR * This,
  2541.             /* [in] */ EventReasonEnum adReason,
  2542.             /* [in] */ LONG cRecords,
  2543.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2544.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset);
  2545.         
  2546.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RecordChangeComplete )( 
  2547.             RecordsetEventsVt __RPC_FAR * This,
  2548.             /* [in] */ EventReasonEnum adReason,
  2549.             /* [in] */ LONG cRecords,
  2550.             /* [in] */ ADOError __RPC_FAR *pError,
  2551.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2552.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset);
  2553.         
  2554.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WillChangeADORecordset )( 
  2555.             RecordsetEventsVt __RPC_FAR * This,
  2556.             /* [in] */ EventReasonEnum adReason,
  2557.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2558.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset);
  2559.         
  2560.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RecordsetChangeComplete )( 
  2561.             RecordsetEventsVt __RPC_FAR * This,
  2562.             /* [in] */ EventReasonEnum adReason,
  2563.             /* [in] */ ADOError __RPC_FAR *pError,
  2564.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2565.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset);
  2566.         
  2567.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WillMove )( 
  2568.             RecordsetEventsVt __RPC_FAR * This,
  2569.             /* [in] */ EventReasonEnum adReason,
  2570.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2571.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset);
  2572.         
  2573.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveComplete )( 
  2574.             RecordsetEventsVt __RPC_FAR * This,
  2575.             /* [in] */ EventReasonEnum adReason,
  2576.             /* [in] */ ADOError __RPC_FAR *pError,
  2577.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2578.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset);
  2579.         
  2580.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EndOfADORecordset )( 
  2581.             RecordsetEventsVt __RPC_FAR * This,
  2582.             /* [out][in] */ VARIANT_BOOL __RPC_FAR *fMoreData,
  2583.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2584.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset);
  2585.         
  2586.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FetchProgress )( 
  2587.             RecordsetEventsVt __RPC_FAR * This,
  2588.             /* [in] */ long Progress,
  2589.             /* [in] */ long MaxProgress,
  2590.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2591.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset);
  2592.         
  2593.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FetchComplete )( 
  2594.             RecordsetEventsVt __RPC_FAR * This,
  2595.             /* [in] */ ADOError __RPC_FAR *pError,
  2596.             /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2597.             /* [in] */ _ADORecordset __RPC_FAR *pRecordset);
  2598.         
  2599.         END_INTERFACE
  2600.     } RecordsetEventsVtVtbl;
  2601.     interface RecordsetEventsVt
  2602.     {
  2603.         CONST_VTBL struct RecordsetEventsVtVtbl __RPC_FAR *lpVtbl;
  2604.     };
  2605.     
  2606. #ifdef COBJMACROS
  2607. #define RecordsetEventsVt_QueryInterface(This,riid,ppvObject)    \
  2608.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2609. #define RecordsetEventsVt_AddRef(This)    \
  2610.     (This)->lpVtbl -> AddRef(This)
  2611. #define RecordsetEventsVt_Release(This)    \
  2612.     (This)->lpVtbl -> Release(This)
  2613. #define RecordsetEventsVt_WillChangeField(This,cFields,Fields,adStatus,pRecordset)    \
  2614.     (This)->lpVtbl -> WillChangeField(This,cFields,Fields,adStatus,pRecordset)
  2615. #define RecordsetEventsVt_FieldChangeComplete(This,cFields,Fields,pError,adStatus,pRecordset)    \
  2616.     (This)->lpVtbl -> FieldChangeComplete(This,cFields,Fields,pError,adStatus,pRecordset)
  2617. #define RecordsetEventsVt_WillChangeRecord(This,adReason,cRecords,adStatus,pRecordset)    \
  2618.     (This)->lpVtbl -> WillChangeRecord(This,adReason,cRecords,adStatus,pRecordset)
  2619. #define RecordsetEventsVt_RecordChangeComplete(This,adReason,cRecords,pError,adStatus,pRecordset)    \
  2620.     (This)->lpVtbl -> RecordChangeComplete(This,adReason,cRecords,pError,adStatus,pRecordset)
  2621. #define RecordsetEventsVt_WillChangeRecordset(This,adReason,adStatus,pRecordset)    \
  2622.     (This)->lpVtbl -> WillChangeRecordset(This,adReason,adStatus,pRecordset)
  2623. #define RecordsetEventsVt_RecordsetChangeComplete(This,adReason,pError,adStatus,pRecordset)    \
  2624.     (This)->lpVtbl -> RecordsetChangeComplete(This,adReason,pError,adStatus,pRecordset)
  2625. #define RecordsetEventsVt_WillMove(This,adReason,adStatus,pRecordset)    \
  2626.     (This)->lpVtbl -> WillMove(This,adReason,adStatus,pRecordset)
  2627. #define RecordsetEventsVt_MoveComplete(This,adReason,pError,adStatus,pRecordset)    \
  2628.     (This)->lpVtbl -> MoveComplete(This,adReason,pError,adStatus,pRecordset)
  2629. #define RecordsetEventsVt_EndOfRecordset(This,fMoreData,adStatus,pRecordset)    \
  2630.     (This)->lpVtbl -> EndOfRecordset(This,fMoreData,adStatus,pRecordset)
  2631. #define RecordsetEventsVt_FetchProgress(This,Progress,MaxProgress,adStatus,pRecordset)    \
  2632.     (This)->lpVtbl -> FetchProgress(This,Progress,MaxProgress,adStatus,pRecordset)
  2633. #define RecordsetEventsVt_FetchComplete(This,pError,adStatus,pRecordset)    \
  2634.     (This)->lpVtbl -> FetchComplete(This,pError,adStatus,pRecordset)
  2635. #endif /* COBJMACROS */
  2636. #endif     /* C style interface */
  2637. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetEventsVt_WillChangeField_Proxy( 
  2638.     RecordsetEventsVt __RPC_FAR * This,
  2639.     /* [in] */ LONG cFields,
  2640.     /* [in] */ VARIANT Fields,
  2641.     /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2642.     /* [in] */ _ADORecordset __RPC_FAR *pRecordset);
  2643. void __RPC_STUB RecordsetEventsVt_WillChangeField_Stub(
  2644.     IRpcStubBuffer *This,
  2645.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2646.     PRPC_MESSAGE _pRpcMessage,
  2647.     DWORD *_pdwStubPhase);
  2648. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetEventsVt_FieldChangeComplete_Proxy( 
  2649.     RecordsetEventsVt __RPC_FAR * This,
  2650.     /* [in] */ LONG cFields,
  2651.     /* [in] */ VARIANT Fields,
  2652.     /* [in] */ ADOError __RPC_FAR *pError,
  2653.     /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2654.     /* [in] */ _ADORecordset __RPC_FAR *pRecordset);
  2655. void __RPC_STUB RecordsetEventsVt_FieldChangeComplete_Stub(
  2656.     IRpcStubBuffer *This,
  2657.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2658.     PRPC_MESSAGE _pRpcMessage,
  2659.     DWORD *_pdwStubPhase);
  2660. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetEventsVt_WillChangeRecord_Proxy( 
  2661.     RecordsetEventsVt __RPC_FAR * This,
  2662.     /* [in] */ EventReasonEnum adReason,
  2663.     /* [in] */ LONG cRecords,
  2664.     /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2665.     /* [in] */ _ADORecordset __RPC_FAR *pRecordset);
  2666. void __RPC_STUB RecordsetEventsVt_WillChangeRecord_Stub(
  2667.     IRpcStubBuffer *This,
  2668.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2669.     PRPC_MESSAGE _pRpcMessage,
  2670.     DWORD *_pdwStubPhase);
  2671. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetEventsVt_RecordChangeComplete_Proxy( 
  2672.     RecordsetEventsVt __RPC_FAR * This,
  2673.     /* [in] */ EventReasonEnum adReason,
  2674.     /* [in] */ LONG cRecords,
  2675.     /* [in] */ ADOError __RPC_FAR *pError,
  2676.     /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2677.     /* [in] */ _ADORecordset __RPC_FAR *pRecordset);
  2678. void __RPC_STUB RecordsetEventsVt_RecordChangeComplete_Stub(
  2679.     IRpcStubBuffer *This,
  2680.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2681.     PRPC_MESSAGE _pRpcMessage,
  2682.     DWORD *_pdwStubPhase);
  2683. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetEventsVt_WillChangeRecordset_Proxy( 
  2684.     RecordsetEventsVt __RPC_FAR * This,
  2685.     /* [in] */ EventReasonEnum adReason,
  2686.     /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2687.     /* [in] */ _ADORecordset __RPC_FAR *pRecordset);
  2688. void __RPC_STUB RecordsetEventsVt_WillChangeRecordset_Stub(
  2689.     IRpcStubBuffer *This,
  2690.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2691.     PRPC_MESSAGE _pRpcMessage,
  2692.     DWORD *_pdwStubPhase);
  2693. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetEventsVt_RecordsetChangeComplete_Proxy( 
  2694.     RecordsetEventsVt __RPC_FAR * This,
  2695.     /* [in] */ EventReasonEnum adReason,
  2696.     /* [in] */ ADOError __RPC_FAR *pError,
  2697.     /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2698.     /* [in] */ _ADORecordset __RPC_FAR *pRecordset);
  2699. void __RPC_STUB RecordsetEventsVt_RecordsetChangeComplete_Stub(
  2700.     IRpcStubBuffer *This,
  2701.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2702.     PRPC_MESSAGE _pRpcMessage,
  2703.     DWORD *_pdwStubPhase);
  2704. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetEventsVt_WillMove_Proxy( 
  2705.     RecordsetEventsVt __RPC_FAR * This,
  2706.     /* [in] */ EventReasonEnum adReason,
  2707.     /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2708.     /* [in] */ _ADORecordset __RPC_FAR *pRecordset);
  2709. void __RPC_STUB RecordsetEventsVt_WillMove_Stub(
  2710.     IRpcStubBuffer *This,
  2711.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2712.     PRPC_MESSAGE _pRpcMessage,
  2713.     DWORD *_pdwStubPhase);
  2714. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetEventsVt_MoveComplete_Proxy( 
  2715.     RecordsetEventsVt __RPC_FAR * This,
  2716.     /* [in] */ EventReasonEnum adReason,
  2717.     /* [in] */ ADOError __RPC_FAR *pError,
  2718.     /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2719.     /* [in] */ _ADORecordset __RPC_FAR *pRecordset);
  2720. void __RPC_STUB RecordsetEventsVt_MoveComplete_Stub(
  2721.     IRpcStubBuffer *This,
  2722.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2723.     PRPC_MESSAGE _pRpcMessage,
  2724.     DWORD *_pdwStubPhase);
  2725. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetEventsVt_EndOfRecordset_Proxy( 
  2726.     RecordsetEventsVt __RPC_FAR * This,
  2727.     /* [out][in] */ VARIANT_BOOL __RPC_FAR *fMoreData,
  2728.     /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2729.     /* [in] */ _ADORecordset __RPC_FAR *pRecordset);
  2730. void __RPC_STUB RecordsetEventsVt_EndOfRecordset_Stub(
  2731.     IRpcStubBuffer *This,
  2732.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2733.     PRPC_MESSAGE _pRpcMessage,
  2734.     DWORD *_pdwStubPhase);
  2735. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetEventsVt_FetchProgress_Proxy( 
  2736.     RecordsetEventsVt __RPC_FAR * This,
  2737.     /* [in] */ long Progress,
  2738.     /* [in] */ long MaxProgress,
  2739.     /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2740.     /* [in] */ _ADORecordset __RPC_FAR *pRecordset);
  2741. void __RPC_STUB RecordsetEventsVt_FetchProgress_Stub(
  2742.     IRpcStubBuffer *This,
  2743.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2744.     PRPC_MESSAGE _pRpcMessage,
  2745.     DWORD *_pdwStubPhase);
  2746. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetEventsVt_FetchComplete_Proxy( 
  2747.     RecordsetEventsVt __RPC_FAR * This,
  2748.     /* [in] */ ADOError __RPC_FAR *pError,
  2749.     /* [out][in] */ EventStatusEnum __RPC_FAR *adStatus,
  2750.     /* [in] */ _ADORecordset __RPC_FAR *pRecordset);
  2751. void __RPC_STUB RecordsetEventsVt_FetchComplete_Stub(
  2752.     IRpcStubBuffer *This,
  2753.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2754.     PRPC_MESSAGE _pRpcMessage,
  2755.     DWORD *_pdwStubPhase);
  2756. #endif     /* __RecordsetEventsVt_INTERFACE_DEFINED__ */
  2757. #ifndef __ConnectionEvents_DISPINTERFACE_DEFINED__
  2758. #define __ConnectionEvents_DISPINTERFACE_DEFINED__
  2759. /* dispinterface ConnectionEvents */
  2760. /* [uuid] */ 
  2761. EXTERN_C const IID DIID_ConnectionEvents;
  2762. #if defined(__cplusplus) && !defined(CINTERFACE)
  2763.     MIDL_INTERFACE("00000400-0000-0010-8000-00AA006D2EA4")
  2764.     ConnectionEvents : public IDispatch
  2765.     {
  2766.     };
  2767.     
  2768. #else     /* C style interface */
  2769.     typedef struct ConnectionEventsVtbl
  2770.     {
  2771.         BEGIN_INTERFACE
  2772.         
  2773.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2774.             ConnectionEvents __RPC_FAR * This,
  2775.             /* [in] */ REFIID riid,
  2776.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2777.         
  2778.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2779.             ConnectionEvents __RPC_FAR * This);
  2780.         
  2781.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2782.             ConnectionEvents __RPC_FAR * This);
  2783.         
  2784.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  2785.             ConnectionEvents __RPC_FAR * This,
  2786.             /* [out] */ UINT __RPC_FAR *pctinfo);
  2787.         
  2788.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  2789.             ConnectionEvents __RPC_FAR * This,
  2790.             /* [in] */ UINT iTInfo,
  2791.             /* [in] */ LCID lcid,
  2792.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  2793.         
  2794.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  2795.             ConnectionEvents __RPC_FAR * This,
  2796.             /* [in] */ REFIID riid,
  2797.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2798.             /* [in] */ UINT cNames,
  2799.             /* [in] */ LCID lcid,
  2800.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  2801.         
  2802.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  2803.             ConnectionEvents __RPC_FAR * This,
  2804.             /* [in] */ DISPID dispIdMember,
  2805.             /* [in] */ REFIID riid,
  2806.             /* [in] */ LCID lcid,
  2807.             /* [in] */ WORD wFlags,
  2808.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2809.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2810.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2811.             /* [out] */ UINT __RPC_FAR *puArgErr);
  2812.         
  2813.         END_INTERFACE
  2814.     } ConnectionEventsVtbl;
  2815.     interface ConnectionEvents
  2816.     {
  2817.         CONST_VTBL struct ConnectionEventsVtbl __RPC_FAR *lpVtbl;
  2818.     };
  2819.     
  2820. #ifdef COBJMACROS
  2821. #define ConnectionEvents_QueryInterface(This,riid,ppvObject)    \
  2822.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2823. #define ConnectionEvents_AddRef(This)    \
  2824.     (This)->lpVtbl -> AddRef(This)
  2825. #define ConnectionEvents_Release(This)    \
  2826.     (This)->lpVtbl -> Release(This)
  2827. #define ConnectionEvents_GetTypeInfoCount(This,pctinfo)    \
  2828.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2829. #define ConnectionEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  2830.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2831. #define ConnectionEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  2832.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2833. #define ConnectionEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  2834.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2835. #endif /* COBJMACROS */
  2836. #endif     /* C style interface */
  2837. #endif     /* __ConnectionEvents_DISPINTERFACE_DEFINED__ */
  2838. #ifndef __RecordsetEvents_DISPINTERFACE_DEFINED__
  2839. #define __RecordsetEvents_DISPINTERFACE_DEFINED__
  2840. /* dispinterface RecordsetEvents */
  2841. /* [uuid] */ 
  2842. EXTERN_C const IID DIID_RecordsetEvents;
  2843. #if defined(__cplusplus) && !defined(CINTERFACE)
  2844.     MIDL_INTERFACE("00000266-0000-0010-8000-00AA006D2EA4")
  2845.     RecordsetEvents : public IDispatch
  2846.     {
  2847.     };
  2848.     
  2849. #else     /* C style interface */
  2850.     typedef struct RecordsetEventsVtbl
  2851.     {
  2852.         BEGIN_INTERFACE
  2853.         
  2854.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2855.             RecordsetEvents __RPC_FAR * This,
  2856.             /* [in] */ REFIID riid,
  2857.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2858.         
  2859.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2860.             RecordsetEvents __RPC_FAR * This);
  2861.         
  2862.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2863.             RecordsetEvents __RPC_FAR * This);
  2864.         
  2865.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  2866.             RecordsetEvents __RPC_FAR * This,
  2867.             /* [out] */ UINT __RPC_FAR *pctinfo);
  2868.         
  2869.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  2870.             RecordsetEvents __RPC_FAR * This,
  2871.             /* [in] */ UINT iTInfo,
  2872.             /* [in] */ LCID lcid,
  2873.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  2874.         
  2875.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  2876.             RecordsetEvents __RPC_FAR * This,
  2877.             /* [in] */ REFIID riid,
  2878.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2879.             /* [in] */ UINT cNames,
  2880.             /* [in] */ LCID lcid,
  2881.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  2882.         
  2883.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  2884.             RecordsetEvents __RPC_FAR * This,
  2885.             /* [in] */ DISPID dispIdMember,
  2886.             /* [in] */ REFIID riid,
  2887.             /* [in] */ LCID lcid,
  2888.             /* [in] */ WORD wFlags,
  2889.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2890.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2891.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2892.             /* [out] */ UINT __RPC_FAR *puArgErr);
  2893.         
  2894.         END_INTERFACE
  2895.     } RecordsetEventsVtbl;
  2896.     interface RecordsetEvents
  2897.     {
  2898.         CONST_VTBL struct RecordsetEventsVtbl __RPC_FAR *lpVtbl;
  2899.     };
  2900.     
  2901. #ifdef COBJMACROS
  2902. #define RecordsetEvents_QueryInterface(This,riid,ppvObject)    \
  2903.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2904. #define RecordsetEvents_AddRef(This)    \
  2905.     (This)->lpVtbl -> AddRef(This)
  2906. #define RecordsetEvents_Release(This)    \
  2907.     (This)->lpVtbl -> Release(This)
  2908. #define RecordsetEvents_GetTypeInfoCount(This,pctinfo)    \
  2909.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2910. #define RecordsetEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  2911.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2912. #define RecordsetEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  2913.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2914. #define RecordsetEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  2915.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2916. #endif /* COBJMACROS */
  2917. #endif     /* C style interface */
  2918. #endif     /* __RecordsetEvents_DISPINTERFACE_DEFINED__ */
  2919. #ifndef __Connection15_INTERFACE_DEFINED__
  2920. #define __Connection15_INTERFACE_DEFINED__
  2921. /* interface Connection15 */
  2922. /* [object][helpcontext][uuid][hidden][dual] */ 
  2923. EXTERN_C const IID IID_Connection15;
  2924. #if defined(__cplusplus) && !defined(CINTERFACE)
  2925.     
  2926.     MIDL_INTERFACE("00000515-0000-0010-8000-00AA006D2EA4")
  2927.     Connection15 : public _ADO
  2928.     {
  2929.     public:
  2930.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ConnectionString( 
  2931.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  2932.         
  2933.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ConnectionString( 
  2934.             /* [in] */ BSTR bstr) = 0;
  2935.         
  2936.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CommandTimeout( 
  2937.             /* [retval][out] */ LONG __RPC_FAR *plTimeout) = 0;
  2938.         
  2939.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CommandTimeout( 
  2940.             /* [in] */ LONG lTimeout) = 0;
  2941.         
  2942.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ConnectionTimeout( 
  2943.             /* [retval][out] */ LONG __RPC_FAR *plTimeout) = 0;
  2944.         
  2945.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ConnectionTimeout( 
  2946.             /* [in] */ LONG lTimeout) = 0;
  2947.         
  2948.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Version( 
  2949.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  2950.         
  2951.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
  2952.         
  2953.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Execute( 
  2954.             /* [in] */ BSTR CommandText,
  2955.             /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  2956.             /* [defaultvalue][in] */ long Options,
  2957.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppiRset) = 0;
  2958.         
  2959.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE BeginTrans( 
  2960.             /* [retval][out] */ long __RPC_FAR *TransactionLevel) = 0;
  2961.         
  2962.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CommitTrans( void) = 0;
  2963.         
  2964.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RollbackTrans( void) = 0;
  2965.         
  2966.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Open( 
  2967.             /* [defaultvalue][in] */ BSTR ConnectionString = L"",
  2968.             /* [defaultvalue][in] */ BSTR UserID = L"",
  2969.             /* [defaultvalue][in] */ BSTR Password = L"",
  2970.             /* [defaultvalue][in] */ long Options = adOptionUnspecified) = 0;
  2971.         
  2972.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Errors( 
  2973.             /* [retval][out] */ ADOErrors __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  2974.         
  2975.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultDatabase( 
  2976.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  2977.         
  2978.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DefaultDatabase( 
  2979.             /* [in] */ BSTR bstr) = 0;
  2980.         
  2981.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsolationLevel( 
  2982.             /* [retval][out] */ IsolationLevelEnum __RPC_FAR *Level) = 0;
  2983.         
  2984.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IsolationLevel( 
  2985.             /* [in] */ IsolationLevelEnum Level) = 0;
  2986.         
  2987.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Attributes( 
  2988.             /* [retval][out] */ long __RPC_FAR *plAttr) = 0;
  2989.         
  2990.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Attributes( 
  2991.             /* [in] */ long lAttr) = 0;
  2992.         
  2993.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CursorLocation( 
  2994.             /* [retval][out] */ CursorLocationEnum __RPC_FAR *plCursorLoc) = 0;
  2995.         
  2996.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_CursorLocation( 
  2997.             /* [in] */ CursorLocationEnum lCursorLoc) = 0;
  2998.         
  2999.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Mode( 
  3000.             /* [retval][out] */ ConnectModeEnum __RPC_FAR *plMode) = 0;
  3001.         
  3002.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Mode( 
  3003.             /* [in] */ ConnectModeEnum lMode) = 0;
  3004.         
  3005.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Provider( 
  3006.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  3007.         
  3008.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Provider( 
  3009.             /* [in] */ BSTR Provider) = 0;
  3010.         
  3011.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_State( 
  3012.             /* [retval][out] */ LONG __RPC_FAR *plObjState) = 0;
  3013.         
  3014.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE OpenSchema( 
  3015.             /* [in] */ SchemaEnum Schema,
  3016.             /* [optional][in] */ VARIANT Restrictions,
  3017.             /* [optional][in] */ VARIANT SchemaID,
  3018.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *pprset) = 0;
  3019.         
  3020.     };
  3021.     
  3022. #else     /* C style interface */
  3023.     typedef struct Connection15Vtbl
  3024.     {
  3025.         BEGIN_INTERFACE
  3026.         
  3027.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3028.             Connection15 __RPC_FAR * This,
  3029.             /* [in] */ REFIID riid,
  3030.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3031.         
  3032.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3033.             Connection15 __RPC_FAR * This);
  3034.         
  3035.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3036.             Connection15 __RPC_FAR * This);
  3037.         
  3038.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  3039.             Connection15 __RPC_FAR * This,
  3040.             /* [out] */ UINT __RPC_FAR *pctinfo);
  3041.         
  3042.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  3043.             Connection15 __RPC_FAR * This,
  3044.             /* [in] */ UINT iTInfo,
  3045.             /* [in] */ LCID lcid,
  3046.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  3047.         
  3048.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  3049.             Connection15 __RPC_FAR * This,
  3050.             /* [in] */ REFIID riid,
  3051.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  3052.             /* [in] */ UINT cNames,
  3053.             /* [in] */ LCID lcid,
  3054.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  3055.         
  3056.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  3057.             Connection15 __RPC_FAR * This,
  3058.             /* [in] */ DISPID dispIdMember,
  3059.             /* [in] */ REFIID riid,
  3060.             /* [in] */ LCID lcid,
  3061.             /* [in] */ WORD wFlags,
  3062.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  3063.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  3064.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  3065.             /* [out] */ UINT __RPC_FAR *puArgErr);
  3066.         
  3067.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Properties )( 
  3068.             Connection15 __RPC_FAR * This,
  3069.             /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject);
  3070.         
  3071.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ConnectionString )( 
  3072.             Connection15 __RPC_FAR * This,
  3073.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  3074.         
  3075.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ConnectionString )( 
  3076.             Connection15 __RPC_FAR * This,
  3077.             /* [in] */ BSTR bstr);
  3078.         
  3079.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommandTimeout )( 
  3080.             Connection15 __RPC_FAR * This,
  3081.             /* [retval][out] */ LONG __RPC_FAR *plTimeout);
  3082.         
  3083.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CommandTimeout )( 
  3084.             Connection15 __RPC_FAR * This,
  3085.             /* [in] */ LONG lTimeout);
  3086.         
  3087.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ConnectionTimeout )( 
  3088.             Connection15 __RPC_FAR * This,
  3089.             /* [retval][out] */ LONG __RPC_FAR *plTimeout);
  3090.         
  3091.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ConnectionTimeout )( 
  3092.             Connection15 __RPC_FAR * This,
  3093.             /* [in] */ LONG lTimeout);
  3094.         
  3095.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Version )( 
  3096.             Connection15 __RPC_FAR * This,
  3097.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  3098.         
  3099.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )( 
  3100.             Connection15 __RPC_FAR * This);
  3101.         
  3102.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Execute )( 
  3103.             Connection15 __RPC_FAR * This,
  3104.             /* [in] */ BSTR CommandText,
  3105.             /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  3106.             /* [defaultvalue][in] */ long Options,
  3107.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppiRset);
  3108.         
  3109.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BeginTrans )( 
  3110.             Connection15 __RPC_FAR * This,
  3111.             /* [retval][out] */ long __RPC_FAR *TransactionLevel);
  3112.         
  3113.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CommitTrans )( 
  3114.             Connection15 __RPC_FAR * This);
  3115.         
  3116.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RollbackTrans )( 
  3117.             Connection15 __RPC_FAR * This);
  3118.         
  3119.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )( 
  3120.             Connection15 __RPC_FAR * This,
  3121.             /* [defaultvalue][in] */ BSTR ConnectionString,
  3122.             /* [defaultvalue][in] */ BSTR UserID,
  3123.             /* [defaultvalue][in] */ BSTR Password,
  3124.             /* [defaultvalue][in] */ long Options);
  3125.         
  3126.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Errors )( 
  3127.             Connection15 __RPC_FAR * This,
  3128.             /* [retval][out] */ ADOErrors __RPC_FAR *__RPC_FAR *ppvObject);
  3129.         
  3130.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DefaultDatabase )( 
  3131.             Connection15 __RPC_FAR * This,
  3132.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  3133.         
  3134.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DefaultDatabase )( 
  3135.             Connection15 __RPC_FAR * This,
  3136.             /* [in] */ BSTR bstr);
  3137.         
  3138.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_IsolationLevel )( 
  3139.             Connection15 __RPC_FAR * This,
  3140.             /* [retval][out] */ IsolationLevelEnum __RPC_FAR *Level);
  3141.         
  3142.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_IsolationLevel )( 
  3143.             Connection15 __RPC_FAR * This,
  3144.             /* [in] */ IsolationLevelEnum Level);
  3145.         
  3146.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Attributes )( 
  3147.             Connection15 __RPC_FAR * This,
  3148.             /* [retval][out] */ long __RPC_FAR *plAttr);
  3149.         
  3150.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Attributes )( 
  3151.             Connection15 __RPC_FAR * This,
  3152.             /* [in] */ long lAttr);
  3153.         
  3154.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CursorLocation )( 
  3155.             Connection15 __RPC_FAR * This,
  3156.             /* [retval][out] */ CursorLocationEnum __RPC_FAR *plCursorLoc);
  3157.         
  3158.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CursorLocation )( 
  3159.             Connection15 __RPC_FAR * This,
  3160.             /* [in] */ CursorLocationEnum lCursorLoc);
  3161.         
  3162.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Mode )( 
  3163.             Connection15 __RPC_FAR * This,
  3164.             /* [retval][out] */ ConnectModeEnum __RPC_FAR *plMode);
  3165.         
  3166.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Mode )( 
  3167.             Connection15 __RPC_FAR * This,
  3168.             /* [in] */ ConnectModeEnum lMode);
  3169.         
  3170.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Provider )( 
  3171.             Connection15 __RPC_FAR * This,
  3172.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  3173.         
  3174.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Provider )( 
  3175.             Connection15 __RPC_FAR * This,
  3176.             /* [in] */ BSTR Provider);
  3177.         
  3178.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_State )( 
  3179.             Connection15 __RPC_FAR * This,
  3180.             /* [retval][out] */ LONG __RPC_FAR *plObjState);
  3181.         
  3182.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenSchema )( 
  3183.             Connection15 __RPC_FAR * This,
  3184.             /* [in] */ SchemaEnum Schema,
  3185.             /* [optional][in] */ VARIANT Restrictions,
  3186.             /* [optional][in] */ VARIANT SchemaID,
  3187.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *pprset);
  3188.         
  3189.         END_INTERFACE
  3190.     } Connection15Vtbl;
  3191.     interface Connection15
  3192.     {
  3193.         CONST_VTBL struct Connection15Vtbl __RPC_FAR *lpVtbl;
  3194.     };
  3195.     
  3196. #ifdef COBJMACROS
  3197. #define Connection15_QueryInterface(This,riid,ppvObject)    \
  3198.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3199. #define Connection15_AddRef(This)    \
  3200.     (This)->lpVtbl -> AddRef(This)
  3201. #define Connection15_Release(This)    \
  3202.     (This)->lpVtbl -> Release(This)
  3203. #define Connection15_GetTypeInfoCount(This,pctinfo)    \
  3204.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3205. #define Connection15_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  3206.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3207. #define Connection15_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  3208.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3209. #define Connection15_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  3210.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3211. #define Connection15_get_Properties(This,ppvObject)    \
  3212.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  3213. #define Connection15_get_ConnectionString(This,pbstr)    \
  3214.     (This)->lpVtbl -> get_ConnectionString(This,pbstr)
  3215. #define Connection15_put_ConnectionString(This,bstr)    \
  3216.     (This)->lpVtbl -> put_ConnectionString(This,bstr)
  3217. #define Connection15_get_CommandTimeout(This,plTimeout)    \
  3218.     (This)->lpVtbl -> get_CommandTimeout(This,plTimeout)
  3219. #define Connection15_put_CommandTimeout(This,lTimeout)    \
  3220.     (This)->lpVtbl -> put_CommandTimeout(This,lTimeout)
  3221. #define Connection15_get_ConnectionTimeout(This,plTimeout)    \
  3222.     (This)->lpVtbl -> get_ConnectionTimeout(This,plTimeout)
  3223. #define Connection15_put_ConnectionTimeout(This,lTimeout)    \
  3224.     (This)->lpVtbl -> put_ConnectionTimeout(This,lTimeout)
  3225. #define Connection15_get_Version(This,pbstr)    \
  3226.     (This)->lpVtbl -> get_Version(This,pbstr)
  3227. #define Connection15_Close(This)    \
  3228.     (This)->lpVtbl -> Close(This)
  3229. #define Connection15_Execute(This,CommandText,RecordsAffected,Options,ppiRset)    \
  3230.     (This)->lpVtbl -> Execute(This,CommandText,RecordsAffected,Options,ppiRset)
  3231. #define Connection15_BeginTrans(This,TransactionLevel)    \
  3232.     (This)->lpVtbl -> BeginTrans(This,TransactionLevel)
  3233. #define Connection15_CommitTrans(This)    \
  3234.     (This)->lpVtbl -> CommitTrans(This)
  3235. #define Connection15_RollbackTrans(This)    \
  3236.     (This)->lpVtbl -> RollbackTrans(This)
  3237. #define Connection15_Open(This,ConnectionString,UserID,Password,Options)    \
  3238.     (This)->lpVtbl -> Open(This,ConnectionString,UserID,Password,Options)
  3239. #define Connection15_get_Errors(This,ppvObject)    \
  3240.     (This)->lpVtbl -> get_Errors(This,ppvObject)
  3241. #define Connection15_get_DefaultDatabase(This,pbstr)    \
  3242.     (This)->lpVtbl -> get_DefaultDatabase(This,pbstr)
  3243. #define Connection15_put_DefaultDatabase(This,bstr)    \
  3244.     (This)->lpVtbl -> put_DefaultDatabase(This,bstr)
  3245. #define Connection15_get_IsolationLevel(This,Level)    \
  3246.     (This)->lpVtbl -> get_IsolationLevel(This,Level)
  3247. #define Connection15_put_IsolationLevel(This,Level)    \
  3248.     (This)->lpVtbl -> put_IsolationLevel(This,Level)
  3249. #define Connection15_get_Attributes(This,plAttr)    \
  3250.     (This)->lpVtbl -> get_Attributes(This,plAttr)
  3251. #define Connection15_put_Attributes(This,lAttr)    \
  3252.     (This)->lpVtbl -> put_Attributes(This,lAttr)
  3253. #define Connection15_get_CursorLocation(This,plCursorLoc)    \
  3254.     (This)->lpVtbl -> get_CursorLocation(This,plCursorLoc)
  3255. #define Connection15_put_CursorLocation(This,lCursorLoc)    \
  3256.     (This)->lpVtbl -> put_CursorLocation(This,lCursorLoc)
  3257. #define Connection15_get_Mode(This,plMode)    \
  3258.     (This)->lpVtbl -> get_Mode(This,plMode)
  3259. #define Connection15_put_Mode(This,lMode)    \
  3260.     (This)->lpVtbl -> put_Mode(This,lMode)
  3261. #define Connection15_get_Provider(This,pbstr)    \
  3262.     (This)->lpVtbl -> get_Provider(This,pbstr)
  3263. #define Connection15_put_Provider(This,Provider)    \
  3264.     (This)->lpVtbl -> put_Provider(This,Provider)
  3265. #define Connection15_get_State(This,plObjState)    \
  3266.     (This)->lpVtbl -> get_State(This,plObjState)
  3267. #define Connection15_OpenSchema(This,Schema,Restrictions,SchemaID,pprset)    \
  3268.     (This)->lpVtbl -> OpenSchema(This,Schema,Restrictions,SchemaID,pprset)
  3269. #endif /* COBJMACROS */
  3270. #endif     /* C style interface */
  3271. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Connection15_get_ConnectionString_Proxy( 
  3272.     Connection15 __RPC_FAR * This,
  3273.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  3274. void __RPC_STUB Connection15_get_ConnectionString_Stub(
  3275.     IRpcStubBuffer *This,
  3276.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3277.     PRPC_MESSAGE _pRpcMessage,
  3278.     DWORD *_pdwStubPhase);
  3279. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE Connection15_put_ConnectionString_Proxy( 
  3280.     Connection15 __RPC_FAR * This,
  3281.     /* [in] */ BSTR bstr);
  3282. void __RPC_STUB Connection15_put_ConnectionString_Stub(
  3283.     IRpcStubBuffer *This,
  3284.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3285.     PRPC_MESSAGE _pRpcMessage,
  3286.     DWORD *_pdwStubPhase);
  3287. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Connection15_get_CommandTimeout_Proxy( 
  3288.     Connection15 __RPC_FAR * This,
  3289.     /* [retval][out] */ LONG __RPC_FAR *plTimeout);
  3290. void __RPC_STUB Connection15_get_CommandTimeout_Stub(
  3291.     IRpcStubBuffer *This,
  3292.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3293.     PRPC_MESSAGE _pRpcMessage,
  3294.     DWORD *_pdwStubPhase);
  3295. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE Connection15_put_CommandTimeout_Proxy( 
  3296.     Connection15 __RPC_FAR * This,
  3297.     /* [in] */ LONG lTimeout);
  3298. void __RPC_STUB Connection15_put_CommandTimeout_Stub(
  3299.     IRpcStubBuffer *This,
  3300.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3301.     PRPC_MESSAGE _pRpcMessage,
  3302.     DWORD *_pdwStubPhase);
  3303. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Connection15_get_ConnectionTimeout_Proxy( 
  3304.     Connection15 __RPC_FAR * This,
  3305.     /* [retval][out] */ LONG __RPC_FAR *plTimeout);
  3306. void __RPC_STUB Connection15_get_ConnectionTimeout_Stub(
  3307.     IRpcStubBuffer *This,
  3308.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3309.     PRPC_MESSAGE _pRpcMessage,
  3310.     DWORD *_pdwStubPhase);
  3311. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE Connection15_put_ConnectionTimeout_Proxy( 
  3312.     Connection15 __RPC_FAR * This,
  3313.     /* [in] */ LONG lTimeout);
  3314. void __RPC_STUB Connection15_put_ConnectionTimeout_Stub(
  3315.     IRpcStubBuffer *This,
  3316.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3317.     PRPC_MESSAGE _pRpcMessage,
  3318.     DWORD *_pdwStubPhase);
  3319. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Connection15_get_Version_Proxy( 
  3320.     Connection15 __RPC_FAR * This,
  3321.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  3322. void __RPC_STUB Connection15_get_Version_Stub(
  3323.     IRpcStubBuffer *This,
  3324.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3325.     PRPC_MESSAGE _pRpcMessage,
  3326.     DWORD *_pdwStubPhase);
  3327. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Connection15_Close_Proxy( 
  3328.     Connection15 __RPC_FAR * This);
  3329. void __RPC_STUB Connection15_Close_Stub(
  3330.     IRpcStubBuffer *This,
  3331.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3332.     PRPC_MESSAGE _pRpcMessage,
  3333.     DWORD *_pdwStubPhase);
  3334. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Connection15_Execute_Proxy( 
  3335.     Connection15 __RPC_FAR * This,
  3336.     /* [in] */ BSTR CommandText,
  3337.     /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  3338.     /* [defaultvalue][in] */ long Options,
  3339.     /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppiRset);
  3340. void __RPC_STUB Connection15_Execute_Stub(
  3341.     IRpcStubBuffer *This,
  3342.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3343.     PRPC_MESSAGE _pRpcMessage,
  3344.     DWORD *_pdwStubPhase);
  3345. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Connection15_BeginTrans_Proxy( 
  3346.     Connection15 __RPC_FAR * This,
  3347.     /* [retval][out] */ long __RPC_FAR *TransactionLevel);
  3348. void __RPC_STUB Connection15_BeginTrans_Stub(
  3349.     IRpcStubBuffer *This,
  3350.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3351.     PRPC_MESSAGE _pRpcMessage,
  3352.     DWORD *_pdwStubPhase);
  3353. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Connection15_CommitTrans_Proxy( 
  3354.     Connection15 __RPC_FAR * This);
  3355. void __RPC_STUB Connection15_CommitTrans_Stub(
  3356.     IRpcStubBuffer *This,
  3357.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3358.     PRPC_MESSAGE _pRpcMessage,
  3359.     DWORD *_pdwStubPhase);
  3360. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Connection15_RollbackTrans_Proxy( 
  3361.     Connection15 __RPC_FAR * This);
  3362. void __RPC_STUB Connection15_RollbackTrans_Stub(
  3363.     IRpcStubBuffer *This,
  3364.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3365.     PRPC_MESSAGE _pRpcMessage,
  3366.     DWORD *_pdwStubPhase);
  3367. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Connection15_Open_Proxy( 
  3368.     Connection15 __RPC_FAR * This,
  3369.     /* [defaultvalue][in] */ BSTR ConnectionString,
  3370.     /* [defaultvalue][in] */ BSTR UserID,
  3371.     /* [defaultvalue][in] */ BSTR Password,
  3372.     /* [defaultvalue][in] */ long Options);
  3373. void __RPC_STUB Connection15_Open_Stub(
  3374.     IRpcStubBuffer *This,
  3375.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3376.     PRPC_MESSAGE _pRpcMessage,
  3377.     DWORD *_pdwStubPhase);
  3378. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Connection15_get_Errors_Proxy( 
  3379.     Connection15 __RPC_FAR * This,
  3380.     /* [retval][out] */ ADOErrors __RPC_FAR *__RPC_FAR *ppvObject);
  3381. void __RPC_STUB Connection15_get_Errors_Stub(
  3382.     IRpcStubBuffer *This,
  3383.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3384.     PRPC_MESSAGE _pRpcMessage,
  3385.     DWORD *_pdwStubPhase);
  3386. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Connection15_get_DefaultDatabase_Proxy( 
  3387.     Connection15 __RPC_FAR * This,
  3388.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  3389. void __RPC_STUB Connection15_get_DefaultDatabase_Stub(
  3390.     IRpcStubBuffer *This,
  3391.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3392.     PRPC_MESSAGE _pRpcMessage,
  3393.     DWORD *_pdwStubPhase);
  3394. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE Connection15_put_DefaultDatabase_Proxy( 
  3395.     Connection15 __RPC_FAR * This,
  3396.     /* [in] */ BSTR bstr);
  3397. void __RPC_STUB Connection15_put_DefaultDatabase_Stub(
  3398.     IRpcStubBuffer *This,
  3399.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3400.     PRPC_MESSAGE _pRpcMessage,
  3401.     DWORD *_pdwStubPhase);
  3402. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Connection15_get_IsolationLevel_Proxy( 
  3403.     Connection15 __RPC_FAR * This,
  3404.     /* [retval][out] */ IsolationLevelEnum __RPC_FAR *Level);
  3405. void __RPC_STUB Connection15_get_IsolationLevel_Stub(
  3406.     IRpcStubBuffer *This,
  3407.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3408.     PRPC_MESSAGE _pRpcMessage,
  3409.     DWORD *_pdwStubPhase);
  3410. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE Connection15_put_IsolationLevel_Proxy( 
  3411.     Connection15 __RPC_FAR * This,
  3412.     /* [in] */ IsolationLevelEnum Level);
  3413. void __RPC_STUB Connection15_put_IsolationLevel_Stub(
  3414.     IRpcStubBuffer *This,
  3415.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3416.     PRPC_MESSAGE _pRpcMessage,
  3417.     DWORD *_pdwStubPhase);
  3418. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Connection15_get_Attributes_Proxy( 
  3419.     Connection15 __RPC_FAR * This,
  3420.     /* [retval][out] */ long __RPC_FAR *plAttr);
  3421. void __RPC_STUB Connection15_get_Attributes_Stub(
  3422.     IRpcStubBuffer *This,
  3423.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3424.     PRPC_MESSAGE _pRpcMessage,
  3425.     DWORD *_pdwStubPhase);
  3426. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE Connection15_put_Attributes_Proxy( 
  3427.     Connection15 __RPC_FAR * This,
  3428.     /* [in] */ long lAttr);
  3429. void __RPC_STUB Connection15_put_Attributes_Stub(
  3430.     IRpcStubBuffer *This,
  3431.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3432.     PRPC_MESSAGE _pRpcMessage,
  3433.     DWORD *_pdwStubPhase);
  3434. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Connection15_get_CursorLocation_Proxy( 
  3435.     Connection15 __RPC_FAR * This,
  3436.     /* [retval][out] */ CursorLocationEnum __RPC_FAR *plCursorLoc);
  3437. void __RPC_STUB Connection15_get_CursorLocation_Stub(
  3438.     IRpcStubBuffer *This,
  3439.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3440.     PRPC_MESSAGE _pRpcMessage,
  3441.     DWORD *_pdwStubPhase);
  3442. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Connection15_put_CursorLocation_Proxy( 
  3443.     Connection15 __RPC_FAR * This,
  3444.     /* [in] */ CursorLocationEnum lCursorLoc);
  3445. void __RPC_STUB Connection15_put_CursorLocation_Stub(
  3446.     IRpcStubBuffer *This,
  3447.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3448.     PRPC_MESSAGE _pRpcMessage,
  3449.     DWORD *_pdwStubPhase);
  3450. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Connection15_get_Mode_Proxy( 
  3451.     Connection15 __RPC_FAR * This,
  3452.     /* [retval][out] */ ConnectModeEnum __RPC_FAR *plMode);
  3453. void __RPC_STUB Connection15_get_Mode_Stub(
  3454.     IRpcStubBuffer *This,
  3455.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3456.     PRPC_MESSAGE _pRpcMessage,
  3457.     DWORD *_pdwStubPhase);
  3458. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE Connection15_put_Mode_Proxy( 
  3459.     Connection15 __RPC_FAR * This,
  3460.     /* [in] */ ConnectModeEnum lMode);
  3461. void __RPC_STUB Connection15_put_Mode_Stub(
  3462.     IRpcStubBuffer *This,
  3463.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3464.     PRPC_MESSAGE _pRpcMessage,
  3465.     DWORD *_pdwStubPhase);
  3466. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Connection15_get_Provider_Proxy( 
  3467.     Connection15 __RPC_FAR * This,
  3468.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  3469. void __RPC_STUB Connection15_get_Provider_Stub(
  3470.     IRpcStubBuffer *This,
  3471.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3472.     PRPC_MESSAGE _pRpcMessage,
  3473.     DWORD *_pdwStubPhase);
  3474. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE Connection15_put_Provider_Proxy( 
  3475.     Connection15 __RPC_FAR * This,
  3476.     /* [in] */ BSTR Provider);
  3477. void __RPC_STUB Connection15_put_Provider_Stub(
  3478.     IRpcStubBuffer *This,
  3479.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3480.     PRPC_MESSAGE _pRpcMessage,
  3481.     DWORD *_pdwStubPhase);
  3482. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Connection15_get_State_Proxy( 
  3483.     Connection15 __RPC_FAR * This,
  3484.     /* [retval][out] */ LONG __RPC_FAR *plObjState);
  3485. void __RPC_STUB Connection15_get_State_Stub(
  3486.     IRpcStubBuffer *This,
  3487.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3488.     PRPC_MESSAGE _pRpcMessage,
  3489.     DWORD *_pdwStubPhase);
  3490. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Connection15_OpenSchema_Proxy( 
  3491.     Connection15 __RPC_FAR * This,
  3492.     /* [in] */ SchemaEnum Schema,
  3493.     /* [optional][in] */ VARIANT Restrictions,
  3494.     /* [optional][in] */ VARIANT SchemaID,
  3495.     /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *pprset);
  3496. void __RPC_STUB Connection15_OpenSchema_Stub(
  3497.     IRpcStubBuffer *This,
  3498.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3499.     PRPC_MESSAGE _pRpcMessage,
  3500.     DWORD *_pdwStubPhase);
  3501. #endif     /* __Connection15_INTERFACE_DEFINED__ */
  3502. #ifndef ___Connection_INTERFACE_DEFINED__
  3503. #define ___Connection_INTERFACE_DEFINED__
  3504. /* interface _ADOConnection */
  3505. /* [object][helpcontext][uuid][dual] */ 
  3506. EXTERN_C const IID IID__Connection;
  3507. #if defined(__cplusplus) && !defined(CINTERFACE)
  3508.     
  3509.     MIDL_INTERFACE("00000550-0000-0010-8000-00AA006D2EA4")
  3510.     _ADOConnection : public Connection15
  3511.     {
  3512.     public:
  3513.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  3514.         
  3515.     };
  3516.     
  3517. #else     /* C style interface */
  3518.     typedef struct _ConnectionVtbl
  3519.     {
  3520.         BEGIN_INTERFACE
  3521.         
  3522.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3523.             _ADOConnection __RPC_FAR * This,
  3524.             /* [in] */ REFIID riid,
  3525.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3526.         
  3527.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3528.             _ADOConnection __RPC_FAR * This);
  3529.         
  3530.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3531.             _ADOConnection __RPC_FAR * This);
  3532.         
  3533.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  3534.             _ADOConnection __RPC_FAR * This,
  3535.             /* [out] */ UINT __RPC_FAR *pctinfo);
  3536.         
  3537.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  3538.             _ADOConnection __RPC_FAR * This,
  3539.             /* [in] */ UINT iTInfo,
  3540.             /* [in] */ LCID lcid,
  3541.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  3542.         
  3543.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  3544.             _ADOConnection __RPC_FAR * This,
  3545.             /* [in] */ REFIID riid,
  3546.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  3547.             /* [in] */ UINT cNames,
  3548.             /* [in] */ LCID lcid,
  3549.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  3550.         
  3551.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  3552.             _ADOConnection __RPC_FAR * This,
  3553.             /* [in] */ DISPID dispIdMember,
  3554.             /* [in] */ REFIID riid,
  3555.             /* [in] */ LCID lcid,
  3556.             /* [in] */ WORD wFlags,
  3557.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  3558.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  3559.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  3560.             /* [out] */ UINT __RPC_FAR *puArgErr);
  3561.         
  3562.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Properties )( 
  3563.             _ADOConnection __RPC_FAR * This,
  3564.             /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject);
  3565.         
  3566.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ConnectionString )( 
  3567.             _ADOConnection __RPC_FAR * This,
  3568.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  3569.         
  3570.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ConnectionString )( 
  3571.             _ADOConnection __RPC_FAR * This,
  3572.             /* [in] */ BSTR bstr);
  3573.         
  3574.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommandTimeout )( 
  3575.             _ADOConnection __RPC_FAR * This,
  3576.             /* [retval][out] */ LONG __RPC_FAR *plTimeout);
  3577.         
  3578.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CommandTimeout )( 
  3579.             _ADOConnection __RPC_FAR * This,
  3580.             /* [in] */ LONG lTimeout);
  3581.         
  3582.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ConnectionTimeout )( 
  3583.             _ADOConnection __RPC_FAR * This,
  3584.             /* [retval][out] */ LONG __RPC_FAR *plTimeout);
  3585.         
  3586.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ConnectionTimeout )( 
  3587.             _ADOConnection __RPC_FAR * This,
  3588.             /* [in] */ LONG lTimeout);
  3589.         
  3590.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Version )( 
  3591.             _ADOConnection __RPC_FAR * This,
  3592.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  3593.         
  3594.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )( 
  3595.             _ADOConnection __RPC_FAR * This);
  3596.         
  3597.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Execute )( 
  3598.             _ADOConnection __RPC_FAR * This,
  3599.             /* [in] */ BSTR CommandText,
  3600.             /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  3601.             /* [defaultvalue][in] */ long Options,
  3602.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppiRset);
  3603.         
  3604.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BeginTrans )( 
  3605.             _ADOConnection __RPC_FAR * This,
  3606.             /* [retval][out] */ long __RPC_FAR *TransactionLevel);
  3607.         
  3608.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CommitTrans )( 
  3609.             _ADOConnection __RPC_FAR * This);
  3610.         
  3611.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RollbackTrans )( 
  3612.             _ADOConnection __RPC_FAR * This);
  3613.         
  3614.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )( 
  3615.             _ADOConnection __RPC_FAR * This,
  3616.             /* [defaultvalue][in] */ BSTR ConnectionString,
  3617.             /* [defaultvalue][in] */ BSTR UserID,
  3618.             /* [defaultvalue][in] */ BSTR Password,
  3619.             /* [defaultvalue][in] */ long Options);
  3620.         
  3621.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Errors )( 
  3622.             _ADOConnection __RPC_FAR * This,
  3623.             /* [retval][out] */ ADOErrors __RPC_FAR *__RPC_FAR *ppvObject);
  3624.         
  3625.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DefaultDatabase )( 
  3626.             _ADOConnection __RPC_FAR * This,
  3627.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  3628.         
  3629.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DefaultDatabase )( 
  3630.             _ADOConnection __RPC_FAR * This,
  3631.             /* [in] */ BSTR bstr);
  3632.         
  3633.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_IsolationLevel )( 
  3634.             _ADOConnection __RPC_FAR * This,
  3635.             /* [retval][out] */ IsolationLevelEnum __RPC_FAR *Level);
  3636.         
  3637.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_IsolationLevel )( 
  3638.             _ADOConnection __RPC_FAR * This,
  3639.             /* [in] */ IsolationLevelEnum Level);
  3640.         
  3641.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Attributes )( 
  3642.             _ADOConnection __RPC_FAR * This,
  3643.             /* [retval][out] */ long __RPC_FAR *plAttr);
  3644.         
  3645.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Attributes )( 
  3646.             _ADOConnection __RPC_FAR * This,
  3647.             /* [in] */ long lAttr);
  3648.         
  3649.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CursorLocation )( 
  3650.             _ADOConnection __RPC_FAR * This,
  3651.             /* [retval][out] */ CursorLocationEnum __RPC_FAR *plCursorLoc);
  3652.         
  3653.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CursorLocation )( 
  3654.             _ADOConnection __RPC_FAR * This,
  3655.             /* [in] */ CursorLocationEnum lCursorLoc);
  3656.         
  3657.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Mode )( 
  3658.             _ADOConnection __RPC_FAR * This,
  3659.             /* [retval][out] */ ConnectModeEnum __RPC_FAR *plMode);
  3660.         
  3661.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Mode )( 
  3662.             _ADOConnection __RPC_FAR * This,
  3663.             /* [in] */ ConnectModeEnum lMode);
  3664.         
  3665.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Provider )( 
  3666.             _ADOConnection __RPC_FAR * This,
  3667.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  3668.         
  3669.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Provider )( 
  3670.             _ADOConnection __RPC_FAR * This,
  3671.             /* [in] */ BSTR Provider);
  3672.         
  3673.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_State )( 
  3674.             _ADOConnection __RPC_FAR * This,
  3675.             /* [retval][out] */ LONG __RPC_FAR *plObjState);
  3676.         
  3677.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenSchema )( 
  3678.             _ADOConnection __RPC_FAR * This,
  3679.             /* [in] */ SchemaEnum Schema,
  3680.             /* [optional][in] */ VARIANT Restrictions,
  3681.             /* [optional][in] */ VARIANT SchemaID,
  3682.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *pprset);
  3683.         
  3684.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Cancel )( 
  3685.             _ADOConnection __RPC_FAR * This);
  3686.         
  3687.         END_INTERFACE
  3688.     } _ConnectionVtbl;
  3689.     interface _Connection
  3690.     {
  3691.         CONST_VTBL struct _ConnectionVtbl __RPC_FAR *lpVtbl;
  3692.     };
  3693.     
  3694. #ifdef COBJMACROS
  3695. #define _Connection_QueryInterface(This,riid,ppvObject)    \
  3696.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3697. #define _Connection_AddRef(This)    \
  3698.     (This)->lpVtbl -> AddRef(This)
  3699. #define _Connection_Release(This)    \
  3700.     (This)->lpVtbl -> Release(This)
  3701. #define _Connection_GetTypeInfoCount(This,pctinfo)    \
  3702.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3703. #define _Connection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  3704.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3705. #define _Connection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  3706.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3707. #define _Connection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  3708.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3709. #define _Connection_get_Properties(This,ppvObject)    \
  3710.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  3711. #define _Connection_get_ConnectionString(This,pbstr)    \
  3712.     (This)->lpVtbl -> get_ConnectionString(This,pbstr)
  3713. #define _Connection_put_ConnectionString(This,bstr)    \
  3714.     (This)->lpVtbl -> put_ConnectionString(This,bstr)
  3715. #define _Connection_get_CommandTimeout(This,plTimeout)    \
  3716.     (This)->lpVtbl -> get_CommandTimeout(This,plTimeout)
  3717. #define _Connection_put_CommandTimeout(This,lTimeout)    \
  3718.     (This)->lpVtbl -> put_CommandTimeout(This,lTimeout)
  3719. #define _Connection_get_ConnectionTimeout(This,plTimeout)    \
  3720.     (This)->lpVtbl -> get_ConnectionTimeout(This,plTimeout)
  3721. #define _Connection_put_ConnectionTimeout(This,lTimeout)    \
  3722.     (This)->lpVtbl -> put_ConnectionTimeout(This,lTimeout)
  3723. #define _Connection_get_Version(This,pbstr)    \
  3724.     (This)->lpVtbl -> get_Version(This,pbstr)
  3725. #define _Connection_Close(This)    \
  3726.     (This)->lpVtbl -> Close(This)
  3727. #define _Connection_Execute(This,CommandText,RecordsAffected,Options,ppiRset)    \
  3728.     (This)->lpVtbl -> Execute(This,CommandText,RecordsAffected,Options,ppiRset)
  3729. #define _Connection_BeginTrans(This,TransactionLevel)    \
  3730.     (This)->lpVtbl -> BeginTrans(This,TransactionLevel)
  3731. #define _Connection_CommitTrans(This)    \
  3732.     (This)->lpVtbl -> CommitTrans(This)
  3733. #define _Connection_RollbackTrans(This)    \
  3734.     (This)->lpVtbl -> RollbackTrans(This)
  3735. #define _Connection_Open(This,ConnectionString,UserID,Password,Options)    \
  3736.     (This)->lpVtbl -> Open(This,ConnectionString,UserID,Password,Options)
  3737. #define _Connection_get_Errors(This,ppvObject)    \
  3738.     (This)->lpVtbl -> get_Errors(This,ppvObject)
  3739. #define _Connection_get_DefaultDatabase(This,pbstr)    \
  3740.     (This)->lpVtbl -> get_DefaultDatabase(This,pbstr)
  3741. #define _Connection_put_DefaultDatabase(This,bstr)    \
  3742.     (This)->lpVtbl -> put_DefaultDatabase(This,bstr)
  3743. #define _Connection_get_IsolationLevel(This,Level)    \
  3744.     (This)->lpVtbl -> get_IsolationLevel(This,Level)
  3745. #define _Connection_put_IsolationLevel(This,Level)    \
  3746.     (This)->lpVtbl -> put_IsolationLevel(This,Level)
  3747. #define _Connection_get_Attributes(This,plAttr)    \
  3748.     (This)->lpVtbl -> get_Attributes(This,plAttr)
  3749. #define _Connection_put_Attributes(This,lAttr)    \
  3750.     (This)->lpVtbl -> put_Attributes(This,lAttr)
  3751. #define _Connection_get_CursorLocation(This,plCursorLoc)    \
  3752.     (This)->lpVtbl -> get_CursorLocation(This,plCursorLoc)
  3753. #define _Connection_put_CursorLocation(This,lCursorLoc)    \
  3754.     (This)->lpVtbl -> put_CursorLocation(This,lCursorLoc)
  3755. #define _Connection_get_Mode(This,plMode)    \
  3756.     (This)->lpVtbl -> get_Mode(This,plMode)
  3757. #define _Connection_put_Mode(This,lMode)    \
  3758.     (This)->lpVtbl -> put_Mode(This,lMode)
  3759. #define _Connection_get_Provider(This,pbstr)    \
  3760.     (This)->lpVtbl -> get_Provider(This,pbstr)
  3761. #define _Connection_put_Provider(This,Provider)    \
  3762.     (This)->lpVtbl -> put_Provider(This,Provider)
  3763. #define _Connection_get_State(This,plObjState)    \
  3764.     (This)->lpVtbl -> get_State(This,plObjState)
  3765. #define _Connection_OpenSchema(This,Schema,Restrictions,SchemaID,pprset)    \
  3766.     (This)->lpVtbl -> OpenSchema(This,Schema,Restrictions,SchemaID,pprset)
  3767. #define _Connection_Cancel(This)    \
  3768.     (This)->lpVtbl -> Cancel(This)
  3769. #endif /* COBJMACROS */
  3770. #endif     /* C style interface */
  3771. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Connection_Cancel_Proxy( 
  3772.     _ADOConnection __RPC_FAR * This);
  3773. void __RPC_STUB _Connection_Cancel_Stub(
  3774.     IRpcStubBuffer *This,
  3775.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3776.     PRPC_MESSAGE _pRpcMessage,
  3777.     DWORD *_pdwStubPhase);
  3778. #endif     /* ___Connection_INTERFACE_DEFINED__ */
  3779. #ifndef __ADOConnectionConstruction15_INTERFACE_DEFINED__
  3780. #define __ADOConnectionConstruction15_INTERFACE_DEFINED__
  3781. /* interface ADOConnectionConstruction15 */
  3782. /* [object][uuid][restricted] */ 
  3783. EXTERN_C const IID IID_ADOConnectionConstruction15;
  3784. #if defined(__cplusplus) && !defined(CINTERFACE)
  3785.     
  3786.     MIDL_INTERFACE("00000516-0000-0010-8000-00AA006D2EA4")
  3787.     ADOConnectionConstruction15 : public IUnknown
  3788.     {
  3789.     public:
  3790.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DSO( 
  3791.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDSO) = 0;
  3792.         
  3793.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Session( 
  3794.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession) = 0;
  3795.         
  3796.         virtual HRESULT STDMETHODCALLTYPE WrapDSOandSession( 
  3797.             /* [in] */ IUnknown __RPC_FAR *pDSO,
  3798.             /* [in] */ IUnknown __RPC_FAR *pSession) = 0;
  3799.         
  3800.     };
  3801.     
  3802. #else     /* C style interface */
  3803.     typedef struct ADOConnectionConstruction15Vtbl
  3804.     {
  3805.         BEGIN_INTERFACE
  3806.         
  3807.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3808.             ADOConnectionConstruction15 __RPC_FAR * This,
  3809.             /* [in] */ REFIID riid,
  3810.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3811.         
  3812.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3813.             ADOConnectionConstruction15 __RPC_FAR * This);
  3814.         
  3815.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3816.             ADOConnectionConstruction15 __RPC_FAR * This);
  3817.         
  3818.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DSO )( 
  3819.             ADOConnectionConstruction15 __RPC_FAR * This,
  3820.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDSO);
  3821.         
  3822.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Session )( 
  3823.             ADOConnectionConstruction15 __RPC_FAR * This,
  3824.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession);
  3825.         
  3826.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WrapDSOandSession )( 
  3827.             ADOConnectionConstruction15 __RPC_FAR * This,
  3828.             /* [in] */ IUnknown __RPC_FAR *pDSO,
  3829.             /* [in] */ IUnknown __RPC_FAR *pSession);
  3830.         
  3831.         END_INTERFACE
  3832.     } ADOConnectionConstruction15Vtbl;
  3833.     interface ADOConnectionConstruction15
  3834.     {
  3835.         CONST_VTBL struct ADOConnectionConstruction15Vtbl __RPC_FAR *lpVtbl;
  3836.     };
  3837.     
  3838. #ifdef COBJMACROS
  3839. #define ADOConnectionConstruction15_QueryInterface(This,riid,ppvObject)    \
  3840.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3841. #define ADOConnectionConstruction15_AddRef(This)    \
  3842.     (This)->lpVtbl -> AddRef(This)
  3843. #define ADOConnectionConstruction15_Release(This)    \
  3844.     (This)->lpVtbl -> Release(This)
  3845. #define ADOConnectionConstruction15_get_DSO(This,ppDSO)    \
  3846.     (This)->lpVtbl -> get_DSO(This,ppDSO)
  3847. #define ADOConnectionConstruction15_get_Session(This,ppSession)    \
  3848.     (This)->lpVtbl -> get_Session(This,ppSession)
  3849. #define ADOConnectionConstruction15_WrapDSOandSession(This,pDSO,pSession)    \
  3850.     (This)->lpVtbl -> WrapDSOandSession(This,pDSO,pSession)
  3851. #endif /* COBJMACROS */
  3852. #endif     /* C style interface */
  3853. /* [propget] */ HRESULT STDMETHODCALLTYPE ADOConnectionConstruction15_get_DSO_Proxy( 
  3854.     ADOConnectionConstruction15 __RPC_FAR * This,
  3855.     /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDSO);
  3856. void __RPC_STUB ADOConnectionConstruction15_get_DSO_Stub(
  3857.     IRpcStubBuffer *This,
  3858.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3859.     PRPC_MESSAGE _pRpcMessage,
  3860.     DWORD *_pdwStubPhase);
  3861. /* [propget] */ HRESULT STDMETHODCALLTYPE ADOConnectionConstruction15_get_Session_Proxy( 
  3862.     ADOConnectionConstruction15 __RPC_FAR * This,
  3863.     /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession);
  3864. void __RPC_STUB ADOConnectionConstruction15_get_Session_Stub(
  3865.     IRpcStubBuffer *This,
  3866.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3867.     PRPC_MESSAGE _pRpcMessage,
  3868.     DWORD *_pdwStubPhase);
  3869. HRESULT STDMETHODCALLTYPE ADOConnectionConstruction15_WrapDSOandSession_Proxy( 
  3870.     ADOConnectionConstruction15 __RPC_FAR * This,
  3871.     /* [in] */ IUnknown __RPC_FAR *pDSO,
  3872.     /* [in] */ IUnknown __RPC_FAR *pSession);
  3873. void __RPC_STUB ADOConnectionConstruction15_WrapDSOandSession_Stub(
  3874.     IRpcStubBuffer *This,
  3875.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3876.     PRPC_MESSAGE _pRpcMessage,
  3877.     DWORD *_pdwStubPhase);
  3878. #endif     /* __ADOConnectionConstruction15_INTERFACE_DEFINED__ */
  3879. #ifndef __ADOConnectionConstruction_INTERFACE_DEFINED__
  3880. #define __ADOConnectionConstruction_INTERFACE_DEFINED__
  3881. /* interface ADOConnectionConstruction */
  3882. /* [object][uuid][restricted] */ 
  3883. EXTERN_C const IID IID_ADOConnectionConstruction;
  3884. #if defined(__cplusplus) && !defined(CINTERFACE)
  3885.     
  3886.     MIDL_INTERFACE("00000551-0000-0010-8000-00AA006D2EA4")
  3887.     ADOConnectionConstruction : public ADOConnectionConstruction15
  3888.     {
  3889.     public:
  3890.     };
  3891.     
  3892. #else     /* C style interface */
  3893.     typedef struct ADOConnectionConstructionVtbl
  3894.     {
  3895.         BEGIN_INTERFACE
  3896.         
  3897.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3898.             ADOConnectionConstruction __RPC_FAR * This,
  3899.             /* [in] */ REFIID riid,
  3900.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3901.         
  3902.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3903.             ADOConnectionConstruction __RPC_FAR * This);
  3904.         
  3905.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3906.             ADOConnectionConstruction __RPC_FAR * This);
  3907.         
  3908.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DSO )( 
  3909.             ADOConnectionConstruction __RPC_FAR * This,
  3910.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDSO);
  3911.         
  3912.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Session )( 
  3913.             ADOConnectionConstruction __RPC_FAR * This,
  3914.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession);
  3915.         
  3916.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WrapDSOandSession )( 
  3917.             ADOConnectionConstruction __RPC_FAR * This,
  3918.             /* [in] */ IUnknown __RPC_FAR *pDSO,
  3919.             /* [in] */ IUnknown __RPC_FAR *pSession);
  3920.         
  3921.         END_INTERFACE
  3922.     } ADOConnectionConstructionVtbl;
  3923.     interface ADOConnectionConstruction
  3924.     {
  3925.         CONST_VTBL struct ADOConnectionConstructionVtbl __RPC_FAR *lpVtbl;
  3926.     };
  3927.     
  3928. #ifdef COBJMACROS
  3929. #define ADOConnectionConstruction_QueryInterface(This,riid,ppvObject)    \
  3930.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3931. #define ADOConnectionConstruction_AddRef(This)    \
  3932.     (This)->lpVtbl -> AddRef(This)
  3933. #define ADOConnectionConstruction_Release(This)    \
  3934.     (This)->lpVtbl -> Release(This)
  3935. #define ADOConnectionConstruction_get_DSO(This,ppDSO)    \
  3936.     (This)->lpVtbl -> get_DSO(This,ppDSO)
  3937. #define ADOConnectionConstruction_get_Session(This,ppSession)    \
  3938.     (This)->lpVtbl -> get_Session(This,ppSession)
  3939. #define ADOConnectionConstruction_WrapDSOandSession(This,pDSO,pSession)    \
  3940.     (This)->lpVtbl -> WrapDSOandSession(This,pDSO,pSession)
  3941. #endif /* COBJMACROS */
  3942. #endif     /* C style interface */
  3943. #endif     /* __ADOConnectionConstruction_INTERFACE_DEFINED__ */
  3944. EXTERN_C const CLSID CLSID_Connection;
  3945. #ifdef __cplusplus
  3946. Connection;
  3947. #endif
  3948. #ifndef ___Record_INTERFACE_DEFINED__
  3949. #define ___Record_INTERFACE_DEFINED__
  3950. /* interface _ADORecord */
  3951. /* [object][uuid][helpcontext][hidden][dual] */ 
  3952. EXTERN_C const IID IID__Record;
  3953. #if defined(__cplusplus) && !defined(CINTERFACE)
  3954.     
  3955.     MIDL_INTERFACE("00000562-0000-0010-8000-00AA006D2EA4")
  3956.     _ADORecord : public _ADO
  3957.     {
  3958.     public:
  3959.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActiveConnection( 
  3960.             /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
  3961.         
  3962.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ActiveConnection( 
  3963.             /* [in] */ BSTR bstrConn) = 0;
  3964.         
  3965.         virtual /* [helpcontext][propputref][id] */ HRESULT STDMETHODCALLTYPE putref_ActiveConnection( 
  3966.             /* [in] */ _ADOConnection __RPC_FAR *Con) = 0;
  3967.         
  3968.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_State( 
  3969.             /* [retval][out] */ ObjectStateEnum __RPC_FAR *pState) = 0;
  3970.         
  3971.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Source( 
  3972.             /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
  3973.         
  3974.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Source( 
  3975.             /* [in] */ BSTR Source) = 0;
  3976.         
  3977.         virtual /* [helpcontext][propputref][id] */ HRESULT STDMETHODCALLTYPE putref_Source( 
  3978.             /* [in] */ IDispatch __RPC_FAR *Source) = 0;
  3979.         
  3980.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Mode( 
  3981.             /* [retval][out] */ ConnectModeEnum __RPC_FAR *pMode) = 0;
  3982.         
  3983.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Mode( 
  3984.             /* [in] */ ConnectModeEnum Mode) = 0;
  3985.         
  3986.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ParentURL( 
  3987.             /* [retval][out] */ BSTR __RPC_FAR *pbstrParentURL) = 0;
  3988.         
  3989.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE MoveRecord( 
  3990.             /* [defaultvalue][in] */ BSTR Source,
  3991.             /* [defaultvalue][in] */ BSTR Destination,
  3992.             /* [optional][in] */ BSTR UserName,
  3993.             /* [optional][in] */ BSTR Password,
  3994.             /* [defaultvalue][in] */ MoveRecordOptionsEnum Options,
  3995.             /* [optional][in] */ VARIANT_BOOL Async,
  3996.             /* [retval][out] */ BSTR __RPC_FAR *pbstrNewURL) = 0;
  3997.         
  3998.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CopyRecord( 
  3999.             /* [defaultvalue][in] */ BSTR Source,
  4000.             /* [defaultvalue][in] */ BSTR Destination,
  4001.             /* [optional][in] */ BSTR UserName,
  4002.             /* [optional][in] */ BSTR Password,
  4003.             /* [defaultvalue][in] */ CopyRecordOptionsEnum Options,
  4004.             /* [optional][in] */ VARIANT_BOOL Async,
  4005.             /* [retval][out] */ BSTR __RPC_FAR *pbstrNewURL) = 0;
  4006.         
  4007.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE DeleteRecord( 
  4008.             /* [optional][in] */ BSTR Source,
  4009.             /* [optional][in] */ VARIANT_BOOL Async) = 0;
  4010.         
  4011.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Open( 
  4012.             /* [optional][in] */ VARIANT Source,
  4013.             /* [optional][in] */ VARIANT ActiveConnection,
  4014.             /* [optional][in] */ ConnectModeEnum Mode,
  4015.             /* [defaultvalue][in] */ RecordCreateOptionsEnum CreateOptions,
  4016.             /* [defaultvalue][in] */ RecordOpenOptionsEnum Options,
  4017.             /* [optional][in] */ BSTR UserName,
  4018.             /* [optional][in] */ BSTR Password) = 0;
  4019.         
  4020.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
  4021.         
  4022.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Fields( 
  4023.             /* [retval][out] */ ADOFields __RPC_FAR *__RPC_FAR *ppFlds) = 0;
  4024.         
  4025.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_RecordType( 
  4026.             /* [retval][out] */ RecordTypeEnum __RPC_FAR *pType) = 0;
  4027.         
  4028.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetChildren( 
  4029.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppRSet) = 0;
  4030.         
  4031.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  4032.         
  4033.     };
  4034.     
  4035. #else     /* C style interface */
  4036.     typedef struct _RecordVtbl
  4037.     {
  4038.         BEGIN_INTERFACE
  4039.         
  4040.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4041.             _ADORecord __RPC_FAR * This,
  4042.             /* [in] */ REFIID riid,
  4043.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4044.         
  4045.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4046.             _ADORecord __RPC_FAR * This);
  4047.         
  4048.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4049.             _ADORecord __RPC_FAR * This);
  4050.         
  4051.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  4052.             _ADORecord __RPC_FAR * This,
  4053.             /* [out] */ UINT __RPC_FAR *pctinfo);
  4054.         
  4055.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  4056.             _ADORecord __RPC_FAR * This,
  4057.             /* [in] */ UINT iTInfo,
  4058.             /* [in] */ LCID lcid,
  4059.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  4060.         
  4061.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  4062.             _ADORecord __RPC_FAR * This,
  4063.             /* [in] */ REFIID riid,
  4064.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  4065.             /* [in] */ UINT cNames,
  4066.             /* [in] */ LCID lcid,
  4067.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  4068.         
  4069.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  4070.             _ADORecord __RPC_FAR * This,
  4071.             /* [in] */ DISPID dispIdMember,
  4072.             /* [in] */ REFIID riid,
  4073.             /* [in] */ LCID lcid,
  4074.             /* [in] */ WORD wFlags,
  4075.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  4076.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  4077.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  4078.             /* [out] */ UINT __RPC_FAR *puArgErr);
  4079.         
  4080.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Properties )( 
  4081.             _ADORecord __RPC_FAR * This,
  4082.             /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject);
  4083.         
  4084.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveConnection )( 
  4085.             _ADORecord __RPC_FAR * This,
  4086.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  4087.         
  4088.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ActiveConnection )( 
  4089.             _ADORecord __RPC_FAR * This,
  4090.             /* [in] */ BSTR bstrConn);
  4091.         
  4092.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_ActiveADOConnection )( 
  4093.             _ADORecord __RPC_FAR * This,
  4094.             /* [in] */ _ADOConnection __RPC_FAR *Con);
  4095.         
  4096.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_State )( 
  4097.             _ADORecord __RPC_FAR * This,
  4098.             /* [retval][out] */ ObjectStateEnum __RPC_FAR *pState);
  4099.         
  4100.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Source )( 
  4101.             _ADORecord __RPC_FAR * This,
  4102.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  4103.         
  4104.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Source )( 
  4105.             _ADORecord __RPC_FAR * This,
  4106.             /* [in] */ BSTR Source);
  4107.         
  4108.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_Source )( 
  4109.             _ADORecord __RPC_FAR * This,
  4110.             /* [in] */ IDispatch __RPC_FAR *Source);
  4111.         
  4112.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Mode )( 
  4113.             _ADORecord __RPC_FAR * This,
  4114.             /* [retval][out] */ ConnectModeEnum __RPC_FAR *pMode);
  4115.         
  4116.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Mode )( 
  4117.             _ADORecord __RPC_FAR * This,
  4118.             /* [in] */ ConnectModeEnum Mode);
  4119.         
  4120.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ParentURL )( 
  4121.             _ADORecord __RPC_FAR * This,
  4122.             /* [retval][out] */ BSTR __RPC_FAR *pbstrParentURL);
  4123.         
  4124.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveADORecord )( 
  4125.             _ADORecord __RPC_FAR * This,
  4126.             /* [defaultvalue][in] */ BSTR Source,
  4127.             /* [defaultvalue][in] */ BSTR Destination,
  4128.             /* [optional][in] */ BSTR UserName,
  4129.             /* [optional][in] */ BSTR Password,
  4130.             /* [defaultvalue][in] */ MoveRecordOptionsEnum Options,
  4131.             /* [optional][in] */ VARIANT_BOOL Async,
  4132.             /* [retval][out] */ BSTR __RPC_FAR *pbstrNewURL);
  4133.         
  4134.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopyADORecord )( 
  4135.             _ADORecord __RPC_FAR * This,
  4136.             /* [defaultvalue][in] */ BSTR Source,
  4137.             /* [defaultvalue][in] */ BSTR Destination,
  4138.             /* [optional][in] */ BSTR UserName,
  4139.             /* [optional][in] */ BSTR Password,
  4140.             /* [defaultvalue][in] */ CopyRecordOptionsEnum Options,
  4141.             /* [optional][in] */ VARIANT_BOOL Async,
  4142.             /* [retval][out] */ BSTR __RPC_FAR *pbstrNewURL);
  4143.         
  4144.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteADORecord )( 
  4145.             _ADORecord __RPC_FAR * This,
  4146.             /* [optional][in] */ BSTR Source,
  4147.             /* [optional][in] */ VARIANT_BOOL Async);
  4148.         
  4149.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )( 
  4150.             _ADORecord __RPC_FAR * This,
  4151.             /* [optional][in] */ VARIANT Source,
  4152.             /* [optional][in] */ VARIANT ActiveConnection,
  4153.             /* [optional][in] */ ConnectModeEnum Mode,
  4154.             /* [defaultvalue][in] */ RecordCreateOptionsEnum CreateOptions,
  4155.             /* [defaultvalue][in] */ RecordOpenOptionsEnum Options,
  4156.             /* [optional][in] */ BSTR UserName,
  4157.             /* [optional][in] */ BSTR Password);
  4158.         
  4159.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )( 
  4160.             _ADORecord __RPC_FAR * This);
  4161.         
  4162.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Fields )( 
  4163.             _ADORecord __RPC_FAR * This,
  4164.             /* [retval][out] */ ADOFields __RPC_FAR *__RPC_FAR *ppFlds);
  4165.         
  4166.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RecordType )( 
  4167.             _ADORecord __RPC_FAR * This,
  4168.             /* [retval][out] */ RecordTypeEnum __RPC_FAR *pType);
  4169.         
  4170.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetChildren )( 
  4171.             _ADORecord __RPC_FAR * This,
  4172.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppRSet);
  4173.         
  4174.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Cancel )( 
  4175.             _ADORecord __RPC_FAR * This);
  4176.         
  4177.         END_INTERFACE
  4178.     } _RecordVtbl;
  4179.     interface _Record
  4180.     {
  4181.         CONST_VTBL struct _RecordVtbl __RPC_FAR *lpVtbl;
  4182.     };
  4183.     
  4184. #ifdef COBJMACROS
  4185. #define _Record_QueryInterface(This,riid,ppvObject)    \
  4186.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4187. #define _Record_AddRef(This)    \
  4188.     (This)->lpVtbl -> AddRef(This)
  4189. #define _Record_Release(This)    \
  4190.     (This)->lpVtbl -> Release(This)
  4191. #define _Record_GetTypeInfoCount(This,pctinfo)    \
  4192.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  4193. #define _Record_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  4194.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4195. #define _Record_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  4196.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4197. #define _Record_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  4198.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4199. #define _Record_get_Properties(This,ppvObject)    \
  4200.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  4201. #define _Record_get_ActiveConnection(This,pvar)    \
  4202.     (This)->lpVtbl -> get_ActiveConnection(This,pvar)
  4203. #define _Record_put_ActiveConnection(This,bstrConn)    \
  4204.     (This)->lpVtbl -> put_ActiveConnection(This,bstrConn)
  4205. #define _Record_putref_ActiveConnection(This,Con)    \
  4206.     (This)->lpVtbl -> putref_ActiveConnection(This,Con)
  4207. #define _Record_get_State(This,pState)    \
  4208.     (This)->lpVtbl -> get_State(This,pState)
  4209. #define _Record_get_Source(This,pvar)    \
  4210.     (This)->lpVtbl -> get_Source(This,pvar)
  4211. #define _Record_put_Source(This,Source)    \
  4212.     (This)->lpVtbl -> put_Source(This,Source)
  4213. #define _Record_putref_Source(This,Source)    \
  4214.     (This)->lpVtbl -> putref_Source(This,Source)
  4215. #define _Record_get_Mode(This,pMode)    \
  4216.     (This)->lpVtbl -> get_Mode(This,pMode)
  4217. #define _Record_put_Mode(This,Mode)    \
  4218.     (This)->lpVtbl -> put_Mode(This,Mode)
  4219. #define _Record_get_ParentURL(This,pbstrParentURL)    \
  4220.     (This)->lpVtbl -> get_ParentURL(This,pbstrParentURL)
  4221. #define _Record_MoveRecord(This,Source,Destination,UserName,Password,Options,Async,pbstrNewURL)    \
  4222.     (This)->lpVtbl -> MoveRecord(This,Source,Destination,UserName,Password,Options,Async,pbstrNewURL)
  4223. #define _Record_CopyRecord(This,Source,Destination,UserName,Password,Options,Async,pbstrNewURL)    \
  4224.     (This)->lpVtbl -> CopyRecord(This,Source,Destination,UserName,Password,Options,Async,pbstrNewURL)
  4225. #define _Record_DeleteRecord(This,Source,Async)    \
  4226.     (This)->lpVtbl -> DeleteRecord(This,Source,Async)
  4227. #define _Record_Open(This,Source,ActiveConnection,Mode,CreateOptions,Options,UserName,Password)    \
  4228.     (This)->lpVtbl -> Open(This,Source,ActiveConnection,Mode,CreateOptions,Options,UserName,Password)
  4229. #define _Record_Close(This)    \
  4230.     (This)->lpVtbl -> Close(This)
  4231. #define _Record_get_Fields(This,ppFlds)    \
  4232.     (This)->lpVtbl -> get_Fields(This,ppFlds)
  4233. #define _Record_get_RecordType(This,pType)    \
  4234.     (This)->lpVtbl -> get_RecordType(This,pType)
  4235. #define _Record_GetChildren(This,ppRSet)    \
  4236.     (This)->lpVtbl -> GetChildren(This,ppRSet)
  4237. #define _Record_Cancel(This)    \
  4238.     (This)->lpVtbl -> Cancel(This)
  4239. #endif /* COBJMACROS */
  4240. #endif     /* C style interface */
  4241. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Record_get_ActiveConnection_Proxy( 
  4242.     _ADORecord __RPC_FAR * This,
  4243.     /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  4244. void __RPC_STUB _Record_get_ActiveConnection_Stub(
  4245.     IRpcStubBuffer *This,
  4246.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4247.     PRPC_MESSAGE _pRpcMessage,
  4248.     DWORD *_pdwStubPhase);
  4249. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE _Record_put_ActiveConnection_Proxy( 
  4250.     _ADORecord __RPC_FAR * This,
  4251.     /* [in] */ BSTR bstrConn);
  4252. void __RPC_STUB _Record_put_ActiveConnection_Stub(
  4253.     IRpcStubBuffer *This,
  4254.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4255.     PRPC_MESSAGE _pRpcMessage,
  4256.     DWORD *_pdwStubPhase);
  4257. /* [helpcontext][propputref][id] */ HRESULT STDMETHODCALLTYPE _Record_putref_ActiveConnection_Proxy( 
  4258.     _ADORecord __RPC_FAR * This,
  4259.     /* [in] */ _ADOConnection __RPC_FAR *Con);
  4260. void __RPC_STUB _Record_putref_ActiveConnection_Stub(
  4261.     IRpcStubBuffer *This,
  4262.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4263.     PRPC_MESSAGE _pRpcMessage,
  4264.     DWORD *_pdwStubPhase);
  4265. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Record_get_State_Proxy( 
  4266.     _ADORecord __RPC_FAR * This,
  4267.     /* [retval][out] */ ObjectStateEnum __RPC_FAR *pState);
  4268. void __RPC_STUB _Record_get_State_Stub(
  4269.     IRpcStubBuffer *This,
  4270.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4271.     PRPC_MESSAGE _pRpcMessage,
  4272.     DWORD *_pdwStubPhase);
  4273. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Record_get_Source_Proxy( 
  4274.     _ADORecord __RPC_FAR * This,
  4275.     /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  4276. void __RPC_STUB _Record_get_Source_Stub(
  4277.     IRpcStubBuffer *This,
  4278.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4279.     PRPC_MESSAGE _pRpcMessage,
  4280.     DWORD *_pdwStubPhase);
  4281. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE _Record_put_Source_Proxy( 
  4282.     _ADORecord __RPC_FAR * This,
  4283.     /* [in] */ BSTR Source);
  4284. void __RPC_STUB _Record_put_Source_Stub(
  4285.     IRpcStubBuffer *This,
  4286.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4287.     PRPC_MESSAGE _pRpcMessage,
  4288.     DWORD *_pdwStubPhase);
  4289. /* [helpcontext][propputref][id] */ HRESULT STDMETHODCALLTYPE _Record_putref_Source_Proxy( 
  4290.     _ADORecord __RPC_FAR * This,
  4291.     /* [in] */ IDispatch __RPC_FAR *Source);
  4292. void __RPC_STUB _Record_putref_Source_Stub(
  4293.     IRpcStubBuffer *This,
  4294.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4295.     PRPC_MESSAGE _pRpcMessage,
  4296.     DWORD *_pdwStubPhase);
  4297. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Record_get_Mode_Proxy( 
  4298.     _ADORecord __RPC_FAR * This,
  4299.     /* [retval][out] */ ConnectModeEnum __RPC_FAR *pMode);
  4300. void __RPC_STUB _Record_get_Mode_Stub(
  4301.     IRpcStubBuffer *This,
  4302.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4303.     PRPC_MESSAGE _pRpcMessage,
  4304.     DWORD *_pdwStubPhase);
  4305. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE _Record_put_Mode_Proxy( 
  4306.     _ADORecord __RPC_FAR * This,
  4307.     /* [in] */ ConnectModeEnum Mode);
  4308. void __RPC_STUB _Record_put_Mode_Stub(
  4309.     IRpcStubBuffer *This,
  4310.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4311.     PRPC_MESSAGE _pRpcMessage,
  4312.     DWORD *_pdwStubPhase);
  4313. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Record_get_ParentURL_Proxy( 
  4314.     _ADORecord __RPC_FAR * This,
  4315.     /* [retval][out] */ BSTR __RPC_FAR *pbstrParentURL);
  4316. void __RPC_STUB _Record_get_ParentURL_Stub(
  4317.     IRpcStubBuffer *This,
  4318.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4319.     PRPC_MESSAGE _pRpcMessage,
  4320.     DWORD *_pdwStubPhase);
  4321. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Record_MoveRecord_Proxy( 
  4322.     _ADORecord __RPC_FAR * This,
  4323.     /* [defaultvalue][in] */ BSTR Source,
  4324.     /* [defaultvalue][in] */ BSTR Destination,
  4325.     /* [optional][in] */ BSTR UserName,
  4326.     /* [optional][in] */ BSTR Password,
  4327.     /* [defaultvalue][in] */ MoveRecordOptionsEnum Options,
  4328.     /* [optional][in] */ VARIANT_BOOL Async,
  4329.     /* [retval][out] */ BSTR __RPC_FAR *pbstrNewURL);
  4330. void __RPC_STUB _Record_MoveRecord_Stub(
  4331.     IRpcStubBuffer *This,
  4332.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4333.     PRPC_MESSAGE _pRpcMessage,
  4334.     DWORD *_pdwStubPhase);
  4335. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Record_CopyRecord_Proxy( 
  4336.     _ADORecord __RPC_FAR * This,
  4337.     /* [defaultvalue][in] */ BSTR Source,
  4338.     /* [defaultvalue][in] */ BSTR Destination,
  4339.     /* [optional][in] */ BSTR UserName,
  4340.     /* [optional][in] */ BSTR Password,
  4341.     /* [defaultvalue][in] */ CopyRecordOptionsEnum Options,
  4342.     /* [optional][in] */ VARIANT_BOOL Async,
  4343.     /* [retval][out] */ BSTR __RPC_FAR *pbstrNewURL);
  4344. void __RPC_STUB _Record_CopyRecord_Stub(
  4345.     IRpcStubBuffer *This,
  4346.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4347.     PRPC_MESSAGE _pRpcMessage,
  4348.     DWORD *_pdwStubPhase);
  4349. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Record_DeleteRecord_Proxy( 
  4350.     _ADORecord __RPC_FAR * This,
  4351.     /* [optional][in] */ BSTR Source,
  4352.     /* [optional][in] */ VARIANT_BOOL Async);
  4353. void __RPC_STUB _Record_DeleteRecord_Stub(
  4354.     IRpcStubBuffer *This,
  4355.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4356.     PRPC_MESSAGE _pRpcMessage,
  4357.     DWORD *_pdwStubPhase);
  4358. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Record_Open_Proxy( 
  4359.     _ADORecord __RPC_FAR * This,
  4360.     /* [optional][in] */ VARIANT Source,
  4361.     /* [optional][in] */ VARIANT ActiveConnection,
  4362.     /* [optional][in] */ ConnectModeEnum Mode,
  4363.     /* [defaultvalue][in] */ RecordCreateOptionsEnum CreateOptions,
  4364.     /* [defaultvalue][in] */ RecordOpenOptionsEnum Options,
  4365.     /* [optional][in] */ BSTR UserName,
  4366.     /* [optional][in] */ BSTR Password);
  4367. void __RPC_STUB _Record_Open_Stub(
  4368.     IRpcStubBuffer *This,
  4369.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4370.     PRPC_MESSAGE _pRpcMessage,
  4371.     DWORD *_pdwStubPhase);
  4372. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Record_Close_Proxy( 
  4373.     _ADORecord __RPC_FAR * This);
  4374. void __RPC_STUB _Record_Close_Stub(
  4375.     IRpcStubBuffer *This,
  4376.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4377.     PRPC_MESSAGE _pRpcMessage,
  4378.     DWORD *_pdwStubPhase);
  4379. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Record_get_Fields_Proxy( 
  4380.     _ADORecord __RPC_FAR * This,
  4381.     /* [retval][out] */ ADOFields __RPC_FAR *__RPC_FAR *ppFlds);
  4382. void __RPC_STUB _Record_get_Fields_Stub(
  4383.     IRpcStubBuffer *This,
  4384.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4385.     PRPC_MESSAGE _pRpcMessage,
  4386.     DWORD *_pdwStubPhase);
  4387. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Record_get_RecordType_Proxy( 
  4388.     _ADORecord __RPC_FAR * This,
  4389.     /* [retval][out] */ RecordTypeEnum __RPC_FAR *pType);
  4390. void __RPC_STUB _Record_get_RecordType_Stub(
  4391.     IRpcStubBuffer *This,
  4392.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4393.     PRPC_MESSAGE _pRpcMessage,
  4394.     DWORD *_pdwStubPhase);
  4395. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Record_GetChildren_Proxy( 
  4396.     _ADORecord __RPC_FAR * This,
  4397.     /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppRSet);
  4398. void __RPC_STUB _Record_GetChildren_Stub(
  4399.     IRpcStubBuffer *This,
  4400.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4401.     PRPC_MESSAGE _pRpcMessage,
  4402.     DWORD *_pdwStubPhase);
  4403. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Record_Cancel_Proxy( 
  4404.     _ADORecord __RPC_FAR * This);
  4405. void __RPC_STUB _Record_Cancel_Stub(
  4406.     IRpcStubBuffer *This,
  4407.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4408.     PRPC_MESSAGE _pRpcMessage,
  4409.     DWORD *_pdwStubPhase);
  4410. #endif     /* ___Record_INTERFACE_DEFINED__ */
  4411. EXTERN_C const CLSID CLSID_Record;
  4412. #ifdef __cplusplus
  4413. Record;
  4414. #endif
  4415. #ifndef __IRecFields_INTERFACE_DEFINED__
  4416. #define __IRecFields_INTERFACE_DEFINED__
  4417. /* interface IRecADOFields */
  4418. /* [object][uuid][hidden][dual] */ 
  4419. EXTERN_C const IID IID_IRecFields;
  4420. #if defined(__cplusplus) && !defined(CINTERFACE)
  4421.     
  4422.     MIDL_INTERFACE("00000563-0000-0010-8000-00AA006D2EA4")
  4423.     IRecADOFields : public IUnknown
  4424.     {
  4425.     public:
  4426.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE ADOCheck( void) = 0;
  4427.         
  4428.     };
  4429.     
  4430. #else     /* C style interface */
  4431.     typedef struct IRecFieldsVtbl
  4432.     {
  4433.         BEGIN_INTERFACE
  4434.         
  4435.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4436.             IRecADOFields __RPC_FAR * This,
  4437.             /* [in] */ REFIID riid,
  4438.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4439.         
  4440.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4441.             IRecADOFields __RPC_FAR * This);
  4442.         
  4443.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4444.             IRecADOFields __RPC_FAR * This);
  4445.         
  4446.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ADOCheck )( 
  4447.             IRecADOFields __RPC_FAR * This);
  4448.         
  4449.         END_INTERFACE
  4450.     } IRecFieldsVtbl;
  4451.     interface IRecFields
  4452.     {
  4453.         CONST_VTBL struct IRecFieldsVtbl __RPC_FAR *lpVtbl;
  4454.     };
  4455.     
  4456. #ifdef COBJMACROS
  4457. #define IRecFields_QueryInterface(This,riid,ppvObject)    \
  4458.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4459. #define IRecFields_AddRef(This)    \
  4460.     (This)->lpVtbl -> AddRef(This)
  4461. #define IRecFields_Release(This)    \
  4462.     (This)->lpVtbl -> Release(This)
  4463. #define IRecFields_ADOCheck(This)    \
  4464.     (This)->lpVtbl -> ADOCheck(This)
  4465. #endif /* COBJMACROS */
  4466. #endif     /* C style interface */
  4467. /* [id] */ HRESULT STDMETHODCALLTYPE IRecFields_ADOCheck_Proxy( 
  4468.     IRecADOFields __RPC_FAR * This);
  4469. void __RPC_STUB IRecFields_ADOCheck_Stub(
  4470.     IRpcStubBuffer *This,
  4471.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4472.     PRPC_MESSAGE _pRpcMessage,
  4473.     DWORD *_pdwStubPhase);
  4474. #endif     /* __IRecFields_INTERFACE_DEFINED__ */
  4475. #ifndef ___Stream_INTERFACE_DEFINED__
  4476. #define ___Stream_INTERFACE_DEFINED__
  4477. /* interface _ADOStream */
  4478. /* [object][helpcontext][uuid][hidden][dual] */ 
  4479. EXTERN_C const IID IID__Stream;
  4480. #if defined(__cplusplus) && !defined(CINTERFACE)
  4481.     
  4482.     MIDL_INTERFACE("00000565-0000-0010-8000-00AA006D2EA4")
  4483.     _ADOStream : public IDispatch
  4484.     {
  4485.     public:
  4486.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
  4487.             /* [retval][out] */ LONG __RPC_FAR *pSize) = 0;
  4488.         
  4489.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_EOS( 
  4490.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pEOS) = 0;
  4491.         
  4492.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Position( 
  4493.             /* [retval][out] */ LONG __RPC_FAR *pPos) = 0;
  4494.         
  4495.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Position( 
  4496.             /* [in] */ LONG Position) = 0;
  4497.         
  4498.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
  4499.             /* [retval][out] */ StreamTypeEnum __RPC_FAR *pType) = 0;
  4500.         
  4501.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Type( 
  4502.             /* [in] */ StreamTypeEnum Type) = 0;
  4503.         
  4504.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LineSeparator( 
  4505.             /* [retval][out] */ LineSeparatorEnum __RPC_FAR *pLS) = 0;
  4506.         
  4507.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LineSeparator( 
  4508.             /* [in] */ LineSeparatorEnum LineSeparator) = 0;
  4509.         
  4510.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_State( 
  4511.             /* [retval][out] */ ObjectStateEnum __RPC_FAR *pState) = 0;
  4512.         
  4513.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Mode( 
  4514.             /* [retval][out] */ ConnectModeEnum __RPC_FAR *pMode) = 0;
  4515.         
  4516.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Mode( 
  4517.             /* [in] */ ConnectModeEnum Mode) = 0;
  4518.         
  4519.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Charset( 
  4520.             /* [retval][out] */ BSTR __RPC_FAR *pbstrCharset) = 0;
  4521.         
  4522.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Charset( 
  4523.             /* [in] */ BSTR Charset) = 0;
  4524.         
  4525.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Read( 
  4526.             /* [defaultvalue][in] */ long NumBytes,
  4527.             /* [retval][out] */ VARIANT __RPC_FAR *pVal) = 0;
  4528.         
  4529.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Open( 
  4530.             /* [optional][in] */ VARIANT Source,
  4531.             /* [defaultvalue][in] */ ConnectModeEnum Mode,
  4532.             /* [defaultvalue][in] */ StreamOpenOptionsEnum Options,
  4533.             /* [optional][in] */ BSTR UserName,
  4534.             /* [optional][in] */ BSTR Password) = 0;
  4535.         
  4536.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
  4537.         
  4538.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SkipLine( void) = 0;
  4539.         
  4540.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Write( 
  4541.             /* [in] */ VARIANT Buffer) = 0;
  4542.         
  4543.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetEOS( void) = 0;
  4544.         
  4545.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CopyTo( 
  4546.             /* [in] */ _ADOStream __RPC_FAR *DestStream,
  4547.             /* [defaultvalue][in] */ LONG CharNumber = -1) = 0;
  4548.         
  4549.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Flush( void) = 0;
  4550.         
  4551.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SaveToFile( 
  4552.             /* [in] */ BSTR FileName,
  4553.             /* [defaultvalue][in] */ SaveOptionsEnum Options = adSaveCreateNotExist) = 0;
  4554.         
  4555.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE LoadFromFile( 
  4556.             /* [in] */ BSTR FileName) = 0;
  4557.         
  4558.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ReadText( 
  4559.             /* [defaultvalue][in] */ long NumChars,
  4560.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  4561.         
  4562.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE WriteText( 
  4563.             /* [in] */ BSTR Data,
  4564.             /* [defaultvalue][in] */ StreamWriteEnum Options = adWriteChar) = 0;
  4565.         
  4566.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  4567.         
  4568.     };
  4569.     
  4570. #else     /* C style interface */
  4571.     typedef struct _StreamVtbl
  4572.     {
  4573.         BEGIN_INTERFACE
  4574.         
  4575.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4576.             _ADOStream __RPC_FAR * This,
  4577.             /* [in] */ REFIID riid,
  4578.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4579.         
  4580.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4581.             _ADOStream __RPC_FAR * This);
  4582.         
  4583.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4584.             _ADOStream __RPC_FAR * This);
  4585.         
  4586.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  4587.             _ADOStream __RPC_FAR * This,
  4588.             /* [out] */ UINT __RPC_FAR *pctinfo);
  4589.         
  4590.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  4591.             _ADOStream __RPC_FAR * This,
  4592.             /* [in] */ UINT iTInfo,
  4593.             /* [in] */ LCID lcid,
  4594.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  4595.         
  4596.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  4597.             _ADOStream __RPC_FAR * This,
  4598.             /* [in] */ REFIID riid,
  4599.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  4600.             /* [in] */ UINT cNames,
  4601.             /* [in] */ LCID lcid,
  4602.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  4603.         
  4604.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  4605.             _ADOStream __RPC_FAR * This,
  4606.             /* [in] */ DISPID dispIdMember,
  4607.             /* [in] */ REFIID riid,
  4608.             /* [in] */ LCID lcid,
  4609.             /* [in] */ WORD wFlags,
  4610.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  4611.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  4612.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  4613.             /* [out] */ UINT __RPC_FAR *puArgErr);
  4614.         
  4615.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Size )( 
  4616.             _ADOStream __RPC_FAR * This,
  4617.             /* [retval][out] */ LONG __RPC_FAR *pSize);
  4618.         
  4619.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EOS )( 
  4620.             _ADOStream __RPC_FAR * This,
  4621.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pEOS);
  4622.         
  4623.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Position )( 
  4624.             _ADOStream __RPC_FAR * This,
  4625.             /* [retval][out] */ LONG __RPC_FAR *pPos);
  4626.         
  4627.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Position )( 
  4628.             _ADOStream __RPC_FAR * This,
  4629.             /* [in] */ LONG Position);
  4630.         
  4631.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )( 
  4632.             _ADOStream __RPC_FAR * This,
  4633.             /* [retval][out] */ StreamTypeEnum __RPC_FAR *pType);
  4634.         
  4635.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Type )( 
  4636.             _ADOStream __RPC_FAR * This,
  4637.             /* [in] */ StreamTypeEnum Type);
  4638.         
  4639.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LineSeparator )( 
  4640.             _ADOStream __RPC_FAR * This,
  4641.             /* [retval][out] */ LineSeparatorEnum __RPC_FAR *pLS);
  4642.         
  4643.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LineSeparator )( 
  4644.             _ADOStream __RPC_FAR * This,
  4645.             /* [in] */ LineSeparatorEnum LineSeparator);
  4646.         
  4647.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_State )( 
  4648.             _ADOStream __RPC_FAR * This,
  4649.             /* [retval][out] */ ObjectStateEnum __RPC_FAR *pState);
  4650.         
  4651.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Mode )( 
  4652.             _ADOStream __RPC_FAR * This,
  4653.             /* [retval][out] */ ConnectModeEnum __RPC_FAR *pMode);
  4654.         
  4655.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Mode )( 
  4656.             _ADOStream __RPC_FAR * This,
  4657.             /* [in] */ ConnectModeEnum Mode);
  4658.         
  4659.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Charset )( 
  4660.             _ADOStream __RPC_FAR * This,
  4661.             /* [retval][out] */ BSTR __RPC_FAR *pbstrCharset);
  4662.         
  4663.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Charset )( 
  4664.             _ADOStream __RPC_FAR * This,
  4665.             /* [in] */ BSTR Charset);
  4666.         
  4667.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Read )( 
  4668.             _ADOStream __RPC_FAR * This,
  4669.             /* [defaultvalue][in] */ long NumBytes,
  4670.             /* [retval][out] */ VARIANT __RPC_FAR *pVal);
  4671.         
  4672.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )( 
  4673.             _ADOStream __RPC_FAR * This,
  4674.             /* [optional][in] */ VARIANT Source,
  4675.             /* [defaultvalue][in] */ ConnectModeEnum Mode,
  4676.             /* [defaultvalue][in] */ StreamOpenOptionsEnum Options,
  4677.             /* [optional][in] */ BSTR UserName,
  4678.             /* [optional][in] */ BSTR Password);
  4679.         
  4680.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )( 
  4681.             _ADOStream __RPC_FAR * This);
  4682.         
  4683.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SkipLine )( 
  4684.             _ADOStream __RPC_FAR * This);
  4685.         
  4686.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Write )( 
  4687.             _ADOStream __RPC_FAR * This,
  4688.             /* [in] */ VARIANT Buffer);
  4689.         
  4690.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetEOS )( 
  4691.             _ADOStream __RPC_FAR * This);
  4692.         
  4693.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopyTo )( 
  4694.             _ADOStream __RPC_FAR * This,
  4695.             /* [in] */ _ADOStream __RPC_FAR *DestStream,
  4696.             /* [defaultvalue][in] */ LONG CharNumber);
  4697.         
  4698.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Flush )( 
  4699.             _ADOStream __RPC_FAR * This);
  4700.         
  4701.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveToFile )( 
  4702.             _ADOStream __RPC_FAR * This,
  4703.             /* [in] */ BSTR FileName,
  4704.             /* [defaultvalue][in] */ SaveOptionsEnum Options);
  4705.         
  4706.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadFromFile )( 
  4707.             _ADOStream __RPC_FAR * This,
  4708.             /* [in] */ BSTR FileName);
  4709.         
  4710.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReadText )( 
  4711.             _ADOStream __RPC_FAR * This,
  4712.             /* [defaultvalue][in] */ long NumChars,
  4713.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  4714.         
  4715.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteText )( 
  4716.             _ADOStream __RPC_FAR * This,
  4717.             /* [in] */ BSTR Data,
  4718.             /* [defaultvalue][in] */ StreamWriteEnum Options);
  4719.         
  4720.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Cancel )( 
  4721.             _ADOStream __RPC_FAR * This);
  4722.         
  4723.         END_INTERFACE
  4724.     } _StreamVtbl;
  4725.     interface _Stream
  4726.     {
  4727.         CONST_VTBL struct _StreamVtbl __RPC_FAR *lpVtbl;
  4728.     };
  4729.     
  4730. #ifdef COBJMACROS
  4731. #define _Stream_QueryInterface(This,riid,ppvObject)    \
  4732.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4733. #define _Stream_AddRef(This)    \
  4734.     (This)->lpVtbl -> AddRef(This)
  4735. #define _Stream_Release(This)    \
  4736.     (This)->lpVtbl -> Release(This)
  4737. #define _Stream_GetTypeInfoCount(This,pctinfo)    \
  4738.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  4739. #define _Stream_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  4740.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4741. #define _Stream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  4742.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4743. #define _Stream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  4744.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4745. #define _Stream_get_Size(This,pSize)    \
  4746.     (This)->lpVtbl -> get_Size(This,pSize)
  4747. #define _Stream_get_EOS(This,pEOS)    \
  4748.     (This)->lpVtbl -> get_EOS(This,pEOS)
  4749. #define _Stream_get_Position(This,pPos)    \
  4750.     (This)->lpVtbl -> get_Position(This,pPos)
  4751. #define _Stream_put_Position(This,Position)    \
  4752.     (This)->lpVtbl -> put_Position(This,Position)
  4753. #define _Stream_get_Type(This,pType)    \
  4754.     (This)->lpVtbl -> get_Type(This,pType)
  4755. #define _Stream_put_Type(This,Type)    \
  4756.     (This)->lpVtbl -> put_Type(This,Type)
  4757. #define _Stream_get_LineSeparator(This,pLS)    \
  4758.     (This)->lpVtbl -> get_LineSeparator(This,pLS)
  4759. #define _Stream_put_LineSeparator(This,LineSeparator)    \
  4760.     (This)->lpVtbl -> put_LineSeparator(This,LineSeparator)
  4761. #define _Stream_get_State(This,pState)    \
  4762.     (This)->lpVtbl -> get_State(This,pState)
  4763. #define _Stream_get_Mode(This,pMode)    \
  4764.     (This)->lpVtbl -> get_Mode(This,pMode)
  4765. #define _Stream_put_Mode(This,Mode)    \
  4766.     (This)->lpVtbl -> put_Mode(This,Mode)
  4767. #define _Stream_get_Charset(This,pbstrCharset)    \
  4768.     (This)->lpVtbl -> get_Charset(This,pbstrCharset)
  4769. #define _Stream_put_Charset(This,Charset)    \
  4770.     (This)->lpVtbl -> put_Charset(This,Charset)
  4771. #define _Stream_Read(This,NumBytes,pVal)    \
  4772.     (This)->lpVtbl -> Read(This,NumBytes,pVal)
  4773. #define _Stream_Open(This,Source,Mode,Options,UserName,Password)    \
  4774.     (This)->lpVtbl -> Open(This,Source,Mode,Options,UserName,Password)
  4775. #define _Stream_Close(This)    \
  4776.     (This)->lpVtbl -> Close(This)
  4777. #define _Stream_SkipLine(This)    \
  4778.     (This)->lpVtbl -> SkipLine(This)
  4779. #define _Stream_Write(This,Buffer)    \
  4780.     (This)->lpVtbl -> Write(This,Buffer)
  4781. #define _Stream_SetEOS(This)    \
  4782.     (This)->lpVtbl -> SetEOS(This)
  4783. #define _Stream_CopyTo(This,DestStream,CharNumber)    \
  4784.     (This)->lpVtbl -> CopyTo(This,DestStream,CharNumber)
  4785. #define _Stream_Flush(This)    \
  4786.     (This)->lpVtbl -> Flush(This)
  4787. #define _Stream_SaveToFile(This,FileName,Options)    \
  4788.     (This)->lpVtbl -> SaveToFile(This,FileName,Options)
  4789. #define _Stream_LoadFromFile(This,FileName)    \
  4790.     (This)->lpVtbl -> LoadFromFile(This,FileName)
  4791. #define _Stream_ReadText(This,NumChars,pbstr)    \
  4792.     (This)->lpVtbl -> ReadText(This,NumChars,pbstr)
  4793. #define _Stream_WriteText(This,Data,Options)    \
  4794.     (This)->lpVtbl -> WriteText(This,Data,Options)
  4795. #define _Stream_Cancel(This)    \
  4796.     (This)->lpVtbl -> Cancel(This)
  4797. #endif /* COBJMACROS */
  4798. #endif     /* C style interface */
  4799. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Stream_get_Size_Proxy( 
  4800.     _ADOStream __RPC_FAR * This,
  4801.     /* [retval][out] */ LONG __RPC_FAR *pSize);
  4802. void __RPC_STUB _Stream_get_Size_Stub(
  4803.     IRpcStubBuffer *This,
  4804.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4805.     PRPC_MESSAGE _pRpcMessage,
  4806.     DWORD *_pdwStubPhase);
  4807. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Stream_get_EOS_Proxy( 
  4808.     _ADOStream __RPC_FAR * This,
  4809.     /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pEOS);
  4810. void __RPC_STUB _Stream_get_EOS_Stub(
  4811.     IRpcStubBuffer *This,
  4812.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4813.     PRPC_MESSAGE _pRpcMessage,
  4814.     DWORD *_pdwStubPhase);
  4815. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Stream_get_Position_Proxy( 
  4816.     _ADOStream __RPC_FAR * This,
  4817.     /* [retval][out] */ LONG __RPC_FAR *pPos);
  4818. void __RPC_STUB _Stream_get_Position_Stub(
  4819.     IRpcStubBuffer *This,
  4820.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4821.     PRPC_MESSAGE _pRpcMessage,
  4822.     DWORD *_pdwStubPhase);
  4823. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Stream_put_Position_Proxy( 
  4824.     _ADOStream __RPC_FAR * This,
  4825.     /* [in] */ LONG Position);
  4826. void __RPC_STUB _Stream_put_Position_Stub(
  4827.     IRpcStubBuffer *This,
  4828.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4829.     PRPC_MESSAGE _pRpcMessage,
  4830.     DWORD *_pdwStubPhase);
  4831. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Stream_get_Type_Proxy( 
  4832.     _ADOStream __RPC_FAR * This,
  4833.     /* [retval][out] */ StreamTypeEnum __RPC_FAR *pType);
  4834. void __RPC_STUB _Stream_get_Type_Stub(
  4835.     IRpcStubBuffer *This,
  4836.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4837.     PRPC_MESSAGE _pRpcMessage,
  4838.     DWORD *_pdwStubPhase);
  4839. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Stream_put_Type_Proxy( 
  4840.     _ADOStream __RPC_FAR * This,
  4841.     /* [in] */ StreamTypeEnum Type);
  4842. void __RPC_STUB _Stream_put_Type_Stub(
  4843.     IRpcStubBuffer *This,
  4844.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4845.     PRPC_MESSAGE _pRpcMessage,
  4846.     DWORD *_pdwStubPhase);
  4847. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Stream_get_LineSeparator_Proxy( 
  4848.     _ADOStream __RPC_FAR * This,
  4849.     /* [retval][out] */ LineSeparatorEnum __RPC_FAR *pLS);
  4850. void __RPC_STUB _Stream_get_LineSeparator_Stub(
  4851.     IRpcStubBuffer *This,
  4852.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4853.     PRPC_MESSAGE _pRpcMessage,
  4854.     DWORD *_pdwStubPhase);
  4855. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Stream_put_LineSeparator_Proxy( 
  4856.     _ADOStream __RPC_FAR * This,
  4857.     /* [in] */ LineSeparatorEnum LineSeparator);
  4858. void __RPC_STUB _Stream_put_LineSeparator_Stub(
  4859.     IRpcStubBuffer *This,
  4860.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4861.     PRPC_MESSAGE _pRpcMessage,
  4862.     DWORD *_pdwStubPhase);
  4863. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Stream_get_State_Proxy( 
  4864.     _ADOStream __RPC_FAR * This,
  4865.     /* [retval][out] */ ObjectStateEnum __RPC_FAR *pState);
  4866. void __RPC_STUB _Stream_get_State_Stub(
  4867.     IRpcStubBuffer *This,
  4868.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4869.     PRPC_MESSAGE _pRpcMessage,
  4870.     DWORD *_pdwStubPhase);
  4871. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Stream_get_Mode_Proxy( 
  4872.     _ADOStream __RPC_FAR * This,
  4873.     /* [retval][out] */ ConnectModeEnum __RPC_FAR *pMode);
  4874. void __RPC_STUB _Stream_get_Mode_Stub(
  4875.     IRpcStubBuffer *This,
  4876.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4877.     PRPC_MESSAGE _pRpcMessage,
  4878.     DWORD *_pdwStubPhase);
  4879. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Stream_put_Mode_Proxy( 
  4880.     _ADOStream __RPC_FAR * This,
  4881.     /* [in] */ ConnectModeEnum Mode);
  4882. void __RPC_STUB _Stream_put_Mode_Stub(
  4883.     IRpcStubBuffer *This,
  4884.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4885.     PRPC_MESSAGE _pRpcMessage,
  4886.     DWORD *_pdwStubPhase);
  4887. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Stream_get_Charset_Proxy( 
  4888.     _ADOStream __RPC_FAR * This,
  4889.     /* [retval][out] */ BSTR __RPC_FAR *pbstrCharset);
  4890. void __RPC_STUB _Stream_get_Charset_Stub(
  4891.     IRpcStubBuffer *This,
  4892.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4893.     PRPC_MESSAGE _pRpcMessage,
  4894.     DWORD *_pdwStubPhase);
  4895. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Stream_put_Charset_Proxy( 
  4896.     _ADOStream __RPC_FAR * This,
  4897.     /* [in] */ BSTR Charset);
  4898. void __RPC_STUB _Stream_put_Charset_Stub(
  4899.     IRpcStubBuffer *This,
  4900.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4901.     PRPC_MESSAGE _pRpcMessage,
  4902.     DWORD *_pdwStubPhase);
  4903. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_Read_Proxy( 
  4904.     _ADOStream __RPC_FAR * This,
  4905.     /* [defaultvalue][in] */ long NumBytes,
  4906.     /* [retval][out] */ VARIANT __RPC_FAR *pVal);
  4907. void __RPC_STUB _Stream_Read_Stub(
  4908.     IRpcStubBuffer *This,
  4909.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4910.     PRPC_MESSAGE _pRpcMessage,
  4911.     DWORD *_pdwStubPhase);
  4912. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_Open_Proxy( 
  4913.     _ADOStream __RPC_FAR * This,
  4914.     /* [optional][in] */ VARIANT Source,
  4915.     /* [defaultvalue][in] */ ConnectModeEnum Mode,
  4916.     /* [defaultvalue][in] */ StreamOpenOptionsEnum Options,
  4917.     /* [optional][in] */ BSTR UserName,
  4918.     /* [optional][in] */ BSTR Password);
  4919. void __RPC_STUB _Stream_Open_Stub(
  4920.     IRpcStubBuffer *This,
  4921.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4922.     PRPC_MESSAGE _pRpcMessage,
  4923.     DWORD *_pdwStubPhase);
  4924. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_Close_Proxy( 
  4925.     _ADOStream __RPC_FAR * This);
  4926. void __RPC_STUB _Stream_Close_Stub(
  4927.     IRpcStubBuffer *This,
  4928.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4929.     PRPC_MESSAGE _pRpcMessage,
  4930.     DWORD *_pdwStubPhase);
  4931. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_SkipLine_Proxy( 
  4932.     _ADOStream __RPC_FAR * This);
  4933. void __RPC_STUB _Stream_SkipLine_Stub(
  4934.     IRpcStubBuffer *This,
  4935.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4936.     PRPC_MESSAGE _pRpcMessage,
  4937.     DWORD *_pdwStubPhase);
  4938. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_Write_Proxy( 
  4939.     _ADOStream __RPC_FAR * This,
  4940.     /* [in] */ VARIANT Buffer);
  4941. void __RPC_STUB _Stream_Write_Stub(
  4942.     IRpcStubBuffer *This,
  4943.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4944.     PRPC_MESSAGE _pRpcMessage,
  4945.     DWORD *_pdwStubPhase);
  4946. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_SetEOS_Proxy( 
  4947.     _ADOStream __RPC_FAR * This);
  4948. void __RPC_STUB _Stream_SetEOS_Stub(
  4949.     IRpcStubBuffer *This,
  4950.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4951.     PRPC_MESSAGE _pRpcMessage,
  4952.     DWORD *_pdwStubPhase);
  4953. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_CopyTo_Proxy( 
  4954.     _ADOStream __RPC_FAR * This,
  4955.     /* [in] */ _ADOStream __RPC_FAR *DestStream,
  4956.     /* [defaultvalue][in] */ LONG CharNumber);
  4957. void __RPC_STUB _Stream_CopyTo_Stub(
  4958.     IRpcStubBuffer *This,
  4959.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4960.     PRPC_MESSAGE _pRpcMessage,
  4961.     DWORD *_pdwStubPhase);
  4962. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_Flush_Proxy( 
  4963.     _ADOStream __RPC_FAR * This);
  4964. void __RPC_STUB _Stream_Flush_Stub(
  4965.     IRpcStubBuffer *This,
  4966.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4967.     PRPC_MESSAGE _pRpcMessage,
  4968.     DWORD *_pdwStubPhase);
  4969. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_SaveToFile_Proxy( 
  4970.     _ADOStream __RPC_FAR * This,
  4971.     /* [in] */ BSTR FileName,
  4972.     /* [defaultvalue][in] */ SaveOptionsEnum Options);
  4973. void __RPC_STUB _Stream_SaveToFile_Stub(
  4974.     IRpcStubBuffer *This,
  4975.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4976.     PRPC_MESSAGE _pRpcMessage,
  4977.     DWORD *_pdwStubPhase);
  4978. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_LoadFromFile_Proxy( 
  4979.     _ADOStream __RPC_FAR * This,
  4980.     /* [in] */ BSTR FileName);
  4981. void __RPC_STUB _Stream_LoadFromFile_Stub(
  4982.     IRpcStubBuffer *This,
  4983.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4984.     PRPC_MESSAGE _pRpcMessage,
  4985.     DWORD *_pdwStubPhase);
  4986. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_ReadText_Proxy( 
  4987.     _ADOStream __RPC_FAR * This,
  4988.     /* [defaultvalue][in] */ long NumChars,
  4989.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  4990. void __RPC_STUB _Stream_ReadText_Stub(
  4991.     IRpcStubBuffer *This,
  4992.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4993.     PRPC_MESSAGE _pRpcMessage,
  4994.     DWORD *_pdwStubPhase);
  4995. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_WriteText_Proxy( 
  4996.     _ADOStream __RPC_FAR * This,
  4997.     /* [in] */ BSTR Data,
  4998.     /* [defaultvalue][in] */ StreamWriteEnum Options);
  4999. void __RPC_STUB _Stream_WriteText_Stub(
  5000.     IRpcStubBuffer *This,
  5001.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5002.     PRPC_MESSAGE _pRpcMessage,
  5003.     DWORD *_pdwStubPhase);
  5004. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_Cancel_Proxy( 
  5005.     _ADOStream __RPC_FAR * This);
  5006. void __RPC_STUB _Stream_Cancel_Stub(
  5007.     IRpcStubBuffer *This,
  5008.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5009.     PRPC_MESSAGE _pRpcMessage,
  5010.     DWORD *_pdwStubPhase);
  5011. #endif     /* ___Stream_INTERFACE_DEFINED__ */
  5012. EXTERN_C const CLSID CLSID_Stream;
  5013. #ifdef __cplusplus
  5014. Stream;
  5015. #endif
  5016. #ifndef __ADORecordConstruction_INTERFACE_DEFINED__
  5017. #define __ADORecordConstruction_INTERFACE_DEFINED__
  5018. /* interface ADORecordConstruction */
  5019. /* [object][uuid][restricted] */ 
  5020. EXTERN_C const IID IID_ADORecordConstruction;
  5021. #if defined(__cplusplus) && !defined(CINTERFACE)
  5022.     
  5023.     MIDL_INTERFACE("00000567-0000-0010-8000-00AA006D2EA4")
  5024.     ADORecordConstruction : public IDispatch
  5025.     {
  5026.     public:
  5027.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Row( 
  5028.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRow) = 0;
  5029.         
  5030.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Row( 
  5031.             /* [in] */ IUnknown __RPC_FAR *pRow) = 0;
  5032.         
  5033.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ParentRow( 
  5034.             /* [in] */ IUnknown __RPC_FAR *pRow) = 0;
  5035.         
  5036.     };
  5037.     
  5038. #else     /* C style interface */
  5039.     typedef struct ADORecordConstructionVtbl
  5040.     {
  5041.         BEGIN_INTERFACE
  5042.         
  5043.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5044.             ADORecordConstruction __RPC_FAR * This,
  5045.             /* [in] */ REFIID riid,
  5046.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5047.         
  5048.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5049.             ADORecordConstruction __RPC_FAR * This);
  5050.         
  5051.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5052.             ADORecordConstruction __RPC_FAR * This);
  5053.         
  5054.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  5055.             ADORecordConstruction __RPC_FAR * This,
  5056.             /* [out] */ UINT __RPC_FAR *pctinfo);
  5057.         
  5058.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  5059.             ADORecordConstruction __RPC_FAR * This,
  5060.             /* [in] */ UINT iTInfo,
  5061.             /* [in] */ LCID lcid,
  5062.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  5063.         
  5064.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  5065.             ADORecordConstruction __RPC_FAR * This,
  5066.             /* [in] */ REFIID riid,
  5067.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  5068.             /* [in] */ UINT cNames,
  5069.             /* [in] */ LCID lcid,
  5070.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  5071.         
  5072.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  5073.             ADORecordConstruction __RPC_FAR * This,
  5074.             /* [in] */ DISPID dispIdMember,
  5075.             /* [in] */ REFIID riid,
  5076.             /* [in] */ LCID lcid,
  5077.             /* [in] */ WORD wFlags,
  5078.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  5079.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  5080.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  5081.             /* [out] */ UINT __RPC_FAR *puArgErr);
  5082.         
  5083.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Row )( 
  5084.             ADORecordConstruction __RPC_FAR * This,
  5085.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRow);
  5086.         
  5087.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Row )( 
  5088.             ADORecordConstruction __RPC_FAR * This,
  5089.             /* [in] */ IUnknown __RPC_FAR *pRow);
  5090.         
  5091.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ParentRow )( 
  5092.             ADORecordConstruction __RPC_FAR * This,
  5093.             /* [in] */ IUnknown __RPC_FAR *pRow);
  5094.         
  5095.         END_INTERFACE
  5096.     } ADORecordConstructionVtbl;
  5097.     interface ADORecordConstruction
  5098.     {
  5099.         CONST_VTBL struct ADORecordConstructionVtbl __RPC_FAR *lpVtbl;
  5100.     };
  5101.     
  5102. #ifdef COBJMACROS
  5103. #define ADORecordConstruction_QueryInterface(This,riid,ppvObject)    \
  5104.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5105. #define ADORecordConstruction_AddRef(This)    \
  5106.     (This)->lpVtbl -> AddRef(This)
  5107. #define ADORecordConstruction_Release(This)    \
  5108.     (This)->lpVtbl -> Release(This)
  5109. #define ADORecordConstruction_GetTypeInfoCount(This,pctinfo)    \
  5110.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  5111. #define ADORecordConstruction_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  5112.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  5113. #define ADORecordConstruction_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  5114.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  5115. #define ADORecordConstruction_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  5116.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  5117. #define ADORecordConstruction_get_Row(This,ppRow)    \
  5118.     (This)->lpVtbl -> get_Row(This,ppRow)
  5119. #define ADORecordConstruction_put_Row(This,pRow)    \
  5120.     (This)->lpVtbl -> put_Row(This,pRow)
  5121. #define ADORecordConstruction_put_ParentRow(This,pRow)    \
  5122.     (This)->lpVtbl -> put_ParentRow(This,pRow)
  5123. #endif /* COBJMACROS */
  5124. #endif     /* C style interface */
  5125. /* [propget] */ HRESULT STDMETHODCALLTYPE ADORecordConstruction_get_Row_Proxy( 
  5126.     ADORecordConstruction __RPC_FAR * This,
  5127.     /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRow);
  5128. void __RPC_STUB ADORecordConstruction_get_Row_Stub(
  5129.     IRpcStubBuffer *This,
  5130.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5131.     PRPC_MESSAGE _pRpcMessage,
  5132.     DWORD *_pdwStubPhase);
  5133. /* [propput] */ HRESULT STDMETHODCALLTYPE ADORecordConstruction_put_Row_Proxy( 
  5134.     ADORecordConstruction __RPC_FAR * This,
  5135.     /* [in] */ IUnknown __RPC_FAR *pRow);
  5136. void __RPC_STUB ADORecordConstruction_put_Row_Stub(
  5137.     IRpcStubBuffer *This,
  5138.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5139.     PRPC_MESSAGE _pRpcMessage,
  5140.     DWORD *_pdwStubPhase);
  5141. /* [propput] */ HRESULT STDMETHODCALLTYPE ADORecordConstruction_put_ParentRow_Proxy( 
  5142.     ADORecordConstruction __RPC_FAR * This,
  5143.     /* [in] */ IUnknown __RPC_FAR *pRow);
  5144. void __RPC_STUB ADORecordConstruction_put_ParentRow_Stub(
  5145.     IRpcStubBuffer *This,
  5146.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5147.     PRPC_MESSAGE _pRpcMessage,
  5148.     DWORD *_pdwStubPhase);
  5149. #endif     /* __ADORecordConstruction_INTERFACE_DEFINED__ */
  5150. #ifndef __ADOStreamConstruction_INTERFACE_DEFINED__
  5151. #define __ADOStreamConstruction_INTERFACE_DEFINED__
  5152. /* interface ADOStreamConstruction */
  5153. /* [object][uuid][restricted] */ 
  5154. EXTERN_C const IID IID_ADOStreamConstruction;
  5155. #if defined(__cplusplus) && !defined(CINTERFACE)
  5156.     
  5157.     MIDL_INTERFACE("00000568-0000-0010-8000-00AA006D2EA4")
  5158.     ADOStreamConstruction : public IDispatch
  5159.     {
  5160.     public:
  5161.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Stream( 
  5162.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppStm) = 0;
  5163.         
  5164.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Stream( 
  5165.             /* [in] */ IUnknown __RPC_FAR *pStm) = 0;
  5166.         
  5167.     };
  5168.     
  5169. #else     /* C style interface */
  5170.     typedef struct ADOStreamConstructionVtbl
  5171.     {
  5172.         BEGIN_INTERFACE
  5173.         
  5174.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5175.             ADOStreamConstruction __RPC_FAR * This,
  5176.             /* [in] */ REFIID riid,
  5177.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5178.         
  5179.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5180.             ADOStreamConstruction __RPC_FAR * This);
  5181.         
  5182.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5183.             ADOStreamConstruction __RPC_FAR * This);
  5184.         
  5185.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  5186.             ADOStreamConstruction __RPC_FAR * This,
  5187.             /* [out] */ UINT __RPC_FAR *pctinfo);
  5188.         
  5189.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  5190.             ADOStreamConstruction __RPC_FAR * This,
  5191.             /* [in] */ UINT iTInfo,
  5192.             /* [in] */ LCID lcid,
  5193.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  5194.         
  5195.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  5196.             ADOStreamConstruction __RPC_FAR * This,
  5197.             /* [in] */ REFIID riid,
  5198.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  5199.             /* [in] */ UINT cNames,
  5200.             /* [in] */ LCID lcid,
  5201.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  5202.         
  5203.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  5204.             ADOStreamConstruction __RPC_FAR * This,
  5205.             /* [in] */ DISPID dispIdMember,
  5206.             /* [in] */ REFIID riid,
  5207.             /* [in] */ LCID lcid,
  5208.             /* [in] */ WORD wFlags,
  5209.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  5210.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  5211.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  5212.             /* [out] */ UINT __RPC_FAR *puArgErr);
  5213.         
  5214.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Stream )( 
  5215.             ADOStreamConstruction __RPC_FAR * This,
  5216.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppStm);
  5217.         
  5218.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Stream )( 
  5219.             ADOStreamConstruction __RPC_FAR * This,
  5220.             /* [in] */ IUnknown __RPC_FAR *pStm);
  5221.         
  5222.         END_INTERFACE
  5223.     } ADOStreamConstructionVtbl;
  5224.     interface ADOStreamConstruction
  5225.     {
  5226.         CONST_VTBL struct ADOStreamConstructionVtbl __RPC_FAR *lpVtbl;
  5227.     };
  5228.     
  5229. #ifdef COBJMACROS
  5230. #define ADOStreamConstruction_QueryInterface(This,riid,ppvObject)    \
  5231.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5232. #define ADOStreamConstruction_AddRef(This)    \
  5233.     (This)->lpVtbl -> AddRef(This)
  5234. #define ADOStreamConstruction_Release(This)    \
  5235.     (This)->lpVtbl -> Release(This)
  5236. #define ADOStreamConstruction_GetTypeInfoCount(This,pctinfo)    \
  5237.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  5238. #define ADOStreamConstruction_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  5239.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  5240. #define ADOStreamConstruction_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  5241.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  5242. #define ADOStreamConstruction_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  5243.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  5244. #define ADOStreamConstruction_get_Stream(This,ppStm)    \
  5245.     (This)->lpVtbl -> get_Stream(This,ppStm)
  5246. #define ADOStreamConstruction_put_Stream(This,pStm)    \
  5247.     (This)->lpVtbl -> put_Stream(This,pStm)
  5248. #endif /* COBJMACROS */
  5249. #endif     /* C style interface */
  5250. /* [propget] */ HRESULT STDMETHODCALLTYPE ADOStreamConstruction_get_Stream_Proxy( 
  5251.     ADOStreamConstruction __RPC_FAR * This,
  5252.     /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppStm);
  5253. void __RPC_STUB ADOStreamConstruction_get_Stream_Stub(
  5254.     IRpcStubBuffer *This,
  5255.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5256.     PRPC_MESSAGE _pRpcMessage,
  5257.     DWORD *_pdwStubPhase);
  5258. /* [propput] */ HRESULT STDMETHODCALLTYPE ADOStreamConstruction_put_Stream_Proxy( 
  5259.     ADOStreamConstruction __RPC_FAR * This,
  5260.     /* [in] */ IUnknown __RPC_FAR *pStm);
  5261. void __RPC_STUB ADOStreamConstruction_put_Stream_Stub(
  5262.     IRpcStubBuffer *This,
  5263.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5264.     PRPC_MESSAGE _pRpcMessage,
  5265.     DWORD *_pdwStubPhase);
  5266. #endif     /* __ADOStreamConstruction_INTERFACE_DEFINED__ */
  5267. #ifndef __ADOCommandConstruction_INTERFACE_DEFINED__
  5268. #define __ADOCommandConstruction_INTERFACE_DEFINED__
  5269. /* interface ADOCommandConstruction */
  5270. /* [object][uuid][restricted] */ 
  5271. EXTERN_C const IID IID_ADOCommandConstruction;
  5272. #if defined(__cplusplus) && !defined(CINTERFACE)
  5273.     
  5274.     MIDL_INTERFACE("00000517-0000-0010-8000-00AA006D2EA4")
  5275.     ADOCommandConstruction : public IUnknown
  5276.     {
  5277.     public:
  5278.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OLEDBCommand( 
  5279.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppOLEDBCommand) = 0;
  5280.         
  5281.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_OLEDBCommand( 
  5282.             /* [in] */ IUnknown __RPC_FAR *pOLEDBCommand) = 0;
  5283.         
  5284.     };
  5285.     
  5286. #else     /* C style interface */
  5287.     typedef struct ADOCommandConstructionVtbl
  5288.     {
  5289.         BEGIN_INTERFACE
  5290.         
  5291.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5292.             ADOCommandConstruction __RPC_FAR * This,
  5293.             /* [in] */ REFIID riid,
  5294.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5295.         
  5296.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5297.             ADOCommandConstruction __RPC_FAR * This);
  5298.         
  5299.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5300.             ADOCommandConstruction __RPC_FAR * This);
  5301.         
  5302.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_OLEDBCommand )( 
  5303.             ADOCommandConstruction __RPC_FAR * This,
  5304.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppOLEDBCommand);
  5305.         
  5306.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_OLEDBCommand )( 
  5307.             ADOCommandConstruction __RPC_FAR * This,
  5308.             /* [in] */ IUnknown __RPC_FAR *pOLEDBCommand);
  5309.         
  5310.         END_INTERFACE
  5311.     } ADOCommandConstructionVtbl;
  5312.     interface ADOCommandConstruction
  5313.     {
  5314.         CONST_VTBL struct ADOCommandConstructionVtbl __RPC_FAR *lpVtbl;
  5315.     };
  5316.     
  5317. #ifdef COBJMACROS
  5318. #define ADOCommandConstruction_QueryInterface(This,riid,ppvObject)    \
  5319.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5320. #define ADOCommandConstruction_AddRef(This)    \
  5321.     (This)->lpVtbl -> AddRef(This)
  5322. #define ADOCommandConstruction_Release(This)    \
  5323.     (This)->lpVtbl -> Release(This)
  5324. #define ADOCommandConstruction_get_OLEDBCommand(This,ppOLEDBCommand)    \
  5325.     (This)->lpVtbl -> get_OLEDBCommand(This,ppOLEDBCommand)
  5326. #define ADOCommandConstruction_put_OLEDBCommand(This,pOLEDBCommand)    \
  5327.     (This)->lpVtbl -> put_OLEDBCommand(This,pOLEDBCommand)
  5328. #endif /* COBJMACROS */
  5329. #endif     /* C style interface */
  5330. /* [propget] */ HRESULT STDMETHODCALLTYPE ADOCommandConstruction_get_OLEDBCommand_Proxy( 
  5331.     ADOCommandConstruction __RPC_FAR * This,
  5332.     /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppOLEDBCommand);
  5333. void __RPC_STUB ADOCommandConstruction_get_OLEDBCommand_Stub(
  5334.     IRpcStubBuffer *This,
  5335.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5336.     PRPC_MESSAGE _pRpcMessage,
  5337.     DWORD *_pdwStubPhase);
  5338. /* [propput] */ HRESULT STDMETHODCALLTYPE ADOCommandConstruction_put_OLEDBCommand_Proxy( 
  5339.     ADOCommandConstruction __RPC_FAR * This,
  5340.     /* [in] */ IUnknown __RPC_FAR *pOLEDBCommand);
  5341. void __RPC_STUB ADOCommandConstruction_put_OLEDBCommand_Stub(
  5342.     IRpcStubBuffer *This,
  5343.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5344.     PRPC_MESSAGE _pRpcMessage,
  5345.     DWORD *_pdwStubPhase);
  5346. #endif     /* __ADOCommandConstruction_INTERFACE_DEFINED__ */
  5347. EXTERN_C const CLSID CLSID_Command;
  5348. #ifdef __cplusplus
  5349. Command;
  5350. #endif
  5351. EXTERN_C const CLSID CLSID_Recordset;
  5352. #ifdef __cplusplus
  5353. Recordset;
  5354. #endif
  5355. #ifndef __Recordset15_INTERFACE_DEFINED__
  5356. #define __Recordset15_INTERFACE_DEFINED__
  5357. /* interface Recordset15 */
  5358. /* [object][helpcontext][uuid][nonextensible][hidden][dual] */ 
  5359. EXTERN_C const IID IID_Recordset15;
  5360. #if defined(__cplusplus) && !defined(CINTERFACE)
  5361.     
  5362.     MIDL_INTERFACE("0000050E-0000-0010-8000-00AA006D2EA4")
  5363.     Recordset15 : public _ADO
  5364.     {
  5365.     public:
  5366.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_AbsolutePosition( 
  5367.             /* [retval][out] */ PositionEnum __RPC_FAR *pl) = 0;
  5368.         
  5369.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_AbsolutePosition( 
  5370.             /* [in] */ PositionEnum Position) = 0;
  5371.         
  5372.         virtual /* [helpcontext][propputref][id] */ HRESULT STDMETHODCALLTYPE putref_ActiveConnection( 
  5373.             /* [in] */ IDispatch __RPC_FAR *pconn) = 0;
  5374.         
  5375.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ActiveConnection( 
  5376.             /* [in] */ VARIANT vConn) = 0;
  5377.         
  5378.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActiveConnection( 
  5379.             /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
  5380.         
  5381.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_BOF( 
  5382.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb) = 0;
  5383.         
  5384.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Bookmark( 
  5385.             /* [retval][out] */ VARIANT __RPC_FAR *pvBookmark) = 0;
  5386.         
  5387.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Bookmark( 
  5388.             /* [in] */ VARIANT vBookmark) = 0;
  5389.         
  5390.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CacheSize( 
  5391.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  5392.         
  5393.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_CacheSize( 
  5394.             /* [in] */ long CacheSize) = 0;
  5395.         
  5396.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CursorType( 
  5397.             /* [retval][out] */ CursorTypeEnum __RPC_FAR *plCursorType) = 0;
  5398.         
  5399.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_CursorType( 
  5400.             /* [in] */ CursorTypeEnum lCursorType) = 0;
  5401.         
  5402.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_EOF( 
  5403.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb) = 0;
  5404.         
  5405.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Fields( 
  5406.             /* [retval][out] */ ADOFields __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  5407.         
  5408.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_LockType( 
  5409.             /* [retval][out] */ LockTypeEnum __RPC_FAR *plLockType) = 0;
  5410.         
  5411.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_LockType( 
  5412.             /* [in] */ LockTypeEnum lLockType) = 0;
  5413.         
  5414.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_MaxRecords( 
  5415.             /* [retval][out] */ long __RPC_FAR *plMaxRecords) = 0;
  5416.         
  5417.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_MaxRecords( 
  5418.             /* [in] */ long lMaxRecords) = 0;
  5419.         
  5420.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_RecordCount( 
  5421.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  5422.         
  5423.         virtual /* [helpcontext][propputref][id] */ HRESULT STDMETHODCALLTYPE putref_Source( 
  5424.             /* [in] */ IDispatch __RPC_FAR *pcmd) = 0;
  5425.         
  5426.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Source( 
  5427.             /* [in] */ BSTR bstrConn) = 0;
  5428.         
  5429.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Source( 
  5430.             /* [retval][out] */ VARIANT __RPC_FAR *pvSource) = 0;
  5431.         
  5432.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddNew( 
  5433.             /* [optional][in] */ VARIANT FieldList,
  5434.             /* [optional][in] */ VARIANT Values) = 0;
  5435.         
  5436.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CancelUpdate( void) = 0;
  5437.         
  5438.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
  5439.         
  5440.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( 
  5441.             /* [defaultvalue][in] */ AffectEnum AffectRecords = adAffectCurrent) = 0;
  5442.         
  5443.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetRows( 
  5444.             /* [defaultvalue][in] */ long Rows,
  5445.             /* [optional][in] */ VARIANT Start,
  5446.             /* [optional][in] */ VARIANT Fields,
  5447.             /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
  5448.         
  5449.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Move( 
  5450.             /* [in] */ long NumRecords,
  5451.             /* [optional][in] */ VARIANT Start) = 0;
  5452.         
  5453.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE MoveNext( void) = 0;
  5454.         
  5455.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE MovePrevious( void) = 0;
  5456.         
  5457.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE MoveFirst( void) = 0;
  5458.         
  5459.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE MoveLast( void) = 0;
  5460.         
  5461.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Open( 
  5462.             /* [optional][in] */ VARIANT Source,
  5463.             /* [optional][in] */ VARIANT ActiveConnection,
  5464.             /* [defaultvalue][in] */ CursorTypeEnum CursorType = adOpenUnspecified,
  5465.             /* [defaultvalue][in] */ LockTypeEnum LockType = adLockUnspecified,
  5466.             /* [defaultvalue][in] */ LONG Options = adCmdUnspecified) = 0;
  5467.         
  5468.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Requery( 
  5469.             /* [defaultvalue][in] */ LONG Options = adOptionUnspecified) = 0;
  5470.         
  5471.         virtual /* [hidden] */ HRESULT STDMETHODCALLTYPE _xResync( 
  5472.             /* [defaultvalue][in] */ AffectEnum AffectRecords = adAffectAll) = 0;
  5473.         
  5474.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Update( 
  5475.             /* [optional][in] */ VARIANT Fields,
  5476.             /* [optional][in] */ VARIANT Values) = 0;
  5477.         
  5478.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_AbsolutePage( 
  5479.             /* [retval][out] */ PositionEnum __RPC_FAR *pl) = 0;
  5480.         
  5481.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_AbsolutePage( 
  5482.             /* [in] */ PositionEnum Page) = 0;
  5483.         
  5484.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_EditMode( 
  5485.             /* [retval][out] */ EditModeEnum __RPC_FAR *pl) = 0;
  5486.         
  5487.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Filter( 
  5488.             /* [retval][out] */ VARIANT __RPC_FAR *Criteria) = 0;
  5489.         
  5490.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Filter( 
  5491.             /* [in] */ VARIANT Criteria) = 0;
  5492.         
  5493.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PageCount( 
  5494.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  5495.         
  5496.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PageSize( 
  5497.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  5498.         
  5499.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_PageSize( 
  5500.             /* [in] */ long PageSize) = 0;
  5501.         
  5502.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Sort( 
  5503.             /* [retval][out] */ BSTR __RPC_FAR *Criteria) = 0;
  5504.         
  5505.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Sort( 
  5506.             /* [in] */ BSTR Criteria) = 0;
  5507.         
  5508.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Status( 
  5509.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  5510.         
  5511.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_State( 
  5512.             /* [retval][out] */ LONG __RPC_FAR *plObjState) = 0;
  5513.         
  5514.         virtual /* [hidden] */ HRESULT STDMETHODCALLTYPE _xClone( 
  5515.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  5516.         
  5517.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE UpdateBatch( 
  5518.             /* [defaultvalue][in] */ AffectEnum AffectRecords = adAffectAll) = 0;
  5519.         
  5520.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CancelBatch( 
  5521.             /* [defaultvalue][in] */ AffectEnum AffectRecords = adAffectAll) = 0;
  5522.         
  5523.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CursorLocation( 
  5524.             /* [retval][out] */ CursorLocationEnum __RPC_FAR *plCursorLoc) = 0;
  5525.         
  5526.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_CursorLocation( 
  5527.             /* [in] */ CursorLocationEnum lCursorLoc) = 0;
  5528.         
  5529.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE NextRecordset( 
  5530.             /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  5531.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppiRs) = 0;
  5532.         
  5533.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Supports( 
  5534.             /* [in] */ CursorOptionEnum CursorOptions,
  5535.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb) = 0;
  5536.         
  5537.         virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_Collect( 
  5538.             /* [in] */ VARIANT Index,
  5539.             /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
  5540.         
  5541.         virtual /* [hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_Collect( 
  5542.             /* [in] */ VARIANT Index,
  5543.             /* [in] */ VARIANT value) = 0;
  5544.         
  5545.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_MarshalOptions( 
  5546.             /* [retval][out] */ MarshalOptionsEnum __RPC_FAR *peMarshal) = 0;
  5547.         
  5548.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_MarshalOptions( 
  5549.             /* [in] */ MarshalOptionsEnum eMarshal) = 0;
  5550.         
  5551.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Find( 
  5552.             /* [in] */ BSTR Criteria,
  5553.             /* [defaultvalue][in] */ LONG SkipRecords,
  5554.             /* [defaultvalue][in] */ SearchDirectionEnum SearchDirection,
  5555.             /* [optional][in] */ VARIANT Start) = 0;
  5556.         
  5557.     };
  5558.     
  5559. #else     /* C style interface */
  5560.     typedef struct Recordset15Vtbl
  5561.     {
  5562.         BEGIN_INTERFACE
  5563.         
  5564.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5565.             Recordset15 __RPC_FAR * This,
  5566.             /* [in] */ REFIID riid,
  5567.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5568.         
  5569.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5570.             Recordset15 __RPC_FAR * This);
  5571.         
  5572.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5573.             Recordset15 __RPC_FAR * This);
  5574.         
  5575.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  5576.             Recordset15 __RPC_FAR * This,
  5577.             /* [out] */ UINT __RPC_FAR *pctinfo);
  5578.         
  5579.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  5580.             Recordset15 __RPC_FAR * This,
  5581.             /* [in] */ UINT iTInfo,
  5582.             /* [in] */ LCID lcid,
  5583.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  5584.         
  5585.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  5586.             Recordset15 __RPC_FAR * This,
  5587.             /* [in] */ REFIID riid,
  5588.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  5589.             /* [in] */ UINT cNames,
  5590.             /* [in] */ LCID lcid,
  5591.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  5592.         
  5593.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  5594.             Recordset15 __RPC_FAR * This,
  5595.             /* [in] */ DISPID dispIdMember,
  5596.             /* [in] */ REFIID riid,
  5597.             /* [in] */ LCID lcid,
  5598.             /* [in] */ WORD wFlags,
  5599.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  5600.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  5601.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  5602.             /* [out] */ UINT __RPC_FAR *puArgErr);
  5603.         
  5604.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Properties )( 
  5605.             Recordset15 __RPC_FAR * This,
  5606.             /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject);
  5607.         
  5608.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AbsolutePosition )( 
  5609.             Recordset15 __RPC_FAR * This,
  5610.             /* [retval][out] */ PositionEnum __RPC_FAR *pl);
  5611.         
  5612.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AbsolutePosition )( 
  5613.             Recordset15 __RPC_FAR * This,
  5614.             /* [in] */ PositionEnum Position);
  5615.         
  5616.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_ActiveADOConnection )( 
  5617.             Recordset15 __RPC_FAR * This,
  5618.             /* [in] */ IDispatch __RPC_FAR *pconn);
  5619.         
  5620.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ActiveConnection )( 
  5621.             Recordset15 __RPC_FAR * This,
  5622.             /* [in] */ VARIANT vConn);
  5623.         
  5624.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveConnection )( 
  5625.             Recordset15 __RPC_FAR * This,
  5626.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  5627.         
  5628.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_BOF )( 
  5629.             Recordset15 __RPC_FAR * This,
  5630.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  5631.         
  5632.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Bookmark )( 
  5633.             Recordset15 __RPC_FAR * This,
  5634.             /* [retval][out] */ VARIANT __RPC_FAR *pvBookmark);
  5635.         
  5636.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Bookmark )( 
  5637.             Recordset15 __RPC_FAR * This,
  5638.             /* [in] */ VARIANT vBookmark);
  5639.         
  5640.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CacheSize )( 
  5641.             Recordset15 __RPC_FAR * This,
  5642.             /* [retval][out] */ long __RPC_FAR *pl);
  5643.         
  5644.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CacheSize )( 
  5645.             Recordset15 __RPC_FAR * This,
  5646.             /* [in] */ long CacheSize);
  5647.         
  5648.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CursorType )( 
  5649.             Recordset15 __RPC_FAR * This,
  5650.             /* [retval][out] */ CursorTypeEnum __RPC_FAR *plCursorType);
  5651.         
  5652.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CursorType )( 
  5653.             Recordset15 __RPC_FAR * This,
  5654.             /* [in] */ CursorTypeEnum lCursorType);
  5655.         
  5656.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EOF )( 
  5657.             Recordset15 __RPC_FAR * This,
  5658.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  5659.         
  5660.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Fields )( 
  5661.             Recordset15 __RPC_FAR * This,
  5662.             /* [retval][out] */ ADOFields __RPC_FAR *__RPC_FAR *ppvObject);
  5663.         
  5664.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LockType )( 
  5665.             Recordset15 __RPC_FAR * This,
  5666.             /* [retval][out] */ LockTypeEnum __RPC_FAR *plLockType);
  5667.         
  5668.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LockType )( 
  5669.             Recordset15 __RPC_FAR * This,
  5670.             /* [in] */ LockTypeEnum lLockType);
  5671.         
  5672.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MaxRecords )( 
  5673.             Recordset15 __RPC_FAR * This,
  5674.             /* [retval][out] */ long __RPC_FAR *plMaxRecords);
  5675.         
  5676.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MaxRecords )( 
  5677.             Recordset15 __RPC_FAR * This,
  5678.             /* [in] */ long lMaxRecords);
  5679.         
  5680.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RecordCount )( 
  5681.             Recordset15 __RPC_FAR * This,
  5682.             /* [retval][out] */ long __RPC_FAR *pl);
  5683.         
  5684.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_Source )( 
  5685.             Recordset15 __RPC_FAR * This,
  5686.             /* [in] */ IDispatch __RPC_FAR *pcmd);
  5687.         
  5688.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Source )( 
  5689.             Recordset15 __RPC_FAR * This,
  5690.             /* [in] */ BSTR bstrConn);
  5691.         
  5692.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Source )( 
  5693.             Recordset15 __RPC_FAR * This,
  5694.             /* [retval][out] */ VARIANT __RPC_FAR *pvSource);
  5695.         
  5696.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddNew )( 
  5697.             Recordset15 __RPC_FAR * This,
  5698.             /* [optional][in] */ VARIANT FieldList,
  5699.             /* [optional][in] */ VARIANT Values);
  5700.         
  5701.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelUpdate )( 
  5702.             Recordset15 __RPC_FAR * This);
  5703.         
  5704.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )( 
  5705.             Recordset15 __RPC_FAR * This);
  5706.         
  5707.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
  5708.             Recordset15 __RPC_FAR * This,
  5709.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  5710.         
  5711.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRows )( 
  5712.             Recordset15 __RPC_FAR * This,
  5713.             /* [defaultvalue][in] */ long Rows,
  5714.             /* [optional][in] */ VARIANT Start,
  5715.             /* [optional][in] */ VARIANT Fields,
  5716.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  5717.         
  5718.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
  5719.             Recordset15 __RPC_FAR * This,
  5720.             /* [in] */ long NumRecords,
  5721.             /* [optional][in] */ VARIANT Start);
  5722.         
  5723.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveNext )( 
  5724.             Recordset15 __RPC_FAR * This);
  5725.         
  5726.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MovePrevious )( 
  5727.             Recordset15 __RPC_FAR * This);
  5728.         
  5729.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveFirst )( 
  5730.             Recordset15 __RPC_FAR * This);
  5731.         
  5732.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveLast )( 
  5733.             Recordset15 __RPC_FAR * This);
  5734.         
  5735.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )( 
  5736.             Recordset15 __RPC_FAR * This,
  5737.             /* [optional][in] */ VARIANT Source,
  5738.             /* [optional][in] */ VARIANT ActiveConnection,
  5739.             /* [defaultvalue][in] */ CursorTypeEnum CursorType,
  5740.             /* [defaultvalue][in] */ LockTypeEnum LockType,
  5741.             /* [defaultvalue][in] */ LONG Options);
  5742.         
  5743.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Requery )( 
  5744.             Recordset15 __RPC_FAR * This,
  5745.             /* [defaultvalue][in] */ LONG Options);
  5746.         
  5747.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_xResync )( 
  5748.             Recordset15 __RPC_FAR * This,
  5749.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  5750.         
  5751.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
  5752.             Recordset15 __RPC_FAR * This,
  5753.             /* [optional][in] */ VARIANT Fields,
  5754.             /* [optional][in] */ VARIANT Values);
  5755.         
  5756.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AbsolutePage )( 
  5757.             Recordset15 __RPC_FAR * This,
  5758.             /* [retval][out] */ PositionEnum __RPC_FAR *pl);
  5759.         
  5760.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AbsolutePage )( 
  5761.             Recordset15 __RPC_FAR * This,
  5762.             /* [in] */ PositionEnum Page);
  5763.         
  5764.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EditMode )( 
  5765.             Recordset15 __RPC_FAR * This,
  5766.             /* [retval][out] */ EditModeEnum __RPC_FAR *pl);
  5767.         
  5768.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Filter )( 
  5769.             Recordset15 __RPC_FAR * This,
  5770.             /* [retval][out] */ VARIANT __RPC_FAR *Criteria);
  5771.         
  5772.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Filter )( 
  5773.             Recordset15 __RPC_FAR * This,
  5774.             /* [in] */ VARIANT Criteria);
  5775.         
  5776.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PageCount )( 
  5777.             Recordset15 __RPC_FAR * This,
  5778.             /* [retval][out] */ long __RPC_FAR *pl);
  5779.         
  5780.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PageSize )( 
  5781.             Recordset15 __RPC_FAR * This,
  5782.             /* [retval][out] */ long __RPC_FAR *pl);
  5783.         
  5784.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PageSize )( 
  5785.             Recordset15 __RPC_FAR * This,
  5786.             /* [in] */ long PageSize);
  5787.         
  5788.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Sort )( 
  5789.             Recordset15 __RPC_FAR * This,
  5790.             /* [retval][out] */ BSTR __RPC_FAR *Criteria);
  5791.         
  5792.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Sort )( 
  5793.             Recordset15 __RPC_FAR * This,
  5794.             /* [in] */ BSTR Criteria);
  5795.         
  5796.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Status )( 
  5797.             Recordset15 __RPC_FAR * This,
  5798.             /* [retval][out] */ long __RPC_FAR *pl);
  5799.         
  5800.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_State )( 
  5801.             Recordset15 __RPC_FAR * This,
  5802.             /* [retval][out] */ LONG __RPC_FAR *plObjState);
  5803.         
  5804.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_xClone )( 
  5805.             Recordset15 __RPC_FAR * This,
  5806.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppvObject);
  5807.         
  5808.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UpdateBatch )( 
  5809.             Recordset15 __RPC_FAR * This,
  5810.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  5811.         
  5812.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelBatch )( 
  5813.             Recordset15 __RPC_FAR * This,
  5814.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  5815.         
  5816.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CursorLocation )( 
  5817.             Recordset15 __RPC_FAR * This,
  5818.             /* [retval][out] */ CursorLocationEnum __RPC_FAR *plCursorLoc);
  5819.         
  5820.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CursorLocation )( 
  5821.             Recordset15 __RPC_FAR * This,
  5822.             /* [in] */ CursorLocationEnum lCursorLoc);
  5823.         
  5824.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NextADORecordset )( 
  5825.             Recordset15 __RPC_FAR * This,
  5826.             /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  5827.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppiRs);
  5828.         
  5829.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Supports )( 
  5830.             Recordset15 __RPC_FAR * This,
  5831.             /* [in] */ CursorOptionEnum CursorOptions,
  5832.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  5833.         
  5834.         /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Collect )( 
  5835.             Recordset15 __RPC_FAR * This,
  5836.             /* [in] */ VARIANT Index,
  5837.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  5838.         
  5839.         /* [hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Collect )( 
  5840.             Recordset15 __RPC_FAR * This,
  5841.             /* [in] */ VARIANT Index,
  5842.             /* [in] */ VARIANT value);
  5843.         
  5844.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MarshalOptions )( 
  5845.             Recordset15 __RPC_FAR * This,
  5846.             /* [retval][out] */ MarshalOptionsEnum __RPC_FAR *peMarshal);
  5847.         
  5848.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MarshalOptions )( 
  5849.             Recordset15 __RPC_FAR * This,
  5850.             /* [in] */ MarshalOptionsEnum eMarshal);
  5851.         
  5852.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Find )( 
  5853.             Recordset15 __RPC_FAR * This,
  5854.             /* [in] */ BSTR Criteria,
  5855.             /* [defaultvalue][in] */ LONG SkipRecords,
  5856.             /* [defaultvalue][in] */ SearchDirectionEnum SearchDirection,
  5857.             /* [optional][in] */ VARIANT Start);
  5858.         
  5859.         END_INTERFACE
  5860.     } Recordset15Vtbl;
  5861.     interface Recordset15
  5862.     {
  5863.         CONST_VTBL struct Recordset15Vtbl __RPC_FAR *lpVtbl;
  5864.     };
  5865.     
  5866. #ifdef COBJMACROS
  5867. #define Recordset15_QueryInterface(This,riid,ppvObject)    \
  5868.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5869. #define Recordset15_AddRef(This)    \
  5870.     (This)->lpVtbl -> AddRef(This)
  5871. #define Recordset15_Release(This)    \
  5872.     (This)->lpVtbl -> Release(This)
  5873. #define Recordset15_GetTypeInfoCount(This,pctinfo)    \
  5874.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  5875. #define Recordset15_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  5876.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  5877. #define Recordset15_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  5878.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  5879. #define Recordset15_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  5880.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  5881. #define Recordset15_get_Properties(This,ppvObject)    \
  5882.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  5883. #define Recordset15_get_AbsolutePosition(This,pl)    \
  5884.     (This)->lpVtbl -> get_AbsolutePosition(This,pl)
  5885. #define Recordset15_put_AbsolutePosition(This,Position)    \
  5886.     (This)->lpVtbl -> put_AbsolutePosition(This,Position)
  5887. #define Recordset15_putref_ActiveConnection(This,pconn)    \
  5888.     (This)->lpVtbl -> putref_ActiveConnection(This,pconn)
  5889. #define Recordset15_put_ActiveConnection(This,vConn)    \
  5890.     (This)->lpVtbl -> put_ActiveConnection(This,vConn)
  5891. #define Recordset15_get_ActiveConnection(This,pvar)    \
  5892.     (This)->lpVtbl -> get_ActiveConnection(This,pvar)
  5893. #define Recordset15_get_BOF(This,pb)    \
  5894.     (This)->lpVtbl -> get_BOF(This,pb)
  5895. #define Recordset15_get_Bookmark(This,pvBookmark)    \
  5896.     (This)->lpVtbl -> get_Bookmark(This,pvBookmark)
  5897. #define Recordset15_put_Bookmark(This,vBookmark)    \
  5898.     (This)->lpVtbl -> put_Bookmark(This,vBookmark)
  5899. #define Recordset15_get_CacheSize(This,pl)    \
  5900.     (This)->lpVtbl -> get_CacheSize(This,pl)
  5901. #define Recordset15_put_CacheSize(This,CacheSize)    \
  5902.     (This)->lpVtbl -> put_CacheSize(This,CacheSize)
  5903. #define Recordset15_get_CursorType(This,plCursorType)    \
  5904.     (This)->lpVtbl -> get_CursorType(This,plCursorType)
  5905. #define Recordset15_put_CursorType(This,lCursorType)    \
  5906.     (This)->lpVtbl -> put_CursorType(This,lCursorType)
  5907. #define Recordset15_get_EOF(This,pb)    \
  5908.     (This)->lpVtbl -> get_EOF(This,pb)
  5909. #define Recordset15_get_Fields(This,ppvObject)    \
  5910.     (This)->lpVtbl -> get_Fields(This,ppvObject)
  5911. #define Recordset15_get_LockType(This,plLockType)    \
  5912.     (This)->lpVtbl -> get_LockType(This,plLockType)
  5913. #define Recordset15_put_LockType(This,lLockType)    \
  5914.     (This)->lpVtbl -> put_LockType(This,lLockType)
  5915. #define Recordset15_get_MaxRecords(This,plMaxRecords)    \
  5916.     (This)->lpVtbl -> get_MaxRecords(This,plMaxRecords)
  5917. #define Recordset15_put_MaxRecords(This,lMaxRecords)    \
  5918.     (This)->lpVtbl -> put_MaxRecords(This,lMaxRecords)
  5919. #define Recordset15_get_RecordCount(This,pl)    \
  5920.     (This)->lpVtbl -> get_RecordCount(This,pl)
  5921. #define Recordset15_putref_Source(This,pcmd)    \
  5922.     (This)->lpVtbl -> putref_Source(This,pcmd)
  5923. #define Recordset15_put_Source(This,bstrConn)    \
  5924.     (This)->lpVtbl -> put_Source(This,bstrConn)
  5925. #define Recordset15_get_Source(This,pvSource)    \
  5926.     (This)->lpVtbl -> get_Source(This,pvSource)
  5927. #define Recordset15_AddNew(This,FieldList,Values)    \
  5928.     (This)->lpVtbl -> AddNew(This,FieldList,Values)
  5929. #define Recordset15_CancelUpdate(This)    \
  5930.     (This)->lpVtbl -> CancelUpdate(This)
  5931. #define Recordset15_Close(This)    \
  5932.     (This)->lpVtbl -> Close(This)
  5933. #define Recordset15_Delete(This,AffectRecords)    \
  5934.     (This)->lpVtbl -> Delete(This,AffectRecords)
  5935. #define Recordset15_GetRows(This,Rows,Start,Fields,pvar)    \
  5936.     (This)->lpVtbl -> GetRows(This,Rows,Start,Fields,pvar)
  5937. #define Recordset15_Move(This,NumRecords,Start)    \
  5938.     (This)->lpVtbl -> Move(This,NumRecords,Start)
  5939. #define Recordset15_MoveNext(This)    \
  5940.     (This)->lpVtbl -> MoveNext(This)
  5941. #define Recordset15_MovePrevious(This)    \
  5942.     (This)->lpVtbl -> MovePrevious(This)
  5943. #define Recordset15_MoveFirst(This)    \
  5944.     (This)->lpVtbl -> MoveFirst(This)
  5945. #define Recordset15_MoveLast(This)    \
  5946.     (This)->lpVtbl -> MoveLast(This)
  5947. #define Recordset15_Open(This,Source,ActiveConnection,CursorType,LockType,Options)    \
  5948.     (This)->lpVtbl -> Open(This,Source,ActiveConnection,CursorType,LockType,Options)
  5949. #define Recordset15_Requery(This,Options)    \
  5950.     (This)->lpVtbl -> Requery(This,Options)
  5951. #define Recordset15__xResync(This,AffectRecords)    \
  5952.     (This)->lpVtbl -> _xResync(This,AffectRecords)
  5953. #define Recordset15_Update(This,Fields,Values)    \
  5954.     (This)->lpVtbl -> Update(This,Fields,Values)
  5955. #define Recordset15_get_AbsolutePage(This,pl)    \
  5956.     (This)->lpVtbl -> get_AbsolutePage(This,pl)
  5957. #define Recordset15_put_AbsolutePage(This,Page)    \
  5958.     (This)->lpVtbl -> put_AbsolutePage(This,Page)
  5959. #define Recordset15_get_EditMode(This,pl)    \
  5960.     (This)->lpVtbl -> get_EditMode(This,pl)
  5961. #define Recordset15_get_Filter(This,Criteria)    \
  5962.     (This)->lpVtbl -> get_Filter(This,Criteria)
  5963. #define Recordset15_put_Filter(This,Criteria)    \
  5964.     (This)->lpVtbl -> put_Filter(This,Criteria)
  5965. #define Recordset15_get_PageCount(This,pl)    \
  5966.     (This)->lpVtbl -> get_PageCount(This,pl)
  5967. #define Recordset15_get_PageSize(This,pl)    \
  5968.     (This)->lpVtbl -> get_PageSize(This,pl)
  5969. #define Recordset15_put_PageSize(This,PageSize)    \
  5970.     (This)->lpVtbl -> put_PageSize(This,PageSize)
  5971. #define Recordset15_get_Sort(This,Criteria)    \
  5972.     (This)->lpVtbl -> get_Sort(This,Criteria)
  5973. #define Recordset15_put_Sort(This,Criteria)    \
  5974.     (This)->lpVtbl -> put_Sort(This,Criteria)
  5975. #define Recordset15_get_Status(This,pl)    \
  5976.     (This)->lpVtbl -> get_Status(This,pl)
  5977. #define Recordset15_get_State(This,plObjState)    \
  5978.     (This)->lpVtbl -> get_State(This,plObjState)
  5979. #define Recordset15__xClone(This,ppvObject)    \
  5980.     (This)->lpVtbl -> _xClone(This,ppvObject)
  5981. #define Recordset15_UpdateBatch(This,AffectRecords)    \
  5982.     (This)->lpVtbl -> UpdateBatch(This,AffectRecords)
  5983. #define Recordset15_CancelBatch(This,AffectRecords)    \
  5984.     (This)->lpVtbl -> CancelBatch(This,AffectRecords)
  5985. #define Recordset15_get_CursorLocation(This,plCursorLoc)    \
  5986.     (This)->lpVtbl -> get_CursorLocation(This,plCursorLoc)
  5987. #define Recordset15_put_CursorLocation(This,lCursorLoc)    \
  5988.     (This)->lpVtbl -> put_CursorLocation(This,lCursorLoc)
  5989. #define Recordset15_NextRecordset(This,RecordsAffected,ppiRs)    \
  5990.     (This)->lpVtbl -> NextRecordset(This,RecordsAffected,ppiRs)
  5991. #define Recordset15_Supports(This,CursorOptions,pb)    \
  5992.     (This)->lpVtbl -> Supports(This,CursorOptions,pb)
  5993. #define Recordset15_get_Collect(This,Index,pvar)    \
  5994.     (This)->lpVtbl -> get_Collect(This,Index,pvar)
  5995. #define Recordset15_put_Collect(This,Index,value)    \
  5996.     (This)->lpVtbl -> put_Collect(This,Index,value)
  5997. #define Recordset15_get_MarshalOptions(This,peMarshal)    \
  5998.     (This)->lpVtbl -> get_MarshalOptions(This,peMarshal)
  5999. #define Recordset15_put_MarshalOptions(This,eMarshal)    \
  6000.     (This)->lpVtbl -> put_MarshalOptions(This,eMarshal)
  6001. #define Recordset15_Find(This,Criteria,SkipRecords,SearchDirection,Start)    \
  6002.     (This)->lpVtbl -> Find(This,Criteria,SkipRecords,SearchDirection,Start)
  6003. #endif /* COBJMACROS */
  6004. #endif     /* C style interface */
  6005. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_AbsolutePosition_Proxy( 
  6006.     Recordset15 __RPC_FAR * This,
  6007.     /* [retval][out] */ PositionEnum __RPC_FAR *pl);
  6008. void __RPC_STUB Recordset15_get_AbsolutePosition_Stub(
  6009.     IRpcStubBuffer *This,
  6010.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6011.     PRPC_MESSAGE _pRpcMessage,
  6012.     DWORD *_pdwStubPhase);
  6013. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_AbsolutePosition_Proxy( 
  6014.     Recordset15 __RPC_FAR * This,
  6015.     /* [in] */ PositionEnum Position);
  6016. void __RPC_STUB Recordset15_put_AbsolutePosition_Stub(
  6017.     IRpcStubBuffer *This,
  6018.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6019.     PRPC_MESSAGE _pRpcMessage,
  6020.     DWORD *_pdwStubPhase);
  6021. /* [helpcontext][propputref][id] */ HRESULT STDMETHODCALLTYPE Recordset15_putref_ActiveConnection_Proxy( 
  6022.     Recordset15 __RPC_FAR * This,
  6023.     /* [in] */ IDispatch __RPC_FAR *pconn);
  6024. void __RPC_STUB Recordset15_putref_ActiveConnection_Stub(
  6025.     IRpcStubBuffer *This,
  6026.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6027.     PRPC_MESSAGE _pRpcMessage,
  6028.     DWORD *_pdwStubPhase);
  6029. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_ActiveConnection_Proxy( 
  6030.     Recordset15 __RPC_FAR * This,
  6031.     /* [in] */ VARIANT vConn);
  6032. void __RPC_STUB Recordset15_put_ActiveConnection_Stub(
  6033.     IRpcStubBuffer *This,
  6034.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6035.     PRPC_MESSAGE _pRpcMessage,
  6036.     DWORD *_pdwStubPhase);
  6037. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_ActiveConnection_Proxy( 
  6038.     Recordset15 __RPC_FAR * This,
  6039.     /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  6040. void __RPC_STUB Recordset15_get_ActiveConnection_Stub(
  6041.     IRpcStubBuffer *This,
  6042.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6043.     PRPC_MESSAGE _pRpcMessage,
  6044.     DWORD *_pdwStubPhase);
  6045. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_BOF_Proxy( 
  6046.     Recordset15 __RPC_FAR * This,
  6047.     /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  6048. void __RPC_STUB Recordset15_get_BOF_Stub(
  6049.     IRpcStubBuffer *This,
  6050.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6051.     PRPC_MESSAGE _pRpcMessage,
  6052.     DWORD *_pdwStubPhase);
  6053. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_Bookmark_Proxy( 
  6054.     Recordset15 __RPC_FAR * This,
  6055.     /* [retval][out] */ VARIANT __RPC_FAR *pvBookmark);
  6056. void __RPC_STUB Recordset15_get_Bookmark_Stub(
  6057.     IRpcStubBuffer *This,
  6058.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6059.     PRPC_MESSAGE _pRpcMessage,
  6060.     DWORD *_pdwStubPhase);
  6061. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_Bookmark_Proxy( 
  6062.     Recordset15 __RPC_FAR * This,
  6063.     /* [in] */ VARIANT vBookmark);
  6064. void __RPC_STUB Recordset15_put_Bookmark_Stub(
  6065.     IRpcStubBuffer *This,
  6066.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6067.     PRPC_MESSAGE _pRpcMessage,
  6068.     DWORD *_pdwStubPhase);
  6069. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_CacheSize_Proxy( 
  6070.     Recordset15 __RPC_FAR * This,
  6071.     /* [retval][out] */ long __RPC_FAR *pl);
  6072. void __RPC_STUB Recordset15_get_CacheSize_Stub(
  6073.     IRpcStubBuffer *This,
  6074.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6075.     PRPC_MESSAGE _pRpcMessage,
  6076.     DWORD *_pdwStubPhase);
  6077. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_CacheSize_Proxy( 
  6078.     Recordset15 __RPC_FAR * This,
  6079.     /* [in] */ long CacheSize);
  6080. void __RPC_STUB Recordset15_put_CacheSize_Stub(
  6081.     IRpcStubBuffer *This,
  6082.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6083.     PRPC_MESSAGE _pRpcMessage,
  6084.     DWORD *_pdwStubPhase);
  6085. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_CursorType_Proxy( 
  6086.     Recordset15 __RPC_FAR * This,
  6087.     /* [retval][out] */ CursorTypeEnum __RPC_FAR *plCursorType);
  6088. void __RPC_STUB Recordset15_get_CursorType_Stub(
  6089.     IRpcStubBuffer *This,
  6090.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6091.     PRPC_MESSAGE _pRpcMessage,
  6092.     DWORD *_pdwStubPhase);
  6093. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_CursorType_Proxy( 
  6094.     Recordset15 __RPC_FAR * This,
  6095.     /* [in] */ CursorTypeEnum lCursorType);
  6096. void __RPC_STUB Recordset15_put_CursorType_Stub(
  6097.     IRpcStubBuffer *This,
  6098.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6099.     PRPC_MESSAGE _pRpcMessage,
  6100.     DWORD *_pdwStubPhase);
  6101. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_EOF_Proxy( 
  6102.     Recordset15 __RPC_FAR * This,
  6103.     /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  6104. void __RPC_STUB Recordset15_get_EOF_Stub(
  6105.     IRpcStubBuffer *This,
  6106.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6107.     PRPC_MESSAGE _pRpcMessage,
  6108.     DWORD *_pdwStubPhase);
  6109. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_Fields_Proxy( 
  6110.     Recordset15 __RPC_FAR * This,
  6111.     /* [retval][out] */ ADOFields __RPC_FAR *__RPC_FAR *ppvObject);
  6112. void __RPC_STUB Recordset15_get_Fields_Stub(
  6113.     IRpcStubBuffer *This,
  6114.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6115.     PRPC_MESSAGE _pRpcMessage,
  6116.     DWORD *_pdwStubPhase);
  6117. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_LockType_Proxy( 
  6118.     Recordset15 __RPC_FAR * This,
  6119.     /* [retval][out] */ LockTypeEnum __RPC_FAR *plLockType);
  6120. void __RPC_STUB Recordset15_get_LockType_Stub(
  6121.     IRpcStubBuffer *This,
  6122.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6123.     PRPC_MESSAGE _pRpcMessage,
  6124.     DWORD *_pdwStubPhase);
  6125. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_LockType_Proxy( 
  6126.     Recordset15 __RPC_FAR * This,
  6127.     /* [in] */ LockTypeEnum lLockType);
  6128. void __RPC_STUB Recordset15_put_LockType_Stub(
  6129.     IRpcStubBuffer *This,
  6130.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6131.     PRPC_MESSAGE _pRpcMessage,
  6132.     DWORD *_pdwStubPhase);
  6133. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_MaxRecords_Proxy( 
  6134.     Recordset15 __RPC_FAR * This,
  6135.     /* [retval][out] */ long __RPC_FAR *plMaxRecords);
  6136. void __RPC_STUB Recordset15_get_MaxRecords_Stub(
  6137.     IRpcStubBuffer *This,
  6138.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6139.     PRPC_MESSAGE _pRpcMessage,
  6140.     DWORD *_pdwStubPhase);
  6141. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_MaxRecords_Proxy( 
  6142.     Recordset15 __RPC_FAR * This,
  6143.     /* [in] */ long lMaxRecords);
  6144. void __RPC_STUB Recordset15_put_MaxRecords_Stub(
  6145.     IRpcStubBuffer *This,
  6146.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6147.     PRPC_MESSAGE _pRpcMessage,
  6148.     DWORD *_pdwStubPhase);
  6149. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_RecordCount_Proxy( 
  6150.     Recordset15 __RPC_FAR * This,
  6151.     /* [retval][out] */ long __RPC_FAR *pl);
  6152. void __RPC_STUB Recordset15_get_RecordCount_Stub(
  6153.     IRpcStubBuffer *This,
  6154.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6155.     PRPC_MESSAGE _pRpcMessage,
  6156.     DWORD *_pdwStubPhase);
  6157. /* [helpcontext][propputref][id] */ HRESULT STDMETHODCALLTYPE Recordset15_putref_Source_Proxy( 
  6158.     Recordset15 __RPC_FAR * This,
  6159.     /* [in] */ IDispatch __RPC_FAR *pcmd);
  6160. void __RPC_STUB Recordset15_putref_Source_Stub(
  6161.     IRpcStubBuffer *This,
  6162.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6163.     PRPC_MESSAGE _pRpcMessage,
  6164.     DWORD *_pdwStubPhase);
  6165. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_Source_Proxy( 
  6166.     Recordset15 __RPC_FAR * This,
  6167.     /* [in] */ BSTR bstrConn);
  6168. void __RPC_STUB Recordset15_put_Source_Stub(
  6169.     IRpcStubBuffer *This,
  6170.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6171.     PRPC_MESSAGE _pRpcMessage,
  6172.     DWORD *_pdwStubPhase);
  6173. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_Source_Proxy( 
  6174.     Recordset15 __RPC_FAR * This,
  6175.     /* [retval][out] */ VARIANT __RPC_FAR *pvSource);
  6176. void __RPC_STUB Recordset15_get_Source_Stub(
  6177.     IRpcStubBuffer *This,
  6178.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6179.     PRPC_MESSAGE _pRpcMessage,
  6180.     DWORD *_pdwStubPhase);
  6181. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_AddNew_Proxy( 
  6182.     Recordset15 __RPC_FAR * This,
  6183.     /* [optional][in] */ VARIANT FieldList,
  6184.     /* [optional][in] */ VARIANT Values);
  6185. void __RPC_STUB Recordset15_AddNew_Stub(
  6186.     IRpcStubBuffer *This,
  6187.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6188.     PRPC_MESSAGE _pRpcMessage,
  6189.     DWORD *_pdwStubPhase);
  6190. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_CancelUpdate_Proxy( 
  6191.     Recordset15 __RPC_FAR * This);
  6192. void __RPC_STUB Recordset15_CancelUpdate_Stub(
  6193.     IRpcStubBuffer *This,
  6194.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6195.     PRPC_MESSAGE _pRpcMessage,
  6196.     DWORD *_pdwStubPhase);
  6197. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_Close_Proxy( 
  6198.     Recordset15 __RPC_FAR * This);
  6199. void __RPC_STUB Recordset15_Close_Stub(
  6200.     IRpcStubBuffer *This,
  6201.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6202.     PRPC_MESSAGE _pRpcMessage,
  6203.     DWORD *_pdwStubPhase);
  6204. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_Delete_Proxy( 
  6205.     Recordset15 __RPC_FAR * This,
  6206.     /* [defaultvalue][in] */ AffectEnum AffectRecords);
  6207. void __RPC_STUB Recordset15_Delete_Stub(
  6208.     IRpcStubBuffer *This,
  6209.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6210.     PRPC_MESSAGE _pRpcMessage,
  6211.     DWORD *_pdwStubPhase);
  6212. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_GetRows_Proxy( 
  6213.     Recordset15 __RPC_FAR * This,
  6214.     /* [defaultvalue][in] */ long Rows,
  6215.     /* [optional][in] */ VARIANT Start,
  6216.     /* [optional][in] */ VARIANT Fields,
  6217.     /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  6218. void __RPC_STUB Recordset15_GetRows_Stub(
  6219.     IRpcStubBuffer *This,
  6220.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6221.     PRPC_MESSAGE _pRpcMessage,
  6222.     DWORD *_pdwStubPhase);
  6223. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_Move_Proxy( 
  6224.     Recordset15 __RPC_FAR * This,
  6225.     /* [in] */ long NumRecords,
  6226.     /* [optional][in] */ VARIANT Start);
  6227. void __RPC_STUB Recordset15_Move_Stub(
  6228.     IRpcStubBuffer *This,
  6229.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6230.     PRPC_MESSAGE _pRpcMessage,
  6231.     DWORD *_pdwStubPhase);
  6232. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_MoveNext_Proxy( 
  6233.     Recordset15 __RPC_FAR * This);
  6234. void __RPC_STUB Recordset15_MoveNext_Stub(
  6235.     IRpcStubBuffer *This,
  6236.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6237.     PRPC_MESSAGE _pRpcMessage,
  6238.     DWORD *_pdwStubPhase);
  6239. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_MovePrevious_Proxy( 
  6240.     Recordset15 __RPC_FAR * This);
  6241. void __RPC_STUB Recordset15_MovePrevious_Stub(
  6242.     IRpcStubBuffer *This,
  6243.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6244.     PRPC_MESSAGE _pRpcMessage,
  6245.     DWORD *_pdwStubPhase);
  6246. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_MoveFirst_Proxy( 
  6247.     Recordset15 __RPC_FAR * This);
  6248. void __RPC_STUB Recordset15_MoveFirst_Stub(
  6249.     IRpcStubBuffer *This,
  6250.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6251.     PRPC_MESSAGE _pRpcMessage,
  6252.     DWORD *_pdwStubPhase);
  6253. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_MoveLast_Proxy( 
  6254.     Recordset15 __RPC_FAR * This);
  6255. void __RPC_STUB Recordset15_MoveLast_Stub(
  6256.     IRpcStubBuffer *This,
  6257.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6258.     PRPC_MESSAGE _pRpcMessage,
  6259.     DWORD *_pdwStubPhase);
  6260. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_Open_Proxy( 
  6261.     Recordset15 __RPC_FAR * This,
  6262.     /* [optional][in] */ VARIANT Source,
  6263.     /* [optional][in] */ VARIANT ActiveConnection,
  6264.     /* [defaultvalue][in] */ CursorTypeEnum CursorType,
  6265.     /* [defaultvalue][in] */ LockTypeEnum LockType,
  6266.     /* [defaultvalue][in] */ LONG Options);
  6267. void __RPC_STUB Recordset15_Open_Stub(
  6268.     IRpcStubBuffer *This,
  6269.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6270.     PRPC_MESSAGE _pRpcMessage,
  6271.     DWORD *_pdwStubPhase);
  6272. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_Requery_Proxy( 
  6273.     Recordset15 __RPC_FAR * This,
  6274.     /* [defaultvalue][in] */ LONG Options);
  6275. void __RPC_STUB Recordset15_Requery_Stub(
  6276.     IRpcStubBuffer *This,
  6277.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6278.     PRPC_MESSAGE _pRpcMessage,
  6279.     DWORD *_pdwStubPhase);
  6280. /* [hidden] */ HRESULT STDMETHODCALLTYPE Recordset15__xResync_Proxy( 
  6281.     Recordset15 __RPC_FAR * This,
  6282.     /* [defaultvalue][in] */ AffectEnum AffectRecords);
  6283. void __RPC_STUB Recordset15__xResync_Stub(
  6284.     IRpcStubBuffer *This,
  6285.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6286.     PRPC_MESSAGE _pRpcMessage,
  6287.     DWORD *_pdwStubPhase);
  6288. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_Update_Proxy( 
  6289.     Recordset15 __RPC_FAR * This,
  6290.     /* [optional][in] */ VARIANT Fields,
  6291.     /* [optional][in] */ VARIANT Values);
  6292. void __RPC_STUB Recordset15_Update_Stub(
  6293.     IRpcStubBuffer *This,
  6294.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6295.     PRPC_MESSAGE _pRpcMessage,
  6296.     DWORD *_pdwStubPhase);
  6297. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_AbsolutePage_Proxy( 
  6298.     Recordset15 __RPC_FAR * This,
  6299.     /* [retval][out] */ PositionEnum __RPC_FAR *pl);
  6300. void __RPC_STUB Recordset15_get_AbsolutePage_Stub(
  6301.     IRpcStubBuffer *This,
  6302.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6303.     PRPC_MESSAGE _pRpcMessage,
  6304.     DWORD *_pdwStubPhase);
  6305. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_AbsolutePage_Proxy( 
  6306.     Recordset15 __RPC_FAR * This,
  6307.     /* [in] */ PositionEnum Page);
  6308. void __RPC_STUB Recordset15_put_AbsolutePage_Stub(
  6309.     IRpcStubBuffer *This,
  6310.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6311.     PRPC_MESSAGE _pRpcMessage,
  6312.     DWORD *_pdwStubPhase);
  6313. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_EditMode_Proxy( 
  6314.     Recordset15 __RPC_FAR * This,
  6315.     /* [retval][out] */ EditModeEnum __RPC_FAR *pl);
  6316. void __RPC_STUB Recordset15_get_EditMode_Stub(
  6317.     IRpcStubBuffer *This,
  6318.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6319.     PRPC_MESSAGE _pRpcMessage,
  6320.     DWORD *_pdwStubPhase);
  6321. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_Filter_Proxy( 
  6322.     Recordset15 __RPC_FAR * This,
  6323.     /* [retval][out] */ VARIANT __RPC_FAR *Criteria);
  6324. void __RPC_STUB Recordset15_get_Filter_Stub(
  6325.     IRpcStubBuffer *This,
  6326.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6327.     PRPC_MESSAGE _pRpcMessage,
  6328.     DWORD *_pdwStubPhase);
  6329. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_Filter_Proxy( 
  6330.     Recordset15 __RPC_FAR * This,
  6331.     /* [in] */ VARIANT Criteria);
  6332. void __RPC_STUB Recordset15_put_Filter_Stub(
  6333.     IRpcStubBuffer *This,
  6334.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6335.     PRPC_MESSAGE _pRpcMessage,
  6336.     DWORD *_pdwStubPhase);
  6337. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_PageCount_Proxy( 
  6338.     Recordset15 __RPC_FAR * This,
  6339.     /* [retval][out] */ long __RPC_FAR *pl);
  6340. void __RPC_STUB Recordset15_get_PageCount_Stub(
  6341.     IRpcStubBuffer *This,
  6342.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6343.     PRPC_MESSAGE _pRpcMessage,
  6344.     DWORD *_pdwStubPhase);
  6345. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_PageSize_Proxy( 
  6346.     Recordset15 __RPC_FAR * This,
  6347.     /* [retval][out] */ long __RPC_FAR *pl);
  6348. void __RPC_STUB Recordset15_get_PageSize_Stub(
  6349.     IRpcStubBuffer *This,
  6350.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6351.     PRPC_MESSAGE _pRpcMessage,
  6352.     DWORD *_pdwStubPhase);
  6353. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_PageSize_Proxy( 
  6354.     Recordset15 __RPC_FAR * This,
  6355.     /* [in] */ long PageSize);
  6356. void __RPC_STUB Recordset15_put_PageSize_Stub(
  6357.     IRpcStubBuffer *This,
  6358.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6359.     PRPC_MESSAGE _pRpcMessage,
  6360.     DWORD *_pdwStubPhase);
  6361. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_Sort_Proxy( 
  6362.     Recordset15 __RPC_FAR * This,
  6363.     /* [retval][out] */ BSTR __RPC_FAR *Criteria);
  6364. void __RPC_STUB Recordset15_get_Sort_Stub(
  6365.     IRpcStubBuffer *This,
  6366.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6367.     PRPC_MESSAGE _pRpcMessage,
  6368.     DWORD *_pdwStubPhase);
  6369. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_Sort_Proxy( 
  6370.     Recordset15 __RPC_FAR * This,
  6371.     /* [in] */ BSTR Criteria);
  6372. void __RPC_STUB Recordset15_put_Sort_Stub(
  6373.     IRpcStubBuffer *This,
  6374.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6375.     PRPC_MESSAGE _pRpcMessage,
  6376.     DWORD *_pdwStubPhase);
  6377. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_Status_Proxy( 
  6378.     Recordset15 __RPC_FAR * This,
  6379.     /* [retval][out] */ long __RPC_FAR *pl);
  6380. void __RPC_STUB Recordset15_get_Status_Stub(
  6381.     IRpcStubBuffer *This,
  6382.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6383.     PRPC_MESSAGE _pRpcMessage,
  6384.     DWORD *_pdwStubPhase);
  6385. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_State_Proxy( 
  6386.     Recordset15 __RPC_FAR * This,
  6387.     /* [retval][out] */ LONG __RPC_FAR *plObjState);
  6388. void __RPC_STUB Recordset15_get_State_Stub(
  6389.     IRpcStubBuffer *This,
  6390.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6391.     PRPC_MESSAGE _pRpcMessage,
  6392.     DWORD *_pdwStubPhase);
  6393. /* [hidden] */ HRESULT STDMETHODCALLTYPE Recordset15__xClone_Proxy( 
  6394.     Recordset15 __RPC_FAR * This,
  6395.     /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppvObject);
  6396. void __RPC_STUB Recordset15__xClone_Stub(
  6397.     IRpcStubBuffer *This,
  6398.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6399.     PRPC_MESSAGE _pRpcMessage,
  6400.     DWORD *_pdwStubPhase);
  6401. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_UpdateBatch_Proxy( 
  6402.     Recordset15 __RPC_FAR * This,
  6403.     /* [defaultvalue][in] */ AffectEnum AffectRecords);
  6404. void __RPC_STUB Recordset15_UpdateBatch_Stub(
  6405.     IRpcStubBuffer *This,
  6406.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6407.     PRPC_MESSAGE _pRpcMessage,
  6408.     DWORD *_pdwStubPhase);
  6409. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_CancelBatch_Proxy( 
  6410.     Recordset15 __RPC_FAR * This,
  6411.     /* [defaultvalue][in] */ AffectEnum AffectRecords);
  6412. void __RPC_STUB Recordset15_CancelBatch_Stub(
  6413.     IRpcStubBuffer *This,
  6414.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6415.     PRPC_MESSAGE _pRpcMessage,
  6416.     DWORD *_pdwStubPhase);
  6417. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_CursorLocation_Proxy( 
  6418.     Recordset15 __RPC_FAR * This,
  6419.     /* [retval][out] */ CursorLocationEnum __RPC_FAR *plCursorLoc);
  6420. void __RPC_STUB Recordset15_get_CursorLocation_Stub(
  6421.     IRpcStubBuffer *This,
  6422.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6423.     PRPC_MESSAGE _pRpcMessage,
  6424.     DWORD *_pdwStubPhase);
  6425. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_CursorLocation_Proxy( 
  6426.     Recordset15 __RPC_FAR * This,
  6427.     /* [in] */ CursorLocationEnum lCursorLoc);
  6428. void __RPC_STUB Recordset15_put_CursorLocation_Stub(
  6429.     IRpcStubBuffer *This,
  6430.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6431.     PRPC_MESSAGE _pRpcMessage,
  6432.     DWORD *_pdwStubPhase);
  6433. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_NextRecordset_Proxy( 
  6434.     Recordset15 __RPC_FAR * This,
  6435.     /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  6436.     /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppiRs);
  6437. void __RPC_STUB Recordset15_NextRecordset_Stub(
  6438.     IRpcStubBuffer *This,
  6439.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6440.     PRPC_MESSAGE _pRpcMessage,
  6441.     DWORD *_pdwStubPhase);
  6442. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_Supports_Proxy( 
  6443.     Recordset15 __RPC_FAR * This,
  6444.     /* [in] */ CursorOptionEnum CursorOptions,
  6445.     /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  6446. void __RPC_STUB Recordset15_Supports_Stub(
  6447.     IRpcStubBuffer *This,
  6448.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6449.     PRPC_MESSAGE _pRpcMessage,
  6450.     DWORD *_pdwStubPhase);
  6451. /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE Recordset15_get_Collect_Proxy( 
  6452.     Recordset15 __RPC_FAR * This,
  6453.     /* [in] */ VARIANT Index,
  6454.     /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  6455. void __RPC_STUB Recordset15_get_Collect_Stub(
  6456.     IRpcStubBuffer *This,
  6457.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6458.     PRPC_MESSAGE _pRpcMessage,
  6459.     DWORD *_pdwStubPhase);
  6460. /* [hidden][id][propput] */ HRESULT STDMETHODCALLTYPE Recordset15_put_Collect_Proxy( 
  6461.     Recordset15 __RPC_FAR * This,
  6462.     /* [in] */ VARIANT Index,
  6463.     /* [in] */ VARIANT value);
  6464. void __RPC_STUB Recordset15_put_Collect_Stub(
  6465.     IRpcStubBuffer *This,
  6466.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6467.     PRPC_MESSAGE _pRpcMessage,
  6468.     DWORD *_pdwStubPhase);
  6469. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_MarshalOptions_Proxy( 
  6470.     Recordset15 __RPC_FAR * This,
  6471.     /* [retval][out] */ MarshalOptionsEnum __RPC_FAR *peMarshal);
  6472. void __RPC_STUB Recordset15_get_MarshalOptions_Stub(
  6473.     IRpcStubBuffer *This,
  6474.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6475.     PRPC_MESSAGE _pRpcMessage,
  6476.     DWORD *_pdwStubPhase);
  6477. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_MarshalOptions_Proxy( 
  6478.     Recordset15 __RPC_FAR * This,
  6479.     /* [in] */ MarshalOptionsEnum eMarshal);
  6480. void __RPC_STUB Recordset15_put_MarshalOptions_Stub(
  6481.     IRpcStubBuffer *This,
  6482.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6483.     PRPC_MESSAGE _pRpcMessage,
  6484.     DWORD *_pdwStubPhase);
  6485. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_Find_Proxy( 
  6486.     Recordset15 __RPC_FAR * This,
  6487.     /* [in] */ BSTR Criteria,
  6488.     /* [defaultvalue][in] */ LONG SkipRecords,
  6489.     /* [defaultvalue][in] */ SearchDirectionEnum SearchDirection,
  6490.     /* [optional][in] */ VARIANT Start);
  6491. void __RPC_STUB Recordset15_Find_Stub(
  6492.     IRpcStubBuffer *This,
  6493.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6494.     PRPC_MESSAGE _pRpcMessage,
  6495.     DWORD *_pdwStubPhase);
  6496. #endif     /* __Recordset15_INTERFACE_DEFINED__ */
  6497. #ifndef __Recordset20_INTERFACE_DEFINED__
  6498. #define __Recordset20_INTERFACE_DEFINED__
  6499. /* interface Recordset20 */
  6500. /* [object][helpcontext][uuid][nonextensible][hidden][dual] */ 
  6501. EXTERN_C const IID IID_Recordset20;
  6502. #if defined(__cplusplus) && !defined(CINTERFACE)
  6503.     
  6504.     MIDL_INTERFACE("0000054F-0000-0010-8000-00AA006D2EA4")
  6505.     Recordset20 : public Recordset15
  6506.     {
  6507.     public:
  6508.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  6509.         
  6510.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DataSource( 
  6511.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunkDataSource) = 0;
  6512.         
  6513.         virtual /* [helpcontext][propputref][id] */ HRESULT STDMETHODCALLTYPE putref_DataSource( 
  6514.             /* [in] */ IUnknown __RPC_FAR *punkDataSource) = 0;
  6515.         
  6516.         virtual /* [hidden] */ HRESULT STDMETHODCALLTYPE _xSave( 
  6517.             /* [optional][in] */ BSTR FileName,
  6518.             /* [defaultvalue][in] */ PersistFormatEnum PersistFormat = adPersistADTG) = 0;
  6519.         
  6520.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActiveCommand( 
  6521.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppCmd) = 0;
  6522.         
  6523.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_StayInSync( 
  6524.             /* [in] */ VARIANT_BOOL bStayInSync) = 0;
  6525.         
  6526.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_StayInSync( 
  6527.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbStayInSync) = 0;
  6528.         
  6529.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetString( 
  6530.             /* [defaultvalue][in] */ StringFormatEnum StringFormat,
  6531.             /* [defaultvalue][in] */ long NumRows,
  6532.             /* [optional][in] */ BSTR ColumnDelimeter,
  6533.             /* [optional][in] */ BSTR RowDelimeter,
  6534.             /* [optional][in] */ BSTR NullExpr,
  6535.             /* [retval][out] */ BSTR __RPC_FAR *pRetString) = 0;
  6536.         
  6537.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DataMember( 
  6538.             /* [retval][out] */ BSTR __RPC_FAR *pbstrDataMember) = 0;
  6539.         
  6540.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_DataMember( 
  6541.             /* [in] */ BSTR bstrDataMember) = 0;
  6542.         
  6543.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CompareBookmarks( 
  6544.             /* [in] */ VARIANT Bookmark1,
  6545.             /* [in] */ VARIANT Bookmark2,
  6546.             /* [retval][out] */ CompareEnum __RPC_FAR *pCompare) = 0;
  6547.         
  6548.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Clone( 
  6549.             /* [defaultvalue][in] */ LockTypeEnum LockType,
  6550.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  6551.         
  6552.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Resync( 
  6553.             /* [defaultvalue][in] */ AffectEnum AffectRecords = adAffectAll,
  6554.             /* [defaultvalue][in] */ ResyncEnum ResyncValues = adResyncAllValues) = 0;
  6555.         
  6556.     };
  6557.     
  6558. #else     /* C style interface */
  6559.     typedef struct Recordset20Vtbl
  6560.     {
  6561.         BEGIN_INTERFACE
  6562.         
  6563.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6564.             Recordset20 __RPC_FAR * This,
  6565.             /* [in] */ REFIID riid,
  6566.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6567.         
  6568.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6569.             Recordset20 __RPC_FAR * This);
  6570.         
  6571.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6572.             Recordset20 __RPC_FAR * This);
  6573.         
  6574.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  6575.             Recordset20 __RPC_FAR * This,
  6576.             /* [out] */ UINT __RPC_FAR *pctinfo);
  6577.         
  6578.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  6579.             Recordset20 __RPC_FAR * This,
  6580.             /* [in] */ UINT iTInfo,
  6581.             /* [in] */ LCID lcid,
  6582.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  6583.         
  6584.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  6585.             Recordset20 __RPC_FAR * This,
  6586.             /* [in] */ REFIID riid,
  6587.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  6588.             /* [in] */ UINT cNames,
  6589.             /* [in] */ LCID lcid,
  6590.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  6591.         
  6592.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  6593.             Recordset20 __RPC_FAR * This,
  6594.             /* [in] */ DISPID dispIdMember,
  6595.             /* [in] */ REFIID riid,
  6596.             /* [in] */ LCID lcid,
  6597.             /* [in] */ WORD wFlags,
  6598.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  6599.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  6600.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  6601.             /* [out] */ UINT __RPC_FAR *puArgErr);
  6602.         
  6603.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Properties )( 
  6604.             Recordset20 __RPC_FAR * This,
  6605.             /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject);
  6606.         
  6607.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AbsolutePosition )( 
  6608.             Recordset20 __RPC_FAR * This,
  6609.             /* [retval][out] */ PositionEnum __RPC_FAR *pl);
  6610.         
  6611.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AbsolutePosition )( 
  6612.             Recordset20 __RPC_FAR * This,
  6613.             /* [in] */ PositionEnum Position);
  6614.         
  6615.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_ActiveADOConnection )( 
  6616.             Recordset20 __RPC_FAR * This,
  6617.             /* [in] */ IDispatch __RPC_FAR *pconn);
  6618.         
  6619.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ActiveConnection )( 
  6620.             Recordset20 __RPC_FAR * This,
  6621.             /* [in] */ VARIANT vConn);
  6622.         
  6623.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveConnection )( 
  6624.             Recordset20 __RPC_FAR * This,
  6625.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  6626.         
  6627.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_BOF )( 
  6628.             Recordset20 __RPC_FAR * This,
  6629.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  6630.         
  6631.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Bookmark )( 
  6632.             Recordset20 __RPC_FAR * This,
  6633.             /* [retval][out] */ VARIANT __RPC_FAR *pvBookmark);
  6634.         
  6635.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Bookmark )( 
  6636.             Recordset20 __RPC_FAR * This,
  6637.             /* [in] */ VARIANT vBookmark);
  6638.         
  6639.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CacheSize )( 
  6640.             Recordset20 __RPC_FAR * This,
  6641.             /* [retval][out] */ long __RPC_FAR *pl);
  6642.         
  6643.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CacheSize )( 
  6644.             Recordset20 __RPC_FAR * This,
  6645.             /* [in] */ long CacheSize);
  6646.         
  6647.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CursorType )( 
  6648.             Recordset20 __RPC_FAR * This,
  6649.             /* [retval][out] */ CursorTypeEnum __RPC_FAR *plCursorType);
  6650.         
  6651.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CursorType )( 
  6652.             Recordset20 __RPC_FAR * This,
  6653.             /* [in] */ CursorTypeEnum lCursorType);
  6654.         
  6655.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EOF )( 
  6656.             Recordset20 __RPC_FAR * This,
  6657.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  6658.         
  6659.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Fields )( 
  6660.             Recordset20 __RPC_FAR * This,
  6661.             /* [retval][out] */ ADOFields __RPC_FAR *__RPC_FAR *ppvObject);
  6662.         
  6663.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LockType )( 
  6664.             Recordset20 __RPC_FAR * This,
  6665.             /* [retval][out] */ LockTypeEnum __RPC_FAR *plLockType);
  6666.         
  6667.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LockType )( 
  6668.             Recordset20 __RPC_FAR * This,
  6669.             /* [in] */ LockTypeEnum lLockType);
  6670.         
  6671.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MaxRecords )( 
  6672.             Recordset20 __RPC_FAR * This,
  6673.             /* [retval][out] */ long __RPC_FAR *plMaxRecords);
  6674.         
  6675.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MaxRecords )( 
  6676.             Recordset20 __RPC_FAR * This,
  6677.             /* [in] */ long lMaxRecords);
  6678.         
  6679.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RecordCount )( 
  6680.             Recordset20 __RPC_FAR * This,
  6681.             /* [retval][out] */ long __RPC_FAR *pl);
  6682.         
  6683.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_Source )( 
  6684.             Recordset20 __RPC_FAR * This,
  6685.             /* [in] */ IDispatch __RPC_FAR *pcmd);
  6686.         
  6687.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Source )( 
  6688.             Recordset20 __RPC_FAR * This,
  6689.             /* [in] */ BSTR bstrConn);
  6690.         
  6691.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Source )( 
  6692.             Recordset20 __RPC_FAR * This,
  6693.             /* [retval][out] */ VARIANT __RPC_FAR *pvSource);
  6694.         
  6695.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddNew )( 
  6696.             Recordset20 __RPC_FAR * This,
  6697.             /* [optional][in] */ VARIANT FieldList,
  6698.             /* [optional][in] */ VARIANT Values);
  6699.         
  6700.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelUpdate )( 
  6701.             Recordset20 __RPC_FAR * This);
  6702.         
  6703.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )( 
  6704.             Recordset20 __RPC_FAR * This);
  6705.         
  6706.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
  6707.             Recordset20 __RPC_FAR * This,
  6708.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  6709.         
  6710.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRows )( 
  6711.             Recordset20 __RPC_FAR * This,
  6712.             /* [defaultvalue][in] */ long Rows,
  6713.             /* [optional][in] */ VARIANT Start,
  6714.             /* [optional][in] */ VARIANT Fields,
  6715.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  6716.         
  6717.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
  6718.             Recordset20 __RPC_FAR * This,
  6719.             /* [in] */ long NumRecords,
  6720.             /* [optional][in] */ VARIANT Start);
  6721.         
  6722.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveNext )( 
  6723.             Recordset20 __RPC_FAR * This);
  6724.         
  6725.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MovePrevious )( 
  6726.             Recordset20 __RPC_FAR * This);
  6727.         
  6728.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveFirst )( 
  6729.             Recordset20 __RPC_FAR * This);
  6730.         
  6731.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveLast )( 
  6732.             Recordset20 __RPC_FAR * This);
  6733.         
  6734.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )( 
  6735.             Recordset20 __RPC_FAR * This,
  6736.             /* [optional][in] */ VARIANT Source,
  6737.             /* [optional][in] */ VARIANT ActiveConnection,
  6738.             /* [defaultvalue][in] */ CursorTypeEnum CursorType,
  6739.             /* [defaultvalue][in] */ LockTypeEnum LockType,
  6740.             /* [defaultvalue][in] */ LONG Options);
  6741.         
  6742.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Requery )( 
  6743.             Recordset20 __RPC_FAR * This,
  6744.             /* [defaultvalue][in] */ LONG Options);
  6745.         
  6746.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_xResync )( 
  6747.             Recordset20 __RPC_FAR * This,
  6748.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  6749.         
  6750.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
  6751.             Recordset20 __RPC_FAR * This,
  6752.             /* [optional][in] */ VARIANT Fields,
  6753.             /* [optional][in] */ VARIANT Values);
  6754.         
  6755.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AbsolutePage )( 
  6756.             Recordset20 __RPC_FAR * This,
  6757.             /* [retval][out] */ PositionEnum __RPC_FAR *pl);
  6758.         
  6759.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AbsolutePage )( 
  6760.             Recordset20 __RPC_FAR * This,
  6761.             /* [in] */ PositionEnum Page);
  6762.         
  6763.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EditMode )( 
  6764.             Recordset20 __RPC_FAR * This,
  6765.             /* [retval][out] */ EditModeEnum __RPC_FAR *pl);
  6766.         
  6767.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Filter )( 
  6768.             Recordset20 __RPC_FAR * This,
  6769.             /* [retval][out] */ VARIANT __RPC_FAR *Criteria);
  6770.         
  6771.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Filter )( 
  6772.             Recordset20 __RPC_FAR * This,
  6773.             /* [in] */ VARIANT Criteria);
  6774.         
  6775.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PageCount )( 
  6776.             Recordset20 __RPC_FAR * This,
  6777.             /* [retval][out] */ long __RPC_FAR *pl);
  6778.         
  6779.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PageSize )( 
  6780.             Recordset20 __RPC_FAR * This,
  6781.             /* [retval][out] */ long __RPC_FAR *pl);
  6782.         
  6783.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PageSize )( 
  6784.             Recordset20 __RPC_FAR * This,
  6785.             /* [in] */ long PageSize);
  6786.         
  6787.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Sort )( 
  6788.             Recordset20 __RPC_FAR * This,
  6789.             /* [retval][out] */ BSTR __RPC_FAR *Criteria);
  6790.         
  6791.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Sort )( 
  6792.             Recordset20 __RPC_FAR * This,
  6793.             /* [in] */ BSTR Criteria);
  6794.         
  6795.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Status )( 
  6796.             Recordset20 __RPC_FAR * This,
  6797.             /* [retval][out] */ long __RPC_FAR *pl);
  6798.         
  6799.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_State )( 
  6800.             Recordset20 __RPC_FAR * This,
  6801.             /* [retval][out] */ LONG __RPC_FAR *plObjState);
  6802.         
  6803.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_xClone )( 
  6804.             Recordset20 __RPC_FAR * This,
  6805.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppvObject);
  6806.         
  6807.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UpdateBatch )( 
  6808.             Recordset20 __RPC_FAR * This,
  6809.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  6810.         
  6811.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelBatch )( 
  6812.             Recordset20 __RPC_FAR * This,
  6813.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  6814.         
  6815.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CursorLocation )( 
  6816.             Recordset20 __RPC_FAR * This,
  6817.             /* [retval][out] */ CursorLocationEnum __RPC_FAR *plCursorLoc);
  6818.         
  6819.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CursorLocation )( 
  6820.             Recordset20 __RPC_FAR * This,
  6821.             /* [in] */ CursorLocationEnum lCursorLoc);
  6822.         
  6823.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NextADORecordset )( 
  6824.             Recordset20 __RPC_FAR * This,
  6825.             /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  6826.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppiRs);
  6827.         
  6828.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Supports )( 
  6829.             Recordset20 __RPC_FAR * This,
  6830.             /* [in] */ CursorOptionEnum CursorOptions,
  6831.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  6832.         
  6833.         /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Collect )( 
  6834.             Recordset20 __RPC_FAR * This,
  6835.             /* [in] */ VARIANT Index,
  6836.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  6837.         
  6838.         /* [hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Collect )( 
  6839.             Recordset20 __RPC_FAR * This,
  6840.             /* [in] */ VARIANT Index,
  6841.             /* [in] */ VARIANT value);
  6842.         
  6843.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MarshalOptions )( 
  6844.             Recordset20 __RPC_FAR * This,
  6845.             /* [retval][out] */ MarshalOptionsEnum __RPC_FAR *peMarshal);
  6846.         
  6847.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MarshalOptions )( 
  6848.             Recordset20 __RPC_FAR * This,
  6849.             /* [in] */ MarshalOptionsEnum eMarshal);
  6850.         
  6851.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Find )( 
  6852.             Recordset20 __RPC_FAR * This,
  6853.             /* [in] */ BSTR Criteria,
  6854.             /* [defaultvalue][in] */ LONG SkipRecords,
  6855.             /* [defaultvalue][in] */ SearchDirectionEnum SearchDirection,
  6856.             /* [optional][in] */ VARIANT Start);
  6857.         
  6858.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Cancel )( 
  6859.             Recordset20 __RPC_FAR * This);
  6860.         
  6861.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DataSource )( 
  6862.             Recordset20 __RPC_FAR * This,
  6863.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunkDataSource);
  6864.         
  6865.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_DataSource )( 
  6866.             Recordset20 __RPC_FAR * This,
  6867.             /* [in] */ IUnknown __RPC_FAR *punkDataSource);
  6868.         
  6869.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_xSave )( 
  6870.             Recordset20 __RPC_FAR * This,
  6871.             /* [optional][in] */ BSTR FileName,
  6872.             /* [defaultvalue][in] */ PersistFormatEnum PersistFormat);
  6873.         
  6874.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveCommand )( 
  6875.             Recordset20 __RPC_FAR * This,
  6876.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppCmd);
  6877.         
  6878.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StayInSync )( 
  6879.             Recordset20 __RPC_FAR * This,
  6880.             /* [in] */ VARIANT_BOOL bStayInSync);
  6881.         
  6882.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StayInSync )( 
  6883.             Recordset20 __RPC_FAR * This,
  6884.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbStayInSync);
  6885.         
  6886.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetString )( 
  6887.             Recordset20 __RPC_FAR * This,
  6888.             /* [defaultvalue][in] */ StringFormatEnum StringFormat,
  6889.             /* [defaultvalue][in] */ long NumRows,
  6890.             /* [optional][in] */ BSTR ColumnDelimeter,
  6891.             /* [optional][in] */ BSTR RowDelimeter,
  6892.             /* [optional][in] */ BSTR NullExpr,
  6893.             /* [retval][out] */ BSTR __RPC_FAR *pRetString);
  6894.         
  6895.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DataMember )( 
  6896.             Recordset20 __RPC_FAR * This,
  6897.             /* [retval][out] */ BSTR __RPC_FAR *pbstrDataMember);
  6898.         
  6899.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DataMember )( 
  6900.             Recordset20 __RPC_FAR * This,
  6901.             /* [in] */ BSTR bstrDataMember);
  6902.         
  6903.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CompareBookmarks )( 
  6904.             Recordset20 __RPC_FAR * This,
  6905.             /* [in] */ VARIANT Bookmark1,
  6906.             /* [in] */ VARIANT Bookmark2,
  6907.             /* [retval][out] */ CompareEnum __RPC_FAR *pCompare);
  6908.         
  6909.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( 
  6910.             Recordset20 __RPC_FAR * This,
  6911.             /* [defaultvalue][in] */ LockTypeEnum LockType,
  6912.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppvObject);
  6913.         
  6914.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Resync )( 
  6915.             Recordset20 __RPC_FAR * This,
  6916.             /* [defaultvalue][in] */ AffectEnum AffectRecords,
  6917.             /* [defaultvalue][in] */ ResyncEnum ResyncValues);
  6918.         
  6919.         END_INTERFACE
  6920.     } Recordset20Vtbl;
  6921.     interface Recordset20
  6922.     {
  6923.         CONST_VTBL struct Recordset20Vtbl __RPC_FAR *lpVtbl;
  6924.     };
  6925.     
  6926. #ifdef COBJMACROS
  6927. #define Recordset20_QueryInterface(This,riid,ppvObject)    \
  6928.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6929. #define Recordset20_AddRef(This)    \
  6930.     (This)->lpVtbl -> AddRef(This)
  6931. #define Recordset20_Release(This)    \
  6932.     (This)->lpVtbl -> Release(This)
  6933. #define Recordset20_GetTypeInfoCount(This,pctinfo)    \
  6934.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  6935. #define Recordset20_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  6936.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  6937. #define Recordset20_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  6938.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  6939. #define Recordset20_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  6940.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  6941. #define Recordset20_get_Properties(This,ppvObject)    \
  6942.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  6943. #define Recordset20_get_AbsolutePosition(This,pl)    \
  6944.     (This)->lpVtbl -> get_AbsolutePosition(This,pl)
  6945. #define Recordset20_put_AbsolutePosition(This,Position)    \
  6946.     (This)->lpVtbl -> put_AbsolutePosition(This,Position)
  6947. #define Recordset20_putref_ActiveConnection(This,pconn)    \
  6948.     (This)->lpVtbl -> putref_ActiveConnection(This,pconn)
  6949. #define Recordset20_put_ActiveConnection(This,vConn)    \
  6950.     (This)->lpVtbl -> put_ActiveConnection(This,vConn)
  6951. #define Recordset20_get_ActiveConnection(This,pvar)    \
  6952.     (This)->lpVtbl -> get_ActiveConnection(This,pvar)
  6953. #define Recordset20_get_BOF(This,pb)    \
  6954.     (This)->lpVtbl -> get_BOF(This,pb)
  6955. #define Recordset20_get_Bookmark(This,pvBookmark)    \
  6956.     (This)->lpVtbl -> get_Bookmark(This,pvBookmark)
  6957. #define Recordset20_put_Bookmark(This,vBookmark)    \
  6958.     (This)->lpVtbl -> put_Bookmark(This,vBookmark)
  6959. #define Recordset20_get_CacheSize(This,pl)    \
  6960.     (This)->lpVtbl -> get_CacheSize(This,pl)
  6961. #define Recordset20_put_CacheSize(This,CacheSize)    \
  6962.     (This)->lpVtbl -> put_CacheSize(This,CacheSize)
  6963. #define Recordset20_get_CursorType(This,plCursorType)    \
  6964.     (This)->lpVtbl -> get_CursorType(This,plCursorType)
  6965. #define Recordset20_put_CursorType(This,lCursorType)    \
  6966.     (This)->lpVtbl -> put_CursorType(This,lCursorType)
  6967. #define Recordset20_get_EOF(This,pb)    \
  6968.     (This)->lpVtbl -> get_EOF(This,pb)
  6969. #define Recordset20_get_Fields(This,ppvObject)    \
  6970.     (This)->lpVtbl -> get_Fields(This,ppvObject)
  6971. #define Recordset20_get_LockType(This,plLockType)    \
  6972.     (This)->lpVtbl -> get_LockType(This,plLockType)
  6973. #define Recordset20_put_LockType(This,lLockType)    \
  6974.     (This)->lpVtbl -> put_LockType(This,lLockType)
  6975. #define Recordset20_get_MaxRecords(This,plMaxRecords)    \
  6976.     (This)->lpVtbl -> get_MaxRecords(This,plMaxRecords)
  6977. #define Recordset20_put_MaxRecords(This,lMaxRecords)    \
  6978.     (This)->lpVtbl -> put_MaxRecords(This,lMaxRecords)
  6979. #define Recordset20_get_RecordCount(This,pl)    \
  6980.     (This)->lpVtbl -> get_RecordCount(This,pl)
  6981. #define Recordset20_putref_Source(This,pcmd)    \
  6982.     (This)->lpVtbl -> putref_Source(This,pcmd)
  6983. #define Recordset20_put_Source(This,bstrConn)    \
  6984.     (This)->lpVtbl -> put_Source(This,bstrConn)
  6985. #define Recordset20_get_Source(This,pvSource)    \
  6986.     (This)->lpVtbl -> get_Source(This,pvSource)
  6987. #define Recordset20_AddNew(This,FieldList,Values)    \
  6988.     (This)->lpVtbl -> AddNew(This,FieldList,Values)
  6989. #define Recordset20_CancelUpdate(This)    \
  6990.     (This)->lpVtbl -> CancelUpdate(This)
  6991. #define Recordset20_Close(This)    \
  6992.     (This)->lpVtbl -> Close(This)
  6993. #define Recordset20_Delete(This,AffectRecords)    \
  6994.     (This)->lpVtbl -> Delete(This,AffectRecords)
  6995. #define Recordset20_GetRows(This,Rows,Start,Fields,pvar)    \
  6996.     (This)->lpVtbl -> GetRows(This,Rows,Start,Fields,pvar)
  6997. #define Recordset20_Move(This,NumRecords,Start)    \
  6998.     (This)->lpVtbl -> Move(This,NumRecords,Start)
  6999. #define Recordset20_MoveNext(This)    \
  7000.     (This)->lpVtbl -> MoveNext(This)
  7001. #define Recordset20_MovePrevious(This)    \
  7002.     (This)->lpVtbl -> MovePrevious(This)
  7003. #define Recordset20_MoveFirst(This)    \
  7004.     (This)->lpVtbl -> MoveFirst(This)
  7005. #define Recordset20_MoveLast(This)    \
  7006.     (This)->lpVtbl -> MoveLast(This)
  7007. #define Recordset20_Open(This,Source,ActiveConnection,CursorType,LockType,Options)    \
  7008.     (This)->lpVtbl -> Open(This,Source,ActiveConnection,CursorType,LockType,Options)
  7009. #define Recordset20_Requery(This,Options)    \
  7010.     (This)->lpVtbl -> Requery(This,Options)
  7011. #define Recordset20__xResync(This,AffectRecords)    \
  7012.     (This)->lpVtbl -> _xResync(This,AffectRecords)
  7013. #define Recordset20_Update(This,Fields,Values)    \
  7014.     (This)->lpVtbl -> Update(This,Fields,Values)
  7015. #define Recordset20_get_AbsolutePage(This,pl)    \
  7016.     (This)->lpVtbl -> get_AbsolutePage(This,pl)
  7017. #define Recordset20_put_AbsolutePage(This,Page)    \
  7018.     (This)->lpVtbl -> put_AbsolutePage(This,Page)
  7019. #define Recordset20_get_EditMode(This,pl)    \
  7020.     (This)->lpVtbl -> get_EditMode(This,pl)
  7021. #define Recordset20_get_Filter(This,Criteria)    \
  7022.     (This)->lpVtbl -> get_Filter(This,Criteria)
  7023. #define Recordset20_put_Filter(This,Criteria)    \
  7024.     (This)->lpVtbl -> put_Filter(This,Criteria)
  7025. #define Recordset20_get_PageCount(This,pl)    \
  7026.     (This)->lpVtbl -> get_PageCount(This,pl)
  7027. #define Recordset20_get_PageSize(This,pl)    \
  7028.     (This)->lpVtbl -> get_PageSize(This,pl)
  7029. #define Recordset20_put_PageSize(This,PageSize)    \
  7030.     (This)->lpVtbl -> put_PageSize(This,PageSize)
  7031. #define Recordset20_get_Sort(This,Criteria)    \
  7032.     (This)->lpVtbl -> get_Sort(This,Criteria)
  7033. #define Recordset20_put_Sort(This,Criteria)    \
  7034.     (This)->lpVtbl -> put_Sort(This,Criteria)
  7035. #define Recordset20_get_Status(This,pl)    \
  7036.     (This)->lpVtbl -> get_Status(This,pl)
  7037. #define Recordset20_get_State(This,plObjState)    \
  7038.     (This)->lpVtbl -> get_State(This,plObjState)
  7039. #define Recordset20__xClone(This,ppvObject)    \
  7040.     (This)->lpVtbl -> _xClone(This,ppvObject)
  7041. #define Recordset20_UpdateBatch(This,AffectRecords)    \
  7042.     (This)->lpVtbl -> UpdateBatch(This,AffectRecords)
  7043. #define Recordset20_CancelBatch(This,AffectRecords)    \
  7044.     (This)->lpVtbl -> CancelBatch(This,AffectRecords)
  7045. #define Recordset20_get_CursorLocation(This,plCursorLoc)    \
  7046.     (This)->lpVtbl -> get_CursorLocation(This,plCursorLoc)
  7047. #define Recordset20_put_CursorLocation(This,lCursorLoc)    \
  7048.     (This)->lpVtbl -> put_CursorLocation(This,lCursorLoc)
  7049. #define Recordset20_NextRecordset(This,RecordsAffected,ppiRs)    \
  7050.     (This)->lpVtbl -> NextRecordset(This,RecordsAffected,ppiRs)
  7051. #define Recordset20_Supports(This,CursorOptions,pb)    \
  7052.     (This)->lpVtbl -> Supports(This,CursorOptions,pb)
  7053. #define Recordset20_get_Collect(This,Index,pvar)    \
  7054.     (This)->lpVtbl -> get_Collect(This,Index,pvar)
  7055. #define Recordset20_put_Collect(This,Index,value)    \
  7056.     (This)->lpVtbl -> put_Collect(This,Index,value)
  7057. #define Recordset20_get_MarshalOptions(This,peMarshal)    \
  7058.     (This)->lpVtbl -> get_MarshalOptions(This,peMarshal)
  7059. #define Recordset20_put_MarshalOptions(This,eMarshal)    \
  7060.     (This)->lpVtbl -> put_MarshalOptions(This,eMarshal)
  7061. #define Recordset20_Find(This,Criteria,SkipRecords,SearchDirection,Start)    \
  7062.     (This)->lpVtbl -> Find(This,Criteria,SkipRecords,SearchDirection,Start)
  7063. #define Recordset20_Cancel(This)    \
  7064.     (This)->lpVtbl -> Cancel(This)
  7065. #define Recordset20_get_DataSource(This,ppunkDataSource)    \
  7066.     (This)->lpVtbl -> get_DataSource(This,ppunkDataSource)
  7067. #define Recordset20_putref_DataSource(This,punkDataSource)    \
  7068.     (This)->lpVtbl -> putref_DataSource(This,punkDataSource)
  7069. #define Recordset20__xSave(This,FileName,PersistFormat)    \
  7070.     (This)->lpVtbl -> _xSave(This,FileName,PersistFormat)
  7071. #define Recordset20_get_ActiveCommand(This,ppCmd)    \
  7072.     (This)->lpVtbl -> get_ActiveCommand(This,ppCmd)
  7073. #define Recordset20_put_StayInSync(This,bStayInSync)    \
  7074.     (This)->lpVtbl -> put_StayInSync(This,bStayInSync)
  7075. #define Recordset20_get_StayInSync(This,pbStayInSync)    \
  7076.     (This)->lpVtbl -> get_StayInSync(This,pbStayInSync)
  7077. #define Recordset20_GetString(This,StringFormat,NumRows,ColumnDelimeter,RowDelimeter,NullExpr,pRetString)    \
  7078.     (This)->lpVtbl -> GetString(This,StringFormat,NumRows,ColumnDelimeter,RowDelimeter,NullExpr,pRetString)
  7079. #define Recordset20_get_DataMember(This,pbstrDataMember)    \
  7080.     (This)->lpVtbl -> get_DataMember(This,pbstrDataMember)
  7081. #define Recordset20_put_DataMember(This,bstrDataMember)    \
  7082.     (This)->lpVtbl -> put_DataMember(This,bstrDataMember)
  7083. #define Recordset20_CompareBookmarks(This,Bookmark1,Bookmark2,pCompare)    \
  7084.     (This)->lpVtbl -> CompareBookmarks(This,Bookmark1,Bookmark2,pCompare)
  7085. #define Recordset20_Clone(This,LockType,ppvObject)    \
  7086.     (This)->lpVtbl -> Clone(This,LockType,ppvObject)
  7087. #define Recordset20_Resync(This,AffectRecords,ResyncValues)    \
  7088.     (This)->lpVtbl -> Resync(This,AffectRecords,ResyncValues)
  7089. #endif /* COBJMACROS */
  7090. #endif     /* C style interface */
  7091. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset20_Cancel_Proxy( 
  7092.     Recordset20 __RPC_FAR * This);
  7093. void __RPC_STUB Recordset20_Cancel_Stub(
  7094.     IRpcStubBuffer *This,
  7095.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7096.     PRPC_MESSAGE _pRpcMessage,
  7097.     DWORD *_pdwStubPhase);
  7098. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset20_get_DataSource_Proxy( 
  7099.     Recordset20 __RPC_FAR * This,
  7100.     /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunkDataSource);
  7101. void __RPC_STUB Recordset20_get_DataSource_Stub(
  7102.     IRpcStubBuffer *This,
  7103.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7104.     PRPC_MESSAGE _pRpcMessage,
  7105.     DWORD *_pdwStubPhase);
  7106. /* [helpcontext][propputref][id] */ HRESULT STDMETHODCALLTYPE Recordset20_putref_DataSource_Proxy( 
  7107.     Recordset20 __RPC_FAR * This,
  7108.     /* [in] */ IUnknown __RPC_FAR *punkDataSource);
  7109. void __RPC_STUB Recordset20_putref_DataSource_Stub(
  7110.     IRpcStubBuffer *This,
  7111.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7112.     PRPC_MESSAGE _pRpcMessage,
  7113.     DWORD *_pdwStubPhase);
  7114. /* [hidden] */ HRESULT STDMETHODCALLTYPE Recordset20__xSave_Proxy( 
  7115.     Recordset20 __RPC_FAR * This,
  7116.     /* [optional][in] */ BSTR FileName,
  7117.     /* [defaultvalue][in] */ PersistFormatEnum PersistFormat);
  7118. void __RPC_STUB Recordset20__xSave_Stub(
  7119.     IRpcStubBuffer *This,
  7120.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7121.     PRPC_MESSAGE _pRpcMessage,
  7122.     DWORD *_pdwStubPhase);
  7123. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset20_get_ActiveCommand_Proxy( 
  7124.     Recordset20 __RPC_FAR * This,
  7125.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppCmd);
  7126. void __RPC_STUB Recordset20_get_ActiveCommand_Stub(
  7127.     IRpcStubBuffer *This,
  7128.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7129.     PRPC_MESSAGE _pRpcMessage,
  7130.     DWORD *_pdwStubPhase);
  7131. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset20_put_StayInSync_Proxy( 
  7132.     Recordset20 __RPC_FAR * This,
  7133.     /* [in] */ VARIANT_BOOL bStayInSync);
  7134. void __RPC_STUB Recordset20_put_StayInSync_Stub(
  7135.     IRpcStubBuffer *This,
  7136.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7137.     PRPC_MESSAGE _pRpcMessage,
  7138.     DWORD *_pdwStubPhase);
  7139. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset20_get_StayInSync_Proxy( 
  7140.     Recordset20 __RPC_FAR * This,
  7141.     /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbStayInSync);
  7142. void __RPC_STUB Recordset20_get_StayInSync_Stub(
  7143.     IRpcStubBuffer *This,
  7144.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7145.     PRPC_MESSAGE _pRpcMessage,
  7146.     DWORD *_pdwStubPhase);
  7147. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset20_GetString_Proxy( 
  7148.     Recordset20 __RPC_FAR * This,
  7149.     /* [defaultvalue][in] */ StringFormatEnum StringFormat,
  7150.     /* [defaultvalue][in] */ long NumRows,
  7151.     /* [optional][in] */ BSTR ColumnDelimeter,
  7152.     /* [optional][in] */ BSTR RowDelimeter,
  7153.     /* [optional][in] */ BSTR NullExpr,
  7154.     /* [retval][out] */ BSTR __RPC_FAR *pRetString);
  7155. void __RPC_STUB Recordset20_GetString_Stub(
  7156.     IRpcStubBuffer *This,
  7157.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7158.     PRPC_MESSAGE _pRpcMessage,
  7159.     DWORD *_pdwStubPhase);
  7160. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset20_get_DataMember_Proxy( 
  7161.     Recordset20 __RPC_FAR * This,
  7162.     /* [retval][out] */ BSTR __RPC_FAR *pbstrDataMember);
  7163. void __RPC_STUB Recordset20_get_DataMember_Stub(
  7164.     IRpcStubBuffer *This,
  7165.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7166.     PRPC_MESSAGE _pRpcMessage,
  7167.     DWORD *_pdwStubPhase);
  7168. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset20_put_DataMember_Proxy( 
  7169.     Recordset20 __RPC_FAR * This,
  7170.     /* [in] */ BSTR bstrDataMember);
  7171. void __RPC_STUB Recordset20_put_DataMember_Stub(
  7172.     IRpcStubBuffer *This,
  7173.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7174.     PRPC_MESSAGE _pRpcMessage,
  7175.     DWORD *_pdwStubPhase);
  7176. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset20_CompareBookmarks_Proxy( 
  7177.     Recordset20 __RPC_FAR * This,
  7178.     /* [in] */ VARIANT Bookmark1,
  7179.     /* [in] */ VARIANT Bookmark2,
  7180.     /* [retval][out] */ CompareEnum __RPC_FAR *pCompare);
  7181. void __RPC_STUB Recordset20_CompareBookmarks_Stub(
  7182.     IRpcStubBuffer *This,
  7183.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7184.     PRPC_MESSAGE _pRpcMessage,
  7185.     DWORD *_pdwStubPhase);
  7186. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset20_Clone_Proxy( 
  7187.     Recordset20 __RPC_FAR * This,
  7188.     /* [defaultvalue][in] */ LockTypeEnum LockType,
  7189.     /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppvObject);
  7190. void __RPC_STUB Recordset20_Clone_Stub(
  7191.     IRpcStubBuffer *This,
  7192.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7193.     PRPC_MESSAGE _pRpcMessage,
  7194.     DWORD *_pdwStubPhase);
  7195. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset20_Resync_Proxy( 
  7196.     Recordset20 __RPC_FAR * This,
  7197.     /* [defaultvalue][in] */ AffectEnum AffectRecords,
  7198.     /* [defaultvalue][in] */ ResyncEnum ResyncValues);
  7199. void __RPC_STUB Recordset20_Resync_Stub(
  7200.     IRpcStubBuffer *This,
  7201.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7202.     PRPC_MESSAGE _pRpcMessage,
  7203.     DWORD *_pdwStubPhase);
  7204. #endif     /* __Recordset20_INTERFACE_DEFINED__ */
  7205. #ifndef __Recordset21_INTERFACE_DEFINED__
  7206. #define __Recordset21_INTERFACE_DEFINED__
  7207. /* interface Recordset21 */
  7208. /* [object][helpcontext][uuid][nonextensible][hidden][dual] */ 
  7209. EXTERN_C const IID IID_Recordset21;
  7210. #if defined(__cplusplus) && !defined(CINTERFACE)
  7211.     
  7212.     MIDL_INTERFACE("00000555-0000-0010-8000-00AA006D2EA4")
  7213.     Recordset21 : public Recordset20
  7214.     {
  7215.     public:
  7216.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Seek( 
  7217.             /* [in] */ VARIANT KeyValues,
  7218.             /* [defaultvalue][in] */ SeekEnum SeekOption = adSeekFirstEQ) = 0;
  7219.         
  7220.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Index( 
  7221.             /* [in] */ BSTR Index) = 0;
  7222.         
  7223.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Index( 
  7224.             /* [retval][out] */ BSTR __RPC_FAR *pbstrIndex) = 0;
  7225.         
  7226.     };
  7227.     
  7228. #else     /* C style interface */
  7229.     typedef struct Recordset21Vtbl
  7230.     {
  7231.         BEGIN_INTERFACE
  7232.         
  7233.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7234.             Recordset21 __RPC_FAR * This,
  7235.             /* [in] */ REFIID riid,
  7236.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7237.         
  7238.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7239.             Recordset21 __RPC_FAR * This);
  7240.         
  7241.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7242.             Recordset21 __RPC_FAR * This);
  7243.         
  7244.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  7245.             Recordset21 __RPC_FAR * This,
  7246.             /* [out] */ UINT __RPC_FAR *pctinfo);
  7247.         
  7248.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  7249.             Recordset21 __RPC_FAR * This,
  7250.             /* [in] */ UINT iTInfo,
  7251.             /* [in] */ LCID lcid,
  7252.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  7253.         
  7254.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  7255.             Recordset21 __RPC_FAR * This,
  7256.             /* [in] */ REFIID riid,
  7257.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  7258.             /* [in] */ UINT cNames,
  7259.             /* [in] */ LCID lcid,
  7260.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  7261.         
  7262.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  7263.             Recordset21 __RPC_FAR * This,
  7264.             /* [in] */ DISPID dispIdMember,
  7265.             /* [in] */ REFIID riid,
  7266.             /* [in] */ LCID lcid,
  7267.             /* [in] */ WORD wFlags,
  7268.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  7269.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  7270.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  7271.             /* [out] */ UINT __RPC_FAR *puArgErr);
  7272.         
  7273.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Properties )( 
  7274.             Recordset21 __RPC_FAR * This,
  7275.             /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject);
  7276.         
  7277.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AbsolutePosition )( 
  7278.             Recordset21 __RPC_FAR * This,
  7279.             /* [retval][out] */ PositionEnum __RPC_FAR *pl);
  7280.         
  7281.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AbsolutePosition )( 
  7282.             Recordset21 __RPC_FAR * This,
  7283.             /* [in] */ PositionEnum Position);
  7284.         
  7285.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_ActiveADOConnection )( 
  7286.             Recordset21 __RPC_FAR * This,
  7287.             /* [in] */ IDispatch __RPC_FAR *pconn);
  7288.         
  7289.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ActiveConnection )( 
  7290.             Recordset21 __RPC_FAR * This,
  7291.             /* [in] */ VARIANT vConn);
  7292.         
  7293.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveConnection )( 
  7294.             Recordset21 __RPC_FAR * This,
  7295.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  7296.         
  7297.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_BOF )( 
  7298.             Recordset21 __RPC_FAR * This,
  7299.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  7300.         
  7301.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Bookmark )( 
  7302.             Recordset21 __RPC_FAR * This,
  7303.             /* [retval][out] */ VARIANT __RPC_FAR *pvBookmark);
  7304.         
  7305.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Bookmark )( 
  7306.             Recordset21 __RPC_FAR * This,
  7307.             /* [in] */ VARIANT vBookmark);
  7308.         
  7309.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CacheSize )( 
  7310.             Recordset21 __RPC_FAR * This,
  7311.             /* [retval][out] */ long __RPC_FAR *pl);
  7312.         
  7313.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CacheSize )( 
  7314.             Recordset21 __RPC_FAR * This,
  7315.             /* [in] */ long CacheSize);
  7316.         
  7317.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CursorType )( 
  7318.             Recordset21 __RPC_FAR * This,
  7319.             /* [retval][out] */ CursorTypeEnum __RPC_FAR *plCursorType);
  7320.         
  7321.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CursorType )( 
  7322.             Recordset21 __RPC_FAR * This,
  7323.             /* [in] */ CursorTypeEnum lCursorType);
  7324.         
  7325.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EOF )( 
  7326.             Recordset21 __RPC_FAR * This,
  7327.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  7328.         
  7329.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Fields )( 
  7330.             Recordset21 __RPC_FAR * This,
  7331.             /* [retval][out] */ ADOFields __RPC_FAR *__RPC_FAR *ppvObject);
  7332.         
  7333.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LockType )( 
  7334.             Recordset21 __RPC_FAR * This,
  7335.             /* [retval][out] */ LockTypeEnum __RPC_FAR *plLockType);
  7336.         
  7337.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LockType )( 
  7338.             Recordset21 __RPC_FAR * This,
  7339.             /* [in] */ LockTypeEnum lLockType);
  7340.         
  7341.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MaxRecords )( 
  7342.             Recordset21 __RPC_FAR * This,
  7343.             /* [retval][out] */ long __RPC_FAR *plMaxRecords);
  7344.         
  7345.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MaxRecords )( 
  7346.             Recordset21 __RPC_FAR * This,
  7347.             /* [in] */ long lMaxRecords);
  7348.         
  7349.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RecordCount )( 
  7350.             Recordset21 __RPC_FAR * This,
  7351.             /* [retval][out] */ long __RPC_FAR *pl);
  7352.         
  7353.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_Source )( 
  7354.             Recordset21 __RPC_FAR * This,
  7355.             /* [in] */ IDispatch __RPC_FAR *pcmd);
  7356.         
  7357.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Source )( 
  7358.             Recordset21 __RPC_FAR * This,
  7359.             /* [in] */ BSTR bstrConn);
  7360.         
  7361.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Source )( 
  7362.             Recordset21 __RPC_FAR * This,
  7363.             /* [retval][out] */ VARIANT __RPC_FAR *pvSource);
  7364.         
  7365.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddNew )( 
  7366.             Recordset21 __RPC_FAR * This,
  7367.             /* [optional][in] */ VARIANT FieldList,
  7368.             /* [optional][in] */ VARIANT Values);
  7369.         
  7370.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelUpdate )( 
  7371.             Recordset21 __RPC_FAR * This);
  7372.         
  7373.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )( 
  7374.             Recordset21 __RPC_FAR * This);
  7375.         
  7376.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
  7377.             Recordset21 __RPC_FAR * This,
  7378.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  7379.         
  7380.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRows )( 
  7381.             Recordset21 __RPC_FAR * This,
  7382.             /* [defaultvalue][in] */ long Rows,
  7383.             /* [optional][in] */ VARIANT Start,
  7384.             /* [optional][in] */ VARIANT Fields,
  7385.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  7386.         
  7387.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
  7388.             Recordset21 __RPC_FAR * This,
  7389.             /* [in] */ long NumRecords,
  7390.             /* [optional][in] */ VARIANT Start);
  7391.         
  7392.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveNext )( 
  7393.             Recordset21 __RPC_FAR * This);
  7394.         
  7395.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MovePrevious )( 
  7396.             Recordset21 __RPC_FAR * This);
  7397.         
  7398.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveFirst )( 
  7399.             Recordset21 __RPC_FAR * This);
  7400.         
  7401.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveLast )( 
  7402.             Recordset21 __RPC_FAR * This);
  7403.         
  7404.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )( 
  7405.             Recordset21 __RPC_FAR * This,
  7406.             /* [optional][in] */ VARIANT Source,
  7407.             /* [optional][in] */ VARIANT ActiveConnection,
  7408.             /* [defaultvalue][in] */ CursorTypeEnum CursorType,
  7409.             /* [defaultvalue][in] */ LockTypeEnum LockType,
  7410.             /* [defaultvalue][in] */ LONG Options);
  7411.         
  7412.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Requery )( 
  7413.             Recordset21 __RPC_FAR * This,
  7414.             /* [defaultvalue][in] */ LONG Options);
  7415.         
  7416.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_xResync )( 
  7417.             Recordset21 __RPC_FAR * This,
  7418.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  7419.         
  7420.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
  7421.             Recordset21 __RPC_FAR * This,
  7422.             /* [optional][in] */ VARIANT Fields,
  7423.             /* [optional][in] */ VARIANT Values);
  7424.         
  7425.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AbsolutePage )( 
  7426.             Recordset21 __RPC_FAR * This,
  7427.             /* [retval][out] */ PositionEnum __RPC_FAR *pl);
  7428.         
  7429.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AbsolutePage )( 
  7430.             Recordset21 __RPC_FAR * This,
  7431.             /* [in] */ PositionEnum Page);
  7432.         
  7433.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EditMode )( 
  7434.             Recordset21 __RPC_FAR * This,
  7435.             /* [retval][out] */ EditModeEnum __RPC_FAR *pl);
  7436.         
  7437.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Filter )( 
  7438.             Recordset21 __RPC_FAR * This,
  7439.             /* [retval][out] */ VARIANT __RPC_FAR *Criteria);
  7440.         
  7441.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Filter )( 
  7442.             Recordset21 __RPC_FAR * This,
  7443.             /* [in] */ VARIANT Criteria);
  7444.         
  7445.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PageCount )( 
  7446.             Recordset21 __RPC_FAR * This,
  7447.             /* [retval][out] */ long __RPC_FAR *pl);
  7448.         
  7449.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PageSize )( 
  7450.             Recordset21 __RPC_FAR * This,
  7451.             /* [retval][out] */ long __RPC_FAR *pl);
  7452.         
  7453.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PageSize )( 
  7454.             Recordset21 __RPC_FAR * This,
  7455.             /* [in] */ long PageSize);
  7456.         
  7457.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Sort )( 
  7458.             Recordset21 __RPC_FAR * This,
  7459.             /* [retval][out] */ BSTR __RPC_FAR *Criteria);
  7460.         
  7461.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Sort )( 
  7462.             Recordset21 __RPC_FAR * This,
  7463.             /* [in] */ BSTR Criteria);
  7464.         
  7465.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Status )( 
  7466.             Recordset21 __RPC_FAR * This,
  7467.             /* [retval][out] */ long __RPC_FAR *pl);
  7468.         
  7469.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_State )( 
  7470.             Recordset21 __RPC_FAR * This,
  7471.             /* [retval][out] */ LONG __RPC_FAR *plObjState);
  7472.         
  7473.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_xClone )( 
  7474.             Recordset21 __RPC_FAR * This,
  7475.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppvObject);
  7476.         
  7477.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UpdateBatch )( 
  7478.             Recordset21 __RPC_FAR * This,
  7479.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  7480.         
  7481.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelBatch )( 
  7482.             Recordset21 __RPC_FAR * This,
  7483.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  7484.         
  7485.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CursorLocation )( 
  7486.             Recordset21 __RPC_FAR * This,
  7487.             /* [retval][out] */ CursorLocationEnum __RPC_FAR *plCursorLoc);
  7488.         
  7489.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CursorLocation )( 
  7490.             Recordset21 __RPC_FAR * This,
  7491.             /* [in] */ CursorLocationEnum lCursorLoc);
  7492.         
  7493.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NextADORecordset )( 
  7494.             Recordset21 __RPC_FAR * This,
  7495.             /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  7496.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppiRs);
  7497.         
  7498.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Supports )( 
  7499.             Recordset21 __RPC_FAR * This,
  7500.             /* [in] */ CursorOptionEnum CursorOptions,
  7501.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  7502.         
  7503.         /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Collect )( 
  7504.             Recordset21 __RPC_FAR * This,
  7505.             /* [in] */ VARIANT Index,
  7506.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  7507.         
  7508.         /* [hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Collect )( 
  7509.             Recordset21 __RPC_FAR * This,
  7510.             /* [in] */ VARIANT Index,
  7511.             /* [in] */ VARIANT value);
  7512.         
  7513.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MarshalOptions )( 
  7514.             Recordset21 __RPC_FAR * This,
  7515.             /* [retval][out] */ MarshalOptionsEnum __RPC_FAR *peMarshal);
  7516.         
  7517.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MarshalOptions )( 
  7518.             Recordset21 __RPC_FAR * This,
  7519.             /* [in] */ MarshalOptionsEnum eMarshal);
  7520.         
  7521.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Find )( 
  7522.             Recordset21 __RPC_FAR * This,
  7523.             /* [in] */ BSTR Criteria,
  7524.             /* [defaultvalue][in] */ LONG SkipRecords,
  7525.             /* [defaultvalue][in] */ SearchDirectionEnum SearchDirection,
  7526.             /* [optional][in] */ VARIANT Start);
  7527.         
  7528.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Cancel )( 
  7529.             Recordset21 __RPC_FAR * This);
  7530.         
  7531.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DataSource )( 
  7532.             Recordset21 __RPC_FAR * This,
  7533.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunkDataSource);
  7534.         
  7535.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_DataSource )( 
  7536.             Recordset21 __RPC_FAR * This,
  7537.             /* [in] */ IUnknown __RPC_FAR *punkDataSource);
  7538.         
  7539.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_xSave )( 
  7540.             Recordset21 __RPC_FAR * This,
  7541.             /* [optional][in] */ BSTR FileName,
  7542.             /* [defaultvalue][in] */ PersistFormatEnum PersistFormat);
  7543.         
  7544.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveCommand )( 
  7545.             Recordset21 __RPC_FAR * This,
  7546.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppCmd);
  7547.         
  7548.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StayInSync )( 
  7549.             Recordset21 __RPC_FAR * This,
  7550.             /* [in] */ VARIANT_BOOL bStayInSync);
  7551.         
  7552.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StayInSync )( 
  7553.             Recordset21 __RPC_FAR * This,
  7554.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbStayInSync);
  7555.         
  7556.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetString )( 
  7557.             Recordset21 __RPC_FAR * This,
  7558.             /* [defaultvalue][in] */ StringFormatEnum StringFormat,
  7559.             /* [defaultvalue][in] */ long NumRows,
  7560.             /* [optional][in] */ BSTR ColumnDelimeter,
  7561.             /* [optional][in] */ BSTR RowDelimeter,
  7562.             /* [optional][in] */ BSTR NullExpr,
  7563.             /* [retval][out] */ BSTR __RPC_FAR *pRetString);
  7564.         
  7565.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DataMember )( 
  7566.             Recordset21 __RPC_FAR * This,
  7567.             /* [retval][out] */ BSTR __RPC_FAR *pbstrDataMember);
  7568.         
  7569.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DataMember )( 
  7570.             Recordset21 __RPC_FAR * This,
  7571.             /* [in] */ BSTR bstrDataMember);
  7572.         
  7573.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CompareBookmarks )( 
  7574.             Recordset21 __RPC_FAR * This,
  7575.             /* [in] */ VARIANT Bookmark1,
  7576.             /* [in] */ VARIANT Bookmark2,
  7577.             /* [retval][out] */ CompareEnum __RPC_FAR *pCompare);
  7578.         
  7579.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( 
  7580.             Recordset21 __RPC_FAR * This,
  7581.             /* [defaultvalue][in] */ LockTypeEnum LockType,
  7582.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppvObject);
  7583.         
  7584.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Resync )( 
  7585.             Recordset21 __RPC_FAR * This,
  7586.             /* [defaultvalue][in] */ AffectEnum AffectRecords,
  7587.             /* [defaultvalue][in] */ ResyncEnum ResyncValues);
  7588.         
  7589.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Seek )( 
  7590.             Recordset21 __RPC_FAR * This,
  7591.             /* [in] */ VARIANT KeyValues,
  7592.             /* [defaultvalue][in] */ SeekEnum SeekOption);
  7593.         
  7594.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Index )( 
  7595.             Recordset21 __RPC_FAR * This,
  7596.             /* [in] */ BSTR Index);
  7597.         
  7598.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Index )( 
  7599.             Recordset21 __RPC_FAR * This,
  7600.             /* [retval][out] */ BSTR __RPC_FAR *pbstrIndex);
  7601.         
  7602.         END_INTERFACE
  7603.     } Recordset21Vtbl;
  7604.     interface Recordset21
  7605.     {
  7606.         CONST_VTBL struct Recordset21Vtbl __RPC_FAR *lpVtbl;
  7607.     };
  7608.     
  7609. #ifdef COBJMACROS
  7610. #define Recordset21_QueryInterface(This,riid,ppvObject)    \
  7611.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7612. #define Recordset21_AddRef(This)    \
  7613.     (This)->lpVtbl -> AddRef(This)
  7614. #define Recordset21_Release(This)    \
  7615.     (This)->lpVtbl -> Release(This)
  7616. #define Recordset21_GetTypeInfoCount(This,pctinfo)    \
  7617.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  7618. #define Recordset21_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  7619.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  7620. #define Recordset21_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  7621.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  7622. #define Recordset21_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  7623.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  7624. #define Recordset21_get_Properties(This,ppvObject)    \
  7625.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  7626. #define Recordset21_get_AbsolutePosition(This,pl)    \
  7627.     (This)->lpVtbl -> get_AbsolutePosition(This,pl)
  7628. #define Recordset21_put_AbsolutePosition(This,Position)    \
  7629.     (This)->lpVtbl -> put_AbsolutePosition(This,Position)
  7630. #define Recordset21_putref_ActiveConnection(This,pconn)    \
  7631.     (This)->lpVtbl -> putref_ActiveConnection(This,pconn)
  7632. #define Recordset21_put_ActiveConnection(This,vConn)    \
  7633.     (This)->lpVtbl -> put_ActiveConnection(This,vConn)
  7634. #define Recordset21_get_ActiveConnection(This,pvar)    \
  7635.     (This)->lpVtbl -> get_ActiveConnection(This,pvar)
  7636. #define Recordset21_get_BOF(This,pb)    \
  7637.     (This)->lpVtbl -> get_BOF(This,pb)
  7638. #define Recordset21_get_Bookmark(This,pvBookmark)    \
  7639.     (This)->lpVtbl -> get_Bookmark(This,pvBookmark)
  7640. #define Recordset21_put_Bookmark(This,vBookmark)    \
  7641.     (This)->lpVtbl -> put_Bookmark(This,vBookmark)
  7642. #define Recordset21_get_CacheSize(This,pl)    \
  7643.     (This)->lpVtbl -> get_CacheSize(This,pl)
  7644. #define Recordset21_put_CacheSize(This,CacheSize)    \
  7645.     (This)->lpVtbl -> put_CacheSize(This,CacheSize)
  7646. #define Recordset21_get_CursorType(This,plCursorType)    \
  7647.     (This)->lpVtbl -> get_CursorType(This,plCursorType)
  7648. #define Recordset21_put_CursorType(This,lCursorType)    \
  7649.     (This)->lpVtbl -> put_CursorType(This,lCursorType)
  7650. #define Recordset21_get_EOF(This,pb)    \
  7651.     (This)->lpVtbl -> get_EOF(This,pb)
  7652. #define Recordset21_get_Fields(This,ppvObject)    \
  7653.     (This)->lpVtbl -> get_Fields(This,ppvObject)
  7654. #define Recordset21_get_LockType(This,plLockType)    \
  7655.     (This)->lpVtbl -> get_LockType(This,plLockType)
  7656. #define Recordset21_put_LockType(This,lLockType)    \
  7657.     (This)->lpVtbl -> put_LockType(This,lLockType)
  7658. #define Recordset21_get_MaxRecords(This,plMaxRecords)    \
  7659.     (This)->lpVtbl -> get_MaxRecords(This,plMaxRecords)
  7660. #define Recordset21_put_MaxRecords(This,lMaxRecords)    \
  7661.     (This)->lpVtbl -> put_MaxRecords(This,lMaxRecords)
  7662. #define Recordset21_get_RecordCount(This,pl)    \
  7663.     (This)->lpVtbl -> get_RecordCount(This,pl)
  7664. #define Recordset21_putref_Source(This,pcmd)    \
  7665.     (This)->lpVtbl -> putref_Source(This,pcmd)
  7666. #define Recordset21_put_Source(This,bstrConn)    \
  7667.     (This)->lpVtbl -> put_Source(This,bstrConn)
  7668. #define Recordset21_get_Source(This,pvSource)    \
  7669.     (This)->lpVtbl -> get_Source(This,pvSource)
  7670. #define Recordset21_AddNew(This,FieldList,Values)    \
  7671.     (This)->lpVtbl -> AddNew(This,FieldList,Values)
  7672. #define Recordset21_CancelUpdate(This)    \
  7673.     (This)->lpVtbl -> CancelUpdate(This)
  7674. #define Recordset21_Close(This)    \
  7675.     (This)->lpVtbl -> Close(This)
  7676. #define Recordset21_Delete(This,AffectRecords)    \
  7677.     (This)->lpVtbl -> Delete(This,AffectRecords)
  7678. #define Recordset21_GetRows(This,Rows,Start,Fields,pvar)    \
  7679.     (This)->lpVtbl -> GetRows(This,Rows,Start,Fields,pvar)
  7680. #define Recordset21_Move(This,NumRecords,Start)    \
  7681.     (This)->lpVtbl -> Move(This,NumRecords,Start)
  7682. #define Recordset21_MoveNext(This)    \
  7683.     (This)->lpVtbl -> MoveNext(This)
  7684. #define Recordset21_MovePrevious(This)    \
  7685.     (This)->lpVtbl -> MovePrevious(This)
  7686. #define Recordset21_MoveFirst(This)    \
  7687.     (This)->lpVtbl -> MoveFirst(This)
  7688. #define Recordset21_MoveLast(This)    \
  7689.     (This)->lpVtbl -> MoveLast(This)
  7690. #define Recordset21_Open(This,Source,ActiveConnection,CursorType,LockType,Options)    \
  7691.     (This)->lpVtbl -> Open(This,Source,ActiveConnection,CursorType,LockType,Options)
  7692. #define Recordset21_Requery(This,Options)    \
  7693.     (This)->lpVtbl -> Requery(This,Options)
  7694. #define Recordset21__xResync(This,AffectRecords)    \
  7695.     (This)->lpVtbl -> _xResync(This,AffectRecords)
  7696. #define Recordset21_Update(This,Fields,Values)    \
  7697.     (This)->lpVtbl -> Update(This,Fields,Values)
  7698. #define Recordset21_get_AbsolutePage(This,pl)    \
  7699.     (This)->lpVtbl -> get_AbsolutePage(This,pl)
  7700. #define Recordset21_put_AbsolutePage(This,Page)    \
  7701.     (This)->lpVtbl -> put_AbsolutePage(This,Page)
  7702. #define Recordset21_get_EditMode(This,pl)    \
  7703.     (This)->lpVtbl -> get_EditMode(This,pl)
  7704. #define Recordset21_get_Filter(This,Criteria)    \
  7705.     (This)->lpVtbl -> get_Filter(This,Criteria)
  7706. #define Recordset21_put_Filter(This,Criteria)    \
  7707.     (This)->lpVtbl -> put_Filter(This,Criteria)
  7708. #define Recordset21_get_PageCount(This,pl)    \
  7709.     (This)->lpVtbl -> get_PageCount(This,pl)
  7710. #define Recordset21_get_PageSize(This,pl)    \
  7711.     (This)->lpVtbl -> get_PageSize(This,pl)
  7712. #define Recordset21_put_PageSize(This,PageSize)    \
  7713.     (This)->lpVtbl -> put_PageSize(This,PageSize)
  7714. #define Recordset21_get_Sort(This,Criteria)    \
  7715.     (This)->lpVtbl -> get_Sort(This,Criteria)
  7716. #define Recordset21_put_Sort(This,Criteria)    \
  7717.     (This)->lpVtbl -> put_Sort(This,Criteria)
  7718. #define Recordset21_get_Status(This,pl)    \
  7719.     (This)->lpVtbl -> get_Status(This,pl)
  7720. #define Recordset21_get_State(This,plObjState)    \
  7721.     (This)->lpVtbl -> get_State(This,plObjState)
  7722. #define Recordset21__xClone(This,ppvObject)    \
  7723.     (This)->lpVtbl -> _xClone(This,ppvObject)
  7724. #define Recordset21_UpdateBatch(This,AffectRecords)    \
  7725.     (This)->lpVtbl -> UpdateBatch(This,AffectRecords)
  7726. #define Recordset21_CancelBatch(This,AffectRecords)    \
  7727.     (This)->lpVtbl -> CancelBatch(This,AffectRecords)
  7728. #define Recordset21_get_CursorLocation(This,plCursorLoc)    \
  7729.     (This)->lpVtbl -> get_CursorLocation(This,plCursorLoc)
  7730. #define Recordset21_put_CursorLocation(This,lCursorLoc)    \
  7731.     (This)->lpVtbl -> put_CursorLocation(This,lCursorLoc)
  7732. #define Recordset21_NextRecordset(This,RecordsAffected,ppiRs)    \
  7733.     (This)->lpVtbl -> NextRecordset(This,RecordsAffected,ppiRs)
  7734. #define Recordset21_Supports(This,CursorOptions,pb)    \
  7735.     (This)->lpVtbl -> Supports(This,CursorOptions,pb)
  7736. #define Recordset21_get_Collect(This,Index,pvar)    \
  7737.     (This)->lpVtbl -> get_Collect(This,Index,pvar)
  7738. #define Recordset21_put_Collect(This,Index,value)    \
  7739.     (This)->lpVtbl -> put_Collect(This,Index,value)
  7740. #define Recordset21_get_MarshalOptions(This,peMarshal)    \
  7741.     (This)->lpVtbl -> get_MarshalOptions(This,peMarshal)
  7742. #define Recordset21_put_MarshalOptions(This,eMarshal)    \
  7743.     (This)->lpVtbl -> put_MarshalOptions(This,eMarshal)
  7744. #define Recordset21_Find(This,Criteria,SkipRecords,SearchDirection,Start)    \
  7745.     (This)->lpVtbl -> Find(This,Criteria,SkipRecords,SearchDirection,Start)
  7746. #define Recordset21_Cancel(This)    \
  7747.     (This)->lpVtbl -> Cancel(This)
  7748. #define Recordset21_get_DataSource(This,ppunkDataSource)    \
  7749.     (This)->lpVtbl -> get_DataSource(This,ppunkDataSource)
  7750. #define Recordset21_putref_DataSource(This,punkDataSource)    \
  7751.     (This)->lpVtbl -> putref_DataSource(This,punkDataSource)
  7752. #define Recordset21__xSave(This,FileName,PersistFormat)    \
  7753.     (This)->lpVtbl -> _xSave(This,FileName,PersistFormat)
  7754. #define Recordset21_get_ActiveCommand(This,ppCmd)    \
  7755.     (This)->lpVtbl -> get_ActiveCommand(This,ppCmd)
  7756. #define Recordset21_put_StayInSync(This,bStayInSync)    \
  7757.     (This)->lpVtbl -> put_StayInSync(This,bStayInSync)
  7758. #define Recordset21_get_StayInSync(This,pbStayInSync)    \
  7759.     (This)->lpVtbl -> get_StayInSync(This,pbStayInSync)
  7760. #define Recordset21_GetString(This,StringFormat,NumRows,ColumnDelimeter,RowDelimeter,NullExpr,pRetString)    \
  7761.     (This)->lpVtbl -> GetString(This,StringFormat,NumRows,ColumnDelimeter,RowDelimeter,NullExpr,pRetString)
  7762. #define Recordset21_get_DataMember(This,pbstrDataMember)    \
  7763.     (This)->lpVtbl -> get_DataMember(This,pbstrDataMember)
  7764. #define Recordset21_put_DataMember(This,bstrDataMember)    \
  7765.     (This)->lpVtbl -> put_DataMember(This,bstrDataMember)
  7766. #define Recordset21_CompareBookmarks(This,Bookmark1,Bookmark2,pCompare)    \
  7767.     (This)->lpVtbl -> CompareBookmarks(This,Bookmark1,Bookmark2,pCompare)
  7768. #define Recordset21_Clone(This,LockType,ppvObject)    \
  7769.     (This)->lpVtbl -> Clone(This,LockType,ppvObject)
  7770. #define Recordset21_Resync(This,AffectRecords,ResyncValues)    \
  7771.     (This)->lpVtbl -> Resync(This,AffectRecords,ResyncValues)
  7772. #define Recordset21_Seek(This,KeyValues,SeekOption)    \
  7773.     (This)->lpVtbl -> Seek(This,KeyValues,SeekOption)
  7774. #define Recordset21_put_Index(This,Index)    \
  7775.     (This)->lpVtbl -> put_Index(This,Index)
  7776. #define Recordset21_get_Index(This,pbstrIndex)    \
  7777.     (This)->lpVtbl -> get_Index(This,pbstrIndex)
  7778. #endif /* COBJMACROS */
  7779. #endif     /* C style interface */
  7780. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset21_Seek_Proxy( 
  7781.     Recordset21 __RPC_FAR * This,
  7782.     /* [in] */ VARIANT KeyValues,
  7783.     /* [defaultvalue][in] */ SeekEnum SeekOption);
  7784. void __RPC_STUB Recordset21_Seek_Stub(
  7785.     IRpcStubBuffer *This,
  7786.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7787.     PRPC_MESSAGE _pRpcMessage,
  7788.     DWORD *_pdwStubPhase);
  7789. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset21_put_Index_Proxy( 
  7790.     Recordset21 __RPC_FAR * This,
  7791.     /* [in] */ BSTR Index);
  7792. void __RPC_STUB Recordset21_put_Index_Stub(
  7793.     IRpcStubBuffer *This,
  7794.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7795.     PRPC_MESSAGE _pRpcMessage,
  7796.     DWORD *_pdwStubPhase);
  7797. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset21_get_Index_Proxy( 
  7798.     Recordset21 __RPC_FAR * This,
  7799.     /* [retval][out] */ BSTR __RPC_FAR *pbstrIndex);
  7800. void __RPC_STUB Recordset21_get_Index_Stub(
  7801.     IRpcStubBuffer *This,
  7802.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7803.     PRPC_MESSAGE _pRpcMessage,
  7804.     DWORD *_pdwStubPhase);
  7805. #endif     /* __Recordset21_INTERFACE_DEFINED__ */
  7806. #ifndef ___Recordset_INTERFACE_DEFINED__
  7807. #define ___Recordset_INTERFACE_DEFINED__
  7808. /* interface _ADORecordset */
  7809. /* [object][helpcontext][uuid][nonextensible][dual] */ 
  7810. EXTERN_C const IID IID__Recordset;
  7811. #if defined(__cplusplus) && !defined(CINTERFACE)
  7812.     
  7813.     MIDL_INTERFACE("00000556-0000-0010-8000-00AA006D2EA4")
  7814.     _ADORecordset : public Recordset21
  7815.     {
  7816.     public:
  7817.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Save( 
  7818.             /* [optional][in] */ VARIANT Destination,
  7819.             /* [defaultvalue][in] */ PersistFormatEnum PersistFormat = adPersistADTG) = 0;
  7820.         
  7821.     };
  7822.     
  7823. #else     /* C style interface */
  7824.     typedef struct _RecordsetVtbl
  7825.     {
  7826.         BEGIN_INTERFACE
  7827.         
  7828.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7829.             _ADORecordset __RPC_FAR * This,
  7830.             /* [in] */ REFIID riid,
  7831.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7832.         
  7833.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7834.             _ADORecordset __RPC_FAR * This);
  7835.         
  7836.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7837.             _ADORecordset __RPC_FAR * This);
  7838.         
  7839.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  7840.             _ADORecordset __RPC_FAR * This,
  7841.             /* [out] */ UINT __RPC_FAR *pctinfo);
  7842.         
  7843.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  7844.             _ADORecordset __RPC_FAR * This,
  7845.             /* [in] */ UINT iTInfo,
  7846.             /* [in] */ LCID lcid,
  7847.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  7848.         
  7849.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  7850.             _ADORecordset __RPC_FAR * This,
  7851.             /* [in] */ REFIID riid,
  7852.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  7853.             /* [in] */ UINT cNames,
  7854.             /* [in] */ LCID lcid,
  7855.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  7856.         
  7857.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  7858.             _ADORecordset __RPC_FAR * This,
  7859.             /* [in] */ DISPID dispIdMember,
  7860.             /* [in] */ REFIID riid,
  7861.             /* [in] */ LCID lcid,
  7862.             /* [in] */ WORD wFlags,
  7863.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  7864.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  7865.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  7866.             /* [out] */ UINT __RPC_FAR *puArgErr);
  7867.         
  7868.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Properties )( 
  7869.             _ADORecordset __RPC_FAR * This,
  7870.             /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject);
  7871.         
  7872.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AbsolutePosition )( 
  7873.             _ADORecordset __RPC_FAR * This,
  7874.             /* [retval][out] */ PositionEnum __RPC_FAR *pl);
  7875.         
  7876.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AbsolutePosition )( 
  7877.             _ADORecordset __RPC_FAR * This,
  7878.             /* [in] */ PositionEnum Position);
  7879.         
  7880.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_ActiveADOConnection )( 
  7881.             _ADORecordset __RPC_FAR * This,
  7882.             /* [in] */ IDispatch __RPC_FAR *pconn);
  7883.         
  7884.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ActiveConnection )( 
  7885.             _ADORecordset __RPC_FAR * This,
  7886.             /* [in] */ VARIANT vConn);
  7887.         
  7888.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveConnection )( 
  7889.             _ADORecordset __RPC_FAR * This,
  7890.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  7891.         
  7892.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_BOF )( 
  7893.             _ADORecordset __RPC_FAR * This,
  7894.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  7895.         
  7896.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Bookmark )( 
  7897.             _ADORecordset __RPC_FAR * This,
  7898.             /* [retval][out] */ VARIANT __RPC_FAR *pvBookmark);
  7899.         
  7900.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Bookmark )( 
  7901.             _ADORecordset __RPC_FAR * This,
  7902.             /* [in] */ VARIANT vBookmark);
  7903.         
  7904.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CacheSize )( 
  7905.             _ADORecordset __RPC_FAR * This,
  7906.             /* [retval][out] */ long __RPC_FAR *pl);
  7907.         
  7908.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CacheSize )( 
  7909.             _ADORecordset __RPC_FAR * This,
  7910.             /* [in] */ long CacheSize);
  7911.         
  7912.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CursorType )( 
  7913.             _ADORecordset __RPC_FAR * This,
  7914.             /* [retval][out] */ CursorTypeEnum __RPC_FAR *plCursorType);
  7915.         
  7916.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CursorType )( 
  7917.             _ADORecordset __RPC_FAR * This,
  7918.             /* [in] */ CursorTypeEnum lCursorType);
  7919.         
  7920.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EOF )( 
  7921.             _ADORecordset __RPC_FAR * This,
  7922.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  7923.         
  7924.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Fields )( 
  7925.             _ADORecordset __RPC_FAR * This,
  7926.             /* [retval][out] */ ADOFields __RPC_FAR *__RPC_FAR *ppvObject);
  7927.         
  7928.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LockType )( 
  7929.             _ADORecordset __RPC_FAR * This,
  7930.             /* [retval][out] */ LockTypeEnum __RPC_FAR *plLockType);
  7931.         
  7932.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LockType )( 
  7933.             _ADORecordset __RPC_FAR * This,
  7934.             /* [in] */ LockTypeEnum lLockType);
  7935.         
  7936.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MaxRecords )( 
  7937.             _ADORecordset __RPC_FAR * This,
  7938.             /* [retval][out] */ long __RPC_FAR *plMaxRecords);
  7939.         
  7940.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MaxRecords )( 
  7941.             _ADORecordset __RPC_FAR * This,
  7942.             /* [in] */ long lMaxRecords);
  7943.         
  7944.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RecordCount )( 
  7945.             _ADORecordset __RPC_FAR * This,
  7946.             /* [retval][out] */ long __RPC_FAR *pl);
  7947.         
  7948.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_Source )( 
  7949.             _ADORecordset __RPC_FAR * This,
  7950.             /* [in] */ IDispatch __RPC_FAR *pcmd);
  7951.         
  7952.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Source )( 
  7953.             _ADORecordset __RPC_FAR * This,
  7954.             /* [in] */ BSTR bstrConn);
  7955.         
  7956.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Source )( 
  7957.             _ADORecordset __RPC_FAR * This,
  7958.             /* [retval][out] */ VARIANT __RPC_FAR *pvSource);
  7959.         
  7960.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddNew )( 
  7961.             _ADORecordset __RPC_FAR * This,
  7962.             /* [optional][in] */ VARIANT FieldList,
  7963.             /* [optional][in] */ VARIANT Values);
  7964.         
  7965.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelUpdate )( 
  7966.             _ADORecordset __RPC_FAR * This);
  7967.         
  7968.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )( 
  7969.             _ADORecordset __RPC_FAR * This);
  7970.         
  7971.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
  7972.             _ADORecordset __RPC_FAR * This,
  7973.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  7974.         
  7975.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRows )( 
  7976.             _ADORecordset __RPC_FAR * This,
  7977.             /* [defaultvalue][in] */ long Rows,
  7978.             /* [optional][in] */ VARIANT Start,
  7979.             /* [optional][in] */ VARIANT Fields,
  7980.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  7981.         
  7982.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
  7983.             _ADORecordset __RPC_FAR * This,
  7984.             /* [in] */ long NumRecords,
  7985.             /* [optional][in] */ VARIANT Start);
  7986.         
  7987.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveNext )( 
  7988.             _ADORecordset __RPC_FAR * This);
  7989.         
  7990.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MovePrevious )( 
  7991.             _ADORecordset __RPC_FAR * This);
  7992.         
  7993.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveFirst )( 
  7994.             _ADORecordset __RPC_FAR * This);
  7995.         
  7996.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveLast )( 
  7997.             _ADORecordset __RPC_FAR * This);
  7998.         
  7999.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )( 
  8000.             _ADORecordset __RPC_FAR * This,
  8001.             /* [optional][in] */ VARIANT Source,
  8002.             /* [optional][in] */ VARIANT ActiveConnection,
  8003.             /* [defaultvalue][in] */ CursorTypeEnum CursorType,
  8004.             /* [defaultvalue][in] */ LockTypeEnum LockType,
  8005.             /* [defaultvalue][in] */ LONG Options);
  8006.         
  8007.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Requery )( 
  8008.             _ADORecordset __RPC_FAR * This,
  8009.             /* [defaultvalue][in] */ LONG Options);
  8010.         
  8011.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_xResync )( 
  8012.             _ADORecordset __RPC_FAR * This,
  8013.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  8014.         
  8015.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
  8016.             _ADORecordset __RPC_FAR * This,
  8017.             /* [optional][in] */ VARIANT Fields,
  8018.             /* [optional][in] */ VARIANT Values);
  8019.         
  8020.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AbsolutePage )( 
  8021.             _ADORecordset __RPC_FAR * This,
  8022.             /* [retval][out] */ PositionEnum __RPC_FAR *pl);
  8023.         
  8024.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AbsolutePage )( 
  8025.             _ADORecordset __RPC_FAR * This,
  8026.             /* [in] */ PositionEnum Page);
  8027.         
  8028.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EditMode )( 
  8029.             _ADORecordset __RPC_FAR * This,
  8030.             /* [retval][out] */ EditModeEnum __RPC_FAR *pl);
  8031.         
  8032.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Filter )( 
  8033.             _ADORecordset __RPC_FAR * This,
  8034.             /* [retval][out] */ VARIANT __RPC_FAR *Criteria);
  8035.         
  8036.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Filter )( 
  8037.             _ADORecordset __RPC_FAR * This,
  8038.             /* [in] */ VARIANT Criteria);
  8039.         
  8040.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PageCount )( 
  8041.             _ADORecordset __RPC_FAR * This,
  8042.             /* [retval][out] */ long __RPC_FAR *pl);
  8043.         
  8044.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PageSize )( 
  8045.             _ADORecordset __RPC_FAR * This,
  8046.             /* [retval][out] */ long __RPC_FAR *pl);
  8047.         
  8048.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PageSize )( 
  8049.             _ADORecordset __RPC_FAR * This,
  8050.             /* [in] */ long PageSize);
  8051.         
  8052.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Sort )( 
  8053.             _ADORecordset __RPC_FAR * This,
  8054.             /* [retval][out] */ BSTR __RPC_FAR *Criteria);
  8055.         
  8056.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Sort )( 
  8057.             _ADORecordset __RPC_FAR * This,
  8058.             /* [in] */ BSTR Criteria);
  8059.         
  8060.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Status )( 
  8061.             _ADORecordset __RPC_FAR * This,
  8062.             /* [retval][out] */ long __RPC_FAR *pl);
  8063.         
  8064.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_State )( 
  8065.             _ADORecordset __RPC_FAR * This,
  8066.             /* [retval][out] */ LONG __RPC_FAR *plObjState);
  8067.         
  8068.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_xClone )( 
  8069.             _ADORecordset __RPC_FAR * This,
  8070.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppvObject);
  8071.         
  8072.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UpdateBatch )( 
  8073.             _ADORecordset __RPC_FAR * This,
  8074.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  8075.         
  8076.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelBatch )( 
  8077.             _ADORecordset __RPC_FAR * This,
  8078.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  8079.         
  8080.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CursorLocation )( 
  8081.             _ADORecordset __RPC_FAR * This,
  8082.             /* [retval][out] */ CursorLocationEnum __RPC_FAR *plCursorLoc);
  8083.         
  8084.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CursorLocation )( 
  8085.             _ADORecordset __RPC_FAR * This,
  8086.             /* [in] */ CursorLocationEnum lCursorLoc);
  8087.         
  8088.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NextADORecordset )( 
  8089.             _ADORecordset __RPC_FAR * This,
  8090.             /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  8091.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppiRs);
  8092.         
  8093.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Supports )( 
  8094.             _ADORecordset __RPC_FAR * This,
  8095.             /* [in] */ CursorOptionEnum CursorOptions,
  8096.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  8097.         
  8098.         /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Collect )( 
  8099.             _ADORecordset __RPC_FAR * This,
  8100.             /* [in] */ VARIANT Index,
  8101.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  8102.         
  8103.         /* [hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Collect )( 
  8104.             _ADORecordset __RPC_FAR * This,
  8105.             /* [in] */ VARIANT Index,
  8106.             /* [in] */ VARIANT value);
  8107.         
  8108.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MarshalOptions )( 
  8109.             _ADORecordset __RPC_FAR * This,
  8110.             /* [retval][out] */ MarshalOptionsEnum __RPC_FAR *peMarshal);
  8111.         
  8112.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MarshalOptions )( 
  8113.             _ADORecordset __RPC_FAR * This,
  8114.             /* [in] */ MarshalOptionsEnum eMarshal);
  8115.         
  8116.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Find )( 
  8117.             _ADORecordset __RPC_FAR * This,
  8118.             /* [in] */ BSTR Criteria,
  8119.             /* [defaultvalue][in] */ LONG SkipRecords,
  8120.             /* [defaultvalue][in] */ SearchDirectionEnum SearchDirection,
  8121.             /* [optional][in] */ VARIANT Start);
  8122.         
  8123.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Cancel )( 
  8124.             _ADORecordset __RPC_FAR * This);
  8125.         
  8126.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DataSource )( 
  8127.             _ADORecordset __RPC_FAR * This,
  8128.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunkDataSource);
  8129.         
  8130.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_DataSource )( 
  8131.             _ADORecordset __RPC_FAR * This,
  8132.             /* [in] */ IUnknown __RPC_FAR *punkDataSource);
  8133.         
  8134.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_xSave )( 
  8135.             _ADORecordset __RPC_FAR * This,
  8136.             /* [optional][in] */ BSTR FileName,
  8137.             /* [defaultvalue][in] */ PersistFormatEnum PersistFormat);
  8138.         
  8139.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveCommand )( 
  8140.             _ADORecordset __RPC_FAR * This,
  8141.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppCmd);
  8142.         
  8143.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StayInSync )( 
  8144.             _ADORecordset __RPC_FAR * This,
  8145.             /* [in] */ VARIANT_BOOL bStayInSync);
  8146.         
  8147.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StayInSync )( 
  8148.             _ADORecordset __RPC_FAR * This,
  8149.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbStayInSync);
  8150.         
  8151.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetString )( 
  8152.             _ADORecordset __RPC_FAR * This,
  8153.             /* [defaultvalue][in] */ StringFormatEnum StringFormat,
  8154.             /* [defaultvalue][in] */ long NumRows,
  8155.             /* [optional][in] */ BSTR ColumnDelimeter,
  8156.             /* [optional][in] */ BSTR RowDelimeter,
  8157.             /* [optional][in] */ BSTR NullExpr,
  8158.             /* [retval][out] */ BSTR __RPC_FAR *pRetString);
  8159.         
  8160.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DataMember )( 
  8161.             _ADORecordset __RPC_FAR * This,
  8162.             /* [retval][out] */ BSTR __RPC_FAR *pbstrDataMember);
  8163.         
  8164.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DataMember )( 
  8165.             _ADORecordset __RPC_FAR * This,
  8166.             /* [in] */ BSTR bstrDataMember);
  8167.         
  8168.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CompareBookmarks )( 
  8169.             _ADORecordset __RPC_FAR * This,
  8170.             /* [in] */ VARIANT Bookmark1,
  8171.             /* [in] */ VARIANT Bookmark2,
  8172.             /* [retval][out] */ CompareEnum __RPC_FAR *pCompare);
  8173.         
  8174.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( 
  8175.             _ADORecordset __RPC_FAR * This,
  8176.             /* [defaultvalue][in] */ LockTypeEnum LockType,
  8177.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppvObject);
  8178.         
  8179.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Resync )( 
  8180.             _ADORecordset __RPC_FAR * This,
  8181.             /* [defaultvalue][in] */ AffectEnum AffectRecords,
  8182.             /* [defaultvalue][in] */ ResyncEnum ResyncValues);
  8183.         
  8184.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Seek )( 
  8185.             _ADORecordset __RPC_FAR * This,
  8186.             /* [in] */ VARIANT KeyValues,
  8187.             /* [defaultvalue][in] */ SeekEnum SeekOption);
  8188.         
  8189.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Index )( 
  8190.             _ADORecordset __RPC_FAR * This,
  8191.             /* [in] */ BSTR Index);
  8192.         
  8193.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Index )( 
  8194.             _ADORecordset __RPC_FAR * This,
  8195.             /* [retval][out] */ BSTR __RPC_FAR *pbstrIndex);
  8196.         
  8197.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Save )( 
  8198.             _ADORecordset __RPC_FAR * This,
  8199.             /* [optional][in] */ VARIANT Destination,
  8200.             /* [defaultvalue][in] */ PersistFormatEnum PersistFormat);
  8201.         
  8202.         END_INTERFACE
  8203.     } _RecordsetVtbl;
  8204.     interface _Recordset
  8205.     {
  8206.         CONST_VTBL struct _RecordsetVtbl __RPC_FAR *lpVtbl;
  8207.     };
  8208.     
  8209. #ifdef COBJMACROS
  8210. #define _Recordset_QueryInterface(This,riid,ppvObject)    \
  8211.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8212. #define _Recordset_AddRef(This)    \
  8213.     (This)->lpVtbl -> AddRef(This)
  8214. #define _Recordset_Release(This)    \
  8215.     (This)->lpVtbl -> Release(This)
  8216. #define _Recordset_GetTypeInfoCount(This,pctinfo)    \
  8217.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  8218. #define _Recordset_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  8219.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  8220. #define _Recordset_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  8221.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  8222. #define _Recordset_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  8223.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  8224. #define _Recordset_get_Properties(This,ppvObject)    \
  8225.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  8226. #define _Recordset_get_AbsolutePosition(This,pl)    \
  8227.     (This)->lpVtbl -> get_AbsolutePosition(This,pl)
  8228. #define _Recordset_put_AbsolutePosition(This,Position)    \
  8229.     (This)->lpVtbl -> put_AbsolutePosition(This,Position)
  8230. #define _Recordset_putref_ActiveConnection(This,pconn)    \
  8231.     (This)->lpVtbl -> putref_ActiveConnection(This,pconn)
  8232. #define _Recordset_put_ActiveConnection(This,vConn)    \
  8233.     (This)->lpVtbl -> put_ActiveConnection(This,vConn)
  8234. #define _Recordset_get_ActiveConnection(This,pvar)    \
  8235.     (This)->lpVtbl -> get_ActiveConnection(This,pvar)
  8236. #define _Recordset_get_BOF(This,pb)    \
  8237.     (This)->lpVtbl -> get_BOF(This,pb)
  8238. #define _Recordset_get_Bookmark(This,pvBookmark)    \
  8239.     (This)->lpVtbl -> get_Bookmark(This,pvBookmark)
  8240. #define _Recordset_put_Bookmark(This,vBookmark)    \
  8241.     (This)->lpVtbl -> put_Bookmark(This,vBookmark)
  8242. #define _Recordset_get_CacheSize(This,pl)    \
  8243.     (This)->lpVtbl -> get_CacheSize(This,pl)
  8244. #define _Recordset_put_CacheSize(This,CacheSize)    \
  8245.     (This)->lpVtbl -> put_CacheSize(This,CacheSize)
  8246. #define _Recordset_get_CursorType(This,plCursorType)    \
  8247.     (This)->lpVtbl -> get_CursorType(This,plCursorType)
  8248. #define _Recordset_put_CursorType(This,lCursorType)    \
  8249.     (This)->lpVtbl -> put_CursorType(This,lCursorType)
  8250. #define _Recordset_get_EOF(This,pb)    \
  8251.     (This)->lpVtbl -> get_EOF(This,pb)
  8252. #define _Recordset_get_Fields(This,ppvObject)    \
  8253.     (This)->lpVtbl -> get_Fields(This,ppvObject)
  8254. #define _Recordset_get_LockType(This,plLockType)    \
  8255.     (This)->lpVtbl -> get_LockType(This,plLockType)
  8256. #define _Recordset_put_LockType(This,lLockType)    \
  8257.     (This)->lpVtbl -> put_LockType(This,lLockType)
  8258. #define _Recordset_get_MaxRecords(This,plMaxRecords)    \
  8259.     (This)->lpVtbl -> get_MaxRecords(This,plMaxRecords)
  8260. #define _Recordset_put_MaxRecords(This,lMaxRecords)    \
  8261.     (This)->lpVtbl -> put_MaxRecords(This,lMaxRecords)
  8262. #define _Recordset_get_RecordCount(This,pl)    \
  8263.     (This)->lpVtbl -> get_RecordCount(This,pl)
  8264. #define _Recordset_putref_Source(This,pcmd)    \
  8265.     (This)->lpVtbl -> putref_Source(This,pcmd)
  8266. #define _Recordset_put_Source(This,bstrConn)    \
  8267.     (This)->lpVtbl -> put_Source(This,bstrConn)
  8268. #define _Recordset_get_Source(This,pvSource)    \
  8269.     (This)->lpVtbl -> get_Source(This,pvSource)
  8270. #define _Recordset_AddNew(This,FieldList,Values)    \
  8271.     (This)->lpVtbl -> AddNew(This,FieldList,Values)
  8272. #define _Recordset_CancelUpdate(This)    \
  8273.     (This)->lpVtbl -> CancelUpdate(This)
  8274. #define _Recordset_Close(This)    \
  8275.     (This)->lpVtbl -> Close(This)
  8276. #define _Recordset_Delete(This,AffectRecords)    \
  8277.     (This)->lpVtbl -> Delete(This,AffectRecords)
  8278. #define _Recordset_GetRows(This,Rows,Start,Fields,pvar)    \
  8279.     (This)->lpVtbl -> GetRows(This,Rows,Start,Fields,pvar)
  8280. #define _Recordset_Move(This,NumRecords,Start)    \
  8281.     (This)->lpVtbl -> Move(This,NumRecords,Start)
  8282. #define _Recordset_MoveNext(This)    \
  8283.     (This)->lpVtbl -> MoveNext(This)
  8284. #define _Recordset_MovePrevious(This)    \
  8285.     (This)->lpVtbl -> MovePrevious(This)
  8286. #define _Recordset_MoveFirst(This)    \
  8287.     (This)->lpVtbl -> MoveFirst(This)
  8288. #define _Recordset_MoveLast(This)    \
  8289.     (This)->lpVtbl -> MoveLast(This)
  8290. #define _Recordset_Open(This,Source,ActiveConnection,CursorType,LockType,Options)    \
  8291.     (This)->lpVtbl -> Open(This,Source,ActiveConnection,CursorType,LockType,Options)
  8292. #define _Recordset_Requery(This,Options)    \
  8293.     (This)->lpVtbl -> Requery(This,Options)
  8294. #define _Recordset__xResync(This,AffectRecords)    \
  8295.     (This)->lpVtbl -> _xResync(This,AffectRecords)
  8296. #define _Recordset_Update(This,Fields,Values)    \
  8297.     (This)->lpVtbl -> Update(This,Fields,Values)
  8298. #define _Recordset_get_AbsolutePage(This,pl)    \
  8299.     (This)->lpVtbl -> get_AbsolutePage(This,pl)
  8300. #define _Recordset_put_AbsolutePage(This,Page)    \
  8301.     (This)->lpVtbl -> put_AbsolutePage(This,Page)
  8302. #define _Recordset_get_EditMode(This,pl)    \
  8303.     (This)->lpVtbl -> get_EditMode(This,pl)
  8304. #define _Recordset_get_Filter(This,Criteria)    \
  8305.     (This)->lpVtbl -> get_Filter(This,Criteria)
  8306. #define _Recordset_put_Filter(This,Criteria)    \
  8307.     (This)->lpVtbl -> put_Filter(This,Criteria)
  8308. #define _Recordset_get_PageCount(This,pl)    \
  8309.     (This)->lpVtbl -> get_PageCount(This,pl)
  8310. #define _Recordset_get_PageSize(This,pl)    \
  8311.     (This)->lpVtbl -> get_PageSize(This,pl)
  8312. #define _Recordset_put_PageSize(This,PageSize)    \
  8313.     (This)->lpVtbl -> put_PageSize(This,PageSize)
  8314. #define _Recordset_get_Sort(This,Criteria)    \
  8315.     (This)->lpVtbl -> get_Sort(This,Criteria)
  8316. #define _Recordset_put_Sort(This,Criteria)    \
  8317.     (This)->lpVtbl -> put_Sort(This,Criteria)
  8318. #define _Recordset_get_Status(This,pl)    \
  8319.     (This)->lpVtbl -> get_Status(This,pl)
  8320. #define _Recordset_get_State(This,plObjState)    \
  8321.     (This)->lpVtbl -> get_State(This,plObjState)
  8322. #define _Recordset__xClone(This,ppvObject)    \
  8323.     (This)->lpVtbl -> _xClone(This,ppvObject)
  8324. #define _Recordset_UpdateBatch(This,AffectRecords)    \
  8325.     (This)->lpVtbl -> UpdateBatch(This,AffectRecords)
  8326. #define _Recordset_CancelBatch(This,AffectRecords)    \
  8327.     (This)->lpVtbl -> CancelBatch(This,AffectRecords)
  8328. #define _Recordset_get_CursorLocation(This,plCursorLoc)    \
  8329.     (This)->lpVtbl -> get_CursorLocation(This,plCursorLoc)
  8330. #define _Recordset_put_CursorLocation(This,lCursorLoc)    \
  8331.     (This)->lpVtbl -> put_CursorLocation(This,lCursorLoc)
  8332. #define _Recordset_NextRecordset(This,RecordsAffected,ppiRs)    \
  8333.     (This)->lpVtbl -> NextRecordset(This,RecordsAffected,ppiRs)
  8334. #define _Recordset_Supports(This,CursorOptions,pb)    \
  8335.     (This)->lpVtbl -> Supports(This,CursorOptions,pb)
  8336. #define _Recordset_get_Collect(This,Index,pvar)    \
  8337.     (This)->lpVtbl -> get_Collect(This,Index,pvar)
  8338. #define _Recordset_put_Collect(This,Index,value)    \
  8339.     (This)->lpVtbl -> put_Collect(This,Index,value)
  8340. #define _Recordset_get_MarshalOptions(This,peMarshal)    \
  8341.     (This)->lpVtbl -> get_MarshalOptions(This,peMarshal)
  8342. #define _Recordset_put_MarshalOptions(This,eMarshal)    \
  8343.     (This)->lpVtbl -> put_MarshalOptions(This,eMarshal)
  8344. #define _Recordset_Find(This,Criteria,SkipRecords,SearchDirection,Start)    \
  8345.     (This)->lpVtbl -> Find(This,Criteria,SkipRecords,SearchDirection,Start)
  8346. #define _Recordset_Cancel(This)    \
  8347.     (This)->lpVtbl -> Cancel(This)
  8348. #define _Recordset_get_DataSource(This,ppunkDataSource)    \
  8349.     (This)->lpVtbl -> get_DataSource(This,ppunkDataSource)
  8350. #define _Recordset_putref_DataSource(This,punkDataSource)    \
  8351.     (This)->lpVtbl -> putref_DataSource(This,punkDataSource)
  8352. #define _Recordset__xSave(This,FileName,PersistFormat)    \
  8353.     (This)->lpVtbl -> _xSave(This,FileName,PersistFormat)
  8354. #define _Recordset_get_ActiveCommand(This,ppCmd)    \
  8355.     (This)->lpVtbl -> get_ActiveCommand(This,ppCmd)
  8356. #define _Recordset_put_StayInSync(This,bStayInSync)    \
  8357.     (This)->lpVtbl -> put_StayInSync(This,bStayInSync)
  8358. #define _Recordset_get_StayInSync(This,pbStayInSync)    \
  8359.     (This)->lpVtbl -> get_StayInSync(This,pbStayInSync)
  8360. #define _Recordset_GetString(This,StringFormat,NumRows,ColumnDelimeter,RowDelimeter,NullExpr,pRetString)    \
  8361.     (This)->lpVtbl -> GetString(This,StringFormat,NumRows,ColumnDelimeter,RowDelimeter,NullExpr,pRetString)
  8362. #define _Recordset_get_DataMember(This,pbstrDataMember)    \
  8363.     (This)->lpVtbl -> get_DataMember(This,pbstrDataMember)
  8364. #define _Recordset_put_DataMember(This,bstrDataMember)    \
  8365.     (This)->lpVtbl -> put_DataMember(This,bstrDataMember)
  8366. #define _Recordset_CompareBookmarks(This,Bookmark1,Bookmark2,pCompare)    \
  8367.     (This)->lpVtbl -> CompareBookmarks(This,Bookmark1,Bookmark2,pCompare)
  8368. #define _Recordset_Clone(This,LockType,ppvObject)    \
  8369.     (This)->lpVtbl -> Clone(This,LockType,ppvObject)
  8370. #define _Recordset_Resync(This,AffectRecords,ResyncValues)    \
  8371.     (This)->lpVtbl -> Resync(This,AffectRecords,ResyncValues)
  8372. #define _Recordset_Seek(This,KeyValues,SeekOption)    \
  8373.     (This)->lpVtbl -> Seek(This,KeyValues,SeekOption)
  8374. #define _Recordset_put_Index(This,Index)    \
  8375.     (This)->lpVtbl -> put_Index(This,Index)
  8376. #define _Recordset_get_Index(This,pbstrIndex)    \
  8377.     (This)->lpVtbl -> get_Index(This,pbstrIndex)
  8378. #define _Recordset_Save(This,Destination,PersistFormat)    \
  8379.     (This)->lpVtbl -> Save(This,Destination,PersistFormat)
  8380. #endif /* COBJMACROS */
  8381. #endif     /* C style interface */
  8382. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Recordset_Save_Proxy( 
  8383.     _ADORecordset __RPC_FAR * This,
  8384.     /* [optional][in] */ VARIANT Destination,
  8385.     /* [defaultvalue][in] */ PersistFormatEnum PersistFormat);
  8386. void __RPC_STUB _Recordset_Save_Stub(
  8387.     IRpcStubBuffer *This,
  8388.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8389.     PRPC_MESSAGE _pRpcMessage,
  8390.     DWORD *_pdwStubPhase);
  8391. #endif     /* ___Recordset_INTERFACE_DEFINED__ */
  8392. #ifndef __ADORecordsetConstruction_INTERFACE_DEFINED__
  8393. #define __ADORecordsetConstruction_INTERFACE_DEFINED__
  8394. /* interface ADORecordsetConstruction */
  8395. /* [object][uuid][restricted] */ 
  8396. EXTERN_C const IID IID_ADORecordsetConstruction;
  8397. #if defined(__cplusplus) && !defined(CINTERFACE)
  8398.     
  8399.     MIDL_INTERFACE("00000283-0000-0010-8000-00AA006D2EA4")
  8400.     ADORecordsetConstruction : public IDispatch
  8401.     {
  8402.     public:
  8403.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Rowset( 
  8404.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  8405.         
  8406.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Rowset( 
  8407.             /* [in] */ IUnknown __RPC_FAR *pRowset) = 0;
  8408.         
  8409.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Chapter( 
  8410.             /* [retval][out] */ ADO_DBLONGPTR __RPC_FAR *plChapter) = 0;
  8411.         
  8412.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Chapter( 
  8413.             /* [in] */ ADO_DBLONGPTR lChapter) = 0;
  8414.         
  8415.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RowPosition( 
  8416.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowPos) = 0;
  8417.         
  8418.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RowPosition( 
  8419.             /* [in] */ IUnknown __RPC_FAR *pRowPos) = 0;
  8420.         
  8421.     };
  8422.     
  8423. #else     /* C style interface */
  8424.     typedef struct ADORecordsetConstructionVtbl
  8425.     {
  8426.         BEGIN_INTERFACE
  8427.         
  8428.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8429.             ADORecordsetConstruction __RPC_FAR * This,
  8430.             /* [in] */ REFIID riid,
  8431.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8432.         
  8433.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8434.             ADORecordsetConstruction __RPC_FAR * This);
  8435.         
  8436.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8437.             ADORecordsetConstruction __RPC_FAR * This);
  8438.         
  8439.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  8440.             ADORecordsetConstruction __RPC_FAR * This,
  8441.             /* [out] */ UINT __RPC_FAR *pctinfo);
  8442.         
  8443.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  8444.             ADORecordsetConstruction __RPC_FAR * This,
  8445.             /* [in] */ UINT iTInfo,
  8446.             /* [in] */ LCID lcid,
  8447.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  8448.         
  8449.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  8450.             ADORecordsetConstruction __RPC_FAR * This,
  8451.             /* [in] */ REFIID riid,
  8452.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  8453.             /* [in] */ UINT cNames,
  8454.             /* [in] */ LCID lcid,
  8455.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  8456.         
  8457.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  8458.             ADORecordsetConstruction __RPC_FAR * This,
  8459.             /* [in] */ DISPID dispIdMember,
  8460.             /* [in] */ REFIID riid,
  8461.             /* [in] */ LCID lcid,
  8462.             /* [in] */ WORD wFlags,
  8463.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  8464.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  8465.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  8466.             /* [out] */ UINT __RPC_FAR *puArgErr);
  8467.         
  8468.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rowset )( 
  8469.             ADORecordsetConstruction __RPC_FAR * This,
  8470.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  8471.         
  8472.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rowset )( 
  8473.             ADORecordsetConstruction __RPC_FAR * This,
  8474.             /* [in] */ IUnknown __RPC_FAR *pRowset);
  8475.         
  8476.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Chapter )( 
  8477.             ADORecordsetConstruction __RPC_FAR * This,
  8478.             /* [retval][out] */ ADO_DBLONGPTR __RPC_FAR *plChapter);
  8479.         
  8480.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Chapter )( 
  8481.             ADORecordsetConstruction __RPC_FAR * This,
  8482.             /* [in] */ ADO_DBLONGPTR lChapter);
  8483.         
  8484.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RowPosition )( 
  8485.             ADORecordsetConstruction __RPC_FAR * This,
  8486.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowPos);
  8487.         
  8488.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RowPosition )( 
  8489.             ADORecordsetConstruction __RPC_FAR * This,
  8490.             /* [in] */ IUnknown __RPC_FAR *pRowPos);
  8491.         
  8492.         END_INTERFACE
  8493.     } ADORecordsetConstructionVtbl;
  8494.     interface ADORecordsetConstruction
  8495.     {
  8496.         CONST_VTBL struct ADORecordsetConstructionVtbl __RPC_FAR *lpVtbl;
  8497.     };
  8498.     
  8499. #ifdef COBJMACROS
  8500. #define ADORecordsetConstruction_QueryInterface(This,riid,ppvObject)    \
  8501.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8502. #define ADORecordsetConstruction_AddRef(This)    \
  8503.     (This)->lpVtbl -> AddRef(This)
  8504. #define ADORecordsetConstruction_Release(This)    \
  8505.     (This)->lpVtbl -> Release(This)
  8506. #define ADORecordsetConstruction_GetTypeInfoCount(This,pctinfo)    \
  8507.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  8508. #define ADORecordsetConstruction_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  8509.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  8510. #define ADORecordsetConstruction_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  8511.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  8512. #define ADORecordsetConstruction_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  8513.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  8514. #define ADORecordsetConstruction_get_Rowset(This,ppRowset)    \
  8515.     (This)->lpVtbl -> get_Rowset(This,ppRowset)
  8516. #define ADORecordsetConstruction_put_Rowset(This,pRowset)    \
  8517.     (This)->lpVtbl -> put_Rowset(This,pRowset)
  8518. #define ADORecordsetConstruction_get_Chapter(This,plChapter)    \
  8519.     (This)->lpVtbl -> get_Chapter(This,plChapter)
  8520. #define ADORecordsetConstruction_put_Chapter(This,lChapter)    \
  8521.     (This)->lpVtbl -> put_Chapter(This,lChapter)
  8522. #define ADORecordsetConstruction_get_RowPosition(This,ppRowPos)    \
  8523.     (This)->lpVtbl -> get_RowPosition(This,ppRowPos)
  8524. #define ADORecordsetConstruction_put_RowPosition(This,pRowPos)    \
  8525.     (This)->lpVtbl -> put_RowPosition(This,pRowPos)
  8526. #endif /* COBJMACROS */
  8527. #endif     /* C style interface */
  8528. /* [propget] */ HRESULT STDMETHODCALLTYPE ADORecordsetConstruction_get_Rowset_Proxy( 
  8529.     ADORecordsetConstruction __RPC_FAR * This,
  8530.     /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  8531. void __RPC_STUB ADORecordsetConstruction_get_Rowset_Stub(
  8532.     IRpcStubBuffer *This,
  8533.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8534.     PRPC_MESSAGE _pRpcMessage,
  8535.     DWORD *_pdwStubPhase);
  8536. /* [propput] */ HRESULT STDMETHODCALLTYPE ADORecordsetConstruction_put_Rowset_Proxy( 
  8537.     ADORecordsetConstruction __RPC_FAR * This,
  8538.     /* [in] */ IUnknown __RPC_FAR *pRowset);
  8539. void __RPC_STUB ADORecordsetConstruction_put_Rowset_Stub(
  8540.     IRpcStubBuffer *This,
  8541.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8542.     PRPC_MESSAGE _pRpcMessage,
  8543.     DWORD *_pdwStubPhase);
  8544. /* [propget] */ HRESULT STDMETHODCALLTYPE ADORecordsetConstruction_get_Chapter_Proxy( 
  8545.     ADORecordsetConstruction __RPC_FAR * This,
  8546.     /* [retval][out] */ ADO_DBLONGPTR __RPC_FAR *plChapter);
  8547. void __RPC_STUB ADORecordsetConstruction_get_Chapter_Stub(
  8548.     IRpcStubBuffer *This,
  8549.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8550.     PRPC_MESSAGE _pRpcMessage,
  8551.     DWORD *_pdwStubPhase);
  8552. /* [propput] */ HRESULT STDMETHODCALLTYPE ADORecordsetConstruction_put_Chapter_Proxy( 
  8553.     ADORecordsetConstruction __RPC_FAR * This,
  8554.     /* [in] */ ADO_DBLONGPTR lChapter);
  8555. void __RPC_STUB ADORecordsetConstruction_put_Chapter_Stub(
  8556.     IRpcStubBuffer *This,
  8557.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8558.     PRPC_MESSAGE _pRpcMessage,
  8559.     DWORD *_pdwStubPhase);
  8560. /* [propget] */ HRESULT STDMETHODCALLTYPE ADORecordsetConstruction_get_RowPosition_Proxy( 
  8561.     ADORecordsetConstruction __RPC_FAR * This,
  8562.     /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowPos);
  8563. void __RPC_STUB ADORecordsetConstruction_get_RowPosition_Stub(
  8564.     IRpcStubBuffer *This,
  8565.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8566.     PRPC_MESSAGE _pRpcMessage,
  8567.     DWORD *_pdwStubPhase);
  8568. /* [propput] */ HRESULT STDMETHODCALLTYPE ADORecordsetConstruction_put_RowPosition_Proxy( 
  8569.     ADORecordsetConstruction __RPC_FAR * This,
  8570.     /* [in] */ IUnknown __RPC_FAR *pRowPos);
  8571. void __RPC_STUB ADORecordsetConstruction_put_RowPosition_Stub(
  8572.     IRpcStubBuffer *This,
  8573.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8574.     PRPC_MESSAGE _pRpcMessage,
  8575.     DWORD *_pdwStubPhase);
  8576. #endif     /* __ADORecordsetConstruction_INTERFACE_DEFINED__ */
  8577. #ifndef __Field15_INTERFACE_DEFINED__
  8578. #define __Field15_INTERFACE_DEFINED__
  8579. /* interface Field15 */
  8580. /* [object][helpcontext][uuid][hidden][nonextensible][dual] */ 
  8581. EXTERN_C const IID IID_Field15;
  8582. #if defined(__cplusplus) && !defined(CINTERFACE)
  8583.     
  8584.     MIDL_INTERFACE("00000505-0000-0010-8000-00AA006D2EA4")
  8585.     Field15 : public _ADO
  8586.     {
  8587.     public:
  8588.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActualSize( 
  8589.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  8590.         
  8591.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Attributes( 
  8592.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  8593.         
  8594.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DefinedSize( 
  8595.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  8596.         
  8597.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
  8598.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  8599.         
  8600.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
  8601.             /* [retval][out] */ DataTypeEnum __RPC_FAR *pDataType) = 0;
  8602.         
  8603.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Value( 
  8604.             /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
  8605.         
  8606.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Value( 
  8607.             /* [in] */ VARIANT Val) = 0;
  8608.         
  8609.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Precision( 
  8610.             /* [retval][out] */ BYTE __RPC_FAR *pbPrecision) = 0;
  8611.         
  8612.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_NumericScale( 
  8613.             /* [retval][out] */ BYTE __RPC_FAR *pbNumericScale) = 0;
  8614.         
  8615.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE AppendChunk( 
  8616.             /* [in] */ VARIANT Data) = 0;
  8617.         
  8618.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetChunk( 
  8619.             /* [in] */ long Length,
  8620.             /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
  8621.         
  8622.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_OriginalValue( 
  8623.             /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
  8624.         
  8625.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_UnderlyingValue( 
  8626.             /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
  8627.         
  8628.     };
  8629.     
  8630. #else     /* C style interface */
  8631.     typedef struct Field15Vtbl
  8632.     {
  8633.         BEGIN_INTERFACE
  8634.         
  8635.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8636.             Field15 __RPC_FAR * This,
  8637.             /* [in] */ REFIID riid,
  8638.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8639.         
  8640.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8641.             Field15 __RPC_FAR * This);
  8642.         
  8643.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8644.             Field15 __RPC_FAR * This);
  8645.         
  8646.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  8647.             Field15 __RPC_FAR * This,
  8648.             /* [out] */ UINT __RPC_FAR *pctinfo);
  8649.         
  8650.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  8651.             Field15 __RPC_FAR * This,
  8652.             /* [in] */ UINT iTInfo,
  8653.             /* [in] */ LCID lcid,
  8654.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  8655.         
  8656.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  8657.             Field15 __RPC_FAR * This,
  8658.             /* [in] */ REFIID riid,
  8659.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  8660.             /* [in] */ UINT cNames,
  8661.             /* [in] */ LCID lcid,
  8662.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  8663.         
  8664.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  8665.             Field15 __RPC_FAR * This,
  8666.             /* [in] */ DISPID dispIdMember,
  8667.             /* [in] */ REFIID riid,
  8668.             /* [in] */ LCID lcid,
  8669.             /* [in] */ WORD wFlags,
  8670.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  8671.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  8672.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  8673.             /* [out] */ UINT __RPC_FAR *puArgErr);
  8674.         
  8675.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Properties )( 
  8676.             Field15 __RPC_FAR * This,
  8677.             /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject);
  8678.         
  8679.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActualSize )( 
  8680.             Field15 __RPC_FAR * This,
  8681.             /* [retval][out] */ long __RPC_FAR *pl);
  8682.         
  8683.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Attributes )( 
  8684.             Field15 __RPC_FAR * This,
  8685.             /* [retval][out] */ long __RPC_FAR *pl);
  8686.         
  8687.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DefinedSize )( 
  8688.             Field15 __RPC_FAR * This,
  8689.             /* [retval][out] */ long __RPC_FAR *pl);
  8690.         
  8691.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  8692.             Field15 __RPC_FAR * This,
  8693.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  8694.         
  8695.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )( 
  8696.             Field15 __RPC_FAR * This,
  8697.             /* [retval][out] */ DataTypeEnum __RPC_FAR *pDataType);
  8698.         
  8699.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Value )( 
  8700.             Field15 __RPC_FAR * This,
  8701.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  8702.         
  8703.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Value )( 
  8704.             Field15 __RPC_FAR * This,
  8705.             /* [in] */ VARIANT Val);
  8706.         
  8707.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Precision )( 
  8708.             Field15 __RPC_FAR * This,
  8709.             /* [retval][out] */ BYTE __RPC_FAR *pbPrecision);
  8710.         
  8711.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NumericScale )( 
  8712.             Field15 __RPC_FAR * This,
  8713.             /* [retval][out] */ BYTE __RPC_FAR *pbNumericScale);
  8714.         
  8715.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AppendChunk )( 
  8716.             Field15 __RPC_FAR * This,
  8717.             /* [in] */ VARIANT Data);
  8718.         
  8719.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetChunk )( 
  8720.             Field15 __RPC_FAR * This,
  8721.             /* [in] */ long Length,
  8722.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  8723.         
  8724.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_OriginalValue )( 
  8725.             Field15 __RPC_FAR * This,
  8726.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  8727.         
  8728.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UnderlyingValue )( 
  8729.             Field15 __RPC_FAR * This,
  8730.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  8731.         
  8732.         END_INTERFACE
  8733.     } Field15Vtbl;
  8734.     interface Field15
  8735.     {
  8736.         CONST_VTBL struct Field15Vtbl __RPC_FAR *lpVtbl;
  8737.     };
  8738.     
  8739. #ifdef COBJMACROS
  8740. #define Field15_QueryInterface(This,riid,ppvObject)    \
  8741.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8742. #define Field15_AddRef(This)    \
  8743.     (This)->lpVtbl -> AddRef(This)
  8744. #define Field15_Release(This)    \
  8745.     (This)->lpVtbl -> Release(This)
  8746. #define Field15_GetTypeInfoCount(This,pctinfo)    \
  8747.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  8748. #define Field15_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  8749.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  8750. #define Field15_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  8751.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  8752. #define Field15_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  8753.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  8754. #define Field15_get_Properties(This,ppvObject)    \
  8755.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  8756. #define Field15_get_ActualSize(This,pl)    \
  8757.     (This)->lpVtbl -> get_ActualSize(This,pl)
  8758. #define Field15_get_Attributes(This,pl)    \
  8759.     (This)->lpVtbl -> get_Attributes(This,pl)
  8760. #define Field15_get_DefinedSize(This,pl)    \
  8761.     (This)->lpVtbl -> get_DefinedSize(This,pl)
  8762. #define Field15_get_Name(This,pbstr)    \
  8763.     (This)->lpVtbl -> get_Name(This,pbstr)
  8764. #define Field15_get_Type(This,pDataType)    \
  8765.     (This)->lpVtbl -> get_Type(This,pDataType)
  8766. #define Field15_get_Value(This,pvar)    \
  8767.     (This)->lpVtbl -> get_Value(This,pvar)
  8768. #define Field15_put_Value(This,Val)    \
  8769.     (This)->lpVtbl -> put_Value(This,Val)
  8770. #define Field15_get_Precision(This,pbPrecision)    \
  8771.     (This)->lpVtbl -> get_Precision(This,pbPrecision)
  8772. #define Field15_get_NumericScale(This,pbNumericScale)    \
  8773.     (This)->lpVtbl -> get_NumericScale(This,pbNumericScale)
  8774. #define Field15_AppendChunk(This,Data)    \
  8775.     (This)->lpVtbl -> AppendChunk(This,Data)
  8776. #define Field15_GetChunk(This,Length,pvar)    \
  8777.     (This)->lpVtbl -> GetChunk(This,Length,pvar)
  8778. #define Field15_get_OriginalValue(This,pvar)    \
  8779.     (This)->lpVtbl -> get_OriginalValue(This,pvar)
  8780. #define Field15_get_UnderlyingValue(This,pvar)    \
  8781.     (This)->lpVtbl -> get_UnderlyingValue(This,pvar)
  8782. #endif /* COBJMACROS */
  8783. #endif     /* C style interface */
  8784. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field15_get_ActualSize_Proxy( 
  8785.     Field15 __RPC_FAR * This,
  8786.     /* [retval][out] */ long __RPC_FAR *pl);
  8787. void __RPC_STUB Field15_get_ActualSize_Stub(
  8788.     IRpcStubBuffer *This,
  8789.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8790.     PRPC_MESSAGE _pRpcMessage,
  8791.     DWORD *_pdwStubPhase);
  8792. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field15_get_Attributes_Proxy( 
  8793.     Field15 __RPC_FAR * This,
  8794.     /* [retval][out] */ long __RPC_FAR *pl);
  8795. void __RPC_STUB Field15_get_Attributes_Stub(
  8796.     IRpcStubBuffer *This,
  8797.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8798.     PRPC_MESSAGE _pRpcMessage,
  8799.     DWORD *_pdwStubPhase);
  8800. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field15_get_DefinedSize_Proxy( 
  8801.     Field15 __RPC_FAR * This,
  8802.     /* [retval][out] */ long __RPC_FAR *pl);
  8803. void __RPC_STUB Field15_get_DefinedSize_Stub(
  8804.     IRpcStubBuffer *This,
  8805.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8806.     PRPC_MESSAGE _pRpcMessage,
  8807.     DWORD *_pdwStubPhase);
  8808. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field15_get_Name_Proxy( 
  8809.     Field15 __RPC_FAR * This,
  8810.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  8811. void __RPC_STUB Field15_get_Name_Stub(
  8812.     IRpcStubBuffer *This,
  8813.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8814.     PRPC_MESSAGE _pRpcMessage,
  8815.     DWORD *_pdwStubPhase);
  8816. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field15_get_Type_Proxy( 
  8817.     Field15 __RPC_FAR * This,
  8818.     /* [retval][out] */ DataTypeEnum __RPC_FAR *pDataType);
  8819. void __RPC_STUB Field15_get_Type_Stub(
  8820.     IRpcStubBuffer *This,
  8821.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8822.     PRPC_MESSAGE _pRpcMessage,
  8823.     DWORD *_pdwStubPhase);
  8824. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field15_get_Value_Proxy( 
  8825.     Field15 __RPC_FAR * This,
  8826.     /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  8827. void __RPC_STUB Field15_get_Value_Stub(
  8828.     IRpcStubBuffer *This,
  8829.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8830.     PRPC_MESSAGE _pRpcMessage,
  8831.     DWORD *_pdwStubPhase);
  8832. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Field15_put_Value_Proxy( 
  8833.     Field15 __RPC_FAR * This,
  8834.     /* [in] */ VARIANT Val);
  8835. void __RPC_STUB Field15_put_Value_Stub(
  8836.     IRpcStubBuffer *This,
  8837.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8838.     PRPC_MESSAGE _pRpcMessage,
  8839.     DWORD *_pdwStubPhase);
  8840. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field15_get_Precision_Proxy( 
  8841.     Field15 __RPC_FAR * This,
  8842.     /* [retval][out] */ BYTE __RPC_FAR *pbPrecision);
  8843. void __RPC_STUB Field15_get_Precision_Stub(
  8844.     IRpcStubBuffer *This,
  8845.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8846.     PRPC_MESSAGE _pRpcMessage,
  8847.     DWORD *_pdwStubPhase);
  8848. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field15_get_NumericScale_Proxy( 
  8849.     Field15 __RPC_FAR * This,
  8850.     /* [retval][out] */ BYTE __RPC_FAR *pbNumericScale);
  8851. void __RPC_STUB Field15_get_NumericScale_Stub(
  8852.     IRpcStubBuffer *This,
  8853.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8854.     PRPC_MESSAGE _pRpcMessage,
  8855.     DWORD *_pdwStubPhase);
  8856. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Field15_AppendChunk_Proxy( 
  8857.     Field15 __RPC_FAR * This,
  8858.     /* [in] */ VARIANT Data);
  8859. void __RPC_STUB Field15_AppendChunk_Stub(
  8860.     IRpcStubBuffer *This,
  8861.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8862.     PRPC_MESSAGE _pRpcMessage,
  8863.     DWORD *_pdwStubPhase);
  8864. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Field15_GetChunk_Proxy( 
  8865.     Field15 __RPC_FAR * This,
  8866.     /* [in] */ long Length,
  8867.     /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  8868. void __RPC_STUB Field15_GetChunk_Stub(
  8869.     IRpcStubBuffer *This,
  8870.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8871.     PRPC_MESSAGE _pRpcMessage,
  8872.     DWORD *_pdwStubPhase);
  8873. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field15_get_OriginalValue_Proxy( 
  8874.     Field15 __RPC_FAR * This,
  8875.     /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  8876. void __RPC_STUB Field15_get_OriginalValue_Stub(
  8877.     IRpcStubBuffer *This,
  8878.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8879.     PRPC_MESSAGE _pRpcMessage,
  8880.     DWORD *_pdwStubPhase);
  8881. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field15_get_UnderlyingValue_Proxy( 
  8882.     Field15 __RPC_FAR * This,
  8883.     /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  8884. void __RPC_STUB Field15_get_UnderlyingValue_Stub(
  8885.     IRpcStubBuffer *This,
  8886.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8887.     PRPC_MESSAGE _pRpcMessage,
  8888.     DWORD *_pdwStubPhase);
  8889. #endif     /* __Field15_INTERFACE_DEFINED__ */
  8890. #ifndef __Field20_INTERFACE_DEFINED__
  8891. #define __Field20_INTERFACE_DEFINED__
  8892. /* interface Field20 */
  8893. /* [object][helpcontext][uuid][hidden][nonextensible][dual] */ 
  8894. EXTERN_C const IID IID_Field20;
  8895. #if defined(__cplusplus) && !defined(CINTERFACE)
  8896.     
  8897.     MIDL_INTERFACE("0000054C-0000-0010-8000-00AA006D2EA4")
  8898.     Field20 : public _ADO
  8899.     {
  8900.     public:
  8901.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActualSize( 
  8902.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  8903.         
  8904.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Attributes( 
  8905.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  8906.         
  8907.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DefinedSize( 
  8908.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  8909.         
  8910.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
  8911.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  8912.         
  8913.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
  8914.             /* [retval][out] */ DataTypeEnum __RPC_FAR *pDataType) = 0;
  8915.         
  8916.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Value( 
  8917.             /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
  8918.         
  8919.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Value( 
  8920.             /* [in] */ VARIANT Val) = 0;
  8921.         
  8922.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Precision( 
  8923.             /* [retval][out] */ BYTE __RPC_FAR *pbPrecision) = 0;
  8924.         
  8925.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_NumericScale( 
  8926.             /* [retval][out] */ BYTE __RPC_FAR *pbNumericScale) = 0;
  8927.         
  8928.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE AppendChunk( 
  8929.             /* [in] */ VARIANT Data) = 0;
  8930.         
  8931.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetChunk( 
  8932.             /* [in] */ long Length,
  8933.             /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
  8934.         
  8935.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_OriginalValue( 
  8936.             /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
  8937.         
  8938.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_UnderlyingValue( 
  8939.             /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
  8940.         
  8941.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DataFormat( 
  8942.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppiDF) = 0;
  8943.         
  8944.         virtual /* [propputref][id] */ HRESULT STDMETHODCALLTYPE putref_DataFormat( 
  8945.             /* [in] */ IUnknown __RPC_FAR *piDF) = 0;
  8946.         
  8947.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Precision( 
  8948.             /* [in] */ BYTE bPrecision) = 0;
  8949.         
  8950.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_NumericScale( 
  8951.             /* [in] */ BYTE bScale) = 0;
  8952.         
  8953.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Type( 
  8954.             /* [in] */ DataTypeEnum DataType) = 0;
  8955.         
  8956.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_DefinedSize( 
  8957.             /* [in] */ long lSize) = 0;
  8958.         
  8959.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Attributes( 
  8960.             /* [in] */ long lAttributes) = 0;
  8961.         
  8962.     };
  8963.     
  8964. #else     /* C style interface */
  8965.     typedef struct Field20Vtbl
  8966.     {
  8967.         BEGIN_INTERFACE
  8968.         
  8969.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8970.             Field20 __RPC_FAR * This,
  8971.             /* [in] */ REFIID riid,
  8972.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8973.         
  8974.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8975.             Field20 __RPC_FAR * This);
  8976.         
  8977.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8978.             Field20 __RPC_FAR * This);
  8979.         
  8980.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  8981.             Field20 __RPC_FAR * This,
  8982.             /* [out] */ UINT __RPC_FAR *pctinfo);
  8983.         
  8984.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  8985.             Field20 __RPC_FAR * This,
  8986.             /* [in] */ UINT iTInfo,
  8987.             /* [in] */ LCID lcid,
  8988.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  8989.         
  8990.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  8991.             Field20 __RPC_FAR * This,
  8992.             /* [in] */ REFIID riid,
  8993.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  8994.             /* [in] */ UINT cNames,
  8995.             /* [in] */ LCID lcid,
  8996.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  8997.         
  8998.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  8999.             Field20 __RPC_FAR * This,
  9000.             /* [in] */ DISPID dispIdMember,
  9001.             /* [in] */ REFIID riid,
  9002.             /* [in] */ LCID lcid,
  9003.             /* [in] */ WORD wFlags,
  9004.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  9005.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  9006.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  9007.             /* [out] */ UINT __RPC_FAR *puArgErr);
  9008.         
  9009.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Properties )( 
  9010.             Field20 __RPC_FAR * This,
  9011.             /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject);
  9012.         
  9013.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActualSize )( 
  9014.             Field20 __RPC_FAR * This,
  9015.             /* [retval][out] */ long __RPC_FAR *pl);
  9016.         
  9017.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Attributes )( 
  9018.             Field20 __RPC_FAR * This,
  9019.             /* [retval][out] */ long __RPC_FAR *pl);
  9020.         
  9021.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DefinedSize )( 
  9022.             Field20 __RPC_FAR * This,
  9023.             /* [retval][out] */ long __RPC_FAR *pl);
  9024.         
  9025.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  9026.             Field20 __RPC_FAR * This,
  9027.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  9028.         
  9029.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )( 
  9030.             Field20 __RPC_FAR * This,
  9031.             /* [retval][out] */ DataTypeEnum __RPC_FAR *pDataType);
  9032.         
  9033.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Value )( 
  9034.             Field20 __RPC_FAR * This,
  9035.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  9036.         
  9037.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Value )( 
  9038.             Field20 __RPC_FAR * This,
  9039.             /* [in] */ VARIANT Val);
  9040.         
  9041.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Precision )( 
  9042.             Field20 __RPC_FAR * This,
  9043.             /* [retval][out] */ BYTE __RPC_FAR *pbPrecision);
  9044.         
  9045.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NumericScale )( 
  9046.             Field20 __RPC_FAR * This,
  9047.             /* [retval][out] */ BYTE __RPC_FAR *pbNumericScale);
  9048.         
  9049.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AppendChunk )( 
  9050.             Field20 __RPC_FAR * This,
  9051.             /* [in] */ VARIANT Data);
  9052.         
  9053.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetChunk )( 
  9054.             Field20 __RPC_FAR * This,
  9055.             /* [in] */ long Length,
  9056.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  9057.         
  9058.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_OriginalValue )( 
  9059.             Field20 __RPC_FAR * This,
  9060.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  9061.         
  9062.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UnderlyingValue )( 
  9063.             Field20 __RPC_FAR * This,
  9064.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  9065.         
  9066.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DataFormat )( 
  9067.             Field20 __RPC_FAR * This,
  9068.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppiDF);
  9069.         
  9070.         /* [propputref][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_DataFormat )( 
  9071.             Field20 __RPC_FAR * This,
  9072.             /* [in] */ IUnknown __RPC_FAR *piDF);
  9073.         
  9074.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Precision )( 
  9075.             Field20 __RPC_FAR * This,
  9076.             /* [in] */ BYTE bPrecision);
  9077.         
  9078.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_NumericScale )( 
  9079.             Field20 __RPC_FAR * This,
  9080.             /* [in] */ BYTE bScale);
  9081.         
  9082.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Type )( 
  9083.             Field20 __RPC_FAR * This,
  9084.             /* [in] */ DataTypeEnum DataType);
  9085.         
  9086.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DefinedSize )( 
  9087.             Field20 __RPC_FAR * This,
  9088.             /* [in] */ long lSize);
  9089.         
  9090.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Attributes )( 
  9091.             Field20 __RPC_FAR * This,
  9092.             /* [in] */ long lAttributes);
  9093.         
  9094.         END_INTERFACE
  9095.     } Field20Vtbl;
  9096.     interface Field20
  9097.     {
  9098.         CONST_VTBL struct Field20Vtbl __RPC_FAR *lpVtbl;
  9099.     };
  9100.     
  9101. #ifdef COBJMACROS
  9102. #define Field20_QueryInterface(This,riid,ppvObject)    \
  9103.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9104. #define Field20_AddRef(This)    \
  9105.     (This)->lpVtbl -> AddRef(This)
  9106. #define Field20_Release(This)    \
  9107.     (This)->lpVtbl -> Release(This)
  9108. #define Field20_GetTypeInfoCount(This,pctinfo)    \
  9109.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  9110. #define Field20_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  9111.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  9112. #define Field20_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  9113.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  9114. #define Field20_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  9115.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  9116. #define Field20_get_Properties(This,ppvObject)    \
  9117.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  9118. #define Field20_get_ActualSize(This,pl)    \
  9119.     (This)->lpVtbl -> get_ActualSize(This,pl)
  9120. #define Field20_get_Attributes(This,pl)    \
  9121.     (This)->lpVtbl -> get_Attributes(This,pl)
  9122. #define Field20_get_DefinedSize(This,pl)    \
  9123.     (This)->lpVtbl -> get_DefinedSize(This,pl)
  9124. #define Field20_get_Name(This,pbstr)    \
  9125.     (This)->lpVtbl -> get_Name(This,pbstr)
  9126. #define Field20_get_Type(This,pDataType)    \
  9127.     (This)->lpVtbl -> get_Type(This,pDataType)
  9128. #define Field20_get_Value(This,pvar)    \
  9129.     (This)->lpVtbl -> get_Value(This,pvar)
  9130. #define Field20_put_Value(This,Val)    \
  9131.     (This)->lpVtbl -> put_Value(This,Val)
  9132. #define Field20_get_Precision(This,pbPrecision)    \
  9133.     (This)->lpVtbl -> get_Precision(This,pbPrecision)
  9134. #define Field20_get_NumericScale(This,pbNumericScale)    \
  9135.     (This)->lpVtbl -> get_NumericScale(This,pbNumericScale)
  9136. #define Field20_AppendChunk(This,Data)    \
  9137.     (This)->lpVtbl -> AppendChunk(This,Data)
  9138. #define Field20_GetChunk(This,Length,pvar)    \
  9139.     (This)->lpVtbl -> GetChunk(This,Length,pvar)
  9140. #define Field20_get_OriginalValue(This,pvar)    \
  9141.     (This)->lpVtbl -> get_OriginalValue(This,pvar)
  9142. #define Field20_get_UnderlyingValue(This,pvar)    \
  9143.     (This)->lpVtbl -> get_UnderlyingValue(This,pvar)
  9144. #define Field20_get_DataFormat(This,ppiDF)    \
  9145.     (This)->lpVtbl -> get_DataFormat(This,ppiDF)
  9146. #define Field20_putref_DataFormat(This,piDF)    \
  9147.     (This)->lpVtbl -> putref_DataFormat(This,piDF)
  9148. #define Field20_put_Precision(This,bPrecision)    \
  9149.     (This)->lpVtbl -> put_Precision(This,bPrecision)
  9150. #define Field20_put_NumericScale(This,bScale)    \
  9151.     (This)->lpVtbl -> put_NumericScale(This,bScale)
  9152. #define Field20_put_Type(This,DataType)    \
  9153.     (This)->lpVtbl -> put_Type(This,DataType)
  9154. #define Field20_put_DefinedSize(This,lSize)    \
  9155.     (This)->lpVtbl -> put_DefinedSize(This,lSize)
  9156. #define Field20_put_Attributes(This,lAttributes)    \
  9157.     (This)->lpVtbl -> put_Attributes(This,lAttributes)
  9158. #endif /* COBJMACROS */
  9159. #endif     /* C style interface */
  9160. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field20_get_ActualSize_Proxy( 
  9161.     Field20 __RPC_FAR * This,
  9162.     /* [retval][out] */ long __RPC_FAR *pl);
  9163. void __RPC_STUB Field20_get_ActualSize_Stub(
  9164.     IRpcStubBuffer *This,
  9165.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9166.     PRPC_MESSAGE _pRpcMessage,
  9167.     DWORD *_pdwStubPhase);
  9168. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field20_get_Attributes_Proxy( 
  9169.     Field20 __RPC_FAR * This,
  9170.     /* [retval][out] */ long __RPC_FAR *pl);
  9171. void __RPC_STUB Field20_get_Attributes_Stub(
  9172.     IRpcStubBuffer *This,
  9173.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9174.     PRPC_MESSAGE _pRpcMessage,
  9175.     DWORD *_pdwStubPhase);
  9176. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field20_get_DefinedSize_Proxy( 
  9177.     Field20 __RPC_FAR * This,
  9178.     /* [retval][out] */ long __RPC_FAR *pl);
  9179. void __RPC_STUB Field20_get_DefinedSize_Stub(
  9180.     IRpcStubBuffer *This,
  9181.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9182.     PRPC_MESSAGE _pRpcMessage,
  9183.     DWORD *_pdwStubPhase);
  9184. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field20_get_Name_Proxy( 
  9185.     Field20 __RPC_FAR * This,
  9186.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  9187. void __RPC_STUB Field20_get_Name_Stub(
  9188.     IRpcStubBuffer *This,
  9189.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9190.     PRPC_MESSAGE _pRpcMessage,
  9191.     DWORD *_pdwStubPhase);
  9192. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field20_get_Type_Proxy( 
  9193.     Field20 __RPC_FAR * This,
  9194.     /* [retval][out] */ DataTypeEnum __RPC_FAR *pDataType);
  9195. void __RPC_STUB Field20_get_Type_Stub(
  9196.     IRpcStubBuffer *This,
  9197.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9198.     PRPC_MESSAGE _pRpcMessage,
  9199.     DWORD *_pdwStubPhase);
  9200. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field20_get_Value_Proxy( 
  9201.     Field20 __RPC_FAR * This,
  9202.     /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  9203. void __RPC_STUB Field20_get_Value_Stub(
  9204.     IRpcStubBuffer *This,
  9205.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9206.     PRPC_MESSAGE _pRpcMessage,
  9207.     DWORD *_pdwStubPhase);
  9208. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Field20_put_Value_Proxy( 
  9209.     Field20 __RPC_FAR * This,
  9210.     /* [in] */ VARIANT Val);
  9211. void __RPC_STUB Field20_put_Value_Stub(
  9212.     IRpcStubBuffer *This,
  9213.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9214.     PRPC_MESSAGE _pRpcMessage,
  9215.     DWORD *_pdwStubPhase);
  9216. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field20_get_Precision_Proxy( 
  9217.     Field20 __RPC_FAR * This,
  9218.     /* [retval][out] */ BYTE __RPC_FAR *pbPrecision);
  9219. void __RPC_STUB Field20_get_Precision_Stub(
  9220.     IRpcStubBuffer *This,
  9221.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9222.     PRPC_MESSAGE _pRpcMessage,
  9223.     DWORD *_pdwStubPhase);
  9224. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field20_get_NumericScale_Proxy( 
  9225.     Field20 __RPC_FAR * This,
  9226.     /* [retval][out] */ BYTE __RPC_FAR *pbNumericScale);
  9227. void __RPC_STUB Field20_get_NumericScale_Stub(
  9228.     IRpcStubBuffer *This,
  9229.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9230.     PRPC_MESSAGE _pRpcMessage,
  9231.     DWORD *_pdwStubPhase);
  9232. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Field20_AppendChunk_Proxy( 
  9233.     Field20 __RPC_FAR * This,
  9234.     /* [in] */ VARIANT Data);
  9235. void __RPC_STUB Field20_AppendChunk_Stub(
  9236.     IRpcStubBuffer *This,
  9237.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9238.     PRPC_MESSAGE _pRpcMessage,
  9239.     DWORD *_pdwStubPhase);
  9240. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Field20_GetChunk_Proxy( 
  9241.     Field20 __RPC_FAR * This,
  9242.     /* [in] */ long Length,
  9243.     /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  9244. void __RPC_STUB Field20_GetChunk_Stub(
  9245.     IRpcStubBuffer *This,
  9246.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9247.     PRPC_MESSAGE _pRpcMessage,
  9248.     DWORD *_pdwStubPhase);
  9249. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field20_get_OriginalValue_Proxy( 
  9250.     Field20 __RPC_FAR * This,
  9251.     /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  9252. void __RPC_STUB Field20_get_OriginalValue_Stub(
  9253.     IRpcStubBuffer *This,
  9254.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9255.     PRPC_MESSAGE _pRpcMessage,
  9256.     DWORD *_pdwStubPhase);
  9257. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field20_get_UnderlyingValue_Proxy( 
  9258.     Field20 __RPC_FAR * This,
  9259.     /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  9260. void __RPC_STUB Field20_get_UnderlyingValue_Stub(
  9261.     IRpcStubBuffer *This,
  9262.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9263.     PRPC_MESSAGE _pRpcMessage,
  9264.     DWORD *_pdwStubPhase);
  9265. /* [propget][id] */ HRESULT STDMETHODCALLTYPE Field20_get_DataFormat_Proxy( 
  9266.     Field20 __RPC_FAR * This,
  9267.     /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppiDF);
  9268. void __RPC_STUB Field20_get_DataFormat_Stub(
  9269.     IRpcStubBuffer *This,
  9270.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9271.     PRPC_MESSAGE _pRpcMessage,
  9272.     DWORD *_pdwStubPhase);
  9273. /* [propputref][id] */ HRESULT STDMETHODCALLTYPE Field20_putref_DataFormat_Proxy( 
  9274.     Field20 __RPC_FAR * This,
  9275.     /* [in] */ IUnknown __RPC_FAR *piDF);
  9276. void __RPC_STUB Field20_putref_DataFormat_Stub(
  9277.     IRpcStubBuffer *This,
  9278.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9279.     PRPC_MESSAGE _pRpcMessage,
  9280.     DWORD *_pdwStubPhase);
  9281. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Field20_put_Precision_Proxy( 
  9282.     Field20 __RPC_FAR * This,
  9283.     /* [in] */ BYTE bPrecision);
  9284. void __RPC_STUB Field20_put_Precision_Stub(
  9285.     IRpcStubBuffer *This,
  9286.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9287.     PRPC_MESSAGE _pRpcMessage,
  9288.     DWORD *_pdwStubPhase);
  9289. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Field20_put_NumericScale_Proxy( 
  9290.     Field20 __RPC_FAR * This,
  9291.     /* [in] */ BYTE bScale);
  9292. void __RPC_STUB Field20_put_NumericScale_Stub(
  9293.     IRpcStubBuffer *This,
  9294.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9295.     PRPC_MESSAGE _pRpcMessage,
  9296.     DWORD *_pdwStubPhase);
  9297. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Field20_put_Type_Proxy( 
  9298.     Field20 __RPC_FAR * This,
  9299.     /* [in] */ DataTypeEnum DataType);
  9300. void __RPC_STUB Field20_put_Type_Stub(
  9301.     IRpcStubBuffer *This,
  9302.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9303.     PRPC_MESSAGE _pRpcMessage,
  9304.     DWORD *_pdwStubPhase);
  9305. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Field20_put_DefinedSize_Proxy( 
  9306.     Field20 __RPC_FAR * This,
  9307.     /* [in] */ long lSize);
  9308. void __RPC_STUB Field20_put_DefinedSize_Stub(
  9309.     IRpcStubBuffer *This,
  9310.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9311.     PRPC_MESSAGE _pRpcMessage,
  9312.     DWORD *_pdwStubPhase);
  9313. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Field20_put_Attributes_Proxy( 
  9314.     Field20 __RPC_FAR * This,
  9315.     /* [in] */ long lAttributes);
  9316. void __RPC_STUB Field20_put_Attributes_Stub(
  9317.     IRpcStubBuffer *This,
  9318.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9319.     PRPC_MESSAGE _pRpcMessage,
  9320.     DWORD *_pdwStubPhase);
  9321. #endif     /* __Field20_INTERFACE_DEFINED__ */
  9322. #ifndef __Field_INTERFACE_DEFINED__
  9323. #define __Field_INTERFACE_DEFINED__
  9324. /* interface ADOField */
  9325. /* [object][helpcontext][uuid][nonextensible][dual] */ 
  9326. EXTERN_C const IID IID_Field;
  9327. #if defined(__cplusplus) && !defined(CINTERFACE)
  9328.     
  9329.     MIDL_INTERFACE("00000569-0000-0010-8000-00AA006D2EA4")
  9330.     ADOField : public Field20
  9331.     {
  9332.     public:
  9333.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Status( 
  9334.             /* [retval][out] */ long __RPC_FAR *pFStatus) = 0;
  9335.         
  9336.     };
  9337.     
  9338. #else     /* C style interface */
  9339.     typedef struct FieldVtbl
  9340.     {
  9341.         BEGIN_INTERFACE
  9342.         
  9343.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9344.             ADOField __RPC_FAR * This,
  9345.             /* [in] */ REFIID riid,
  9346.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9347.         
  9348.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9349.             ADOField __RPC_FAR * This);
  9350.         
  9351.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9352.             ADOField __RPC_FAR * This);
  9353.         
  9354.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  9355.             ADOField __RPC_FAR * This,
  9356.             /* [out] */ UINT __RPC_FAR *pctinfo);
  9357.         
  9358.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  9359.             ADOField __RPC_FAR * This,
  9360.             /* [in] */ UINT iTInfo,
  9361.             /* [in] */ LCID lcid,
  9362.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  9363.         
  9364.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  9365.             ADOField __RPC_FAR * This,
  9366.             /* [in] */ REFIID riid,
  9367.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  9368.             /* [in] */ UINT cNames,
  9369.             /* [in] */ LCID lcid,
  9370.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  9371.         
  9372.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  9373.             ADOField __RPC_FAR * This,
  9374.             /* [in] */ DISPID dispIdMember,
  9375.             /* [in] */ REFIID riid,
  9376.             /* [in] */ LCID lcid,
  9377.             /* [in] */ WORD wFlags,
  9378.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  9379.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  9380.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  9381.             /* [out] */ UINT __RPC_FAR *puArgErr);
  9382.         
  9383.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Properties )( 
  9384.             ADOField __RPC_FAR * This,
  9385.             /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject);
  9386.         
  9387.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActualSize )( 
  9388.             ADOField __RPC_FAR * This,
  9389.             /* [retval][out] */ long __RPC_FAR *pl);
  9390.         
  9391.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Attributes )( 
  9392.             ADOField __RPC_FAR * This,
  9393.             /* [retval][out] */ long __RPC_FAR *pl);
  9394.         
  9395.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DefinedSize )( 
  9396.             ADOField __RPC_FAR * This,
  9397.             /* [retval][out] */ long __RPC_FAR *pl);
  9398.         
  9399.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  9400.             ADOField __RPC_FAR * This,
  9401.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  9402.         
  9403.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )( 
  9404.             ADOField __RPC_FAR * This,
  9405.             /* [retval][out] */ DataTypeEnum __RPC_FAR *pDataType);
  9406.         
  9407.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Value )( 
  9408.             ADOField __RPC_FAR * This,
  9409.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  9410.         
  9411.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Value )( 
  9412.             ADOField __RPC_FAR * This,
  9413.             /* [in] */ VARIANT Val);
  9414.         
  9415.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Precision )( 
  9416.             ADOField __RPC_FAR * This,
  9417.             /* [retval][out] */ BYTE __RPC_FAR *pbPrecision);
  9418.         
  9419.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NumericScale )( 
  9420.             ADOField __RPC_FAR * This,
  9421.             /* [retval][out] */ BYTE __RPC_FAR *pbNumericScale);
  9422.         
  9423.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AppendChunk )( 
  9424.             ADOField __RPC_FAR * This,
  9425.             /* [in] */ VARIANT Data);
  9426.         
  9427.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetChunk )( 
  9428.             ADOField __RPC_FAR * This,
  9429.             /* [in] */ long Length,
  9430.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  9431.         
  9432.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_OriginalValue )( 
  9433.             ADOField __RPC_FAR * This,
  9434.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  9435.         
  9436.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UnderlyingValue )( 
  9437.             ADOField __RPC_FAR * This,
  9438.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  9439.         
  9440.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DataFormat )( 
  9441.             ADOField __RPC_FAR * This,
  9442.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppiDF);
  9443.         
  9444.         /* [propputref][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_DataFormat )( 
  9445.             ADOField __RPC_FAR * This,
  9446.             /* [in] */ IUnknown __RPC_FAR *piDF);
  9447.         
  9448.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Precision )( 
  9449.             ADOField __RPC_FAR * This,
  9450.             /* [in] */ BYTE bPrecision);
  9451.         
  9452.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_NumericScale )( 
  9453.             ADOField __RPC_FAR * This,
  9454.             /* [in] */ BYTE bScale);
  9455.         
  9456.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Type )( 
  9457.             ADOField __RPC_FAR * This,
  9458.             /* [in] */ DataTypeEnum DataType);
  9459.         
  9460.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DefinedSize )( 
  9461.             ADOField __RPC_FAR * This,
  9462.             /* [in] */ long lSize);
  9463.         
  9464.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Attributes )( 
  9465.             ADOField __RPC_FAR * This,
  9466.             /* [in] */ long lAttributes);
  9467.         
  9468.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Status )( 
  9469.             ADOField __RPC_FAR * This,
  9470.             /* [retval][out] */ long __RPC_FAR *pFStatus);
  9471.         
  9472.         END_INTERFACE
  9473.     } FieldVtbl;
  9474.     interface Field
  9475.     {
  9476.         CONST_VTBL struct FieldVtbl __RPC_FAR *lpVtbl;
  9477.     };
  9478.     
  9479. #ifdef COBJMACROS
  9480. #define Field_QueryInterface(This,riid,ppvObject)    \
  9481.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9482. #define Field_AddRef(This)    \
  9483.     (This)->lpVtbl -> AddRef(This)
  9484. #define Field_Release(This)    \
  9485.     (This)->lpVtbl -> Release(This)
  9486. #define Field_GetTypeInfoCount(This,pctinfo)    \
  9487.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  9488. #define Field_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  9489.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  9490. #define Field_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  9491.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  9492. #define Field_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  9493.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  9494. #define Field_get_Properties(This,ppvObject)    \
  9495.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  9496. #define Field_get_ActualSize(This,pl)    \
  9497.     (This)->lpVtbl -> get_ActualSize(This,pl)
  9498. #define Field_get_Attributes(This,pl)    \
  9499.     (This)->lpVtbl -> get_Attributes(This,pl)
  9500. #define Field_get_DefinedSize(This,pl)    \
  9501.     (This)->lpVtbl -> get_DefinedSize(This,pl)
  9502. #define Field_get_Name(This,pbstr)    \
  9503.     (This)->lpVtbl -> get_Name(This,pbstr)
  9504. #define Field_get_Type(This,pDataType)    \
  9505.     (This)->lpVtbl -> get_Type(This,pDataType)
  9506. #define Field_get_Value(This,pvar)    \
  9507.     (This)->lpVtbl -> get_Value(This,pvar)
  9508. #define Field_put_Value(This,Val)    \
  9509.     (This)->lpVtbl -> put_Value(This,Val)
  9510. #define Field_get_Precision(This,pbPrecision)    \
  9511.     (This)->lpVtbl -> get_Precision(This,pbPrecision)
  9512. #define Field_get_NumericScale(This,pbNumericScale)    \
  9513.     (This)->lpVtbl -> get_NumericScale(This,pbNumericScale)
  9514. #define Field_AppendChunk(This,Data)    \
  9515.     (This)->lpVtbl -> AppendChunk(This,Data)
  9516. #define Field_GetChunk(This,Length,pvar)    \
  9517.     (This)->lpVtbl -> GetChunk(This,Length,pvar)
  9518. #define Field_get_OriginalValue(This,pvar)    \
  9519.     (This)->lpVtbl -> get_OriginalValue(This,pvar)
  9520. #define Field_get_UnderlyingValue(This,pvar)    \
  9521.     (This)->lpVtbl -> get_UnderlyingValue(This,pvar)
  9522. #define Field_get_DataFormat(This,ppiDF)    \
  9523.     (This)->lpVtbl -> get_DataFormat(This,ppiDF)
  9524. #define Field_putref_DataFormat(This,piDF)    \
  9525.     (This)->lpVtbl -> putref_DataFormat(This,piDF)
  9526. #define Field_put_Precision(This,bPrecision)    \
  9527.     (This)->lpVtbl -> put_Precision(This,bPrecision)
  9528. #define Field_put_NumericScale(This,bScale)    \
  9529.     (This)->lpVtbl -> put_NumericScale(This,bScale)
  9530. #define Field_put_Type(This,DataType)    \
  9531.     (This)->lpVtbl -> put_Type(This,DataType)
  9532. #define Field_put_DefinedSize(This,lSize)    \
  9533.     (This)->lpVtbl -> put_DefinedSize(This,lSize)
  9534. #define Field_put_Attributes(This,lAttributes)    \
  9535.     (This)->lpVtbl -> put_Attributes(This,lAttributes)
  9536. #define Field_get_Status(This,pFStatus)    \
  9537.     (This)->lpVtbl -> get_Status(This,pFStatus)
  9538. #endif /* COBJMACROS */
  9539. #endif     /* C style interface */
  9540. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field_get_Status_Proxy( 
  9541.     ADOField __RPC_FAR * This,
  9542.     /* [retval][out] */ long __RPC_FAR *pFStatus);
  9543. void __RPC_STUB Field_get_Status_Stub(
  9544.     IRpcStubBuffer *This,
  9545.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9546.     PRPC_MESSAGE _pRpcMessage,
  9547.     DWORD *_pdwStubPhase);
  9548. #endif     /* __Field_INTERFACE_DEFINED__ */
  9549. #ifndef __Fields15_INTERFACE_DEFINED__
  9550. #define __Fields15_INTERFACE_DEFINED__
  9551. /* interface Fields15 */
  9552. /* [object][helpcontext][uuid][hidden][nonextensible][dual] */ 
  9553. EXTERN_C const IID IID_Fields15;
  9554. #if defined(__cplusplus) && !defined(CINTERFACE)
  9555.     
  9556.     MIDL_INTERFACE("00000506-0000-0010-8000-00AA006D2EA4")
  9557.     Fields15 : public _ADOCollection
  9558.     {
  9559.     public:
  9560.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
  9561.             /* [in] */ VARIANT Index,
  9562.             /* [retval][out] */ ADOField __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  9563.         
  9564.     };
  9565.     
  9566. #else     /* C style interface */
  9567.     typedef struct Fields15Vtbl
  9568.     {
  9569.         BEGIN_INTERFACE
  9570.         
  9571.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9572.             Fields15 __RPC_FAR * This,
  9573.             /* [in] */ REFIID riid,
  9574.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9575.         
  9576.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9577.             Fields15 __RPC_FAR * This);
  9578.         
  9579.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9580.             Fields15 __RPC_FAR * This);
  9581.         
  9582.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  9583.             Fields15 __RPC_FAR * This,
  9584.             /* [out] */ UINT __RPC_FAR *pctinfo);
  9585.         
  9586.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  9587.             Fields15 __RPC_FAR * This,
  9588.             /* [in] */ UINT iTInfo,
  9589.             /* [in] */ LCID lcid,
  9590.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  9591.         
  9592.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  9593.             Fields15 __RPC_FAR * This,
  9594.             /* [in] */ REFIID riid,
  9595.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  9596.             /* [in] */ UINT cNames,
  9597.             /* [in] */ LCID lcid,
  9598.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  9599.         
  9600.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  9601.             Fields15 __RPC_FAR * This,
  9602.             /* [in] */ DISPID dispIdMember,
  9603.             /* [in] */ REFIID riid,
  9604.             /* [in] */ LCID lcid,
  9605.             /* [in] */ WORD wFlags,
  9606.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  9607.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  9608.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  9609.             /* [out] */ UINT __RPC_FAR *puArgErr);
  9610.         
  9611.         /* [id][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  9612.             Fields15 __RPC_FAR * This,
  9613.             /* [retval][out] */ long __RPC_FAR *c);
  9614.         
  9615.         /* [id][restricted] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum )( 
  9616.             Fields15 __RPC_FAR * This,
  9617.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
  9618.         
  9619.         /* [id][helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  9620.             Fields15 __RPC_FAR * This);
  9621.         
  9622.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  9623.             Fields15 __RPC_FAR * This,
  9624.             /* [in] */ VARIANT Index,
  9625.             /* [retval][out] */ ADOField __RPC_FAR *__RPC_FAR *ppvObject);
  9626.         
  9627.         END_INTERFACE
  9628.     } Fields15Vtbl;
  9629.     interface Fields15
  9630.     {
  9631.         CONST_VTBL struct Fields15Vtbl __RPC_FAR *lpVtbl;
  9632.     };
  9633.     
  9634. #ifdef COBJMACROS
  9635. #define Fields15_QueryInterface(This,riid,ppvObject)    \
  9636.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9637. #define Fields15_AddRef(This)    \
  9638.     (This)->lpVtbl -> AddRef(This)
  9639. #define Fields15_Release(This)    \
  9640.     (This)->lpVtbl -> Release(This)
  9641. #define Fields15_GetTypeInfoCount(This,pctinfo)    \
  9642.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  9643. #define Fields15_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  9644.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  9645. #define Fields15_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  9646.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  9647. #define Fields15_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  9648.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  9649. #define Fields15_get_Count(This,c)    \
  9650.     (This)->lpVtbl -> get_Count(This,c)
  9651. #define Fields15__NewEnum(This,ppvObject)    \
  9652.     (This)->lpVtbl -> _NewEnum(This,ppvObject)
  9653. #define Fields15_Refresh(This)    \
  9654.     (This)->lpVtbl -> Refresh(This)
  9655. #define Fields15_get_Item(This,Index,ppvObject)    \
  9656.     (This)->lpVtbl -> get_Item(This,Index,ppvObject)
  9657. #endif /* COBJMACROS */
  9658. #endif     /* C style interface */
  9659. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Fields15_get_Item_Proxy( 
  9660.     Fields15 __RPC_FAR * This,
  9661.     /* [in] */ VARIANT Index,
  9662.     /* [retval][out] */ ADOField __RPC_FAR *__RPC_FAR *ppvObject);
  9663. void __RPC_STUB Fields15_get_Item_Stub(
  9664.     IRpcStubBuffer *This,
  9665.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9666.     PRPC_MESSAGE _pRpcMessage,
  9667.     DWORD *_pdwStubPhase);
  9668. #endif     /* __Fields15_INTERFACE_DEFINED__ */
  9669. #ifndef __Fields20_INTERFACE_DEFINED__
  9670. #define __Fields20_INTERFACE_DEFINED__
  9671. /* interface Fields20 */
  9672. /* [object][helpcontext][uuid][hidden][nonextensible][dual] */ 
  9673. EXTERN_C const IID IID_Fields20;
  9674. #if defined(__cplusplus) && !defined(CINTERFACE)
  9675.     
  9676.     MIDL_INTERFACE("0000054D-0000-0010-8000-00AA006D2EA4")
  9677.     Fields20 : public Fields15
  9678.     {
  9679.     public:
  9680.         virtual /* [hidden] */ HRESULT STDMETHODCALLTYPE _Append( 
  9681.             /* [in] */ BSTR Name,
  9682.             /* [in] */ DataTypeEnum Type,
  9683.             /* [defaultvalue][in] */ long DefinedSize = 0,
  9684.             /* [defaultvalue][in] */ FieldAttributeEnum Attrib = adFldUnspecified) = 0;
  9685.         
  9686.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( 
  9687.             /* [in] */ VARIANT Index) = 0;
  9688.         
  9689.     };
  9690.     
  9691. #else     /* C style interface */
  9692.     typedef struct Fields20Vtbl
  9693.     {
  9694.         BEGIN_INTERFACE
  9695.         
  9696.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9697.             Fields20 __RPC_FAR * This,
  9698.             /* [in] */ REFIID riid,
  9699.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9700.         
  9701.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9702.             Fields20 __RPC_FAR * This);
  9703.         
  9704.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9705.             Fields20 __RPC_FAR * This);
  9706.         
  9707.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  9708.             Fields20 __RPC_FAR * This,
  9709.             /* [out] */ UINT __RPC_FAR *pctinfo);
  9710.         
  9711.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  9712.             Fields20 __RPC_FAR * This,
  9713.             /* [in] */ UINT iTInfo,
  9714.             /* [in] */ LCID lcid,
  9715.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  9716.         
  9717.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  9718.             Fields20 __RPC_FAR * This,
  9719.             /* [in] */ REFIID riid,
  9720.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  9721.             /* [in] */ UINT cNames,
  9722.             /* [in] */ LCID lcid,
  9723.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  9724.         
  9725.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  9726.             Fields20 __RPC_FAR * This,
  9727.             /* [in] */ DISPID dispIdMember,
  9728.             /* [in] */ REFIID riid,
  9729.             /* [in] */ LCID lcid,
  9730.             /* [in] */ WORD wFlags,
  9731.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  9732.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  9733.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  9734.             /* [out] */ UINT __RPC_FAR *puArgErr);
  9735.         
  9736.         /* [id][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  9737.             Fields20 __RPC_FAR * This,
  9738.             /* [retval][out] */ long __RPC_FAR *c);
  9739.         
  9740.         /* [id][restricted] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum )( 
  9741.             Fields20 __RPC_FAR * This,
  9742.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
  9743.         
  9744.         /* [id][helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  9745.             Fields20 __RPC_FAR * This);
  9746.         
  9747.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  9748.             Fields20 __RPC_FAR * This,
  9749.             /* [in] */ VARIANT Index,
  9750.             /* [retval][out] */ ADOField __RPC_FAR *__RPC_FAR *ppvObject);
  9751.         
  9752.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_Append )( 
  9753.             Fields20 __RPC_FAR * This,
  9754.             /* [in] */ BSTR Name,
  9755.             /* [in] */ DataTypeEnum Type,
  9756.             /* [defaultvalue][in] */ long DefinedSize,
  9757.             /* [defaultvalue][in] */ FieldAttributeEnum Attrib);
  9758.         
  9759.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
  9760.             Fields20 __RPC_FAR * This,
  9761.             /* [in] */ VARIANT Index);
  9762.         
  9763.         END_INTERFACE
  9764.     } Fields20Vtbl;
  9765.     interface Fields20
  9766.     {
  9767.         CONST_VTBL struct Fields20Vtbl __RPC_FAR *lpVtbl;
  9768.     };
  9769.     
  9770. #ifdef COBJMACROS
  9771. #define Fields20_QueryInterface(This,riid,ppvObject)    \
  9772.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9773. #define Fields20_AddRef(This)    \
  9774.     (This)->lpVtbl -> AddRef(This)
  9775. #define Fields20_Release(This)    \
  9776.     (This)->lpVtbl -> Release(This)
  9777. #define Fields20_GetTypeInfoCount(This,pctinfo)    \
  9778.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  9779. #define Fields20_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  9780.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  9781. #define Fields20_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  9782.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  9783. #define Fields20_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  9784.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  9785. #define Fields20_get_Count(This,c)    \
  9786.     (This)->lpVtbl -> get_Count(This,c)
  9787. #define Fields20__NewEnum(This,ppvObject)    \
  9788.     (This)->lpVtbl -> _NewEnum(This,ppvObject)
  9789. #define Fields20_Refresh(This)    \
  9790.     (This)->lpVtbl -> Refresh(This)
  9791. #define Fields20_get_Item(This,Index,ppvObject)    \
  9792.     (This)->lpVtbl -> get_Item(This,Index,ppvObject)
  9793. #define Fields20__Append(This,Name,Type,DefinedSize,Attrib)    \
  9794.     (This)->lpVtbl -> _Append(This,Name,Type,DefinedSize,Attrib)
  9795. #define Fields20_Delete(This,Index)    \
  9796.     (This)->lpVtbl -> Delete(This,Index)
  9797. #endif /* COBJMACROS */
  9798. #endif     /* C style interface */
  9799. /* [hidden] */ HRESULT STDMETHODCALLTYPE Fields20__Append_Proxy( 
  9800.     Fields20 __RPC_FAR * This,
  9801.     /* [in] */ BSTR Name,
  9802.     /* [in] */ DataTypeEnum Type,
  9803.     /* [defaultvalue][in] */ long DefinedSize,
  9804.     /* [defaultvalue][in] */ FieldAttributeEnum Attrib);
  9805. void __RPC_STUB Fields20__Append_Stub(
  9806.     IRpcStubBuffer *This,
  9807.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9808.     PRPC_MESSAGE _pRpcMessage,
  9809.     DWORD *_pdwStubPhase);
  9810. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Fields20_Delete_Proxy( 
  9811.     Fields20 __RPC_FAR * This,
  9812.     /* [in] */ VARIANT Index);
  9813. void __RPC_STUB Fields20_Delete_Stub(
  9814.     IRpcStubBuffer *This,
  9815.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9816.     PRPC_MESSAGE _pRpcMessage,
  9817.     DWORD *_pdwStubPhase);
  9818. #endif     /* __Fields20_INTERFACE_DEFINED__ */
  9819. #ifndef __Fields_INTERFACE_DEFINED__
  9820. #define __Fields_INTERFACE_DEFINED__
  9821. /* interface ADOFields */
  9822. /* [object][helpcontext][uuid][nonextensible][dual] */ 
  9823. EXTERN_C const IID IID_Fields;
  9824. #if defined(__cplusplus) && !defined(CINTERFACE)
  9825.     
  9826.     MIDL_INTERFACE("00000564-0000-0010-8000-00AA006D2EA4")
  9827.     ADOFields : public Fields20
  9828.     {
  9829.     public:
  9830.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Append( 
  9831.             /* [in] */ BSTR Name,
  9832.             /* [in] */ DataTypeEnum Type,
  9833.             /* [defaultvalue][in] */ long DefinedSize,
  9834.             /* [defaultvalue][in] */ FieldAttributeEnum Attrib,
  9835.             /* [optional][in] */ VARIANT FieldValue) = 0;
  9836.         
  9837.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Update( void) = 0;
  9838.         
  9839.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Resync( void) = 0;
  9840.         
  9841.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CancelUpdate( void) = 0;
  9842.         
  9843.     };
  9844.     
  9845. #else     /* C style interface */
  9846.     typedef struct FieldsVtbl
  9847.     {
  9848.         BEGIN_INTERFACE
  9849.         
  9850.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9851.             ADOFields __RPC_FAR * This,
  9852.             /* [in] */ REFIID riid,
  9853.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9854.         
  9855.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9856.             ADOFields __RPC_FAR * This);
  9857.         
  9858.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9859.             ADOFields __RPC_FAR * This);
  9860.         
  9861.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  9862.             ADOFields __RPC_FAR * This,
  9863.             /* [out] */ UINT __RPC_FAR *pctinfo);
  9864.         
  9865.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  9866.             ADOFields __RPC_FAR * This,
  9867.             /* [in] */ UINT iTInfo,
  9868.             /* [in] */ LCID lcid,
  9869.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  9870.         
  9871.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  9872.             ADOFields __RPC_FAR * This,
  9873.             /* [in] */ REFIID riid,
  9874.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  9875.             /* [in] */ UINT cNames,
  9876.             /* [in] */ LCID lcid,
  9877.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  9878.         
  9879.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  9880.             ADOFields __RPC_FAR * This,
  9881.             /* [in] */ DISPID dispIdMember,
  9882.             /* [in] */ REFIID riid,
  9883.             /* [in] */ LCID lcid,
  9884.             /* [in] */ WORD wFlags,
  9885.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  9886.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  9887.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  9888.             /* [out] */ UINT __RPC_FAR *puArgErr);
  9889.         
  9890.         /* [id][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  9891.             ADOFields __RPC_FAR * This,
  9892.             /* [retval][out] */ long __RPC_FAR *c);
  9893.         
  9894.         /* [id][restricted] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum )( 
  9895.             ADOFields __RPC_FAR * This,
  9896.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
  9897.         
  9898.         /* [id][helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  9899.             ADOFields __RPC_FAR * This);
  9900.         
  9901.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  9902.             ADOFields __RPC_FAR * This,
  9903.             /* [in] */ VARIANT Index,
  9904.             /* [retval][out] */ ADOField __RPC_FAR *__RPC_FAR *ppvObject);
  9905.         
  9906.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_Append )( 
  9907.             ADOFields __RPC_FAR * This,
  9908.             /* [in] */ BSTR Name,
  9909.             /* [in] */ DataTypeEnum Type,
  9910.             /* [defaultvalue][in] */ long DefinedSize,
  9911.             /* [defaultvalue][in] */ FieldAttributeEnum Attrib);
  9912.         
  9913.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
  9914.             ADOFields __RPC_FAR * This,
  9915.             /* [in] */ VARIANT Index);
  9916.         
  9917.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Append )( 
  9918.             ADOFields __RPC_FAR * This,
  9919.             /* [in] */ BSTR Name,
  9920.             /* [in] */ DataTypeEnum Type,
  9921.             /* [defaultvalue][in] */ long DefinedSize,
  9922.             /* [defaultvalue][in] */ FieldAttributeEnum Attrib,
  9923.             /* [optional][in] */ VARIANT FieldValue);
  9924.         
  9925.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
  9926.             ADOFields __RPC_FAR * This);
  9927.         
  9928.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Resync )( 
  9929.             ADOFields __RPC_FAR * This);
  9930.         
  9931.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelUpdate )( 
  9932.             ADOFields __RPC_FAR * This);
  9933.         
  9934.         END_INTERFACE
  9935.     } FieldsVtbl;
  9936.     interface Fields
  9937.     {
  9938.         CONST_VTBL struct FieldsVtbl __RPC_FAR *lpVtbl;
  9939.     };
  9940.     
  9941. #ifdef COBJMACROS
  9942. #define Fields_QueryInterface(This,riid,ppvObject)    \
  9943.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9944. #define Fields_AddRef(This)    \
  9945.     (This)->lpVtbl -> AddRef(This)
  9946. #define Fields_Release(This)    \
  9947.     (This)->lpVtbl -> Release(This)
  9948. #define Fields_GetTypeInfoCount(This,pctinfo)    \
  9949.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  9950. #define Fields_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  9951.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  9952. #define Fields_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  9953.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  9954. #define Fields_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  9955.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  9956. #define Fields_get_Count(This,c)    \
  9957.     (This)->lpVtbl -> get_Count(This,c)
  9958. #define Fields__NewEnum(This,ppvObject)    \
  9959.     (This)->lpVtbl -> _NewEnum(This,ppvObject)
  9960. #define Fields_Refresh(This)    \
  9961.     (This)->lpVtbl -> Refresh(This)
  9962. #define Fields_get_Item(This,Index,ppvObject)    \
  9963.     (This)->lpVtbl -> get_Item(This,Index,ppvObject)
  9964. #define Fields__Append(This,Name,Type,DefinedSize,Attrib)    \
  9965.     (This)->lpVtbl -> _Append(This,Name,Type,DefinedSize,Attrib)
  9966. #define Fields_Delete(This,Index)    \
  9967.     (This)->lpVtbl -> Delete(This,Index)
  9968. #define Fields_Append(This,Name,Type,DefinedSize,Attrib,FieldValue)    \
  9969.     (This)->lpVtbl -> Append(This,Name,Type,DefinedSize,Attrib,FieldValue)
  9970. #define Fields_Update(This)    \
  9971.     (This)->lpVtbl -> Update(This)
  9972. #define Fields_Resync(This)    \
  9973.     (This)->lpVtbl -> Resync(This)
  9974. #define Fields_CancelUpdate(This)    \
  9975.     (This)->lpVtbl -> CancelUpdate(This)
  9976. #endif /* COBJMACROS */
  9977. #endif     /* C style interface */
  9978. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Fields_Append_Proxy( 
  9979.     ADOFields __RPC_FAR * This,
  9980.     /* [in] */ BSTR Name,
  9981.     /* [in] */ DataTypeEnum Type,
  9982.     /* [defaultvalue][in] */ long DefinedSize,
  9983.     /* [defaultvalue][in] */ FieldAttributeEnum Attrib,
  9984.     /* [optional][in] */ VARIANT FieldValue);
  9985. void __RPC_STUB Fields_Append_Stub(
  9986.     IRpcStubBuffer *This,
  9987.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9988.     PRPC_MESSAGE _pRpcMessage,
  9989.     DWORD *_pdwStubPhase);
  9990. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Fields_Update_Proxy( 
  9991.     ADOFields __RPC_FAR * This);
  9992. void __RPC_STUB Fields_Update_Stub(
  9993.     IRpcStubBuffer *This,
  9994.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9995.     PRPC_MESSAGE _pRpcMessage,
  9996.     DWORD *_pdwStubPhase);
  9997. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Fields_Resync_Proxy( 
  9998.     ADOFields __RPC_FAR * This);
  9999. void __RPC_STUB Fields_Resync_Stub(
  10000.     IRpcStubBuffer *This,
  10001.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10002.     PRPC_MESSAGE _pRpcMessage,
  10003.     DWORD *_pdwStubPhase);
  10004. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Fields_CancelUpdate_Proxy( 
  10005.     ADOFields __RPC_FAR * This);
  10006. void __RPC_STUB Fields_CancelUpdate_Stub(
  10007.     IRpcStubBuffer *This,
  10008.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10009.     PRPC_MESSAGE _pRpcMessage,
  10010.     DWORD *_pdwStubPhase);
  10011. #endif     /* __Fields_INTERFACE_DEFINED__ */
  10012. #ifndef ___Parameter_INTERFACE_DEFINED__
  10013. #define ___Parameter_INTERFACE_DEFINED__
  10014. /* interface _ADOParameter */
  10015. /* [object][helpcontext][uuid][nonextensible][dual] */ 
  10016. EXTERN_C const IID IID__Parameter;
  10017. #if defined(__cplusplus) && !defined(CINTERFACE)
  10018.     
  10019.     MIDL_INTERFACE("0000050C-0000-0010-8000-00AA006D2EA4")
  10020.     _ADOParameter : public _ADO
  10021.     {
  10022.     public:
  10023.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
  10024.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  10025.         
  10026.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Name( 
  10027.             /* [in] */ BSTR bstr) = 0;
  10028.         
  10029.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Value( 
  10030.             /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
  10031.         
  10032.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Value( 
  10033.             /* [in] */ VARIANT val) = 0;
  10034.         
  10035.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
  10036.             /* [retval][out] */ DataTypeEnum __RPC_FAR *psDataType) = 0;
  10037.         
  10038.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Type( 
  10039.             /* [in] */ DataTypeEnum sDataType) = 0;
  10040.         
  10041.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Direction( 
  10042.             /* [in] */ ParameterDirectionEnum lParmDirection) = 0;
  10043.         
  10044.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Direction( 
  10045.             /* [retval][out] */ ParameterDirectionEnum __RPC_FAR *plParmDirection) = 0;
  10046.         
  10047.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Precision( 
  10048.             /* [in] */ BYTE bPrecision) = 0;
  10049.         
  10050.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Precision( 
  10051.             /* [retval][out] */ BYTE __RPC_FAR *pbPrecision) = 0;
  10052.         
  10053.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_NumericScale( 
  10054.             /* [in] */ BYTE bScale) = 0;
  10055.         
  10056.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_NumericScale( 
  10057.             /* [retval][out] */ BYTE __RPC_FAR *pbScale) = 0;
  10058.         
  10059.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Size( 
  10060.             /* [in] */ long l) = 0;
  10061.         
  10062.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Size( 
  10063.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  10064.         
  10065.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE AppendChunk( 
  10066.             /* [in] */ VARIANT Val) = 0;
  10067.         
  10068.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Attributes( 
  10069.             /* [retval][out] */ LONG __RPC_FAR *plParmAttribs) = 0;
  10070.         
  10071.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Attributes( 
  10072.             /* [in] */ LONG lParmAttribs) = 0;
  10073.         
  10074.     };
  10075.     
  10076. #else     /* C style interface */
  10077.     typedef struct _ParameterVtbl
  10078.     {
  10079.         BEGIN_INTERFACE
  10080.         
  10081.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10082.             _ADOParameter __RPC_FAR * This,
  10083.             /* [in] */ REFIID riid,
  10084.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10085.         
  10086.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10087.             _ADOParameter __RPC_FAR * This);
  10088.         
  10089.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10090.             _ADOParameter __RPC_FAR * This);
  10091.         
  10092.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  10093.             _ADOParameter __RPC_FAR * This,
  10094.             /* [out] */ UINT __RPC_FAR *pctinfo);
  10095.         
  10096.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  10097.             _ADOParameter __RPC_FAR * This,
  10098.             /* [in] */ UINT iTInfo,
  10099.             /* [in] */ LCID lcid,
  10100.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  10101.         
  10102.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  10103.             _ADOParameter __RPC_FAR * This,
  10104.             /* [in] */ REFIID riid,
  10105.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  10106.             /* [in] */ UINT cNames,
  10107.             /* [in] */ LCID lcid,
  10108.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  10109.         
  10110.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  10111.             _ADOParameter __RPC_FAR * This,
  10112.             /* [in] */ DISPID dispIdMember,
  10113.             /* [in] */ REFIID riid,
  10114.             /* [in] */ LCID lcid,
  10115.             /* [in] */ WORD wFlags,
  10116.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  10117.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  10118.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  10119.             /* [out] */ UINT __RPC_FAR *puArgErr);
  10120.         
  10121.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Properties )( 
  10122.             _ADOParameter __RPC_FAR * This,
  10123.             /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject);
  10124.         
  10125.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  10126.             _ADOParameter __RPC_FAR * This,
  10127.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  10128.         
  10129.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
  10130.             _ADOParameter __RPC_FAR * This,
  10131.             /* [in] */ BSTR bstr);
  10132.         
  10133.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Value )( 
  10134.             _ADOParameter __RPC_FAR * This,
  10135.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  10136.         
  10137.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Value )( 
  10138.             _ADOParameter __RPC_FAR * This,
  10139.             /* [in] */ VARIANT val);
  10140.         
  10141.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )( 
  10142.             _ADOParameter __RPC_FAR * This,
  10143.             /* [retval][out] */ DataTypeEnum __RPC_FAR *psDataType);
  10144.         
  10145.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Type )( 
  10146.             _ADOParameter __RPC_FAR * This,
  10147.             /* [in] */ DataTypeEnum sDataType);
  10148.         
  10149.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Direction )( 
  10150.             _ADOParameter __RPC_FAR * This,
  10151.             /* [in] */ ParameterDirectionEnum lParmDirection);
  10152.         
  10153.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Direction )( 
  10154.             _ADOParameter __RPC_FAR * This,
  10155.             /* [retval][out] */ ParameterDirectionEnum __RPC_FAR *plParmDirection);
  10156.         
  10157.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Precision )( 
  10158.             _ADOParameter __RPC_FAR * This,
  10159.             /* [in] */ BYTE bPrecision);
  10160.         
  10161.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Precision )( 
  10162.             _ADOParameter __RPC_FAR * This,
  10163.             /* [retval][out] */ BYTE __RPC_FAR *pbPrecision);
  10164.         
  10165.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_NumericScale )( 
  10166.             _ADOParameter __RPC_FAR * This,
  10167.             /* [in] */ BYTE bScale);
  10168.         
  10169.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NumericScale )( 
  10170.             _ADOParameter __RPC_FAR * This,
  10171.             /* [retval][out] */ BYTE __RPC_FAR *pbScale);
  10172.         
  10173.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Size )( 
  10174.             _ADOParameter __RPC_FAR * This,
  10175.             /* [in] */ long l);
  10176.         
  10177.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Size )( 
  10178.             _ADOParameter __RPC_FAR * This,
  10179.             /* [retval][out] */ long __RPC_FAR *pl);
  10180.         
  10181.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AppendChunk )( 
  10182.             _ADOParameter __RPC_FAR * This,
  10183.             /* [in] */ VARIANT Val);
  10184.         
  10185.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Attributes )( 
  10186.             _ADOParameter __RPC_FAR * This,
  10187.             /* [retval][out] */ LONG __RPC_FAR *plParmAttribs);
  10188.         
  10189.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Attributes )( 
  10190.             _ADOParameter __RPC_FAR * This,
  10191.             /* [in] */ LONG lParmAttribs);
  10192.         
  10193.         END_INTERFACE
  10194.     } _ParameterVtbl;
  10195.     interface _Parameter
  10196.     {
  10197.         CONST_VTBL struct _ParameterVtbl __RPC_FAR *lpVtbl;
  10198.     };
  10199.     
  10200. #ifdef COBJMACROS
  10201. #define _Parameter_QueryInterface(This,riid,ppvObject)    \
  10202.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10203. #define _Parameter_AddRef(This)    \
  10204.     (This)->lpVtbl -> AddRef(This)
  10205. #define _Parameter_Release(This)    \
  10206.     (This)->lpVtbl -> Release(This)
  10207. #define _Parameter_GetTypeInfoCount(This,pctinfo)    \
  10208.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  10209. #define _Parameter_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  10210.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  10211. #define _Parameter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  10212.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  10213. #define _Parameter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  10214.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  10215. #define _Parameter_get_Properties(This,ppvObject)    \
  10216.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  10217. #define _Parameter_get_Name(This,pbstr)    \
  10218.     (This)->lpVtbl -> get_Name(This,pbstr)
  10219. #define _Parameter_put_Name(This,bstr)    \
  10220.     (This)->lpVtbl -> put_Name(This,bstr)
  10221. #define _Parameter_get_Value(This,pvar)    \
  10222.     (This)->lpVtbl -> get_Value(This,pvar)
  10223. #define _Parameter_put_Value(This,val)    \
  10224.     (This)->lpVtbl -> put_Value(This,val)
  10225. #define _Parameter_get_Type(This,psDataType)    \
  10226.     (This)->lpVtbl -> get_Type(This,psDataType)
  10227. #define _Parameter_put_Type(This,sDataType)    \
  10228.     (This)->lpVtbl -> put_Type(This,sDataType)
  10229. #define _Parameter_put_Direction(This,lParmDirection)    \
  10230.     (This)->lpVtbl -> put_Direction(This,lParmDirection)
  10231. #define _Parameter_get_Direction(This,plParmDirection)    \
  10232.     (This)->lpVtbl -> get_Direction(This,plParmDirection)
  10233. #define _Parameter_put_Precision(This,bPrecision)    \
  10234.     (This)->lpVtbl -> put_Precision(This,bPrecision)
  10235. #define _Parameter_get_Precision(This,pbPrecision)    \
  10236.     (This)->lpVtbl -> get_Precision(This,pbPrecision)
  10237. #define _Parameter_put_NumericScale(This,bScale)    \
  10238.     (This)->lpVtbl -> put_NumericScale(This,bScale)
  10239. #define _Parameter_get_NumericScale(This,pbScale)    \
  10240.     (This)->lpVtbl -> get_NumericScale(This,pbScale)
  10241. #define _Parameter_put_Size(This,l)    \
  10242.     (This)->lpVtbl -> put_Size(This,l)
  10243. #define _Parameter_get_Size(This,pl)    \
  10244.     (This)->lpVtbl -> get_Size(This,pl)
  10245. #define _Parameter_AppendChunk(This,Val)    \
  10246.     (This)->lpVtbl -> AppendChunk(This,Val)
  10247. #define _Parameter_get_Attributes(This,plParmAttribs)    \
  10248.     (This)->lpVtbl -> get_Attributes(This,plParmAttribs)
  10249. #define _Parameter_put_Attributes(This,lParmAttribs)    \
  10250.     (This)->lpVtbl -> put_Attributes(This,lParmAttribs)
  10251. #endif /* COBJMACROS */
  10252. #endif     /* C style interface */
  10253. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Parameter_get_Name_Proxy( 
  10254.     _ADOParameter __RPC_FAR * This,
  10255.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  10256. void __RPC_STUB _Parameter_get_Name_Stub(
  10257.     IRpcStubBuffer *This,
  10258.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10259.     PRPC_MESSAGE _pRpcMessage,
  10260.     DWORD *_pdwStubPhase);
  10261. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE _Parameter_put_Name_Proxy( 
  10262.     _ADOParameter __RPC_FAR * This,
  10263.     /* [in] */ BSTR bstr);
  10264. void __RPC_STUB _Parameter_put_Name_Stub(
  10265.     IRpcStubBuffer *This,
  10266.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10267.     PRPC_MESSAGE _pRpcMessage,
  10268.     DWORD *_pdwStubPhase);
  10269. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Parameter_get_Value_Proxy( 
  10270.     _ADOParameter __RPC_FAR * This,
  10271.     /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  10272. void __RPC_STUB _Parameter_get_Value_Stub(
  10273.     IRpcStubBuffer *This,
  10274.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10275.     PRPC_MESSAGE _pRpcMessage,
  10276.     DWORD *_pdwStubPhase);
  10277. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE _Parameter_put_Value_Proxy( 
  10278.     _ADOParameter __RPC_FAR * This,
  10279.     /* [in] */ VARIANT val);
  10280. void __RPC_STUB _Parameter_put_Value_Stub(
  10281.     IRpcStubBuffer *This,
  10282.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10283.     PRPC_MESSAGE _pRpcMessage,
  10284.     DWORD *_pdwStubPhase);
  10285. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Parameter_get_Type_Proxy( 
  10286.     _ADOParameter __RPC_FAR * This,
  10287.     /* [retval][out] */ DataTypeEnum __RPC_FAR *psDataType);
  10288. void __RPC_STUB _Parameter_get_Type_Stub(
  10289.     IRpcStubBuffer *This,
  10290.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10291.     PRPC_MESSAGE _pRpcMessage,
  10292.     DWORD *_pdwStubPhase);
  10293. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE _Parameter_put_Type_Proxy( 
  10294.     _ADOParameter __RPC_FAR * This,
  10295.     /* [in] */ DataTypeEnum sDataType);
  10296. void __RPC_STUB _Parameter_put_Type_Stub(
  10297.     IRpcStubBuffer *This,
  10298.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10299.     PRPC_MESSAGE _pRpcMessage,
  10300.     DWORD *_pdwStubPhase);
  10301. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE _Parameter_put_Direction_Proxy( 
  10302.     _ADOParameter __RPC_FAR * This,
  10303.     /* [in] */ ParameterDirectionEnum lParmDirection);
  10304. void __RPC_STUB _Parameter_put_Direction_Stub(
  10305.     IRpcStubBuffer *This,
  10306.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10307.     PRPC_MESSAGE _pRpcMessage,
  10308.     DWORD *_pdwStubPhase);
  10309. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Parameter_get_Direction_Proxy( 
  10310.     _ADOParameter __RPC_FAR * This,
  10311.     /* [retval][out] */ ParameterDirectionEnum __RPC_FAR *plParmDirection);
  10312. void __RPC_STUB _Parameter_get_Direction_Stub(
  10313.     IRpcStubBuffer *This,
  10314.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10315.     PRPC_MESSAGE _pRpcMessage,
  10316.     DWORD *_pdwStubPhase);
  10317. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE _Parameter_put_Precision_Proxy( 
  10318.     _ADOParameter __RPC_FAR * This,
  10319.     /* [in] */ BYTE bPrecision);
  10320. void __RPC_STUB _Parameter_put_Precision_Stub(
  10321.     IRpcStubBuffer *This,
  10322.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10323.     PRPC_MESSAGE _pRpcMessage,
  10324.     DWORD *_pdwStubPhase);
  10325. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Parameter_get_Precision_Proxy( 
  10326.     _ADOParameter __RPC_FAR * This,
  10327.     /* [retval][out] */ BYTE __RPC_FAR *pbPrecision);
  10328. void __RPC_STUB _Parameter_get_Precision_Stub(
  10329.     IRpcStubBuffer *This,
  10330.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10331.     PRPC_MESSAGE _pRpcMessage,
  10332.     DWORD *_pdwStubPhase);
  10333. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE _Parameter_put_NumericScale_Proxy( 
  10334.     _ADOParameter __RPC_FAR * This,
  10335.     /* [in] */ BYTE bScale);
  10336. void __RPC_STUB _Parameter_put_NumericScale_Stub(
  10337.     IRpcStubBuffer *This,
  10338.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10339.     PRPC_MESSAGE _pRpcMessage,
  10340.     DWORD *_pdwStubPhase);
  10341. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Parameter_get_NumericScale_Proxy( 
  10342.     _ADOParameter __RPC_FAR * This,
  10343.     /* [retval][out] */ BYTE __RPC_FAR *pbScale);
  10344. void __RPC_STUB _Parameter_get_NumericScale_Stub(
  10345.     IRpcStubBuffer *This,
  10346.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10347.     PRPC_MESSAGE _pRpcMessage,
  10348.     DWORD *_pdwStubPhase);
  10349. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE _Parameter_put_Size_Proxy( 
  10350.     _ADOParameter __RPC_FAR * This,
  10351.     /* [in] */ long l);
  10352. void __RPC_STUB _Parameter_put_Size_Stub(
  10353.     IRpcStubBuffer *This,
  10354.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10355.     PRPC_MESSAGE _pRpcMessage,
  10356.     DWORD *_pdwStubPhase);
  10357. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Parameter_get_Size_Proxy( 
  10358.     _ADOParameter __RPC_FAR * This,
  10359.     /* [retval][out] */ long __RPC_FAR *pl);
  10360. void __RPC_STUB _Parameter_get_Size_Stub(
  10361.     IRpcStubBuffer *This,
  10362.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10363.     PRPC_MESSAGE _pRpcMessage,
  10364.     DWORD *_pdwStubPhase);
  10365. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Parameter_AppendChunk_Proxy( 
  10366.     _ADOParameter __RPC_FAR * This,
  10367.     /* [in] */ VARIANT Val);
  10368. void __RPC_STUB _Parameter_AppendChunk_Stub(
  10369.     IRpcStubBuffer *This,
  10370.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10371.     PRPC_MESSAGE _pRpcMessage,
  10372.     DWORD *_pdwStubPhase);
  10373. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Parameter_get_Attributes_Proxy( 
  10374.     _ADOParameter __RPC_FAR * This,
  10375.     /* [retval][out] */ LONG __RPC_FAR *plParmAttribs);
  10376. void __RPC_STUB _Parameter_get_Attributes_Stub(
  10377.     IRpcStubBuffer *This,
  10378.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10379.     PRPC_MESSAGE _pRpcMessage,
  10380.     DWORD *_pdwStubPhase);
  10381. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE _Parameter_put_Attributes_Proxy( 
  10382.     _ADOParameter __RPC_FAR * This,
  10383.     /* [in] */ LONG lParmAttribs);
  10384. void __RPC_STUB _Parameter_put_Attributes_Stub(
  10385.     IRpcStubBuffer *This,
  10386.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10387.     PRPC_MESSAGE _pRpcMessage,
  10388.     DWORD *_pdwStubPhase);
  10389. #endif     /* ___Parameter_INTERFACE_DEFINED__ */
  10390. EXTERN_C const CLSID CLSID_Parameter;
  10391. #ifdef __cplusplus
  10392. Parameter;
  10393. #endif
  10394. #ifndef __Parameters_INTERFACE_DEFINED__
  10395. #define __Parameters_INTERFACE_DEFINED__
  10396. /* interface ADOParameters */
  10397. /* [object][helpcontext][uuid][nonextensible][dual] */ 
  10398. EXTERN_C const IID IID_Parameters;
  10399. #if defined(__cplusplus) && !defined(CINTERFACE)
  10400.     
  10401.     MIDL_INTERFACE("0000050D-0000-0010-8000-00AA006D2EA4")
  10402.     ADOParameters : public _ADODynaCollection
  10403.     {
  10404.     public:
  10405.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
  10406.             /* [in] */ VARIANT Index,
  10407.             /* [retval][out] */ _ADOParameter __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  10408.         
  10409.     };
  10410.     
  10411. #else     /* C style interface */
  10412.     typedef struct ParametersVtbl
  10413.     {
  10414.         BEGIN_INTERFACE
  10415.         
  10416.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10417.             ADOParameters __RPC_FAR * This,
  10418.             /* [in] */ REFIID riid,
  10419.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10420.         
  10421.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10422.             ADOParameters __RPC_FAR * This);
  10423.         
  10424.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10425.             ADOParameters __RPC_FAR * This);
  10426.         
  10427.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  10428.             ADOParameters __RPC_FAR * This,
  10429.             /* [out] */ UINT __RPC_FAR *pctinfo);
  10430.         
  10431.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  10432.             ADOParameters __RPC_FAR * This,
  10433.             /* [in] */ UINT iTInfo,
  10434.             /* [in] */ LCID lcid,
  10435.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  10436.         
  10437.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  10438.             ADOParameters __RPC_FAR * This,
  10439.             /* [in] */ REFIID riid,
  10440.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  10441.             /* [in] */ UINT cNames,
  10442.             /* [in] */ LCID lcid,
  10443.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  10444.         
  10445.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  10446.             ADOParameters __RPC_FAR * This,
  10447.             /* [in] */ DISPID dispIdMember,
  10448.             /* [in] */ REFIID riid,
  10449.             /* [in] */ LCID lcid,
  10450.             /* [in] */ WORD wFlags,
  10451.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  10452.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  10453.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  10454.             /* [out] */ UINT __RPC_FAR *puArgErr);
  10455.         
  10456.         /* [id][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  10457.             ADOParameters __RPC_FAR * This,
  10458.             /* [retval][out] */ long __RPC_FAR *c);
  10459.         
  10460.         /* [id][restricted] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum )( 
  10461.             ADOParameters __RPC_FAR * This,
  10462.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
  10463.         
  10464.         /* [id][helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  10465.             ADOParameters __RPC_FAR * This);
  10466.         
  10467.         /* [helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Append )( 
  10468.             ADOParameters __RPC_FAR * This,
  10469.             /* [in] */ IDispatch __RPC_FAR *Object);
  10470.         
  10471.         /* [helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
  10472.             ADOParameters __RPC_FAR * This,
  10473.             /* [in] */ VARIANT Index);
  10474.         
  10475.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  10476.             ADOParameters __RPC_FAR * This,
  10477.             /* [in] */ VARIANT Index,
  10478.             /* [retval][out] */ _ADOParameter __RPC_FAR *__RPC_FAR *ppvObject);
  10479.         
  10480.         END_INTERFACE
  10481.     } ParametersVtbl;
  10482.     interface Parameters
  10483.     {
  10484.         CONST_VTBL struct ParametersVtbl __RPC_FAR *lpVtbl;
  10485.     };
  10486.     
  10487. #ifdef COBJMACROS
  10488. #define Parameters_QueryInterface(This,riid,ppvObject)    \
  10489.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10490. #define Parameters_AddRef(This)    \
  10491.     (This)->lpVtbl -> AddRef(This)
  10492. #define Parameters_Release(This)    \
  10493.     (This)->lpVtbl -> Release(This)
  10494. #define Parameters_GetTypeInfoCount(This,pctinfo)    \
  10495.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  10496. #define Parameters_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  10497.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  10498. #define Parameters_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  10499.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  10500. #define Parameters_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  10501.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  10502. #define Parameters_get_Count(This,c)    \
  10503.     (This)->lpVtbl -> get_Count(This,c)
  10504. #define Parameters__NewEnum(This,ppvObject)    \
  10505.     (This)->lpVtbl -> _NewEnum(This,ppvObject)
  10506. #define Parameters_Refresh(This)    \
  10507.     (This)->lpVtbl -> Refresh(This)
  10508. #define Parameters_Append(This,Object)    \
  10509.     (This)->lpVtbl -> Append(This,Object)
  10510. #define Parameters_Delete(This,Index)    \
  10511.     (This)->lpVtbl -> Delete(This,Index)
  10512. #define Parameters_get_Item(This,Index,ppvObject)    \
  10513.     (This)->lpVtbl -> get_Item(This,Index,ppvObject)
  10514. #endif /* COBJMACROS */
  10515. #endif     /* C style interface */
  10516. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Parameters_get_Item_Proxy( 
  10517.     ADOParameters __RPC_FAR * This,
  10518.     /* [in] */ VARIANT Index,
  10519.     /* [retval][out] */ _ADOParameter __RPC_FAR *__RPC_FAR *ppvObject);
  10520. void __RPC_STUB Parameters_get_Item_Stub(
  10521.     IRpcStubBuffer *This,
  10522.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10523.     PRPC_MESSAGE _pRpcMessage,
  10524.     DWORD *_pdwStubPhase);
  10525. #endif     /* __Parameters_INTERFACE_DEFINED__ */
  10526. #ifndef __Property_INTERFACE_DEFINED__
  10527. #define __Property_INTERFACE_DEFINED__
  10528. /* interface ADOProperty */
  10529. /* [object][helpcontext][uuid][nonextensible][dual] */ 
  10530. EXTERN_C const IID IID_Property;
  10531. #if defined(__cplusplus) && !defined(CINTERFACE)
  10532.     
  10533.     MIDL_INTERFACE("00000503-0000-0010-8000-00AA006D2EA4")
  10534.     ADOProperty : public IDispatch
  10535.     {
  10536.     public:
  10537.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
  10538.             /* [retval][out] */ VARIANT __RPC_FAR *pval) = 0;
  10539.         
  10540.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Value( 
  10541.             /* [in] */ VARIANT val) = 0;
  10542.         
  10543.         virtual /* [helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  10544.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  10545.         
  10546.         virtual /* [helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
  10547.             /* [retval][out] */ DataTypeEnum __RPC_FAR *ptype) = 0;
  10548.         
  10549.         virtual /* [helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Attributes( 
  10550.             /* [retval][out] */ long __RPC_FAR *plAttributes) = 0;
  10551.         
  10552.         virtual /* [helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_Attributes( 
  10553.             /* [in] */ long lAttributes) = 0;
  10554.         
  10555.     };
  10556.     
  10557. #else     /* C style interface */
  10558.     typedef struct PropertyVtbl
  10559.     {
  10560.         BEGIN_INTERFACE
  10561.         
  10562.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10563.             ADOProperty __RPC_FAR * This,
  10564.             /* [in] */ REFIID riid,
  10565.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10566.         
  10567.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10568.             ADOProperty __RPC_FAR * This);
  10569.         
  10570.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10571.             ADOProperty __RPC_FAR * This);
  10572.         
  10573.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  10574.             ADOProperty __RPC_FAR * This,
  10575.             /* [out] */ UINT __RPC_FAR *pctinfo);
  10576.         
  10577.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  10578.             ADOProperty __RPC_FAR * This,
  10579.             /* [in] */ UINT iTInfo,
  10580.             /* [in] */ LCID lcid,
  10581.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  10582.         
  10583.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  10584.             ADOProperty __RPC_FAR * This,
  10585.             /* [in] */ REFIID riid,
  10586.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  10587.             /* [in] */ UINT cNames,
  10588.             /* [in] */ LCID lcid,
  10589.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  10590.         
  10591.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  10592.             ADOProperty __RPC_FAR * This,
  10593.             /* [in] */ DISPID dispIdMember,
  10594.             /* [in] */ REFIID riid,
  10595.             /* [in] */ LCID lcid,
  10596.             /* [in] */ WORD wFlags,
  10597.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  10598.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  10599.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  10600.             /* [out] */ UINT __RPC_FAR *puArgErr);
  10601.         
  10602.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Value )( 
  10603.             ADOProperty __RPC_FAR * This,
  10604.             /* [retval][out] */ VARIANT __RPC_FAR *pval);
  10605.         
  10606.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Value )( 
  10607.             ADOProperty __RPC_FAR * This,
  10608.             /* [in] */ VARIANT val);
  10609.         
  10610.         /* [helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  10611.             ADOProperty __RPC_FAR * This,
  10612.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  10613.         
  10614.         /* [helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )( 
  10615.             ADOProperty __RPC_FAR * This,
  10616.             /* [retval][out] */ DataTypeEnum __RPC_FAR *ptype);
  10617.         
  10618.         /* [helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Attributes )( 
  10619.             ADOProperty __RPC_FAR * This,
  10620.             /* [retval][out] */ long __RPC_FAR *plAttributes);
  10621.         
  10622.         /* [helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Attributes )( 
  10623.             ADOProperty __RPC_FAR * This,
  10624.             /* [in] */ long lAttributes);
  10625.         
  10626.         END_INTERFACE
  10627.     } PropertyVtbl;
  10628.     interface Property
  10629.     {
  10630.         CONST_VTBL struct PropertyVtbl __RPC_FAR *lpVtbl;
  10631.     };
  10632.     
  10633. #ifdef COBJMACROS
  10634. #define Property_QueryInterface(This,riid,ppvObject)    \
  10635.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10636. #define Property_AddRef(This)    \
  10637.     (This)->lpVtbl -> AddRef(This)
  10638. #define Property_Release(This)    \
  10639.     (This)->lpVtbl -> Release(This)
  10640. #define Property_GetTypeInfoCount(This,pctinfo)    \
  10641.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  10642. #define Property_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  10643.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  10644. #define Property_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  10645.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  10646. #define Property_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  10647.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  10648. #define Property_get_Value(This,pval)    \
  10649.     (This)->lpVtbl -> get_Value(This,pval)
  10650. #define Property_put_Value(This,val)    \
  10651.     (This)->lpVtbl -> put_Value(This,val)
  10652. #define Property_get_Name(This,pbstr)    \
  10653.     (This)->lpVtbl -> get_Name(This,pbstr)
  10654. #define Property_get_Type(This,ptype)    \
  10655.     (This)->lpVtbl -> get_Type(This,ptype)
  10656. #define Property_get_Attributes(This,plAttributes)    \
  10657.     (This)->lpVtbl -> get_Attributes(This,plAttributes)
  10658. #define Property_put_Attributes(This,lAttributes)    \
  10659.     (This)->lpVtbl -> put_Attributes(This,lAttributes)
  10660. #endif /* COBJMACROS */
  10661. #endif     /* C style interface */
  10662. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Property_get_Value_Proxy( 
  10663.     ADOProperty __RPC_FAR * This,
  10664.     /* [retval][out] */ VARIANT __RPC_FAR *pval);
  10665. void __RPC_STUB Property_get_Value_Stub(
  10666.     IRpcStubBuffer *This,
  10667.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10668.     PRPC_MESSAGE _pRpcMessage,
  10669.     DWORD *_pdwStubPhase);
  10670. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE Property_put_Value_Proxy( 
  10671.     ADOProperty __RPC_FAR * This,
  10672.     /* [in] */ VARIANT val);
  10673. void __RPC_STUB Property_put_Value_Stub(
  10674.     IRpcStubBuffer *This,
  10675.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10676.     PRPC_MESSAGE _pRpcMessage,
  10677.     DWORD *_pdwStubPhase);
  10678. /* [helpcontext][propget] */ HRESULT STDMETHODCALLTYPE Property_get_Name_Proxy( 
  10679.     ADOProperty __RPC_FAR * This,
  10680.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  10681. void __RPC_STUB Property_get_Name_Stub(
  10682.     IRpcStubBuffer *This,
  10683.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10684.     PRPC_MESSAGE _pRpcMessage,
  10685.     DWORD *_pdwStubPhase);
  10686. /* [helpcontext][propget] */ HRESULT STDMETHODCALLTYPE Property_get_Type_Proxy( 
  10687.     ADOProperty __RPC_FAR * This,
  10688.     /* [retval][out] */ DataTypeEnum __RPC_FAR *ptype);
  10689. void __RPC_STUB Property_get_Type_Stub(
  10690.     IRpcStubBuffer *This,
  10691.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10692.     PRPC_MESSAGE _pRpcMessage,
  10693.     DWORD *_pdwStubPhase);
  10694. /* [helpcontext][propget] */ HRESULT STDMETHODCALLTYPE Property_get_Attributes_Proxy( 
  10695.     ADOProperty __RPC_FAR * This,
  10696.     /* [retval][out] */ long __RPC_FAR *plAttributes);
  10697. void __RPC_STUB Property_get_Attributes_Stub(
  10698.     IRpcStubBuffer *This,
  10699.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10700.     PRPC_MESSAGE _pRpcMessage,
  10701.     DWORD *_pdwStubPhase);
  10702. /* [helpcontext][propput] */ HRESULT STDMETHODCALLTYPE Property_put_Attributes_Proxy( 
  10703.     ADOProperty __RPC_FAR * This,
  10704.     /* [in] */ long lAttributes);
  10705. void __RPC_STUB Property_put_Attributes_Stub(
  10706.     IRpcStubBuffer *This,
  10707.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10708.     PRPC_MESSAGE _pRpcMessage,
  10709.     DWORD *_pdwStubPhase);
  10710. #endif     /* __Property_INTERFACE_DEFINED__ */
  10711. #ifndef __Properties_INTERFACE_DEFINED__
  10712. #define __Properties_INTERFACE_DEFINED__
  10713. /* interface ADOProperties */
  10714. /* [object][helpcontext][uuid][nonextensible][dual] */ 
  10715. EXTERN_C const IID IID_Properties;
  10716. #if defined(__cplusplus) && !defined(CINTERFACE)
  10717.     
  10718.     MIDL_INTERFACE("00000504-0000-0010-8000-00AA006D2EA4")
  10719.     ADOProperties : public _ADOCollection
  10720.     {
  10721.     public:
  10722.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  10723.             /* [in] */ VARIANT Index,
  10724.             /* [retval][out] */ ADOProperty __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  10725.         
  10726.     };
  10727.     
  10728. #else     /* C style interface */
  10729.     typedef struct PropertiesVtbl
  10730.     {
  10731.         BEGIN_INTERFACE
  10732.         
  10733.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10734.             ADOProperties __RPC_FAR * This,
  10735.             /* [in] */ REFIID riid,
  10736.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10737.         
  10738.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10739.             ADOProperties __RPC_FAR * This);
  10740.         
  10741.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10742.             ADOProperties __RPC_FAR * This);
  10743.         
  10744.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  10745.             ADOProperties __RPC_FAR * This,
  10746.             /* [out] */ UINT __RPC_FAR *pctinfo);
  10747.         
  10748.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  10749.             ADOProperties __RPC_FAR * This,
  10750.             /* [in] */ UINT iTInfo,
  10751.             /* [in] */ LCID lcid,
  10752.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  10753.         
  10754.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  10755.             ADOProperties __RPC_FAR * This,
  10756.             /* [in] */ REFIID riid,
  10757.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  10758.             /* [in] */ UINT cNames,
  10759.             /* [in] */ LCID lcid,
  10760.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  10761.         
  10762.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  10763.             ADOProperties __RPC_FAR * This,
  10764.             /* [in] */ DISPID dispIdMember,
  10765.             /* [in] */ REFIID riid,
  10766.             /* [in] */ LCID lcid,
  10767.             /* [in] */ WORD wFlags,
  10768.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  10769.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  10770.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  10771.             /* [out] */ UINT __RPC_FAR *puArgErr);
  10772.         
  10773.         /* [id][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  10774.             ADOProperties __RPC_FAR * This,
  10775.             /* [retval][out] */ long __RPC_FAR *c);
  10776.         
  10777.         /* [id][restricted] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum )( 
  10778.             ADOProperties __RPC_FAR * This,
  10779.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
  10780.         
  10781.         /* [id][helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  10782.             ADOProperties __RPC_FAR * This);
  10783.         
  10784.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  10785.             ADOProperties __RPC_FAR * This,
  10786.             /* [in] */ VARIANT Index,
  10787.             /* [retval][out] */ ADOProperty __RPC_FAR *__RPC_FAR *ppvObject);
  10788.         
  10789.         END_INTERFACE
  10790.     } PropertiesVtbl;
  10791.     interface Properties
  10792.     {
  10793.         CONST_VTBL struct PropertiesVtbl __RPC_FAR *lpVtbl;
  10794.     };
  10795.     
  10796. #ifdef COBJMACROS
  10797. #define Properties_QueryInterface(This,riid,ppvObject)    \
  10798.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10799. #define Properties_AddRef(This)    \
  10800.     (This)->lpVtbl -> AddRef(This)
  10801. #define Properties_Release(This)    \
  10802.     (This)->lpVtbl -> Release(This)
  10803. #define Properties_GetTypeInfoCount(This,pctinfo)    \
  10804.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  10805. #define Properties_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  10806.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  10807. #define Properties_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  10808.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  10809. #define Properties_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  10810.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  10811. #define Properties_get_Count(This,c)    \
  10812.     (This)->lpVtbl -> get_Count(This,c)
  10813. #define Properties__NewEnum(This,ppvObject)    \
  10814.     (This)->lpVtbl -> _NewEnum(This,ppvObject)
  10815. #define Properties_Refresh(This)    \
  10816.     (This)->lpVtbl -> Refresh(This)
  10817. #define Properties_get_Item(This,Index,ppvObject)    \
  10818.     (This)->lpVtbl -> get_Item(This,Index,ppvObject)
  10819. #endif /* COBJMACROS */
  10820. #endif     /* C style interface */
  10821. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Properties_get_Item_Proxy( 
  10822.     ADOProperties __RPC_FAR * This,
  10823.     /* [in] */ VARIANT Index,
  10824.     /* [retval][out] */ ADOProperty __RPC_FAR *__RPC_FAR *ppvObject);
  10825. void __RPC_STUB Properties_get_Item_Stub(
  10826.     IRpcStubBuffer *This,
  10827.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10828.     PRPC_MESSAGE _pRpcMessage,
  10829.     DWORD *_pdwStubPhase);
  10830. #endif     /* __Properties_INTERFACE_DEFINED__ */
  10831. #endif /* __ADODB_LIBRARY_DEFINED__ */
  10832. /* Additional Prototypes for ALL interfaces */
  10833. /* end of Additional Prototypes */
  10834. #ifdef __cplusplus
  10835. }
  10836. #endif
  10837. #endif
  10838. #define ADOCommand _ADOCommand
  10839. #define ADORecordset _ADORecordset
  10840. #define ADOTransaction _ADOTransaction
  10841. #define ADOParameter _ADOParameter
  10842. #define ADOConnection _ADOConnection
  10843. #define ADOCollection _ADOCollection
  10844. #define ADODynaCollection _ADODynaCollection
  10845. #define ADORecord _ADORecord
  10846. #define ADORecField _ADORecField
  10847. #define ADOStream _ADOStream
  10848.  
  10849.  
  10850. #pragma option pop /*P_O_Pop*/
  10851. #endif // _ADOINT_H_
  10852.