AdoInt.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:471k
源码类别:

模拟服务器

开发平台:

C/C++

  1.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2.             ADOCommandConstruction * This);
  3.         
  4.         ULONG ( STDMETHODCALLTYPE *Release )( 
  5.             ADOCommandConstruction * This);
  6.         
  7.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OLEDBCommand )( 
  8.             ADOCommandConstruction * This,
  9.             /* [retval][out] */ IUnknown **ppOLEDBCommand);
  10.         
  11.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_OLEDBCommand )( 
  12.             ADOCommandConstruction * This,
  13.             /* [in] */ IUnknown *pOLEDBCommand);
  14.         
  15.         END_INTERFACE
  16.     } ADOCommandConstructionVtbl;
  17.     interface ADOCommandConstruction
  18.     {
  19.         CONST_VTBL struct ADOCommandConstructionVtbl *lpVtbl;
  20.     };
  21.     
  22. #ifdef COBJMACROS
  23. #define ADOCommandConstruction_QueryInterface(This,riid,ppvObject)
  24.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  25. #define ADOCommandConstruction_AddRef(This)
  26.     (This)->lpVtbl -> AddRef(This)
  27. #define ADOCommandConstruction_Release(This)
  28.     (This)->lpVtbl -> Release(This)
  29. #define ADOCommandConstruction_get_OLEDBCommand(This,ppOLEDBCommand)
  30.     (This)->lpVtbl -> get_OLEDBCommand(This,ppOLEDBCommand)
  31. #define ADOCommandConstruction_put_OLEDBCommand(This,pOLEDBCommand)
  32.     (This)->lpVtbl -> put_OLEDBCommand(This,pOLEDBCommand)
  33. #endif /* COBJMACROS */
  34. #endif  /* C style interface */
  35. /* [propget] */ HRESULT STDMETHODCALLTYPE ADOCommandConstruction_get_OLEDBCommand_Proxy( 
  36.     ADOCommandConstruction * This,
  37.     /* [retval][out] */ IUnknown **ppOLEDBCommand);
  38. void __RPC_STUB ADOCommandConstruction_get_OLEDBCommand_Stub(
  39.     IRpcStubBuffer *This,
  40.     IRpcChannelBuffer *_pRpcChannelBuffer,
  41.     PRPC_MESSAGE _pRpcMessage,
  42.     DWORD *_pdwStubPhase);
  43. /* [propput] */ HRESULT STDMETHODCALLTYPE ADOCommandConstruction_put_OLEDBCommand_Proxy( 
  44.     ADOCommandConstruction * This,
  45.     /* [in] */ IUnknown *pOLEDBCommand);
  46. void __RPC_STUB ADOCommandConstruction_put_OLEDBCommand_Stub(
  47.     IRpcStubBuffer *This,
  48.     IRpcChannelBuffer *_pRpcChannelBuffer,
  49.     PRPC_MESSAGE _pRpcMessage,
  50.     DWORD *_pdwStubPhase);
  51. #endif  /* __ADOCommandConstruction_INTERFACE_DEFINED__ */
  52. EXTERN_C const CLSID CLSID_Command;
  53. #ifdef __cplusplus
  54. Command;
  55. #endif
  56. EXTERN_C const CLSID CLSID_Recordset;
  57. #ifdef __cplusplus
  58. Recordset;
  59. #endif
  60. #ifndef __Recordset15_INTERFACE_DEFINED__
  61. #define __Recordset15_INTERFACE_DEFINED__
  62. /* interface Recordset15 */
  63. /* [object][helpcontext][uuid][nonextensible][hidden][dual] */ 
  64. EXTERN_C const IID IID_Recordset15;
  65. #if defined(__cplusplus) && !defined(CINTERFACE)
  66.     
  67.     MIDL_INTERFACE("0000050E-0000-0010-8000-00AA006D2EA4")
  68.     Recordset15 : public _ADO
  69.     {
  70.     public:
  71.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_AbsolutePosition( 
  72.             /* [retval][out] */ PositionEnum_Param *pl) = 0;
  73.         
  74.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_AbsolutePosition( 
  75.             /* [in] */ PositionEnum_Param Position) = 0;
  76.         
  77.         virtual /* [helpcontext][propputref][id] */ HRESULT STDMETHODCALLTYPE putref_ActiveConnection( 
  78.             /* [in] */ IDispatch *pconn) = 0;
  79.         
  80.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ActiveConnection( 
  81.             /* [in] */ VARIANT vConn) = 0;
  82.         
  83.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActiveConnection( 
  84.             /* [retval][out] */ VARIANT *pvar) = 0;
  85.         
  86.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_BOF( 
  87.             /* [retval][out] */ VARIANT_BOOL *pb) = 0;
  88.         
  89.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Bookmark( 
  90.             /* [retval][out] */ VARIANT *pvBookmark) = 0;
  91.         
  92.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Bookmark( 
  93.             /* [in] */ VARIANT vBookmark) = 0;
  94.         
  95.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CacheSize( 
  96.             /* [retval][out] */ long *pl) = 0;
  97.         
  98.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_CacheSize( 
  99.             /* [in] */ long CacheSize) = 0;
  100.         
  101.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CursorType( 
  102.             /* [retval][out] */ CursorTypeEnum *plCursorType) = 0;
  103.         
  104.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_CursorType( 
  105.             /* [in] */ CursorTypeEnum lCursorType) = 0;
  106.         
  107.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_EOF( 
  108.             /* [retval][out] */ VARIANT_BOOL *pb) = 0;
  109.         
  110.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Fields( 
  111.             /* [retval][out] */ ADOFields **ppvObject) = 0;
  112.         
  113.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_LockType( 
  114.             /* [retval][out] */ LockTypeEnum *plLockType) = 0;
  115.         
  116.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_LockType( 
  117.             /* [in] */ LockTypeEnum lLockType) = 0;
  118.         
  119.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_MaxRecords( 
  120.             /* [retval][out] */ ADO_LONGPTR *plMaxRecords) = 0;
  121.         
  122.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_MaxRecords( 
  123.             /* [in] */ ADO_LONGPTR lMaxRecords) = 0;
  124.         
  125.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_RecordCount( 
  126.             /* [retval][out] */ ADO_LONGPTR *pl) = 0;
  127.         
  128.         virtual /* [helpcontext][propputref][id] */ HRESULT STDMETHODCALLTYPE putref_Source( 
  129.             /* [in] */ IDispatch *pcmd) = 0;
  130.         
  131.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Source( 
  132.             /* [in] */ BSTR bstrConn) = 0;
  133.         
  134.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Source( 
  135.             /* [retval][out] */ VARIANT *pvSource) = 0;
  136.         
  137.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddNew( 
  138.             /* [optional][in] */ VARIANT FieldList,
  139.             /* [optional][in] */ VARIANT Values) = 0;
  140.         
  141.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CancelUpdate( void) = 0;
  142.         
  143.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
  144.         
  145.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( 
  146.             /* [defaultvalue][in] */ AffectEnum AffectRecords = adAffectCurrent) = 0;
  147.         
  148.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetRows( 
  149.             /* [defaultvalue][in] */ long Rows,
  150.             /* [optional][in] */ VARIANT Start,
  151.             /* [optional][in] */ VARIANT Fields,
  152.             /* [retval][out] */ VARIANT *pvar) = 0;
  153.         
  154.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Move( 
  155.             /* [in] */ ADO_LONGPTR NumRecords,
  156.             /* [optional][in] */ VARIANT Start) = 0;
  157.         
  158.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE MoveNext( void) = 0;
  159.         
  160.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE MovePrevious( void) = 0;
  161.         
  162.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE MoveFirst( void) = 0;
  163.         
  164.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE MoveLast( void) = 0;
  165.         
  166.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Open( 
  167.             /* [optional][in] */ VARIANT Source,
  168.             /* [optional][in] */ VARIANT ActiveConnection,
  169.             /* [defaultvalue][in] */ CursorTypeEnum CursorType = adOpenUnspecified,
  170.             /* [defaultvalue][in] */ LockTypeEnum LockType = adLockUnspecified,
  171.             /* [defaultvalue][in] */ LONG Options = adCmdUnspecified) = 0;
  172.         
  173.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Requery( 
  174.             /* [defaultvalue][in] */ LONG Options = adOptionUnspecified) = 0;
  175.         
  176.         virtual /* [hidden] */ HRESULT STDMETHODCALLTYPE _xResync( 
  177.             /* [defaultvalue][in] */ AffectEnum AffectRecords = adAffectAll) = 0;
  178.         
  179.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Update( 
  180.             /* [optional][in] */ VARIANT Fields,
  181.             /* [optional][in] */ VARIANT Values) = 0;
  182.         
  183.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_AbsolutePage( 
  184.             /* [retval][out] */ PositionEnum_Param *pl) = 0;
  185.         
  186.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_AbsolutePage( 
  187.             /* [in] */ PositionEnum_Param Page) = 0;
  188.         
  189.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_EditMode( 
  190.             /* [retval][out] */ EditModeEnum *pl) = 0;
  191.         
  192.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Filter( 
  193.             /* [retval][out] */ VARIANT *Criteria) = 0;
  194.         
  195.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Filter( 
  196.             /* [in] */ VARIANT Criteria) = 0;
  197.         
  198.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PageCount( 
  199.             /* [retval][out] */ ADO_LONGPTR *pl) = 0;
  200.         
  201.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PageSize( 
  202.             /* [retval][out] */ long *pl) = 0;
  203.         
  204.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_PageSize( 
  205.             /* [in] */ long PageSize) = 0;
  206.         
  207.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Sort( 
  208.             /* [retval][out] */ BSTR *Criteria) = 0;
  209.         
  210.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Sort( 
  211.             /* [in] */ BSTR Criteria) = 0;
  212.         
  213.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Status( 
  214.             /* [retval][out] */ long *pl) = 0;
  215.         
  216.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_State( 
  217.             /* [retval][out] */ LONG *plObjState) = 0;
  218.         
  219.         virtual /* [hidden] */ HRESULT STDMETHODCALLTYPE _xClone( 
  220.             /* [retval][out] */ _ADORecordset **ppvObject) = 0;
  221.         
  222.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE UpdateBatch( 
  223.             /* [defaultvalue][in] */ AffectEnum AffectRecords = adAffectAll) = 0;
  224.         
  225.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CancelBatch( 
  226.             /* [defaultvalue][in] */ AffectEnum AffectRecords = adAffectAll) = 0;
  227.         
  228.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CursorLocation( 
  229.             /* [retval][out] */ CursorLocationEnum *plCursorLoc) = 0;
  230.         
  231.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_CursorLocation( 
  232.             /* [in] */ CursorLocationEnum lCursorLoc) = 0;
  233.         
  234.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE NextRecordset( 
  235.             /* [optional][out] */ VARIANT *RecordsAffected,
  236.             /* [retval][out] */ _ADORecordset **ppiRs) = 0;
  237.         
  238.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Supports( 
  239.             /* [in] */ CursorOptionEnum CursorOptions,
  240.             /* [retval][out] */ VARIANT_BOOL *pb) = 0;
  241.         
  242.         virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_Collect( 
  243.             /* [in] */ VARIANT Index,
  244.             /* [retval][out] */ VARIANT *pvar) = 0;
  245.         
  246.         virtual /* [hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_Collect( 
  247.             /* [in] */ VARIANT Index,
  248.             /* [in] */ VARIANT value) = 0;
  249.         
  250.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_MarshalOptions( 
  251.             /* [retval][out] */ MarshalOptionsEnum *peMarshal) = 0;
  252.         
  253.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_MarshalOptions( 
  254.             /* [in] */ MarshalOptionsEnum eMarshal) = 0;
  255.         
  256.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Find( 
  257.             /* [in] */ BSTR Criteria,
  258.             /* [defaultvalue][in] */ ADO_LONGPTR SkipRecords,
  259.             /* [defaultvalue][in] */ SearchDirectionEnum SearchDirection,
  260.             /* [optional][in] */ VARIANT Start) = 0;
  261.         
  262.     };
  263.     
  264. #else  /* C style interface */
  265.     typedef struct Recordset15Vtbl
  266.     {
  267.         BEGIN_INTERFACE
  268.         
  269.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  270.             Recordset15 * This,
  271.             /* [in] */ REFIID riid,
  272.             /* [iid_is][out] */ void **ppvObject);
  273.         
  274.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  275.             Recordset15 * This);
  276.         
  277.         ULONG ( STDMETHODCALLTYPE *Release )( 
  278.             Recordset15 * This);
  279.         
  280.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  281.             Recordset15 * This,
  282.             /* [out] */ UINT *pctinfo);
  283.         
  284.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  285.             Recordset15 * This,
  286.             /* [in] */ UINT iTInfo,
  287.             /* [in] */ LCID lcid,
  288.             /* [out] */ ITypeInfo **ppTInfo);
  289.         
  290.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  291.             Recordset15 * This,
  292.             /* [in] */ REFIID riid,
  293.             /* [size_is][in] */ LPOLESTR *rgszNames,
  294.             /* [in] */ UINT cNames,
  295.             /* [in] */ LCID lcid,
  296.             /* [size_is][out] */ DISPID *rgDispId);
  297.         
  298.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  299.             Recordset15 * This,
  300.             /* [in] */ DISPID dispIdMember,
  301.             /* [in] */ REFIID riid,
  302.             /* [in] */ LCID lcid,
  303.             /* [in] */ WORD wFlags,
  304.             /* [out][in] */ DISPPARAMS *pDispParams,
  305.             /* [out] */ VARIANT *pVarResult,
  306.             /* [out] */ EXCEPINFO *pExcepInfo,
  307.             /* [out] */ UINT *puArgErr);
  308.         
  309.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )( 
  310.             Recordset15 * This,
  311.             /* [retval][out] */ ADOProperties **ppvObject);
  312.         
  313.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AbsolutePosition )( 
  314.             Recordset15 * This,
  315.             /* [retval][out] */ PositionEnum_Param *pl);
  316.         
  317.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AbsolutePosition )( 
  318.             Recordset15 * This,
  319.             /* [in] */ PositionEnum_Param Position);
  320.         
  321.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE *putref_ActiveADOConnection )( 
  322.             Recordset15 * This,
  323.             /* [in] */ IDispatch *pconn);
  324.         
  325.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveConnection )( 
  326.             Recordset15 * This,
  327.             /* [in] */ VARIANT vConn);
  328.         
  329.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveConnection )( 
  330.             Recordset15 * This,
  331.             /* [retval][out] */ VARIANT *pvar);
  332.         
  333.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BOF )( 
  334.             Recordset15 * This,
  335.             /* [retval][out] */ VARIANT_BOOL *pb);
  336.         
  337.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Bookmark )( 
  338.             Recordset15 * This,
  339.             /* [retval][out] */ VARIANT *pvBookmark);
  340.         
  341.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Bookmark )( 
  342.             Recordset15 * This,
  343.             /* [in] */ VARIANT vBookmark);
  344.         
  345.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CacheSize )( 
  346.             Recordset15 * This,
  347.             /* [retval][out] */ long *pl);
  348.         
  349.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CacheSize )( 
  350.             Recordset15 * This,
  351.             /* [in] */ long CacheSize);
  352.         
  353.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CursorType )( 
  354.             Recordset15 * This,
  355.             /* [retval][out] */ CursorTypeEnum *plCursorType);
  356.         
  357.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CursorType )( 
  358.             Recordset15 * This,
  359.             /* [in] */ CursorTypeEnum lCursorType);
  360.         
  361.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EOF )( 
  362.             Recordset15 * This,
  363.             /* [retval][out] */ VARIANT_BOOL *pb);
  364.         
  365.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Fields )( 
  366.             Recordset15 * This,
  367.             /* [retval][out] */ ADOFields **ppvObject);
  368.         
  369.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LockType )( 
  370.             Recordset15 * This,
  371.             /* [retval][out] */ LockTypeEnum *plLockType);
  372.         
  373.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LockType )( 
  374.             Recordset15 * This,
  375.             /* [in] */ LockTypeEnum lLockType);
  376.         
  377.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxRecords )( 
  378.             Recordset15 * This,
  379.             /* [retval][out] */ ADO_LONGPTR *plMaxRecords);
  380.         
  381.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaxRecords )( 
  382.             Recordset15 * This,
  383.             /* [in] */ ADO_LONGPTR lMaxRecords);
  384.         
  385.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecordCount )( 
  386.             Recordset15 * This,
  387.             /* [retval][out] */ ADO_LONGPTR *pl);
  388.         
  389.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE *putref_Source )( 
  390.             Recordset15 * This,
  391.             /* [in] */ IDispatch *pcmd);
  392.         
  393.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Source )( 
  394.             Recordset15 * This,
  395.             /* [in] */ BSTR bstrConn);
  396.         
  397.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
  398.             Recordset15 * This,
  399.             /* [retval][out] */ VARIANT *pvSource);
  400.         
  401.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddNew )( 
  402.             Recordset15 * This,
  403.             /* [optional][in] */ VARIANT FieldList,
  404.             /* [optional][in] */ VARIANT Values);
  405.         
  406.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CancelUpdate )( 
  407.             Recordset15 * This);
  408.         
  409.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
  410.             Recordset15 * This);
  411.         
  412.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
  413.             Recordset15 * This,
  414.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  415.         
  416.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetRows )( 
  417.             Recordset15 * This,
  418.             /* [defaultvalue][in] */ long Rows,
  419.             /* [optional][in] */ VARIANT Start,
  420.             /* [optional][in] */ VARIANT Fields,
  421.             /* [retval][out] */ VARIANT *pvar);
  422.         
  423.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
  424.             Recordset15 * This,
  425.             /* [in] */ ADO_LONGPTR NumRecords,
  426.             /* [optional][in] */ VARIANT Start);
  427.         
  428.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MoveNext )( 
  429.             Recordset15 * This);
  430.         
  431.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MovePrevious )( 
  432.             Recordset15 * This);
  433.         
  434.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MoveFirst )( 
  435.             Recordset15 * This);
  436.         
  437.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MoveLast )( 
  438.             Recordset15 * This);
  439.         
  440.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
  441.             Recordset15 * This,
  442.             /* [optional][in] */ VARIANT Source,
  443.             /* [optional][in] */ VARIANT ActiveConnection,
  444.             /* [defaultvalue][in] */ CursorTypeEnum CursorType,
  445.             /* [defaultvalue][in] */ LockTypeEnum LockType,
  446.             /* [defaultvalue][in] */ LONG Options);
  447.         
  448.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Requery )( 
  449.             Recordset15 * This,
  450.             /* [defaultvalue][in] */ LONG Options);
  451.         
  452.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE *_xResync )( 
  453.             Recordset15 * This,
  454.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  455.         
  456.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
  457.             Recordset15 * This,
  458.             /* [optional][in] */ VARIANT Fields,
  459.             /* [optional][in] */ VARIANT Values);
  460.         
  461.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AbsolutePage )( 
  462.             Recordset15 * This,
  463.             /* [retval][out] */ PositionEnum_Param *pl);
  464.         
  465.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AbsolutePage )( 
  466.             Recordset15 * This,
  467.             /* [in] */ PositionEnum_Param Page);
  468.         
  469.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EditMode )( 
  470.             Recordset15 * This,
  471.             /* [retval][out] */ EditModeEnum *pl);
  472.         
  473.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Filter )( 
  474.             Recordset15 * This,
  475.             /* [retval][out] */ VARIANT *Criteria);
  476.         
  477.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Filter )( 
  478.             Recordset15 * This,
  479.             /* [in] */ VARIANT Criteria);
  480.         
  481.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PageCount )( 
  482.             Recordset15 * This,
  483.             /* [retval][out] */ ADO_LONGPTR *pl);
  484.         
  485.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PageSize )( 
  486.             Recordset15 * This,
  487.             /* [retval][out] */ long *pl);
  488.         
  489.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PageSize )( 
  490.             Recordset15 * This,
  491.             /* [in] */ long PageSize);
  492.         
  493.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Sort )( 
  494.             Recordset15 * This,
  495.             /* [retval][out] */ BSTR *Criteria);
  496.         
  497.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Sort )( 
  498.             Recordset15 * This,
  499.             /* [in] */ BSTR Criteria);
  500.         
  501.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
  502.             Recordset15 * This,
  503.             /* [retval][out] */ long *pl);
  504.         
  505.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
  506.             Recordset15 * This,
  507.             /* [retval][out] */ LONG *plObjState);
  508.         
  509.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE *_xClone )( 
  510.             Recordset15 * This,
  511.             /* [retval][out] */ _ADORecordset **ppvObject);
  512.         
  513.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *UpdateBatch )( 
  514.             Recordset15 * This,
  515.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  516.         
  517.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CancelBatch )( 
  518.             Recordset15 * This,
  519.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  520.         
  521.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CursorLocation )( 
  522.             Recordset15 * This,
  523.             /* [retval][out] */ CursorLocationEnum *plCursorLoc);
  524.         
  525.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CursorLocation )( 
  526.             Recordset15 * This,
  527.             /* [in] */ CursorLocationEnum lCursorLoc);
  528.         
  529.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *NextADORecordset )( 
  530.             Recordset15 * This,
  531.             /* [optional][out] */ VARIANT *RecordsAffected,
  532.             /* [retval][out] */ _ADORecordset **ppiRs);
  533.         
  534.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Supports )( 
  535.             Recordset15 * This,
  536.             /* [in] */ CursorOptionEnum CursorOptions,
  537.             /* [retval][out] */ VARIANT_BOOL *pb);
  538.         
  539.         /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Collect )( 
  540.             Recordset15 * This,
  541.             /* [in] */ VARIANT Index,
  542.             /* [retval][out] */ VARIANT *pvar);
  543.         
  544.         /* [hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Collect )( 
  545.             Recordset15 * This,
  546.             /* [in] */ VARIANT Index,
  547.             /* [in] */ VARIANT value);
  548.         
  549.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MarshalOptions )( 
  550.             Recordset15 * This,
  551.             /* [retval][out] */ MarshalOptionsEnum *peMarshal);
  552.         
  553.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MarshalOptions )( 
  554.             Recordset15 * This,
  555.             /* [in] */ MarshalOptionsEnum eMarshal);
  556.         
  557.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
  558.             Recordset15 * This,
  559.             /* [in] */ BSTR Criteria,
  560.             /* [defaultvalue][in] */ ADO_LONGPTR SkipRecords,
  561.             /* [defaultvalue][in] */ SearchDirectionEnum SearchDirection,
  562.             /* [optional][in] */ VARIANT Start);
  563.         
  564.         END_INTERFACE
  565.     } Recordset15Vtbl;
  566.     interface Recordset15
  567.     {
  568.         CONST_VTBL struct Recordset15Vtbl *lpVtbl;
  569.     };
  570.     
  571. #ifdef COBJMACROS
  572. #define Recordset15_QueryInterface(This,riid,ppvObject)
  573.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  574. #define Recordset15_AddRef(This)
  575.     (This)->lpVtbl -> AddRef(This)
  576. #define Recordset15_Release(This)
  577.     (This)->lpVtbl -> Release(This)
  578. #define Recordset15_GetTypeInfoCount(This,pctinfo)
  579.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  580. #define Recordset15_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  581.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  582. #define Recordset15_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  583.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  584. #define Recordset15_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  585.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  586. #define Recordset15_get_Properties(This,ppvObject)
  587.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  588. #define Recordset15_get_AbsolutePosition(This,pl)
  589.     (This)->lpVtbl -> get_AbsolutePosition(This,pl)
  590. #define Recordset15_put_AbsolutePosition(This,Position)
  591.     (This)->lpVtbl -> put_AbsolutePosition(This,Position)
  592. #define Recordset15_putref_ActiveConnection(This,pconn)
  593.     (This)->lpVtbl -> putref_ActiveConnection(This,pconn)
  594. #define Recordset15_put_ActiveConnection(This,vConn)
  595.     (This)->lpVtbl -> put_ActiveConnection(This,vConn)
  596. #define Recordset15_get_ActiveConnection(This,pvar)
  597.     (This)->lpVtbl -> get_ActiveConnection(This,pvar)
  598. #define Recordset15_get_BOF(This,pb)
  599.     (This)->lpVtbl -> get_BOF(This,pb)
  600. #define Recordset15_get_Bookmark(This,pvBookmark)
  601.     (This)->lpVtbl -> get_Bookmark(This,pvBookmark)
  602. #define Recordset15_put_Bookmark(This,vBookmark)
  603.     (This)->lpVtbl -> put_Bookmark(This,vBookmark)
  604. #define Recordset15_get_CacheSize(This,pl)
  605.     (This)->lpVtbl -> get_CacheSize(This,pl)
  606. #define Recordset15_put_CacheSize(This,CacheSize)
  607.     (This)->lpVtbl -> put_CacheSize(This,CacheSize)
  608. #define Recordset15_get_CursorType(This,plCursorType)
  609.     (This)->lpVtbl -> get_CursorType(This,plCursorType)
  610. #define Recordset15_put_CursorType(This,lCursorType)
  611.     (This)->lpVtbl -> put_CursorType(This,lCursorType)
  612. #define Recordset15_get_EOF(This,pb)
  613.     (This)->lpVtbl -> get_EOF(This,pb)
  614. #define Recordset15_get_Fields(This,ppvObject)
  615.     (This)->lpVtbl -> get_Fields(This,ppvObject)
  616. #define Recordset15_get_LockType(This,plLockType)
  617.     (This)->lpVtbl -> get_LockType(This,plLockType)
  618. #define Recordset15_put_LockType(This,lLockType)
  619.     (This)->lpVtbl -> put_LockType(This,lLockType)
  620. #define Recordset15_get_MaxRecords(This,plMaxRecords)
  621.     (This)->lpVtbl -> get_MaxRecords(This,plMaxRecords)
  622. #define Recordset15_put_MaxRecords(This,lMaxRecords)
  623.     (This)->lpVtbl -> put_MaxRecords(This,lMaxRecords)
  624. #define Recordset15_get_RecordCount(This,pl)
  625.     (This)->lpVtbl -> get_RecordCount(This,pl)
  626. #define Recordset15_putref_Source(This,pcmd)
  627.     (This)->lpVtbl -> putref_Source(This,pcmd)
  628. #define Recordset15_put_Source(This,bstrConn)
  629.     (This)->lpVtbl -> put_Source(This,bstrConn)
  630. #define Recordset15_get_Source(This,pvSource)
  631.     (This)->lpVtbl -> get_Source(This,pvSource)
  632. #define Recordset15_AddNew(This,FieldList,Values)
  633.     (This)->lpVtbl -> AddNew(This,FieldList,Values)
  634. #define Recordset15_CancelUpdate(This)
  635.     (This)->lpVtbl -> CancelUpdate(This)
  636. #define Recordset15_Close(This)
  637.     (This)->lpVtbl -> Close(This)
  638. #define Recordset15_Delete(This,AffectRecords)
  639.     (This)->lpVtbl -> Delete(This,AffectRecords)
  640. #define Recordset15_GetRows(This,Rows,Start,Fields,pvar)
  641.     (This)->lpVtbl -> GetRows(This,Rows,Start,Fields,pvar)
  642. #define Recordset15_Move(This,NumRecords,Start)
  643.     (This)->lpVtbl -> Move(This,NumRecords,Start)
  644. #define Recordset15_MoveNext(This)
  645.     (This)->lpVtbl -> MoveNext(This)
  646. #define Recordset15_MovePrevious(This)
  647.     (This)->lpVtbl -> MovePrevious(This)
  648. #define Recordset15_MoveFirst(This)
  649.     (This)->lpVtbl -> MoveFirst(This)
  650. #define Recordset15_MoveLast(This)
  651.     (This)->lpVtbl -> MoveLast(This)
  652. #define Recordset15_Open(This,Source,ActiveConnection,CursorType,LockType,Options)
  653.     (This)->lpVtbl -> Open(This,Source,ActiveConnection,CursorType,LockType,Options)
  654. #define Recordset15_Requery(This,Options)
  655.     (This)->lpVtbl -> Requery(This,Options)
  656. #define Recordset15__xResync(This,AffectRecords)
  657.     (This)->lpVtbl -> _xResync(This,AffectRecords)
  658. #define Recordset15_Update(This,Fields,Values)
  659.     (This)->lpVtbl -> Update(This,Fields,Values)
  660. #define Recordset15_get_AbsolutePage(This,pl)
  661.     (This)->lpVtbl -> get_AbsolutePage(This,pl)
  662. #define Recordset15_put_AbsolutePage(This,Page)
  663.     (This)->lpVtbl -> put_AbsolutePage(This,Page)
  664. #define Recordset15_get_EditMode(This,pl)
  665.     (This)->lpVtbl -> get_EditMode(This,pl)
  666. #define Recordset15_get_Filter(This,Criteria)
  667.     (This)->lpVtbl -> get_Filter(This,Criteria)
  668. #define Recordset15_put_Filter(This,Criteria)
  669.     (This)->lpVtbl -> put_Filter(This,Criteria)
  670. #define Recordset15_get_PageCount(This,pl)
  671.     (This)->lpVtbl -> get_PageCount(This,pl)
  672. #define Recordset15_get_PageSize(This,pl)
  673.     (This)->lpVtbl -> get_PageSize(This,pl)
  674. #define Recordset15_put_PageSize(This,PageSize)
  675.     (This)->lpVtbl -> put_PageSize(This,PageSize)
  676. #define Recordset15_get_Sort(This,Criteria)
  677.     (This)->lpVtbl -> get_Sort(This,Criteria)
  678. #define Recordset15_put_Sort(This,Criteria)
  679.     (This)->lpVtbl -> put_Sort(This,Criteria)
  680. #define Recordset15_get_Status(This,pl)
  681.     (This)->lpVtbl -> get_Status(This,pl)
  682. #define Recordset15_get_State(This,plObjState)
  683.     (This)->lpVtbl -> get_State(This,plObjState)
  684. #define Recordset15__xClone(This,ppvObject)
  685.     (This)->lpVtbl -> _xClone(This,ppvObject)
  686. #define Recordset15_UpdateBatch(This,AffectRecords)
  687.     (This)->lpVtbl -> UpdateBatch(This,AffectRecords)
  688. #define Recordset15_CancelBatch(This,AffectRecords)
  689.     (This)->lpVtbl -> CancelBatch(This,AffectRecords)
  690. #define Recordset15_get_CursorLocation(This,plCursorLoc)
  691.     (This)->lpVtbl -> get_CursorLocation(This,plCursorLoc)
  692. #define Recordset15_put_CursorLocation(This,lCursorLoc)
  693.     (This)->lpVtbl -> put_CursorLocation(This,lCursorLoc)
  694. #define Recordset15_NextRecordset(This,RecordsAffected,ppiRs)
  695.     (This)->lpVtbl -> NextRecordset(This,RecordsAffected,ppiRs)
  696. #define Recordset15_Supports(This,CursorOptions,pb)
  697.     (This)->lpVtbl -> Supports(This,CursorOptions,pb)
  698. #define Recordset15_get_Collect(This,Index,pvar)
  699.     (This)->lpVtbl -> get_Collect(This,Index,pvar)
  700. #define Recordset15_put_Collect(This,Index,value)
  701.     (This)->lpVtbl -> put_Collect(This,Index,value)
  702. #define Recordset15_get_MarshalOptions(This,peMarshal)
  703.     (This)->lpVtbl -> get_MarshalOptions(This,peMarshal)
  704. #define Recordset15_put_MarshalOptions(This,eMarshal)
  705.     (This)->lpVtbl -> put_MarshalOptions(This,eMarshal)
  706. #define Recordset15_Find(This,Criteria,SkipRecords,SearchDirection,Start)
  707.     (This)->lpVtbl -> Find(This,Criteria,SkipRecords,SearchDirection,Start)
  708. #endif /* COBJMACROS */
  709. #endif  /* C style interface */
  710. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_AbsolutePosition_Proxy( 
  711.     Recordset15 * This,
  712.     /* [retval][out] */ PositionEnum_Param *pl);
  713. void __RPC_STUB Recordset15_get_AbsolutePosition_Stub(
  714.     IRpcStubBuffer *This,
  715.     IRpcChannelBuffer *_pRpcChannelBuffer,
  716.     PRPC_MESSAGE _pRpcMessage,
  717.     DWORD *_pdwStubPhase);
  718. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_AbsolutePosition_Proxy( 
  719.     Recordset15 * This,
  720.     /* [in] */ PositionEnum_Param Position);
  721. void __RPC_STUB Recordset15_put_AbsolutePosition_Stub(
  722.     IRpcStubBuffer *This,
  723.     IRpcChannelBuffer *_pRpcChannelBuffer,
  724.     PRPC_MESSAGE _pRpcMessage,
  725.     DWORD *_pdwStubPhase);
  726. /* [helpcontext][propputref][id] */ HRESULT STDMETHODCALLTYPE Recordset15_putref_ActiveConnection_Proxy( 
  727.     Recordset15 * This,
  728.     /* [in] */ IDispatch *pconn);
  729. void __RPC_STUB Recordset15_putref_ActiveConnection_Stub(
  730.     IRpcStubBuffer *This,
  731.     IRpcChannelBuffer *_pRpcChannelBuffer,
  732.     PRPC_MESSAGE _pRpcMessage,
  733.     DWORD *_pdwStubPhase);
  734. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_ActiveConnection_Proxy( 
  735.     Recordset15 * This,
  736.     /* [in] */ VARIANT vConn);
  737. void __RPC_STUB Recordset15_put_ActiveConnection_Stub(
  738.     IRpcStubBuffer *This,
  739.     IRpcChannelBuffer *_pRpcChannelBuffer,
  740.     PRPC_MESSAGE _pRpcMessage,
  741.     DWORD *_pdwStubPhase);
  742. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_ActiveConnection_Proxy( 
  743.     Recordset15 * This,
  744.     /* [retval][out] */ VARIANT *pvar);
  745. void __RPC_STUB Recordset15_get_ActiveConnection_Stub(
  746.     IRpcStubBuffer *This,
  747.     IRpcChannelBuffer *_pRpcChannelBuffer,
  748.     PRPC_MESSAGE _pRpcMessage,
  749.     DWORD *_pdwStubPhase);
  750. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_BOF_Proxy( 
  751.     Recordset15 * This,
  752.     /* [retval][out] */ VARIANT_BOOL *pb);
  753. void __RPC_STUB Recordset15_get_BOF_Stub(
  754.     IRpcStubBuffer *This,
  755.     IRpcChannelBuffer *_pRpcChannelBuffer,
  756.     PRPC_MESSAGE _pRpcMessage,
  757.     DWORD *_pdwStubPhase);
  758. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_Bookmark_Proxy( 
  759.     Recordset15 * This,
  760.     /* [retval][out] */ VARIANT *pvBookmark);
  761. void __RPC_STUB Recordset15_get_Bookmark_Stub(
  762.     IRpcStubBuffer *This,
  763.     IRpcChannelBuffer *_pRpcChannelBuffer,
  764.     PRPC_MESSAGE _pRpcMessage,
  765.     DWORD *_pdwStubPhase);
  766. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_Bookmark_Proxy( 
  767.     Recordset15 * This,
  768.     /* [in] */ VARIANT vBookmark);
  769. void __RPC_STUB Recordset15_put_Bookmark_Stub(
  770.     IRpcStubBuffer *This,
  771.     IRpcChannelBuffer *_pRpcChannelBuffer,
  772.     PRPC_MESSAGE _pRpcMessage,
  773.     DWORD *_pdwStubPhase);
  774. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_CacheSize_Proxy( 
  775.     Recordset15 * This,
  776.     /* [retval][out] */ long *pl);
  777. void __RPC_STUB Recordset15_get_CacheSize_Stub(
  778.     IRpcStubBuffer *This,
  779.     IRpcChannelBuffer *_pRpcChannelBuffer,
  780.     PRPC_MESSAGE _pRpcMessage,
  781.     DWORD *_pdwStubPhase);
  782. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_CacheSize_Proxy( 
  783.     Recordset15 * This,
  784.     /* [in] */ long CacheSize);
  785. void __RPC_STUB Recordset15_put_CacheSize_Stub(
  786.     IRpcStubBuffer *This,
  787.     IRpcChannelBuffer *_pRpcChannelBuffer,
  788.     PRPC_MESSAGE _pRpcMessage,
  789.     DWORD *_pdwStubPhase);
  790. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_CursorType_Proxy( 
  791.     Recordset15 * This,
  792.     /* [retval][out] */ CursorTypeEnum *plCursorType);
  793. void __RPC_STUB Recordset15_get_CursorType_Stub(
  794.     IRpcStubBuffer *This,
  795.     IRpcChannelBuffer *_pRpcChannelBuffer,
  796.     PRPC_MESSAGE _pRpcMessage,
  797.     DWORD *_pdwStubPhase);
  798. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_CursorType_Proxy( 
  799.     Recordset15 * This,
  800.     /* [in] */ CursorTypeEnum lCursorType);
  801. void __RPC_STUB Recordset15_put_CursorType_Stub(
  802.     IRpcStubBuffer *This,
  803.     IRpcChannelBuffer *_pRpcChannelBuffer,
  804.     PRPC_MESSAGE _pRpcMessage,
  805.     DWORD *_pdwStubPhase);
  806. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_EOF_Proxy( 
  807.     Recordset15 * This,
  808.     /* [retval][out] */ VARIANT_BOOL *pb);
  809. void __RPC_STUB Recordset15_get_EOF_Stub(
  810.     IRpcStubBuffer *This,
  811.     IRpcChannelBuffer *_pRpcChannelBuffer,
  812.     PRPC_MESSAGE _pRpcMessage,
  813.     DWORD *_pdwStubPhase);
  814. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_Fields_Proxy( 
  815.     Recordset15 * This,
  816.     /* [retval][out] */ ADOFields **ppvObject);
  817. void __RPC_STUB Recordset15_get_Fields_Stub(
  818.     IRpcStubBuffer *This,
  819.     IRpcChannelBuffer *_pRpcChannelBuffer,
  820.     PRPC_MESSAGE _pRpcMessage,
  821.     DWORD *_pdwStubPhase);
  822. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_LockType_Proxy( 
  823.     Recordset15 * This,
  824.     /* [retval][out] */ LockTypeEnum *plLockType);
  825. void __RPC_STUB Recordset15_get_LockType_Stub(
  826.     IRpcStubBuffer *This,
  827.     IRpcChannelBuffer *_pRpcChannelBuffer,
  828.     PRPC_MESSAGE _pRpcMessage,
  829.     DWORD *_pdwStubPhase);
  830. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_LockType_Proxy( 
  831.     Recordset15 * This,
  832.     /* [in] */ LockTypeEnum lLockType);
  833. void __RPC_STUB Recordset15_put_LockType_Stub(
  834.     IRpcStubBuffer *This,
  835.     IRpcChannelBuffer *_pRpcChannelBuffer,
  836.     PRPC_MESSAGE _pRpcMessage,
  837.     DWORD *_pdwStubPhase);
  838. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_MaxRecords_Proxy( 
  839.     Recordset15 * This,
  840.     /* [retval][out] */ ADO_LONGPTR *plMaxRecords);
  841. void __RPC_STUB Recordset15_get_MaxRecords_Stub(
  842.     IRpcStubBuffer *This,
  843.     IRpcChannelBuffer *_pRpcChannelBuffer,
  844.     PRPC_MESSAGE _pRpcMessage,
  845.     DWORD *_pdwStubPhase);
  846. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_MaxRecords_Proxy( 
  847.     Recordset15 * This,
  848.     /* [in] */ ADO_LONGPTR lMaxRecords);
  849. void __RPC_STUB Recordset15_put_MaxRecords_Stub(
  850.     IRpcStubBuffer *This,
  851.     IRpcChannelBuffer *_pRpcChannelBuffer,
  852.     PRPC_MESSAGE _pRpcMessage,
  853.     DWORD *_pdwStubPhase);
  854. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_RecordCount_Proxy( 
  855.     Recordset15 * This,
  856.     /* [retval][out] */ ADO_LONGPTR *pl);
  857. void __RPC_STUB Recordset15_get_RecordCount_Stub(
  858.     IRpcStubBuffer *This,
  859.     IRpcChannelBuffer *_pRpcChannelBuffer,
  860.     PRPC_MESSAGE _pRpcMessage,
  861.     DWORD *_pdwStubPhase);
  862. /* [helpcontext][propputref][id] */ HRESULT STDMETHODCALLTYPE Recordset15_putref_Source_Proxy( 
  863.     Recordset15 * This,
  864.     /* [in] */ IDispatch *pcmd);
  865. void __RPC_STUB Recordset15_putref_Source_Stub(
  866.     IRpcStubBuffer *This,
  867.     IRpcChannelBuffer *_pRpcChannelBuffer,
  868.     PRPC_MESSAGE _pRpcMessage,
  869.     DWORD *_pdwStubPhase);
  870. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_Source_Proxy( 
  871.     Recordset15 * This,
  872.     /* [in] */ BSTR bstrConn);
  873. void __RPC_STUB Recordset15_put_Source_Stub(
  874.     IRpcStubBuffer *This,
  875.     IRpcChannelBuffer *_pRpcChannelBuffer,
  876.     PRPC_MESSAGE _pRpcMessage,
  877.     DWORD *_pdwStubPhase);
  878. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_Source_Proxy( 
  879.     Recordset15 * This,
  880.     /* [retval][out] */ VARIANT *pvSource);
  881. void __RPC_STUB Recordset15_get_Source_Stub(
  882.     IRpcStubBuffer *This,
  883.     IRpcChannelBuffer *_pRpcChannelBuffer,
  884.     PRPC_MESSAGE _pRpcMessage,
  885.     DWORD *_pdwStubPhase);
  886. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_AddNew_Proxy( 
  887.     Recordset15 * This,
  888.     /* [optional][in] */ VARIANT FieldList,
  889.     /* [optional][in] */ VARIANT Values);
  890. void __RPC_STUB Recordset15_AddNew_Stub(
  891.     IRpcStubBuffer *This,
  892.     IRpcChannelBuffer *_pRpcChannelBuffer,
  893.     PRPC_MESSAGE _pRpcMessage,
  894.     DWORD *_pdwStubPhase);
  895. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_CancelUpdate_Proxy( 
  896.     Recordset15 * This);
  897. void __RPC_STUB Recordset15_CancelUpdate_Stub(
  898.     IRpcStubBuffer *This,
  899.     IRpcChannelBuffer *_pRpcChannelBuffer,
  900.     PRPC_MESSAGE _pRpcMessage,
  901.     DWORD *_pdwStubPhase);
  902. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_Close_Proxy( 
  903.     Recordset15 * This);
  904. void __RPC_STUB Recordset15_Close_Stub(
  905.     IRpcStubBuffer *This,
  906.     IRpcChannelBuffer *_pRpcChannelBuffer,
  907.     PRPC_MESSAGE _pRpcMessage,
  908.     DWORD *_pdwStubPhase);
  909. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_Delete_Proxy( 
  910.     Recordset15 * This,
  911.     /* [defaultvalue][in] */ AffectEnum AffectRecords);
  912. void __RPC_STUB Recordset15_Delete_Stub(
  913.     IRpcStubBuffer *This,
  914.     IRpcChannelBuffer *_pRpcChannelBuffer,
  915.     PRPC_MESSAGE _pRpcMessage,
  916.     DWORD *_pdwStubPhase);
  917. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_GetRows_Proxy( 
  918.     Recordset15 * This,
  919.     /* [defaultvalue][in] */ long Rows,
  920.     /* [optional][in] */ VARIANT Start,
  921.     /* [optional][in] */ VARIANT Fields,
  922.     /* [retval][out] */ VARIANT *pvar);
  923. void __RPC_STUB Recordset15_GetRows_Stub(
  924.     IRpcStubBuffer *This,
  925.     IRpcChannelBuffer *_pRpcChannelBuffer,
  926.     PRPC_MESSAGE _pRpcMessage,
  927.     DWORD *_pdwStubPhase);
  928. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_Move_Proxy( 
  929.     Recordset15 * This,
  930.     /* [in] */ ADO_LONGPTR NumRecords,
  931.     /* [optional][in] */ VARIANT Start);
  932. void __RPC_STUB Recordset15_Move_Stub(
  933.     IRpcStubBuffer *This,
  934.     IRpcChannelBuffer *_pRpcChannelBuffer,
  935.     PRPC_MESSAGE _pRpcMessage,
  936.     DWORD *_pdwStubPhase);
  937. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_MoveNext_Proxy( 
  938.     Recordset15 * This);
  939. void __RPC_STUB Recordset15_MoveNext_Stub(
  940.     IRpcStubBuffer *This,
  941.     IRpcChannelBuffer *_pRpcChannelBuffer,
  942.     PRPC_MESSAGE _pRpcMessage,
  943.     DWORD *_pdwStubPhase);
  944. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_MovePrevious_Proxy( 
  945.     Recordset15 * This);
  946. void __RPC_STUB Recordset15_MovePrevious_Stub(
  947.     IRpcStubBuffer *This,
  948.     IRpcChannelBuffer *_pRpcChannelBuffer,
  949.     PRPC_MESSAGE _pRpcMessage,
  950.     DWORD *_pdwStubPhase);
  951. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_MoveFirst_Proxy( 
  952.     Recordset15 * This);
  953. void __RPC_STUB Recordset15_MoveFirst_Stub(
  954.     IRpcStubBuffer *This,
  955.     IRpcChannelBuffer *_pRpcChannelBuffer,
  956.     PRPC_MESSAGE _pRpcMessage,
  957.     DWORD *_pdwStubPhase);
  958. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_MoveLast_Proxy( 
  959.     Recordset15 * This);
  960. void __RPC_STUB Recordset15_MoveLast_Stub(
  961.     IRpcStubBuffer *This,
  962.     IRpcChannelBuffer *_pRpcChannelBuffer,
  963.     PRPC_MESSAGE _pRpcMessage,
  964.     DWORD *_pdwStubPhase);
  965. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_Open_Proxy( 
  966.     Recordset15 * This,
  967.     /* [optional][in] */ VARIANT Source,
  968.     /* [optional][in] */ VARIANT ActiveConnection,
  969.     /* [defaultvalue][in] */ CursorTypeEnum CursorType,
  970.     /* [defaultvalue][in] */ LockTypeEnum LockType,
  971.     /* [defaultvalue][in] */ LONG Options);
  972. void __RPC_STUB Recordset15_Open_Stub(
  973.     IRpcStubBuffer *This,
  974.     IRpcChannelBuffer *_pRpcChannelBuffer,
  975.     PRPC_MESSAGE _pRpcMessage,
  976.     DWORD *_pdwStubPhase);
  977. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_Requery_Proxy( 
  978.     Recordset15 * This,
  979.     /* [defaultvalue][in] */ LONG Options);
  980. void __RPC_STUB Recordset15_Requery_Stub(
  981.     IRpcStubBuffer *This,
  982.     IRpcChannelBuffer *_pRpcChannelBuffer,
  983.     PRPC_MESSAGE _pRpcMessage,
  984.     DWORD *_pdwStubPhase);
  985. /* [hidden] */ HRESULT STDMETHODCALLTYPE Recordset15__xResync_Proxy( 
  986.     Recordset15 * This,
  987.     /* [defaultvalue][in] */ AffectEnum AffectRecords);
  988. void __RPC_STUB Recordset15__xResync_Stub(
  989.     IRpcStubBuffer *This,
  990.     IRpcChannelBuffer *_pRpcChannelBuffer,
  991.     PRPC_MESSAGE _pRpcMessage,
  992.     DWORD *_pdwStubPhase);
  993. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_Update_Proxy( 
  994.     Recordset15 * This,
  995.     /* [optional][in] */ VARIANT Fields,
  996.     /* [optional][in] */ VARIANT Values);
  997. void __RPC_STUB Recordset15_Update_Stub(
  998.     IRpcStubBuffer *This,
  999.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1000.     PRPC_MESSAGE _pRpcMessage,
  1001.     DWORD *_pdwStubPhase);
  1002. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_AbsolutePage_Proxy( 
  1003.     Recordset15 * This,
  1004.     /* [retval][out] */ PositionEnum_Param *pl);
  1005. void __RPC_STUB Recordset15_get_AbsolutePage_Stub(
  1006.     IRpcStubBuffer *This,
  1007.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1008.     PRPC_MESSAGE _pRpcMessage,
  1009.     DWORD *_pdwStubPhase);
  1010. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_AbsolutePage_Proxy( 
  1011.     Recordset15 * This,
  1012.     /* [in] */ PositionEnum_Param Page);
  1013. void __RPC_STUB Recordset15_put_AbsolutePage_Stub(
  1014.     IRpcStubBuffer *This,
  1015.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1016.     PRPC_MESSAGE _pRpcMessage,
  1017.     DWORD *_pdwStubPhase);
  1018. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_EditMode_Proxy( 
  1019.     Recordset15 * This,
  1020.     /* [retval][out] */ EditModeEnum *pl);
  1021. void __RPC_STUB Recordset15_get_EditMode_Stub(
  1022.     IRpcStubBuffer *This,
  1023.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1024.     PRPC_MESSAGE _pRpcMessage,
  1025.     DWORD *_pdwStubPhase);
  1026. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_Filter_Proxy( 
  1027.     Recordset15 * This,
  1028.     /* [retval][out] */ VARIANT *Criteria);
  1029. void __RPC_STUB Recordset15_get_Filter_Stub(
  1030.     IRpcStubBuffer *This,
  1031.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1032.     PRPC_MESSAGE _pRpcMessage,
  1033.     DWORD *_pdwStubPhase);
  1034. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_Filter_Proxy( 
  1035.     Recordset15 * This,
  1036.     /* [in] */ VARIANT Criteria);
  1037. void __RPC_STUB Recordset15_put_Filter_Stub(
  1038.     IRpcStubBuffer *This,
  1039.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1040.     PRPC_MESSAGE _pRpcMessage,
  1041.     DWORD *_pdwStubPhase);
  1042. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_PageCount_Proxy( 
  1043.     Recordset15 * This,
  1044.     /* [retval][out] */ ADO_LONGPTR *pl);
  1045. void __RPC_STUB Recordset15_get_PageCount_Stub(
  1046.     IRpcStubBuffer *This,
  1047.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1048.     PRPC_MESSAGE _pRpcMessage,
  1049.     DWORD *_pdwStubPhase);
  1050. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_PageSize_Proxy( 
  1051.     Recordset15 * This,
  1052.     /* [retval][out] */ long *pl);
  1053. void __RPC_STUB Recordset15_get_PageSize_Stub(
  1054.     IRpcStubBuffer *This,
  1055.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1056.     PRPC_MESSAGE _pRpcMessage,
  1057.     DWORD *_pdwStubPhase);
  1058. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_PageSize_Proxy( 
  1059.     Recordset15 * This,
  1060.     /* [in] */ long PageSize);
  1061. void __RPC_STUB Recordset15_put_PageSize_Stub(
  1062.     IRpcStubBuffer *This,
  1063.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1064.     PRPC_MESSAGE _pRpcMessage,
  1065.     DWORD *_pdwStubPhase);
  1066. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_Sort_Proxy( 
  1067.     Recordset15 * This,
  1068.     /* [retval][out] */ BSTR *Criteria);
  1069. void __RPC_STUB Recordset15_get_Sort_Stub(
  1070.     IRpcStubBuffer *This,
  1071.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1072.     PRPC_MESSAGE _pRpcMessage,
  1073.     DWORD *_pdwStubPhase);
  1074. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_Sort_Proxy( 
  1075.     Recordset15 * This,
  1076.     /* [in] */ BSTR Criteria);
  1077. void __RPC_STUB Recordset15_put_Sort_Stub(
  1078.     IRpcStubBuffer *This,
  1079.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1080.     PRPC_MESSAGE _pRpcMessage,
  1081.     DWORD *_pdwStubPhase);
  1082. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_Status_Proxy( 
  1083.     Recordset15 * This,
  1084.     /* [retval][out] */ long *pl);
  1085. void __RPC_STUB Recordset15_get_Status_Stub(
  1086.     IRpcStubBuffer *This,
  1087.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1088.     PRPC_MESSAGE _pRpcMessage,
  1089.     DWORD *_pdwStubPhase);
  1090. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_State_Proxy( 
  1091.     Recordset15 * This,
  1092.     /* [retval][out] */ LONG *plObjState);
  1093. void __RPC_STUB Recordset15_get_State_Stub(
  1094.     IRpcStubBuffer *This,
  1095.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1096.     PRPC_MESSAGE _pRpcMessage,
  1097.     DWORD *_pdwStubPhase);
  1098. /* [hidden] */ HRESULT STDMETHODCALLTYPE Recordset15__xClone_Proxy( 
  1099.     Recordset15 * This,
  1100.     /* [retval][out] */ _ADORecordset **ppvObject);
  1101. void __RPC_STUB Recordset15__xClone_Stub(
  1102.     IRpcStubBuffer *This,
  1103.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1104.     PRPC_MESSAGE _pRpcMessage,
  1105.     DWORD *_pdwStubPhase);
  1106. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_UpdateBatch_Proxy( 
  1107.     Recordset15 * This,
  1108.     /* [defaultvalue][in] */ AffectEnum AffectRecords);
  1109. void __RPC_STUB Recordset15_UpdateBatch_Stub(
  1110.     IRpcStubBuffer *This,
  1111.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1112.     PRPC_MESSAGE _pRpcMessage,
  1113.     DWORD *_pdwStubPhase);
  1114. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_CancelBatch_Proxy( 
  1115.     Recordset15 * This,
  1116.     /* [defaultvalue][in] */ AffectEnum AffectRecords);
  1117. void __RPC_STUB Recordset15_CancelBatch_Stub(
  1118.     IRpcStubBuffer *This,
  1119.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1120.     PRPC_MESSAGE _pRpcMessage,
  1121.     DWORD *_pdwStubPhase);
  1122. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_CursorLocation_Proxy( 
  1123.     Recordset15 * This,
  1124.     /* [retval][out] */ CursorLocationEnum *plCursorLoc);
  1125. void __RPC_STUB Recordset15_get_CursorLocation_Stub(
  1126.     IRpcStubBuffer *This,
  1127.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1128.     PRPC_MESSAGE _pRpcMessage,
  1129.     DWORD *_pdwStubPhase);
  1130. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_CursorLocation_Proxy( 
  1131.     Recordset15 * This,
  1132.     /* [in] */ CursorLocationEnum lCursorLoc);
  1133. void __RPC_STUB Recordset15_put_CursorLocation_Stub(
  1134.     IRpcStubBuffer *This,
  1135.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1136.     PRPC_MESSAGE _pRpcMessage,
  1137.     DWORD *_pdwStubPhase);
  1138. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_NextRecordset_Proxy( 
  1139.     Recordset15 * This,
  1140.     /* [optional][out] */ VARIANT *RecordsAffected,
  1141.     /* [retval][out] */ _ADORecordset **ppiRs);
  1142. void __RPC_STUB Recordset15_NextRecordset_Stub(
  1143.     IRpcStubBuffer *This,
  1144.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1145.     PRPC_MESSAGE _pRpcMessage,
  1146.     DWORD *_pdwStubPhase);
  1147. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_Supports_Proxy( 
  1148.     Recordset15 * This,
  1149.     /* [in] */ CursorOptionEnum CursorOptions,
  1150.     /* [retval][out] */ VARIANT_BOOL *pb);
  1151. void __RPC_STUB Recordset15_Supports_Stub(
  1152.     IRpcStubBuffer *This,
  1153.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1154.     PRPC_MESSAGE _pRpcMessage,
  1155.     DWORD *_pdwStubPhase);
  1156. /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE Recordset15_get_Collect_Proxy( 
  1157.     Recordset15 * This,
  1158.     /* [in] */ VARIANT Index,
  1159.     /* [retval][out] */ VARIANT *pvar);
  1160. void __RPC_STUB Recordset15_get_Collect_Stub(
  1161.     IRpcStubBuffer *This,
  1162.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1163.     PRPC_MESSAGE _pRpcMessage,
  1164.     DWORD *_pdwStubPhase);
  1165. /* [hidden][id][propput] */ HRESULT STDMETHODCALLTYPE Recordset15_put_Collect_Proxy( 
  1166.     Recordset15 * This,
  1167.     /* [in] */ VARIANT Index,
  1168.     /* [in] */ VARIANT value);
  1169. void __RPC_STUB Recordset15_put_Collect_Stub(
  1170.     IRpcStubBuffer *This,
  1171.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1172.     PRPC_MESSAGE _pRpcMessage,
  1173.     DWORD *_pdwStubPhase);
  1174. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset15_get_MarshalOptions_Proxy( 
  1175.     Recordset15 * This,
  1176.     /* [retval][out] */ MarshalOptionsEnum *peMarshal);
  1177. void __RPC_STUB Recordset15_get_MarshalOptions_Stub(
  1178.     IRpcStubBuffer *This,
  1179.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1180.     PRPC_MESSAGE _pRpcMessage,
  1181.     DWORD *_pdwStubPhase);
  1182. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset15_put_MarshalOptions_Proxy( 
  1183.     Recordset15 * This,
  1184.     /* [in] */ MarshalOptionsEnum eMarshal);
  1185. void __RPC_STUB Recordset15_put_MarshalOptions_Stub(
  1186.     IRpcStubBuffer *This,
  1187.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1188.     PRPC_MESSAGE _pRpcMessage,
  1189.     DWORD *_pdwStubPhase);
  1190. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset15_Find_Proxy( 
  1191.     Recordset15 * This,
  1192.     /* [in] */ BSTR Criteria,
  1193.     /* [defaultvalue][in] */ ADO_LONGPTR SkipRecords,
  1194.     /* [defaultvalue][in] */ SearchDirectionEnum SearchDirection,
  1195.     /* [optional][in] */ VARIANT Start);
  1196. void __RPC_STUB Recordset15_Find_Stub(
  1197.     IRpcStubBuffer *This,
  1198.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1199.     PRPC_MESSAGE _pRpcMessage,
  1200.     DWORD *_pdwStubPhase);
  1201. #endif  /* __Recordset15_INTERFACE_DEFINED__ */
  1202. #ifndef __Recordset20_INTERFACE_DEFINED__
  1203. #define __Recordset20_INTERFACE_DEFINED__
  1204. /* interface Recordset20 */
  1205. /* [object][helpcontext][uuid][nonextensible][hidden][dual] */ 
  1206. EXTERN_C const IID IID_Recordset20;
  1207. #if defined(__cplusplus) && !defined(CINTERFACE)
  1208.     
  1209.     MIDL_INTERFACE("0000054F-0000-0010-8000-00AA006D2EA4")
  1210.     Recordset20 : public Recordset15
  1211.     {
  1212.     public:
  1213.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  1214.         
  1215.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DataSource( 
  1216.             /* [retval][out] */ IUnknown **ppunkDataSource) = 0;
  1217.         
  1218.         virtual /* [helpcontext][propputref][id] */ HRESULT STDMETHODCALLTYPE putref_DataSource( 
  1219.             /* [in] */ IUnknown *punkDataSource) = 0;
  1220.         
  1221.         virtual /* [hidden] */ HRESULT STDMETHODCALLTYPE _xSave( 
  1222.             /* [defaultvalue][in] */ BSTR FileName = L"",
  1223.             /* [defaultvalue][in] */ PersistFormatEnum PersistFormat = adPersistADTG) = 0;
  1224.         
  1225.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActiveCommand( 
  1226.             /* [retval][out] */ IDispatch **ppCmd) = 0;
  1227.         
  1228.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_StayInSync( 
  1229.             /* [in] */ VARIANT_BOOL bStayInSync) = 0;
  1230.         
  1231.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_StayInSync( 
  1232.             /* [retval][out] */ VARIANT_BOOL *pbStayInSync) = 0;
  1233.         
  1234.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetString( 
  1235.             /* [defaultvalue][in] */ StringFormatEnum StringFormat,
  1236.             /* [defaultvalue][in] */ long NumRows,
  1237.             /* [defaultvalue][in] */ BSTR ColumnDelimeter,
  1238.             /* [defaultvalue][in] */ BSTR RowDelimeter,
  1239.             /* [defaultvalue][in] */ BSTR NullExpr,
  1240.             /* [retval][out] */ BSTR *pRetString) = 0;
  1241.         
  1242.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DataMember( 
  1243.             /* [retval][out] */ BSTR *pbstrDataMember) = 0;
  1244.         
  1245.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_DataMember( 
  1246.             /* [in] */ BSTR bstrDataMember) = 0;
  1247.         
  1248.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CompareBookmarks( 
  1249.             /* [in] */ VARIANT Bookmark1,
  1250.             /* [in] */ VARIANT Bookmark2,
  1251.             /* [retval][out] */ CompareEnum *pCompare) = 0;
  1252.         
  1253.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Clone( 
  1254.             /* [defaultvalue][in] */ LockTypeEnum LockType,
  1255.             /* [retval][out] */ _ADORecordset **ppvObject) = 0;
  1256.         
  1257.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Resync( 
  1258.             /* [defaultvalue][in] */ AffectEnum AffectRecords = adAffectAll,
  1259.             /* [defaultvalue][in] */ ResyncEnum ResyncValues = adResyncAllValues) = 0;
  1260.         
  1261.     };
  1262.     
  1263. #else  /* C style interface */
  1264.     typedef struct Recordset20Vtbl
  1265.     {
  1266.         BEGIN_INTERFACE
  1267.         
  1268.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1269.             Recordset20 * This,
  1270.             /* [in] */ REFIID riid,
  1271.             /* [iid_is][out] */ void **ppvObject);
  1272.         
  1273.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1274.             Recordset20 * This);
  1275.         
  1276.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1277.             Recordset20 * This);
  1278.         
  1279.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1280.             Recordset20 * This,
  1281.             /* [out] */ UINT *pctinfo);
  1282.         
  1283.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1284.             Recordset20 * This,
  1285.             /* [in] */ UINT iTInfo,
  1286.             /* [in] */ LCID lcid,
  1287.             /* [out] */ ITypeInfo **ppTInfo);
  1288.         
  1289.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1290.             Recordset20 * This,
  1291.             /* [in] */ REFIID riid,
  1292.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1293.             /* [in] */ UINT cNames,
  1294.             /* [in] */ LCID lcid,
  1295.             /* [size_is][out] */ DISPID *rgDispId);
  1296.         
  1297.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1298.             Recordset20 * This,
  1299.             /* [in] */ DISPID dispIdMember,
  1300.             /* [in] */ REFIID riid,
  1301.             /* [in] */ LCID lcid,
  1302.             /* [in] */ WORD wFlags,
  1303.             /* [out][in] */ DISPPARAMS *pDispParams,
  1304.             /* [out] */ VARIANT *pVarResult,
  1305.             /* [out] */ EXCEPINFO *pExcepInfo,
  1306.             /* [out] */ UINT *puArgErr);
  1307.         
  1308.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )( 
  1309.             Recordset20 * This,
  1310.             /* [retval][out] */ ADOProperties **ppvObject);
  1311.         
  1312.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AbsolutePosition )( 
  1313.             Recordset20 * This,
  1314.             /* [retval][out] */ PositionEnum_Param *pl);
  1315.         
  1316.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AbsolutePosition )( 
  1317.             Recordset20 * This,
  1318.             /* [in] */ PositionEnum_Param Position);
  1319.         
  1320.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE *putref_ActiveADOConnection )( 
  1321.             Recordset20 * This,
  1322.             /* [in] */ IDispatch *pconn);
  1323.         
  1324.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveConnection )( 
  1325.             Recordset20 * This,
  1326.             /* [in] */ VARIANT vConn);
  1327.         
  1328.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveConnection )( 
  1329.             Recordset20 * This,
  1330.             /* [retval][out] */ VARIANT *pvar);
  1331.         
  1332.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BOF )( 
  1333.             Recordset20 * This,
  1334.             /* [retval][out] */ VARIANT_BOOL *pb);
  1335.         
  1336.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Bookmark )( 
  1337.             Recordset20 * This,
  1338.             /* [retval][out] */ VARIANT *pvBookmark);
  1339.         
  1340.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Bookmark )( 
  1341.             Recordset20 * This,
  1342.             /* [in] */ VARIANT vBookmark);
  1343.         
  1344.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CacheSize )( 
  1345.             Recordset20 * This,
  1346.             /* [retval][out] */ long *pl);
  1347.         
  1348.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CacheSize )( 
  1349.             Recordset20 * This,
  1350.             /* [in] */ long CacheSize);
  1351.         
  1352.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CursorType )( 
  1353.             Recordset20 * This,
  1354.             /* [retval][out] */ CursorTypeEnum *plCursorType);
  1355.         
  1356.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CursorType )( 
  1357.             Recordset20 * This,
  1358.             /* [in] */ CursorTypeEnum lCursorType);
  1359.         
  1360.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EOF )( 
  1361.             Recordset20 * This,
  1362.             /* [retval][out] */ VARIANT_BOOL *pb);
  1363.         
  1364.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Fields )( 
  1365.             Recordset20 * This,
  1366.             /* [retval][out] */ ADOFields **ppvObject);
  1367.         
  1368.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LockType )( 
  1369.             Recordset20 * This,
  1370.             /* [retval][out] */ LockTypeEnum *plLockType);
  1371.         
  1372.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LockType )( 
  1373.             Recordset20 * This,
  1374.             /* [in] */ LockTypeEnum lLockType);
  1375.         
  1376.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxRecords )( 
  1377.             Recordset20 * This,
  1378.             /* [retval][out] */ ADO_LONGPTR *plMaxRecords);
  1379.         
  1380.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaxRecords )( 
  1381.             Recordset20 * This,
  1382.             /* [in] */ ADO_LONGPTR lMaxRecords);
  1383.         
  1384.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecordCount )( 
  1385.             Recordset20 * This,
  1386.             /* [retval][out] */ ADO_LONGPTR *pl);
  1387.         
  1388.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE *putref_Source )( 
  1389.             Recordset20 * This,
  1390.             /* [in] */ IDispatch *pcmd);
  1391.         
  1392.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Source )( 
  1393.             Recordset20 * This,
  1394.             /* [in] */ BSTR bstrConn);
  1395.         
  1396.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
  1397.             Recordset20 * This,
  1398.             /* [retval][out] */ VARIANT *pvSource);
  1399.         
  1400.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddNew )( 
  1401.             Recordset20 * This,
  1402.             /* [optional][in] */ VARIANT FieldList,
  1403.             /* [optional][in] */ VARIANT Values);
  1404.         
  1405.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CancelUpdate )( 
  1406.             Recordset20 * This);
  1407.         
  1408.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
  1409.             Recordset20 * This);
  1410.         
  1411.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
  1412.             Recordset20 * This,
  1413.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  1414.         
  1415.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetRows )( 
  1416.             Recordset20 * This,
  1417.             /* [defaultvalue][in] */ long Rows,
  1418.             /* [optional][in] */ VARIANT Start,
  1419.             /* [optional][in] */ VARIANT Fields,
  1420.             /* [retval][out] */ VARIANT *pvar);
  1421.         
  1422.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
  1423.             Recordset20 * This,
  1424.             /* [in] */ ADO_LONGPTR NumRecords,
  1425.             /* [optional][in] */ VARIANT Start);
  1426.         
  1427.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MoveNext )( 
  1428.             Recordset20 * This);
  1429.         
  1430.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MovePrevious )( 
  1431.             Recordset20 * This);
  1432.         
  1433.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MoveFirst )( 
  1434.             Recordset20 * This);
  1435.         
  1436.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MoveLast )( 
  1437.             Recordset20 * This);
  1438.         
  1439.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
  1440.             Recordset20 * This,
  1441.             /* [optional][in] */ VARIANT Source,
  1442.             /* [optional][in] */ VARIANT ActiveConnection,
  1443.             /* [defaultvalue][in] */ CursorTypeEnum CursorType,
  1444.             /* [defaultvalue][in] */ LockTypeEnum LockType,
  1445.             /* [defaultvalue][in] */ LONG Options);
  1446.         
  1447.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Requery )( 
  1448.             Recordset20 * This,
  1449.             /* [defaultvalue][in] */ LONG Options);
  1450.         
  1451.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE *_xResync )( 
  1452.             Recordset20 * This,
  1453.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  1454.         
  1455.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
  1456.             Recordset20 * This,
  1457.             /* [optional][in] */ VARIANT Fields,
  1458.             /* [optional][in] */ VARIANT Values);
  1459.         
  1460.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AbsolutePage )( 
  1461.             Recordset20 * This,
  1462.             /* [retval][out] */ PositionEnum_Param *pl);
  1463.         
  1464.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AbsolutePage )( 
  1465.             Recordset20 * This,
  1466.             /* [in] */ PositionEnum_Param Page);
  1467.         
  1468.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EditMode )( 
  1469.             Recordset20 * This,
  1470.             /* [retval][out] */ EditModeEnum *pl);
  1471.         
  1472.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Filter )( 
  1473.             Recordset20 * This,
  1474.             /* [retval][out] */ VARIANT *Criteria);
  1475.         
  1476.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Filter )( 
  1477.             Recordset20 * This,
  1478.             /* [in] */ VARIANT Criteria);
  1479.         
  1480.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PageCount )( 
  1481.             Recordset20 * This,
  1482.             /* [retval][out] */ ADO_LONGPTR *pl);
  1483.         
  1484.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PageSize )( 
  1485.             Recordset20 * This,
  1486.             /* [retval][out] */ long *pl);
  1487.         
  1488.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PageSize )( 
  1489.             Recordset20 * This,
  1490.             /* [in] */ long PageSize);
  1491.         
  1492.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Sort )( 
  1493.             Recordset20 * This,
  1494.             /* [retval][out] */ BSTR *Criteria);
  1495.         
  1496.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Sort )( 
  1497.             Recordset20 * This,
  1498.             /* [in] */ BSTR Criteria);
  1499.         
  1500.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
  1501.             Recordset20 * This,
  1502.             /* [retval][out] */ long *pl);
  1503.         
  1504.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
  1505.             Recordset20 * This,
  1506.             /* [retval][out] */ LONG *plObjState);
  1507.         
  1508.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE *_xClone )( 
  1509.             Recordset20 * This,
  1510.             /* [retval][out] */ _ADORecordset **ppvObject);
  1511.         
  1512.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *UpdateBatch )( 
  1513.             Recordset20 * This,
  1514.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  1515.         
  1516.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CancelBatch )( 
  1517.             Recordset20 * This,
  1518.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  1519.         
  1520.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CursorLocation )( 
  1521.             Recordset20 * This,
  1522.             /* [retval][out] */ CursorLocationEnum *plCursorLoc);
  1523.         
  1524.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CursorLocation )( 
  1525.             Recordset20 * This,
  1526.             /* [in] */ CursorLocationEnum lCursorLoc);
  1527.         
  1528.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *NextADORecordset )( 
  1529.             Recordset20 * This,
  1530.             /* [optional][out] */ VARIANT *RecordsAffected,
  1531.             /* [retval][out] */ _ADORecordset **ppiRs);
  1532.         
  1533.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Supports )( 
  1534.             Recordset20 * This,
  1535.             /* [in] */ CursorOptionEnum CursorOptions,
  1536.             /* [retval][out] */ VARIANT_BOOL *pb);
  1537.         
  1538.         /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Collect )( 
  1539.             Recordset20 * This,
  1540.             /* [in] */ VARIANT Index,
  1541.             /* [retval][out] */ VARIANT *pvar);
  1542.         
  1543.         /* [hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Collect )( 
  1544.             Recordset20 * This,
  1545.             /* [in] */ VARIANT Index,
  1546.             /* [in] */ VARIANT value);
  1547.         
  1548.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MarshalOptions )( 
  1549.             Recordset20 * This,
  1550.             /* [retval][out] */ MarshalOptionsEnum *peMarshal);
  1551.         
  1552.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MarshalOptions )( 
  1553.             Recordset20 * This,
  1554.             /* [in] */ MarshalOptionsEnum eMarshal);
  1555.         
  1556.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
  1557.             Recordset20 * This,
  1558.             /* [in] */ BSTR Criteria,
  1559.             /* [defaultvalue][in] */ ADO_LONGPTR SkipRecords,
  1560.             /* [defaultvalue][in] */ SearchDirectionEnum SearchDirection,
  1561.             /* [optional][in] */ VARIANT Start);
  1562.         
  1563.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Cancel )( 
  1564.             Recordset20 * This);
  1565.         
  1566.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DataSource )( 
  1567.             Recordset20 * This,
  1568.             /* [retval][out] */ IUnknown **ppunkDataSource);
  1569.         
  1570.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE *putref_DataSource )( 
  1571.             Recordset20 * This,
  1572.             /* [in] */ IUnknown *punkDataSource);
  1573.         
  1574.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE *_xSave )( 
  1575.             Recordset20 * This,
  1576.             /* [defaultvalue][in] */ BSTR FileName,
  1577.             /* [defaultvalue][in] */ PersistFormatEnum PersistFormat);
  1578.         
  1579.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveCommand )( 
  1580.             Recordset20 * This,
  1581.             /* [retval][out] */ IDispatch **ppCmd);
  1582.         
  1583.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StayInSync )( 
  1584.             Recordset20 * This,
  1585.             /* [in] */ VARIANT_BOOL bStayInSync);
  1586.         
  1587.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StayInSync )( 
  1588.             Recordset20 * This,
  1589.             /* [retval][out] */ VARIANT_BOOL *pbStayInSync);
  1590.         
  1591.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetString )( 
  1592.             Recordset20 * This,
  1593.             /* [defaultvalue][in] */ StringFormatEnum StringFormat,
  1594.             /* [defaultvalue][in] */ long NumRows,
  1595.             /* [defaultvalue][in] */ BSTR ColumnDelimeter,
  1596.             /* [defaultvalue][in] */ BSTR RowDelimeter,
  1597.             /* [defaultvalue][in] */ BSTR NullExpr,
  1598.             /* [retval][out] */ BSTR *pRetString);
  1599.         
  1600.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DataMember )( 
  1601.             Recordset20 * This,
  1602.             /* [retval][out] */ BSTR *pbstrDataMember);
  1603.         
  1604.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DataMember )( 
  1605.             Recordset20 * This,
  1606.             /* [in] */ BSTR bstrDataMember);
  1607.         
  1608.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CompareBookmarks )( 
  1609.             Recordset20 * This,
  1610.             /* [in] */ VARIANT Bookmark1,
  1611.             /* [in] */ VARIANT Bookmark2,
  1612.             /* [retval][out] */ CompareEnum *pCompare);
  1613.         
  1614.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1615.             Recordset20 * This,
  1616.             /* [defaultvalue][in] */ LockTypeEnum LockType,
  1617.             /* [retval][out] */ _ADORecordset **ppvObject);
  1618.         
  1619.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Resync )( 
  1620.             Recordset20 * This,
  1621.             /* [defaultvalue][in] */ AffectEnum AffectRecords,
  1622.             /* [defaultvalue][in] */ ResyncEnum ResyncValues);
  1623.         
  1624.         END_INTERFACE
  1625.     } Recordset20Vtbl;
  1626.     interface Recordset20
  1627.     {
  1628.         CONST_VTBL struct Recordset20Vtbl *lpVtbl;
  1629.     };
  1630.     
  1631. #ifdef COBJMACROS
  1632. #define Recordset20_QueryInterface(This,riid,ppvObject)
  1633.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1634. #define Recordset20_AddRef(This)
  1635.     (This)->lpVtbl -> AddRef(This)
  1636. #define Recordset20_Release(This)
  1637.     (This)->lpVtbl -> Release(This)
  1638. #define Recordset20_GetTypeInfoCount(This,pctinfo)
  1639.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1640. #define Recordset20_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1641.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1642. #define Recordset20_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1643.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1644. #define Recordset20_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1645.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1646. #define Recordset20_get_Properties(This,ppvObject)
  1647.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  1648. #define Recordset20_get_AbsolutePosition(This,pl)
  1649.     (This)->lpVtbl -> get_AbsolutePosition(This,pl)
  1650. #define Recordset20_put_AbsolutePosition(This,Position)
  1651.     (This)->lpVtbl -> put_AbsolutePosition(This,Position)
  1652. #define Recordset20_putref_ActiveConnection(This,pconn)
  1653.     (This)->lpVtbl -> putref_ActiveConnection(This,pconn)
  1654. #define Recordset20_put_ActiveConnection(This,vConn)
  1655.     (This)->lpVtbl -> put_ActiveConnection(This,vConn)
  1656. #define Recordset20_get_ActiveConnection(This,pvar)
  1657.     (This)->lpVtbl -> get_ActiveConnection(This,pvar)
  1658. #define Recordset20_get_BOF(This,pb)
  1659.     (This)->lpVtbl -> get_BOF(This,pb)
  1660. #define Recordset20_get_Bookmark(This,pvBookmark)
  1661.     (This)->lpVtbl -> get_Bookmark(This,pvBookmark)
  1662. #define Recordset20_put_Bookmark(This,vBookmark)
  1663.     (This)->lpVtbl -> put_Bookmark(This,vBookmark)
  1664. #define Recordset20_get_CacheSize(This,pl)
  1665.     (This)->lpVtbl -> get_CacheSize(This,pl)
  1666. #define Recordset20_put_CacheSize(This,CacheSize)
  1667.     (This)->lpVtbl -> put_CacheSize(This,CacheSize)
  1668. #define Recordset20_get_CursorType(This,plCursorType)
  1669.     (This)->lpVtbl -> get_CursorType(This,plCursorType)
  1670. #define Recordset20_put_CursorType(This,lCursorType)
  1671.     (This)->lpVtbl -> put_CursorType(This,lCursorType)
  1672. #define Recordset20_get_EOF(This,pb)
  1673.     (This)->lpVtbl -> get_EOF(This,pb)
  1674. #define Recordset20_get_Fields(This,ppvObject)
  1675.     (This)->lpVtbl -> get_Fields(This,ppvObject)
  1676. #define Recordset20_get_LockType(This,plLockType)
  1677.     (This)->lpVtbl -> get_LockType(This,plLockType)
  1678. #define Recordset20_put_LockType(This,lLockType)
  1679.     (This)->lpVtbl -> put_LockType(This,lLockType)
  1680. #define Recordset20_get_MaxRecords(This,plMaxRecords)
  1681.     (This)->lpVtbl -> get_MaxRecords(This,plMaxRecords)
  1682. #define Recordset20_put_MaxRecords(This,lMaxRecords)
  1683.     (This)->lpVtbl -> put_MaxRecords(This,lMaxRecords)
  1684. #define Recordset20_get_RecordCount(This,pl)
  1685.     (This)->lpVtbl -> get_RecordCount(This,pl)
  1686. #define Recordset20_putref_Source(This,pcmd)
  1687.     (This)->lpVtbl -> putref_Source(This,pcmd)
  1688. #define Recordset20_put_Source(This,bstrConn)
  1689.     (This)->lpVtbl -> put_Source(This,bstrConn)
  1690. #define Recordset20_get_Source(This,pvSource)
  1691.     (This)->lpVtbl -> get_Source(This,pvSource)
  1692. #define Recordset20_AddNew(This,FieldList,Values)
  1693.     (This)->lpVtbl -> AddNew(This,FieldList,Values)
  1694. #define Recordset20_CancelUpdate(This)
  1695.     (This)->lpVtbl -> CancelUpdate(This)
  1696. #define Recordset20_Close(This)
  1697.     (This)->lpVtbl -> Close(This)
  1698. #define Recordset20_Delete(This,AffectRecords)
  1699.     (This)->lpVtbl -> Delete(This,AffectRecords)
  1700. #define Recordset20_GetRows(This,Rows,Start,Fields,pvar)
  1701.     (This)->lpVtbl -> GetRows(This,Rows,Start,Fields,pvar)
  1702. #define Recordset20_Move(This,NumRecords,Start)
  1703.     (This)->lpVtbl -> Move(This,NumRecords,Start)
  1704. #define Recordset20_MoveNext(This)
  1705.     (This)->lpVtbl -> MoveNext(This)
  1706. #define Recordset20_MovePrevious(This)
  1707.     (This)->lpVtbl -> MovePrevious(This)
  1708. #define Recordset20_MoveFirst(This)
  1709.     (This)->lpVtbl -> MoveFirst(This)
  1710. #define Recordset20_MoveLast(This)
  1711.     (This)->lpVtbl -> MoveLast(This)
  1712. #define Recordset20_Open(This,Source,ActiveConnection,CursorType,LockType,Options)
  1713.     (This)->lpVtbl -> Open(This,Source,ActiveConnection,CursorType,LockType,Options)
  1714. #define Recordset20_Requery(This,Options)
  1715.     (This)->lpVtbl -> Requery(This,Options)
  1716. #define Recordset20__xResync(This,AffectRecords)
  1717.     (This)->lpVtbl -> _xResync(This,AffectRecords)
  1718. #define Recordset20_Update(This,Fields,Values)
  1719.     (This)->lpVtbl -> Update(This,Fields,Values)
  1720. #define Recordset20_get_AbsolutePage(This,pl)
  1721.     (This)->lpVtbl -> get_AbsolutePage(This,pl)
  1722. #define Recordset20_put_AbsolutePage(This,Page)
  1723.     (This)->lpVtbl -> put_AbsolutePage(This,Page)
  1724. #define Recordset20_get_EditMode(This,pl)
  1725.     (This)->lpVtbl -> get_EditMode(This,pl)
  1726. #define Recordset20_get_Filter(This,Criteria)
  1727.     (This)->lpVtbl -> get_Filter(This,Criteria)
  1728. #define Recordset20_put_Filter(This,Criteria)
  1729.     (This)->lpVtbl -> put_Filter(This,Criteria)
  1730. #define Recordset20_get_PageCount(This,pl)
  1731.     (This)->lpVtbl -> get_PageCount(This,pl)
  1732. #define Recordset20_get_PageSize(This,pl)
  1733.     (This)->lpVtbl -> get_PageSize(This,pl)
  1734. #define Recordset20_put_PageSize(This,PageSize)
  1735.     (This)->lpVtbl -> put_PageSize(This,PageSize)
  1736. #define Recordset20_get_Sort(This,Criteria)
  1737.     (This)->lpVtbl -> get_Sort(This,Criteria)
  1738. #define Recordset20_put_Sort(This,Criteria)
  1739.     (This)->lpVtbl -> put_Sort(This,Criteria)
  1740. #define Recordset20_get_Status(This,pl)
  1741.     (This)->lpVtbl -> get_Status(This,pl)
  1742. #define Recordset20_get_State(This,plObjState)
  1743.     (This)->lpVtbl -> get_State(This,plObjState)
  1744. #define Recordset20__xClone(This,ppvObject)
  1745.     (This)->lpVtbl -> _xClone(This,ppvObject)
  1746. #define Recordset20_UpdateBatch(This,AffectRecords)
  1747.     (This)->lpVtbl -> UpdateBatch(This,AffectRecords)
  1748. #define Recordset20_CancelBatch(This,AffectRecords)
  1749.     (This)->lpVtbl -> CancelBatch(This,AffectRecords)
  1750. #define Recordset20_get_CursorLocation(This,plCursorLoc)
  1751.     (This)->lpVtbl -> get_CursorLocation(This,plCursorLoc)
  1752. #define Recordset20_put_CursorLocation(This,lCursorLoc)
  1753.     (This)->lpVtbl -> put_CursorLocation(This,lCursorLoc)
  1754. #define Recordset20_NextRecordset(This,RecordsAffected,ppiRs)
  1755.     (This)->lpVtbl -> NextRecordset(This,RecordsAffected,ppiRs)
  1756. #define Recordset20_Supports(This,CursorOptions,pb)
  1757.     (This)->lpVtbl -> Supports(This,CursorOptions,pb)
  1758. #define Recordset20_get_Collect(This,Index,pvar)
  1759.     (This)->lpVtbl -> get_Collect(This,Index,pvar)
  1760. #define Recordset20_put_Collect(This,Index,value)
  1761.     (This)->lpVtbl -> put_Collect(This,Index,value)
  1762. #define Recordset20_get_MarshalOptions(This,peMarshal)
  1763.     (This)->lpVtbl -> get_MarshalOptions(This,peMarshal)
  1764. #define Recordset20_put_MarshalOptions(This,eMarshal)
  1765.     (This)->lpVtbl -> put_MarshalOptions(This,eMarshal)
  1766. #define Recordset20_Find(This,Criteria,SkipRecords,SearchDirection,Start)
  1767.     (This)->lpVtbl -> Find(This,Criteria,SkipRecords,SearchDirection,Start)
  1768. #define Recordset20_Cancel(This)
  1769.     (This)->lpVtbl -> Cancel(This)
  1770. #define Recordset20_get_DataSource(This,ppunkDataSource)
  1771.     (This)->lpVtbl -> get_DataSource(This,ppunkDataSource)
  1772. #define Recordset20_putref_DataSource(This,punkDataSource)
  1773.     (This)->lpVtbl -> putref_DataSource(This,punkDataSource)
  1774. #define Recordset20__xSave(This,FileName,PersistFormat)
  1775.     (This)->lpVtbl -> _xSave(This,FileName,PersistFormat)
  1776. #define Recordset20_get_ActiveCommand(This,ppCmd)
  1777.     (This)->lpVtbl -> get_ActiveCommand(This,ppCmd)
  1778. #define Recordset20_put_StayInSync(This,bStayInSync)
  1779.     (This)->lpVtbl -> put_StayInSync(This,bStayInSync)
  1780. #define Recordset20_get_StayInSync(This,pbStayInSync)
  1781.     (This)->lpVtbl -> get_StayInSync(This,pbStayInSync)
  1782. #define Recordset20_GetString(This,StringFormat,NumRows,ColumnDelimeter,RowDelimeter,NullExpr,pRetString)
  1783.     (This)->lpVtbl -> GetString(This,StringFormat,NumRows,ColumnDelimeter,RowDelimeter,NullExpr,pRetString)
  1784. #define Recordset20_get_DataMember(This,pbstrDataMember)
  1785.     (This)->lpVtbl -> get_DataMember(This,pbstrDataMember)
  1786. #define Recordset20_put_DataMember(This,bstrDataMember)
  1787.     (This)->lpVtbl -> put_DataMember(This,bstrDataMember)
  1788. #define Recordset20_CompareBookmarks(This,Bookmark1,Bookmark2,pCompare)
  1789.     (This)->lpVtbl -> CompareBookmarks(This,Bookmark1,Bookmark2,pCompare)
  1790. #define Recordset20_Clone(This,LockType,ppvObject)
  1791.     (This)->lpVtbl -> Clone(This,LockType,ppvObject)
  1792. #define Recordset20_Resync(This,AffectRecords,ResyncValues)
  1793.     (This)->lpVtbl -> Resync(This,AffectRecords,ResyncValues)
  1794. #endif /* COBJMACROS */
  1795. #endif  /* C style interface */
  1796. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset20_Cancel_Proxy( 
  1797.     Recordset20 * This);
  1798. void __RPC_STUB Recordset20_Cancel_Stub(
  1799.     IRpcStubBuffer *This,
  1800.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1801.     PRPC_MESSAGE _pRpcMessage,
  1802.     DWORD *_pdwStubPhase);
  1803. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset20_get_DataSource_Proxy( 
  1804.     Recordset20 * This,
  1805.     /* [retval][out] */ IUnknown **ppunkDataSource);
  1806. void __RPC_STUB Recordset20_get_DataSource_Stub(
  1807.     IRpcStubBuffer *This,
  1808.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1809.     PRPC_MESSAGE _pRpcMessage,
  1810.     DWORD *_pdwStubPhase);
  1811. /* [helpcontext][propputref][id] */ HRESULT STDMETHODCALLTYPE Recordset20_putref_DataSource_Proxy( 
  1812.     Recordset20 * This,
  1813.     /* [in] */ IUnknown *punkDataSource);
  1814. void __RPC_STUB Recordset20_putref_DataSource_Stub(
  1815.     IRpcStubBuffer *This,
  1816.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1817.     PRPC_MESSAGE _pRpcMessage,
  1818.     DWORD *_pdwStubPhase);
  1819. /* [hidden] */ HRESULT STDMETHODCALLTYPE Recordset20__xSave_Proxy( 
  1820.     Recordset20 * This,
  1821.     /* [defaultvalue][in] */ BSTR FileName,
  1822.     /* [defaultvalue][in] */ PersistFormatEnum PersistFormat);
  1823. void __RPC_STUB Recordset20__xSave_Stub(
  1824.     IRpcStubBuffer *This,
  1825.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1826.     PRPC_MESSAGE _pRpcMessage,
  1827.     DWORD *_pdwStubPhase);
  1828. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset20_get_ActiveCommand_Proxy( 
  1829.     Recordset20 * This,
  1830.     /* [retval][out] */ IDispatch **ppCmd);
  1831. void __RPC_STUB Recordset20_get_ActiveCommand_Stub(
  1832.     IRpcStubBuffer *This,
  1833.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1834.     PRPC_MESSAGE _pRpcMessage,
  1835.     DWORD *_pdwStubPhase);
  1836. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset20_put_StayInSync_Proxy( 
  1837.     Recordset20 * This,
  1838.     /* [in] */ VARIANT_BOOL bStayInSync);
  1839. void __RPC_STUB Recordset20_put_StayInSync_Stub(
  1840.     IRpcStubBuffer *This,
  1841.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1842.     PRPC_MESSAGE _pRpcMessage,
  1843.     DWORD *_pdwStubPhase);
  1844. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset20_get_StayInSync_Proxy( 
  1845.     Recordset20 * This,
  1846.     /* [retval][out] */ VARIANT_BOOL *pbStayInSync);
  1847. void __RPC_STUB Recordset20_get_StayInSync_Stub(
  1848.     IRpcStubBuffer *This,
  1849.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1850.     PRPC_MESSAGE _pRpcMessage,
  1851.     DWORD *_pdwStubPhase);
  1852. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset20_GetString_Proxy( 
  1853.     Recordset20 * This,
  1854.     /* [defaultvalue][in] */ StringFormatEnum StringFormat,
  1855.     /* [defaultvalue][in] */ long NumRows,
  1856.     /* [defaultvalue][in] */ BSTR ColumnDelimeter,
  1857.     /* [defaultvalue][in] */ BSTR RowDelimeter,
  1858.     /* [defaultvalue][in] */ BSTR NullExpr,
  1859.     /* [retval][out] */ BSTR *pRetString);
  1860. void __RPC_STUB Recordset20_GetString_Stub(
  1861.     IRpcStubBuffer *This,
  1862.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1863.     PRPC_MESSAGE _pRpcMessage,
  1864.     DWORD *_pdwStubPhase);
  1865. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset20_get_DataMember_Proxy( 
  1866.     Recordset20 * This,
  1867.     /* [retval][out] */ BSTR *pbstrDataMember);
  1868. void __RPC_STUB Recordset20_get_DataMember_Stub(
  1869.     IRpcStubBuffer *This,
  1870.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1871.     PRPC_MESSAGE _pRpcMessage,
  1872.     DWORD *_pdwStubPhase);
  1873. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset20_put_DataMember_Proxy( 
  1874.     Recordset20 * This,
  1875.     /* [in] */ BSTR bstrDataMember);
  1876. void __RPC_STUB Recordset20_put_DataMember_Stub(
  1877.     IRpcStubBuffer *This,
  1878.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1879.     PRPC_MESSAGE _pRpcMessage,
  1880.     DWORD *_pdwStubPhase);
  1881. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset20_CompareBookmarks_Proxy( 
  1882.     Recordset20 * This,
  1883.     /* [in] */ VARIANT Bookmark1,
  1884.     /* [in] */ VARIANT Bookmark2,
  1885.     /* [retval][out] */ CompareEnum *pCompare);
  1886. void __RPC_STUB Recordset20_CompareBookmarks_Stub(
  1887.     IRpcStubBuffer *This,
  1888.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1889.     PRPC_MESSAGE _pRpcMessage,
  1890.     DWORD *_pdwStubPhase);
  1891. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset20_Clone_Proxy( 
  1892.     Recordset20 * This,
  1893.     /* [defaultvalue][in] */ LockTypeEnum LockType,
  1894.     /* [retval][out] */ _ADORecordset **ppvObject);
  1895. void __RPC_STUB Recordset20_Clone_Stub(
  1896.     IRpcStubBuffer *This,
  1897.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1898.     PRPC_MESSAGE _pRpcMessage,
  1899.     DWORD *_pdwStubPhase);
  1900. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset20_Resync_Proxy( 
  1901.     Recordset20 * This,
  1902.     /* [defaultvalue][in] */ AffectEnum AffectRecords,
  1903.     /* [defaultvalue][in] */ ResyncEnum ResyncValues);
  1904. void __RPC_STUB Recordset20_Resync_Stub(
  1905.     IRpcStubBuffer *This,
  1906.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1907.     PRPC_MESSAGE _pRpcMessage,
  1908.     DWORD *_pdwStubPhase);
  1909. #endif  /* __Recordset20_INTERFACE_DEFINED__ */
  1910. #ifndef __Recordset21_INTERFACE_DEFINED__
  1911. #define __Recordset21_INTERFACE_DEFINED__
  1912. /* interface Recordset21 */
  1913. /* [object][helpcontext][uuid][nonextensible][hidden][dual] */ 
  1914. EXTERN_C const IID IID_Recordset21;
  1915. #if defined(__cplusplus) && !defined(CINTERFACE)
  1916.     
  1917.     MIDL_INTERFACE("00000555-0000-0010-8000-00AA006D2EA4")
  1918.     Recordset21 : public Recordset20
  1919.     {
  1920.     public:
  1921.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Seek( 
  1922.             /* [in] */ VARIANT KeyValues,
  1923.             /* [defaultvalue][in] */ SeekEnum SeekOption = adSeekFirstEQ) = 0;
  1924.         
  1925.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Index( 
  1926.             /* [in] */ BSTR Index) = 0;
  1927.         
  1928.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Index( 
  1929.             /* [retval][out] */ BSTR *pbstrIndex) = 0;
  1930.         
  1931.     };
  1932.     
  1933. #else  /* C style interface */
  1934.     typedef struct Recordset21Vtbl
  1935.     {
  1936.         BEGIN_INTERFACE
  1937.         
  1938.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1939.             Recordset21 * This,
  1940.             /* [in] */ REFIID riid,
  1941.             /* [iid_is][out] */ void **ppvObject);
  1942.         
  1943.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1944.             Recordset21 * This);
  1945.         
  1946.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1947.             Recordset21 * This);
  1948.         
  1949.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1950.             Recordset21 * This,
  1951.             /* [out] */ UINT *pctinfo);
  1952.         
  1953.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1954.             Recordset21 * This,
  1955.             /* [in] */ UINT iTInfo,
  1956.             /* [in] */ LCID lcid,
  1957.             /* [out] */ ITypeInfo **ppTInfo);
  1958.         
  1959.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1960.             Recordset21 * This,
  1961.             /* [in] */ REFIID riid,
  1962.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1963.             /* [in] */ UINT cNames,
  1964.             /* [in] */ LCID lcid,
  1965.             /* [size_is][out] */ DISPID *rgDispId);
  1966.         
  1967.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1968.             Recordset21 * This,
  1969.             /* [in] */ DISPID dispIdMember,
  1970.             /* [in] */ REFIID riid,
  1971.             /* [in] */ LCID lcid,
  1972.             /* [in] */ WORD wFlags,
  1973.             /* [out][in] */ DISPPARAMS *pDispParams,
  1974.             /* [out] */ VARIANT *pVarResult,
  1975.             /* [out] */ EXCEPINFO *pExcepInfo,
  1976.             /* [out] */ UINT *puArgErr);
  1977.         
  1978.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )( 
  1979.             Recordset21 * This,
  1980.             /* [retval][out] */ ADOProperties **ppvObject);
  1981.         
  1982.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AbsolutePosition )( 
  1983.             Recordset21 * This,
  1984.             /* [retval][out] */ PositionEnum_Param *pl);
  1985.         
  1986.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AbsolutePosition )( 
  1987.             Recordset21 * This,
  1988.             /* [in] */ PositionEnum_Param Position);
  1989.         
  1990.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE *putref_ActiveADOConnection )( 
  1991.             Recordset21 * This,
  1992.             /* [in] */ IDispatch *pconn);
  1993.         
  1994.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveConnection )( 
  1995.             Recordset21 * This,
  1996.             /* [in] */ VARIANT vConn);
  1997.         
  1998.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveConnection )( 
  1999.             Recordset21 * This,
  2000.             /* [retval][out] */ VARIANT *pvar);
  2001.         
  2002.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BOF )( 
  2003.             Recordset21 * This,
  2004.             /* [retval][out] */ VARIANT_BOOL *pb);
  2005.         
  2006.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Bookmark )( 
  2007.             Recordset21 * This,
  2008.             /* [retval][out] */ VARIANT *pvBookmark);
  2009.         
  2010.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Bookmark )( 
  2011.             Recordset21 * This,
  2012.             /* [in] */ VARIANT vBookmark);
  2013.         
  2014.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CacheSize )( 
  2015.             Recordset21 * This,
  2016.             /* [retval][out] */ long *pl);
  2017.         
  2018.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CacheSize )( 
  2019.             Recordset21 * This,
  2020.             /* [in] */ long CacheSize);
  2021.         
  2022.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CursorType )( 
  2023.             Recordset21 * This,
  2024.             /* [retval][out] */ CursorTypeEnum *plCursorType);
  2025.         
  2026.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CursorType )( 
  2027.             Recordset21 * This,
  2028.             /* [in] */ CursorTypeEnum lCursorType);
  2029.         
  2030.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EOF )( 
  2031.             Recordset21 * This,
  2032.             /* [retval][out] */ VARIANT_BOOL *pb);
  2033.         
  2034.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Fields )( 
  2035.             Recordset21 * This,
  2036.             /* [retval][out] */ ADOFields **ppvObject);
  2037.         
  2038.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LockType )( 
  2039.             Recordset21 * This,
  2040.             /* [retval][out] */ LockTypeEnum *plLockType);
  2041.         
  2042.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LockType )( 
  2043.             Recordset21 * This,
  2044.             /* [in] */ LockTypeEnum lLockType);
  2045.         
  2046.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxRecords )( 
  2047.             Recordset21 * This,
  2048.             /* [retval][out] */ ADO_LONGPTR *plMaxRecords);
  2049.         
  2050.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaxRecords )( 
  2051.             Recordset21 * This,
  2052.             /* [in] */ ADO_LONGPTR lMaxRecords);
  2053.         
  2054.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecordCount )( 
  2055.             Recordset21 * This,
  2056.             /* [retval][out] */ ADO_LONGPTR *pl);
  2057.         
  2058.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE *putref_Source )( 
  2059.             Recordset21 * This,
  2060.             /* [in] */ IDispatch *pcmd);
  2061.         
  2062.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Source )( 
  2063.             Recordset21 * This,
  2064.             /* [in] */ BSTR bstrConn);
  2065.         
  2066.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
  2067.             Recordset21 * This,
  2068.             /* [retval][out] */ VARIANT *pvSource);
  2069.         
  2070.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddNew )( 
  2071.             Recordset21 * This,
  2072.             /* [optional][in] */ VARIANT FieldList,
  2073.             /* [optional][in] */ VARIANT Values);
  2074.         
  2075.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CancelUpdate )( 
  2076.             Recordset21 * This);
  2077.         
  2078.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
  2079.             Recordset21 * This);
  2080.         
  2081.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
  2082.             Recordset21 * This,
  2083.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  2084.         
  2085.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetRows )( 
  2086.             Recordset21 * This,
  2087.             /* [defaultvalue][in] */ long Rows,
  2088.             /* [optional][in] */ VARIANT Start,
  2089.             /* [optional][in] */ VARIANT Fields,
  2090.             /* [retval][out] */ VARIANT *pvar);
  2091.         
  2092.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
  2093.             Recordset21 * This,
  2094.             /* [in] */ ADO_LONGPTR NumRecords,
  2095.             /* [optional][in] */ VARIANT Start);
  2096.         
  2097.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MoveNext )( 
  2098.             Recordset21 * This);
  2099.         
  2100.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MovePrevious )( 
  2101.             Recordset21 * This);
  2102.         
  2103.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MoveFirst )( 
  2104.             Recordset21 * This);
  2105.         
  2106.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MoveLast )( 
  2107.             Recordset21 * This);
  2108.         
  2109.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
  2110.             Recordset21 * This,
  2111.             /* [optional][in] */ VARIANT Source,
  2112.             /* [optional][in] */ VARIANT ActiveConnection,
  2113.             /* [defaultvalue][in] */ CursorTypeEnum CursorType,
  2114.             /* [defaultvalue][in] */ LockTypeEnum LockType,
  2115.             /* [defaultvalue][in] */ LONG Options);
  2116.         
  2117.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Requery )( 
  2118.             Recordset21 * This,
  2119.             /* [defaultvalue][in] */ LONG Options);
  2120.         
  2121.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE *_xResync )( 
  2122.             Recordset21 * This,
  2123.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  2124.         
  2125.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
  2126.             Recordset21 * This,
  2127.             /* [optional][in] */ VARIANT Fields,
  2128.             /* [optional][in] */ VARIANT Values);
  2129.         
  2130.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AbsolutePage )( 
  2131.             Recordset21 * This,
  2132.             /* [retval][out] */ PositionEnum_Param *pl);
  2133.         
  2134.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AbsolutePage )( 
  2135.             Recordset21 * This,
  2136.             /* [in] */ PositionEnum_Param Page);
  2137.         
  2138.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EditMode )( 
  2139.             Recordset21 * This,
  2140.             /* [retval][out] */ EditModeEnum *pl);
  2141.         
  2142.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Filter )( 
  2143.             Recordset21 * This,
  2144.             /* [retval][out] */ VARIANT *Criteria);
  2145.         
  2146.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Filter )( 
  2147.             Recordset21 * This,
  2148.             /* [in] */ VARIANT Criteria);
  2149.         
  2150.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PageCount )( 
  2151.             Recordset21 * This,
  2152.             /* [retval][out] */ ADO_LONGPTR *pl);
  2153.         
  2154.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PageSize )( 
  2155.             Recordset21 * This,
  2156.             /* [retval][out] */ long *pl);
  2157.         
  2158.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PageSize )( 
  2159.             Recordset21 * This,
  2160.             /* [in] */ long PageSize);
  2161.         
  2162.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Sort )( 
  2163.             Recordset21 * This,
  2164.             /* [retval][out] */ BSTR *Criteria);
  2165.         
  2166.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Sort )( 
  2167.             Recordset21 * This,
  2168.             /* [in] */ BSTR Criteria);
  2169.         
  2170.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
  2171.             Recordset21 * This,
  2172.             /* [retval][out] */ long *pl);
  2173.         
  2174.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
  2175.             Recordset21 * This,
  2176.             /* [retval][out] */ LONG *plObjState);
  2177.         
  2178.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE *_xClone )( 
  2179.             Recordset21 * This,
  2180.             /* [retval][out] */ _ADORecordset **ppvObject);
  2181.         
  2182.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *UpdateBatch )( 
  2183.             Recordset21 * This,
  2184.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  2185.         
  2186.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CancelBatch )( 
  2187.             Recordset21 * This,
  2188.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  2189.         
  2190.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CursorLocation )( 
  2191.             Recordset21 * This,
  2192.             /* [retval][out] */ CursorLocationEnum *plCursorLoc);
  2193.         
  2194.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CursorLocation )( 
  2195.             Recordset21 * This,
  2196.             /* [in] */ CursorLocationEnum lCursorLoc);
  2197.         
  2198.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *NextADORecordset )( 
  2199.             Recordset21 * This,
  2200.             /* [optional][out] */ VARIANT *RecordsAffected,
  2201.             /* [retval][out] */ _ADORecordset **ppiRs);
  2202.         
  2203.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Supports )( 
  2204.             Recordset21 * This,
  2205.             /* [in] */ CursorOptionEnum CursorOptions,
  2206.             /* [retval][out] */ VARIANT_BOOL *pb);
  2207.         
  2208.         /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Collect )( 
  2209.             Recordset21 * This,
  2210.             /* [in] */ VARIANT Index,
  2211.             /* [retval][out] */ VARIANT *pvar);
  2212.         
  2213.         /* [hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Collect )( 
  2214.             Recordset21 * This,
  2215.             /* [in] */ VARIANT Index,
  2216.             /* [in] */ VARIANT value);
  2217.         
  2218.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MarshalOptions )( 
  2219.             Recordset21 * This,
  2220.             /* [retval][out] */ MarshalOptionsEnum *peMarshal);
  2221.         
  2222.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MarshalOptions )( 
  2223.             Recordset21 * This,
  2224.             /* [in] */ MarshalOptionsEnum eMarshal);
  2225.         
  2226.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
  2227.             Recordset21 * This,
  2228.             /* [in] */ BSTR Criteria,
  2229.             /* [defaultvalue][in] */ ADO_LONGPTR SkipRecords,
  2230.             /* [defaultvalue][in] */ SearchDirectionEnum SearchDirection,
  2231.             /* [optional][in] */ VARIANT Start);
  2232.         
  2233.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Cancel )( 
  2234.             Recordset21 * This);
  2235.         
  2236.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DataSource )( 
  2237.             Recordset21 * This,
  2238.             /* [retval][out] */ IUnknown **ppunkDataSource);
  2239.         
  2240.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE *putref_DataSource )( 
  2241.             Recordset21 * This,
  2242.             /* [in] */ IUnknown *punkDataSource);
  2243.         
  2244.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE *_xSave )( 
  2245.             Recordset21 * This,
  2246.             /* [defaultvalue][in] */ BSTR FileName,
  2247.             /* [defaultvalue][in] */ PersistFormatEnum PersistFormat);
  2248.         
  2249.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveCommand )( 
  2250.             Recordset21 * This,
  2251.             /* [retval][out] */ IDispatch **ppCmd);
  2252.         
  2253.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StayInSync )( 
  2254.             Recordset21 * This,
  2255.             /* [in] */ VARIANT_BOOL bStayInSync);
  2256.         
  2257.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StayInSync )( 
  2258.             Recordset21 * This,
  2259.             /* [retval][out] */ VARIANT_BOOL *pbStayInSync);
  2260.         
  2261.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetString )( 
  2262.             Recordset21 * This,
  2263.             /* [defaultvalue][in] */ StringFormatEnum StringFormat,
  2264.             /* [defaultvalue][in] */ long NumRows,
  2265.             /* [defaultvalue][in] */ BSTR ColumnDelimeter,
  2266.             /* [defaultvalue][in] */ BSTR RowDelimeter,
  2267.             /* [defaultvalue][in] */ BSTR NullExpr,
  2268.             /* [retval][out] */ BSTR *pRetString);
  2269.         
  2270.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DataMember )( 
  2271.             Recordset21 * This,
  2272.             /* [retval][out] */ BSTR *pbstrDataMember);
  2273.         
  2274.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DataMember )( 
  2275.             Recordset21 * This,
  2276.             /* [in] */ BSTR bstrDataMember);
  2277.         
  2278.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CompareBookmarks )( 
  2279.             Recordset21 * This,
  2280.             /* [in] */ VARIANT Bookmark1,
  2281.             /* [in] */ VARIANT Bookmark2,
  2282.             /* [retval][out] */ CompareEnum *pCompare);
  2283.         
  2284.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
  2285.             Recordset21 * This,
  2286.             /* [defaultvalue][in] */ LockTypeEnum LockType,
  2287.             /* [retval][out] */ _ADORecordset **ppvObject);
  2288.         
  2289.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Resync )( 
  2290.             Recordset21 * This,
  2291.             /* [defaultvalue][in] */ AffectEnum AffectRecords,
  2292.             /* [defaultvalue][in] */ ResyncEnum ResyncValues);
  2293.         
  2294.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Seek )( 
  2295.             Recordset21 * This,
  2296.             /* [in] */ VARIANT KeyValues,
  2297.             /* [defaultvalue][in] */ SeekEnum SeekOption);
  2298.         
  2299.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Index )( 
  2300.             Recordset21 * This,
  2301.             /* [in] */ BSTR Index);
  2302.         
  2303.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
  2304.             Recordset21 * This,
  2305.             /* [retval][out] */ BSTR *pbstrIndex);
  2306.         
  2307.         END_INTERFACE
  2308.     } Recordset21Vtbl;
  2309.     interface Recordset21
  2310.     {
  2311.         CONST_VTBL struct Recordset21Vtbl *lpVtbl;
  2312.     };
  2313.     
  2314. #ifdef COBJMACROS
  2315. #define Recordset21_QueryInterface(This,riid,ppvObject)
  2316.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2317. #define Recordset21_AddRef(This)
  2318.     (This)->lpVtbl -> AddRef(This)
  2319. #define Recordset21_Release(This)
  2320.     (This)->lpVtbl -> Release(This)
  2321. #define Recordset21_GetTypeInfoCount(This,pctinfo)
  2322.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2323. #define Recordset21_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2324.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2325. #define Recordset21_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2326.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2327. #define Recordset21_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2328.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2329. #define Recordset21_get_Properties(This,ppvObject)
  2330.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  2331. #define Recordset21_get_AbsolutePosition(This,pl)
  2332.     (This)->lpVtbl -> get_AbsolutePosition(This,pl)
  2333. #define Recordset21_put_AbsolutePosition(This,Position)
  2334.     (This)->lpVtbl -> put_AbsolutePosition(This,Position)
  2335. #define Recordset21_putref_ActiveConnection(This,pconn)
  2336.     (This)->lpVtbl -> putref_ActiveConnection(This,pconn)
  2337. #define Recordset21_put_ActiveConnection(This,vConn)
  2338.     (This)->lpVtbl -> put_ActiveConnection(This,vConn)
  2339. #define Recordset21_get_ActiveConnection(This,pvar)
  2340.     (This)->lpVtbl -> get_ActiveConnection(This,pvar)
  2341. #define Recordset21_get_BOF(This,pb)
  2342.     (This)->lpVtbl -> get_BOF(This,pb)
  2343. #define Recordset21_get_Bookmark(This,pvBookmark)
  2344.     (This)->lpVtbl -> get_Bookmark(This,pvBookmark)
  2345. #define Recordset21_put_Bookmark(This,vBookmark)
  2346.     (This)->lpVtbl -> put_Bookmark(This,vBookmark)
  2347. #define Recordset21_get_CacheSize(This,pl)
  2348.     (This)->lpVtbl -> get_CacheSize(This,pl)
  2349. #define Recordset21_put_CacheSize(This,CacheSize)
  2350.     (This)->lpVtbl -> put_CacheSize(This,CacheSize)
  2351. #define Recordset21_get_CursorType(This,plCursorType)
  2352.     (This)->lpVtbl -> get_CursorType(This,plCursorType)
  2353. #define Recordset21_put_CursorType(This,lCursorType)
  2354.     (This)->lpVtbl -> put_CursorType(This,lCursorType)
  2355. #define Recordset21_get_EOF(This,pb)
  2356.     (This)->lpVtbl -> get_EOF(This,pb)
  2357. #define Recordset21_get_Fields(This,ppvObject)
  2358.     (This)->lpVtbl -> get_Fields(This,ppvObject)
  2359. #define Recordset21_get_LockType(This,plLockType)
  2360.     (This)->lpVtbl -> get_LockType(This,plLockType)
  2361. #define Recordset21_put_LockType(This,lLockType)
  2362.     (This)->lpVtbl -> put_LockType(This,lLockType)
  2363. #define Recordset21_get_MaxRecords(This,plMaxRecords)
  2364.     (This)->lpVtbl -> get_MaxRecords(This,plMaxRecords)
  2365. #define Recordset21_put_MaxRecords(This,lMaxRecords)
  2366.     (This)->lpVtbl -> put_MaxRecords(This,lMaxRecords)
  2367. #define Recordset21_get_RecordCount(This,pl)
  2368.     (This)->lpVtbl -> get_RecordCount(This,pl)
  2369. #define Recordset21_putref_Source(This,pcmd)
  2370.     (This)->lpVtbl -> putref_Source(This,pcmd)
  2371. #define Recordset21_put_Source(This,bstrConn)
  2372.     (This)->lpVtbl -> put_Source(This,bstrConn)
  2373. #define Recordset21_get_Source(This,pvSource)
  2374.     (This)->lpVtbl -> get_Source(This,pvSource)
  2375. #define Recordset21_AddNew(This,FieldList,Values)
  2376.     (This)->lpVtbl -> AddNew(This,FieldList,Values)
  2377. #define Recordset21_CancelUpdate(This)
  2378.     (This)->lpVtbl -> CancelUpdate(This)
  2379. #define Recordset21_Close(This)
  2380.     (This)->lpVtbl -> Close(This)
  2381. #define Recordset21_Delete(This,AffectRecords)
  2382.     (This)->lpVtbl -> Delete(This,AffectRecords)
  2383. #define Recordset21_GetRows(This,Rows,Start,Fields,pvar)
  2384.     (This)->lpVtbl -> GetRows(This,Rows,Start,Fields,pvar)
  2385. #define Recordset21_Move(This,NumRecords,Start)
  2386.     (This)->lpVtbl -> Move(This,NumRecords,Start)
  2387. #define Recordset21_MoveNext(This)
  2388.     (This)->lpVtbl -> MoveNext(This)
  2389. #define Recordset21_MovePrevious(This)
  2390.     (This)->lpVtbl -> MovePrevious(This)
  2391. #define Recordset21_MoveFirst(This)
  2392.     (This)->lpVtbl -> MoveFirst(This)
  2393. #define Recordset21_MoveLast(This)
  2394.     (This)->lpVtbl -> MoveLast(This)
  2395. #define Recordset21_Open(This,Source,ActiveConnection,CursorType,LockType,Options)
  2396.     (This)->lpVtbl -> Open(This,Source,ActiveConnection,CursorType,LockType,Options)
  2397. #define Recordset21_Requery(This,Options)
  2398.     (This)->lpVtbl -> Requery(This,Options)
  2399. #define Recordset21__xResync(This,AffectRecords)
  2400.     (This)->lpVtbl -> _xResync(This,AffectRecords)
  2401. #define Recordset21_Update(This,Fields,Values)
  2402.     (This)->lpVtbl -> Update(This,Fields,Values)
  2403. #define Recordset21_get_AbsolutePage(This,pl)
  2404.     (This)->lpVtbl -> get_AbsolutePage(This,pl)
  2405. #define Recordset21_put_AbsolutePage(This,Page)
  2406.     (This)->lpVtbl -> put_AbsolutePage(This,Page)
  2407. #define Recordset21_get_EditMode(This,pl)
  2408.     (This)->lpVtbl -> get_EditMode(This,pl)
  2409. #define Recordset21_get_Filter(This,Criteria)
  2410.     (This)->lpVtbl -> get_Filter(This,Criteria)
  2411. #define Recordset21_put_Filter(This,Criteria)
  2412.     (This)->lpVtbl -> put_Filter(This,Criteria)
  2413. #define Recordset21_get_PageCount(This,pl)
  2414.     (This)->lpVtbl -> get_PageCount(This,pl)
  2415. #define Recordset21_get_PageSize(This,pl)
  2416.     (This)->lpVtbl -> get_PageSize(This,pl)
  2417. #define Recordset21_put_PageSize(This,PageSize)
  2418.     (This)->lpVtbl -> put_PageSize(This,PageSize)
  2419. #define Recordset21_get_Sort(This,Criteria)
  2420.     (This)->lpVtbl -> get_Sort(This,Criteria)
  2421. #define Recordset21_put_Sort(This,Criteria)
  2422.     (This)->lpVtbl -> put_Sort(This,Criteria)
  2423. #define Recordset21_get_Status(This,pl)
  2424.     (This)->lpVtbl -> get_Status(This,pl)
  2425. #define Recordset21_get_State(This,plObjState)
  2426.     (This)->lpVtbl -> get_State(This,plObjState)
  2427. #define Recordset21__xClone(This,ppvObject)
  2428.     (This)->lpVtbl -> _xClone(This,ppvObject)
  2429. #define Recordset21_UpdateBatch(This,AffectRecords)
  2430.     (This)->lpVtbl -> UpdateBatch(This,AffectRecords)
  2431. #define Recordset21_CancelBatch(This,AffectRecords)
  2432.     (This)->lpVtbl -> CancelBatch(This,AffectRecords)
  2433. #define Recordset21_get_CursorLocation(This,plCursorLoc)
  2434.     (This)->lpVtbl -> get_CursorLocation(This,plCursorLoc)
  2435. #define Recordset21_put_CursorLocation(This,lCursorLoc)
  2436.     (This)->lpVtbl -> put_CursorLocation(This,lCursorLoc)
  2437. #define Recordset21_NextRecordset(This,RecordsAffected,ppiRs)
  2438.     (This)->lpVtbl -> NextRecordset(This,RecordsAffected,ppiRs)
  2439. #define Recordset21_Supports(This,CursorOptions,pb)
  2440.     (This)->lpVtbl -> Supports(This,CursorOptions,pb)
  2441. #define Recordset21_get_Collect(This,Index,pvar)
  2442.     (This)->lpVtbl -> get_Collect(This,Index,pvar)
  2443. #define Recordset21_put_Collect(This,Index,value)
  2444.     (This)->lpVtbl -> put_Collect(This,Index,value)
  2445. #define Recordset21_get_MarshalOptions(This,peMarshal)
  2446.     (This)->lpVtbl -> get_MarshalOptions(This,peMarshal)
  2447. #define Recordset21_put_MarshalOptions(This,eMarshal)
  2448.     (This)->lpVtbl -> put_MarshalOptions(This,eMarshal)
  2449. #define Recordset21_Find(This,Criteria,SkipRecords,SearchDirection,Start)
  2450.     (This)->lpVtbl -> Find(This,Criteria,SkipRecords,SearchDirection,Start)
  2451. #define Recordset21_Cancel(This)
  2452.     (This)->lpVtbl -> Cancel(This)
  2453. #define Recordset21_get_DataSource(This,ppunkDataSource)
  2454.     (This)->lpVtbl -> get_DataSource(This,ppunkDataSource)
  2455. #define Recordset21_putref_DataSource(This,punkDataSource)
  2456.     (This)->lpVtbl -> putref_DataSource(This,punkDataSource)
  2457. #define Recordset21__xSave(This,FileName,PersistFormat)
  2458.     (This)->lpVtbl -> _xSave(This,FileName,PersistFormat)
  2459. #define Recordset21_get_ActiveCommand(This,ppCmd)
  2460.     (This)->lpVtbl -> get_ActiveCommand(This,ppCmd)
  2461. #define Recordset21_put_StayInSync(This,bStayInSync)
  2462.     (This)->lpVtbl -> put_StayInSync(This,bStayInSync)
  2463. #define Recordset21_get_StayInSync(This,pbStayInSync)
  2464.     (This)->lpVtbl -> get_StayInSync(This,pbStayInSync)
  2465. #define Recordset21_GetString(This,StringFormat,NumRows,ColumnDelimeter,RowDelimeter,NullExpr,pRetString)
  2466.     (This)->lpVtbl -> GetString(This,StringFormat,NumRows,ColumnDelimeter,RowDelimeter,NullExpr,pRetString)
  2467. #define Recordset21_get_DataMember(This,pbstrDataMember)
  2468.     (This)->lpVtbl -> get_DataMember(This,pbstrDataMember)
  2469. #define Recordset21_put_DataMember(This,bstrDataMember)
  2470.     (This)->lpVtbl -> put_DataMember(This,bstrDataMember)
  2471. #define Recordset21_CompareBookmarks(This,Bookmark1,Bookmark2,pCompare)
  2472.     (This)->lpVtbl -> CompareBookmarks(This,Bookmark1,Bookmark2,pCompare)
  2473. #define Recordset21_Clone(This,LockType,ppvObject)
  2474.     (This)->lpVtbl -> Clone(This,LockType,ppvObject)
  2475. #define Recordset21_Resync(This,AffectRecords,ResyncValues)
  2476.     (This)->lpVtbl -> Resync(This,AffectRecords,ResyncValues)
  2477. #define Recordset21_Seek(This,KeyValues,SeekOption)
  2478.     (This)->lpVtbl -> Seek(This,KeyValues,SeekOption)
  2479. #define Recordset21_put_Index(This,Index)
  2480.     (This)->lpVtbl -> put_Index(This,Index)
  2481. #define Recordset21_get_Index(This,pbstrIndex)
  2482.     (This)->lpVtbl -> get_Index(This,pbstrIndex)
  2483. #endif /* COBJMACROS */
  2484. #endif  /* C style interface */
  2485. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Recordset21_Seek_Proxy( 
  2486.     Recordset21 * This,
  2487.     /* [in] */ VARIANT KeyValues,
  2488.     /* [defaultvalue][in] */ SeekEnum SeekOption);
  2489. void __RPC_STUB Recordset21_Seek_Stub(
  2490.     IRpcStubBuffer *This,
  2491.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2492.     PRPC_MESSAGE _pRpcMessage,
  2493.     DWORD *_pdwStubPhase);
  2494. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Recordset21_put_Index_Proxy( 
  2495.     Recordset21 * This,
  2496.     /* [in] */ BSTR Index);
  2497. void __RPC_STUB Recordset21_put_Index_Stub(
  2498.     IRpcStubBuffer *This,
  2499.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2500.     PRPC_MESSAGE _pRpcMessage,
  2501.     DWORD *_pdwStubPhase);
  2502. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Recordset21_get_Index_Proxy( 
  2503.     Recordset21 * This,
  2504.     /* [retval][out] */ BSTR *pbstrIndex);
  2505. void __RPC_STUB Recordset21_get_Index_Stub(
  2506.     IRpcStubBuffer *This,
  2507.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2508.     PRPC_MESSAGE _pRpcMessage,
  2509.     DWORD *_pdwStubPhase);
  2510. #endif  /* __Recordset21_INTERFACE_DEFINED__ */
  2511. #ifndef ___Recordset_INTERFACE_DEFINED__
  2512. #define ___Recordset_INTERFACE_DEFINED__
  2513. /* interface _ADORecordset */
  2514. /* [object][helpcontext][uuid][nonextensible][dual] */ 
  2515. EXTERN_C const IID IID__Recordset;
  2516. #if defined(__cplusplus) && !defined(CINTERFACE)
  2517.     
  2518.     MIDL_INTERFACE("00000556-0000-0010-8000-00AA006D2EA4")
  2519.     _ADORecordset : public Recordset21
  2520.     {
  2521.     public:
  2522.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Save( 
  2523.             /* [optional][in] */ VARIANT Destination,
  2524.             /* [defaultvalue][in] */ PersistFormatEnum PersistFormat = adPersistADTG) = 0;
  2525.         
  2526.     };
  2527.     
  2528. #else  /* C style interface */
  2529.     typedef struct _RecordsetVtbl
  2530.     {
  2531.         BEGIN_INTERFACE
  2532.         
  2533.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2534.             _ADORecordset * This,
  2535.             /* [in] */ REFIID riid,
  2536.             /* [iid_is][out] */ void **ppvObject);
  2537.         
  2538.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2539.             _ADORecordset * This);
  2540.         
  2541.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2542.             _ADORecordset * This);
  2543.         
  2544.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2545.             _ADORecordset * This,
  2546.             /* [out] */ UINT *pctinfo);
  2547.         
  2548.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2549.             _ADORecordset * This,
  2550.             /* [in] */ UINT iTInfo,
  2551.             /* [in] */ LCID lcid,
  2552.             /* [out] */ ITypeInfo **ppTInfo);
  2553.         
  2554.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2555.             _ADORecordset * This,
  2556.             /* [in] */ REFIID riid,
  2557.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2558.             /* [in] */ UINT cNames,
  2559.             /* [in] */ LCID lcid,
  2560.             /* [size_is][out] */ DISPID *rgDispId);
  2561.         
  2562.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2563.             _ADORecordset * This,
  2564.             /* [in] */ DISPID dispIdMember,
  2565.             /* [in] */ REFIID riid,
  2566.             /* [in] */ LCID lcid,
  2567.             /* [in] */ WORD wFlags,
  2568.             /* [out][in] */ DISPPARAMS *pDispParams,
  2569.             /* [out] */ VARIANT *pVarResult,
  2570.             /* [out] */ EXCEPINFO *pExcepInfo,
  2571.             /* [out] */ UINT *puArgErr);
  2572.         
  2573.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )( 
  2574.             _ADORecordset * This,
  2575.             /* [retval][out] */ ADOProperties **ppvObject);
  2576.         
  2577.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AbsolutePosition )( 
  2578.             _ADORecordset * This,
  2579.             /* [retval][out] */ PositionEnum_Param *pl);
  2580.         
  2581.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AbsolutePosition )( 
  2582.             _ADORecordset * This,
  2583.             /* [in] */ PositionEnum_Param Position);
  2584.         
  2585.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE *putref_ActiveADOConnection )( 
  2586.             _ADORecordset * This,
  2587.             /* [in] */ IDispatch *pconn);
  2588.         
  2589.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveConnection )( 
  2590.             _ADORecordset * This,
  2591.             /* [in] */ VARIANT vConn);
  2592.         
  2593.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveConnection )( 
  2594.             _ADORecordset * This,
  2595.             /* [retval][out] */ VARIANT *pvar);
  2596.         
  2597.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BOF )( 
  2598.             _ADORecordset * This,
  2599.             /* [retval][out] */ VARIANT_BOOL *pb);
  2600.         
  2601.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Bookmark )( 
  2602.             _ADORecordset * This,
  2603.             /* [retval][out] */ VARIANT *pvBookmark);
  2604.         
  2605.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Bookmark )( 
  2606.             _ADORecordset * This,
  2607.             /* [in] */ VARIANT vBookmark);
  2608.         
  2609.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CacheSize )( 
  2610.             _ADORecordset * This,
  2611.             /* [retval][out] */ long *pl);
  2612.         
  2613.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CacheSize )( 
  2614.             _ADORecordset * This,
  2615.             /* [in] */ long CacheSize);
  2616.         
  2617.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CursorType )( 
  2618.             _ADORecordset * This,
  2619.             /* [retval][out] */ CursorTypeEnum *plCursorType);
  2620.         
  2621.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CursorType )( 
  2622.             _ADORecordset * This,
  2623.             /* [in] */ CursorTypeEnum lCursorType);
  2624.         
  2625.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EOF )( 
  2626.             _ADORecordset * This,
  2627.             /* [retval][out] */ VARIANT_BOOL *pb);
  2628.         
  2629.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Fields )( 
  2630.             _ADORecordset * This,
  2631.             /* [retval][out] */ ADOFields **ppvObject);
  2632.         
  2633.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LockType )( 
  2634.             _ADORecordset * This,
  2635.             /* [retval][out] */ LockTypeEnum *plLockType);
  2636.         
  2637.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LockType )( 
  2638.             _ADORecordset * This,
  2639.             /* [in] */ LockTypeEnum lLockType);
  2640.         
  2641.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxRecords )( 
  2642.             _ADORecordset * This,
  2643.             /* [retval][out] */ ADO_LONGPTR *plMaxRecords);
  2644.         
  2645.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaxRecords )( 
  2646.             _ADORecordset * This,
  2647.             /* [in] */ ADO_LONGPTR lMaxRecords);
  2648.         
  2649.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecordCount )( 
  2650.             _ADORecordset * This,
  2651.             /* [retval][out] */ ADO_LONGPTR *pl);
  2652.         
  2653.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE *putref_Source )( 
  2654.             _ADORecordset * This,
  2655.             /* [in] */ IDispatch *pcmd);
  2656.         
  2657.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Source )( 
  2658.             _ADORecordset * This,
  2659.             /* [in] */ BSTR bstrConn);
  2660.         
  2661.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
  2662.             _ADORecordset * This,
  2663.             /* [retval][out] */ VARIANT *pvSource);
  2664.         
  2665.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddNew )( 
  2666.             _ADORecordset * This,
  2667.             /* [optional][in] */ VARIANT FieldList,
  2668.             /* [optional][in] */ VARIANT Values);
  2669.         
  2670.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CancelUpdate )( 
  2671.             _ADORecordset * This);
  2672.         
  2673.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
  2674.             _ADORecordset * This);
  2675.         
  2676.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
  2677.             _ADORecordset * This,
  2678.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  2679.         
  2680.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetRows )( 
  2681.             _ADORecordset * This,
  2682.             /* [defaultvalue][in] */ long Rows,
  2683.             /* [optional][in] */ VARIANT Start,
  2684.             /* [optional][in] */ VARIANT Fields,
  2685.             /* [retval][out] */ VARIANT *pvar);
  2686.         
  2687.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
  2688.             _ADORecordset * This,
  2689.             /* [in] */ ADO_LONGPTR NumRecords,
  2690.             /* [optional][in] */ VARIANT Start);
  2691.         
  2692.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MoveNext )( 
  2693.             _ADORecordset * This);
  2694.         
  2695.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MovePrevious )( 
  2696.             _ADORecordset * This);
  2697.         
  2698.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MoveFirst )( 
  2699.             _ADORecordset * This);
  2700.         
  2701.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MoveLast )( 
  2702.             _ADORecordset * This);
  2703.         
  2704.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
  2705.             _ADORecordset * This,
  2706.             /* [optional][in] */ VARIANT Source,
  2707.             /* [optional][in] */ VARIANT ActiveConnection,
  2708.             /* [defaultvalue][in] */ CursorTypeEnum CursorType,
  2709.             /* [defaultvalue][in] */ LockTypeEnum LockType,
  2710.             /* [defaultvalue][in] */ LONG Options);
  2711.         
  2712.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Requery )( 
  2713.             _ADORecordset * This,
  2714.             /* [defaultvalue][in] */ LONG Options);
  2715.         
  2716.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE *_xResync )( 
  2717.             _ADORecordset * This,
  2718.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  2719.         
  2720.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
  2721.             _ADORecordset * This,
  2722.             /* [optional][in] */ VARIANT Fields,
  2723.             /* [optional][in] */ VARIANT Values);
  2724.         
  2725.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AbsolutePage )( 
  2726.             _ADORecordset * This,
  2727.             /* [retval][out] */ PositionEnum_Param *pl);
  2728.         
  2729.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AbsolutePage )( 
  2730.             _ADORecordset * This,
  2731.             /* [in] */ PositionEnum_Param Page);
  2732.         
  2733.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EditMode )( 
  2734.             _ADORecordset * This,
  2735.             /* [retval][out] */ EditModeEnum *pl);
  2736.         
  2737.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Filter )( 
  2738.             _ADORecordset * This,
  2739.             /* [retval][out] */ VARIANT *Criteria);
  2740.         
  2741.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Filter )( 
  2742.             _ADORecordset * This,
  2743.             /* [in] */ VARIANT Criteria);
  2744.         
  2745.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PageCount )( 
  2746.             _ADORecordset * This,
  2747.             /* [retval][out] */ ADO_LONGPTR *pl);
  2748.         
  2749.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PageSize )( 
  2750.             _ADORecordset * This,
  2751.             /* [retval][out] */ long *pl);
  2752.         
  2753.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PageSize )( 
  2754.             _ADORecordset * This,
  2755.             /* [in] */ long PageSize);
  2756.         
  2757.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Sort )( 
  2758.             _ADORecordset * This,
  2759.             /* [retval][out] */ BSTR *Criteria);
  2760.         
  2761.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Sort )( 
  2762.             _ADORecordset * This,
  2763.             /* [in] */ BSTR Criteria);
  2764.         
  2765.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
  2766.             _ADORecordset * This,
  2767.             /* [retval][out] */ long *pl);
  2768.         
  2769.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
  2770.             _ADORecordset * This,
  2771.             /* [retval][out] */ LONG *plObjState);
  2772.         
  2773.         /* [hidden] */ HRESULT ( STDMETHODCALLTYPE *_xClone )( 
  2774.             _ADORecordset * This,
  2775.             /* [retval][out] */ _ADORecordset **ppvObject);
  2776.         
  2777.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *UpdateBatch )( 
  2778.             _ADORecordset * This,
  2779.             /* [defaultvalue][in] */ AffectEnum AffectRecords);
  2780.         
  2781.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CancelBatch )( 
  2782.             _ADORecordset * This,
  2783.             /* [defaultvalue][in] */ AffectEnum AffectRecords);