home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 February / CHIP_2_98.iso / software / pelne / optionp / mts4.cab / adoint.h < prev    next >
C/C++ Source or Header  |  1997-11-14  |  214KB  |  4,858 lines

  1. //--------------------------------------------------------------------
  2. // Microsoft ADO
  3. //
  4. // (c) 1996 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. #define _ADOINT_H_
  14.  
  15. #ifndef _INC_TCHAR
  16. #include <tchar.h>
  17. #endif
  18.  
  19. #if _MSC_VER >= 1100
  20. #define DECLSPEC_UUID(x)    __declspec(uuid(x))
  21. #else
  22. #define DECLSPEC_UUID(x)
  23. #endif
  24.  
  25.  
  26. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  27. /* File created by MIDL compiler version 3.01.75 */
  28. /* at Tue Oct 07 23:50:20 1997
  29.  */
  30. /* Compiler settings for m_bobj.odl:
  31.     Os (OptLev=s), W4, Zp8, env=Win32, ms_ext, c_ext
  32.     error checks: none
  33. */
  34. //@@MIDL_FILE_HEADING(  )
  35. #include "rpc.h"
  36. #include "rpcndr.h"
  37. #ifndef __m_bobj_h__
  38. #define __m_bobj_h__
  39. #ifdef __cplusplus
  40. extern "C"{
  41. #endif 
  42. /* Forward Declarations */ 
  43. #ifndef ___ADOCollection_FWD_DEFINED__
  44. #define ___ADOCollection_FWD_DEFINED__
  45. typedef interface _ADOCollection _ADOCollection;
  46. #endif     /* ___ADOCollection_FWD_DEFINED__ */
  47. #ifndef ___ADODynaCollection_FWD_DEFINED__
  48. #define ___ADODynaCollection_FWD_DEFINED__
  49. typedef interface _ADODynaCollection _ADODynaCollection;
  50. #endif     /* ___ADODynaCollection_FWD_DEFINED__ */
  51. #ifndef ___ADO_FWD_DEFINED__
  52. #define ___ADO_FWD_DEFINED__
  53. typedef interface _ADO _ADO;
  54. #endif     /* ___ADO_FWD_DEFINED__ */
  55. #ifndef __Error_FWD_DEFINED__
  56. #define __Error_FWD_DEFINED__
  57. typedef interface ADOError Error;
  58. #endif     /* __Error_FWD_DEFINED__ */
  59. #ifndef __Errors_FWD_DEFINED__
  60. #define __Errors_FWD_DEFINED__
  61. typedef interface ADOErrors Errors;
  62. #endif     /* __Errors_FWD_DEFINED__ */
  63. #ifndef ___Command_FWD_DEFINED__
  64. #define ___Command_FWD_DEFINED__
  65. typedef interface _ADOCommand _Command;
  66. #endif     /* ___Command_FWD_DEFINED__ */
  67. #ifndef ___Connection_FWD_DEFINED__
  68. #define ___Connection_FWD_DEFINED__
  69. typedef interface _ADOConnection _Connection;
  70. #endif     /* ___Connection_FWD_DEFINED__ */
  71. #ifndef __ADOConnectionConstruction_FWD_DEFINED__
  72. #define __ADOConnectionConstruction_FWD_DEFINED__
  73. typedef interface ADOConnectionConstruction ADOConnectionConstruction;
  74. #endif     /* __ADOConnectionConstruction_FWD_DEFINED__ */
  75. #ifndef __Connection_FWD_DEFINED__
  76. #define __Connection_FWD_DEFINED__
  77. #ifdef __cplusplus
  78. typedef class ADOConnection Connection;
  79. #else
  80. typedef struct ADOConnection Connection;
  81. #endif /* __cplusplus */
  82. #endif     /* __Connection_FWD_DEFINED__ */
  83. #ifndef __Command_FWD_DEFINED__
  84. #define __Command_FWD_DEFINED__
  85. #ifdef __cplusplus
  86. typedef class ADOCommand Command;
  87. #else
  88. typedef struct ADOCommand Command;
  89. #endif /* __cplusplus */
  90. #endif     /* __Command_FWD_DEFINED__ */
  91. #ifndef ___Recordset_FWD_DEFINED__
  92. #define ___Recordset_FWD_DEFINED__
  93. typedef interface _ADORecordset _Recordset;
  94. #endif     /* ___Recordset_FWD_DEFINED__ */
  95. #ifndef __Recordset_FWD_DEFINED__
  96. #define __Recordset_FWD_DEFINED__
  97. #ifdef __cplusplus
  98. typedef class ADORecordset Recordset;
  99. #else
  100. typedef struct ADORecordset Recordset;
  101. #endif /* __cplusplus */
  102. #endif     /* __Recordset_FWD_DEFINED__ */
  103. #ifndef __ADORecordsetConstruction_FWD_DEFINED__
  104. #define __ADORecordsetConstruction_FWD_DEFINED__
  105. typedef interface ADORecordsetConstruction ADORecordsetConstruction;
  106. #endif     /* __ADORecordsetConstruction_FWD_DEFINED__ */
  107. #ifndef __Field_FWD_DEFINED__
  108. #define __Field_FWD_DEFINED__
  109. typedef interface ADOField Field;
  110. #endif     /* __Field_FWD_DEFINED__ */
  111. #ifndef __Fields_FWD_DEFINED__
  112. #define __Fields_FWD_DEFINED__
  113. typedef interface ADOFields Fields;
  114. #endif     /* __Fields_FWD_DEFINED__ */
  115. #ifndef ___Parameter_FWD_DEFINED__
  116. #define ___Parameter_FWD_DEFINED__
  117. typedef interface _ADOParameter _Parameter;
  118. #endif     /* ___Parameter_FWD_DEFINED__ */
  119. #ifndef __Parameter_FWD_DEFINED__
  120. #define __Parameter_FWD_DEFINED__
  121. #ifdef __cplusplus
  122. typedef class ADOParameter Parameter;
  123. #else
  124. typedef struct ADOParameter Parameter;
  125. #endif /* __cplusplus */
  126. #endif     /* __Parameter_FWD_DEFINED__ */
  127. #ifndef __Parameters_FWD_DEFINED__
  128. #define __Parameters_FWD_DEFINED__
  129. typedef interface ADOParameters Parameters;
  130. #endif     /* __Parameters_FWD_DEFINED__ */
  131. #ifndef __Property_FWD_DEFINED__
  132. #define __Property_FWD_DEFINED__
  133. typedef interface ADOProperty Property;
  134. #endif     /* __Property_FWD_DEFINED__ */
  135. #ifndef __Properties_FWD_DEFINED__
  136. #define __Properties_FWD_DEFINED__
  137. typedef interface ADOProperties Properties;
  138. #endif     /* __Properties_FWD_DEFINED__ */
  139. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  140. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  141. /****************************************
  142.  * Generated header for interface: __MIDL_itf_m_bobj_0000
  143.  * at Tue Oct 07 23:50:20 1997
  144.  * using MIDL 3.01.75
  145.  ****************************************/
  146. /* [local] */ 
  147. extern RPC_IF_HANDLE __MIDL_itf_m_bobj_0000_v0_0_c_ifspec;
  148. extern RPC_IF_HANDLE __MIDL_itf_m_bobj_0000_v0_0_s_ifspec;
  149. #ifndef __ADODB_LIBRARY_DEFINED__
  150. #define __ADODB_LIBRARY_DEFINED__
  151. /****************************************
  152.  * Generated header for library: ADODB
  153.  * at Tue Oct 07 23:50:20 1997
  154.  * using MIDL 3.01.75
  155.  ****************************************/
  156. /* [helpstring][helpcontext][version][helpfile][uuid] */ 
  157. typedef /* [uuid][public] */ 
  158. enum CursorTypeEnum
  159.     {    adOpenUnspecified    = -1,
  160.     adOpenForwardOnly    = 0,
  161.     adOpenKeyset    = 1,
  162.     adOpenDynamic    = 2,
  163.     adOpenStatic    = 3
  164.     }    CursorTypeEnum;
  165. typedef /* [uuid] */ 
  166. enum CursorOptionEnum
  167.     {    adHoldRecords    = 0x100,
  168.     adMovePrevious    = 0x200,
  169.     adAddNew    = 0x1000400,
  170.     adDelete    = 0x1000800,
  171.     adUpdate    = 0x1008000,
  172.     adBookmark    = 0x2000,
  173.     adApproxPosition    = 0x4000,
  174.     adUpdateBatch    = 0x10000,
  175.     adResync    = 0x20000
  176.     }    CursorOptionEnum;
  177. typedef /* [uuid] */ 
  178. enum LockTypeEnum
  179.     {    adLockUnspecified    = -1,
  180.     adLockReadOnly    = 1,
  181.     adLockPessimistic    = 2,
  182.     adLockOptimistic    = 3,
  183.     adLockBatchOptimistic    = 4
  184.     }    LockTypeEnum;
  185. typedef /* [hidden][uuid] */ 
  186. enum ExecuteOptionEnum
  187.     {    adOptionUnspecified    = -1
  188.     }    ExecuteOptionEnum;
  189. typedef /* [uuid] */ 
  190. enum ObjectStateEnum
  191.     {    adStateClosed    = 0,
  192.     adStateOpen    = 0x1
  193.     }    ObjectStateEnum;
  194. typedef /* [uuid] */ 
  195. enum CursorLocationEnum
  196.     {    adUseNone    = 1,
  197.     adUseServer    = 2,
  198.     adUseClient    = 3,
  199.     adUseClientBatch    = 3
  200.     }    CursorLocationEnum;
  201. typedef /* [uuid] */ 
  202. enum DataTypeEnum
  203.     {    adEmpty    = 0,
  204.     adTinyInt    = 16,
  205.     adSmallInt    = 2,
  206.     adInteger    = 3,
  207.     adBigInt    = 20,
  208.     adUnsignedTinyInt    = 17,
  209.     adUnsignedSmallInt    = 18,
  210.     adUnsignedInt    = 19,
  211.     adUnsignedBigInt    = 21,
  212.     adSingle    = 4,
  213.     adDouble    = 5,
  214.     adCurrency    = 6,
  215.     adDecimal    = 14,
  216.     adNumeric    = 131,
  217.     adBoolean    = 11,
  218.     adError    = 10,
  219.     adUserDefined    = 132,
  220.     adVariant    = 12,
  221.     adIDispatch    = 9,
  222.     adIUnknown    = 13,
  223.     adGUID    = 72,
  224.     adDate    = 7,
  225.     adDBDate    = 133,
  226.     adDBTime    = 134,
  227.     adDBTimeStamp    = 135,
  228.     adBSTR    = 8,
  229.     adChar    = 129,
  230.     adVarChar    = 200,
  231.     adLongVarChar    = 201,
  232.     adWChar    = 130,
  233.     adVarWChar    = 202,
  234.     adLongVarWChar    = 203,
  235.     adBinary    = 128,
  236.     adVarBinary    = 204,
  237.     adLongVarBinary    = 205
  238.     }    DataTypeEnum;
  239. typedef /* [uuid] */ 
  240. enum FieldAttributeEnum
  241.     {    adFldMayDefer    = 0x2,
  242.     adFldUpdatable    = 0x4,
  243.     adFldUnknownUpdatable    = 0x8,
  244.     adFldFixed    = 0x10,
  245.     adFldIsNullable    = 0x20,
  246.     adFldMayBeNull    = 0x40,
  247.     adFldLong    = 0x80,
  248.     adFldRowID    = 0x100,
  249.     adFldRowVersion    = 0x200,
  250.     adFldCacheDeferred    = 0x1000
  251.     }    FieldAttributeEnum;
  252. typedef /* [uuid] */ 
  253. enum EditModeEnum
  254.     {    adEditNone    = 0,
  255.     adEditInProgress    = 0x1,
  256.     adEditAdd    = 0x2,
  257.     adEditDelete    = 0x4
  258.     }    EditModeEnum;
  259. typedef /* [uuid] */ 
  260. enum RecordStatusEnum
  261.     {    adRecOK    = 0,
  262.     adRecNew    = 0x1,
  263.     adRecModified    = 0x2,
  264.     adRecDeleted    = 0x4,
  265.     adRecUnmodified    = 0x8,
  266.     adRecInvalid    = 0x10,
  267.     adRecMultipleChanges    = 0x40,
  268.     adRecPendingChanges    = 0x80,
  269.     adRecCanceled    = 0x100,
  270.     adRecCantRelease    = 0x400,
  271.     adRecConcurrencyViolation    = 0x800,
  272.     adRecIntegrityViolation    = 0x1000,
  273.     adRecMaxChangesExceeded    = 0x2000,
  274.     adRecObjectOpen    = 0x4000,
  275.     adRecOutOfMemory    = 0x8000,
  276.     adRecPermissionDenied    = 0x10000,
  277.     adRecSchemaViolation    = 0x20000,
  278.     adRecDBDeleted    = 0x40000
  279.     }    RecordStatusEnum;
  280. typedef 
  281. enum GetRowsOptionEnum
  282.     {    adGetRowsRest    = -1
  283.     }    GetRowsOptionEnum;
  284. typedef /* [uuid] */ 
  285. enum PositionEnum
  286.     {    adPosUnknown    = -1,
  287.     adPosBOF    = -2,
  288.     adPosEOF    = -3
  289.     }    PositionEnum;
  290. typedef 
  291. enum BookmarkEnum
  292.     {    adBookmarkCurrent    = 0,
  293.     adBookmarkFirst    = 1,
  294.     adBookmarkLast    = 2
  295.     }    BookmarkEnum;
  296. typedef /* [uuid] */ 
  297. enum MarshalOptionsEnum
  298.     {    adMarshalAll    = 0,
  299.     adMarshalModifiedOnly    = 1
  300.     }    MarshalOptionsEnum;
  301. typedef 
  302. enum AffectEnum
  303.     {    adAffectCurrent    = 1,
  304.     adAffectGroup    = 2,
  305.     adAffectAll    = 3
  306.     }    AffectEnum;
  307. typedef 
  308. enum FilterGroupEnum
  309.     {    adFilterNone    = 0,
  310.     adFilterPendingRecords    = 1,
  311.     adFilterAffectedRecords    = 2,
  312.     adFilterFetchedRecords    = 3,
  313.     adFilterPredicate    = 4
  314.     }    FilterGroupEnum;
  315. typedef /* [hidden] */ 
  316. enum SearchDirection
  317.     {    adSearchForward    = 1,
  318.     adSearchBackward    = -1
  319.     }    SearchDirectionEnum;
  320. typedef /* [uuid] */ 
  321. enum ConnectPromptEnum
  322.     {    adPromptAlways    = 1,
  323.     adPromptComplete    = 2,
  324.     adPromptCompleteRequired    = 3,
  325.     adPromptNever    = 4
  326.     }    ConnectPromptEnum;
  327. typedef /* [uuid] */ 
  328. enum ConnectModeEnum
  329.     {    adModeUnknown    = 0,
  330.     adModeRead    = 1,
  331.     adModeWrite    = 2,
  332.     adModeReadWrite    = 3,
  333.     adModeShareDenyRead    = 4,
  334.     adModeShareDenyWrite    = 8,
  335.     adModeShareExclusive    = 0xc,
  336.     adModeShareDenyNone    = 0x10
  337.     }    ConnectModeEnum;
  338. typedef /* [uuid] */ 
  339. enum IsolationLevelEnum
  340.     {    adXactUnspecified    = 0xffffffff,
  341.     adXactChaos    = 0x10,
  342.     adXactReadUncommitted    = 0x100,
  343.     adXactBrowse    = 0x100,
  344.     adXactCursorStability    = 0x1000,
  345.     adXactReadCommitted    = 0x1000,
  346.     adXactRepeatableRead    = 0x10000,
  347.     adXactSerializable    = 0x100000,
  348.     adXactIsolated    = 0x100000
  349.     }    IsolationLevelEnum;
  350. typedef /* [uuid] */ 
  351. enum XactAttributeEnum
  352.     {    adXactCommitRetaining    = 0x20000,
  353.     adXactAbortRetaining    = 0x40000
  354.     }    XactAttributeEnum;
  355. typedef /* [uuid] */ 
  356. enum PropertyAttributesEnum
  357.     {    adPropNotSupported    = 0,
  358.     adPropRequired    = 0x1,
  359.     adPropOptional    = 0x2,
  360.     adPropRead    = 0x200,
  361.     adPropWrite    = 0x400
  362.     }    PropertyAttributesEnum;
  363. typedef /* [uuid] */ 
  364. enum ErrorValueEnum
  365.     {    adErrInvalidArgument    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xbb9),
  366.     adErrNoCurrentRecord    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xbcd),
  367.     adErrIllegalOperation    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xc93),
  368.     adErrInTransaction    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xcae),
  369.     adErrFeatureNotAvailable    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xcb3),
  370.     adErrItemNotFound    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xcc1),
  371.     adErrObjectInADOCollection    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xd27),
  372.     adErrObjectNotSet    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xd5c),
  373.     adErrDataConversion    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xd5d),
  374.     adErrObjectClosed    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe78),
  375.     adErrObjectOpen    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe79),
  376.     adErrProviderNotFound    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe7a),
  377.     adErrBoundToCommand    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe7b),
  378.     adErrInvalidParamInfo    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe7c),
  379.     adErrInvalidConnection    =     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CONTROL, 0xe7d),
  380.     }    ErrorValueEnum;
  381. typedef /* [uuid] */ 
  382. enum ParameterAttributesEnum
  383.     {    adParamSigned    = 0x10,
  384.     adParamNullable    = 0x40,
  385.     adParamLong    = 0x80
  386.     }    ParameterAttributesEnum;
  387. typedef /* [uuid] */ 
  388. enum ParameterDirectionEnum
  389.     {    adParamUnknown    = 0,
  390.     adParamInput    = 0x1,
  391.     adParamOutput    = 0x2,
  392.     adParamInputOutput    = 0x3,
  393.     adParamReturnValue    = 0x4
  394.     }    ParameterDirectionEnum;
  395. typedef /* [uuid] */ 
  396. enum CommandTypeEnum
  397.     {    adCmdUnspecified    = -1,
  398.     adCmdUnknown    = 0x8,
  399.     adCmdText    = 0x1,
  400.     adCmdTable    = 0x2,
  401.     adCmdStoredProc    = 0x4
  402.     }    CommandTypeEnum;
  403. typedef /* [uuid] */ 
  404. enum SchemaEnum
  405.     {    adSchemaProviderSpecific    = -1,
  406.     adSchemaAsserts    = 0,
  407.     adSchemaCatalogs    = 1,
  408.     adSchemaCharacterSets    = 2,
  409.     adSchemaCollations    = 3,
  410.     adSchemaColumns    = 4,
  411.     adSchemaCheckConstraints    = 5,
  412.     adSchemaConstraintColumnUsage    = 6,
  413.     adSchemaConstraintTableUsage    = 7,
  414.     adSchemaKeyColumnUsage    = 8,
  415.     adSchemaReferentialContraints    = 9,
  416.     adSchemaTableConstraints    = 10,
  417.     adSchemaColumnsDomainUsage    = 11,
  418.     adSchemaIndexes    = 12,
  419.     adSchemaColumnPrivileges    = 13,
  420.     adSchemaTablePrivileges    = 14,
  421.     adSchemaUsagePrivileges    = 15,
  422.     adSchemaProcedures    = 16,
  423.     adSchemaSchemata    = 17,
  424.     adSchemaSQLLanguages    = 18,
  425.     adSchemaStatistics    = 19,
  426.     adSchemaTables    = 20,
  427.     adSchemaTranslations    = 21,
  428.     adSchemaProviderTypes    = 22,
  429.     adSchemaViews    = 23,
  430.     adSchemaViewColumnUsage    = 24,
  431.     adSchemaViewTableUsage    = 25,
  432.     adSchemaProcedureParameters    = 26,
  433.     adSchemaForeignKeys    = 27,
  434.     adSchemaPrimaryKeys    = 28,
  435.     adSchemaProcedureColumns    = 29
  436.     }    SchemaEnum;
  437. EXTERN_C const IID LIBID_ADODB;
  438. #ifndef ___ADOCollection_INTERFACE_DEFINED__
  439. #define ___ADOCollection_INTERFACE_DEFINED__
  440. /****************************************
  441.  * Generated header for interface: _ADOCollection
  442.  * at Tue Oct 07 23:50:20 1997
  443.  * using MIDL 3.01.75
  444.  ****************************************/
  445. /* [object][uuid][nonextensible][dual] */ 
  446. EXTERN_C const IID IID__ADOCollection;
  447. #if defined(__cplusplus) && !defined(CINTERFACE)
  448.     
  449.     interface DECLSPEC_UUID("00000512-0000-0010-8000-00AA006D2EA4")
  450.     _ADOCollection : public IDispatch
  451.     {
  452.     public:
  453.         virtual /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  454.             /* [retval][out] */ long __RPC_FAR *c) = 0;
  455.         
  456.         virtual /* [id][restricted] */ HRESULT STDMETHODCALLTYPE _NewEnum( 
  457.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  458.         
  459.         virtual /* [helpstring][helpcontext] */ HRESULT STDMETHODCALLTYPE Refresh( void) = 0;
  460.         
  461.     };
  462.     
  463. #else     /* C style interface */
  464.     typedef struct _ADOCollectionVtbl
  465.     {
  466.         BEGIN_INTERFACE
  467.         
  468.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  469.             _ADOCollection __RPC_FAR * This,
  470.             /* [in] */ REFIID riid,
  471.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  472.         
  473.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  474.             _ADOCollection __RPC_FAR * This);
  475.         
  476.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  477.             _ADOCollection __RPC_FAR * This);
  478.         
  479.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  480.             _ADOCollection __RPC_FAR * This,
  481.             /* [out] */ UINT __RPC_FAR *pctinfo);
  482.         
  483.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  484.             _ADOCollection __RPC_FAR * This,
  485.             /* [in] */ UINT iTInfo,
  486.             /* [in] */ LCID lcid,
  487.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  488.         
  489.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  490.             _ADOCollection __RPC_FAR * This,
  491.             /* [in] */ REFIID riid,
  492.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  493.             /* [in] */ UINT cNames,
  494.             /* [in] */ LCID lcid,
  495.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  496.         
  497.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  498.             _ADOCollection __RPC_FAR * This,
  499.             /* [in] */ DISPID dispIdMember,
  500.             /* [in] */ REFIID riid,
  501.             /* [in] */ LCID lcid,
  502.             /* [in] */ WORD wFlags,
  503.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  504.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  505.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  506.             /* [out] */ UINT __RPC_FAR *puArgErr);
  507.         
  508.         /* [helpstring][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  509.             _ADOCollection __RPC_FAR * This,
  510.             /* [retval][out] */ long __RPC_FAR *c);
  511.         
  512.         /* [id][restricted] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum )( 
  513.             _ADOCollection __RPC_FAR * This,
  514.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
  515.         
  516.         /* [helpstring][helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  517.             _ADOCollection __RPC_FAR * This);
  518.         
  519.         END_INTERFACE
  520.     } _ADOCollectionVtbl;
  521.     interface _ADOCollection
  522.     {
  523.         CONST_VTBL struct _ADOCollectionVtbl __RPC_FAR *lpVtbl;
  524.     };
  525.     
  526. #ifdef COBJMACROS
  527. #define _ADOCollection_QueryInterface(This,riid,ppvObject)    \
  528.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  529. #define _ADOCollection_AddRef(This)    \
  530.     (This)->lpVtbl -> AddRef(This)
  531. #define _ADOCollection_Release(This)    \
  532.     (This)->lpVtbl -> Release(This)
  533. #define _ADOCollection_GetTypeInfoCount(This,pctinfo)    \
  534.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  535. #define _ADOCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  536.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  537. #define _ADOCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  538.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  539. #define _ADOCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  540.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  541. #define _Collection_get_Count(This,c)    \
  542.     (This)->lpVtbl -> get_Count(This,c)
  543. #define _ADOCollection__NewEnum(This,ppvObject)    \
  544.     (This)->lpVtbl -> _NewEnum(This,ppvObject)
  545. #define _ADOCollection_Refresh(This)    \
  546.     (This)->lpVtbl -> Refresh(This)
  547. #endif /* COBJMACROS */
  548. #endif     /* C style interface */
  549. /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE _Collection_get_Count_Proxy( 
  550.     _ADOCollection __RPC_FAR * This,
  551.     /* [retval][out] */ long __RPC_FAR *c);
  552. void __RPC_STUB _Collection_get_Count_Stub(
  553.     IRpcStubBuffer *This,
  554.     IRpcChannelBuffer *_pRpcChannelBuffer,
  555.     PRPC_MESSAGE _pRpcMessage,
  556.     DWORD *_pdwStubPhase);
  557. /* [id][restricted] */ HRESULT STDMETHODCALLTYPE _ADOCollection__NewEnum_Proxy( 
  558.     _ADOCollection __RPC_FAR * This,
  559.     /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
  560. void __RPC_STUB _ADOCollection__NewEnum_Stub(
  561.     IRpcStubBuffer *This,
  562.     IRpcChannelBuffer *_pRpcChannelBuffer,
  563.     PRPC_MESSAGE _pRpcMessage,
  564.     DWORD *_pdwStubPhase);
  565. /* [helpstring][helpcontext] */ HRESULT STDMETHODCALLTYPE _ADOCollection_Refresh_Proxy( 
  566.     _ADOCollection __RPC_FAR * This);
  567. void __RPC_STUB _ADOCollection_Refresh_Stub(
  568.     IRpcStubBuffer *This,
  569.     IRpcChannelBuffer *_pRpcChannelBuffer,
  570.     PRPC_MESSAGE _pRpcMessage,
  571.     DWORD *_pdwStubPhase);
  572. #endif     /* ___ADOCollection_INTERFACE_DEFINED__ */
  573. #ifndef ___ADODynaCollection_INTERFACE_DEFINED__
  574. #define ___ADODynaCollection_INTERFACE_DEFINED__
  575. /****************************************
  576.  * Generated header for interface: _ADODynaCollection
  577.  * at Tue Oct 07 23:50:20 1997
  578.  * using MIDL 3.01.75
  579.  ****************************************/
  580. /* [object][uuid][nonextensible][dual] */ 
  581. EXTERN_C const IID IID__ADODynaCollection;
  582. #if defined(__cplusplus) && !defined(CINTERFACE)
  583.     
  584.     interface DECLSPEC_UUID("00000513-0000-0010-8000-00AA006D2EA4")
  585. _ADODynaCollection : public _ADOCollection
  586.     {
  587.     public:
  588.         virtual /* [helpstring][helpcontext] */ HRESULT STDMETHODCALLTYPE Append( 
  589.             /* [in] */ IDispatch __RPC_FAR *Object) = 0;
  590.         
  591.         virtual /* [helpstring][helpcontext] */ HRESULT STDMETHODCALLTYPE Delete( 
  592.             /* [in] */ VARIANT Index) = 0;
  593.         
  594.     };
  595.     
  596. #else     /* C style interface */
  597.     typedef struct _ADODynaCollectionVtbl
  598.     {
  599.         BEGIN_INTERFACE
  600.         
  601.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  602.             _ADODynaCollection __RPC_FAR * This,
  603.             /* [in] */ REFIID riid,
  604.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  605.         
  606.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  607.             _ADODynaCollection __RPC_FAR * This);
  608.         
  609.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  610.             _ADODynaCollection __RPC_FAR * This);
  611.         
  612.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  613.             _ADODynaCollection __RPC_FAR * This,
  614.             /* [out] */ UINT __RPC_FAR *pctinfo);
  615.         
  616.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  617.             _ADODynaCollection __RPC_FAR * This,
  618.             /* [in] */ UINT iTInfo,
  619.             /* [in] */ LCID lcid,
  620.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  621.         
  622.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  623.             _ADODynaCollection __RPC_FAR * This,
  624.             /* [in] */ REFIID riid,
  625.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  626.             /* [in] */ UINT cNames,
  627.             /* [in] */ LCID lcid,
  628.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  629.         
  630.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  631.             _ADODynaCollection __RPC_FAR * This,
  632.             /* [in] */ DISPID dispIdMember,
  633.             /* [in] */ REFIID riid,
  634.             /* [in] */ LCID lcid,
  635.             /* [in] */ WORD wFlags,
  636.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  637.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  638.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  639.             /* [out] */ UINT __RPC_FAR *puArgErr);
  640.         
  641.         /* [helpstring][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  642.             _ADODynaCollection __RPC_FAR * This,
  643.             /* [retval][out] */ long __RPC_FAR *c);
  644.         
  645.         /* [id][restricted] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum )( 
  646.             _ADODynaCollection __RPC_FAR * This,
  647.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
  648.         
  649.         /* [helpstring][helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  650.             _ADODynaCollection __RPC_FAR * This);
  651.         
  652.         /* [helpstring][helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Append )( 
  653.             _ADODynaCollection __RPC_FAR * This,
  654.             /* [in] */ IDispatch __RPC_FAR *Object);
  655.         
  656.         /* [helpstring][helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
  657.             _ADODynaCollection __RPC_FAR * This,
  658.             /* [in] */ VARIANT Index);
  659.         
  660.         END_INTERFACE
  661.     } _ADODynaCollectionVtbl;
  662.     interface _ADODynaCollection
  663.     {
  664.         CONST_VTBL struct _ADODynaCollectionVtbl __RPC_FAR *lpVtbl;
  665.     };
  666.     
  667. #ifdef COBJMACROS
  668. #define _ADODynaCollection_QueryInterface(This,riid,ppvObject)    \
  669.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  670. #define _ADODynaCollection_AddRef(This)    \
  671.     (This)->lpVtbl -> AddRef(This)
  672. #define _ADODynaCollection_Release(This)    \
  673.     (This)->lpVtbl -> Release(This)
  674. #define _ADODynaCollection_GetTypeInfoCount(This,pctinfo)    \
  675.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  676. #define _ADODynaCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  677.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  678. #define _ADODynaCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  679.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  680. #define _ADODynaCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  681.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  682. #define _DynaCollection_get_Count(This,c)    \
  683.     (This)->lpVtbl -> get_Count(This,c)
  684. #define _ADODynaCollection__NewEnum(This,ppvObject)    \
  685.     (This)->lpVtbl -> _NewEnum(This,ppvObject)
  686. #define _ADODynaCollection_Refresh(This)    \
  687.     (This)->lpVtbl -> Refresh(This)
  688. #define _ADODynaCollection_Append(This,Object)    \
  689.     (This)->lpVtbl -> Append(This,Object)
  690. #define _ADODynaCollection_Delete(This,Index)    \
  691.     (This)->lpVtbl -> Delete(This,Index)
  692. #endif /* COBJMACROS */
  693. #endif     /* C style interface */
  694. /* [helpstring][helpcontext] */ HRESULT STDMETHODCALLTYPE _ADODynaCollection_Append_Proxy( 
  695.     _ADODynaCollection __RPC_FAR * This,
  696.     /* [in] */ IDispatch __RPC_FAR *Object);
  697. void __RPC_STUB _ADODynaCollection_Append_Stub(
  698.     IRpcStubBuffer *This,
  699.     IRpcChannelBuffer *_pRpcChannelBuffer,
  700.     PRPC_MESSAGE _pRpcMessage,
  701.     DWORD *_pdwStubPhase);
  702. /* [helpstring][helpcontext] */ HRESULT STDMETHODCALLTYPE _ADODynaCollection_Delete_Proxy( 
  703.     _ADODynaCollection __RPC_FAR * This,
  704.     /* [in] */ VARIANT Index);
  705. void __RPC_STUB _ADODynaCollection_Delete_Stub(
  706.     IRpcStubBuffer *This,
  707.     IRpcChannelBuffer *_pRpcChannelBuffer,
  708.     PRPC_MESSAGE _pRpcMessage,
  709.     DWORD *_pdwStubPhase);
  710. #endif     /* ___ADODynaCollection_INTERFACE_DEFINED__ */
  711. #ifndef ___ADO_INTERFACE_DEFINED__
  712. #define ___ADO_INTERFACE_DEFINED__
  713. /****************************************
  714.  * Generated header for interface: _ADO
  715.  * at Tue Oct 07 23:50:20 1997
  716.  * using MIDL 3.01.75
  717.  ****************************************/
  718. /* [object][uuid][nonextensible][dual] */ 
  719. EXTERN_C const IID IID__ADO;
  720. #if defined(__cplusplus) && !defined(CINTERFACE)
  721.     
  722.     interface DECLSPEC_UUID("00000534-0000-0010-8000-00AA006D2EA4")
  723.     _ADO : public IDispatch
  724.     {
  725.     public:
  726.         virtual /* [helpstring][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Properties( 
  727.             /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  728.         
  729.     };
  730.     
  731. #else     /* C style interface */
  732.     typedef struct _ADOVtbl
  733.     {
  734.         BEGIN_INTERFACE
  735.         
  736.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  737.             _ADO __RPC_FAR * This,
  738.             /* [in] */ REFIID riid,
  739.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  740.         
  741.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  742.             _ADO __RPC_FAR * This);
  743.         
  744.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  745.             _ADO __RPC_FAR * This);
  746.         
  747.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  748.             _ADO __RPC_FAR * This,
  749.             /* [out] */ UINT __RPC_FAR *pctinfo);
  750.         
  751.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  752.             _ADO __RPC_FAR * This,
  753.             /* [in] */ UINT iTInfo,
  754.             /* [in] */ LCID lcid,
  755.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  756.         
  757.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  758.             _ADO __RPC_FAR * This,
  759.             /* [in] */ REFIID riid,
  760.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  761.             /* [in] */ UINT cNames,
  762.             /* [in] */ LCID lcid,
  763.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  764.         
  765.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  766.             _ADO __RPC_FAR * This,
  767.             /* [in] */ DISPID dispIdMember,
  768.             /* [in] */ REFIID riid,
  769.             /* [in] */ LCID lcid,
  770.             /* [in] */ WORD wFlags,
  771.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  772.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  773.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  774.             /* [out] */ UINT __RPC_FAR *puArgErr);
  775.         
  776.         /* [helpstring][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Properties )( 
  777.             _ADO __RPC_FAR * This,
  778.             /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject);
  779.         
  780.         END_INTERFACE
  781.     } _ADOVtbl;
  782.     interface _ADO
  783.     {
  784.         CONST_VTBL struct _ADOVtbl __RPC_FAR *lpVtbl;
  785.     };
  786.     
  787. #ifdef COBJMACROS
  788. #define _ADO_QueryInterface(This,riid,ppvObject)    \
  789.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  790. #define _ADO_AddRef(This)    \
  791.     (This)->lpVtbl -> AddRef(This)
  792. #define _ADO_Release(This)    \
  793.     (This)->lpVtbl -> Release(This)
  794. #define _ADO_GetTypeInfoCount(This,pctinfo)    \
  795.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  796. #define _ADO_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  797.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  798. #define _ADO_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  799.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  800. #define _ADO_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  801.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  802. #define _ADO_get_Properties(This,ppvObject)    \
  803.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  804. #endif /* COBJMACROS */
  805. #endif     /* C style interface */
  806. /* [helpstring][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _ADO_get_Properties_Proxy( 
  807.     _ADO __RPC_FAR * This,
  808.     /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject);
  809. void __RPC_STUB _ADO_get_Properties_Stub(
  810.     IRpcStubBuffer *This,
  811.     IRpcChannelBuffer *_pRpcChannelBuffer,
  812.     PRPC_MESSAGE _pRpcMessage,
  813.     DWORD *_pdwStubPhase);
  814. #endif     /* ___ADO_INTERFACE_DEFINED__ */
  815. #ifndef __Error_INTERFACE_DEFINED__
  816. #define __Error_INTERFACE_DEFINED__
  817. /****************************************
  818.  * Generated header for interface: Error
  819.  * at Tue Oct 07 23:50:20 1997
  820.  * using MIDL 3.01.75
  821.  ****************************************/
  822. /* [object][helpstring][helpcontext][uuid][nonextensible][dual] */ 
  823. EXTERN_C const IID IID_Error;
  824. #if defined(__cplusplus) && !defined(CINTERFACE)
  825.     
  826.     interface DECLSPEC_UUID("00000500-0000-0010-8000-00AA006D2EA4")
  827.     ADOError : public IDispatch
  828.     {
  829.     public:
  830.         virtual /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Number( 
  831.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  832.         
  833.         virtual /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Source( 
  834.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  835.         
  836.         virtual /* [helpstring][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
  837.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  838.         
  839.         virtual /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_HelpFile( 
  840.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  841.         
  842.         virtual /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_HelpContext( 
  843.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  844.         
  845.         virtual /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_SQLState( 
  846.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  847.         
  848.         virtual /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_NativeError( 
  849.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  850.         
  851.     };
  852.     
  853. #else     /* C style interface */
  854.     typedef struct ErrorVtbl
  855.     {
  856.         BEGIN_INTERFACE
  857.         
  858.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  859.             ADOError __RPC_FAR * This,
  860.             /* [in] */ REFIID riid,
  861.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  862.         
  863.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  864.             ADOError __RPC_FAR * This);
  865.         
  866.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  867.             ADOError __RPC_FAR * This);
  868.         
  869.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  870.             ADOError __RPC_FAR * This,
  871.             /* [out] */ UINT __RPC_FAR *pctinfo);
  872.         
  873.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  874.             ADOError __RPC_FAR * This,
  875.             /* [in] */ UINT iTInfo,
  876.             /* [in] */ LCID lcid,
  877.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  878.         
  879.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  880.             ADOError __RPC_FAR * This,
  881.             /* [in] */ REFIID riid,
  882.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  883.             /* [in] */ UINT cNames,
  884.             /* [in] */ LCID lcid,
  885.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  886.         
  887.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  888.             ADOError __RPC_FAR * This,
  889.             /* [in] */ DISPID dispIdMember,
  890.             /* [in] */ REFIID riid,
  891.             /* [in] */ LCID lcid,
  892.             /* [in] */ WORD wFlags,
  893.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  894.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  895.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  896.             /* [out] */ UINT __RPC_FAR *puArgErr);
  897.         
  898.         /* [helpstring][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Number )( 
  899.             ADOError __RPC_FAR * This,
  900.             /* [retval][out] */ long __RPC_FAR *pl);
  901.         
  902.         /* [helpstring][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Source )( 
  903.             ADOError __RPC_FAR * This,
  904.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  905.         
  906.         /* [helpstring][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Description )( 
  907.             ADOError __RPC_FAR * This,
  908.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  909.         
  910.         /* [helpstring][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HelpFile )( 
  911.             ADOError __RPC_FAR * This,
  912.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  913.         
  914.         /* [helpstring][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HelpContext )( 
  915.             ADOError __RPC_FAR * This,
  916.             /* [retval][out] */ long __RPC_FAR *pl);
  917.         
  918.         /* [helpstring][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SQLState )( 
  919.             ADOError __RPC_FAR * This,
  920.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  921.         
  922.         /* [helpstring][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NativeError )( 
  923.             ADOError __RPC_FAR * This,
  924.             /* [retval][out] */ long __RPC_FAR *pl);
  925.         
  926.         END_INTERFACE
  927.     } ErrorVtbl;
  928.     interface Error
  929.     {
  930.         CONST_VTBL struct ErrorVtbl __RPC_FAR *lpVtbl;
  931.     };
  932.     
  933. #ifdef COBJMACROS
  934. #define Error_QueryInterface(This,riid,ppvObject)    \
  935.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  936. #define Error_AddRef(This)    \
  937.     (This)->lpVtbl -> AddRef(This)
  938. #define Error_Release(This)    \
  939.     (This)->lpVtbl -> Release(This)
  940. #define Error_GetTypeInfoCount(This,pctinfo)    \
  941.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  942. #define Error_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  943.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  944. #define Error_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  945.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  946. #define Error_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  947.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  948. #define Error_get_Number(This,pl)    \
  949.     (This)->lpVtbl -> get_Number(This,pl)
  950. #define Error_get_Source(This,pbstr)    \
  951.     (This)->lpVtbl -> get_Source(This,pbstr)
  952. #define Error_get_Description(This,pbstr)    \
  953.     (This)->lpVtbl -> get_Description(This,pbstr)
  954. #define Error_get_HelpFile(This,pbstr)    \
  955.     (This)->lpVtbl -> get_HelpFile(This,pbstr)
  956. #define Error_get_HelpContext(This,pl)    \
  957.     (This)->lpVtbl -> get_HelpContext(This,pl)
  958. #define Error_get_SQLState(This,pbstr)    \
  959.     (This)->lpVtbl -> get_SQLState(This,pbstr)
  960. #define Error_get_NativeError(This,pl)    \
  961.     (This)->lpVtbl -> get_NativeError(This,pl)
  962. #endif /* COBJMACROS */
  963. #endif     /* C style interface */
  964. /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE Error_get_Number_Proxy( 
  965.     ADOError __RPC_FAR * This,
  966.     /* [retval][out] */ long __RPC_FAR *pl);
  967. void __RPC_STUB Error_get_Number_Stub(
  968.     IRpcStubBuffer *This,
  969.     IRpcChannelBuffer *_pRpcChannelBuffer,
  970.     PRPC_MESSAGE _pRpcMessage,
  971.     DWORD *_pdwStubPhase);
  972. /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE Error_get_Source_Proxy( 
  973.     ADOError __RPC_FAR * This,
  974.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  975. void __RPC_STUB Error_get_Source_Stub(
  976.     IRpcStubBuffer *This,
  977.     IRpcChannelBuffer *_pRpcChannelBuffer,
  978.     PRPC_MESSAGE _pRpcMessage,
  979.     DWORD *_pdwStubPhase);
  980. /* [helpstring][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Error_get_Description_Proxy( 
  981.     ADOError __RPC_FAR * This,
  982.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  983. void __RPC_STUB Error_get_Description_Stub(
  984.     IRpcStubBuffer *This,
  985.     IRpcChannelBuffer *_pRpcChannelBuffer,
  986.     PRPC_MESSAGE _pRpcMessage,
  987.     DWORD *_pdwStubPhase);
  988. /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE Error_get_HelpFile_Proxy( 
  989.     ADOError __RPC_FAR * This,
  990.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  991. void __RPC_STUB Error_get_HelpFile_Stub(
  992.     IRpcStubBuffer *This,
  993.     IRpcChannelBuffer *_pRpcChannelBuffer,
  994.     PRPC_MESSAGE _pRpcMessage,
  995.     DWORD *_pdwStubPhase);
  996. /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE Error_get_HelpContext_Proxy( 
  997.     ADOError __RPC_FAR * This,
  998.     /* [retval][out] */ long __RPC_FAR *pl);
  999. void __RPC_STUB Error_get_HelpContext_Stub(
  1000.     IRpcStubBuffer *This,
  1001.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1002.     PRPC_MESSAGE _pRpcMessage,
  1003.     DWORD *_pdwStubPhase);
  1004. /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE Error_get_SQLState_Proxy( 
  1005.     ADOError __RPC_FAR * This,
  1006.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1007. void __RPC_STUB Error_get_SQLState_Stub(
  1008.     IRpcStubBuffer *This,
  1009.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1010.     PRPC_MESSAGE _pRpcMessage,
  1011.     DWORD *_pdwStubPhase);
  1012. /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE Error_get_NativeError_Proxy( 
  1013.     ADOError __RPC_FAR * This,
  1014.     /* [retval][out] */ long __RPC_FAR *pl);
  1015. void __RPC_STUB Error_get_NativeError_Stub(
  1016.     IRpcStubBuffer *This,
  1017.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1018.     PRPC_MESSAGE _pRpcMessage,
  1019.     DWORD *_pdwStubPhase);
  1020. #endif     /* __Error_INTERFACE_DEFINED__ */
  1021. #ifndef __Errors_INTERFACE_DEFINED__
  1022. #define __Errors_INTERFACE_DEFINED__
  1023. /****************************************
  1024.  * Generated header for interface: Errors
  1025.  * at Tue Oct 07 23:50:20 1997
  1026.  * using MIDL 3.01.75
  1027.  ****************************************/
  1028. /* [object][uuid][helpstring][helpcontext][nonextensible][dual] */ 
  1029. EXTERN_C const IID IID_Errors;
  1030. #if defined(__cplusplus) && !defined(CINTERFACE)
  1031.     
  1032.     interface DECLSPEC_UUID("00000501-0000-0010-8000-00AA006D2EA4")
  1033.     ADOErrors : public _ADOCollection
  1034.     {
  1035.     public:
  1036.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  1037.             /* [in] */ VARIANT Index,
  1038.             /* [retval][out] */ ADOError __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  1039.         
  1040.         virtual HRESULT STDMETHODCALLTYPE Clear( void) = 0;
  1041.         
  1042.     };
  1043.     
  1044. #else     /* C style interface */
  1045.     typedef struct ErrorsVtbl
  1046.     {
  1047.         BEGIN_INTERFACE
  1048.         
  1049.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1050.             ADOErrors __RPC_FAR * This,
  1051.             /* [in] */ REFIID riid,
  1052.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1053.         
  1054.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1055.             ADOErrors __RPC_FAR * This);
  1056.         
  1057.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1058.             ADOErrors __RPC_FAR * This);
  1059.         
  1060.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1061.             ADOErrors __RPC_FAR * This,
  1062.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1063.         
  1064.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1065.             ADOErrors __RPC_FAR * This,
  1066.             /* [in] */ UINT iTInfo,
  1067.             /* [in] */ LCID lcid,
  1068.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1069.         
  1070.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1071.             ADOErrors __RPC_FAR * This,
  1072.             /* [in] */ REFIID riid,
  1073.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1074.             /* [in] */ UINT cNames,
  1075.             /* [in] */ LCID lcid,
  1076.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1077.         
  1078.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1079.             ADOErrors __RPC_FAR * This,
  1080.             /* [in] */ DISPID dispIdMember,
  1081.             /* [in] */ REFIID riid,
  1082.             /* [in] */ LCID lcid,
  1083.             /* [in] */ WORD wFlags,
  1084.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1085.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1086.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1087.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1088.         
  1089.         /* [helpstring][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  1090.             ADOErrors __RPC_FAR * This,
  1091.             /* [retval][out] */ long __RPC_FAR *c);
  1092.         
  1093.         /* [id][restricted] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum )( 
  1094.             ADOErrors __RPC_FAR * This,
  1095.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
  1096.         
  1097.         /* [helpstring][helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  1098.             ADOErrors __RPC_FAR * This);
  1099.         
  1100.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  1101.             ADOErrors __RPC_FAR * This,
  1102.             /* [in] */ VARIANT Index,
  1103.             /* [retval][out] */ ADOError __RPC_FAR *__RPC_FAR *ppvObject);
  1104.         
  1105.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clear )( 
  1106.             ADOErrors __RPC_FAR * This);
  1107.         
  1108.         END_INTERFACE
  1109.     } ErrorsVtbl;
  1110.     interface Errors
  1111.     {
  1112.         CONST_VTBL struct ErrorsVtbl __RPC_FAR *lpVtbl;
  1113.     };
  1114.     
  1115. #ifdef COBJMACROS
  1116. #define Errors_QueryInterface(This,riid,ppvObject)    \
  1117.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1118. #define Errors_AddRef(This)    \
  1119.     (This)->lpVtbl -> AddRef(This)
  1120. #define Errors_Release(This)    \
  1121.     (This)->lpVtbl -> Release(This)
  1122. #define Errors_GetTypeInfoCount(This,pctinfo)    \
  1123.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1124. #define Errors_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1125.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1126. #define Errors_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1127.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1128. #define Errors_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1129.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1130. #define Errors_get_Count(This,c)    \
  1131.     (This)->lpVtbl -> get_Count(This,c)
  1132. #define Errors__NewEnum(This,ppvObject)    \
  1133.     (This)->lpVtbl -> _NewEnum(This,ppvObject)
  1134. #define Errors_Refresh(This)    \
  1135.     (This)->lpVtbl -> Refresh(This)
  1136. #define Errors_get_Item(This,Index,ppvObject)    \
  1137.     (This)->lpVtbl -> get_Item(This,Index,ppvObject)
  1138. #define Errors_Clear(This)    \
  1139.     (This)->lpVtbl -> Clear(This)
  1140. #endif /* COBJMACROS */
  1141. #endif     /* C style interface */
  1142. /* [id][propget] */ HRESULT STDMETHODCALLTYPE Errors_get_Item_Proxy( 
  1143.     ADOErrors __RPC_FAR * This,
  1144.     /* [in] */ VARIANT Index,
  1145.     /* [retval][out] */ ADOError __RPC_FAR *__RPC_FAR *ppvObject);
  1146. void __RPC_STUB Errors_get_Item_Stub(
  1147.     IRpcStubBuffer *This,
  1148.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1149.     PRPC_MESSAGE _pRpcMessage,
  1150.     DWORD *_pdwStubPhase);
  1151. HRESULT STDMETHODCALLTYPE Errors_Clear_Proxy( 
  1152.     ADOErrors __RPC_FAR * This);
  1153. void __RPC_STUB Errors_Clear_Stub(
  1154.     IRpcStubBuffer *This,
  1155.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1156.     PRPC_MESSAGE _pRpcMessage,
  1157.     DWORD *_pdwStubPhase);
  1158. #endif     /* __Errors_INTERFACE_DEFINED__ */
  1159. #ifndef ___Command_INTERFACE_DEFINED__
  1160. #define ___Command_INTERFACE_DEFINED__
  1161. /****************************************
  1162.  * Generated header for interface: _Command
  1163.  * at Tue Oct 07 23:50:20 1997
  1164.  * using MIDL 3.01.75
  1165.  ****************************************/
  1166. /* [object][uuid][nonextensible][dual] */ 
  1167. EXTERN_C const IID IID__Command;
  1168. #if defined(__cplusplus) && !defined(CINTERFACE)
  1169.     
  1170.     interface DECLSPEC_UUID("00000508-0000-0010-8000-00AA006D2EA4")
  1171.     _ADOCommand : public _ADO
  1172.     {
  1173.     public:
  1174.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ActiveConnection( 
  1175.             /* [retval][out] */ _ADOConnection __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  1176.         
  1177.         virtual /* [propputref] */ HRESULT STDMETHODCALLTYPE putref_ActiveConnection( 
  1178.             /* [in] */ _ADOConnection __RPC_FAR *pCon) = 0;
  1179.         
  1180.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ActiveConnection( 
  1181.             /* [in] */ VARIANT vConn) = 0;
  1182.         
  1183.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CommandText( 
  1184.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  1185.         
  1186.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CommandText( 
  1187.             /* [in] */ BSTR bstr) = 0;
  1188.         
  1189.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CommandTimeout( 
  1190.             /* [retval][out] */ LONG __RPC_FAR *pl) = 0;
  1191.         
  1192.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CommandTimeout( 
  1193.             /* [in] */ LONG Timeout) = 0;
  1194.         
  1195.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Prepared( 
  1196.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pfPrepared) = 0;
  1197.         
  1198.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Prepared( 
  1199.             /* [in] */ VARIANT_BOOL fPrepared) = 0;
  1200.         
  1201.         virtual /* [helpstring][helpcontext] */ HRESULT STDMETHODCALLTYPE Execute( 
  1202.             /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  1203.             /* [optional][in] */ VARIANT __RPC_FAR *Parameters,
  1204.             /* [defaultvalue][in] */ long Options,
  1205.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppirs) = 0;
  1206.         
  1207.         virtual HRESULT STDMETHODCALLTYPE CreateParameter( 
  1208.             /* [defaultvalue][in] */ BSTR Name,
  1209.             /* [defaultvalue][in] */ DataTypeEnum Type,
  1210.             /* [defaultvalue][in] */ ParameterDirectionEnum Direction,
  1211.             /* [defaultvalue][in] */ long Size,
  1212.             /* [optional][in] */ VARIANT Value,
  1213.             /* [retval][out] */ _ADOParameter __RPC_FAR *__RPC_FAR *ppiprm) = 0;
  1214.         
  1215.         virtual /* [helpstring][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Parameters( 
  1216.             /* [retval][out] */ ADOParameters __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  1217.         
  1218.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CommandType( 
  1219.             /* [in] */ CommandTypeEnum lCmdType) = 0;
  1220.         
  1221.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CommandType( 
  1222.             /* [retval][out] */ CommandTypeEnum __RPC_FAR *plCmdType) = 0;
  1223.         
  1224.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  1225.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName) = 0;
  1226.         
  1227.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
  1228.             /* [in] */ BSTR bstrName) = 0;
  1229.         
  1230.     };
  1231.     
  1232. #else     /* C style interface */
  1233.     typedef struct _CommandVtbl
  1234.     {
  1235.         BEGIN_INTERFACE
  1236.         
  1237.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1238.             _ADOCommand __RPC_FAR * This,
  1239.             /* [in] */ REFIID riid,
  1240.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1241.         
  1242.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1243.             _ADOCommand __RPC_FAR * This);
  1244.         
  1245.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1246.             _ADOCommand __RPC_FAR * This);
  1247.         
  1248.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1249.             _ADOCommand __RPC_FAR * This,
  1250.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1251.         
  1252.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1253.             _ADOCommand __RPC_FAR * This,
  1254.             /* [in] */ UINT iTInfo,
  1255.             /* [in] */ LCID lcid,
  1256.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1257.         
  1258.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1259.             _ADOCommand __RPC_FAR * This,
  1260.             /* [in] */ REFIID riid,
  1261.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1262.             /* [in] */ UINT cNames,
  1263.             /* [in] */ LCID lcid,
  1264.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1265.         
  1266.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1267.             _ADOCommand __RPC_FAR * This,
  1268.             /* [in] */ DISPID dispIdMember,
  1269.             /* [in] */ REFIID riid,
  1270.             /* [in] */ LCID lcid,
  1271.             /* [in] */ WORD wFlags,
  1272.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1273.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1274.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1275.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1276.         
  1277.         /* [helpstring][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Properties )( 
  1278.             _ADOCommand __RPC_FAR * This,
  1279.             /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject);
  1280.         
  1281.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveConnection )( 
  1282.             _ADOCommand __RPC_FAR * This,
  1283.             /* [retval][out] */ _ADOConnection __RPC_FAR *__RPC_FAR *ppvObject);
  1284.         
  1285.         /* [propputref] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_ActiveADOConnection )( 
  1286.             _ADOCommand __RPC_FAR * This,
  1287.             /* [in] */ _ADOConnection __RPC_FAR *pCon);
  1288.         
  1289.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ActiveConnection )( 
  1290.             _ADOCommand __RPC_FAR * This,
  1291.             /* [in] */ VARIANT vConn);
  1292.         
  1293.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommandText )( 
  1294.             _ADOCommand __RPC_FAR * This,
  1295.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1296.         
  1297.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CommandText )( 
  1298.             _ADOCommand __RPC_FAR * This,
  1299.             /* [in] */ BSTR bstr);
  1300.         
  1301.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommandTimeout )( 
  1302.             _ADOCommand __RPC_FAR * This,
  1303.             /* [retval][out] */ LONG __RPC_FAR *pl);
  1304.         
  1305.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CommandTimeout )( 
  1306.             _ADOCommand __RPC_FAR * This,
  1307.             /* [in] */ LONG Timeout);
  1308.         
  1309.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Prepared )( 
  1310.             _ADOCommand __RPC_FAR * This,
  1311.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pfPrepared);
  1312.         
  1313.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Prepared )( 
  1314.             _ADOCommand __RPC_FAR * This,
  1315.             /* [in] */ VARIANT_BOOL fPrepared);
  1316.         
  1317.         /* [helpstring][helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Execute )( 
  1318.             _ADOCommand __RPC_FAR * This,
  1319.             /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  1320.             /* [optional][in] */ VARIANT __RPC_FAR *Parameters,
  1321.             /* [defaultvalue][in] */ long Options,
  1322.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppirs);
  1323.         
  1324.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateParameter )( 
  1325.             _ADOCommand __RPC_FAR * This,
  1326.             /* [defaultvalue][in] */ BSTR Name,
  1327.             /* [defaultvalue][in] */ DataTypeEnum Type,
  1328.             /* [defaultvalue][in] */ ParameterDirectionEnum Direction,
  1329.             /* [defaultvalue][in] */ long Size,
  1330.             /* [optional][in] */ VARIANT Value,
  1331.             /* [retval][out] */ _ADOParameter __RPC_FAR *__RPC_FAR *ppiprm);
  1332.         
  1333.         /* [helpstring][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parameters )( 
  1334.             _ADOCommand __RPC_FAR * This,
  1335.             /* [retval][out] */ ADOParameters __RPC_FAR *__RPC_FAR *ppvObject);
  1336.         
  1337.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CommandType )( 
  1338.             _ADOCommand __RPC_FAR * This,
  1339.             /* [in] */ CommandTypeEnum lCmdType);
  1340.         
  1341.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommandType )( 
  1342.             _ADOCommand __RPC_FAR * This,
  1343.             /* [retval][out] */ CommandTypeEnum __RPC_FAR *plCmdType);
  1344.         
  1345.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  1346.             _ADOCommand __RPC_FAR * This,
  1347.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  1348.         
  1349.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
  1350.             _ADOCommand __RPC_FAR * This,
  1351.             /* [in] */ BSTR bstrName);
  1352.         
  1353.         END_INTERFACE
  1354.     } _CommandVtbl;
  1355.     interface _Command
  1356.     {
  1357.         CONST_VTBL struct _CommandVtbl __RPC_FAR *lpVtbl;
  1358.     };
  1359.     
  1360. #ifdef COBJMACROS
  1361. #define _Command_QueryInterface(This,riid,ppvObject)    \
  1362.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1363. #define _Command_AddRef(This)    \
  1364.     (This)->lpVtbl -> AddRef(This)
  1365. #define _Command_Release(This)    \
  1366.     (This)->lpVtbl -> Release(This)
  1367. #define _Command_GetTypeInfoCount(This,pctinfo)    \
  1368.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1369. #define _Command_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1370.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1371. #define _Command_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1372.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1373. #define _Command_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1374.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1375. #define _Command_get_Properties(This,ppvObject)    \
  1376.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  1377. #define _Command_get_ActiveConnection(This,ppvObject)    \
  1378.     (This)->lpVtbl -> get_ActiveConnection(This,ppvObject)
  1379. #define _Command_putref_ActiveConnection(This,pCon)    \
  1380.     (This)->lpVtbl -> putref_ActiveConnection(This,pCon)
  1381. #define _Command_put_ActiveConnection(This,vConn)    \
  1382.     (This)->lpVtbl -> put_ActiveConnection(This,vConn)
  1383. #define _Command_get_CommandText(This,pbstr)    \
  1384.     (This)->lpVtbl -> get_CommandText(This,pbstr)
  1385. #define _Command_put_CommandText(This,bstr)    \
  1386.     (This)->lpVtbl -> put_CommandText(This,bstr)
  1387. #define _Command_get_CommandTimeout(This,pl)    \
  1388.     (This)->lpVtbl -> get_CommandTimeout(This,pl)
  1389. #define _Command_put_CommandTimeout(This,Timeout)    \
  1390.     (This)->lpVtbl -> put_CommandTimeout(This,Timeout)
  1391. #define _Command_get_Prepared(This,pfPrepared)    \
  1392.     (This)->lpVtbl -> get_Prepared(This,pfPrepared)
  1393. #define _Command_put_Prepared(This,fPrepared)    \
  1394.     (This)->lpVtbl -> put_Prepared(This,fPrepared)
  1395. #define _Command_Execute(This,RecordsAffected,Parameters,Options,ppirs)    \
  1396.     (This)->lpVtbl -> Execute(This,RecordsAffected,Parameters,Options,ppirs)
  1397. #define _Command_CreateParameter(This,Name,Type,Direction,Size,Value,ppiprm)    \
  1398.     (This)->lpVtbl -> CreateParameter(This,Name,Type,Direction,Size,Value,ppiprm)
  1399. #define _Command_get_Parameters(This,ppvObject)    \
  1400.     (This)->lpVtbl -> get_Parameters(This,ppvObject)
  1401. #define _Command_put_CommandType(This,lCmdType)    \
  1402.     (This)->lpVtbl -> put_CommandType(This,lCmdType)
  1403. #define _Command_get_CommandType(This,plCmdType)    \
  1404.     (This)->lpVtbl -> get_CommandType(This,plCmdType)
  1405. #define _Command_get_Name(This,pbstrName)    \
  1406.     (This)->lpVtbl -> get_Name(This,pbstrName)
  1407. #define _Command_put_Name(This,bstrName)    \
  1408.     (This)->lpVtbl -> put_Name(This,bstrName)
  1409. #endif /* COBJMACROS */
  1410. #endif     /* C style interface */
  1411. /* [propget] */ HRESULT STDMETHODCALLTYPE _Command_get_ActiveConnection_Proxy( 
  1412.     _ADOCommand __RPC_FAR * This,
  1413.     /* [retval][out] */ _ADOConnection __RPC_FAR *__RPC_FAR *ppvObject);
  1414. void __RPC_STUB _Command_get_ActiveConnection_Stub(
  1415.     IRpcStubBuffer *This,
  1416.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1417.     PRPC_MESSAGE _pRpcMessage,
  1418.     DWORD *_pdwStubPhase);
  1419. /* [propputref] */ HRESULT STDMETHODCALLTYPE _Command_putref_ActiveConnection_Proxy( 
  1420.     _ADOCommand __RPC_FAR * This,
  1421.     /* [in] */ _ADOConnection __RPC_FAR *pCon);
  1422. void __RPC_STUB _Command_putref_ActiveConnection_Stub(
  1423.     IRpcStubBuffer *This,
  1424.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1425.     PRPC_MESSAGE _pRpcMessage,
  1426.     DWORD *_pdwStubPhase);
  1427. /* [propput] */ HRESULT STDMETHODCALLTYPE _Command_put_ActiveConnection_Proxy( 
  1428.     _ADOCommand __RPC_FAR * This,
  1429.     /* [in] */ VARIANT vConn);
  1430. void __RPC_STUB _Command_put_ActiveConnection_Stub(
  1431.     IRpcStubBuffer *This,
  1432.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1433.     PRPC_MESSAGE _pRpcMessage,
  1434.     DWORD *_pdwStubPhase);
  1435. /* [propget] */ HRESULT STDMETHODCALLTYPE _Command_get_CommandText_Proxy( 
  1436.     _ADOCommand __RPC_FAR * This,
  1437.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1438. void __RPC_STUB _Command_get_CommandText_Stub(
  1439.     IRpcStubBuffer *This,
  1440.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1441.     PRPC_MESSAGE _pRpcMessage,
  1442.     DWORD *_pdwStubPhase);
  1443. /* [propput] */ HRESULT STDMETHODCALLTYPE _Command_put_CommandText_Proxy( 
  1444.     _ADOCommand __RPC_FAR * This,
  1445.     /* [in] */ BSTR bstr);
  1446. void __RPC_STUB _Command_put_CommandText_Stub(
  1447.     IRpcStubBuffer *This,
  1448.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1449.     PRPC_MESSAGE _pRpcMessage,
  1450.     DWORD *_pdwStubPhase);
  1451. /* [propget] */ HRESULT STDMETHODCALLTYPE _Command_get_CommandTimeout_Proxy( 
  1452.     _ADOCommand __RPC_FAR * This,
  1453.     /* [retval][out] */ LONG __RPC_FAR *pl);
  1454. void __RPC_STUB _Command_get_CommandTimeout_Stub(
  1455.     IRpcStubBuffer *This,
  1456.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1457.     PRPC_MESSAGE _pRpcMessage,
  1458.     DWORD *_pdwStubPhase);
  1459. /* [propput] */ HRESULT STDMETHODCALLTYPE _Command_put_CommandTimeout_Proxy( 
  1460.     _ADOCommand __RPC_FAR * This,
  1461.     /* [in] */ LONG Timeout);
  1462. void __RPC_STUB _Command_put_CommandTimeout_Stub(
  1463.     IRpcStubBuffer *This,
  1464.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1465.     PRPC_MESSAGE _pRpcMessage,
  1466.     DWORD *_pdwStubPhase);
  1467. /* [propget] */ HRESULT STDMETHODCALLTYPE _Command_get_Prepared_Proxy( 
  1468.     _ADOCommand __RPC_FAR * This,
  1469.     /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pfPrepared);
  1470. void __RPC_STUB _Command_get_Prepared_Stub(
  1471.     IRpcStubBuffer *This,
  1472.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1473.     PRPC_MESSAGE _pRpcMessage,
  1474.     DWORD *_pdwStubPhase);
  1475. /* [propput] */ HRESULT STDMETHODCALLTYPE _Command_put_Prepared_Proxy( 
  1476.     _ADOCommand __RPC_FAR * This,
  1477.     /* [in] */ VARIANT_BOOL fPrepared);
  1478. void __RPC_STUB _Command_put_Prepared_Stub(
  1479.     IRpcStubBuffer *This,
  1480.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1481.     PRPC_MESSAGE _pRpcMessage,
  1482.     DWORD *_pdwStubPhase);
  1483. /* [helpstring][helpcontext] */ HRESULT STDMETHODCALLTYPE _Command_Execute_Proxy( 
  1484.     _ADOCommand __RPC_FAR * This,
  1485.     /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  1486.     /* [optional][in] */ VARIANT __RPC_FAR *Parameters,
  1487.     /* [defaultvalue][in] */ long Options,
  1488.     /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppirs);
  1489. void __RPC_STUB _Command_Execute_Stub(
  1490.     IRpcStubBuffer *This,
  1491.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1492.     PRPC_MESSAGE _pRpcMessage,
  1493.     DWORD *_pdwStubPhase);
  1494. HRESULT STDMETHODCALLTYPE _Command_CreateParameter_Proxy( 
  1495.     _ADOCommand __RPC_FAR * This,
  1496.     /* [defaultvalue][in] */ BSTR Name,
  1497.     /* [defaultvalue][in] */ DataTypeEnum Type,
  1498.     /* [defaultvalue][in] */ ParameterDirectionEnum Direction,
  1499.     /* [defaultvalue][in] */ long Size,
  1500.     /* [optional][in] */ VARIANT Value,
  1501.     /* [retval][out] */ _ADOParameter __RPC_FAR *__RPC_FAR *ppiprm);
  1502. void __RPC_STUB _Command_CreateParameter_Stub(
  1503.     IRpcStubBuffer *This,
  1504.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1505.     PRPC_MESSAGE _pRpcMessage,
  1506.     DWORD *_pdwStubPhase);
  1507. /* [helpstring][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Command_get_Parameters_Proxy( 
  1508.     _ADOCommand __RPC_FAR * This,
  1509.     /* [retval][out] */ ADOParameters __RPC_FAR *__RPC_FAR *ppvObject);
  1510. void __RPC_STUB _Command_get_Parameters_Stub(
  1511.     IRpcStubBuffer *This,
  1512.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1513.     PRPC_MESSAGE _pRpcMessage,
  1514.     DWORD *_pdwStubPhase);
  1515. /* [propput] */ HRESULT STDMETHODCALLTYPE _Command_put_CommandType_Proxy( 
  1516.     _ADOCommand __RPC_FAR * This,
  1517.     /* [in] */ CommandTypeEnum lCmdType);
  1518. void __RPC_STUB _Command_put_CommandType_Stub(
  1519.     IRpcStubBuffer *This,
  1520.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1521.     PRPC_MESSAGE _pRpcMessage,
  1522.     DWORD *_pdwStubPhase);
  1523. /* [propget] */ HRESULT STDMETHODCALLTYPE _Command_get_CommandType_Proxy( 
  1524.     _ADOCommand __RPC_FAR * This,
  1525.     /* [retval][out] */ CommandTypeEnum __RPC_FAR *plCmdType);
  1526. void __RPC_STUB _Command_get_CommandType_Stub(
  1527.     IRpcStubBuffer *This,
  1528.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1529.     PRPC_MESSAGE _pRpcMessage,
  1530.     DWORD *_pdwStubPhase);
  1531. /* [propget] */ HRESULT STDMETHODCALLTYPE _Command_get_Name_Proxy( 
  1532.     _ADOCommand __RPC_FAR * This,
  1533.     /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  1534. void __RPC_STUB _Command_get_Name_Stub(
  1535.     IRpcStubBuffer *This,
  1536.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1537.     PRPC_MESSAGE _pRpcMessage,
  1538.     DWORD *_pdwStubPhase);
  1539. /* [propput] */ HRESULT STDMETHODCALLTYPE _Command_put_Name_Proxy( 
  1540.     _ADOCommand __RPC_FAR * This,
  1541.     /* [in] */ BSTR bstrName);
  1542. void __RPC_STUB _Command_put_Name_Stub(
  1543.     IRpcStubBuffer *This,
  1544.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1545.     PRPC_MESSAGE _pRpcMessage,
  1546.     DWORD *_pdwStubPhase);
  1547. #endif     /* ___Command_INTERFACE_DEFINED__ */
  1548. #ifndef ___Connection_INTERFACE_DEFINED__
  1549. #define ___Connection_INTERFACE_DEFINED__
  1550. /****************************************
  1551.  * Generated header for interface: _Connection
  1552.  * at Tue Oct 07 23:50:20 1997
  1553.  * using MIDL 3.01.75
  1554.  ****************************************/
  1555. /* [object][helpstring][helpcontext][uuid][dual] */ 
  1556. EXTERN_C const IID IID__Connection;
  1557. #if defined(__cplusplus) && !defined(CINTERFACE)
  1558.     
  1559.     interface DECLSPEC_UUID("00000515-0000-0010-8000-00AA006D2EA4")
  1560.     _ADOConnection : public _ADO
  1561.     {
  1562.     public:
  1563.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ConnectionString( 
  1564.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  1565.         
  1566.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_ConnectionString( 
  1567.             /* [in] */ BSTR bstr) = 0;
  1568.         
  1569.         virtual /* [helpstring][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CommandTimeout( 
  1570.             /* [retval][out] */ LONG __RPC_FAR *plTimeout) = 0;
  1571.         
  1572.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_CommandTimeout( 
  1573.             /* [in] */ LONG lTimeout) = 0;
  1574.         
  1575.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ConnectionTimeout( 
  1576.             /* [retval][out] */ LONG __RPC_FAR *plTimeout) = 0;
  1577.         
  1578.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_ConnectionTimeout( 
  1579.             /* [in] */ LONG lTimeout) = 0;
  1580.         
  1581.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Version( 
  1582.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  1583.         
  1584.         virtual /* [helpstring][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
  1585.         
  1586.         virtual /* [helpstring][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Execute( 
  1587.             /* [in] */ BSTR CommandText,
  1588.             /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  1589.             /* [defaultvalue][in] */ long Options,
  1590.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppiRset) = 0;
  1591.         
  1592.         virtual /* [helpstring][helpcontext][id] */ HRESULT STDMETHODCALLTYPE BeginTrans( 
  1593.             /* [retval][out] */ long __RPC_FAR *TransactionLevel) = 0;
  1594.         
  1595.         virtual /* [helpstring][helpcontext][id] */ HRESULT STDMETHODCALLTYPE CommitTrans( void) = 0;
  1596.         
  1597.         virtual /* [helpstring][helpcontext][id] */ HRESULT STDMETHODCALLTYPE RollbackTrans( void) = 0;
  1598.         
  1599.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Open( 
  1600.             /* [defaultvalue][in] */ BSTR ConnectionString,
  1601.             /* [defaultvalue][in] */ BSTR UserID,
  1602.             /* [defaultvalue][in] */ BSTR Password,
  1603.             /* [defaultvalue][in] */ long Options) = 0;
  1604.         
  1605.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Errors( 
  1606.             /* [retval][out] */ ADOErrors __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  1607.         
  1608.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultDatabase( 
  1609.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  1610.         
  1611.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_DefaultDatabase( 
  1612.             /* [in] */ BSTR bstr) = 0;
  1613.         
  1614.         virtual /* [helpstring][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsolationLevel( 
  1615.             /* [retval][out] */ IsolationLevelEnum __RPC_FAR *Level) = 0;
  1616.         
  1617.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_IsolationLevel( 
  1618.             /* [in] */ IsolationLevelEnum Level) = 0;
  1619.         
  1620.         virtual /* [helpstring][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Attributes( 
  1621.             /* [retval][out] */ long __RPC_FAR *plAttr) = 0;
  1622.         
  1623.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Attributes( 
  1624.             /* [in] */ long lAttr) = 0;
  1625.         
  1626.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CursorLocation( 
  1627.             /* [retval][out] */ CursorLocationEnum __RPC_FAR *plCursorLoc) = 0;
  1628.         
  1629.         virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_CursorLocation( 
  1630.             /* [in] */ CursorLocationEnum lCursorLoc) = 0;
  1631.         
  1632.         virtual /* [helpstring][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Mode( 
  1633.             /* [retval][out] */ ConnectModeEnum __RPC_FAR *plMode) = 0;
  1634.         
  1635.         virtual /* [helpstring][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Mode( 
  1636.             /* [in] */ ConnectModeEnum lMode) = 0;
  1637.         
  1638.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Provider( 
  1639.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  1640.         
  1641.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Provider( 
  1642.             /* [in] */ BSTR Provider) = 0;
  1643.         
  1644.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_State( 
  1645.             /* [retval][out] */ LONG __RPC_FAR *plObjState) = 0;
  1646.         
  1647.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE OpenSchema( 
  1648.             /* [in] */ SchemaEnum Schema,
  1649.             /* [optional][in] */ VARIANT Restrictions,
  1650.             /* [optional][in] */ VARIANT SchemaID,
  1651.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *pprset) = 0;
  1652.         
  1653.     };
  1654.     
  1655. #else     /* C style interface */
  1656.     typedef struct _ConnectionVtbl
  1657.     {
  1658.         BEGIN_INTERFACE
  1659.         
  1660.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1661.             _ADOConnection __RPC_FAR * This,
  1662.             /* [in] */ REFIID riid,
  1663.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1664.         
  1665.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1666.             _ADOConnection __RPC_FAR * This);
  1667.         
  1668.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1669.             _ADOConnection __RPC_FAR * This);
  1670.         
  1671.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1672.             _ADOConnection __RPC_FAR * This,
  1673.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1674.         
  1675.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1676.             _ADOConnection __RPC_FAR * This,
  1677.             /* [in] */ UINT iTInfo,
  1678.             /* [in] */ LCID lcid,
  1679.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1680.         
  1681.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1682.             _ADOConnection __RPC_FAR * This,
  1683.             /* [in] */ REFIID riid,
  1684.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1685.             /* [in] */ UINT cNames,
  1686.             /* [in] */ LCID lcid,
  1687.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1688.         
  1689.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1690.             _ADOConnection __RPC_FAR * This,
  1691.             /* [in] */ DISPID dispIdMember,
  1692.             /* [in] */ REFIID riid,
  1693.             /* [in] */ LCID lcid,
  1694.             /* [in] */ WORD wFlags,
  1695.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1696.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1697.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1698.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1699.         
  1700.         /* [helpstring][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Properties )( 
  1701.             _ADOConnection __RPC_FAR * This,
  1702.             /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject);
  1703.         
  1704.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ConnectionString )( 
  1705.             _ADOConnection __RPC_FAR * This,
  1706.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1707.         
  1708.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ConnectionString )( 
  1709.             _ADOConnection __RPC_FAR * This,
  1710.             /* [in] */ BSTR bstr);
  1711.         
  1712.         /* [helpstring][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CommandTimeout )( 
  1713.             _ADOConnection __RPC_FAR * This,
  1714.             /* [retval][out] */ LONG __RPC_FAR *plTimeout);
  1715.         
  1716.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CommandTimeout )( 
  1717.             _ADOConnection __RPC_FAR * This,
  1718.             /* [in] */ LONG lTimeout);
  1719.         
  1720.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ConnectionTimeout )( 
  1721.             _ADOConnection __RPC_FAR * This,
  1722.             /* [retval][out] */ LONG __RPC_FAR *plTimeout);
  1723.         
  1724.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ConnectionTimeout )( 
  1725.             _ADOConnection __RPC_FAR * This,
  1726.             /* [in] */ LONG lTimeout);
  1727.         
  1728.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Version )( 
  1729.             _ADOConnection __RPC_FAR * This,
  1730.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1731.         
  1732.         /* [helpstring][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )( 
  1733.             _ADOConnection __RPC_FAR * This);
  1734.         
  1735.         /* [helpstring][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Execute )( 
  1736.             _ADOConnection __RPC_FAR * This,
  1737.             /* [in] */ BSTR CommandText,
  1738.             /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  1739.             /* [defaultvalue][in] */ long Options,
  1740.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppiRset);
  1741.         
  1742.         /* [helpstring][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BeginTrans )( 
  1743.             _ADOConnection __RPC_FAR * This,
  1744.             /* [retval][out] */ long __RPC_FAR *TransactionLevel);
  1745.         
  1746.         /* [helpstring][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CommitTrans )( 
  1747.             _ADOConnection __RPC_FAR * This);
  1748.         
  1749.         /* [helpstring][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RollbackTrans )( 
  1750.             _ADOConnection __RPC_FAR * This);
  1751.         
  1752.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )( 
  1753.             _ADOConnection __RPC_FAR * This,
  1754.             /* [defaultvalue][in] */ BSTR ConnectionString,
  1755.             /* [defaultvalue][in] */ BSTR UserID,
  1756.             /* [defaultvalue][in] */ BSTR Password,
  1757.             /* [defaultvalue][in] */ long Options);
  1758.         
  1759.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Errors )( 
  1760.             _ADOConnection __RPC_FAR * This,
  1761.             /* [retval][out] */ ADOErrors __RPC_FAR *__RPC_FAR *ppvObject);
  1762.         
  1763.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DefaultDatabase )( 
  1764.             _ADOConnection __RPC_FAR * This,
  1765.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1766.         
  1767.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DefaultDatabase )( 
  1768.             _ADOConnection __RPC_FAR * This,
  1769.             /* [in] */ BSTR bstr);
  1770.         
  1771.         /* [helpstring][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_IsolationLevel )( 
  1772.             _ADOConnection __RPC_FAR * This,
  1773.             /* [retval][out] */ IsolationLevelEnum __RPC_FAR *Level);
  1774.         
  1775.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_IsolationLevel )( 
  1776.             _ADOConnection __RPC_FAR * This,
  1777.             /* [in] */ IsolationLevelEnum Level);
  1778.         
  1779.         /* [helpstring][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Attributes )( 
  1780.             _ADOConnection __RPC_FAR * This,
  1781.             /* [retval][out] */ long __RPC_FAR *plAttr);
  1782.         
  1783.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Attributes )( 
  1784.             _ADOConnection __RPC_FAR * This,
  1785.             /* [in] */ long lAttr);
  1786.         
  1787.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CursorLocation )( 
  1788.             _ADOConnection __RPC_FAR * This,
  1789.             /* [retval][out] */ CursorLocationEnum __RPC_FAR *plCursorLoc);
  1790.         
  1791.         /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CursorLocation )( 
  1792.             _ADOConnection __RPC_FAR * This,
  1793.             /* [in] */ CursorLocationEnum lCursorLoc);
  1794.         
  1795.         /* [helpstring][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Mode )( 
  1796.             _ADOConnection __RPC_FAR * This,
  1797.             /* [retval][out] */ ConnectModeEnum __RPC_FAR *plMode);
  1798.         
  1799.         /* [helpstring][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Mode )( 
  1800.             _ADOConnection __RPC_FAR * This,
  1801.             /* [in] */ ConnectModeEnum lMode);
  1802.         
  1803.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Provider )( 
  1804.             _ADOConnection __RPC_FAR * This,
  1805.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1806.         
  1807.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Provider )( 
  1808.             _ADOConnection __RPC_FAR * This,
  1809.             /* [in] */ BSTR Provider);
  1810.         
  1811.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_State )( 
  1812.             _ADOConnection __RPC_FAR * This,
  1813.             /* [retval][out] */ LONG __RPC_FAR *plObjState);
  1814.         
  1815.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenSchema )( 
  1816.             _ADOConnection __RPC_FAR * This,
  1817.             /* [in] */ SchemaEnum Schema,
  1818.             /* [optional][in] */ VARIANT Restrictions,
  1819.             /* [optional][in] */ VARIANT SchemaID,
  1820.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *pprset);
  1821.         
  1822.         END_INTERFACE
  1823.     } _ConnectionVtbl;
  1824.     interface _Connection
  1825.     {
  1826.         CONST_VTBL struct _ConnectionVtbl __RPC_FAR *lpVtbl;
  1827.     };
  1828.     
  1829. #ifdef COBJMACROS
  1830. #define _Connection_QueryInterface(This,riid,ppvObject)    \
  1831.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1832. #define _Connection_AddRef(This)    \
  1833.     (This)->lpVtbl -> AddRef(This)
  1834. #define _Connection_Release(This)    \
  1835.     (This)->lpVtbl -> Release(This)
  1836. #define _Connection_GetTypeInfoCount(This,pctinfo)    \
  1837.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1838. #define _Connection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1839.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1840. #define _Connection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1841.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1842. #define _Connection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1843.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1844. #define _Connection_get_Properties(This,ppvObject)    \
  1845.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  1846. #define _Connection_get_ConnectionString(This,pbstr)    \
  1847.     (This)->lpVtbl -> get_ConnectionString(This,pbstr)
  1848. #define _Connection_put_ConnectionString(This,bstr)    \
  1849.     (This)->lpVtbl -> put_ConnectionString(This,bstr)
  1850. #define _Connection_get_CommandTimeout(This,plTimeout)    \
  1851.     (This)->lpVtbl -> get_CommandTimeout(This,plTimeout)
  1852. #define _Connection_put_CommandTimeout(This,lTimeout)    \
  1853.     (This)->lpVtbl -> put_CommandTimeout(This,lTimeout)
  1854. #define _Connection_get_ConnectionTimeout(This,plTimeout)    \
  1855.     (This)->lpVtbl -> get_ConnectionTimeout(This,plTimeout)
  1856. #define _Connection_put_ConnectionTimeout(This,lTimeout)    \
  1857.     (This)->lpVtbl -> put_ConnectionTimeout(This,lTimeout)
  1858. #define _Connection_get_Version(This,pbstr)    \
  1859.     (This)->lpVtbl -> get_Version(This,pbstr)
  1860. #define _Connection_Close(This)    \
  1861.     (This)->lpVtbl -> Close(This)
  1862. #define _Connection_Execute(This,CommandText,RecordsAffected,Options,ppiRset)    \
  1863.     (This)->lpVtbl -> Execute(This,CommandText,RecordsAffected,Options,ppiRset)
  1864. #define _Connection_BeginTrans(This,TransactionLevel)    \
  1865.     (This)->lpVtbl -> BeginTrans(This,TransactionLevel)
  1866. #define _Connection_CommitTrans(This)    \
  1867.     (This)->lpVtbl -> CommitTrans(This)
  1868. #define _Connection_RollbackTrans(This)    \
  1869.     (This)->lpVtbl -> RollbackTrans(This)
  1870. #define _Connection_Open(This,ConnectionString,UserID,Password,Options)    \
  1871.     (This)->lpVtbl -> Open(This,ConnectionString,UserID,Password,Options)
  1872. #define _Connection_get_Errors(This,ppvObject)    \
  1873.     (This)->lpVtbl -> get_Errors(This,ppvObject)
  1874. #define _Connection_get_DefaultDatabase(This,pbstr)    \
  1875.     (This)->lpVtbl -> get_DefaultDatabase(This,pbstr)
  1876. #define _Connection_put_DefaultDatabase(This,bstr)    \
  1877.     (This)->lpVtbl -> put_DefaultDatabase(This,bstr)
  1878. #define _Connection_get_IsolationLevel(This,Level)    \
  1879.     (This)->lpVtbl -> get_IsolationLevel(This,Level)
  1880. #define _Connection_put_IsolationLevel(This,Level)    \
  1881.     (This)->lpVtbl -> put_IsolationLevel(This,Level)
  1882. #define _Connection_get_Attributes(This,plAttr)    \
  1883.     (This)->lpVtbl -> get_Attributes(This,plAttr)
  1884. #define _Connection_put_Attributes(This,lAttr)    \
  1885.     (This)->lpVtbl -> put_Attributes(This,lAttr)
  1886. #define _Connection_get_CursorLocation(This,plCursorLoc)    \
  1887.     (This)->lpVtbl -> get_CursorLocation(This,plCursorLoc)
  1888. #define _Connection_put_CursorLocation(This,lCursorLoc)    \
  1889.     (This)->lpVtbl -> put_CursorLocation(This,lCursorLoc)
  1890. #define _Connection_get_Mode(This,plMode)    \
  1891.     (This)->lpVtbl -> get_Mode(This,plMode)
  1892. #define _Connection_put_Mode(This,lMode)    \
  1893.     (This)->lpVtbl -> put_Mode(This,lMode)
  1894. #define _Connection_get_Provider(This,pbstr)    \
  1895.     (This)->lpVtbl -> get_Provider(This,pbstr)
  1896. #define _Connection_put_Provider(This,Provider)    \
  1897.     (This)->lpVtbl -> put_Provider(This,Provider)
  1898. #define _Connection_get_State(This,plObjState)    \
  1899.     (This)->lpVtbl -> get_State(This,plObjState)
  1900. #define _Connection_OpenSchema(This,Schema,Restrictions,SchemaID,pprset)    \
  1901.     (This)->lpVtbl -> OpenSchema(This,Schema,Restrictions,SchemaID,pprset)
  1902. #endif /* COBJMACROS */
  1903. #endif     /* C style interface */
  1904. /* [id][propget] */ HRESULT STDMETHODCALLTYPE _Connection_get_ConnectionString_Proxy( 
  1905.     _ADOConnection __RPC_FAR * This,
  1906.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1907. void __RPC_STUB _Connection_get_ConnectionString_Stub(
  1908.     IRpcStubBuffer *This,
  1909.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1910.     PRPC_MESSAGE _pRpcMessage,
  1911.     DWORD *_pdwStubPhase);
  1912. /* [id][propput] */ HRESULT STDMETHODCALLTYPE _Connection_put_ConnectionString_Proxy( 
  1913.     _ADOConnection __RPC_FAR * This,
  1914.     /* [in] */ BSTR bstr);
  1915. void __RPC_STUB _Connection_put_ConnectionString_Stub(
  1916.     IRpcStubBuffer *This,
  1917.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1918.     PRPC_MESSAGE _pRpcMessage,
  1919.     DWORD *_pdwStubPhase);
  1920. /* [helpstring][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Connection_get_CommandTimeout_Proxy( 
  1921.     _ADOConnection __RPC_FAR * This,
  1922.     /* [retval][out] */ LONG __RPC_FAR *plTimeout);
  1923. void __RPC_STUB _Connection_get_CommandTimeout_Stub(
  1924.     IRpcStubBuffer *This,
  1925.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1926.     PRPC_MESSAGE _pRpcMessage,
  1927.     DWORD *_pdwStubPhase);
  1928. /* [id][propput] */ HRESULT STDMETHODCALLTYPE _Connection_put_CommandTimeout_Proxy( 
  1929.     _ADOConnection __RPC_FAR * This,
  1930.     /* [in] */ LONG lTimeout);
  1931. void __RPC_STUB _Connection_put_CommandTimeout_Stub(
  1932.     IRpcStubBuffer *This,
  1933.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1934.     PRPC_MESSAGE _pRpcMessage,
  1935.     DWORD *_pdwStubPhase);
  1936. /* [id][propget] */ HRESULT STDMETHODCALLTYPE _Connection_get_ConnectionTimeout_Proxy( 
  1937.     _ADOConnection __RPC_FAR * This,
  1938.     /* [retval][out] */ LONG __RPC_FAR *plTimeout);
  1939. void __RPC_STUB _Connection_get_ConnectionTimeout_Stub(
  1940.     IRpcStubBuffer *This,
  1941.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1942.     PRPC_MESSAGE _pRpcMessage,
  1943.     DWORD *_pdwStubPhase);
  1944. /* [id][propput] */ HRESULT STDMETHODCALLTYPE _Connection_put_ConnectionTimeout_Proxy( 
  1945.     _ADOConnection __RPC_FAR * This,
  1946.     /* [in] */ LONG lTimeout);
  1947. void __RPC_STUB _Connection_put_ConnectionTimeout_Stub(
  1948.     IRpcStubBuffer *This,
  1949.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1950.     PRPC_MESSAGE _pRpcMessage,
  1951.     DWORD *_pdwStubPhase);
  1952. /* [id][propget] */ HRESULT STDMETHODCALLTYPE _Connection_get_Version_Proxy( 
  1953.     _ADOConnection __RPC_FAR * This,
  1954.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  1955. void __RPC_STUB _Connection_get_Version_Stub(
  1956.     IRpcStubBuffer *This,
  1957.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1958.     PRPC_MESSAGE _pRpcMessage,
  1959.     DWORD *_pdwStubPhase);
  1960. /* [helpstring][helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Connection_Close_Proxy( 
  1961.     _ADOConnection __RPC_FAR * This);
  1962. void __RPC_STUB _Connection_Close_Stub(
  1963.     IRpcStubBuffer *This,
  1964.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1965.     PRPC_MESSAGE _pRpcMessage,
  1966.     DWORD *_pdwStubPhase);
  1967. /* [helpstring][helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Connection_Execute_Proxy( 
  1968.     _ADOConnection __RPC_FAR * This,
  1969.     /* [in] */ BSTR CommandText,
  1970.     /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  1971.     /* [defaultvalue][in] */ long Options,
  1972.     /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppiRset);
  1973. void __RPC_STUB _Connection_Execute_Stub(
  1974.     IRpcStubBuffer *This,
  1975.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1976.     PRPC_MESSAGE _pRpcMessage,
  1977.     DWORD *_pdwStubPhase);
  1978. /* [helpstring][helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Connection_BeginTrans_Proxy( 
  1979.     _ADOConnection __RPC_FAR * This,
  1980.     /* [retval][out] */ long __RPC_FAR *TransactionLevel);
  1981. void __RPC_STUB _Connection_BeginTrans_Stub(
  1982.     IRpcStubBuffer *This,
  1983.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1984.     PRPC_MESSAGE _pRpcMessage,
  1985.     DWORD *_pdwStubPhase);
  1986. /* [helpstring][helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Connection_CommitTrans_Proxy( 
  1987.     _ADOConnection __RPC_FAR * This);
  1988. void __RPC_STUB _Connection_CommitTrans_Stub(
  1989.     IRpcStubBuffer *This,
  1990.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1991.     PRPC_MESSAGE _pRpcMessage,
  1992.     DWORD *_pdwStubPhase);
  1993. /* [helpstring][helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Connection_RollbackTrans_Proxy( 
  1994.     _ADOConnection __RPC_FAR * This);
  1995. void __RPC_STUB _Connection_RollbackTrans_Stub(
  1996.     IRpcStubBuffer *This,
  1997.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1998.     PRPC_MESSAGE _pRpcMessage,
  1999.     DWORD *_pdwStubPhase);
  2000. /* [id] */ HRESULT STDMETHODCALLTYPE _Connection_Open_Proxy( 
  2001.     _ADOConnection __RPC_FAR * This,
  2002.     /* [defaultvalue][in] */ BSTR ConnectionString,
  2003.     /* [defaultvalue][in] */ BSTR UserID,
  2004.     /* [defaultvalue][in] */ BSTR Password,
  2005.     /* [defaultvalue][in] */ long Options);
  2006. void __RPC_STUB _Connection_Open_Stub(
  2007.     IRpcStubBuffer *This,
  2008.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2009.     PRPC_MESSAGE _pRpcMessage,
  2010.     DWORD *_pdwStubPhase);
  2011. /* [id][propget] */ HRESULT STDMETHODCALLTYPE _Connection_get_Errors_Proxy( 
  2012.     _ADOConnection __RPC_FAR * This,
  2013.     /* [retval][out] */ ADOErrors __RPC_FAR *__RPC_FAR *ppvObject);
  2014. void __RPC_STUB _Connection_get_Errors_Stub(
  2015.     IRpcStubBuffer *This,
  2016.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2017.     PRPC_MESSAGE _pRpcMessage,
  2018.     DWORD *_pdwStubPhase);
  2019. /* [id][propget] */ HRESULT STDMETHODCALLTYPE _Connection_get_DefaultDatabase_Proxy( 
  2020.     _ADOConnection __RPC_FAR * This,
  2021.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  2022. void __RPC_STUB _Connection_get_DefaultDatabase_Stub(
  2023.     IRpcStubBuffer *This,
  2024.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2025.     PRPC_MESSAGE _pRpcMessage,
  2026.     DWORD *_pdwStubPhase);
  2027. /* [id][propput] */ HRESULT STDMETHODCALLTYPE _Connection_put_DefaultDatabase_Proxy( 
  2028.     _ADOConnection __RPC_FAR * This,
  2029.     /* [in] */ BSTR bstr);
  2030. void __RPC_STUB _Connection_put_DefaultDatabase_Stub(
  2031.     IRpcStubBuffer *This,
  2032.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2033.     PRPC_MESSAGE _pRpcMessage,
  2034.     DWORD *_pdwStubPhase);
  2035. /* [helpstring][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Connection_get_IsolationLevel_Proxy( 
  2036.     _ADOConnection __RPC_FAR * This,
  2037.     /* [retval][out] */ IsolationLevelEnum __RPC_FAR *Level);
  2038. void __RPC_STUB _Connection_get_IsolationLevel_Stub(
  2039.     IRpcStubBuffer *This,
  2040.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2041.     PRPC_MESSAGE _pRpcMessage,
  2042.     DWORD *_pdwStubPhase);
  2043. /* [id][propput] */ HRESULT STDMETHODCALLTYPE _Connection_put_IsolationLevel_Proxy( 
  2044.     _ADOConnection __RPC_FAR * This,
  2045.     /* [in] */ IsolationLevelEnum Level);
  2046. void __RPC_STUB _Connection_put_IsolationLevel_Stub(
  2047.     IRpcStubBuffer *This,
  2048.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2049.     PRPC_MESSAGE _pRpcMessage,
  2050.     DWORD *_pdwStubPhase);
  2051. /* [helpstring][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Connection_get_Attributes_Proxy( 
  2052.     _ADOConnection __RPC_FAR * This,
  2053.     /* [retval][out] */ long __RPC_FAR *plAttr);
  2054. void __RPC_STUB _Connection_get_Attributes_Stub(
  2055.     IRpcStubBuffer *This,
  2056.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2057.     PRPC_MESSAGE _pRpcMessage,
  2058.     DWORD *_pdwStubPhase);
  2059. /* [id][propput] */ HRESULT STDMETHODCALLTYPE _Connection_put_Attributes_Proxy( 
  2060.     _ADOConnection __RPC_FAR * This,
  2061.     /* [in] */ long lAttr);
  2062. void __RPC_STUB _Connection_put_Attributes_Stub(
  2063.     IRpcStubBuffer *This,
  2064.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2065.     PRPC_MESSAGE _pRpcMessage,
  2066.     DWORD *_pdwStubPhase);
  2067. /* [propget][id] */ HRESULT STDMETHODCALLTYPE _Connection_get_CursorLocation_Proxy( 
  2068.     _ADOConnection __RPC_FAR * This,
  2069.     /* [retval][out] */ CursorLocationEnum __RPC_FAR *plCursorLoc);
  2070. void __RPC_STUB _Connection_get_CursorLocation_Stub(
  2071.     IRpcStubBuffer *This,
  2072.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2073.     PRPC_MESSAGE _pRpcMessage,
  2074.     DWORD *_pdwStubPhase);
  2075. /* [propput][id] */ HRESULT STDMETHODCALLTYPE _Connection_put_CursorLocation_Proxy( 
  2076.     _ADOConnection __RPC_FAR * This,
  2077.     /* [in] */ CursorLocationEnum lCursorLoc);
  2078. void __RPC_STUB _Connection_put_CursorLocation_Stub(
  2079.     IRpcStubBuffer *This,
  2080.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2081.     PRPC_MESSAGE _pRpcMessage,
  2082.     DWORD *_pdwStubPhase);
  2083. /* [helpstring][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Connection_get_Mode_Proxy( 
  2084.     _ADOConnection __RPC_FAR * This,
  2085.     /* [retval][out] */ ConnectModeEnum __RPC_FAR *plMode);
  2086. void __RPC_STUB _Connection_get_Mode_Stub(
  2087.     IRpcStubBuffer *This,
  2088.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2089.     PRPC_MESSAGE _pRpcMessage,
  2090.     DWORD *_pdwStubPhase);
  2091. /* [helpstring][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Connection_put_Mode_Proxy( 
  2092.     _ADOConnection __RPC_FAR * This,
  2093.     /* [in] */ ConnectModeEnum lMode);
  2094. void __RPC_STUB _Connection_put_Mode_Stub(
  2095.     IRpcStubBuffer *This,
  2096.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2097.     PRPC_MESSAGE _pRpcMessage,
  2098.     DWORD *_pdwStubPhase);
  2099. /* [id][propget] */ HRESULT STDMETHODCALLTYPE _Connection_get_Provider_Proxy( 
  2100.     _ADOConnection __RPC_FAR * This,
  2101.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  2102. void __RPC_STUB _Connection_get_Provider_Stub(
  2103.     IRpcStubBuffer *This,
  2104.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2105.     PRPC_MESSAGE _pRpcMessage,
  2106.     DWORD *_pdwStubPhase);
  2107. /* [id][propput] */ HRESULT STDMETHODCALLTYPE _Connection_put_Provider_Proxy( 
  2108.     _ADOConnection __RPC_FAR * This,
  2109.     /* [in] */ BSTR Provider);
  2110. void __RPC_STUB _Connection_put_Provider_Stub(
  2111.     IRpcStubBuffer *This,
  2112.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2113.     PRPC_MESSAGE _pRpcMessage,
  2114.     DWORD *_pdwStubPhase);
  2115. /* [id][propget] */ HRESULT STDMETHODCALLTYPE _Connection_get_State_Proxy( 
  2116.     _ADOConnection __RPC_FAR * This,
  2117.     /* [retval][out] */ LONG __RPC_FAR *plObjState);
  2118. void __RPC_STUB _Connection_get_State_Stub(
  2119.     IRpcStubBuffer *This,
  2120.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2121.     PRPC_MESSAGE _pRpcMessage,
  2122.     DWORD *_pdwStubPhase);
  2123. /* [id] */ HRESULT STDMETHODCALLTYPE _Connection_OpenSchema_Proxy( 
  2124.     _ADOConnection __RPC_FAR * This,
  2125.     /* [in] */ SchemaEnum Schema,
  2126.     /* [optional][in] */ VARIANT Restrictions,
  2127.     /* [optional][in] */ VARIANT SchemaID,
  2128.     /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *pprset);
  2129. void __RPC_STUB _Connection_OpenSchema_Stub(
  2130.     IRpcStubBuffer *This,
  2131.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2132.     PRPC_MESSAGE _pRpcMessage,
  2133.     DWORD *_pdwStubPhase);
  2134. #endif     /* ___Connection_INTERFACE_DEFINED__ */
  2135. #ifndef __ADOConnectionConstruction_INTERFACE_DEFINED__
  2136. #define __ADOConnectionConstruction_INTERFACE_DEFINED__
  2137. /****************************************
  2138.  * Generated header for interface: ADOConnectionConstruction
  2139.  * at Tue Oct 07 23:50:20 1997
  2140.  * using MIDL 3.01.75
  2141.  ****************************************/
  2142. /* [object][uuid][restricted] */ 
  2143. EXTERN_C const IID IID_ADOConnectionConstruction;
  2144. #if defined(__cplusplus) && !defined(CINTERFACE)
  2145.     
  2146.     interface DECLSPEC_UUID("00000516-0000-0010-8000-00AA006D2EA4")
  2147.     ADOConnectionConstruction : public IUnknown
  2148.     {
  2149.     public:
  2150.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DSO( 
  2151.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDSO) = 0;
  2152.         
  2153.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Session( 
  2154.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession) = 0;
  2155.         
  2156.     };
  2157.     
  2158. #else     /* C style interface */
  2159.     typedef struct ADOConnectionConstructionVtbl
  2160.     {
  2161.         BEGIN_INTERFACE
  2162.         
  2163.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2164.             ADOConnectionConstruction __RPC_FAR * This,
  2165.             /* [in] */ REFIID riid,
  2166.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2167.         
  2168.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2169.             ADOConnectionConstruction __RPC_FAR * This);
  2170.         
  2171.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2172.             ADOConnectionConstruction __RPC_FAR * This);
  2173.         
  2174.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DSO )( 
  2175.             ADOConnectionConstruction __RPC_FAR * This,
  2176.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDSO);
  2177.         
  2178.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Session )( 
  2179.             ADOConnectionConstruction __RPC_FAR * This,
  2180.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession);
  2181.         
  2182.         END_INTERFACE
  2183.     } ADOConnectionConstructionVtbl;
  2184.     interface ADOConnectionConstruction
  2185.     {
  2186.         CONST_VTBL struct ADOConnectionConstructionVtbl __RPC_FAR *lpVtbl;
  2187.     };
  2188.     
  2189. #ifdef COBJMACROS
  2190. #define ADOConnectionConstruction_QueryInterface(This,riid,ppvObject)    \
  2191.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2192. #define ADOConnectionConstruction_AddRef(This)    \
  2193.     (This)->lpVtbl -> AddRef(This)
  2194. #define ADOConnectionConstruction_Release(This)    \
  2195.     (This)->lpVtbl -> Release(This)
  2196. #define ADOConnectionConstruction_get_DSO(This,ppDSO)    \
  2197.     (This)->lpVtbl -> get_DSO(This,ppDSO)
  2198. #define ADOConnectionConstruction_get_Session(This,ppSession)    \
  2199.     (This)->lpVtbl -> get_Session(This,ppSession)
  2200. #endif /* COBJMACROS */
  2201. #endif     /* C style interface */
  2202. /* [propget] */ HRESULT STDMETHODCALLTYPE ADOConnectionConstruction_get_DSO_Proxy( 
  2203.     ADOConnectionConstruction __RPC_FAR * This,
  2204.     /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppDSO);
  2205. void __RPC_STUB ADOConnectionConstruction_get_DSO_Stub(
  2206.     IRpcStubBuffer *This,
  2207.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2208.     PRPC_MESSAGE _pRpcMessage,
  2209.     DWORD *_pdwStubPhase);
  2210. /* [propget] */ HRESULT STDMETHODCALLTYPE ADOConnectionConstruction_get_Session_Proxy( 
  2211.     ADOConnectionConstruction __RPC_FAR * This,
  2212.     /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppSession);
  2213. void __RPC_STUB ADOConnectionConstruction_get_Session_Stub(
  2214.     IRpcStubBuffer *This,
  2215.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2216.     PRPC_MESSAGE _pRpcMessage,
  2217.     DWORD *_pdwStubPhase);
  2218. #endif     /* __ADOConnectionConstruction_INTERFACE_DEFINED__ */
  2219. #ifdef __cplusplus
  2220. EXTERN_C const CLSID CLSID_Connection;
  2221. Connection;
  2222. #endif
  2223. #ifdef __cplusplus
  2224. EXTERN_C const CLSID CLSID_Command;
  2225. Command;
  2226. #endif
  2227. #ifndef ___Recordset_INTERFACE_DEFINED__
  2228. #define ___Recordset_INTERFACE_DEFINED__
  2229. /****************************************
  2230.  * Generated header for interface: _Recordset
  2231.  * at Tue Oct 07 23:50:20 1997
  2232.  * using MIDL 3.01.75
  2233.  ****************************************/
  2234. /* [object][helpstring][helpcontext][uuid][nonextensible][dual] */ 
  2235. EXTERN_C const IID IID__Recordset;
  2236. #if defined(__cplusplus) && !defined(CINTERFACE)
  2237.     
  2238.     interface DECLSPEC_UUID("0000050E-0000-0010-8000-00AA006D2EA4")
  2239.     _ADORecordset : public _ADO
  2240.     {
  2241.     public:
  2242.         virtual /* [helpstring][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_AbsolutePosition( 
  2243.             /* [retval][out] */ PositionEnum __RPC_FAR *pl) = 0;
  2244.         
  2245.         virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AbsolutePosition( 
  2246.             /* [in] */ PositionEnum Position) = 0;
  2247.         
  2248.         virtual /* [propputref][id] */ HRESULT STDMETHODCALLTYPE putref_ActiveConnection( 
  2249.             /* [in] */ IDispatch __RPC_FAR *pconn) = 0;
  2250.         
  2251.         virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ActiveConnection( 
  2252.             /* [in] */ VARIANT vConn) = 0;
  2253.         
  2254.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ActiveConnection( 
  2255.             /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
  2256.         
  2257.         virtual /* [helpstring][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_BOF( 
  2258.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb) = 0;
  2259.         
  2260.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Bookmark( 
  2261.             /* [retval][out] */ VARIANT __RPC_FAR *pvBookmark) = 0;
  2262.         
  2263.         virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Bookmark( 
  2264.             /* [in] */ VARIANT vBookmark) = 0;
  2265.         
  2266.         virtual /* [helpstring][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CacheSize( 
  2267.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  2268.         
  2269.         virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_CacheSize( 
  2270.             /* [in] */ long CacheSize) = 0;
  2271.         
  2272.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CursorType( 
  2273.             /* [retval][out] */ CursorTypeEnum __RPC_FAR *plCursorType) = 0;
  2274.         
  2275.         virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_CursorType( 
  2276.             /* [in] */ CursorTypeEnum lCursorType) = 0;
  2277.         
  2278.         virtual /* [helpstring][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_EOF( 
  2279.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb) = 0;
  2280.         
  2281.         virtual /* [helpstring][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Fields( 
  2282.             /* [retval][out] */ ADOFields __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  2283.         
  2284.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_LockType( 
  2285.             /* [retval][out] */ LockTypeEnum __RPC_FAR *plLockType) = 0;
  2286.         
  2287.         virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_LockType( 
  2288.             /* [in] */ LockTypeEnum lLockType) = 0;
  2289.         
  2290.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MaxRecords( 
  2291.             /* [retval][out] */ long __RPC_FAR *plMaxRecords) = 0;
  2292.         
  2293.         virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MaxRecords( 
  2294.             /* [in] */ long lMaxRecords) = 0;
  2295.         
  2296.         virtual /* [helpstring][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_RecordCount( 
  2297.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  2298.         
  2299.         virtual /* [propputref][id] */ HRESULT STDMETHODCALLTYPE putref_Source( 
  2300.             /* [in] */ IDispatch __RPC_FAR *pcmd) = 0;
  2301.         
  2302.         virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Source( 
  2303.             /* [in] */ BSTR bstrConn) = 0;
  2304.         
  2305.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Source( 
  2306.             /* [retval][out] */ VARIANT __RPC_FAR *pvSource) = 0;
  2307.         
  2308.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddNew( 
  2309.             /* [optional][in] */ VARIANT FieldList,
  2310.             /* [optional][in] */ VARIANT Values) = 0;
  2311.         
  2312.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE CancelUpdate( void) = 0;
  2313.         
  2314.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
  2315.         
  2316.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Delete( 
  2317.             /* [defaultvalue][in] */ AffectEnum AffectRecords) = 0;
  2318.         
  2319.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetRows( 
  2320.             /* [defaultvalue][in] */ long Rows,
  2321.             /* [optional][in] */ VARIANT Start,
  2322.             /* [optional][in] */ VARIANT Fields,
  2323.             /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
  2324.         
  2325.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Move( 
  2326.             /* [in] */ long NumRecords,
  2327.             /* [optional][in] */ VARIANT Start) = 0;
  2328.         
  2329.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE MoveNext( void) = 0;
  2330.         
  2331.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE MovePrevious( void) = 0;
  2332.         
  2333.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE MoveFirst( void) = 0;
  2334.         
  2335.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE MoveLast( void) = 0;
  2336.         
  2337.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Open( 
  2338.             /* [optional][in] */ VARIANT Source,
  2339.             /* [optional][in] */ VARIANT ActiveConnection,
  2340.             /* [defaultvalue][in] */ CursorTypeEnum CursorType,
  2341.             /* [defaultvalue][in] */ LockTypeEnum LockType,
  2342.             /* [defaultvalue][in] */ LONG Options) = 0;
  2343.         
  2344.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Requery( 
  2345.             /* [defaultvalue][in] */ LONG Options) = 0;
  2346.         
  2347.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Resync( 
  2348.             /* [defaultvalue][in] */ AffectEnum AffectRecords) = 0;
  2349.         
  2350.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Update( 
  2351.             /* [optional][in] */ VARIANT Fields,
  2352.             /* [optional][in] */ VARIANT Values) = 0;
  2353.         
  2354.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AbsolutePage( 
  2355.             /* [retval][out] */ PositionEnum __RPC_FAR *pl) = 0;
  2356.         
  2357.         virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AbsolutePage( 
  2358.             /* [in] */ PositionEnum Page) = 0;
  2359.         
  2360.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_EditMode( 
  2361.             /* [retval][out] */ EditModeEnum __RPC_FAR *pl) = 0;
  2362.         
  2363.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Filter( 
  2364.             /* [retval][out] */ VARIANT __RPC_FAR *Criteria) = 0;
  2365.         
  2366.         virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Filter( 
  2367.             /* [in] */ VARIANT Criteria) = 0;
  2368.         
  2369.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PageCount( 
  2370.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  2371.         
  2372.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PageSize( 
  2373.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  2374.         
  2375.         virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PageSize( 
  2376.             /* [in] */ long PageSize) = 0;
  2377.         
  2378.         virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_Sort( 
  2379.             /* [retval][out] */ BSTR __RPC_FAR *Criteria) = 0;
  2380.         
  2381.         virtual /* [hidden][propput][id] */ HRESULT STDMETHODCALLTYPE put_Sort( 
  2382.             /* [in] */ BSTR Criteria) = 0;
  2383.         
  2384.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Status( 
  2385.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  2386.         
  2387.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_State( 
  2388.             /* [retval][out] */ LONG __RPC_FAR *plObjState) = 0;
  2389.         
  2390.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Clone( 
  2391.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  2392.         
  2393.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE UpdateBatch( 
  2394.             /* [defaultvalue][in] */ AffectEnum AffectRecords) = 0;
  2395.         
  2396.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE CancelBatch( 
  2397.             /* [defaultvalue][in] */ AffectEnum AffectRecords) = 0;
  2398.         
  2399.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CursorLocation( 
  2400.             /* [retval][out] */ CursorLocationEnum __RPC_FAR *plCursorLoc) = 0;
  2401.         
  2402.         virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_CursorLocation( 
  2403.             /* [in] */ CursorLocationEnum lCursorLoc) = 0;
  2404.         
  2405.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE NextRecordset( 
  2406.             /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  2407.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppiRs) = 0;
  2408.         
  2409.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Supports( 
  2410.             /* [in] */ CursorOptionEnum CursorOptions,
  2411.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb) = 0;
  2412.         
  2413.         virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_Collect( 
  2414.             /* [in] */ VARIANT Index,
  2415.             /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
  2416.         
  2417.         virtual /* [hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_Collect( 
  2418.             /* [in] */ VARIANT Index,
  2419.             /* [in] */ VARIANT value) = 0;
  2420.         
  2421.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MarshalOptions( 
  2422.             /* [retval][out] */ MarshalOptionsEnum __RPC_FAR *peMarshal) = 0;
  2423.         
  2424.         virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MarshalOptions( 
  2425.             /* [in] */ MarshalOptionsEnum eMarshal) = 0;
  2426.         
  2427.         virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE Find( 
  2428.             /* [in] */ BSTR Criteria,
  2429.             /* [defaultvalue][in] */ LONG SkipRecords,
  2430.             /* [defaultvalue][in] */ SearchDirectionEnum SearchDirection,
  2431.             /* [optional][in] */ VARIANT Start) = 0;
  2432.         
  2433.     };
  2434.     
  2435. #else     /* C style interface */
  2436.     typedef struct _RecordsetVtbl
  2437.     {
  2438.         BEGIN_INTERFACE
  2439.         
  2440.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2441.             _ADORecordset __RPC_FAR * This,
  2442.             /* [in] */ REFIID riid,
  2443.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2444.         
  2445.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2446.             _ADORecordset __RPC_FAR * This);
  2447.         
  2448.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2449.             _ADORecordset __RPC_FAR * This);
  2450.         
  2451.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  2452.             _ADORecordset __RPC_FAR * This,
  2453.             /* [out] */ UINT __RPC_FAR *pctinfo);
  2454.         
  2455.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  2456.             _ADORecordset __RPC_FAR * This,
  2457.             /* [in] */ UINT iTInfo,
  2458.             /* [in] */ LCID lcid,
  2459.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  2460.         
  2461.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  2462.             _ADORecordset __RPC_FAR * This,
  2463.             /* [in] */ REFIID riid,
  2464.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2465.             /* [in] */ UINT cNames,
  2466.             /* [in] */ LCID lcid,
  2467.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  2468.         
  2469.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  2470.             _ADORecordset __RPC_FAR * This,
  2471.             /* [in] */ DISPID dispIdMember,
  2472.             /* [in] */ REFIID riid,
  2473.             /* [in] */ LCID lcid,
  2474.             /* [in] */ WORD wFlags,
  2475.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2476.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2477.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2478.             /* [out] */ UINT __RPC_FAR *puArgErr);
  2479.         
  2480.         /* [helpstring][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Properties )( 
  2481.             _ADORecordset __RPC_FAR * This,
  2482.             /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject);
  2483.         
  2484.         /* [helpstring][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AbsolutePosition )( 
  2485.             _ADORecordset __RPC_FAR * This,
  2486.             /* [retval][out] */ PositionEnum __RPC_FAR *pl);
  2487.         
  2488.         /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AbsolutePosition )( 
  2489.             _ADORecordset __RPC_FAR * This,
  2490.             /* [in] */ PositionEnum Position);
  2491.         
  2492.         /* [propputref][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_ActiveADOConnection )( 
  2493.             _ADORecordset __RPC_FAR * This,
  2494.             /* [in] */ IDispatch __RPC_FAR *pconn);
  2495.         
  2496.         /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ActiveConnection )( 
  2497.             _ADORecordset __RPC_FAR * This,
  2498.             /* [in] */ VARIANT vConn);
  2499.         
  2500.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActiveConnection )( 
  2501.             _ADORecordset __RPC_FAR * This,
  2502.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  2503.         
  2504.         /* [helpstring][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_BOF )( 
  2505.             _ADORecordset __RPC_FAR * This,
  2506.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  2507.         
  2508.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Bookmark )( 
  2509.             _ADORecordset __RPC_FAR * This,
  2510.             /* [retval][out] */ VARIANT __RPC_FAR *pvBookmark);
  2511.         
  2512.         /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Bookmark )( 
  2513.             _ADORecordset __RPC_FAR * This,
  2514.             /* [in] */ VARIANT vBookmark);
  2515.         
  2516.         /* [helpstring][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CacheSize )( 
  2517.             _ADORecordset __RPC_FAR * This,
  2518.             /* [retval][out] */ long __RPC_FAR *pl);
  2519.         
  2520.         /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CacheSize )( 
  2521.             _ADORecordset __RPC_FAR * This,
  2522.             /* [in] */ long CacheSize);
  2523.         
  2524.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CursorType )( 
  2525.             _ADORecordset __RPC_FAR * This,
  2526.             /* [retval][out] */ CursorTypeEnum __RPC_FAR *plCursorType);
  2527.         
  2528.         /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CursorType )( 
  2529.             _ADORecordset __RPC_FAR * This,
  2530.             /* [in] */ CursorTypeEnum lCursorType);
  2531.         
  2532.         /* [helpstring][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EOF )( 
  2533.             _ADORecordset __RPC_FAR * This,
  2534.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  2535.         
  2536.         /* [helpstring][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Fields )( 
  2537.             _ADORecordset __RPC_FAR * This,
  2538.             /* [retval][out] */ ADOFields __RPC_FAR *__RPC_FAR *ppvObject);
  2539.         
  2540.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LockType )( 
  2541.             _ADORecordset __RPC_FAR * This,
  2542.             /* [retval][out] */ LockTypeEnum __RPC_FAR *plLockType);
  2543.         
  2544.         /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LockType )( 
  2545.             _ADORecordset __RPC_FAR * This,
  2546.             /* [in] */ LockTypeEnum lLockType);
  2547.         
  2548.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MaxRecords )( 
  2549.             _ADORecordset __RPC_FAR * This,
  2550.             /* [retval][out] */ long __RPC_FAR *plMaxRecords);
  2551.         
  2552.         /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MaxRecords )( 
  2553.             _ADORecordset __RPC_FAR * This,
  2554.             /* [in] */ long lMaxRecords);
  2555.         
  2556.         /* [helpstring][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RecordCount )( 
  2557.             _ADORecordset __RPC_FAR * This,
  2558.             /* [retval][out] */ long __RPC_FAR *pl);
  2559.         
  2560.         /* [propputref][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *putref_Source )( 
  2561.             _ADORecordset __RPC_FAR * This,
  2562.             /* [in] */ IDispatch __RPC_FAR *pcmd);
  2563.         
  2564.         /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Source )( 
  2565.             _ADORecordset __RPC_FAR * This,
  2566.             /* [in] */ BSTR bstrConn);
  2567.         
  2568.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Source )( 
  2569.             _ADORecordset __RPC_FAR * This,
  2570.             /* [retval][out] */ VARIANT __RPC_FAR *pvSource);
  2571.         
  2572.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddNew )( 
  2573.             _ADORecordset __RPC_FAR * This,
  2574.             /* [optional][in] */ VARIANT FieldList,
  2575.             /* [optional][in] */ VARIANT Values);
  2576.         
  2577.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelUpdate )( 
  2578.             _ADORecordset __RPC_FAR * This);
  2579.         
  2580.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )( 
  2581.             _ADORecordset __RPC_FAR * This);
  2582.         
  2583.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
  2584.             _ADORecordset __RPC_FAR * This,
  2585.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  2586.         
  2587.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRows )( 
  2588.             _ADORecordset __RPC_FAR * This,
  2589.             /* [defaultvalue][in] */ long Rows,
  2590.             /* [optional][in] */ VARIANT Start,
  2591.             /* [optional][in] */ VARIANT Fields,
  2592.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  2593.         
  2594.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
  2595.             _ADORecordset __RPC_FAR * This,
  2596.             /* [in] */ long NumRecords,
  2597.             /* [optional][in] */ VARIANT Start);
  2598.         
  2599.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveNext )( 
  2600.             _ADORecordset __RPC_FAR * This);
  2601.         
  2602.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MovePrevious )( 
  2603.             _ADORecordset __RPC_FAR * This);
  2604.         
  2605.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveFirst )( 
  2606.             _ADORecordset __RPC_FAR * This);
  2607.         
  2608.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveLast )( 
  2609.             _ADORecordset __RPC_FAR * This);
  2610.         
  2611.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )( 
  2612.             _ADORecordset __RPC_FAR * This,
  2613.             /* [optional][in] */ VARIANT Source,
  2614.             /* [optional][in] */ VARIANT ActiveConnection,
  2615.             /* [defaultvalue][in] */ CursorTypeEnum CursorType,
  2616.             /* [defaultvalue][in] */ LockTypeEnum LockType,
  2617.             /* [defaultvalue][in] */ LONG Options);
  2618.         
  2619.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Requery )( 
  2620.             _ADORecordset __RPC_FAR * This,
  2621.             /* [defaultvalue][in] */ LONG Options);
  2622.         
  2623.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Resync )( 
  2624.             _ADORecordset __RPC_FAR * This,
  2625.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  2626.         
  2627.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
  2628.             _ADORecordset __RPC_FAR * This,
  2629.             /* [optional][in] */ VARIANT Fields,
  2630.             /* [optional][in] */ VARIANT Values);
  2631.         
  2632.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AbsolutePage )( 
  2633.             _ADORecordset __RPC_FAR * This,
  2634.             /* [retval][out] */ PositionEnum __RPC_FAR *pl);
  2635.         
  2636.         /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AbsolutePage )( 
  2637.             _ADORecordset __RPC_FAR * This,
  2638.             /* [in] */ PositionEnum Page);
  2639.         
  2640.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EditMode )( 
  2641.             _ADORecordset __RPC_FAR * This,
  2642.             /* [retval][out] */ EditModeEnum __RPC_FAR *pl);
  2643.         
  2644.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Filter )( 
  2645.             _ADORecordset __RPC_FAR * This,
  2646.             /* [retval][out] */ VARIANT __RPC_FAR *Criteria);
  2647.         
  2648.         /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Filter )( 
  2649.             _ADORecordset __RPC_FAR * This,
  2650.             /* [in] */ VARIANT Criteria);
  2651.         
  2652.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PageCount )( 
  2653.             _ADORecordset __RPC_FAR * This,
  2654.             /* [retval][out] */ long __RPC_FAR *pl);
  2655.         
  2656.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PageSize )( 
  2657.             _ADORecordset __RPC_FAR * This,
  2658.             /* [retval][out] */ long __RPC_FAR *pl);
  2659.         
  2660.         /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PageSize )( 
  2661.             _ADORecordset __RPC_FAR * This,
  2662.             /* [in] */ long PageSize);
  2663.         
  2664.         /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Sort )( 
  2665.             _ADORecordset __RPC_FAR * This,
  2666.             /* [retval][out] */ BSTR __RPC_FAR *Criteria);
  2667.         
  2668.         /* [hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Sort )( 
  2669.             _ADORecordset __RPC_FAR * This,
  2670.             /* [in] */ BSTR Criteria);
  2671.         
  2672.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Status )( 
  2673.             _ADORecordset __RPC_FAR * This,
  2674.             /* [retval][out] */ long __RPC_FAR *pl);
  2675.         
  2676.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_State )( 
  2677.             _ADORecordset __RPC_FAR * This,
  2678.             /* [retval][out] */ LONG __RPC_FAR *plObjState);
  2679.         
  2680.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( 
  2681.             _ADORecordset __RPC_FAR * This,
  2682.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppvObject);
  2683.         
  2684.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UpdateBatch )( 
  2685.             _ADORecordset __RPC_FAR * This,
  2686.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  2687.         
  2688.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelBatch )( 
  2689.             _ADORecordset __RPC_FAR * This,
  2690.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  2691.         
  2692.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CursorLocation )( 
  2693.             _ADORecordset __RPC_FAR * This,
  2694.             /* [retval][out] */ CursorLocationEnum __RPC_FAR *plCursorLoc);
  2695.         
  2696.         /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CursorLocation )( 
  2697.             _ADORecordset __RPC_FAR * This,
  2698.             /* [in] */ CursorLocationEnum lCursorLoc);
  2699.         
  2700.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NextADORecordset )( 
  2701.             _ADORecordset __RPC_FAR * This,
  2702.             /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  2703.             /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppiRs);
  2704.         
  2705.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Supports )( 
  2706.             _ADORecordset __RPC_FAR * This,
  2707.             /* [in] */ CursorOptionEnum CursorOptions,
  2708.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  2709.         
  2710.         /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Collect )( 
  2711.             _ADORecordset __RPC_FAR * This,
  2712.             /* [in] */ VARIANT Index,
  2713.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  2714.         
  2715.         /* [hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Collect )( 
  2716.             _ADORecordset __RPC_FAR * This,
  2717.             /* [in] */ VARIANT Index,
  2718.             /* [in] */ VARIANT value);
  2719.         
  2720.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MarshalOptions )( 
  2721.             _ADORecordset __RPC_FAR * This,
  2722.             /* [retval][out] */ MarshalOptionsEnum __RPC_FAR *peMarshal);
  2723.         
  2724.         /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MarshalOptions )( 
  2725.             _ADORecordset __RPC_FAR * This,
  2726.             /* [in] */ MarshalOptionsEnum eMarshal);
  2727.         
  2728.         /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Find )( 
  2729.             _ADORecordset __RPC_FAR * This,
  2730.             /* [in] */ BSTR Criteria,
  2731.             /* [defaultvalue][in] */ LONG SkipRecords,
  2732.             /* [defaultvalue][in] */ SearchDirectionEnum SearchDirection,
  2733.             /* [optional][in] */ VARIANT Start);
  2734.         
  2735.         END_INTERFACE
  2736.     } _RecordsetVtbl;
  2737.     interface _Recordset
  2738.     {
  2739.         CONST_VTBL struct _RecordsetVtbl __RPC_FAR *lpVtbl;
  2740.     };
  2741.     
  2742. #ifdef COBJMACROS
  2743. #define _Recordset_QueryInterface(This,riid,ppvObject)    \
  2744.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2745. #define _Recordset_AddRef(This)    \
  2746.     (This)->lpVtbl -> AddRef(This)
  2747. #define _Recordset_Release(This)    \
  2748.     (This)->lpVtbl -> Release(This)
  2749. #define _Recordset_GetTypeInfoCount(This,pctinfo)    \
  2750.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2751. #define _Recordset_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  2752.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2753. #define _Recordset_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  2754.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2755. #define _Recordset_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  2756.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2757. #define _Recordset_get_Properties(This,ppvObject)    \
  2758.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  2759. #define _Recordset_get_AbsolutePosition(This,pl)    \
  2760.     (This)->lpVtbl -> get_AbsolutePosition(This,pl)
  2761. #define _Recordset_put_AbsolutePosition(This,Position)    \
  2762.     (This)->lpVtbl -> put_AbsolutePosition(This,Position)
  2763. #define _Recordset_putref_ActiveConnection(This,pconn)    \
  2764.     (This)->lpVtbl -> putref_ActiveConnection(This,pconn)
  2765. #define _Recordset_put_ActiveConnection(This,vConn)    \
  2766.     (This)->lpVtbl -> put_ActiveConnection(This,vConn)
  2767. #define _Recordset_get_ActiveConnection(This,pvar)    \
  2768.     (This)->lpVtbl -> get_ActiveConnection(This,pvar)
  2769. #define _Recordset_get_BOF(This,pb)    \
  2770.     (This)->lpVtbl -> get_BOF(This,pb)
  2771. #define _Recordset_get_Bookmark(This,pvBookmark)    \
  2772.     (This)->lpVtbl -> get_Bookmark(This,pvBookmark)
  2773. #define _Recordset_put_Bookmark(This,vBookmark)    \
  2774.     (This)->lpVtbl -> put_Bookmark(This,vBookmark)
  2775. #define _Recordset_get_CacheSize(This,pl)    \
  2776.     (This)->lpVtbl -> get_CacheSize(This,pl)
  2777. #define _Recordset_put_CacheSize(This,CacheSize)    \
  2778.     (This)->lpVtbl -> put_CacheSize(This,CacheSize)
  2779. #define _Recordset_get_CursorType(This,plCursorType)    \
  2780.     (This)->lpVtbl -> get_CursorType(This,plCursorType)
  2781. #define _Recordset_put_CursorType(This,lCursorType)    \
  2782.     (This)->lpVtbl -> put_CursorType(This,lCursorType)
  2783. #define _Recordset_get_EOF(This,pb)    \
  2784.     (This)->lpVtbl -> get_EOF(This,pb)
  2785. #define _Recordset_get_Fields(This,ppvObject)    \
  2786.     (This)->lpVtbl -> get_Fields(This,ppvObject)
  2787. #define _Recordset_get_LockType(This,plLockType)    \
  2788.     (This)->lpVtbl -> get_LockType(This,plLockType)
  2789. #define _Recordset_put_LockType(This,lLockType)    \
  2790.     (This)->lpVtbl -> put_LockType(This,lLockType)
  2791. #define _Recordset_get_MaxRecords(This,plMaxRecords)    \
  2792.     (This)->lpVtbl -> get_MaxRecords(This,plMaxRecords)
  2793. #define _Recordset_put_MaxRecords(This,lMaxRecords)    \
  2794.     (This)->lpVtbl -> put_MaxRecords(This,lMaxRecords)
  2795. #define _Recordset_get_RecordCount(This,pl)    \
  2796.     (This)->lpVtbl -> get_RecordCount(This,pl)
  2797. #define _Recordset_putref_Source(This,pcmd)    \
  2798.     (This)->lpVtbl -> putref_Source(This,pcmd)
  2799. #define _Recordset_put_Source(This,bstrConn)    \
  2800.     (This)->lpVtbl -> put_Source(This,bstrConn)
  2801. #define _Recordset_get_Source(This,pvSource)    \
  2802.     (This)->lpVtbl -> get_Source(This,pvSource)
  2803. #define _Recordset_AddNew(This,FieldList,Values)    \
  2804.     (This)->lpVtbl -> AddNew(This,FieldList,Values)
  2805. #define _Recordset_CancelUpdate(This)    \
  2806.     (This)->lpVtbl -> CancelUpdate(This)
  2807. #define _Recordset_Close(This)    \
  2808.     (This)->lpVtbl -> Close(This)
  2809. #define _Recordset_Delete(This,AffectRecords)    \
  2810.     (This)->lpVtbl -> Delete(This,AffectRecords)
  2811. #define _Recordset_GetRows(This,Rows,Start,Fields,pvar)    \
  2812.     (This)->lpVtbl -> GetRows(This,Rows,Start,Fields,pvar)
  2813. #define _Recordset_Move(This,NumRecords,Start)    \
  2814.     (This)->lpVtbl -> Move(This,NumRecords,Start)
  2815. #define _Recordset_MoveNext(This)    \
  2816.     (This)->lpVtbl -> MoveNext(This)
  2817. #define _Recordset_MovePrevious(This)    \
  2818.     (This)->lpVtbl -> MovePrevious(This)
  2819. #define _Recordset_MoveFirst(This)    \
  2820.     (This)->lpVtbl -> MoveFirst(This)
  2821. #define _Recordset_MoveLast(This)    \
  2822.     (This)->lpVtbl -> MoveLast(This)
  2823. #define _Recordset_Open(This,Source,ActiveConnection,CursorType,LockType,Options)    \
  2824.     (This)->lpVtbl -> Open(This,Source,ActiveConnection,CursorType,LockType,Options)
  2825. #define _Recordset_Requery(This,Options)    \
  2826.     (This)->lpVtbl -> Requery(This,Options)
  2827. #define _Recordset_Resync(This,AffectRecords)    \
  2828.     (This)->lpVtbl -> Resync(This,AffectRecords)
  2829. #define _Recordset_Update(This,Fields,Values)    \
  2830.     (This)->lpVtbl -> Update(This,Fields,Values)
  2831. #define _Recordset_get_AbsolutePage(This,pl)    \
  2832.     (This)->lpVtbl -> get_AbsolutePage(This,pl)
  2833. #define _Recordset_put_AbsolutePage(This,Page)    \
  2834.     (This)->lpVtbl -> put_AbsolutePage(This,Page)
  2835. #define _Recordset_get_EditMode(This,pl)    \
  2836.     (This)->lpVtbl -> get_EditMode(This,pl)
  2837. #define _Recordset_get_Filter(This,Criteria)    \
  2838.     (This)->lpVtbl -> get_Filter(This,Criteria)
  2839. #define _Recordset_put_Filter(This,Criteria)    \
  2840.     (This)->lpVtbl -> put_Filter(This,Criteria)
  2841. #define _Recordset_get_PageCount(This,pl)    \
  2842.     (This)->lpVtbl -> get_PageCount(This,pl)
  2843. #define _Recordset_get_PageSize(This,pl)    \
  2844.     (This)->lpVtbl -> get_PageSize(This,pl)
  2845. #define _Recordset_put_PageSize(This,PageSize)    \
  2846.     (This)->lpVtbl -> put_PageSize(This,PageSize)
  2847. #define _Recordset_get_Sort(This,Criteria)    \
  2848.     (This)->lpVtbl -> get_Sort(This,Criteria)
  2849. #define _Recordset_put_Sort(This,Criteria)    \
  2850.     (This)->lpVtbl -> put_Sort(This,Criteria)
  2851. #define _Recordset_get_Status(This,pl)    \
  2852.     (This)->lpVtbl -> get_Status(This,pl)
  2853. #define _Recordset_get_State(This,plObjState)    \
  2854.     (This)->lpVtbl -> get_State(This,plObjState)
  2855. #define _Recordset_Clone(This,ppvObject)    \
  2856.     (This)->lpVtbl -> Clone(This,ppvObject)
  2857. #define _Recordset_UpdateBatch(This,AffectRecords)    \
  2858.     (This)->lpVtbl -> UpdateBatch(This,AffectRecords)
  2859. #define _Recordset_CancelBatch(This,AffectRecords)    \
  2860.     (This)->lpVtbl -> CancelBatch(This,AffectRecords)
  2861. #define _Recordset_get_CursorLocation(This,plCursorLoc)    \
  2862.     (This)->lpVtbl -> get_CursorLocation(This,plCursorLoc)
  2863. #define _Recordset_put_CursorLocation(This,lCursorLoc)    \
  2864.     (This)->lpVtbl -> put_CursorLocation(This,lCursorLoc)
  2865. #define _Recordset_NextRecordset(This,RecordsAffected,ppiRs)    \
  2866.     (This)->lpVtbl -> NextRecordset(This,RecordsAffected,ppiRs)
  2867. #define _Recordset_Supports(This,CursorOptions,pb)    \
  2868.     (This)->lpVtbl -> Supports(This,CursorOptions,pb)
  2869. #define _Recordset_get_Collect(This,Index,pvar)    \
  2870.     (This)->lpVtbl -> get_Collect(This,Index,pvar)
  2871. #define _Recordset_put_Collect(This,Index,value)    \
  2872.     (This)->lpVtbl -> put_Collect(This,Index,value)
  2873. #define _Recordset_get_MarshalOptions(This,peMarshal)    \
  2874.     (This)->lpVtbl -> get_MarshalOptions(This,peMarshal)
  2875. #define _Recordset_put_MarshalOptions(This,eMarshal)    \
  2876.     (This)->lpVtbl -> put_MarshalOptions(This,eMarshal)
  2877. #define _Recordset_Find(This,Criteria,SkipRecords,SearchDirection,Start)    \
  2878.     (This)->lpVtbl -> Find(This,Criteria,SkipRecords,SearchDirection,Start)
  2879. #endif /* COBJMACROS */
  2880. #endif     /* C style interface */
  2881. /* [helpstring][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Recordset_get_AbsolutePosition_Proxy( 
  2882.     _ADORecordset __RPC_FAR * This,
  2883.     /* [retval][out] */ PositionEnum __RPC_FAR *pl);
  2884. void __RPC_STUB _Recordset_get_AbsolutePosition_Stub(
  2885.     IRpcStubBuffer *This,
  2886.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2887.     PRPC_MESSAGE _pRpcMessage,
  2888.     DWORD *_pdwStubPhase);
  2889. /* [propput][id] */ HRESULT STDMETHODCALLTYPE _Recordset_put_AbsolutePosition_Proxy( 
  2890.     _ADORecordset __RPC_FAR * This,
  2891.     /* [in] */ PositionEnum Position);
  2892. void __RPC_STUB _Recordset_put_AbsolutePosition_Stub(
  2893.     IRpcStubBuffer *This,
  2894.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2895.     PRPC_MESSAGE _pRpcMessage,
  2896.     DWORD *_pdwStubPhase);
  2897. /* [propputref][id] */ HRESULT STDMETHODCALLTYPE _Recordset_putref_ActiveConnection_Proxy( 
  2898.     _ADORecordset __RPC_FAR * This,
  2899.     /* [in] */ IDispatch __RPC_FAR *pconn);
  2900. void __RPC_STUB _Recordset_putref_ActiveConnection_Stub(
  2901.     IRpcStubBuffer *This,
  2902.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2903.     PRPC_MESSAGE _pRpcMessage,
  2904.     DWORD *_pdwStubPhase);
  2905. /* [propput][id] */ HRESULT STDMETHODCALLTYPE _Recordset_put_ActiveConnection_Proxy( 
  2906.     _ADORecordset __RPC_FAR * This,
  2907.     /* [in] */ VARIANT vConn);
  2908. void __RPC_STUB _Recordset_put_ActiveConnection_Stub(
  2909.     IRpcStubBuffer *This,
  2910.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2911.     PRPC_MESSAGE _pRpcMessage,
  2912.     DWORD *_pdwStubPhase);
  2913. /* [propget][id] */ HRESULT STDMETHODCALLTYPE _Recordset_get_ActiveConnection_Proxy( 
  2914.     _ADORecordset __RPC_FAR * This,
  2915.     /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  2916. void __RPC_STUB _Recordset_get_ActiveConnection_Stub(
  2917.     IRpcStubBuffer *This,
  2918.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2919.     PRPC_MESSAGE _pRpcMessage,
  2920.     DWORD *_pdwStubPhase);
  2921. /* [helpstring][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Recordset_get_BOF_Proxy( 
  2922.     _ADORecordset __RPC_FAR * This,
  2923.     /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  2924. void __RPC_STUB _Recordset_get_BOF_Stub(
  2925.     IRpcStubBuffer *This,
  2926.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2927.     PRPC_MESSAGE _pRpcMessage,
  2928.     DWORD *_pdwStubPhase);
  2929. /* [propget][id] */ HRESULT STDMETHODCALLTYPE _Recordset_get_Bookmark_Proxy( 
  2930.     _ADORecordset __RPC_FAR * This,
  2931.     /* [retval][out] */ VARIANT __RPC_FAR *pvBookmark);
  2932. void __RPC_STUB _Recordset_get_Bookmark_Stub(
  2933.     IRpcStubBuffer *This,
  2934.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2935.     PRPC_MESSAGE _pRpcMessage,
  2936.     DWORD *_pdwStubPhase);
  2937. /* [propput][id] */ HRESULT STDMETHODCALLTYPE _Recordset_put_Bookmark_Proxy( 
  2938.     _ADORecordset __RPC_FAR * This,
  2939.     /* [in] */ VARIANT vBookmark);
  2940. void __RPC_STUB _Recordset_put_Bookmark_Stub(
  2941.     IRpcStubBuffer *This,
  2942.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2943.     PRPC_MESSAGE _pRpcMessage,
  2944.     DWORD *_pdwStubPhase);
  2945. /* [helpstring][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Recordset_get_CacheSize_Proxy( 
  2946.     _ADORecordset __RPC_FAR * This,
  2947.     /* [retval][out] */ long __RPC_FAR *pl);
  2948. void __RPC_STUB _Recordset_get_CacheSize_Stub(
  2949.     IRpcStubBuffer *This,
  2950.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2951.     PRPC_MESSAGE _pRpcMessage,
  2952.     DWORD *_pdwStubPhase);
  2953. /* [propput][id] */ HRESULT STDMETHODCALLTYPE _Recordset_put_CacheSize_Proxy( 
  2954.     _ADORecordset __RPC_FAR * This,
  2955.     /* [in] */ long CacheSize);
  2956. void __RPC_STUB _Recordset_put_CacheSize_Stub(
  2957.     IRpcStubBuffer *This,
  2958.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2959.     PRPC_MESSAGE _pRpcMessage,
  2960.     DWORD *_pdwStubPhase);
  2961. /* [propget][id] */ HRESULT STDMETHODCALLTYPE _Recordset_get_CursorType_Proxy( 
  2962.     _ADORecordset __RPC_FAR * This,
  2963.     /* [retval][out] */ CursorTypeEnum __RPC_FAR *plCursorType);
  2964. void __RPC_STUB _Recordset_get_CursorType_Stub(
  2965.     IRpcStubBuffer *This,
  2966.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2967.     PRPC_MESSAGE _pRpcMessage,
  2968.     DWORD *_pdwStubPhase);
  2969. /* [propput][id] */ HRESULT STDMETHODCALLTYPE _Recordset_put_CursorType_Proxy( 
  2970.     _ADORecordset __RPC_FAR * This,
  2971.     /* [in] */ CursorTypeEnum lCursorType);
  2972. void __RPC_STUB _Recordset_put_CursorType_Stub(
  2973.     IRpcStubBuffer *This,
  2974.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2975.     PRPC_MESSAGE _pRpcMessage,
  2976.     DWORD *_pdwStubPhase);
  2977. /* [helpstring][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Recordset_get_EOF_Proxy( 
  2978.     _ADORecordset __RPC_FAR * This,
  2979.     /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  2980. void __RPC_STUB _Recordset_get_EOF_Stub(
  2981.     IRpcStubBuffer *This,
  2982.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2983.     PRPC_MESSAGE _pRpcMessage,
  2984.     DWORD *_pdwStubPhase);
  2985. /* [helpstring][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Recordset_get_Fields_Proxy( 
  2986.     _ADORecordset __RPC_FAR * This,
  2987.     /* [retval][out] */ ADOFields __RPC_FAR *__RPC_FAR *ppvObject);
  2988. void __RPC_STUB _Recordset_get_Fields_Stub(
  2989.     IRpcStubBuffer *This,
  2990.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2991.     PRPC_MESSAGE _pRpcMessage,
  2992.     DWORD *_pdwStubPhase);
  2993. /* [propget][id] */ HRESULT STDMETHODCALLTYPE _Recordset_get_LockType_Proxy( 
  2994.     _ADORecordset __RPC_FAR * This,
  2995.     /* [retval][out] */ LockTypeEnum __RPC_FAR *plLockType);
  2996. void __RPC_STUB _Recordset_get_LockType_Stub(
  2997.     IRpcStubBuffer *This,
  2998.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2999.     PRPC_MESSAGE _pRpcMessage,
  3000.     DWORD *_pdwStubPhase);
  3001. /* [propput][id] */ HRESULT STDMETHODCALLTYPE _Recordset_put_LockType_Proxy( 
  3002.     _ADORecordset __RPC_FAR * This,
  3003.     /* [in] */ LockTypeEnum lLockType);
  3004. void __RPC_STUB _Recordset_put_LockType_Stub(
  3005.     IRpcStubBuffer *This,
  3006.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3007.     PRPC_MESSAGE _pRpcMessage,
  3008.     DWORD *_pdwStubPhase);
  3009. /* [propget][id] */ HRESULT STDMETHODCALLTYPE _Recordset_get_MaxRecords_Proxy( 
  3010.     _ADORecordset __RPC_FAR * This,
  3011.     /* [retval][out] */ long __RPC_FAR *plMaxRecords);
  3012. void __RPC_STUB _Recordset_get_MaxRecords_Stub(
  3013.     IRpcStubBuffer *This,
  3014.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3015.     PRPC_MESSAGE _pRpcMessage,
  3016.     DWORD *_pdwStubPhase);
  3017. /* [propput][id] */ HRESULT STDMETHODCALLTYPE _Recordset_put_MaxRecords_Proxy( 
  3018.     _ADORecordset __RPC_FAR * This,
  3019.     /* [in] */ long lMaxRecords);
  3020. void __RPC_STUB _Recordset_put_MaxRecords_Stub(
  3021.     IRpcStubBuffer *This,
  3022.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3023.     PRPC_MESSAGE _pRpcMessage,
  3024.     DWORD *_pdwStubPhase);
  3025. /* [helpstring][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Recordset_get_RecordCount_Proxy( 
  3026.     _ADORecordset __RPC_FAR * This,
  3027.     /* [retval][out] */ long __RPC_FAR *pl);
  3028. void __RPC_STUB _Recordset_get_RecordCount_Stub(
  3029.     IRpcStubBuffer *This,
  3030.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3031.     PRPC_MESSAGE _pRpcMessage,
  3032.     DWORD *_pdwStubPhase);
  3033. /* [propputref][id] */ HRESULT STDMETHODCALLTYPE _Recordset_putref_Source_Proxy( 
  3034.     _ADORecordset __RPC_FAR * This,
  3035.     /* [in] */ IDispatch __RPC_FAR *pcmd);
  3036. void __RPC_STUB _Recordset_putref_Source_Stub(
  3037.     IRpcStubBuffer *This,
  3038.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3039.     PRPC_MESSAGE _pRpcMessage,
  3040.     DWORD *_pdwStubPhase);
  3041. /* [propput][id] */ HRESULT STDMETHODCALLTYPE _Recordset_put_Source_Proxy( 
  3042.     _ADORecordset __RPC_FAR * This,
  3043.     /* [in] */ BSTR bstrConn);
  3044. void __RPC_STUB _Recordset_put_Source_Stub(
  3045.     IRpcStubBuffer *This,
  3046.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3047.     PRPC_MESSAGE _pRpcMessage,
  3048.     DWORD *_pdwStubPhase);
  3049. /* [propget][id] */ HRESULT STDMETHODCALLTYPE _Recordset_get_Source_Proxy( 
  3050.     _ADORecordset __RPC_FAR * This,
  3051.     /* [retval][out] */ VARIANT __RPC_FAR *pvSource);
  3052. void __RPC_STUB _Recordset_get_Source_Stub(
  3053.     IRpcStubBuffer *This,
  3054.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3055.     PRPC_MESSAGE _pRpcMessage,
  3056.     DWORD *_pdwStubPhase);
  3057. /* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_AddNew_Proxy( 
  3058.     _ADORecordset __RPC_FAR * This,
  3059.     /* [optional][in] */ VARIANT FieldList,
  3060.     /* [optional][in] */ VARIANT Values);
  3061. void __RPC_STUB _Recordset_AddNew_Stub(
  3062.     IRpcStubBuffer *This,
  3063.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3064.     PRPC_MESSAGE _pRpcMessage,
  3065.     DWORD *_pdwStubPhase);
  3066. /* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_CancelUpdate_Proxy( 
  3067.     _ADORecordset __RPC_FAR * This);
  3068. void __RPC_STUB _Recordset_CancelUpdate_Stub(
  3069.     IRpcStubBuffer *This,
  3070.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3071.     PRPC_MESSAGE _pRpcMessage,
  3072.     DWORD *_pdwStubPhase);
  3073. /* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_Close_Proxy( 
  3074.     _ADORecordset __RPC_FAR * This);
  3075. void __RPC_STUB _Recordset_Close_Stub(
  3076.     IRpcStubBuffer *This,
  3077.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3078.     PRPC_MESSAGE _pRpcMessage,
  3079.     DWORD *_pdwStubPhase);
  3080. /* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_Delete_Proxy( 
  3081.     _ADORecordset __RPC_FAR * This,
  3082.     /* [defaultvalue][in] */ AffectEnum AffectRecords);
  3083. void __RPC_STUB _Recordset_Delete_Stub(
  3084.     IRpcStubBuffer *This,
  3085.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3086.     PRPC_MESSAGE _pRpcMessage,
  3087.     DWORD *_pdwStubPhase);
  3088. /* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_GetRows_Proxy( 
  3089.     _ADORecordset __RPC_FAR * This,
  3090.     /* [defaultvalue][in] */ long Rows,
  3091.     /* [optional][in] */ VARIANT Start,
  3092.     /* [optional][in] */ VARIANT Fields,
  3093.     /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  3094. void __RPC_STUB _Recordset_GetRows_Stub(
  3095.     IRpcStubBuffer *This,
  3096.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3097.     PRPC_MESSAGE _pRpcMessage,
  3098.     DWORD *_pdwStubPhase);
  3099. /* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_Move_Proxy( 
  3100.     _ADORecordset __RPC_FAR * This,
  3101.     /* [in] */ long NumRecords,
  3102.     /* [optional][in] */ VARIANT Start);
  3103. void __RPC_STUB _Recordset_Move_Stub(
  3104.     IRpcStubBuffer *This,
  3105.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3106.     PRPC_MESSAGE _pRpcMessage,
  3107.     DWORD *_pdwStubPhase);
  3108. /* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_MoveNext_Proxy( 
  3109.     _ADORecordset __RPC_FAR * This);
  3110. void __RPC_STUB _Recordset_MoveNext_Stub(
  3111.     IRpcStubBuffer *This,
  3112.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3113.     PRPC_MESSAGE _pRpcMessage,
  3114.     DWORD *_pdwStubPhase);
  3115. /* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_MovePrevious_Proxy( 
  3116.     _ADORecordset __RPC_FAR * This);
  3117. void __RPC_STUB _Recordset_MovePrevious_Stub(
  3118.     IRpcStubBuffer *This,
  3119.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3120.     PRPC_MESSAGE _pRpcMessage,
  3121.     DWORD *_pdwStubPhase);
  3122. /* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_MoveFirst_Proxy( 
  3123.     _ADORecordset __RPC_FAR * This);
  3124. void __RPC_STUB _Recordset_MoveFirst_Stub(
  3125.     IRpcStubBuffer *This,
  3126.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3127.     PRPC_MESSAGE _pRpcMessage,
  3128.     DWORD *_pdwStubPhase);
  3129. /* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_MoveLast_Proxy( 
  3130.     _ADORecordset __RPC_FAR * This);
  3131. void __RPC_STUB _Recordset_MoveLast_Stub(
  3132.     IRpcStubBuffer *This,
  3133.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3134.     PRPC_MESSAGE _pRpcMessage,
  3135.     DWORD *_pdwStubPhase);
  3136. /* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_Open_Proxy( 
  3137.     _ADORecordset __RPC_FAR * This,
  3138.     /* [optional][in] */ VARIANT Source,
  3139.     /* [optional][in] */ VARIANT ActiveConnection,
  3140.     /* [defaultvalue][in] */ CursorTypeEnum CursorType,
  3141.     /* [defaultvalue][in] */ LockTypeEnum LockType,
  3142.     /* [defaultvalue][in] */ LONG Options);
  3143. void __RPC_STUB _Recordset_Open_Stub(
  3144.     IRpcStubBuffer *This,
  3145.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3146.     PRPC_MESSAGE _pRpcMessage,
  3147.     DWORD *_pdwStubPhase);
  3148. /* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_Requery_Proxy( 
  3149.     _ADORecordset __RPC_FAR * This,
  3150.     /* [defaultvalue][in] */ LONG Options);
  3151. void __RPC_STUB _Recordset_Requery_Stub(
  3152.     IRpcStubBuffer *This,
  3153.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3154.     PRPC_MESSAGE _pRpcMessage,
  3155.     DWORD *_pdwStubPhase);
  3156. /* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_Resync_Proxy( 
  3157.     _ADORecordset __RPC_FAR * This,
  3158.     /* [defaultvalue][in] */ AffectEnum AffectRecords);
  3159. void __RPC_STUB _Recordset_Resync_Stub(
  3160.     IRpcStubBuffer *This,
  3161.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3162.     PRPC_MESSAGE _pRpcMessage,
  3163.     DWORD *_pdwStubPhase);
  3164. /* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_Update_Proxy( 
  3165.     _ADORecordset __RPC_FAR * This,
  3166.     /* [optional][in] */ VARIANT Fields,
  3167.     /* [optional][in] */ VARIANT Values);
  3168. void __RPC_STUB _Recordset_Update_Stub(
  3169.     IRpcStubBuffer *This,
  3170.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3171.     PRPC_MESSAGE _pRpcMessage,
  3172.     DWORD *_pdwStubPhase);
  3173. /* [propget][id] */ HRESULT STDMETHODCALLTYPE _Recordset_get_AbsolutePage_Proxy( 
  3174.     _ADORecordset __RPC_FAR * This,
  3175.     /* [retval][out] */ PositionEnum __RPC_FAR *pl);
  3176. void __RPC_STUB _Recordset_get_AbsolutePage_Stub(
  3177.     IRpcStubBuffer *This,
  3178.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3179.     PRPC_MESSAGE _pRpcMessage,
  3180.     DWORD *_pdwStubPhase);
  3181. /* [propput][id] */ HRESULT STDMETHODCALLTYPE _Recordset_put_AbsolutePage_Proxy( 
  3182.     _ADORecordset __RPC_FAR * This,
  3183.     /* [in] */ PositionEnum Page);
  3184. void __RPC_STUB _Recordset_put_AbsolutePage_Stub(
  3185.     IRpcStubBuffer *This,
  3186.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3187.     PRPC_MESSAGE _pRpcMessage,
  3188.     DWORD *_pdwStubPhase);
  3189. /* [propget][id] */ HRESULT STDMETHODCALLTYPE _Recordset_get_EditMode_Proxy( 
  3190.     _ADORecordset __RPC_FAR * This,
  3191.     /* [retval][out] */ EditModeEnum __RPC_FAR *pl);
  3192. void __RPC_STUB _Recordset_get_EditMode_Stub(
  3193.     IRpcStubBuffer *This,
  3194.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3195.     PRPC_MESSAGE _pRpcMessage,
  3196.     DWORD *_pdwStubPhase);
  3197. /* [propget][id] */ HRESULT STDMETHODCALLTYPE _Recordset_get_Filter_Proxy( 
  3198.     _ADORecordset __RPC_FAR * This,
  3199.     /* [retval][out] */ VARIANT __RPC_FAR *Criteria);
  3200. void __RPC_STUB _Recordset_get_Filter_Stub(
  3201.     IRpcStubBuffer *This,
  3202.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3203.     PRPC_MESSAGE _pRpcMessage,
  3204.     DWORD *_pdwStubPhase);
  3205. /* [propput][id] */ HRESULT STDMETHODCALLTYPE _Recordset_put_Filter_Proxy( 
  3206.     _ADORecordset __RPC_FAR * This,
  3207.     /* [in] */ VARIANT Criteria);
  3208. void __RPC_STUB _Recordset_put_Filter_Stub(
  3209.     IRpcStubBuffer *This,
  3210.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3211.     PRPC_MESSAGE _pRpcMessage,
  3212.     DWORD *_pdwStubPhase);
  3213. /* [propget][id] */ HRESULT STDMETHODCALLTYPE _Recordset_get_PageCount_Proxy( 
  3214.     _ADORecordset __RPC_FAR * This,
  3215.     /* [retval][out] */ long __RPC_FAR *pl);
  3216. void __RPC_STUB _Recordset_get_PageCount_Stub(
  3217.     IRpcStubBuffer *This,
  3218.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3219.     PRPC_MESSAGE _pRpcMessage,
  3220.     DWORD *_pdwStubPhase);
  3221. /* [propget][id] */ HRESULT STDMETHODCALLTYPE _Recordset_get_PageSize_Proxy( 
  3222.     _ADORecordset __RPC_FAR * This,
  3223.     /* [retval][out] */ long __RPC_FAR *pl);
  3224. void __RPC_STUB _Recordset_get_PageSize_Stub(
  3225.     IRpcStubBuffer *This,
  3226.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3227.     PRPC_MESSAGE _pRpcMessage,
  3228.     DWORD *_pdwStubPhase);
  3229. /* [propput][id] */ HRESULT STDMETHODCALLTYPE _Recordset_put_PageSize_Proxy( 
  3230.     _ADORecordset __RPC_FAR * This,
  3231.     /* [in] */ long PageSize);
  3232. void __RPC_STUB _Recordset_put_PageSize_Stub(
  3233.     IRpcStubBuffer *This,
  3234.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3235.     PRPC_MESSAGE _pRpcMessage,
  3236.     DWORD *_pdwStubPhase);
  3237. /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE _Recordset_get_Sort_Proxy( 
  3238.     _ADORecordset __RPC_FAR * This,
  3239.     /* [retval][out] */ BSTR __RPC_FAR *Criteria);
  3240. void __RPC_STUB _Recordset_get_Sort_Stub(
  3241.     IRpcStubBuffer *This,
  3242.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3243.     PRPC_MESSAGE _pRpcMessage,
  3244.     DWORD *_pdwStubPhase);
  3245. /* [hidden][propput][id] */ HRESULT STDMETHODCALLTYPE _Recordset_put_Sort_Proxy( 
  3246.     _ADORecordset __RPC_FAR * This,
  3247.     /* [in] */ BSTR Criteria);
  3248. void __RPC_STUB _Recordset_put_Sort_Stub(
  3249.     IRpcStubBuffer *This,
  3250.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3251.     PRPC_MESSAGE _pRpcMessage,
  3252.     DWORD *_pdwStubPhase);
  3253. /* [propget][id] */ HRESULT STDMETHODCALLTYPE _Recordset_get_Status_Proxy( 
  3254.     _ADORecordset __RPC_FAR * This,
  3255.     /* [retval][out] */ long __RPC_FAR *pl);
  3256. void __RPC_STUB _Recordset_get_Status_Stub(
  3257.     IRpcStubBuffer *This,
  3258.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3259.     PRPC_MESSAGE _pRpcMessage,
  3260.     DWORD *_pdwStubPhase);
  3261. /* [propget][id] */ HRESULT STDMETHODCALLTYPE _Recordset_get_State_Proxy( 
  3262.     _ADORecordset __RPC_FAR * This,
  3263.     /* [retval][out] */ LONG __RPC_FAR *plObjState);
  3264. void __RPC_STUB _Recordset_get_State_Stub(
  3265.     IRpcStubBuffer *This,
  3266.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3267.     PRPC_MESSAGE _pRpcMessage,
  3268.     DWORD *_pdwStubPhase);
  3269. /* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_Clone_Proxy( 
  3270.     _ADORecordset __RPC_FAR * This,
  3271.     /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppvObject);
  3272. void __RPC_STUB _Recordset_Clone_Stub(
  3273.     IRpcStubBuffer *This,
  3274.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3275.     PRPC_MESSAGE _pRpcMessage,
  3276.     DWORD *_pdwStubPhase);
  3277. /* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_UpdateBatch_Proxy( 
  3278.     _ADORecordset __RPC_FAR * This,
  3279.     /* [defaultvalue][in] */ AffectEnum AffectRecords);
  3280. void __RPC_STUB _Recordset_UpdateBatch_Stub(
  3281.     IRpcStubBuffer *This,
  3282.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3283.     PRPC_MESSAGE _pRpcMessage,
  3284.     DWORD *_pdwStubPhase);
  3285. /* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_CancelBatch_Proxy( 
  3286.     _ADORecordset __RPC_FAR * This,
  3287.     /* [defaultvalue][in] */ AffectEnum AffectRecords);
  3288. void __RPC_STUB _Recordset_CancelBatch_Stub(
  3289.     IRpcStubBuffer *This,
  3290.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3291.     PRPC_MESSAGE _pRpcMessage,
  3292.     DWORD *_pdwStubPhase);
  3293. /* [propget][id] */ HRESULT STDMETHODCALLTYPE _Recordset_get_CursorLocation_Proxy( 
  3294.     _ADORecordset __RPC_FAR * This,
  3295.     /* [retval][out] */ CursorLocationEnum __RPC_FAR *plCursorLoc);
  3296. void __RPC_STUB _Recordset_get_CursorLocation_Stub(
  3297.     IRpcStubBuffer *This,
  3298.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3299.     PRPC_MESSAGE _pRpcMessage,
  3300.     DWORD *_pdwStubPhase);
  3301. /* [propput][id] */ HRESULT STDMETHODCALLTYPE _Recordset_put_CursorLocation_Proxy( 
  3302.     _ADORecordset __RPC_FAR * This,
  3303.     /* [in] */ CursorLocationEnum lCursorLoc);
  3304. void __RPC_STUB _Recordset_put_CursorLocation_Stub(
  3305.     IRpcStubBuffer *This,
  3306.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3307.     PRPC_MESSAGE _pRpcMessage,
  3308.     DWORD *_pdwStubPhase);
  3309. /* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_NextRecordset_Proxy( 
  3310.     _ADORecordset __RPC_FAR * This,
  3311.     /* [optional][out] */ VARIANT __RPC_FAR *RecordsAffected,
  3312.     /* [retval][out] */ _ADORecordset __RPC_FAR *__RPC_FAR *ppiRs);
  3313. void __RPC_STUB _Recordset_NextRecordset_Stub(
  3314.     IRpcStubBuffer *This,
  3315.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3316.     PRPC_MESSAGE _pRpcMessage,
  3317.     DWORD *_pdwStubPhase);
  3318. /* [id] */ HRESULT STDMETHODCALLTYPE _Recordset_Supports_Proxy( 
  3319.     _ADORecordset __RPC_FAR * This,
  3320.     /* [in] */ CursorOptionEnum CursorOptions,
  3321.     /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  3322. void __RPC_STUB _Recordset_Supports_Stub(
  3323.     IRpcStubBuffer *This,
  3324.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3325.     PRPC_MESSAGE _pRpcMessage,
  3326.     DWORD *_pdwStubPhase);
  3327. /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE _Recordset_get_Collect_Proxy( 
  3328.     _ADORecordset __RPC_FAR * This,
  3329.     /* [in] */ VARIANT Index,
  3330.     /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  3331. void __RPC_STUB _Recordset_get_Collect_Stub(
  3332.     IRpcStubBuffer *This,
  3333.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3334.     PRPC_MESSAGE _pRpcMessage,
  3335.     DWORD *_pdwStubPhase);
  3336. /* [hidden][id][propput] */ HRESULT STDMETHODCALLTYPE _Recordset_put_Collect_Proxy( 
  3337.     _ADORecordset __RPC_FAR * This,
  3338.     /* [in] */ VARIANT Index,
  3339.     /* [in] */ VARIANT value);
  3340. void __RPC_STUB _Recordset_put_Collect_Stub(
  3341.     IRpcStubBuffer *This,
  3342.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3343.     PRPC_MESSAGE _pRpcMessage,
  3344.     DWORD *_pdwStubPhase);
  3345. /* [propget][id] */ HRESULT STDMETHODCALLTYPE _Recordset_get_MarshalOptions_Proxy( 
  3346.     _ADORecordset __RPC_FAR * This,
  3347.     /* [retval][out] */ MarshalOptionsEnum __RPC_FAR *peMarshal);
  3348. void __RPC_STUB _Recordset_get_MarshalOptions_Stub(
  3349.     IRpcStubBuffer *This,
  3350.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3351.     PRPC_MESSAGE _pRpcMessage,
  3352.     DWORD *_pdwStubPhase);
  3353. /* [propput][id] */ HRESULT STDMETHODCALLTYPE _Recordset_put_MarshalOptions_Proxy( 
  3354.     _ADORecordset __RPC_FAR * This,
  3355.     /* [in] */ MarshalOptionsEnum eMarshal);
  3356. void __RPC_STUB _Recordset_put_MarshalOptions_Stub(
  3357.     IRpcStubBuffer *This,
  3358.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3359.     PRPC_MESSAGE _pRpcMessage,
  3360.     DWORD *_pdwStubPhase);
  3361. /* [hidden][id] */ HRESULT STDMETHODCALLTYPE _Recordset_Find_Proxy( 
  3362.     _ADORecordset __RPC_FAR * This,
  3363.     /* [in] */ BSTR Criteria,
  3364.     /* [defaultvalue][in] */ LONG SkipRecords,
  3365.     /* [defaultvalue][in] */ SearchDirectionEnum SearchDirection,
  3366.     /* [optional][in] */ VARIANT Start);
  3367. void __RPC_STUB _Recordset_Find_Stub(
  3368.     IRpcStubBuffer *This,
  3369.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3370.     PRPC_MESSAGE _pRpcMessage,
  3371.     DWORD *_pdwStubPhase);
  3372. #endif     /* ___Recordset_INTERFACE_DEFINED__ */
  3373. #ifdef __cplusplus
  3374. EXTERN_C const CLSID CLSID_Recordset;
  3375. Recordset;
  3376. #endif
  3377. #ifndef __ADORecordsetConstruction_INTERFACE_DEFINED__
  3378. #define __ADORecordsetConstruction_INTERFACE_DEFINED__
  3379. /****************************************
  3380.  * Generated header for interface: ADORecordsetConstruction
  3381.  * at Tue Oct 07 23:50:20 1997
  3382.  * using MIDL 3.01.75
  3383.  ****************************************/
  3384. /* [object][uuid][restricted] */ 
  3385. EXTERN_C const IID IID_ADORecordsetConstruction;
  3386. #if defined(__cplusplus) && !defined(CINTERFACE)
  3387.     
  3388.     interface DECLSPEC_UUID("00000283-0000-0010-8000-00AA006D2EA4")
  3389.     ADORecordsetConstruction : public IDispatch
  3390.     {
  3391.     public:
  3392.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Rowset( 
  3393.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset) = 0;
  3394.         
  3395.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Rowset( 
  3396.             /* [in] */ IUnknown __RPC_FAR *pRowset) = 0;
  3397.         
  3398.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Chapter( 
  3399.             /* [retval][out] */ LONG __RPC_FAR *plChapter) = 0;
  3400.         
  3401.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Chapter( 
  3402.             /* [in] */ LONG lChapter) = 0;
  3403.         
  3404.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RowPosition( 
  3405.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowPos) = 0;
  3406.         
  3407.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RowPosition( 
  3408.             /* [in] */ IUnknown __RPC_FAR *pRowPos) = 0;
  3409.         
  3410.     };
  3411.     
  3412. #else     /* C style interface */
  3413.     typedef struct ADORecordsetConstructionVtbl
  3414.     {
  3415.         BEGIN_INTERFACE
  3416.         
  3417.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3418.             ADORecordsetConstruction __RPC_FAR * This,
  3419.             /* [in] */ REFIID riid,
  3420.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3421.         
  3422.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3423.             ADORecordsetConstruction __RPC_FAR * This);
  3424.         
  3425.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3426.             ADORecordsetConstruction __RPC_FAR * This);
  3427.         
  3428.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  3429.             ADORecordsetConstruction __RPC_FAR * This,
  3430.             /* [out] */ UINT __RPC_FAR *pctinfo);
  3431.         
  3432.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  3433.             ADORecordsetConstruction __RPC_FAR * This,
  3434.             /* [in] */ UINT iTInfo,
  3435.             /* [in] */ LCID lcid,
  3436.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  3437.         
  3438.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  3439.             ADORecordsetConstruction __RPC_FAR * This,
  3440.             /* [in] */ REFIID riid,
  3441.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  3442.             /* [in] */ UINT cNames,
  3443.             /* [in] */ LCID lcid,
  3444.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  3445.         
  3446.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  3447.             ADORecordsetConstruction __RPC_FAR * This,
  3448.             /* [in] */ DISPID dispIdMember,
  3449.             /* [in] */ REFIID riid,
  3450.             /* [in] */ LCID lcid,
  3451.             /* [in] */ WORD wFlags,
  3452.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  3453.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  3454.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  3455.             /* [out] */ UINT __RPC_FAR *puArgErr);
  3456.         
  3457.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rowset )( 
  3458.             ADORecordsetConstruction __RPC_FAR * This,
  3459.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  3460.         
  3461.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rowset )( 
  3462.             ADORecordsetConstruction __RPC_FAR * This,
  3463.             /* [in] */ IUnknown __RPC_FAR *pRowset);
  3464.         
  3465.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Chapter )( 
  3466.             ADORecordsetConstruction __RPC_FAR * This,
  3467.             /* [retval][out] */ LONG __RPC_FAR *plChapter);
  3468.         
  3469.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Chapter )( 
  3470.             ADORecordsetConstruction __RPC_FAR * This,
  3471.             /* [in] */ LONG lChapter);
  3472.         
  3473.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RowPosition )( 
  3474.             ADORecordsetConstruction __RPC_FAR * This,
  3475.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowPos);
  3476.         
  3477.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RowPosition )( 
  3478.             ADORecordsetConstruction __RPC_FAR * This,
  3479.             /* [in] */ IUnknown __RPC_FAR *pRowPos);
  3480.         
  3481.         END_INTERFACE
  3482.     } ADORecordsetConstructionVtbl;
  3483.     interface ADORecordsetConstruction
  3484.     {
  3485.         CONST_VTBL struct ADORecordsetConstructionVtbl __RPC_FAR *lpVtbl;
  3486.     };
  3487.     
  3488. #ifdef COBJMACROS
  3489. #define ADORecordsetConstruction_QueryInterface(This,riid,ppvObject)    \
  3490.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3491. #define ADORecordsetConstruction_AddRef(This)    \
  3492.     (This)->lpVtbl -> AddRef(This)
  3493. #define ADORecordsetConstruction_Release(This)    \
  3494.     (This)->lpVtbl -> Release(This)
  3495. #define ADORecordsetConstruction_GetTypeInfoCount(This,pctinfo)    \
  3496.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3497. #define ADORecordsetConstruction_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  3498.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3499. #define ADORecordsetConstruction_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  3500.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3501. #define ADORecordsetConstruction_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  3502.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3503. #define ADORecordsetConstruction_get_Rowset(This,ppRowset)    \
  3504.     (This)->lpVtbl -> get_Rowset(This,ppRowset)
  3505. #define ADORecordsetConstruction_put_Rowset(This,pRowset)    \
  3506.     (This)->lpVtbl -> put_Rowset(This,pRowset)
  3507. #define ADORecordsetConstruction_get_Chapter(This,plChapter)    \
  3508.     (This)->lpVtbl -> get_Chapter(This,plChapter)
  3509. #define ADORecordsetConstruction_put_Chapter(This,lChapter)    \
  3510.     (This)->lpVtbl -> put_Chapter(This,lChapter)
  3511. #define ADORecordsetConstruction_get_RowPosition(This,ppRowPos)    \
  3512.     (This)->lpVtbl -> get_RowPosition(This,ppRowPos)
  3513. #define ADORecordsetConstruction_put_RowPosition(This,pRowPos)    \
  3514.     (This)->lpVtbl -> put_RowPosition(This,pRowPos)
  3515. #endif /* COBJMACROS */
  3516. #endif     /* C style interface */
  3517. /* [propget] */ HRESULT STDMETHODCALLTYPE ADORecordsetConstruction_get_Rowset_Proxy( 
  3518.     ADORecordsetConstruction __RPC_FAR * This,
  3519.     /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowset);
  3520. void __RPC_STUB ADORecordsetConstruction_get_Rowset_Stub(
  3521.     IRpcStubBuffer *This,
  3522.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3523.     PRPC_MESSAGE _pRpcMessage,
  3524.     DWORD *_pdwStubPhase);
  3525. /* [propput] */ HRESULT STDMETHODCALLTYPE ADORecordsetConstruction_put_Rowset_Proxy( 
  3526.     ADORecordsetConstruction __RPC_FAR * This,
  3527.     /* [in] */ IUnknown __RPC_FAR *pRowset);
  3528. void __RPC_STUB ADORecordsetConstruction_put_Rowset_Stub(
  3529.     IRpcStubBuffer *This,
  3530.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3531.     PRPC_MESSAGE _pRpcMessage,
  3532.     DWORD *_pdwStubPhase);
  3533. /* [propget] */ HRESULT STDMETHODCALLTYPE ADORecordsetConstruction_get_Chapter_Proxy( 
  3534.     ADORecordsetConstruction __RPC_FAR * This,
  3535.     /* [retval][out] */ LONG __RPC_FAR *plChapter);
  3536. void __RPC_STUB ADORecordsetConstruction_get_Chapter_Stub(
  3537.     IRpcStubBuffer *This,
  3538.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3539.     PRPC_MESSAGE _pRpcMessage,
  3540.     DWORD *_pdwStubPhase);
  3541. /* [propput] */ HRESULT STDMETHODCALLTYPE ADORecordsetConstruction_put_Chapter_Proxy( 
  3542.     ADORecordsetConstruction __RPC_FAR * This,
  3543.     /* [in] */ LONG lChapter);
  3544. void __RPC_STUB ADORecordsetConstruction_put_Chapter_Stub(
  3545.     IRpcStubBuffer *This,
  3546.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3547.     PRPC_MESSAGE _pRpcMessage,
  3548.     DWORD *_pdwStubPhase);
  3549. /* [propget] */ HRESULT STDMETHODCALLTYPE ADORecordsetConstruction_get_RowPosition_Proxy( 
  3550.     ADORecordsetConstruction __RPC_FAR * This,
  3551.     /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppRowPos);
  3552. void __RPC_STUB ADORecordsetConstruction_get_RowPosition_Stub(
  3553.     IRpcStubBuffer *This,
  3554.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3555.     PRPC_MESSAGE _pRpcMessage,
  3556.     DWORD *_pdwStubPhase);
  3557. /* [propput] */ HRESULT STDMETHODCALLTYPE ADORecordsetConstruction_put_RowPosition_Proxy( 
  3558.     ADORecordsetConstruction __RPC_FAR * This,
  3559.     /* [in] */ IUnknown __RPC_FAR *pRowPos);
  3560. void __RPC_STUB ADORecordsetConstruction_put_RowPosition_Stub(
  3561.     IRpcStubBuffer *This,
  3562.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3563.     PRPC_MESSAGE _pRpcMessage,
  3564.     DWORD *_pdwStubPhase);
  3565. #endif     /* __ADORecordsetConstruction_INTERFACE_DEFINED__ */
  3566. #ifndef __Field_INTERFACE_DEFINED__
  3567. #define __Field_INTERFACE_DEFINED__
  3568. /****************************************
  3569.  * Generated header for interface: Field
  3570.  * at Tue Oct 07 23:50:20 1997
  3571.  * using MIDL 3.01.75
  3572.  ****************************************/
  3573. /* [object][helpstring][helpcontext][uuid][nonextensible][dual] */ 
  3574. EXTERN_C const IID IID_Field;
  3575. #if defined(__cplusplus) && !defined(CINTERFACE)
  3576.     
  3577.     interface DECLSPEC_UUID("00000505-0000-0010-8000-00AA006D2EA4")
  3578.     ADOField : public _ADO
  3579.     {
  3580.     public:
  3581.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ActualSize( 
  3582.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  3583.         
  3584.         virtual /* [helpstring][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Attributes( 
  3585.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  3586.         
  3587.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DefinedSize( 
  3588.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  3589.         
  3590.         virtual /* [helpstring][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
  3591.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  3592.         
  3593.         virtual /* [helpstring][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
  3594.             /* [retval][out] */ DataTypeEnum __RPC_FAR *pDataType) = 0;
  3595.         
  3596.         virtual /* [helpstring][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Value( 
  3597.             /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
  3598.         
  3599.         virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Value( 
  3600.             /* [in] */ VARIANT Val) = 0;
  3601.         
  3602.         virtual /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Precision( 
  3603.             /* [retval][out] */ BYTE __RPC_FAR *pbPrecision) = 0;
  3604.         
  3605.         virtual /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_NumericScale( 
  3606.             /* [retval][out] */ BYTE __RPC_FAR *pbNumericScale) = 0;
  3607.         
  3608.         virtual /* [helpstring][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AppendChunk( 
  3609.             /* [in] */ VARIANT Data) = 0;
  3610.         
  3611.         virtual /* [helpstring][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetChunk( 
  3612.             /* [in] */ long Length,
  3613.             /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
  3614.         
  3615.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_OriginalValue( 
  3616.             /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
  3617.         
  3618.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_UnderlyingValue( 
  3619.             /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
  3620.         
  3621.     };
  3622.     
  3623. #else     /* C style interface */
  3624.     typedef struct FieldVtbl
  3625.     {
  3626.         BEGIN_INTERFACE
  3627.         
  3628.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3629.             ADOField __RPC_FAR * This,
  3630.             /* [in] */ REFIID riid,
  3631.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3632.         
  3633.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3634.             ADOField __RPC_FAR * This);
  3635.         
  3636.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3637.             ADOField __RPC_FAR * This);
  3638.         
  3639.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  3640.             ADOField __RPC_FAR * This,
  3641.             /* [out] */ UINT __RPC_FAR *pctinfo);
  3642.         
  3643.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  3644.             ADOField __RPC_FAR * This,
  3645.             /* [in] */ UINT iTInfo,
  3646.             /* [in] */ LCID lcid,
  3647.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  3648.         
  3649.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  3650.             ADOField __RPC_FAR * This,
  3651.             /* [in] */ REFIID riid,
  3652.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  3653.             /* [in] */ UINT cNames,
  3654.             /* [in] */ LCID lcid,
  3655.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  3656.         
  3657.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  3658.             ADOField __RPC_FAR * This,
  3659.             /* [in] */ DISPID dispIdMember,
  3660.             /* [in] */ REFIID riid,
  3661.             /* [in] */ LCID lcid,
  3662.             /* [in] */ WORD wFlags,
  3663.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  3664.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  3665.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  3666.             /* [out] */ UINT __RPC_FAR *puArgErr);
  3667.         
  3668.         /* [helpstring][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Properties )( 
  3669.             ADOField __RPC_FAR * This,
  3670.             /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject);
  3671.         
  3672.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ActualSize )( 
  3673.             ADOField __RPC_FAR * This,
  3674.             /* [retval][out] */ long __RPC_FAR *pl);
  3675.         
  3676.         /* [helpstring][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Attributes )( 
  3677.             ADOField __RPC_FAR * This,
  3678.             /* [retval][out] */ long __RPC_FAR *pl);
  3679.         
  3680.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DefinedSize )( 
  3681.             ADOField __RPC_FAR * This,
  3682.             /* [retval][out] */ long __RPC_FAR *pl);
  3683.         
  3684.         /* [helpstring][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  3685.             ADOField __RPC_FAR * This,
  3686.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  3687.         
  3688.         /* [helpstring][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )( 
  3689.             ADOField __RPC_FAR * This,
  3690.             /* [retval][out] */ DataTypeEnum __RPC_FAR *pDataType);
  3691.         
  3692.         /* [helpstring][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Value )( 
  3693.             ADOField __RPC_FAR * This,
  3694.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  3695.         
  3696.         /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Value )( 
  3697.             ADOField __RPC_FAR * This,
  3698.             /* [in] */ VARIANT Val);
  3699.         
  3700.         /* [helpstring][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Precision )( 
  3701.             ADOField __RPC_FAR * This,
  3702.             /* [retval][out] */ BYTE __RPC_FAR *pbPrecision);
  3703.         
  3704.         /* [helpstring][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NumericScale )( 
  3705.             ADOField __RPC_FAR * This,
  3706.             /* [retval][out] */ BYTE __RPC_FAR *pbNumericScale);
  3707.         
  3708.         /* [helpstring][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AppendChunk )( 
  3709.             ADOField __RPC_FAR * This,
  3710.             /* [in] */ VARIANT Data);
  3711.         
  3712.         /* [helpstring][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetChunk )( 
  3713.             ADOField __RPC_FAR * This,
  3714.             /* [in] */ long Length,
  3715.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  3716.         
  3717.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_OriginalValue )( 
  3718.             ADOField __RPC_FAR * This,
  3719.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  3720.         
  3721.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UnderlyingValue )( 
  3722.             ADOField __RPC_FAR * This,
  3723.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  3724.         
  3725.         END_INTERFACE
  3726.     } FieldVtbl;
  3727.     interface Field
  3728.     {
  3729.         CONST_VTBL struct FieldVtbl __RPC_FAR *lpVtbl;
  3730.     };
  3731.     
  3732. #ifdef COBJMACROS
  3733. #define Field_QueryInterface(This,riid,ppvObject)    \
  3734.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3735. #define Field_AddRef(This)    \
  3736.     (This)->lpVtbl -> AddRef(This)
  3737. #define Field_Release(This)    \
  3738.     (This)->lpVtbl -> Release(This)
  3739. #define Field_GetTypeInfoCount(This,pctinfo)    \
  3740.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3741. #define Field_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  3742.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3743. #define Field_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  3744.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3745. #define Field_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  3746.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3747. #define Field_get_Properties(This,ppvObject)    \
  3748.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  3749. #define Field_get_ActualSize(This,pl)    \
  3750.     (This)->lpVtbl -> get_ActualSize(This,pl)
  3751. #define Field_get_Attributes(This,pl)    \
  3752.     (This)->lpVtbl -> get_Attributes(This,pl)
  3753. #define Field_get_DefinedSize(This,pl)    \
  3754.     (This)->lpVtbl -> get_DefinedSize(This,pl)
  3755. #define Field_get_Name(This,pbstr)    \
  3756.     (This)->lpVtbl -> get_Name(This,pbstr)
  3757. #define Field_get_Type(This,pDataType)    \
  3758.     (This)->lpVtbl -> get_Type(This,pDataType)
  3759. #define Field_get_Value(This,pvar)    \
  3760.     (This)->lpVtbl -> get_Value(This,pvar)
  3761. #define Field_put_Value(This,Val)    \
  3762.     (This)->lpVtbl -> put_Value(This,Val)
  3763. #define Field_get_Precision(This,pbPrecision)    \
  3764.     (This)->lpVtbl -> get_Precision(This,pbPrecision)
  3765. #define Field_get_NumericScale(This,pbNumericScale)    \
  3766.     (This)->lpVtbl -> get_NumericScale(This,pbNumericScale)
  3767. #define Field_AppendChunk(This,Data)    \
  3768.     (This)->lpVtbl -> AppendChunk(This,Data)
  3769. #define Field_GetChunk(This,Length,pvar)    \
  3770.     (This)->lpVtbl -> GetChunk(This,Length,pvar)
  3771. #define Field_get_OriginalValue(This,pvar)    \
  3772.     (This)->lpVtbl -> get_OriginalValue(This,pvar)
  3773. #define Field_get_UnderlyingValue(This,pvar)    \
  3774.     (This)->lpVtbl -> get_UnderlyingValue(This,pvar)
  3775. #endif /* COBJMACROS */
  3776. #endif     /* C style interface */
  3777. /* [propget][id] */ HRESULT STDMETHODCALLTYPE Field_get_ActualSize_Proxy( 
  3778.     ADOField __RPC_FAR * This,
  3779.     /* [retval][out] */ long __RPC_FAR *pl);
  3780. void __RPC_STUB Field_get_ActualSize_Stub(
  3781.     IRpcStubBuffer *This,
  3782.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3783.     PRPC_MESSAGE _pRpcMessage,
  3784.     DWORD *_pdwStubPhase);
  3785. /* [helpstring][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field_get_Attributes_Proxy( 
  3786.     ADOField __RPC_FAR * This,
  3787.     /* [retval][out] */ long __RPC_FAR *pl);
  3788. void __RPC_STUB Field_get_Attributes_Stub(
  3789.     IRpcStubBuffer *This,
  3790.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3791.     PRPC_MESSAGE _pRpcMessage,
  3792.     DWORD *_pdwStubPhase);
  3793. /* [propget][id] */ HRESULT STDMETHODCALLTYPE Field_get_DefinedSize_Proxy( 
  3794.     ADOField __RPC_FAR * This,
  3795.     /* [retval][out] */ long __RPC_FAR *pl);
  3796. void __RPC_STUB Field_get_DefinedSize_Stub(
  3797.     IRpcStubBuffer *This,
  3798.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3799.     PRPC_MESSAGE _pRpcMessage,
  3800.     DWORD *_pdwStubPhase);
  3801. /* [helpstring][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field_get_Name_Proxy( 
  3802.     ADOField __RPC_FAR * This,
  3803.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  3804. void __RPC_STUB Field_get_Name_Stub(
  3805.     IRpcStubBuffer *This,
  3806.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3807.     PRPC_MESSAGE _pRpcMessage,
  3808.     DWORD *_pdwStubPhase);
  3809. /* [helpstring][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field_get_Type_Proxy( 
  3810.     ADOField __RPC_FAR * This,
  3811.     /* [retval][out] */ DataTypeEnum __RPC_FAR *pDataType);
  3812. void __RPC_STUB Field_get_Type_Stub(
  3813.     IRpcStubBuffer *This,
  3814.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3815.     PRPC_MESSAGE _pRpcMessage,
  3816.     DWORD *_pdwStubPhase);
  3817. /* [helpstring][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Field_get_Value_Proxy( 
  3818.     ADOField __RPC_FAR * This,
  3819.     /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  3820. void __RPC_STUB Field_get_Value_Stub(
  3821.     IRpcStubBuffer *This,
  3822.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3823.     PRPC_MESSAGE _pRpcMessage,
  3824.     DWORD *_pdwStubPhase);
  3825. /* [propput][id] */ HRESULT STDMETHODCALLTYPE Field_put_Value_Proxy( 
  3826.     ADOField __RPC_FAR * This,
  3827.     /* [in] */ VARIANT Val);
  3828. void __RPC_STUB Field_put_Value_Stub(
  3829.     IRpcStubBuffer *This,
  3830.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3831.     PRPC_MESSAGE _pRpcMessage,
  3832.     DWORD *_pdwStubPhase);
  3833. /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE Field_get_Precision_Proxy( 
  3834.     ADOField __RPC_FAR * This,
  3835.     /* [retval][out] */ BYTE __RPC_FAR *pbPrecision);
  3836. void __RPC_STUB Field_get_Precision_Stub(
  3837.     IRpcStubBuffer *This,
  3838.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3839.     PRPC_MESSAGE _pRpcMessage,
  3840.     DWORD *_pdwStubPhase);
  3841. /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE Field_get_NumericScale_Proxy( 
  3842.     ADOField __RPC_FAR * This,
  3843.     /* [retval][out] */ BYTE __RPC_FAR *pbNumericScale);
  3844. void __RPC_STUB Field_get_NumericScale_Stub(
  3845.     IRpcStubBuffer *This,
  3846.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3847.     PRPC_MESSAGE _pRpcMessage,
  3848.     DWORD *_pdwStubPhase);
  3849. /* [helpstring][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Field_AppendChunk_Proxy( 
  3850.     ADOField __RPC_FAR * This,
  3851.     /* [in] */ VARIANT Data);
  3852. void __RPC_STUB Field_AppendChunk_Stub(
  3853.     IRpcStubBuffer *This,
  3854.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3855.     PRPC_MESSAGE _pRpcMessage,
  3856.     DWORD *_pdwStubPhase);
  3857. /* [helpstring][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Field_GetChunk_Proxy( 
  3858.     ADOField __RPC_FAR * This,
  3859.     /* [in] */ long Length,
  3860.     /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  3861. void __RPC_STUB Field_GetChunk_Stub(
  3862.     IRpcStubBuffer *This,
  3863.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3864.     PRPC_MESSAGE _pRpcMessage,
  3865.     DWORD *_pdwStubPhase);
  3866. /* [propget][id] */ HRESULT STDMETHODCALLTYPE Field_get_OriginalValue_Proxy( 
  3867.     ADOField __RPC_FAR * This,
  3868.     /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  3869. void __RPC_STUB Field_get_OriginalValue_Stub(
  3870.     IRpcStubBuffer *This,
  3871.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3872.     PRPC_MESSAGE _pRpcMessage,
  3873.     DWORD *_pdwStubPhase);
  3874. /* [propget][id] */ HRESULT STDMETHODCALLTYPE Field_get_UnderlyingValue_Proxy( 
  3875.     ADOField __RPC_FAR * This,
  3876.     /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  3877. void __RPC_STUB Field_get_UnderlyingValue_Stub(
  3878.     IRpcStubBuffer *This,
  3879.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3880.     PRPC_MESSAGE _pRpcMessage,
  3881.     DWORD *_pdwStubPhase);
  3882. #endif     /* __Field_INTERFACE_DEFINED__ */
  3883. #ifndef __Fields_INTERFACE_DEFINED__
  3884. #define __Fields_INTERFACE_DEFINED__
  3885. /****************************************
  3886.  * Generated header for interface: Fields
  3887.  * at Tue Oct 07 23:50:20 1997
  3888.  * using MIDL 3.01.75
  3889.  ****************************************/
  3890. /* [object][uuid][helpstring][helpcontext][nonextensible][dual] */ 
  3891. EXTERN_C const IID IID_Fields;
  3892. #if defined(__cplusplus) && !defined(CINTERFACE)
  3893.     
  3894.     interface DECLSPEC_UUID("00000506-0000-0010-8000-00AA006D2EA4")
  3895.     ADOFields : public _ADOCollection
  3896.     {
  3897.     public:
  3898.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  3899.             /* [in] */ VARIANT Index,
  3900.             /* [retval][out] */ ADOField __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  3901.         
  3902.     };
  3903.     
  3904. #else     /* C style interface */
  3905.     typedef struct FieldsVtbl
  3906.     {
  3907.         BEGIN_INTERFACE
  3908.         
  3909.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3910.             ADOFields __RPC_FAR * This,
  3911.             /* [in] */ REFIID riid,
  3912.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3913.         
  3914.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3915.             ADOFields __RPC_FAR * This);
  3916.         
  3917.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3918.             ADOFields __RPC_FAR * This);
  3919.         
  3920.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  3921.             ADOFields __RPC_FAR * This,
  3922.             /* [out] */ UINT __RPC_FAR *pctinfo);
  3923.         
  3924.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  3925.             ADOFields __RPC_FAR * This,
  3926.             /* [in] */ UINT iTInfo,
  3927.             /* [in] */ LCID lcid,
  3928.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  3929.         
  3930.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  3931.             ADOFields __RPC_FAR * This,
  3932.             /* [in] */ REFIID riid,
  3933.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  3934.             /* [in] */ UINT cNames,
  3935.             /* [in] */ LCID lcid,
  3936.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  3937.         
  3938.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  3939.             ADOFields __RPC_FAR * This,
  3940.             /* [in] */ DISPID dispIdMember,
  3941.             /* [in] */ REFIID riid,
  3942.             /* [in] */ LCID lcid,
  3943.             /* [in] */ WORD wFlags,
  3944.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  3945.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  3946.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  3947.             /* [out] */ UINT __RPC_FAR *puArgErr);
  3948.         
  3949.         /* [helpstring][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  3950.             ADOFields __RPC_FAR * This,
  3951.             /* [retval][out] */ long __RPC_FAR *c);
  3952.         
  3953.         /* [id][restricted] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum )( 
  3954.             ADOFields __RPC_FAR * This,
  3955.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
  3956.         
  3957.         /* [helpstring][helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  3958.             ADOFields __RPC_FAR * This);
  3959.         
  3960.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  3961.             ADOFields __RPC_FAR * This,
  3962.             /* [in] */ VARIANT Index,
  3963.             /* [retval][out] */ ADOField __RPC_FAR *__RPC_FAR *ppvObject);
  3964.         
  3965.         END_INTERFACE
  3966.     } FieldsVtbl;
  3967.     interface Fields
  3968.     {
  3969.         CONST_VTBL struct FieldsVtbl __RPC_FAR *lpVtbl;
  3970.     };
  3971.     
  3972. #ifdef COBJMACROS
  3973. #define Fields_QueryInterface(This,riid,ppvObject)    \
  3974.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3975. #define Fields_AddRef(This)    \
  3976.     (This)->lpVtbl -> AddRef(This)
  3977. #define Fields_Release(This)    \
  3978.     (This)->lpVtbl -> Release(This)
  3979. #define Fields_GetTypeInfoCount(This,pctinfo)    \
  3980.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3981. #define Fields_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  3982.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3983. #define Fields_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  3984.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3985. #define Fields_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  3986.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3987. #define Fields_get_Count(This,c)    \
  3988.     (This)->lpVtbl -> get_Count(This,c)
  3989. #define Fields__NewEnum(This,ppvObject)    \
  3990.     (This)->lpVtbl -> _NewEnum(This,ppvObject)
  3991. #define Fields_Refresh(This)    \
  3992.     (This)->lpVtbl -> Refresh(This)
  3993. #define Fields_get_Item(This,Index,ppvObject)    \
  3994.     (This)->lpVtbl -> get_Item(This,Index,ppvObject)
  3995. #endif /* COBJMACROS */
  3996. #endif     /* C style interface */
  3997. /* [id][propget] */ HRESULT STDMETHODCALLTYPE Fields_get_Item_Proxy( 
  3998.     ADOFields __RPC_FAR * This,
  3999.     /* [in] */ VARIANT Index,
  4000.     /* [retval][out] */ ADOField __RPC_FAR *__RPC_FAR *ppvObject);
  4001. void __RPC_STUB Fields_get_Item_Stub(
  4002.     IRpcStubBuffer *This,
  4003.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4004.     PRPC_MESSAGE _pRpcMessage,
  4005.     DWORD *_pdwStubPhase);
  4006. #endif     /* __Fields_INTERFACE_DEFINED__ */
  4007. #ifndef ___Parameter_INTERFACE_DEFINED__
  4008. #define ___Parameter_INTERFACE_DEFINED__
  4009. /****************************************
  4010.  * Generated header for interface: _Parameter
  4011.  * at Tue Oct 07 23:50:20 1997
  4012.  * using MIDL 3.01.75
  4013.  ****************************************/
  4014. /* [object][helpstring][helpcontext][uuid][nonextensible][dual] */ 
  4015. EXTERN_C const IID IID__Parameter;
  4016. #if defined(__cplusplus) && !defined(CINTERFACE)
  4017.     
  4018.     interface DECLSPEC_UUID("0000050C-0000-0010-8000-00AA006D2EA4")
  4019.     _ADOParameter : public _ADO
  4020.     {
  4021.     public:
  4022.         virtual /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  4023.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  4024.         
  4025.         virtual /* [helpstring][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
  4026.             /* [in] */ BSTR bstr) = 0;
  4027.         
  4028.         virtual /* [helpstring][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
  4029.             /* [retval][out] */ VARIANT __RPC_FAR *pvar) = 0;
  4030.         
  4031.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Value( 
  4032.             /* [in] */ VARIANT val) = 0;
  4033.         
  4034.         virtual /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
  4035.             /* [retval][out] */ DataTypeEnum __RPC_FAR *psDataType) = 0;
  4036.         
  4037.         virtual /* [helpstring][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_Type( 
  4038.             /* [in] */ DataTypeEnum sDataType) = 0;
  4039.         
  4040.         virtual /* [helpstring][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_Direction( 
  4041.             /* [in] */ ParameterDirectionEnum lParmDirection) = 0;
  4042.         
  4043.         virtual /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Direction( 
  4044.             /* [retval][out] */ ParameterDirectionEnum __RPC_FAR *plParmDirection) = 0;
  4045.         
  4046.         virtual /* [helpstring][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_Precision( 
  4047.             /* [in] */ BYTE bPrecision) = 0;
  4048.         
  4049.         virtual /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Precision( 
  4050.             /* [retval][out] */ BYTE __RPC_FAR *pbPrecision) = 0;
  4051.         
  4052.         virtual /* [helpstring][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_NumericScale( 
  4053.             /* [in] */ BYTE bScale) = 0;
  4054.         
  4055.         virtual /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_NumericScale( 
  4056.             /* [retval][out] */ BYTE __RPC_FAR *pbScale) = 0;
  4057.         
  4058.         virtual /* [helpstring][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_Size( 
  4059.             /* [in] */ long l) = 0;
  4060.         
  4061.         virtual /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
  4062.             /* [retval][out] */ long __RPC_FAR *pl) = 0;
  4063.         
  4064.         virtual HRESULT STDMETHODCALLTYPE AppendChunk( 
  4065.             /* [in] */ VARIANT Val) = 0;
  4066.         
  4067.         virtual /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Attributes( 
  4068.             /* [retval][out] */ LONG __RPC_FAR *plParmAttribs) = 0;
  4069.         
  4070.         virtual /* [helpstring][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_Attributes( 
  4071.             /* [in] */ LONG lParmAttribs) = 0;
  4072.         
  4073.     };
  4074.     
  4075. #else     /* C style interface */
  4076.     typedef struct _ParameterVtbl
  4077.     {
  4078.         BEGIN_INTERFACE
  4079.         
  4080.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4081.             _ADOParameter __RPC_FAR * This,
  4082.             /* [in] */ REFIID riid,
  4083.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4084.         
  4085.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4086.             _ADOParameter __RPC_FAR * This);
  4087.         
  4088.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4089.             _ADOParameter __RPC_FAR * This);
  4090.         
  4091.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  4092.             _ADOParameter __RPC_FAR * This,
  4093.             /* [out] */ UINT __RPC_FAR *pctinfo);
  4094.         
  4095.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  4096.             _ADOParameter __RPC_FAR * This,
  4097.             /* [in] */ UINT iTInfo,
  4098.             /* [in] */ LCID lcid,
  4099.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  4100.         
  4101.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  4102.             _ADOParameter __RPC_FAR * This,
  4103.             /* [in] */ REFIID riid,
  4104.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  4105.             /* [in] */ UINT cNames,
  4106.             /* [in] */ LCID lcid,
  4107.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  4108.         
  4109.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  4110.             _ADOParameter __RPC_FAR * This,
  4111.             /* [in] */ DISPID dispIdMember,
  4112.             /* [in] */ REFIID riid,
  4113.             /* [in] */ LCID lcid,
  4114.             /* [in] */ WORD wFlags,
  4115.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  4116.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  4117.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  4118.             /* [out] */ UINT __RPC_FAR *puArgErr);
  4119.         
  4120.         /* [helpstring][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Properties )( 
  4121.             _ADOParameter __RPC_FAR * This,
  4122.             /* [retval][out] */ ADOProperties __RPC_FAR *__RPC_FAR *ppvObject);
  4123.         
  4124.         /* [helpstring][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  4125.             _ADOParameter __RPC_FAR * This,
  4126.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  4127.         
  4128.         /* [helpstring][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
  4129.             _ADOParameter __RPC_FAR * This,
  4130.             /* [in] */ BSTR bstr);
  4131.         
  4132.         /* [helpstring][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Value )( 
  4133.             _ADOParameter __RPC_FAR * This,
  4134.             /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  4135.         
  4136.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Value )( 
  4137.             _ADOParameter __RPC_FAR * This,
  4138.             /* [in] */ VARIANT val);
  4139.         
  4140.         /* [helpstring][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )( 
  4141.             _ADOParameter __RPC_FAR * This,
  4142.             /* [retval][out] */ DataTypeEnum __RPC_FAR *psDataType);
  4143.         
  4144.         /* [helpstring][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Type )( 
  4145.             _ADOParameter __RPC_FAR * This,
  4146.             /* [in] */ DataTypeEnum sDataType);
  4147.         
  4148.         /* [helpstring][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Direction )( 
  4149.             _ADOParameter __RPC_FAR * This,
  4150.             /* [in] */ ParameterDirectionEnum lParmDirection);
  4151.         
  4152.         /* [helpstring][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Direction )( 
  4153.             _ADOParameter __RPC_FAR * This,
  4154.             /* [retval][out] */ ParameterDirectionEnum __RPC_FAR *plParmDirection);
  4155.         
  4156.         /* [helpstring][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Precision )( 
  4157.             _ADOParameter __RPC_FAR * This,
  4158.             /* [in] */ BYTE bPrecision);
  4159.         
  4160.         /* [helpstring][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Precision )( 
  4161.             _ADOParameter __RPC_FAR * This,
  4162.             /* [retval][out] */ BYTE __RPC_FAR *pbPrecision);
  4163.         
  4164.         /* [helpstring][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_NumericScale )( 
  4165.             _ADOParameter __RPC_FAR * This,
  4166.             /* [in] */ BYTE bScale);
  4167.         
  4168.         /* [helpstring][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NumericScale )( 
  4169.             _ADOParameter __RPC_FAR * This,
  4170.             /* [retval][out] */ BYTE __RPC_FAR *pbScale);
  4171.         
  4172.         /* [helpstring][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Size )( 
  4173.             _ADOParameter __RPC_FAR * This,
  4174.             /* [in] */ long l);
  4175.         
  4176.         /* [helpstring][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Size )( 
  4177.             _ADOParameter __RPC_FAR * This,
  4178.             /* [retval][out] */ long __RPC_FAR *pl);
  4179.         
  4180.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AppendChunk )( 
  4181.             _ADOParameter __RPC_FAR * This,
  4182.             /* [in] */ VARIANT Val);
  4183.         
  4184.         /* [helpstring][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Attributes )( 
  4185.             _ADOParameter __RPC_FAR * This,
  4186.             /* [retval][out] */ LONG __RPC_FAR *plParmAttribs);
  4187.         
  4188.         /* [helpstring][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Attributes )( 
  4189.             _ADOParameter __RPC_FAR * This,
  4190.             /* [in] */ LONG lParmAttribs);
  4191.         
  4192.         END_INTERFACE
  4193.     } _ParameterVtbl;
  4194.     interface _Parameter
  4195.     {
  4196.         CONST_VTBL struct _ParameterVtbl __RPC_FAR *lpVtbl;
  4197.     };
  4198.     
  4199. #ifdef COBJMACROS
  4200. #define _Parameter_QueryInterface(This,riid,ppvObject)    \
  4201.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4202. #define _Parameter_AddRef(This)    \
  4203.     (This)->lpVtbl -> AddRef(This)
  4204. #define _Parameter_Release(This)    \
  4205.     (This)->lpVtbl -> Release(This)
  4206. #define _Parameter_GetTypeInfoCount(This,pctinfo)    \
  4207.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  4208. #define _Parameter_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  4209.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4210. #define _Parameter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  4211.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4212. #define _Parameter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  4213.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4214. #define _Parameter_get_Properties(This,ppvObject)    \
  4215.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  4216. #define _Parameter_get_Name(This,pbstr)    \
  4217.     (This)->lpVtbl -> get_Name(This,pbstr)
  4218. #define _Parameter_put_Name(This,bstr)    \
  4219.     (This)->lpVtbl -> put_Name(This,bstr)
  4220. #define _Parameter_get_Value(This,pvar)    \
  4221.     (This)->lpVtbl -> get_Value(This,pvar)
  4222. #define _Parameter_put_Value(This,val)    \
  4223.     (This)->lpVtbl -> put_Value(This,val)
  4224. #define _Parameter_get_Type(This,psDataType)    \
  4225.     (This)->lpVtbl -> get_Type(This,psDataType)
  4226. #define _Parameter_put_Type(This,sDataType)    \
  4227.     (This)->lpVtbl -> put_Type(This,sDataType)
  4228. #define _Parameter_put_Direction(This,lParmDirection)    \
  4229.     (This)->lpVtbl -> put_Direction(This,lParmDirection)
  4230. #define _Parameter_get_Direction(This,plParmDirection)    \
  4231.     (This)->lpVtbl -> get_Direction(This,plParmDirection)
  4232. #define _Parameter_put_Precision(This,bPrecision)    \
  4233.     (This)->lpVtbl -> put_Precision(This,bPrecision)
  4234. #define _Parameter_get_Precision(This,pbPrecision)    \
  4235.     (This)->lpVtbl -> get_Precision(This,pbPrecision)
  4236. #define _Parameter_put_NumericScale(This,bScale)    \
  4237.     (This)->lpVtbl -> put_NumericScale(This,bScale)
  4238. #define _Parameter_get_NumericScale(This,pbScale)    \
  4239.     (This)->lpVtbl -> get_NumericScale(This,pbScale)
  4240. #define _Parameter_put_Size(This,l)    \
  4241.     (This)->lpVtbl -> put_Size(This,l)
  4242. #define _Parameter_get_Size(This,pl)    \
  4243.     (This)->lpVtbl -> get_Size(This,pl)
  4244. #define _Parameter_AppendChunk(This,Val)    \
  4245.     (This)->lpVtbl -> AppendChunk(This,Val)
  4246. #define _Parameter_get_Attributes(This,plParmAttribs)    \
  4247.     (This)->lpVtbl -> get_Attributes(This,plParmAttribs)
  4248. #define _Parameter_put_Attributes(This,lParmAttribs)    \
  4249.     (This)->lpVtbl -> put_Attributes(This,lParmAttribs)
  4250. #endif /* COBJMACROS */
  4251. #endif     /* C style interface */
  4252. /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE _Parameter_get_Name_Proxy( 
  4253.     _ADOParameter __RPC_FAR * This,
  4254.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  4255. void __RPC_STUB _Parameter_get_Name_Stub(
  4256.     IRpcStubBuffer *This,
  4257.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4258.     PRPC_MESSAGE _pRpcMessage,
  4259.     DWORD *_pdwStubPhase);
  4260. /* [helpstring][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE _Parameter_put_Name_Proxy( 
  4261.     _ADOParameter __RPC_FAR * This,
  4262.     /* [in] */ BSTR bstr);
  4263. void __RPC_STUB _Parameter_put_Name_Stub(
  4264.     IRpcStubBuffer *This,
  4265.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4266.     PRPC_MESSAGE _pRpcMessage,
  4267.     DWORD *_pdwStubPhase);
  4268. /* [helpstring][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Parameter_get_Value_Proxy( 
  4269.     _ADOParameter __RPC_FAR * This,
  4270.     /* [retval][out] */ VARIANT __RPC_FAR *pvar);
  4271. void __RPC_STUB _Parameter_get_Value_Stub(
  4272.     IRpcStubBuffer *This,
  4273.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4274.     PRPC_MESSAGE _pRpcMessage,
  4275.     DWORD *_pdwStubPhase);
  4276. /* [id][propput] */ HRESULT STDMETHODCALLTYPE _Parameter_put_Value_Proxy( 
  4277.     _ADOParameter __RPC_FAR * This,
  4278.     /* [in] */ VARIANT val);
  4279. void __RPC_STUB _Parameter_put_Value_Stub(
  4280.     IRpcStubBuffer *This,
  4281.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4282.     PRPC_MESSAGE _pRpcMessage,
  4283.     DWORD *_pdwStubPhase);
  4284. /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE _Parameter_get_Type_Proxy( 
  4285.     _ADOParameter __RPC_FAR * This,
  4286.     /* [retval][out] */ DataTypeEnum __RPC_FAR *psDataType);
  4287. void __RPC_STUB _Parameter_get_Type_Stub(
  4288.     IRpcStubBuffer *This,
  4289.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4290.     PRPC_MESSAGE _pRpcMessage,
  4291.     DWORD *_pdwStubPhase);
  4292. /* [helpstring][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE _Parameter_put_Type_Proxy( 
  4293.     _ADOParameter __RPC_FAR * This,
  4294.     /* [in] */ DataTypeEnum sDataType);
  4295. void __RPC_STUB _Parameter_put_Type_Stub(
  4296.     IRpcStubBuffer *This,
  4297.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4298.     PRPC_MESSAGE _pRpcMessage,
  4299.     DWORD *_pdwStubPhase);
  4300. /* [helpstring][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE _Parameter_put_Direction_Proxy( 
  4301.     _ADOParameter __RPC_FAR * This,
  4302.     /* [in] */ ParameterDirectionEnum lParmDirection);
  4303. void __RPC_STUB _Parameter_put_Direction_Stub(
  4304.     IRpcStubBuffer *This,
  4305.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4306.     PRPC_MESSAGE _pRpcMessage,
  4307.     DWORD *_pdwStubPhase);
  4308. /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE _Parameter_get_Direction_Proxy( 
  4309.     _ADOParameter __RPC_FAR * This,
  4310.     /* [retval][out] */ ParameterDirectionEnum __RPC_FAR *plParmDirection);
  4311. void __RPC_STUB _Parameter_get_Direction_Stub(
  4312.     IRpcStubBuffer *This,
  4313.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4314.     PRPC_MESSAGE _pRpcMessage,
  4315.     DWORD *_pdwStubPhase);
  4316. /* [helpstring][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE _Parameter_put_Precision_Proxy( 
  4317.     _ADOParameter __RPC_FAR * This,
  4318.     /* [in] */ BYTE bPrecision);
  4319. void __RPC_STUB _Parameter_put_Precision_Stub(
  4320.     IRpcStubBuffer *This,
  4321.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4322.     PRPC_MESSAGE _pRpcMessage,
  4323.     DWORD *_pdwStubPhase);
  4324. /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE _Parameter_get_Precision_Proxy( 
  4325.     _ADOParameter __RPC_FAR * This,
  4326.     /* [retval][out] */ BYTE __RPC_FAR *pbPrecision);
  4327. void __RPC_STUB _Parameter_get_Precision_Stub(
  4328.     IRpcStubBuffer *This,
  4329.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4330.     PRPC_MESSAGE _pRpcMessage,
  4331.     DWORD *_pdwStubPhase);
  4332. /* [helpstring][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE _Parameter_put_NumericScale_Proxy( 
  4333.     _ADOParameter __RPC_FAR * This,
  4334.     /* [in] */ BYTE bScale);
  4335. void __RPC_STUB _Parameter_put_NumericScale_Stub(
  4336.     IRpcStubBuffer *This,
  4337.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4338.     PRPC_MESSAGE _pRpcMessage,
  4339.     DWORD *_pdwStubPhase);
  4340. /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE _Parameter_get_NumericScale_Proxy( 
  4341.     _ADOParameter __RPC_FAR * This,
  4342.     /* [retval][out] */ BYTE __RPC_FAR *pbScale);
  4343. void __RPC_STUB _Parameter_get_NumericScale_Stub(
  4344.     IRpcStubBuffer *This,
  4345.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4346.     PRPC_MESSAGE _pRpcMessage,
  4347.     DWORD *_pdwStubPhase);
  4348. /* [helpstring][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE _Parameter_put_Size_Proxy( 
  4349.     _ADOParameter __RPC_FAR * This,
  4350.     /* [in] */ long l);
  4351. void __RPC_STUB _Parameter_put_Size_Stub(
  4352.     IRpcStubBuffer *This,
  4353.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4354.     PRPC_MESSAGE _pRpcMessage,
  4355.     DWORD *_pdwStubPhase);
  4356. /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE _Parameter_get_Size_Proxy( 
  4357.     _ADOParameter __RPC_FAR * This,
  4358.     /* [retval][out] */ long __RPC_FAR *pl);
  4359. void __RPC_STUB _Parameter_get_Size_Stub(
  4360.     IRpcStubBuffer *This,
  4361.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4362.     PRPC_MESSAGE _pRpcMessage,
  4363.     DWORD *_pdwStubPhase);
  4364. HRESULT STDMETHODCALLTYPE _Parameter_AppendChunk_Proxy( 
  4365.     _ADOParameter __RPC_FAR * This,
  4366.     /* [in] */ VARIANT Val);
  4367. void __RPC_STUB _Parameter_AppendChunk_Stub(
  4368.     IRpcStubBuffer *This,
  4369.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4370.     PRPC_MESSAGE _pRpcMessage,
  4371.     DWORD *_pdwStubPhase);
  4372. /* [helpstring][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE _Parameter_get_Attributes_Proxy( 
  4373.     _ADOParameter __RPC_FAR * This,
  4374.     /* [retval][out] */ LONG __RPC_FAR *plParmAttribs);
  4375. void __RPC_STUB _Parameter_get_Attributes_Stub(
  4376.     IRpcStubBuffer *This,
  4377.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4378.     PRPC_MESSAGE _pRpcMessage,
  4379.     DWORD *_pdwStubPhase);
  4380. /* [helpstring][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE _Parameter_put_Attributes_Proxy( 
  4381.     _ADOParameter __RPC_FAR * This,
  4382.     /* [in] */ LONG lParmAttribs);
  4383. void __RPC_STUB _Parameter_put_Attributes_Stub(
  4384.     IRpcStubBuffer *This,
  4385.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4386.     PRPC_MESSAGE _pRpcMessage,
  4387.     DWORD *_pdwStubPhase);
  4388. #endif     /* ___Parameter_INTERFACE_DEFINED__ */
  4389. #ifdef __cplusplus
  4390. EXTERN_C const CLSID CLSID_Parameter;
  4391. Parameter;
  4392. #endif
  4393. #ifndef __Parameters_INTERFACE_DEFINED__
  4394. #define __Parameters_INTERFACE_DEFINED__
  4395. /****************************************
  4396.  * Generated header for interface: Parameters
  4397.  * at Tue Oct 07 23:50:20 1997
  4398.  * using MIDL 3.01.75
  4399.  ****************************************/
  4400. /* [object][uuid][helpstring][helpcontext][nonextensible][dual] */ 
  4401. EXTERN_C const IID IID_Parameters;
  4402. #if defined(__cplusplus) && !defined(CINTERFACE)
  4403.     
  4404.     interface DECLSPEC_UUID("0000050D-0000-0010-8000-00AA006D2EA4")
  4405.     ADOParameters : public _ADODynaCollection
  4406.     {
  4407.     public:
  4408.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  4409.             /* [in] */ VARIANT Index,
  4410.             /* [retval][out] */ _ADOParameter __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  4411.         
  4412.     };
  4413.     
  4414. #else     /* C style interface */
  4415.     typedef struct ParametersVtbl
  4416.     {
  4417.         BEGIN_INTERFACE
  4418.         
  4419.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4420.             ADOParameters __RPC_FAR * This,
  4421.             /* [in] */ REFIID riid,
  4422.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4423.         
  4424.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4425.             ADOParameters __RPC_FAR * This);
  4426.         
  4427.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4428.             ADOParameters __RPC_FAR * This);
  4429.         
  4430.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  4431.             ADOParameters __RPC_FAR * This,
  4432.             /* [out] */ UINT __RPC_FAR *pctinfo);
  4433.         
  4434.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  4435.             ADOParameters __RPC_FAR * This,
  4436.             /* [in] */ UINT iTInfo,
  4437.             /* [in] */ LCID lcid,
  4438.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  4439.         
  4440.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  4441.             ADOParameters __RPC_FAR * This,
  4442.             /* [in] */ REFIID riid,
  4443.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  4444.             /* [in] */ UINT cNames,
  4445.             /* [in] */ LCID lcid,
  4446.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  4447.         
  4448.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  4449.             ADOParameters __RPC_FAR * This,
  4450.             /* [in] */ DISPID dispIdMember,
  4451.             /* [in] */ REFIID riid,
  4452.             /* [in] */ LCID lcid,
  4453.             /* [in] */ WORD wFlags,
  4454.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  4455.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  4456.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  4457.             /* [out] */ UINT __RPC_FAR *puArgErr);
  4458.         
  4459.         /* [helpstring][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  4460.             ADOParameters __RPC_FAR * This,
  4461.             /* [retval][out] */ long __RPC_FAR *c);
  4462.         
  4463.         /* [id][restricted] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum )( 
  4464.             ADOParameters __RPC_FAR * This,
  4465.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
  4466.         
  4467.         /* [helpstring][helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  4468.             ADOParameters __RPC_FAR * This);
  4469.         
  4470.         /* [helpstring][helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Append )( 
  4471.             ADOParameters __RPC_FAR * This,
  4472.             /* [in] */ IDispatch __RPC_FAR *Object);
  4473.         
  4474.         /* [helpstring][helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
  4475.             ADOParameters __RPC_FAR * This,
  4476.             /* [in] */ VARIANT Index);
  4477.         
  4478.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  4479.             ADOParameters __RPC_FAR * This,
  4480.             /* [in] */ VARIANT Index,
  4481.             /* [retval][out] */ _ADOParameter __RPC_FAR *__RPC_FAR *ppvObject);
  4482.         
  4483.         END_INTERFACE
  4484.     } ParametersVtbl;
  4485.     interface Parameters
  4486.     {
  4487.         CONST_VTBL struct ParametersVtbl __RPC_FAR *lpVtbl;
  4488.     };
  4489.     
  4490. #ifdef COBJMACROS
  4491. #define Parameters_QueryInterface(This,riid,ppvObject)    \
  4492.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4493. #define Parameters_AddRef(This)    \
  4494.     (This)->lpVtbl -> AddRef(This)
  4495. #define Parameters_Release(This)    \
  4496.     (This)->lpVtbl -> Release(This)
  4497. #define Parameters_GetTypeInfoCount(This,pctinfo)    \
  4498.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  4499. #define Parameters_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  4500.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4501. #define Parameters_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  4502.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4503. #define Parameters_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  4504.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4505. #define Parameters_get_Count(This,c)    \
  4506.     (This)->lpVtbl -> get_Count(This,c)
  4507. #define Parameters__NewEnum(This,ppvObject)    \
  4508.     (This)->lpVtbl -> _NewEnum(This,ppvObject)
  4509. #define Parameters_Refresh(This)    \
  4510.     (This)->lpVtbl -> Refresh(This)
  4511. #define Parameters_Append(This,Object)    \
  4512.     (This)->lpVtbl -> Append(This,Object)
  4513. #define Parameters_Delete(This,Index)    \
  4514.     (This)->lpVtbl -> Delete(This,Index)
  4515. #define Parameters_get_Item(This,Index,ppvObject)    \
  4516.     (This)->lpVtbl -> get_Item(This,Index,ppvObject)
  4517. #endif /* COBJMACROS */
  4518. #endif     /* C style interface */
  4519. /* [id][propget] */ HRESULT STDMETHODCALLTYPE Parameters_get_Item_Proxy( 
  4520.     ADOParameters __RPC_FAR * This,
  4521.     /* [in] */ VARIANT Index,
  4522.     /* [retval][out] */ _ADOParameter __RPC_FAR *__RPC_FAR *ppvObject);
  4523. void __RPC_STUB Parameters_get_Item_Stub(
  4524.     IRpcStubBuffer *This,
  4525.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4526.     PRPC_MESSAGE _pRpcMessage,
  4527.     DWORD *_pdwStubPhase);
  4528. #endif     /* __Parameters_INTERFACE_DEFINED__ */
  4529. #ifndef __Property_INTERFACE_DEFINED__
  4530. #define __Property_INTERFACE_DEFINED__
  4531. /****************************************
  4532.  * Generated header for interface: Property
  4533.  * at Tue Oct 07 23:50:20 1997
  4534.  * using MIDL 3.01.75
  4535.  ****************************************/
  4536. /* [object][helpstring][helpcontext][uuid][nonextensible][dual] */ 
  4537. EXTERN_C const IID IID_Property;
  4538. #if defined(__cplusplus) && !defined(CINTERFACE)
  4539.     
  4540.     interface DECLSPEC_UUID("00000503-0000-0010-8000-00AA006D2EA4")
  4541.     ADOProperty : public IDispatch
  4542.     {
  4543.     public:
  4544.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
  4545.             /* [retval][out] */ VARIANT __RPC_FAR *pval) = 0;
  4546.         
  4547.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Value( 
  4548.             /* [in] */ VARIANT val) = 0;
  4549.         
  4550.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  4551.             /* [retval][out] */ BSTR __RPC_FAR *pbstr) = 0;
  4552.         
  4553.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
  4554.             /* [retval][out] */ DataTypeEnum __RPC_FAR *ptype) = 0;
  4555.         
  4556.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Attributes( 
  4557.             /* [retval][out] */ long __RPC_FAR *plAttributes) = 0;
  4558.         
  4559.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Attributes( 
  4560.             /* [in] */ long lAttributes) = 0;
  4561.         
  4562.     };
  4563.     
  4564. #else     /* C style interface */
  4565.     typedef struct PropertyVtbl
  4566.     {
  4567.         BEGIN_INTERFACE
  4568.         
  4569.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4570.             ADOProperty __RPC_FAR * This,
  4571.             /* [in] */ REFIID riid,
  4572.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4573.         
  4574.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4575.             ADOProperty __RPC_FAR * This);
  4576.         
  4577.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4578.             ADOProperty __RPC_FAR * This);
  4579.         
  4580.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  4581.             ADOProperty __RPC_FAR * This,
  4582.             /* [out] */ UINT __RPC_FAR *pctinfo);
  4583.         
  4584.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  4585.             ADOProperty __RPC_FAR * This,
  4586.             /* [in] */ UINT iTInfo,
  4587.             /* [in] */ LCID lcid,
  4588.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  4589.         
  4590.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  4591.             ADOProperty __RPC_FAR * This,
  4592.             /* [in] */ REFIID riid,
  4593.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  4594.             /* [in] */ UINT cNames,
  4595.             /* [in] */ LCID lcid,
  4596.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  4597.         
  4598.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  4599.             ADOProperty __RPC_FAR * This,
  4600.             /* [in] */ DISPID dispIdMember,
  4601.             /* [in] */ REFIID riid,
  4602.             /* [in] */ LCID lcid,
  4603.             /* [in] */ WORD wFlags,
  4604.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  4605.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  4606.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  4607.             /* [out] */ UINT __RPC_FAR *puArgErr);
  4608.         
  4609.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Value )( 
  4610.             ADOProperty __RPC_FAR * This,
  4611.             /* [retval][out] */ VARIANT __RPC_FAR *pval);
  4612.         
  4613.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Value )( 
  4614.             ADOProperty __RPC_FAR * This,
  4615.             /* [in] */ VARIANT val);
  4616.         
  4617.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  4618.             ADOProperty __RPC_FAR * This,
  4619.             /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  4620.         
  4621.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )( 
  4622.             ADOProperty __RPC_FAR * This,
  4623.             /* [retval][out] */ DataTypeEnum __RPC_FAR *ptype);
  4624.         
  4625.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Attributes )( 
  4626.             ADOProperty __RPC_FAR * This,
  4627.             /* [retval][out] */ long __RPC_FAR *plAttributes);
  4628.         
  4629.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Attributes )( 
  4630.             ADOProperty __RPC_FAR * This,
  4631.             /* [in] */ long lAttributes);
  4632.         
  4633.         END_INTERFACE
  4634.     } PropertyVtbl;
  4635.     interface Property
  4636.     {
  4637.         CONST_VTBL struct PropertyVtbl __RPC_FAR *lpVtbl;
  4638.     };
  4639.     
  4640. #ifdef COBJMACROS
  4641. #define Property_QueryInterface(This,riid,ppvObject)    \
  4642.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4643. #define Property_AddRef(This)    \
  4644.     (This)->lpVtbl -> AddRef(This)
  4645. #define Property_Release(This)    \
  4646.     (This)->lpVtbl -> Release(This)
  4647. #define Property_GetTypeInfoCount(This,pctinfo)    \
  4648.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  4649. #define Property_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  4650.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4651. #define Property_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  4652.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4653. #define Property_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  4654.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4655. #define Property_get_Value(This,pval)    \
  4656.     (This)->lpVtbl -> get_Value(This,pval)
  4657. #define Property_put_Value(This,val)    \
  4658.     (This)->lpVtbl -> put_Value(This,val)
  4659. #define Property_get_Name(This,pbstr)    \
  4660.     (This)->lpVtbl -> get_Name(This,pbstr)
  4661. #define Property_get_Type(This,ptype)    \
  4662.     (This)->lpVtbl -> get_Type(This,ptype)
  4663. #define Property_get_Attributes(This,plAttributes)    \
  4664.     (This)->lpVtbl -> get_Attributes(This,plAttributes)
  4665. #define Property_put_Attributes(This,lAttributes)    \
  4666.     (This)->lpVtbl -> put_Attributes(This,lAttributes)
  4667. #endif /* COBJMACROS */
  4668. #endif     /* C style interface */
  4669. /* [id][propget] */ HRESULT STDMETHODCALLTYPE Property_get_Value_Proxy( 
  4670.     ADOProperty __RPC_FAR * This,
  4671.     /* [retval][out] */ VARIANT __RPC_FAR *pval);
  4672. void __RPC_STUB Property_get_Value_Stub(
  4673.     IRpcStubBuffer *This,
  4674.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4675.     PRPC_MESSAGE _pRpcMessage,
  4676.     DWORD *_pdwStubPhase);
  4677. /* [id][propput] */ HRESULT STDMETHODCALLTYPE Property_put_Value_Proxy( 
  4678.     ADOProperty __RPC_FAR * This,
  4679.     /* [in] */ VARIANT val);
  4680. void __RPC_STUB Property_put_Value_Stub(
  4681.     IRpcStubBuffer *This,
  4682.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4683.     PRPC_MESSAGE _pRpcMessage,
  4684.     DWORD *_pdwStubPhase);
  4685. /* [propget] */ HRESULT STDMETHODCALLTYPE Property_get_Name_Proxy( 
  4686.     ADOProperty __RPC_FAR * This,
  4687.     /* [retval][out] */ BSTR __RPC_FAR *pbstr);
  4688. void __RPC_STUB Property_get_Name_Stub(
  4689.     IRpcStubBuffer *This,
  4690.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4691.     PRPC_MESSAGE _pRpcMessage,
  4692.     DWORD *_pdwStubPhase);
  4693. /* [propget] */ HRESULT STDMETHODCALLTYPE Property_get_Type_Proxy( 
  4694.     ADOProperty __RPC_FAR * This,
  4695.     /* [retval][out] */ DataTypeEnum __RPC_FAR *ptype);
  4696. void __RPC_STUB Property_get_Type_Stub(
  4697.     IRpcStubBuffer *This,
  4698.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4699.     PRPC_MESSAGE _pRpcMessage,
  4700.     DWORD *_pdwStubPhase);
  4701. /* [propget] */ HRESULT STDMETHODCALLTYPE Property_get_Attributes_Proxy( 
  4702.     ADOProperty __RPC_FAR * This,
  4703.     /* [retval][out] */ long __RPC_FAR *plAttributes);
  4704. void __RPC_STUB Property_get_Attributes_Stub(
  4705.     IRpcStubBuffer *This,
  4706.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4707.     PRPC_MESSAGE _pRpcMessage,
  4708.     DWORD *_pdwStubPhase);
  4709. /* [propput] */ HRESULT STDMETHODCALLTYPE Property_put_Attributes_Proxy( 
  4710.     ADOProperty __RPC_FAR * This,
  4711.     /* [in] */ long lAttributes);
  4712. void __RPC_STUB Property_put_Attributes_Stub(
  4713.     IRpcStubBuffer *This,
  4714.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4715.     PRPC_MESSAGE _pRpcMessage,
  4716.     DWORD *_pdwStubPhase);
  4717. #endif     /* __Property_INTERFACE_DEFINED__ */
  4718. #ifndef __Properties_INTERFACE_DEFINED__
  4719. #define __Properties_INTERFACE_DEFINED__
  4720. /****************************************
  4721.  * Generated header for interface: Properties
  4722.  * at Tue Oct 07 23:50:20 1997
  4723.  * using MIDL 3.01.75
  4724.  ****************************************/
  4725. /* [object][uuid][helpstring][helpcontext][nonextensible][dual] */ 
  4726. EXTERN_C const IID IID_Properties;
  4727. #if defined(__cplusplus) && !defined(CINTERFACE)
  4728.     
  4729.     interface DECLSPEC_UUID("00000504-0000-0010-8000-00AA006D2EA4")
  4730.     ADOProperties : public _ADOCollection
  4731.     {
  4732.     public:
  4733.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  4734.             /* [in] */ VARIANT Index,
  4735.             /* [retval][out] */ ADOProperty __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  4736.         
  4737.     };
  4738.     
  4739. #else     /* C style interface */
  4740.     typedef struct PropertiesVtbl
  4741.     {
  4742.         BEGIN_INTERFACE
  4743.         
  4744.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4745.             ADOProperties __RPC_FAR * This,
  4746.             /* [in] */ REFIID riid,
  4747.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4748.         
  4749.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4750.             ADOProperties __RPC_FAR * This);
  4751.         
  4752.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4753.             ADOProperties __RPC_FAR * This);
  4754.         
  4755.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  4756.             ADOProperties __RPC_FAR * This,
  4757.             /* [out] */ UINT __RPC_FAR *pctinfo);
  4758.         
  4759.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  4760.             ADOProperties __RPC_FAR * This,
  4761.             /* [in] */ UINT iTInfo,
  4762.             /* [in] */ LCID lcid,
  4763.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  4764.         
  4765.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  4766.             ADOProperties __RPC_FAR * This,
  4767.             /* [in] */ REFIID riid,
  4768.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  4769.             /* [in] */ UINT cNames,
  4770.             /* [in] */ LCID lcid,
  4771.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  4772.         
  4773.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  4774.             ADOProperties __RPC_FAR * This,
  4775.             /* [in] */ DISPID dispIdMember,
  4776.             /* [in] */ REFIID riid,
  4777.             /* [in] */ LCID lcid,
  4778.             /* [in] */ WORD wFlags,
  4779.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  4780.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  4781.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  4782.             /* [out] */ UINT __RPC_FAR *puArgErr);
  4783.         
  4784.         /* [helpstring][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  4785.             ADOProperties __RPC_FAR * This,
  4786.             /* [retval][out] */ long __RPC_FAR *c);
  4787.         
  4788.         /* [id][restricted] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum )( 
  4789.             ADOProperties __RPC_FAR * This,
  4790.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
  4791.         
  4792.         /* [helpstring][helpcontext] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
  4793.             ADOProperties __RPC_FAR * This);
  4794.         
  4795.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
  4796.             ADOProperties __RPC_FAR * This,
  4797.             /* [in] */ VARIANT Index,
  4798.             /* [retval][out] */ ADOProperty __RPC_FAR *__RPC_FAR *ppvObject);
  4799.         
  4800.         END_INTERFACE
  4801.     } PropertiesVtbl;
  4802.     interface Properties
  4803.     {
  4804.         CONST_VTBL struct PropertiesVtbl __RPC_FAR *lpVtbl;
  4805.     };
  4806.     
  4807. #ifdef COBJMACROS
  4808. #define Properties_QueryInterface(This,riid,ppvObject)    \
  4809.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4810. #define Properties_AddRef(This)    \
  4811.     (This)->lpVtbl -> AddRef(This)
  4812. #define Properties_Release(This)    \
  4813.     (This)->lpVtbl -> Release(This)
  4814. #define Properties_GetTypeInfoCount(This,pctinfo)    \
  4815.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  4816. #define Properties_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  4817.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4818. #define Properties_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  4819.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4820. #define Properties_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  4821.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4822. #define Properties_get_Count(This,c)    \
  4823.     (This)->lpVtbl -> get_Count(This,c)
  4824. #define Properties__NewEnum(This,ppvObject)    \
  4825.     (This)->lpVtbl -> _NewEnum(This,ppvObject)
  4826. #define Properties_Refresh(This)    \
  4827.     (This)->lpVtbl -> Refresh(This)
  4828. #define Properties_get_Item(This,Index,ppvObject)    \
  4829.     (This)->lpVtbl -> get_Item(This,Index,ppvObject)
  4830. #endif /* COBJMACROS */
  4831. #endif     /* C style interface */
  4832. /* [id][propget] */ HRESULT STDMETHODCALLTYPE Properties_get_Item_Proxy( 
  4833.     ADOProperties __RPC_FAR * This,
  4834.     /* [in] */ VARIANT Index,
  4835.     /* [retval][out] */ ADOProperty __RPC_FAR *__RPC_FAR *ppvObject);
  4836. void __RPC_STUB Properties_get_Item_Stub(
  4837.     IRpcStubBuffer *This,
  4838.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4839.     PRPC_MESSAGE _pRpcMessage,
  4840.     DWORD *_pdwStubPhase);
  4841. #endif     /* __Properties_INTERFACE_DEFINED__ */
  4842. #endif /* __ADODB_LIBRARY_DEFINED__ */
  4843. /* Additional Prototypes for ALL interfaces */
  4844. /* end of Additional Prototypes */
  4845. #ifdef __cplusplus
  4846. }
  4847. #endif
  4848. #endif
  4849. #define ADOCommand _ADOCommand
  4850. #define ADORecordset _ADORecordset
  4851. #define ADOParameter _ADOParameter
  4852. #define ADOConnection _ADOConnection
  4853. #define ADOCollection _ADOCollection
  4854. #define ADODynaCollection _ADODynaCollection
  4855.  
  4856.  
  4857. #endif // _ADOINT_H_
  4858.