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

模拟服务器

开发平台:

C/C++

  1.             /* [in] */ _ADORecordset *pRecordset) = 0;
  2.         
  3.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE WillChangeRecord( 
  4.             /* [in] */ EventReasonEnum adReason,
  5.             /* [in] */ LONG cRecords,
  6.             /* [out][in] */ EventStatusEnum *adStatus,
  7.             /* [in] */ _ADORecordset *pRecordset) = 0;
  8.         
  9.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordChangeComplete( 
  10.             /* [in] */ EventReasonEnum adReason,
  11.             /* [in] */ LONG cRecords,
  12.             /* [in] */ ADOError *pError,
  13.             /* [out][in] */ EventStatusEnum *adStatus,
  14.             /* [in] */ _ADORecordset *pRecordset) = 0;
  15.         
  16.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE WillChangeRecordset( 
  17.             /* [in] */ EventReasonEnum adReason,
  18.             /* [out][in] */ EventStatusEnum *adStatus,
  19.             /* [in] */ _ADORecordset *pRecordset) = 0;
  20.         
  21.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetChangeComplete( 
  22.             /* [in] */ EventReasonEnum adReason,
  23.             /* [in] */ ADOError *pError,
  24.             /* [out][in] */ EventStatusEnum *adStatus,
  25.             /* [in] */ _ADORecordset *pRecordset) = 0;
  26.         
  27.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE WillMove( 
  28.             /* [in] */ EventReasonEnum adReason,
  29.             /* [out][in] */ EventStatusEnum *adStatus,
  30.             /* [in] */ _ADORecordset *pRecordset) = 0;
  31.         
  32.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE MoveComplete( 
  33.             /* [in] */ EventReasonEnum adReason,
  34.             /* [in] */ ADOError *pError,
  35.             /* [out][in] */ EventStatusEnum *adStatus,
  36.             /* [in] */ _ADORecordset *pRecordset) = 0;
  37.         
  38.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE EndOfRecordset( 
  39.             /* [out][in] */ VARIANT_BOOL *fMoreData,
  40.             /* [out][in] */ EventStatusEnum *adStatus,
  41.             /* [in] */ _ADORecordset *pRecordset) = 0;
  42.         
  43.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE FetchProgress( 
  44.             /* [in] */ long Progress,
  45.             /* [in] */ long MaxProgress,
  46.             /* [out][in] */ EventStatusEnum *adStatus,
  47.             /* [in] */ _ADORecordset *pRecordset) = 0;
  48.         
  49.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE FetchComplete( 
  50.             /* [in] */ ADOError *pError,
  51.             /* [out][in] */ EventStatusEnum *adStatus,
  52.             /* [in] */ _ADORecordset *pRecordset) = 0;
  53.         
  54.     };
  55.     
  56. #else  /* C style interface */
  57.     typedef struct RecordsetEventsVtVtbl
  58.     {
  59.         BEGIN_INTERFACE
  60.         
  61.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  62.             RecordsetEventsVt * This,
  63.             /* [in] */ REFIID riid,
  64.             /* [iid_is][out] */ void **ppvObject);
  65.         
  66.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  67.             RecordsetEventsVt * This);
  68.         
  69.         ULONG ( STDMETHODCALLTYPE *Release )( 
  70.             RecordsetEventsVt * This);
  71.         
  72.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *WillChangeADOField )( 
  73.             RecordsetEventsVt * This,
  74.             /* [in] */ LONG cFields,
  75.             /* [in] */ VARIANT Fields,
  76.             /* [out][in] */ EventStatusEnum *adStatus,
  77.             /* [in] */ _ADORecordset *pRecordset);
  78.         
  79.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *FieldChangeComplete )( 
  80.             RecordsetEventsVt * This,
  81.             /* [in] */ LONG cFields,
  82.             /* [in] */ VARIANT Fields,
  83.             /* [in] */ ADOError *pError,
  84.             /* [out][in] */ EventStatusEnum *adStatus,
  85.             /* [in] */ _ADORecordset *pRecordset);
  86.         
  87.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *WillChangeADORecord )( 
  88.             RecordsetEventsVt * This,
  89.             /* [in] */ EventReasonEnum adReason,
  90.             /* [in] */ LONG cRecords,
  91.             /* [out][in] */ EventStatusEnum *adStatus,
  92.             /* [in] */ _ADORecordset *pRecordset);
  93.         
  94.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RecordChangeComplete )( 
  95.             RecordsetEventsVt * This,
  96.             /* [in] */ EventReasonEnum adReason,
  97.             /* [in] */ LONG cRecords,
  98.             /* [in] */ ADOError *pError,
  99.             /* [out][in] */ EventStatusEnum *adStatus,
  100.             /* [in] */ _ADORecordset *pRecordset);
  101.         
  102.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *WillChangeADORecordset )( 
  103.             RecordsetEventsVt * This,
  104.             /* [in] */ EventReasonEnum adReason,
  105.             /* [out][in] */ EventStatusEnum *adStatus,
  106.             /* [in] */ _ADORecordset *pRecordset);
  107.         
  108.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RecordsetChangeComplete )( 
  109.             RecordsetEventsVt * This,
  110.             /* [in] */ EventReasonEnum adReason,
  111.             /* [in] */ ADOError *pError,
  112.             /* [out][in] */ EventStatusEnum *adStatus,
  113.             /* [in] */ _ADORecordset *pRecordset);
  114.         
  115.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *WillMove )( 
  116.             RecordsetEventsVt * This,
  117.             /* [in] */ EventReasonEnum adReason,
  118.             /* [out][in] */ EventStatusEnum *adStatus,
  119.             /* [in] */ _ADORecordset *pRecordset);
  120.         
  121.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MoveComplete )( 
  122.             RecordsetEventsVt * This,
  123.             /* [in] */ EventReasonEnum adReason,
  124.             /* [in] */ ADOError *pError,
  125.             /* [out][in] */ EventStatusEnum *adStatus,
  126.             /* [in] */ _ADORecordset *pRecordset);
  127.         
  128.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *EndOfADORecordset )( 
  129.             RecordsetEventsVt * This,
  130.             /* [out][in] */ VARIANT_BOOL *fMoreData,
  131.             /* [out][in] */ EventStatusEnum *adStatus,
  132.             /* [in] */ _ADORecordset *pRecordset);
  133.         
  134.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *FetchProgress )( 
  135.             RecordsetEventsVt * This,
  136.             /* [in] */ long Progress,
  137.             /* [in] */ long MaxProgress,
  138.             /* [out][in] */ EventStatusEnum *adStatus,
  139.             /* [in] */ _ADORecordset *pRecordset);
  140.         
  141.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *FetchComplete )( 
  142.             RecordsetEventsVt * This,
  143.             /* [in] */ ADOError *pError,
  144.             /* [out][in] */ EventStatusEnum *adStatus,
  145.             /* [in] */ _ADORecordset *pRecordset);
  146.         
  147.         END_INTERFACE
  148.     } RecordsetEventsVtVtbl;
  149.     interface RecordsetEventsVt
  150.     {
  151.         CONST_VTBL struct RecordsetEventsVtVtbl *lpVtbl;
  152.     };
  153.     
  154. #ifdef COBJMACROS
  155. #define RecordsetEventsVt_QueryInterface(This,riid,ppvObject)
  156.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  157. #define RecordsetEventsVt_AddRef(This)
  158.     (This)->lpVtbl -> AddRef(This)
  159. #define RecordsetEventsVt_Release(This)
  160.     (This)->lpVtbl -> Release(This)
  161. #define RecordsetEventsVt_WillChangeField(This,cFields,Fields,adStatus,pRecordset)
  162.     (This)->lpVtbl -> WillChangeField(This,cFields,Fields,adStatus,pRecordset)
  163. #define RecordsetEventsVt_FieldChangeComplete(This,cFields,Fields,pError,adStatus,pRecordset)
  164.     (This)->lpVtbl -> FieldChangeComplete(This,cFields,Fields,pError,adStatus,pRecordset)
  165. #define RecordsetEventsVt_WillChangeRecord(This,adReason,cRecords,adStatus,pRecordset)
  166.     (This)->lpVtbl -> WillChangeRecord(This,adReason,cRecords,adStatus,pRecordset)
  167. #define RecordsetEventsVt_RecordChangeComplete(This,adReason,cRecords,pError,adStatus,pRecordset)
  168.     (This)->lpVtbl -> RecordChangeComplete(This,adReason,cRecords,pError,adStatus,pRecordset)
  169. #define RecordsetEventsVt_WillChangeRecordset(This,adReason,adStatus,pRecordset)
  170.     (This)->lpVtbl -> WillChangeRecordset(This,adReason,adStatus,pRecordset)
  171. #define RecordsetEventsVt_RecordsetChangeComplete(This,adReason,pError,adStatus,pRecordset)
  172.     (This)->lpVtbl -> RecordsetChangeComplete(This,adReason,pError,adStatus,pRecordset)
  173. #define RecordsetEventsVt_WillMove(This,adReason,adStatus,pRecordset)
  174.     (This)->lpVtbl -> WillMove(This,adReason,adStatus,pRecordset)
  175. #define RecordsetEventsVt_MoveComplete(This,adReason,pError,adStatus,pRecordset)
  176.     (This)->lpVtbl -> MoveComplete(This,adReason,pError,adStatus,pRecordset)
  177. #define RecordsetEventsVt_EndOfRecordset(This,fMoreData,adStatus,pRecordset)
  178.     (This)->lpVtbl -> EndOfRecordset(This,fMoreData,adStatus,pRecordset)
  179. #define RecordsetEventsVt_FetchProgress(This,Progress,MaxProgress,adStatus,pRecordset)
  180.     (This)->lpVtbl -> FetchProgress(This,Progress,MaxProgress,adStatus,pRecordset)
  181. #define RecordsetEventsVt_FetchComplete(This,pError,adStatus,pRecordset)
  182.     (This)->lpVtbl -> FetchComplete(This,pError,adStatus,pRecordset)
  183. #endif /* COBJMACROS */
  184. #endif  /* C style interface */
  185. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetEventsVt_WillChangeField_Proxy( 
  186.     RecordsetEventsVt * This,
  187.     /* [in] */ LONG cFields,
  188.     /* [in] */ VARIANT Fields,
  189.     /* [out][in] */ EventStatusEnum *adStatus,
  190.     /* [in] */ _ADORecordset *pRecordset);
  191. void __RPC_STUB RecordsetEventsVt_WillChangeField_Stub(
  192.     IRpcStubBuffer *This,
  193.     IRpcChannelBuffer *_pRpcChannelBuffer,
  194.     PRPC_MESSAGE _pRpcMessage,
  195.     DWORD *_pdwStubPhase);
  196. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetEventsVt_FieldChangeComplete_Proxy( 
  197.     RecordsetEventsVt * This,
  198.     /* [in] */ LONG cFields,
  199.     /* [in] */ VARIANT Fields,
  200.     /* [in] */ ADOError *pError,
  201.     /* [out][in] */ EventStatusEnum *adStatus,
  202.     /* [in] */ _ADORecordset *pRecordset);
  203. void __RPC_STUB RecordsetEventsVt_FieldChangeComplete_Stub(
  204.     IRpcStubBuffer *This,
  205.     IRpcChannelBuffer *_pRpcChannelBuffer,
  206.     PRPC_MESSAGE _pRpcMessage,
  207.     DWORD *_pdwStubPhase);
  208. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetEventsVt_WillChangeRecord_Proxy( 
  209.     RecordsetEventsVt * This,
  210.     /* [in] */ EventReasonEnum adReason,
  211.     /* [in] */ LONG cRecords,
  212.     /* [out][in] */ EventStatusEnum *adStatus,
  213.     /* [in] */ _ADORecordset *pRecordset);
  214. void __RPC_STUB RecordsetEventsVt_WillChangeRecord_Stub(
  215.     IRpcStubBuffer *This,
  216.     IRpcChannelBuffer *_pRpcChannelBuffer,
  217.     PRPC_MESSAGE _pRpcMessage,
  218.     DWORD *_pdwStubPhase);
  219. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetEventsVt_RecordChangeComplete_Proxy( 
  220.     RecordsetEventsVt * This,
  221.     /* [in] */ EventReasonEnum adReason,
  222.     /* [in] */ LONG cRecords,
  223.     /* [in] */ ADOError *pError,
  224.     /* [out][in] */ EventStatusEnum *adStatus,
  225.     /* [in] */ _ADORecordset *pRecordset);
  226. void __RPC_STUB RecordsetEventsVt_RecordChangeComplete_Stub(
  227.     IRpcStubBuffer *This,
  228.     IRpcChannelBuffer *_pRpcChannelBuffer,
  229.     PRPC_MESSAGE _pRpcMessage,
  230.     DWORD *_pdwStubPhase);
  231. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetEventsVt_WillChangeRecordset_Proxy( 
  232.     RecordsetEventsVt * This,
  233.     /* [in] */ EventReasonEnum adReason,
  234.     /* [out][in] */ EventStatusEnum *adStatus,
  235.     /* [in] */ _ADORecordset *pRecordset);
  236. void __RPC_STUB RecordsetEventsVt_WillChangeRecordset_Stub(
  237.     IRpcStubBuffer *This,
  238.     IRpcChannelBuffer *_pRpcChannelBuffer,
  239.     PRPC_MESSAGE _pRpcMessage,
  240.     DWORD *_pdwStubPhase);
  241. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetEventsVt_RecordsetChangeComplete_Proxy( 
  242.     RecordsetEventsVt * This,
  243.     /* [in] */ EventReasonEnum adReason,
  244.     /* [in] */ ADOError *pError,
  245.     /* [out][in] */ EventStatusEnum *adStatus,
  246.     /* [in] */ _ADORecordset *pRecordset);
  247. void __RPC_STUB RecordsetEventsVt_RecordsetChangeComplete_Stub(
  248.     IRpcStubBuffer *This,
  249.     IRpcChannelBuffer *_pRpcChannelBuffer,
  250.     PRPC_MESSAGE _pRpcMessage,
  251.     DWORD *_pdwStubPhase);
  252. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetEventsVt_WillMove_Proxy( 
  253.     RecordsetEventsVt * This,
  254.     /* [in] */ EventReasonEnum adReason,
  255.     /* [out][in] */ EventStatusEnum *adStatus,
  256.     /* [in] */ _ADORecordset *pRecordset);
  257. void __RPC_STUB RecordsetEventsVt_WillMove_Stub(
  258.     IRpcStubBuffer *This,
  259.     IRpcChannelBuffer *_pRpcChannelBuffer,
  260.     PRPC_MESSAGE _pRpcMessage,
  261.     DWORD *_pdwStubPhase);
  262. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetEventsVt_MoveComplete_Proxy( 
  263.     RecordsetEventsVt * This,
  264.     /* [in] */ EventReasonEnum adReason,
  265.     /* [in] */ ADOError *pError,
  266.     /* [out][in] */ EventStatusEnum *adStatus,
  267.     /* [in] */ _ADORecordset *pRecordset);
  268. void __RPC_STUB RecordsetEventsVt_MoveComplete_Stub(
  269.     IRpcStubBuffer *This,
  270.     IRpcChannelBuffer *_pRpcChannelBuffer,
  271.     PRPC_MESSAGE _pRpcMessage,
  272.     DWORD *_pdwStubPhase);
  273. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetEventsVt_EndOfRecordset_Proxy( 
  274.     RecordsetEventsVt * This,
  275.     /* [out][in] */ VARIANT_BOOL *fMoreData,
  276.     /* [out][in] */ EventStatusEnum *adStatus,
  277.     /* [in] */ _ADORecordset *pRecordset);
  278. void __RPC_STUB RecordsetEventsVt_EndOfRecordset_Stub(
  279.     IRpcStubBuffer *This,
  280.     IRpcChannelBuffer *_pRpcChannelBuffer,
  281.     PRPC_MESSAGE _pRpcMessage,
  282.     DWORD *_pdwStubPhase);
  283. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetEventsVt_FetchProgress_Proxy( 
  284.     RecordsetEventsVt * This,
  285.     /* [in] */ long Progress,
  286.     /* [in] */ long MaxProgress,
  287.     /* [out][in] */ EventStatusEnum *adStatus,
  288.     /* [in] */ _ADORecordset *pRecordset);
  289. void __RPC_STUB RecordsetEventsVt_FetchProgress_Stub(
  290.     IRpcStubBuffer *This,
  291.     IRpcChannelBuffer *_pRpcChannelBuffer,
  292.     PRPC_MESSAGE _pRpcMessage,
  293.     DWORD *_pdwStubPhase);
  294. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecordsetEventsVt_FetchComplete_Proxy( 
  295.     RecordsetEventsVt * This,
  296.     /* [in] */ ADOError *pError,
  297.     /* [out][in] */ EventStatusEnum *adStatus,
  298.     /* [in] */ _ADORecordset *pRecordset);
  299. void __RPC_STUB RecordsetEventsVt_FetchComplete_Stub(
  300.     IRpcStubBuffer *This,
  301.     IRpcChannelBuffer *_pRpcChannelBuffer,
  302.     PRPC_MESSAGE _pRpcMessage,
  303.     DWORD *_pdwStubPhase);
  304. #endif  /* __RecordsetEventsVt_INTERFACE_DEFINED__ */
  305. #ifndef __ConnectionEvents_DISPINTERFACE_DEFINED__
  306. #define __ConnectionEvents_DISPINTERFACE_DEFINED__
  307. /* dispinterface ConnectionEvents */
  308. /* [uuid] */ 
  309. EXTERN_C const IID DIID_ConnectionEvents;
  310. #if defined(__cplusplus) && !defined(CINTERFACE)
  311.     MIDL_INTERFACE("00000400-0000-0010-8000-00AA006D2EA4")
  312.     ConnectionEvents : public IDispatch
  313.     {
  314.     };
  315.     
  316. #else  /* C style interface */
  317.     typedef struct ConnectionEventsVtbl
  318.     {
  319.         BEGIN_INTERFACE
  320.         
  321.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  322.             ConnectionEvents * This,
  323.             /* [in] */ REFIID riid,
  324.             /* [iid_is][out] */ void **ppvObject);
  325.         
  326.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  327.             ConnectionEvents * This);
  328.         
  329.         ULONG ( STDMETHODCALLTYPE *Release )( 
  330.             ConnectionEvents * This);
  331.         
  332.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  333.             ConnectionEvents * This,
  334.             /* [out] */ UINT *pctinfo);
  335.         
  336.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  337.             ConnectionEvents * This,
  338.             /* [in] */ UINT iTInfo,
  339.             /* [in] */ LCID lcid,
  340.             /* [out] */ ITypeInfo **ppTInfo);
  341.         
  342.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  343.             ConnectionEvents * This,
  344.             /* [in] */ REFIID riid,
  345.             /* [size_is][in] */ LPOLESTR *rgszNames,
  346.             /* [in] */ UINT cNames,
  347.             /* [in] */ LCID lcid,
  348.             /* [size_is][out] */ DISPID *rgDispId);
  349.         
  350.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  351.             ConnectionEvents * This,
  352.             /* [in] */ DISPID dispIdMember,
  353.             /* [in] */ REFIID riid,
  354.             /* [in] */ LCID lcid,
  355.             /* [in] */ WORD wFlags,
  356.             /* [out][in] */ DISPPARAMS *pDispParams,
  357.             /* [out] */ VARIANT *pVarResult,
  358.             /* [out] */ EXCEPINFO *pExcepInfo,
  359.             /* [out] */ UINT *puArgErr);
  360.         
  361.         END_INTERFACE
  362.     } ConnectionEventsVtbl;
  363.     interface ConnectionEvents
  364.     {
  365.         CONST_VTBL struct ConnectionEventsVtbl *lpVtbl;
  366.     };
  367.     
  368. #ifdef COBJMACROS
  369. #define ConnectionEvents_QueryInterface(This,riid,ppvObject)
  370.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  371. #define ConnectionEvents_AddRef(This)
  372.     (This)->lpVtbl -> AddRef(This)
  373. #define ConnectionEvents_Release(This)
  374.     (This)->lpVtbl -> Release(This)
  375. #define ConnectionEvents_GetTypeInfoCount(This,pctinfo)
  376.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  377. #define ConnectionEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  378.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  379. #define ConnectionEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  380.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  381. #define ConnectionEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  382.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  383. #endif /* COBJMACROS */
  384. #endif  /* C style interface */
  385. #endif  /* __ConnectionEvents_DISPINTERFACE_DEFINED__ */
  386. #ifndef __RecordsetEvents_DISPINTERFACE_DEFINED__
  387. #define __RecordsetEvents_DISPINTERFACE_DEFINED__
  388. /* dispinterface RecordsetEvents */
  389. /* [uuid] */ 
  390. EXTERN_C const IID DIID_RecordsetEvents;
  391. #if defined(__cplusplus) && !defined(CINTERFACE)
  392.     MIDL_INTERFACE("00000266-0000-0010-8000-00AA006D2EA4")
  393.     RecordsetEvents : public IDispatch
  394.     {
  395.     };
  396.     
  397. #else  /* C style interface */
  398.     typedef struct RecordsetEventsVtbl
  399.     {
  400.         BEGIN_INTERFACE
  401.         
  402.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  403.             RecordsetEvents * This,
  404.             /* [in] */ REFIID riid,
  405.             /* [iid_is][out] */ void **ppvObject);
  406.         
  407.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  408.             RecordsetEvents * This);
  409.         
  410.         ULONG ( STDMETHODCALLTYPE *Release )( 
  411.             RecordsetEvents * This);
  412.         
  413.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  414.             RecordsetEvents * This,
  415.             /* [out] */ UINT *pctinfo);
  416.         
  417.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  418.             RecordsetEvents * This,
  419.             /* [in] */ UINT iTInfo,
  420.             /* [in] */ LCID lcid,
  421.             /* [out] */ ITypeInfo **ppTInfo);
  422.         
  423.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  424.             RecordsetEvents * This,
  425.             /* [in] */ REFIID riid,
  426.             /* [size_is][in] */ LPOLESTR *rgszNames,
  427.             /* [in] */ UINT cNames,
  428.             /* [in] */ LCID lcid,
  429.             /* [size_is][out] */ DISPID *rgDispId);
  430.         
  431.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  432.             RecordsetEvents * This,
  433.             /* [in] */ DISPID dispIdMember,
  434.             /* [in] */ REFIID riid,
  435.             /* [in] */ LCID lcid,
  436.             /* [in] */ WORD wFlags,
  437.             /* [out][in] */ DISPPARAMS *pDispParams,
  438.             /* [out] */ VARIANT *pVarResult,
  439.             /* [out] */ EXCEPINFO *pExcepInfo,
  440.             /* [out] */ UINT *puArgErr);
  441.         
  442.         END_INTERFACE
  443.     } RecordsetEventsVtbl;
  444.     interface RecordsetEvents
  445.     {
  446.         CONST_VTBL struct RecordsetEventsVtbl *lpVtbl;
  447.     };
  448.     
  449. #ifdef COBJMACROS
  450. #define RecordsetEvents_QueryInterface(This,riid,ppvObject)
  451.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  452. #define RecordsetEvents_AddRef(This)
  453.     (This)->lpVtbl -> AddRef(This)
  454. #define RecordsetEvents_Release(This)
  455.     (This)->lpVtbl -> Release(This)
  456. #define RecordsetEvents_GetTypeInfoCount(This,pctinfo)
  457.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  458. #define RecordsetEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  459.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  460. #define RecordsetEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  461.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  462. #define RecordsetEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  463.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  464. #endif /* COBJMACROS */
  465. #endif  /* C style interface */
  466. #endif  /* __RecordsetEvents_DISPINTERFACE_DEFINED__ */
  467. #ifndef __Connection15_INTERFACE_DEFINED__
  468. #define __Connection15_INTERFACE_DEFINED__
  469. /* interface Connection15 */
  470. /* [object][helpcontext][uuid][hidden][dual] */ 
  471. EXTERN_C const IID IID_Connection15;
  472. #if defined(__cplusplus) && !defined(CINTERFACE)
  473.     
  474.     MIDL_INTERFACE("00000515-0000-0010-8000-00AA006D2EA4")
  475.     Connection15 : public _ADO
  476.     {
  477.     public:
  478.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ConnectionString( 
  479.             /* [retval][out] */ BSTR *pbstr) = 0;
  480.         
  481.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ConnectionString( 
  482.             /* [in] */ BSTR bstr) = 0;
  483.         
  484.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CommandTimeout( 
  485.             /* [retval][out] */ LONG *plTimeout) = 0;
  486.         
  487.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CommandTimeout( 
  488.             /* [in] */ LONG lTimeout) = 0;
  489.         
  490.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ConnectionTimeout( 
  491.             /* [retval][out] */ LONG *plTimeout) = 0;
  492.         
  493.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ConnectionTimeout( 
  494.             /* [in] */ LONG lTimeout) = 0;
  495.         
  496.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Version( 
  497.             /* [retval][out] */ BSTR *pbstr) = 0;
  498.         
  499.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
  500.         
  501.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Execute( 
  502.             /* [in] */ BSTR CommandText,
  503.             /* [optional][out] */ VARIANT *RecordsAffected,
  504.             /* [defaultvalue][in] */ long Options,
  505.             /* [retval][out] */ _ADORecordset **ppiRset) = 0;
  506.         
  507.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE BeginTrans( 
  508.             /* [retval][out] */ long *TransactionLevel) = 0;
  509.         
  510.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CommitTrans( void) = 0;
  511.         
  512.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RollbackTrans( void) = 0;
  513.         
  514.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Open( 
  515.             /* [defaultvalue][in] */ BSTR ConnectionString = L"",
  516.             /* [defaultvalue][in] */ BSTR UserID = L"",
  517.             /* [defaultvalue][in] */ BSTR Password = L"",
  518.             /* [defaultvalue][in] */ long Options = adOptionUnspecified) = 0;
  519.         
  520.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Errors( 
  521.             /* [retval][out] */ ADOErrors **ppvObject) = 0;
  522.         
  523.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultDatabase( 
  524.             /* [retval][out] */ BSTR *pbstr) = 0;
  525.         
  526.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DefaultDatabase( 
  527.             /* [in] */ BSTR bstr) = 0;
  528.         
  529.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsolationLevel( 
  530.             /* [retval][out] */ IsolationLevelEnum *Level) = 0;
  531.         
  532.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IsolationLevel( 
  533.             /* [in] */ IsolationLevelEnum Level) = 0;
  534.         
  535.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Attributes( 
  536.             /* [retval][out] */ long *plAttr) = 0;
  537.         
  538.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Attributes( 
  539.             /* [in] */ long lAttr) = 0;
  540.         
  541.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CursorLocation( 
  542.             /* [retval][out] */ CursorLocationEnum *plCursorLoc) = 0;
  543.         
  544.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_CursorLocation( 
  545.             /* [in] */ CursorLocationEnum lCursorLoc) = 0;
  546.         
  547.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Mode( 
  548.             /* [retval][out] */ ConnectModeEnum *plMode) = 0;
  549.         
  550.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Mode( 
  551.             /* [in] */ ConnectModeEnum lMode) = 0;
  552.         
  553.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Provider( 
  554.             /* [retval][out] */ BSTR *pbstr) = 0;
  555.         
  556.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Provider( 
  557.             /* [in] */ BSTR Provider) = 0;
  558.         
  559.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_State( 
  560.             /* [retval][out] */ LONG *plObjState) = 0;
  561.         
  562.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE OpenSchema( 
  563.             /* [in] */ SchemaEnum Schema,
  564.             /* [optional][in] */ VARIANT Restrictions,
  565.             /* [optional][in] */ VARIANT SchemaID,
  566.             /* [retval][out] */ _ADORecordset **pprset) = 0;
  567.         
  568.     };
  569.     
  570. #else  /* C style interface */
  571.     typedef struct Connection15Vtbl
  572.     {
  573.         BEGIN_INTERFACE
  574.         
  575.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  576.             Connection15 * This,
  577.             /* [in] */ REFIID riid,
  578.             /* [iid_is][out] */ void **ppvObject);
  579.         
  580.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  581.             Connection15 * This);
  582.         
  583.         ULONG ( STDMETHODCALLTYPE *Release )( 
  584.             Connection15 * This);
  585.         
  586.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  587.             Connection15 * This,
  588.             /* [out] */ UINT *pctinfo);
  589.         
  590.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  591.             Connection15 * This,
  592.             /* [in] */ UINT iTInfo,
  593.             /* [in] */ LCID lcid,
  594.             /* [out] */ ITypeInfo **ppTInfo);
  595.         
  596.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  597.             Connection15 * This,
  598.             /* [in] */ REFIID riid,
  599.             /* [size_is][in] */ LPOLESTR *rgszNames,
  600.             /* [in] */ UINT cNames,
  601.             /* [in] */ LCID lcid,
  602.             /* [size_is][out] */ DISPID *rgDispId);
  603.         
  604.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  605.             Connection15 * This,
  606.             /* [in] */ DISPID dispIdMember,
  607.             /* [in] */ REFIID riid,
  608.             /* [in] */ LCID lcid,
  609.             /* [in] */ WORD wFlags,
  610.             /* [out][in] */ DISPPARAMS *pDispParams,
  611.             /* [out] */ VARIANT *pVarResult,
  612.             /* [out] */ EXCEPINFO *pExcepInfo,
  613.             /* [out] */ UINT *puArgErr);
  614.         
  615.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )( 
  616.             Connection15 * This,
  617.             /* [retval][out] */ ADOProperties **ppvObject);
  618.         
  619.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionString )( 
  620.             Connection15 * This,
  621.             /* [retval][out] */ BSTR *pbstr);
  622.         
  623.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectionString )( 
  624.             Connection15 * This,
  625.             /* [in] */ BSTR bstr);
  626.         
  627.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CommandTimeout )( 
  628.             Connection15 * This,
  629.             /* [retval][out] */ LONG *plTimeout);
  630.         
  631.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CommandTimeout )( 
  632.             Connection15 * This,
  633.             /* [in] */ LONG lTimeout);
  634.         
  635.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionTimeout )( 
  636.             Connection15 * This,
  637.             /* [retval][out] */ LONG *plTimeout);
  638.         
  639.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectionTimeout )( 
  640.             Connection15 * This,
  641.             /* [in] */ LONG lTimeout);
  642.         
  643.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
  644.             Connection15 * This,
  645.             /* [retval][out] */ BSTR *pbstr);
  646.         
  647.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
  648.             Connection15 * This);
  649.         
  650.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Execute )( 
  651.             Connection15 * This,
  652.             /* [in] */ BSTR CommandText,
  653.             /* [optional][out] */ VARIANT *RecordsAffected,
  654.             /* [defaultvalue][in] */ long Options,
  655.             /* [retval][out] */ _ADORecordset **ppiRset);
  656.         
  657.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *BeginTrans )( 
  658.             Connection15 * This,
  659.             /* [retval][out] */ long *TransactionLevel);
  660.         
  661.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CommitTrans )( 
  662.             Connection15 * This);
  663.         
  664.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RollbackTrans )( 
  665.             Connection15 * This);
  666.         
  667.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
  668.             Connection15 * This,
  669.             /* [defaultvalue][in] */ BSTR ConnectionString,
  670.             /* [defaultvalue][in] */ BSTR UserID,
  671.             /* [defaultvalue][in] */ BSTR Password,
  672.             /* [defaultvalue][in] */ long Options);
  673.         
  674.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Errors )( 
  675.             Connection15 * This,
  676.             /* [retval][out] */ ADOErrors **ppvObject);
  677.         
  678.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDatabase )( 
  679.             Connection15 * This,
  680.             /* [retval][out] */ BSTR *pbstr);
  681.         
  682.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDatabase )( 
  683.             Connection15 * This,
  684.             /* [in] */ BSTR bstr);
  685.         
  686.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsolationLevel )( 
  687.             Connection15 * This,
  688.             /* [retval][out] */ IsolationLevelEnum *Level);
  689.         
  690.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsolationLevel )( 
  691.             Connection15 * This,
  692.             /* [in] */ IsolationLevelEnum Level);
  693.         
  694.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attributes )( 
  695.             Connection15 * This,
  696.             /* [retval][out] */ long *plAttr);
  697.         
  698.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Attributes )( 
  699.             Connection15 * This,
  700.             /* [in] */ long lAttr);
  701.         
  702.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CursorLocation )( 
  703.             Connection15 * This,
  704.             /* [retval][out] */ CursorLocationEnum *plCursorLoc);
  705.         
  706.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CursorLocation )( 
  707.             Connection15 * This,
  708.             /* [in] */ CursorLocationEnum lCursorLoc);
  709.         
  710.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  711.             Connection15 * This,
  712.             /* [retval][out] */ ConnectModeEnum *plMode);
  713.         
  714.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  715.             Connection15 * This,
  716.             /* [in] */ ConnectModeEnum lMode);
  717.         
  718.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Provider )( 
  719.             Connection15 * This,
  720.             /* [retval][out] */ BSTR *pbstr);
  721.         
  722.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Provider )( 
  723.             Connection15 * This,
  724.             /* [in] */ BSTR Provider);
  725.         
  726.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
  727.             Connection15 * This,
  728.             /* [retval][out] */ LONG *plObjState);
  729.         
  730.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *OpenSchema )( 
  731.             Connection15 * This,
  732.             /* [in] */ SchemaEnum Schema,
  733.             /* [optional][in] */ VARIANT Restrictions,
  734.             /* [optional][in] */ VARIANT SchemaID,
  735.             /* [retval][out] */ _ADORecordset **pprset);
  736.         
  737.         END_INTERFACE
  738.     } Connection15Vtbl;
  739.     interface Connection15
  740.     {
  741.         CONST_VTBL struct Connection15Vtbl *lpVtbl;
  742.     };
  743.     
  744. #ifdef COBJMACROS
  745. #define Connection15_QueryInterface(This,riid,ppvObject)
  746.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  747. #define Connection15_AddRef(This)
  748.     (This)->lpVtbl -> AddRef(This)
  749. #define Connection15_Release(This)
  750.     (This)->lpVtbl -> Release(This)
  751. #define Connection15_GetTypeInfoCount(This,pctinfo)
  752.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  753. #define Connection15_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  754.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  755. #define Connection15_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  756.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  757. #define Connection15_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  758.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  759. #define Connection15_get_Properties(This,ppvObject)
  760.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  761. #define Connection15_get_ConnectionString(This,pbstr)
  762.     (This)->lpVtbl -> get_ConnectionString(This,pbstr)
  763. #define Connection15_put_ConnectionString(This,bstr)
  764.     (This)->lpVtbl -> put_ConnectionString(This,bstr)
  765. #define Connection15_get_CommandTimeout(This,plTimeout)
  766.     (This)->lpVtbl -> get_CommandTimeout(This,plTimeout)
  767. #define Connection15_put_CommandTimeout(This,lTimeout)
  768.     (This)->lpVtbl -> put_CommandTimeout(This,lTimeout)
  769. #define Connection15_get_ConnectionTimeout(This,plTimeout)
  770.     (This)->lpVtbl -> get_ConnectionTimeout(This,plTimeout)
  771. #define Connection15_put_ConnectionTimeout(This,lTimeout)
  772.     (This)->lpVtbl -> put_ConnectionTimeout(This,lTimeout)
  773. #define Connection15_get_Version(This,pbstr)
  774.     (This)->lpVtbl -> get_Version(This,pbstr)
  775. #define Connection15_Close(This)
  776.     (This)->lpVtbl -> Close(This)
  777. #define Connection15_Execute(This,CommandText,RecordsAffected,Options,ppiRset)
  778.     (This)->lpVtbl -> Execute(This,CommandText,RecordsAffected,Options,ppiRset)
  779. #define Connection15_BeginTrans(This,TransactionLevel)
  780.     (This)->lpVtbl -> BeginTrans(This,TransactionLevel)
  781. #define Connection15_CommitTrans(This)
  782.     (This)->lpVtbl -> CommitTrans(This)
  783. #define Connection15_RollbackTrans(This)
  784.     (This)->lpVtbl -> RollbackTrans(This)
  785. #define Connection15_Open(This,ConnectionString,UserID,Password,Options)
  786.     (This)->lpVtbl -> Open(This,ConnectionString,UserID,Password,Options)
  787. #define Connection15_get_Errors(This,ppvObject)
  788.     (This)->lpVtbl -> get_Errors(This,ppvObject)
  789. #define Connection15_get_DefaultDatabase(This,pbstr)
  790.     (This)->lpVtbl -> get_DefaultDatabase(This,pbstr)
  791. #define Connection15_put_DefaultDatabase(This,bstr)
  792.     (This)->lpVtbl -> put_DefaultDatabase(This,bstr)
  793. #define Connection15_get_IsolationLevel(This,Level)
  794.     (This)->lpVtbl -> get_IsolationLevel(This,Level)
  795. #define Connection15_put_IsolationLevel(This,Level)
  796.     (This)->lpVtbl -> put_IsolationLevel(This,Level)
  797. #define Connection15_get_Attributes(This,plAttr)
  798.     (This)->lpVtbl -> get_Attributes(This,plAttr)
  799. #define Connection15_put_Attributes(This,lAttr)
  800.     (This)->lpVtbl -> put_Attributes(This,lAttr)
  801. #define Connection15_get_CursorLocation(This,plCursorLoc)
  802.     (This)->lpVtbl -> get_CursorLocation(This,plCursorLoc)
  803. #define Connection15_put_CursorLocation(This,lCursorLoc)
  804.     (This)->lpVtbl -> put_CursorLocation(This,lCursorLoc)
  805. #define Connection15_get_Mode(This,plMode)
  806.     (This)->lpVtbl -> get_Mode(This,plMode)
  807. #define Connection15_put_Mode(This,lMode)
  808.     (This)->lpVtbl -> put_Mode(This,lMode)
  809. #define Connection15_get_Provider(This,pbstr)
  810.     (This)->lpVtbl -> get_Provider(This,pbstr)
  811. #define Connection15_put_Provider(This,Provider)
  812.     (This)->lpVtbl -> put_Provider(This,Provider)
  813. #define Connection15_get_State(This,plObjState)
  814.     (This)->lpVtbl -> get_State(This,plObjState)
  815. #define Connection15_OpenSchema(This,Schema,Restrictions,SchemaID,pprset)
  816.     (This)->lpVtbl -> OpenSchema(This,Schema,Restrictions,SchemaID,pprset)
  817. #endif /* COBJMACROS */
  818. #endif  /* C style interface */
  819. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Connection15_get_ConnectionString_Proxy( 
  820.     Connection15 * This,
  821.     /* [retval][out] */ BSTR *pbstr);
  822. void __RPC_STUB Connection15_get_ConnectionString_Stub(
  823.     IRpcStubBuffer *This,
  824.     IRpcChannelBuffer *_pRpcChannelBuffer,
  825.     PRPC_MESSAGE _pRpcMessage,
  826.     DWORD *_pdwStubPhase);
  827. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE Connection15_put_ConnectionString_Proxy( 
  828.     Connection15 * This,
  829.     /* [in] */ BSTR bstr);
  830. void __RPC_STUB Connection15_put_ConnectionString_Stub(
  831.     IRpcStubBuffer *This,
  832.     IRpcChannelBuffer *_pRpcChannelBuffer,
  833.     PRPC_MESSAGE _pRpcMessage,
  834.     DWORD *_pdwStubPhase);
  835. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Connection15_get_CommandTimeout_Proxy( 
  836.     Connection15 * This,
  837.     /* [retval][out] */ LONG *plTimeout);
  838. void __RPC_STUB Connection15_get_CommandTimeout_Stub(
  839.     IRpcStubBuffer *This,
  840.     IRpcChannelBuffer *_pRpcChannelBuffer,
  841.     PRPC_MESSAGE _pRpcMessage,
  842.     DWORD *_pdwStubPhase);
  843. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE Connection15_put_CommandTimeout_Proxy( 
  844.     Connection15 * This,
  845.     /* [in] */ LONG lTimeout);
  846. void __RPC_STUB Connection15_put_CommandTimeout_Stub(
  847.     IRpcStubBuffer *This,
  848.     IRpcChannelBuffer *_pRpcChannelBuffer,
  849.     PRPC_MESSAGE _pRpcMessage,
  850.     DWORD *_pdwStubPhase);
  851. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Connection15_get_ConnectionTimeout_Proxy( 
  852.     Connection15 * This,
  853.     /* [retval][out] */ LONG *plTimeout);
  854. void __RPC_STUB Connection15_get_ConnectionTimeout_Stub(
  855.     IRpcStubBuffer *This,
  856.     IRpcChannelBuffer *_pRpcChannelBuffer,
  857.     PRPC_MESSAGE _pRpcMessage,
  858.     DWORD *_pdwStubPhase);
  859. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE Connection15_put_ConnectionTimeout_Proxy( 
  860.     Connection15 * This,
  861.     /* [in] */ LONG lTimeout);
  862. void __RPC_STUB Connection15_put_ConnectionTimeout_Stub(
  863.     IRpcStubBuffer *This,
  864.     IRpcChannelBuffer *_pRpcChannelBuffer,
  865.     PRPC_MESSAGE _pRpcMessage,
  866.     DWORD *_pdwStubPhase);
  867. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Connection15_get_Version_Proxy( 
  868.     Connection15 * This,
  869.     /* [retval][out] */ BSTR *pbstr);
  870. void __RPC_STUB Connection15_get_Version_Stub(
  871.     IRpcStubBuffer *This,
  872.     IRpcChannelBuffer *_pRpcChannelBuffer,
  873.     PRPC_MESSAGE _pRpcMessage,
  874.     DWORD *_pdwStubPhase);
  875. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Connection15_Close_Proxy( 
  876.     Connection15 * This);
  877. void __RPC_STUB Connection15_Close_Stub(
  878.     IRpcStubBuffer *This,
  879.     IRpcChannelBuffer *_pRpcChannelBuffer,
  880.     PRPC_MESSAGE _pRpcMessage,
  881.     DWORD *_pdwStubPhase);
  882. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Connection15_Execute_Proxy( 
  883.     Connection15 * This,
  884.     /* [in] */ BSTR CommandText,
  885.     /* [optional][out] */ VARIANT *RecordsAffected,
  886.     /* [defaultvalue][in] */ long Options,
  887.     /* [retval][out] */ _ADORecordset **ppiRset);
  888. void __RPC_STUB Connection15_Execute_Stub(
  889.     IRpcStubBuffer *This,
  890.     IRpcChannelBuffer *_pRpcChannelBuffer,
  891.     PRPC_MESSAGE _pRpcMessage,
  892.     DWORD *_pdwStubPhase);
  893. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Connection15_BeginTrans_Proxy( 
  894.     Connection15 * This,
  895.     /* [retval][out] */ long *TransactionLevel);
  896. void __RPC_STUB Connection15_BeginTrans_Stub(
  897.     IRpcStubBuffer *This,
  898.     IRpcChannelBuffer *_pRpcChannelBuffer,
  899.     PRPC_MESSAGE _pRpcMessage,
  900.     DWORD *_pdwStubPhase);
  901. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Connection15_CommitTrans_Proxy( 
  902.     Connection15 * This);
  903. void __RPC_STUB Connection15_CommitTrans_Stub(
  904.     IRpcStubBuffer *This,
  905.     IRpcChannelBuffer *_pRpcChannelBuffer,
  906.     PRPC_MESSAGE _pRpcMessage,
  907.     DWORD *_pdwStubPhase);
  908. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Connection15_RollbackTrans_Proxy( 
  909.     Connection15 * This);
  910. void __RPC_STUB Connection15_RollbackTrans_Stub(
  911.     IRpcStubBuffer *This,
  912.     IRpcChannelBuffer *_pRpcChannelBuffer,
  913.     PRPC_MESSAGE _pRpcMessage,
  914.     DWORD *_pdwStubPhase);
  915. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Connection15_Open_Proxy( 
  916.     Connection15 * This,
  917.     /* [defaultvalue][in] */ BSTR ConnectionString,
  918.     /* [defaultvalue][in] */ BSTR UserID,
  919.     /* [defaultvalue][in] */ BSTR Password,
  920.     /* [defaultvalue][in] */ long Options);
  921. void __RPC_STUB Connection15_Open_Stub(
  922.     IRpcStubBuffer *This,
  923.     IRpcChannelBuffer *_pRpcChannelBuffer,
  924.     PRPC_MESSAGE _pRpcMessage,
  925.     DWORD *_pdwStubPhase);
  926. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Connection15_get_Errors_Proxy( 
  927.     Connection15 * This,
  928.     /* [retval][out] */ ADOErrors **ppvObject);
  929. void __RPC_STUB Connection15_get_Errors_Stub(
  930.     IRpcStubBuffer *This,
  931.     IRpcChannelBuffer *_pRpcChannelBuffer,
  932.     PRPC_MESSAGE _pRpcMessage,
  933.     DWORD *_pdwStubPhase);
  934. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Connection15_get_DefaultDatabase_Proxy( 
  935.     Connection15 * This,
  936.     /* [retval][out] */ BSTR *pbstr);
  937. void __RPC_STUB Connection15_get_DefaultDatabase_Stub(
  938.     IRpcStubBuffer *This,
  939.     IRpcChannelBuffer *_pRpcChannelBuffer,
  940.     PRPC_MESSAGE _pRpcMessage,
  941.     DWORD *_pdwStubPhase);
  942. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE Connection15_put_DefaultDatabase_Proxy( 
  943.     Connection15 * This,
  944.     /* [in] */ BSTR bstr);
  945. void __RPC_STUB Connection15_put_DefaultDatabase_Stub(
  946.     IRpcStubBuffer *This,
  947.     IRpcChannelBuffer *_pRpcChannelBuffer,
  948.     PRPC_MESSAGE _pRpcMessage,
  949.     DWORD *_pdwStubPhase);
  950. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Connection15_get_IsolationLevel_Proxy( 
  951.     Connection15 * This,
  952.     /* [retval][out] */ IsolationLevelEnum *Level);
  953. void __RPC_STUB Connection15_get_IsolationLevel_Stub(
  954.     IRpcStubBuffer *This,
  955.     IRpcChannelBuffer *_pRpcChannelBuffer,
  956.     PRPC_MESSAGE _pRpcMessage,
  957.     DWORD *_pdwStubPhase);
  958. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE Connection15_put_IsolationLevel_Proxy( 
  959.     Connection15 * This,
  960.     /* [in] */ IsolationLevelEnum Level);
  961. void __RPC_STUB Connection15_put_IsolationLevel_Stub(
  962.     IRpcStubBuffer *This,
  963.     IRpcChannelBuffer *_pRpcChannelBuffer,
  964.     PRPC_MESSAGE _pRpcMessage,
  965.     DWORD *_pdwStubPhase);
  966. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Connection15_get_Attributes_Proxy( 
  967.     Connection15 * This,
  968.     /* [retval][out] */ long *plAttr);
  969. void __RPC_STUB Connection15_get_Attributes_Stub(
  970.     IRpcStubBuffer *This,
  971.     IRpcChannelBuffer *_pRpcChannelBuffer,
  972.     PRPC_MESSAGE _pRpcMessage,
  973.     DWORD *_pdwStubPhase);
  974. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE Connection15_put_Attributes_Proxy( 
  975.     Connection15 * This,
  976.     /* [in] */ long lAttr);
  977. void __RPC_STUB Connection15_put_Attributes_Stub(
  978.     IRpcStubBuffer *This,
  979.     IRpcChannelBuffer *_pRpcChannelBuffer,
  980.     PRPC_MESSAGE _pRpcMessage,
  981.     DWORD *_pdwStubPhase);
  982. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE Connection15_get_CursorLocation_Proxy( 
  983.     Connection15 * This,
  984.     /* [retval][out] */ CursorLocationEnum *plCursorLoc);
  985. void __RPC_STUB Connection15_get_CursorLocation_Stub(
  986.     IRpcStubBuffer *This,
  987.     IRpcChannelBuffer *_pRpcChannelBuffer,
  988.     PRPC_MESSAGE _pRpcMessage,
  989.     DWORD *_pdwStubPhase);
  990. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE Connection15_put_CursorLocation_Proxy( 
  991.     Connection15 * This,
  992.     /* [in] */ CursorLocationEnum lCursorLoc);
  993. void __RPC_STUB Connection15_put_CursorLocation_Stub(
  994.     IRpcStubBuffer *This,
  995.     IRpcChannelBuffer *_pRpcChannelBuffer,
  996.     PRPC_MESSAGE _pRpcMessage,
  997.     DWORD *_pdwStubPhase);
  998. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Connection15_get_Mode_Proxy( 
  999.     Connection15 * This,
  1000.     /* [retval][out] */ ConnectModeEnum *plMode);
  1001. void __RPC_STUB Connection15_get_Mode_Stub(
  1002.     IRpcStubBuffer *This,
  1003.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1004.     PRPC_MESSAGE _pRpcMessage,
  1005.     DWORD *_pdwStubPhase);
  1006. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE Connection15_put_Mode_Proxy( 
  1007.     Connection15 * This,
  1008.     /* [in] */ ConnectModeEnum lMode);
  1009. void __RPC_STUB Connection15_put_Mode_Stub(
  1010.     IRpcStubBuffer *This,
  1011.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1012.     PRPC_MESSAGE _pRpcMessage,
  1013.     DWORD *_pdwStubPhase);
  1014. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Connection15_get_Provider_Proxy( 
  1015.     Connection15 * This,
  1016.     /* [retval][out] */ BSTR *pbstr);
  1017. void __RPC_STUB Connection15_get_Provider_Stub(
  1018.     IRpcStubBuffer *This,
  1019.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1020.     PRPC_MESSAGE _pRpcMessage,
  1021.     DWORD *_pdwStubPhase);
  1022. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE Connection15_put_Provider_Proxy( 
  1023.     Connection15 * This,
  1024.     /* [in] */ BSTR Provider);
  1025. void __RPC_STUB Connection15_put_Provider_Stub(
  1026.     IRpcStubBuffer *This,
  1027.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1028.     PRPC_MESSAGE _pRpcMessage,
  1029.     DWORD *_pdwStubPhase);
  1030. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE Connection15_get_State_Proxy( 
  1031.     Connection15 * This,
  1032.     /* [retval][out] */ LONG *plObjState);
  1033. void __RPC_STUB Connection15_get_State_Stub(
  1034.     IRpcStubBuffer *This,
  1035.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1036.     PRPC_MESSAGE _pRpcMessage,
  1037.     DWORD *_pdwStubPhase);
  1038. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Connection15_OpenSchema_Proxy( 
  1039.     Connection15 * This,
  1040.     /* [in] */ SchemaEnum Schema,
  1041.     /* [optional][in] */ VARIANT Restrictions,
  1042.     /* [optional][in] */ VARIANT SchemaID,
  1043.     /* [retval][out] */ _ADORecordset **pprset);
  1044. void __RPC_STUB Connection15_OpenSchema_Stub(
  1045.     IRpcStubBuffer *This,
  1046.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1047.     PRPC_MESSAGE _pRpcMessage,
  1048.     DWORD *_pdwStubPhase);
  1049. #endif  /* __Connection15_INTERFACE_DEFINED__ */
  1050. #ifndef ___Connection_INTERFACE_DEFINED__
  1051. #define ___Connection_INTERFACE_DEFINED__
  1052. /* interface _ADOConnection */
  1053. /* [object][helpcontext][uuid][dual] */ 
  1054. EXTERN_C const IID IID__Connection;
  1055. #if defined(__cplusplus) && !defined(CINTERFACE)
  1056.     
  1057.     MIDL_INTERFACE("00000550-0000-0010-8000-00AA006D2EA4")
  1058.     _ADOConnection : public Connection15
  1059.     {
  1060.     public:
  1061.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  1062.         
  1063.     };
  1064.     
  1065. #else  /* C style interface */
  1066.     typedef struct _ConnectionVtbl
  1067.     {
  1068.         BEGIN_INTERFACE
  1069.         
  1070.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1071.             _ADOConnection * This,
  1072.             /* [in] */ REFIID riid,
  1073.             /* [iid_is][out] */ void **ppvObject);
  1074.         
  1075.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1076.             _ADOConnection * This);
  1077.         
  1078.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1079.             _ADOConnection * This);
  1080.         
  1081.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1082.             _ADOConnection * This,
  1083.             /* [out] */ UINT *pctinfo);
  1084.         
  1085.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1086.             _ADOConnection * This,
  1087.             /* [in] */ UINT iTInfo,
  1088.             /* [in] */ LCID lcid,
  1089.             /* [out] */ ITypeInfo **ppTInfo);
  1090.         
  1091.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1092.             _ADOConnection * This,
  1093.             /* [in] */ REFIID riid,
  1094.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1095.             /* [in] */ UINT cNames,
  1096.             /* [in] */ LCID lcid,
  1097.             /* [size_is][out] */ DISPID *rgDispId);
  1098.         
  1099.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1100.             _ADOConnection * This,
  1101.             /* [in] */ DISPID dispIdMember,
  1102.             /* [in] */ REFIID riid,
  1103.             /* [in] */ LCID lcid,
  1104.             /* [in] */ WORD wFlags,
  1105.             /* [out][in] */ DISPPARAMS *pDispParams,
  1106.             /* [out] */ VARIANT *pVarResult,
  1107.             /* [out] */ EXCEPINFO *pExcepInfo,
  1108.             /* [out] */ UINT *puArgErr);
  1109.         
  1110.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )( 
  1111.             _ADOConnection * This,
  1112.             /* [retval][out] */ ADOProperties **ppvObject);
  1113.         
  1114.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionString )( 
  1115.             _ADOConnection * This,
  1116.             /* [retval][out] */ BSTR *pbstr);
  1117.         
  1118.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectionString )( 
  1119.             _ADOConnection * This,
  1120.             /* [in] */ BSTR bstr);
  1121.         
  1122.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CommandTimeout )( 
  1123.             _ADOConnection * This,
  1124.             /* [retval][out] */ LONG *plTimeout);
  1125.         
  1126.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CommandTimeout )( 
  1127.             _ADOConnection * This,
  1128.             /* [in] */ LONG lTimeout);
  1129.         
  1130.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionTimeout )( 
  1131.             _ADOConnection * This,
  1132.             /* [retval][out] */ LONG *plTimeout);
  1133.         
  1134.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectionTimeout )( 
  1135.             _ADOConnection * This,
  1136.             /* [in] */ LONG lTimeout);
  1137.         
  1138.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
  1139.             _ADOConnection * This,
  1140.             /* [retval][out] */ BSTR *pbstr);
  1141.         
  1142.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
  1143.             _ADOConnection * This);
  1144.         
  1145.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Execute )( 
  1146.             _ADOConnection * This,
  1147.             /* [in] */ BSTR CommandText,
  1148.             /* [optional][out] */ VARIANT *RecordsAffected,
  1149.             /* [defaultvalue][in] */ long Options,
  1150.             /* [retval][out] */ _ADORecordset **ppiRset);
  1151.         
  1152.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *BeginTrans )( 
  1153.             _ADOConnection * This,
  1154.             /* [retval][out] */ long *TransactionLevel);
  1155.         
  1156.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CommitTrans )( 
  1157.             _ADOConnection * This);
  1158.         
  1159.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RollbackTrans )( 
  1160.             _ADOConnection * This);
  1161.         
  1162.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
  1163.             _ADOConnection * This,
  1164.             /* [defaultvalue][in] */ BSTR ConnectionString,
  1165.             /* [defaultvalue][in] */ BSTR UserID,
  1166.             /* [defaultvalue][in] */ BSTR Password,
  1167.             /* [defaultvalue][in] */ long Options);
  1168.         
  1169.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Errors )( 
  1170.             _ADOConnection * This,
  1171.             /* [retval][out] */ ADOErrors **ppvObject);
  1172.         
  1173.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDatabase )( 
  1174.             _ADOConnection * This,
  1175.             /* [retval][out] */ BSTR *pbstr);
  1176.         
  1177.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDatabase )( 
  1178.             _ADOConnection * This,
  1179.             /* [in] */ BSTR bstr);
  1180.         
  1181.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsolationLevel )( 
  1182.             _ADOConnection * This,
  1183.             /* [retval][out] */ IsolationLevelEnum *Level);
  1184.         
  1185.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsolationLevel )( 
  1186.             _ADOConnection * This,
  1187.             /* [in] */ IsolationLevelEnum Level);
  1188.         
  1189.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attributes )( 
  1190.             _ADOConnection * This,
  1191.             /* [retval][out] */ long *plAttr);
  1192.         
  1193.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Attributes )( 
  1194.             _ADOConnection * This,
  1195.             /* [in] */ long lAttr);
  1196.         
  1197.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CursorLocation )( 
  1198.             _ADOConnection * This,
  1199.             /* [retval][out] */ CursorLocationEnum *plCursorLoc);
  1200.         
  1201.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CursorLocation )( 
  1202.             _ADOConnection * This,
  1203.             /* [in] */ CursorLocationEnum lCursorLoc);
  1204.         
  1205.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  1206.             _ADOConnection * This,
  1207.             /* [retval][out] */ ConnectModeEnum *plMode);
  1208.         
  1209.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  1210.             _ADOConnection * This,
  1211.             /* [in] */ ConnectModeEnum lMode);
  1212.         
  1213.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Provider )( 
  1214.             _ADOConnection * This,
  1215.             /* [retval][out] */ BSTR *pbstr);
  1216.         
  1217.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Provider )( 
  1218.             _ADOConnection * This,
  1219.             /* [in] */ BSTR Provider);
  1220.         
  1221.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
  1222.             _ADOConnection * This,
  1223.             /* [retval][out] */ LONG *plObjState);
  1224.         
  1225.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *OpenSchema )( 
  1226.             _ADOConnection * This,
  1227.             /* [in] */ SchemaEnum Schema,
  1228.             /* [optional][in] */ VARIANT Restrictions,
  1229.             /* [optional][in] */ VARIANT SchemaID,
  1230.             /* [retval][out] */ _ADORecordset **pprset);
  1231.         
  1232.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Cancel )( 
  1233.             _ADOConnection * This);
  1234.         
  1235.         END_INTERFACE
  1236.     } _ConnectionVtbl;
  1237.     interface _Connection
  1238.     {
  1239.         CONST_VTBL struct _ConnectionVtbl *lpVtbl;
  1240.     };
  1241.     
  1242. #ifdef COBJMACROS
  1243. #define _Connection_QueryInterface(This,riid,ppvObject)
  1244.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1245. #define _Connection_AddRef(This)
  1246.     (This)->lpVtbl -> AddRef(This)
  1247. #define _Connection_Release(This)
  1248.     (This)->lpVtbl -> Release(This)
  1249. #define _Connection_GetTypeInfoCount(This,pctinfo)
  1250.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1251. #define _Connection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1252.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1253. #define _Connection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1254.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1255. #define _Connection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1256.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1257. #define _Connection_get_Properties(This,ppvObject)
  1258.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  1259. #define _Connection_get_ConnectionString(This,pbstr)
  1260.     (This)->lpVtbl -> get_ConnectionString(This,pbstr)
  1261. #define _Connection_put_ConnectionString(This,bstr)
  1262.     (This)->lpVtbl -> put_ConnectionString(This,bstr)
  1263. #define _Connection_get_CommandTimeout(This,plTimeout)
  1264.     (This)->lpVtbl -> get_CommandTimeout(This,plTimeout)
  1265. #define _Connection_put_CommandTimeout(This,lTimeout)
  1266.     (This)->lpVtbl -> put_CommandTimeout(This,lTimeout)
  1267. #define _Connection_get_ConnectionTimeout(This,plTimeout)
  1268.     (This)->lpVtbl -> get_ConnectionTimeout(This,plTimeout)
  1269. #define _Connection_put_ConnectionTimeout(This,lTimeout)
  1270.     (This)->lpVtbl -> put_ConnectionTimeout(This,lTimeout)
  1271. #define _Connection_get_Version(This,pbstr)
  1272.     (This)->lpVtbl -> get_Version(This,pbstr)
  1273. #define _Connection_Close(This)
  1274.     (This)->lpVtbl -> Close(This)
  1275. #define _Connection_Execute(This,CommandText,RecordsAffected,Options,ppiRset)
  1276.     (This)->lpVtbl -> Execute(This,CommandText,RecordsAffected,Options,ppiRset)
  1277. #define _Connection_BeginTrans(This,TransactionLevel)
  1278.     (This)->lpVtbl -> BeginTrans(This,TransactionLevel)
  1279. #define _Connection_CommitTrans(This)
  1280.     (This)->lpVtbl -> CommitTrans(This)
  1281. #define _Connection_RollbackTrans(This)
  1282.     (This)->lpVtbl -> RollbackTrans(This)
  1283. #define _Connection_Open(This,ConnectionString,UserID,Password,Options)
  1284.     (This)->lpVtbl -> Open(This,ConnectionString,UserID,Password,Options)
  1285. #define _Connection_get_Errors(This,ppvObject)
  1286.     (This)->lpVtbl -> get_Errors(This,ppvObject)
  1287. #define _Connection_get_DefaultDatabase(This,pbstr)
  1288.     (This)->lpVtbl -> get_DefaultDatabase(This,pbstr)
  1289. #define _Connection_put_DefaultDatabase(This,bstr)
  1290.     (This)->lpVtbl -> put_DefaultDatabase(This,bstr)
  1291. #define _Connection_get_IsolationLevel(This,Level)
  1292.     (This)->lpVtbl -> get_IsolationLevel(This,Level)
  1293. #define _Connection_put_IsolationLevel(This,Level)
  1294.     (This)->lpVtbl -> put_IsolationLevel(This,Level)
  1295. #define _Connection_get_Attributes(This,plAttr)
  1296.     (This)->lpVtbl -> get_Attributes(This,plAttr)
  1297. #define _Connection_put_Attributes(This,lAttr)
  1298.     (This)->lpVtbl -> put_Attributes(This,lAttr)
  1299. #define _Connection_get_CursorLocation(This,plCursorLoc)
  1300.     (This)->lpVtbl -> get_CursorLocation(This,plCursorLoc)
  1301. #define _Connection_put_CursorLocation(This,lCursorLoc)
  1302.     (This)->lpVtbl -> put_CursorLocation(This,lCursorLoc)
  1303. #define _Connection_get_Mode(This,plMode)
  1304.     (This)->lpVtbl -> get_Mode(This,plMode)
  1305. #define _Connection_put_Mode(This,lMode)
  1306.     (This)->lpVtbl -> put_Mode(This,lMode)
  1307. #define _Connection_get_Provider(This,pbstr)
  1308.     (This)->lpVtbl -> get_Provider(This,pbstr)
  1309. #define _Connection_put_Provider(This,Provider)
  1310.     (This)->lpVtbl -> put_Provider(This,Provider)
  1311. #define _Connection_get_State(This,plObjState)
  1312.     (This)->lpVtbl -> get_State(This,plObjState)
  1313. #define _Connection_OpenSchema(This,Schema,Restrictions,SchemaID,pprset)
  1314.     (This)->lpVtbl -> OpenSchema(This,Schema,Restrictions,SchemaID,pprset)
  1315. #define _Connection_Cancel(This)
  1316.     (This)->lpVtbl -> Cancel(This)
  1317. #endif /* COBJMACROS */
  1318. #endif  /* C style interface */
  1319. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Connection_Cancel_Proxy( 
  1320.     _ADOConnection * This);
  1321. void __RPC_STUB _Connection_Cancel_Stub(
  1322.     IRpcStubBuffer *This,
  1323.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1324.     PRPC_MESSAGE _pRpcMessage,
  1325.     DWORD *_pdwStubPhase);
  1326. #endif  /* ___Connection_INTERFACE_DEFINED__ */
  1327. #ifndef __ADOConnectionConstruction15_INTERFACE_DEFINED__
  1328. #define __ADOConnectionConstruction15_INTERFACE_DEFINED__
  1329. /* interface ADOConnectionConstruction15 */
  1330. /* [object][uuid][restricted] */ 
  1331. EXTERN_C const IID IID_ADOConnectionConstruction15;
  1332. #if defined(__cplusplus) && !defined(CINTERFACE)
  1333.     
  1334.     MIDL_INTERFACE("00000516-0000-0010-8000-00AA006D2EA4")
  1335.     ADOConnectionConstruction15 : public IUnknown
  1336.     {
  1337.     public:
  1338.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DSO( 
  1339.             /* [retval][out] */ IUnknown **ppDSO) = 0;
  1340.         
  1341.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Session( 
  1342.             /* [retval][out] */ IUnknown **ppSession) = 0;
  1343.         
  1344.         virtual HRESULT STDMETHODCALLTYPE WrapDSOandSession( 
  1345.             /* [in] */ IUnknown *pDSO,
  1346.             /* [in] */ IUnknown *pSession) = 0;
  1347.         
  1348.     };
  1349.     
  1350. #else  /* C style interface */
  1351.     typedef struct ADOConnectionConstruction15Vtbl
  1352.     {
  1353.         BEGIN_INTERFACE
  1354.         
  1355.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1356.             ADOConnectionConstruction15 * This,
  1357.             /* [in] */ REFIID riid,
  1358.             /* [iid_is][out] */ void **ppvObject);
  1359.         
  1360.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1361.             ADOConnectionConstruction15 * This);
  1362.         
  1363.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1364.             ADOConnectionConstruction15 * This);
  1365.         
  1366.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DSO )( 
  1367.             ADOConnectionConstruction15 * This,
  1368.             /* [retval][out] */ IUnknown **ppDSO);
  1369.         
  1370.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
  1371.             ADOConnectionConstruction15 * This,
  1372.             /* [retval][out] */ IUnknown **ppSession);
  1373.         
  1374.         HRESULT ( STDMETHODCALLTYPE *WrapDSOandSession )( 
  1375.             ADOConnectionConstruction15 * This,
  1376.             /* [in] */ IUnknown *pDSO,
  1377.             /* [in] */ IUnknown *pSession);
  1378.         
  1379.         END_INTERFACE
  1380.     } ADOConnectionConstruction15Vtbl;
  1381.     interface ADOConnectionConstruction15
  1382.     {
  1383.         CONST_VTBL struct ADOConnectionConstruction15Vtbl *lpVtbl;
  1384.     };
  1385.     
  1386. #ifdef COBJMACROS
  1387. #define ADOConnectionConstruction15_QueryInterface(This,riid,ppvObject)
  1388.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1389. #define ADOConnectionConstruction15_AddRef(This)
  1390.     (This)->lpVtbl -> AddRef(This)
  1391. #define ADOConnectionConstruction15_Release(This)
  1392.     (This)->lpVtbl -> Release(This)
  1393. #define ADOConnectionConstruction15_get_DSO(This,ppDSO)
  1394.     (This)->lpVtbl -> get_DSO(This,ppDSO)
  1395. #define ADOConnectionConstruction15_get_Session(This,ppSession)
  1396.     (This)->lpVtbl -> get_Session(This,ppSession)
  1397. #define ADOConnectionConstruction15_WrapDSOandSession(This,pDSO,pSession)
  1398.     (This)->lpVtbl -> WrapDSOandSession(This,pDSO,pSession)
  1399. #endif /* COBJMACROS */
  1400. #endif  /* C style interface */
  1401. /* [propget] */ HRESULT STDMETHODCALLTYPE ADOConnectionConstruction15_get_DSO_Proxy( 
  1402.     ADOConnectionConstruction15 * This,
  1403.     /* [retval][out] */ IUnknown **ppDSO);
  1404. void __RPC_STUB ADOConnectionConstruction15_get_DSO_Stub(
  1405.     IRpcStubBuffer *This,
  1406.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1407.     PRPC_MESSAGE _pRpcMessage,
  1408.     DWORD *_pdwStubPhase);
  1409. /* [propget] */ HRESULT STDMETHODCALLTYPE ADOConnectionConstruction15_get_Session_Proxy( 
  1410.     ADOConnectionConstruction15 * This,
  1411.     /* [retval][out] */ IUnknown **ppSession);
  1412. void __RPC_STUB ADOConnectionConstruction15_get_Session_Stub(
  1413.     IRpcStubBuffer *This,
  1414.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1415.     PRPC_MESSAGE _pRpcMessage,
  1416.     DWORD *_pdwStubPhase);
  1417. HRESULT STDMETHODCALLTYPE ADOConnectionConstruction15_WrapDSOandSession_Proxy( 
  1418.     ADOConnectionConstruction15 * This,
  1419.     /* [in] */ IUnknown *pDSO,
  1420.     /* [in] */ IUnknown *pSession);
  1421. void __RPC_STUB ADOConnectionConstruction15_WrapDSOandSession_Stub(
  1422.     IRpcStubBuffer *This,
  1423.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1424.     PRPC_MESSAGE _pRpcMessage,
  1425.     DWORD *_pdwStubPhase);
  1426. #endif  /* __ADOConnectionConstruction15_INTERFACE_DEFINED__ */
  1427. #ifndef __ADOConnectionConstruction_INTERFACE_DEFINED__
  1428. #define __ADOConnectionConstruction_INTERFACE_DEFINED__
  1429. /* interface ADOConnectionConstruction */
  1430. /* [object][uuid][restricted] */ 
  1431. EXTERN_C const IID IID_ADOConnectionConstruction;
  1432. #if defined(__cplusplus) && !defined(CINTERFACE)
  1433.     
  1434.     MIDL_INTERFACE("00000551-0000-0010-8000-00AA006D2EA4")
  1435.     ADOConnectionConstruction : public ADOConnectionConstruction15
  1436.     {
  1437.     public:
  1438.     };
  1439.     
  1440. #else  /* C style interface */
  1441.     typedef struct ADOConnectionConstructionVtbl
  1442.     {
  1443.         BEGIN_INTERFACE
  1444.         
  1445.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1446.             ADOConnectionConstruction * This,
  1447.             /* [in] */ REFIID riid,
  1448.             /* [iid_is][out] */ void **ppvObject);
  1449.         
  1450.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1451.             ADOConnectionConstruction * This);
  1452.         
  1453.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1454.             ADOConnectionConstruction * This);
  1455.         
  1456.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DSO )( 
  1457.             ADOConnectionConstruction * This,
  1458.             /* [retval][out] */ IUnknown **ppDSO);
  1459.         
  1460.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
  1461.             ADOConnectionConstruction * This,
  1462.             /* [retval][out] */ IUnknown **ppSession);
  1463.         
  1464.         HRESULT ( STDMETHODCALLTYPE *WrapDSOandSession )( 
  1465.             ADOConnectionConstruction * This,
  1466.             /* [in] */ IUnknown *pDSO,
  1467.             /* [in] */ IUnknown *pSession);
  1468.         
  1469.         END_INTERFACE
  1470.     } ADOConnectionConstructionVtbl;
  1471.     interface ADOConnectionConstruction
  1472.     {
  1473.         CONST_VTBL struct ADOConnectionConstructionVtbl *lpVtbl;
  1474.     };
  1475.     
  1476. #ifdef COBJMACROS
  1477. #define ADOConnectionConstruction_QueryInterface(This,riid,ppvObject)
  1478.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1479. #define ADOConnectionConstruction_AddRef(This)
  1480.     (This)->lpVtbl -> AddRef(This)
  1481. #define ADOConnectionConstruction_Release(This)
  1482.     (This)->lpVtbl -> Release(This)
  1483. #define ADOConnectionConstruction_get_DSO(This,ppDSO)
  1484.     (This)->lpVtbl -> get_DSO(This,ppDSO)
  1485. #define ADOConnectionConstruction_get_Session(This,ppSession)
  1486.     (This)->lpVtbl -> get_Session(This,ppSession)
  1487. #define ADOConnectionConstruction_WrapDSOandSession(This,pDSO,pSession)
  1488.     (This)->lpVtbl -> WrapDSOandSession(This,pDSO,pSession)
  1489. #endif /* COBJMACROS */
  1490. #endif  /* C style interface */
  1491. #endif  /* __ADOConnectionConstruction_INTERFACE_DEFINED__ */
  1492. EXTERN_C const CLSID CLSID_Connection;
  1493. #ifdef __cplusplus
  1494. Connection;
  1495. #endif
  1496. #ifndef ___Record_INTERFACE_DEFINED__
  1497. #define ___Record_INTERFACE_DEFINED__
  1498. /* interface _ADORecord */
  1499. /* [object][uuid][helpcontext][hidden][dual] */ 
  1500. EXTERN_C const IID IID__Record;
  1501. #if defined(__cplusplus) && !defined(CINTERFACE)
  1502.     
  1503.     MIDL_INTERFACE("00000562-0000-0010-8000-00AA006D2EA4")
  1504.     _ADORecord : public _ADO
  1505.     {
  1506.     public:
  1507.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActiveConnection( 
  1508.             /* [retval][out] */ VARIANT *pvar) = 0;
  1509.         
  1510.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ActiveConnection( 
  1511.             /* [in] */ BSTR bstrConn) = 0;
  1512.         
  1513.         virtual /* [helpcontext][propputref][id] */ HRESULT STDMETHODCALLTYPE putref_ActiveConnection( 
  1514.             /* [in] */ _ADOConnection *Con) = 0;
  1515.         
  1516.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_State( 
  1517.             /* [retval][out] */ ObjectStateEnum *pState) = 0;
  1518.         
  1519.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Source( 
  1520.             /* [retval][out] */ VARIANT *pvar) = 0;
  1521.         
  1522.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Source( 
  1523.             /* [in] */ BSTR Source) = 0;
  1524.         
  1525.         virtual /* [helpcontext][propputref][id] */ HRESULT STDMETHODCALLTYPE putref_Source( 
  1526.             /* [in] */ IDispatch *Source) = 0;
  1527.         
  1528.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Mode( 
  1529.             /* [retval][out] */ ConnectModeEnum *pMode) = 0;
  1530.         
  1531.         virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Mode( 
  1532.             /* [in] */ ConnectModeEnum Mode) = 0;
  1533.         
  1534.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ParentURL( 
  1535.             /* [retval][out] */ BSTR *pbstrParentURL) = 0;
  1536.         
  1537.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE MoveRecord( 
  1538.             /* [defaultvalue][in] */ BSTR Source,
  1539.             /* [defaultvalue][in] */ BSTR Destination,
  1540.             /* [defaultvalue][in] */ BSTR UserName,
  1541.             /* [defaultvalue][in] */ BSTR Password,
  1542.             /* [defaultvalue][in] */ MoveRecordOptionsEnum Options,
  1543.             /* [defaultvalue][in] */ VARIANT_BOOL Async,
  1544.             /* [retval][out] */ BSTR *pbstrNewURL) = 0;
  1545.         
  1546.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CopyRecord( 
  1547.             /* [defaultvalue][in] */ BSTR Source,
  1548.             /* [defaultvalue][in] */ BSTR Destination,
  1549.             /* [defaultvalue][in] */ BSTR UserName,
  1550.             /* [defaultvalue][in] */ BSTR Password,
  1551.             /* [defaultvalue][in] */ CopyRecordOptionsEnum Options,
  1552.             /* [defaultvalue][in] */ VARIANT_BOOL Async,
  1553.             /* [retval][out] */ BSTR *pbstrNewURL) = 0;
  1554.         
  1555.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE DeleteRecord( 
  1556.             /* [defaultvalue][in] */ BSTR Source = L"",
  1557.             /* [defaultvalue][in] */ VARIANT_BOOL Async = 0) = 0;
  1558.         
  1559.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Open( 
  1560.             /* [optional][in] */ VARIANT Source,
  1561.             /* [optional][in] */ VARIANT ActiveConnection,
  1562.             /* [defaultvalue][in] */ ConnectModeEnum Mode = adModeUnknown,
  1563.             /* [defaultvalue][in] */ RecordCreateOptionsEnum CreateOptions = adFailIfNotExists,
  1564.             /* [defaultvalue][in] */ RecordOpenOptionsEnum Options = adOpenRecordUnspecified,
  1565.             /* [defaultvalue][in] */ BSTR UserName = L"",
  1566.             /* [defaultvalue][in] */ BSTR Password = L"") = 0;
  1567.         
  1568.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
  1569.         
  1570.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Fields( 
  1571.             /* [retval][out] */ ADOFields **ppFlds) = 0;
  1572.         
  1573.         virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_RecordType( 
  1574.             /* [retval][out] */ RecordTypeEnum *pType) = 0;
  1575.         
  1576.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetChildren( 
  1577.             /* [retval][out] */ _ADORecordset **ppRSet) = 0;
  1578.         
  1579.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  1580.         
  1581.     };
  1582.     
  1583. #else  /* C style interface */
  1584.     typedef struct _RecordVtbl
  1585.     {
  1586.         BEGIN_INTERFACE
  1587.         
  1588.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1589.             _ADORecord * This,
  1590.             /* [in] */ REFIID riid,
  1591.             /* [iid_is][out] */ void **ppvObject);
  1592.         
  1593.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1594.             _ADORecord * This);
  1595.         
  1596.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1597.             _ADORecord * This);
  1598.         
  1599.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1600.             _ADORecord * This,
  1601.             /* [out] */ UINT *pctinfo);
  1602.         
  1603.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1604.             _ADORecord * This,
  1605.             /* [in] */ UINT iTInfo,
  1606.             /* [in] */ LCID lcid,
  1607.             /* [out] */ ITypeInfo **ppTInfo);
  1608.         
  1609.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1610.             _ADORecord * This,
  1611.             /* [in] */ REFIID riid,
  1612.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1613.             /* [in] */ UINT cNames,
  1614.             /* [in] */ LCID lcid,
  1615.             /* [size_is][out] */ DISPID *rgDispId);
  1616.         
  1617.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1618.             _ADORecord * This,
  1619.             /* [in] */ DISPID dispIdMember,
  1620.             /* [in] */ REFIID riid,
  1621.             /* [in] */ LCID lcid,
  1622.             /* [in] */ WORD wFlags,
  1623.             /* [out][in] */ DISPPARAMS *pDispParams,
  1624.             /* [out] */ VARIANT *pVarResult,
  1625.             /* [out] */ EXCEPINFO *pExcepInfo,
  1626.             /* [out] */ UINT *puArgErr);
  1627.         
  1628.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )( 
  1629.             _ADORecord * This,
  1630.             /* [retval][out] */ ADOProperties **ppvObject);
  1631.         
  1632.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveConnection )( 
  1633.             _ADORecord * This,
  1634.             /* [retval][out] */ VARIANT *pvar);
  1635.         
  1636.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveConnection )( 
  1637.             _ADORecord * This,
  1638.             /* [in] */ BSTR bstrConn);
  1639.         
  1640.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE *putref_ActiveADOConnection )( 
  1641.             _ADORecord * This,
  1642.             /* [in] */ _ADOConnection *Con);
  1643.         
  1644.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
  1645.             _ADORecord * This,
  1646.             /* [retval][out] */ ObjectStateEnum *pState);
  1647.         
  1648.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
  1649.             _ADORecord * This,
  1650.             /* [retval][out] */ VARIANT *pvar);
  1651.         
  1652.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Source )( 
  1653.             _ADORecord * This,
  1654.             /* [in] */ BSTR Source);
  1655.         
  1656.         /* [helpcontext][propputref][id] */ HRESULT ( STDMETHODCALLTYPE *putref_Source )( 
  1657.             _ADORecord * This,
  1658.             /* [in] */ IDispatch *Source);
  1659.         
  1660.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  1661.             _ADORecord * This,
  1662.             /* [retval][out] */ ConnectModeEnum *pMode);
  1663.         
  1664.         /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  1665.             _ADORecord * This,
  1666.             /* [in] */ ConnectModeEnum Mode);
  1667.         
  1668.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ParentURL )( 
  1669.             _ADORecord * This,
  1670.             /* [retval][out] */ BSTR *pbstrParentURL);
  1671.         
  1672.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MoveADORecord )( 
  1673.             _ADORecord * This,
  1674.             /* [defaultvalue][in] */ BSTR Source,
  1675.             /* [defaultvalue][in] */ BSTR Destination,
  1676.             /* [defaultvalue][in] */ BSTR UserName,
  1677.             /* [defaultvalue][in] */ BSTR Password,
  1678.             /* [defaultvalue][in] */ MoveRecordOptionsEnum Options,
  1679.             /* [defaultvalue][in] */ VARIANT_BOOL Async,
  1680.             /* [retval][out] */ BSTR *pbstrNewURL);
  1681.         
  1682.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CopyADORecord )( 
  1683.             _ADORecord * This,
  1684.             /* [defaultvalue][in] */ BSTR Source,
  1685.             /* [defaultvalue][in] */ BSTR Destination,
  1686.             /* [defaultvalue][in] */ BSTR UserName,
  1687.             /* [defaultvalue][in] */ BSTR Password,
  1688.             /* [defaultvalue][in] */ CopyRecordOptionsEnum Options,
  1689.             /* [defaultvalue][in] */ VARIANT_BOOL Async,
  1690.             /* [retval][out] */ BSTR *pbstrNewURL);
  1691.         
  1692.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteADORecord )( 
  1693.             _ADORecord * This,
  1694.             /* [defaultvalue][in] */ BSTR Source,
  1695.             /* [defaultvalue][in] */ VARIANT_BOOL Async);
  1696.         
  1697.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
  1698.             _ADORecord * This,
  1699.             /* [optional][in] */ VARIANT Source,
  1700.             /* [optional][in] */ VARIANT ActiveConnection,
  1701.             /* [defaultvalue][in] */ ConnectModeEnum Mode,
  1702.             /* [defaultvalue][in] */ RecordCreateOptionsEnum CreateOptions,
  1703.             /* [defaultvalue][in] */ RecordOpenOptionsEnum Options,
  1704.             /* [defaultvalue][in] */ BSTR UserName,
  1705.             /* [defaultvalue][in] */ BSTR Password);
  1706.         
  1707.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
  1708.             _ADORecord * This);
  1709.         
  1710.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Fields )( 
  1711.             _ADORecord * This,
  1712.             /* [retval][out] */ ADOFields **ppFlds);
  1713.         
  1714.         /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecordType )( 
  1715.             _ADORecord * This,
  1716.             /* [retval][out] */ RecordTypeEnum *pType);
  1717.         
  1718.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetChildren )( 
  1719.             _ADORecord * This,
  1720.             /* [retval][out] */ _ADORecordset **ppRSet);
  1721.         
  1722.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Cancel )( 
  1723.             _ADORecord * This);
  1724.         
  1725.         END_INTERFACE
  1726.     } _RecordVtbl;
  1727.     interface _Record
  1728.     {
  1729.         CONST_VTBL struct _RecordVtbl *lpVtbl;
  1730.     };
  1731.     
  1732. #ifdef COBJMACROS
  1733. #define _Record_QueryInterface(This,riid,ppvObject)
  1734.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1735. #define _Record_AddRef(This)
  1736.     (This)->lpVtbl -> AddRef(This)
  1737. #define _Record_Release(This)
  1738.     (This)->lpVtbl -> Release(This)
  1739. #define _Record_GetTypeInfoCount(This,pctinfo)
  1740.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1741. #define _Record_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1742.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1743. #define _Record_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1744.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1745. #define _Record_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1746.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1747. #define _Record_get_Properties(This,ppvObject)
  1748.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  1749. #define _Record_get_ActiveConnection(This,pvar)
  1750.     (This)->lpVtbl -> get_ActiveConnection(This,pvar)
  1751. #define _Record_put_ActiveConnection(This,bstrConn)
  1752.     (This)->lpVtbl -> put_ActiveConnection(This,bstrConn)
  1753. #define _Record_putref_ActiveConnection(This,Con)
  1754.     (This)->lpVtbl -> putref_ActiveConnection(This,Con)
  1755. #define _Record_get_State(This,pState)
  1756.     (This)->lpVtbl -> get_State(This,pState)
  1757. #define _Record_get_Source(This,pvar)
  1758.     (This)->lpVtbl -> get_Source(This,pvar)
  1759. #define _Record_put_Source(This,Source)
  1760.     (This)->lpVtbl -> put_Source(This,Source)
  1761. #define _Record_putref_Source(This,Source)
  1762.     (This)->lpVtbl -> putref_Source(This,Source)
  1763. #define _Record_get_Mode(This,pMode)
  1764.     (This)->lpVtbl -> get_Mode(This,pMode)
  1765. #define _Record_put_Mode(This,Mode)
  1766.     (This)->lpVtbl -> put_Mode(This,Mode)
  1767. #define _Record_get_ParentURL(This,pbstrParentURL)
  1768.     (This)->lpVtbl -> get_ParentURL(This,pbstrParentURL)
  1769. #define _Record_MoveRecord(This,Source,Destination,UserName,Password,Options,Async,pbstrNewURL)
  1770.     (This)->lpVtbl -> MoveRecord(This,Source,Destination,UserName,Password,Options,Async,pbstrNewURL)
  1771. #define _Record_CopyRecord(This,Source,Destination,UserName,Password,Options,Async,pbstrNewURL)
  1772.     (This)->lpVtbl -> CopyRecord(This,Source,Destination,UserName,Password,Options,Async,pbstrNewURL)
  1773. #define _Record_DeleteRecord(This,Source,Async)
  1774.     (This)->lpVtbl -> DeleteRecord(This,Source,Async)
  1775. #define _Record_Open(This,Source,ActiveConnection,Mode,CreateOptions,Options,UserName,Password)
  1776.     (This)->lpVtbl -> Open(This,Source,ActiveConnection,Mode,CreateOptions,Options,UserName,Password)
  1777. #define _Record_Close(This)
  1778.     (This)->lpVtbl -> Close(This)
  1779. #define _Record_get_Fields(This,ppFlds)
  1780.     (This)->lpVtbl -> get_Fields(This,ppFlds)
  1781. #define _Record_get_RecordType(This,pType)
  1782.     (This)->lpVtbl -> get_RecordType(This,pType)
  1783. #define _Record_GetChildren(This,ppRSet)
  1784.     (This)->lpVtbl -> GetChildren(This,ppRSet)
  1785. #define _Record_Cancel(This)
  1786.     (This)->lpVtbl -> Cancel(This)
  1787. #endif /* COBJMACROS */
  1788. #endif  /* C style interface */
  1789. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Record_get_ActiveConnection_Proxy( 
  1790.     _ADORecord * This,
  1791.     /* [retval][out] */ VARIANT *pvar);
  1792. void __RPC_STUB _Record_get_ActiveConnection_Stub(
  1793.     IRpcStubBuffer *This,
  1794.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1795.     PRPC_MESSAGE _pRpcMessage,
  1796.     DWORD *_pdwStubPhase);
  1797. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE _Record_put_ActiveConnection_Proxy( 
  1798.     _ADORecord * This,
  1799.     /* [in] */ BSTR bstrConn);
  1800. void __RPC_STUB _Record_put_ActiveConnection_Stub(
  1801.     IRpcStubBuffer *This,
  1802.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1803.     PRPC_MESSAGE _pRpcMessage,
  1804.     DWORD *_pdwStubPhase);
  1805. /* [helpcontext][propputref][id] */ HRESULT STDMETHODCALLTYPE _Record_putref_ActiveConnection_Proxy( 
  1806.     _ADORecord * This,
  1807.     /* [in] */ _ADOConnection *Con);
  1808. void __RPC_STUB _Record_putref_ActiveConnection_Stub(
  1809.     IRpcStubBuffer *This,
  1810.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1811.     PRPC_MESSAGE _pRpcMessage,
  1812.     DWORD *_pdwStubPhase);
  1813. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Record_get_State_Proxy( 
  1814.     _ADORecord * This,
  1815.     /* [retval][out] */ ObjectStateEnum *pState);
  1816. void __RPC_STUB _Record_get_State_Stub(
  1817.     IRpcStubBuffer *This,
  1818.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1819.     PRPC_MESSAGE _pRpcMessage,
  1820.     DWORD *_pdwStubPhase);
  1821. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Record_get_Source_Proxy( 
  1822.     _ADORecord * This,
  1823.     /* [retval][out] */ VARIANT *pvar);
  1824. void __RPC_STUB _Record_get_Source_Stub(
  1825.     IRpcStubBuffer *This,
  1826.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1827.     PRPC_MESSAGE _pRpcMessage,
  1828.     DWORD *_pdwStubPhase);
  1829. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE _Record_put_Source_Proxy( 
  1830.     _ADORecord * This,
  1831.     /* [in] */ BSTR Source);
  1832. void __RPC_STUB _Record_put_Source_Stub(
  1833.     IRpcStubBuffer *This,
  1834.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1835.     PRPC_MESSAGE _pRpcMessage,
  1836.     DWORD *_pdwStubPhase);
  1837. /* [helpcontext][propputref][id] */ HRESULT STDMETHODCALLTYPE _Record_putref_Source_Proxy( 
  1838.     _ADORecord * This,
  1839.     /* [in] */ IDispatch *Source);
  1840. void __RPC_STUB _Record_putref_Source_Stub(
  1841.     IRpcStubBuffer *This,
  1842.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1843.     PRPC_MESSAGE _pRpcMessage,
  1844.     DWORD *_pdwStubPhase);
  1845. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Record_get_Mode_Proxy( 
  1846.     _ADORecord * This,
  1847.     /* [retval][out] */ ConnectModeEnum *pMode);
  1848. void __RPC_STUB _Record_get_Mode_Stub(
  1849.     IRpcStubBuffer *This,
  1850.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1851.     PRPC_MESSAGE _pRpcMessage,
  1852.     DWORD *_pdwStubPhase);
  1853. /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE _Record_put_Mode_Proxy( 
  1854.     _ADORecord * This,
  1855.     /* [in] */ ConnectModeEnum Mode);
  1856. void __RPC_STUB _Record_put_Mode_Stub(
  1857.     IRpcStubBuffer *This,
  1858.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1859.     PRPC_MESSAGE _pRpcMessage,
  1860.     DWORD *_pdwStubPhase);
  1861. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Record_get_ParentURL_Proxy( 
  1862.     _ADORecord * This,
  1863.     /* [retval][out] */ BSTR *pbstrParentURL);
  1864. void __RPC_STUB _Record_get_ParentURL_Stub(
  1865.     IRpcStubBuffer *This,
  1866.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1867.     PRPC_MESSAGE _pRpcMessage,
  1868.     DWORD *_pdwStubPhase);
  1869. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Record_MoveRecord_Proxy( 
  1870.     _ADORecord * This,
  1871.     /* [defaultvalue][in] */ BSTR Source,
  1872.     /* [defaultvalue][in] */ BSTR Destination,
  1873.     /* [defaultvalue][in] */ BSTR UserName,
  1874.     /* [defaultvalue][in] */ BSTR Password,
  1875.     /* [defaultvalue][in] */ MoveRecordOptionsEnum Options,
  1876.     /* [defaultvalue][in] */ VARIANT_BOOL Async,
  1877.     /* [retval][out] */ BSTR *pbstrNewURL);
  1878. void __RPC_STUB _Record_MoveRecord_Stub(
  1879.     IRpcStubBuffer *This,
  1880.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1881.     PRPC_MESSAGE _pRpcMessage,
  1882.     DWORD *_pdwStubPhase);
  1883. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Record_CopyRecord_Proxy( 
  1884.     _ADORecord * This,
  1885.     /* [defaultvalue][in] */ BSTR Source,
  1886.     /* [defaultvalue][in] */ BSTR Destination,
  1887.     /* [defaultvalue][in] */ BSTR UserName,
  1888.     /* [defaultvalue][in] */ BSTR Password,
  1889.     /* [defaultvalue][in] */ CopyRecordOptionsEnum Options,
  1890.     /* [defaultvalue][in] */ VARIANT_BOOL Async,
  1891.     /* [retval][out] */ BSTR *pbstrNewURL);
  1892. void __RPC_STUB _Record_CopyRecord_Stub(
  1893.     IRpcStubBuffer *This,
  1894.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1895.     PRPC_MESSAGE _pRpcMessage,
  1896.     DWORD *_pdwStubPhase);
  1897. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Record_DeleteRecord_Proxy( 
  1898.     _ADORecord * This,
  1899.     /* [defaultvalue][in] */ BSTR Source,
  1900.     /* [defaultvalue][in] */ VARIANT_BOOL Async);
  1901. void __RPC_STUB _Record_DeleteRecord_Stub(
  1902.     IRpcStubBuffer *This,
  1903.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1904.     PRPC_MESSAGE _pRpcMessage,
  1905.     DWORD *_pdwStubPhase);
  1906. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Record_Open_Proxy( 
  1907.     _ADORecord * This,
  1908.     /* [optional][in] */ VARIANT Source,
  1909.     /* [optional][in] */ VARIANT ActiveConnection,
  1910.     /* [defaultvalue][in] */ ConnectModeEnum Mode,
  1911.     /* [defaultvalue][in] */ RecordCreateOptionsEnum CreateOptions,
  1912.     /* [defaultvalue][in] */ RecordOpenOptionsEnum Options,
  1913.     /* [defaultvalue][in] */ BSTR UserName,
  1914.     /* [defaultvalue][in] */ BSTR Password);
  1915. void __RPC_STUB _Record_Open_Stub(
  1916.     IRpcStubBuffer *This,
  1917.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1918.     PRPC_MESSAGE _pRpcMessage,
  1919.     DWORD *_pdwStubPhase);
  1920. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Record_Close_Proxy( 
  1921.     _ADORecord * This);
  1922. void __RPC_STUB _Record_Close_Stub(
  1923.     IRpcStubBuffer *This,
  1924.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1925.     PRPC_MESSAGE _pRpcMessage,
  1926.     DWORD *_pdwStubPhase);
  1927. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Record_get_Fields_Proxy( 
  1928.     _ADORecord * This,
  1929.     /* [retval][out] */ ADOFields **ppFlds);
  1930. void __RPC_STUB _Record_get_Fields_Stub(
  1931.     IRpcStubBuffer *This,
  1932.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1933.     PRPC_MESSAGE _pRpcMessage,
  1934.     DWORD *_pdwStubPhase);
  1935. /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE _Record_get_RecordType_Proxy( 
  1936.     _ADORecord * This,
  1937.     /* [retval][out] */ RecordTypeEnum *pType);
  1938. void __RPC_STUB _Record_get_RecordType_Stub(
  1939.     IRpcStubBuffer *This,
  1940.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1941.     PRPC_MESSAGE _pRpcMessage,
  1942.     DWORD *_pdwStubPhase);
  1943. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Record_GetChildren_Proxy( 
  1944.     _ADORecord * This,
  1945.     /* [retval][out] */ _ADORecordset **ppRSet);
  1946. void __RPC_STUB _Record_GetChildren_Stub(
  1947.     IRpcStubBuffer *This,
  1948.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1949.     PRPC_MESSAGE _pRpcMessage,
  1950.     DWORD *_pdwStubPhase);
  1951. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Record_Cancel_Proxy( 
  1952.     _ADORecord * This);
  1953. void __RPC_STUB _Record_Cancel_Stub(
  1954.     IRpcStubBuffer *This,
  1955.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1956.     PRPC_MESSAGE _pRpcMessage,
  1957.     DWORD *_pdwStubPhase);
  1958. #endif  /* ___Record_INTERFACE_DEFINED__ */
  1959. EXTERN_C const CLSID CLSID_Record;
  1960. #ifdef __cplusplus
  1961. Record;
  1962. #endif
  1963. #ifndef ___Stream_INTERFACE_DEFINED__
  1964. #define ___Stream_INTERFACE_DEFINED__
  1965. /* interface _ADOStream */
  1966. /* [object][helpcontext][uuid][hidden][dual] */ 
  1967. EXTERN_C const IID IID__Stream;
  1968. #if defined(__cplusplus) && !defined(CINTERFACE)
  1969.     
  1970.     MIDL_INTERFACE("00000565-0000-0010-8000-00AA006D2EA4")
  1971.     _ADOStream : public IDispatch
  1972.     {
  1973.     public:
  1974.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
  1975.             /* [retval][out] */ ADO_LONGPTR *pSize) = 0;
  1976.         
  1977.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_EOS( 
  1978.             /* [retval][out] */ VARIANT_BOOL *pEOS) = 0;
  1979.         
  1980.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Position( 
  1981.             /* [retval][out] */ ADO_LONGPTR *pPos) = 0;
  1982.         
  1983.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Position( 
  1984.             /* [in] */ ADO_LONGPTR Position) = 0;
  1985.         
  1986.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
  1987.             /* [retval][out] */ StreamTypeEnum *pType) = 0;
  1988.         
  1989.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Type( 
  1990.             /* [in] */ StreamTypeEnum Type) = 0;
  1991.         
  1992.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LineSeparator( 
  1993.             /* [retval][out] */ LineSeparatorEnum *pLS) = 0;
  1994.         
  1995.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LineSeparator( 
  1996.             /* [in] */ LineSeparatorEnum LineSeparator) = 0;
  1997.         
  1998.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_State( 
  1999.             /* [retval][out] */ ObjectStateEnum *pState) = 0;
  2000.         
  2001.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Mode( 
  2002.             /* [retval][out] */ ConnectModeEnum *pMode) = 0;
  2003.         
  2004.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Mode( 
  2005.             /* [in] */ ConnectModeEnum Mode) = 0;
  2006.         
  2007.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Charset( 
  2008.             /* [retval][out] */ BSTR *pbstrCharset) = 0;
  2009.         
  2010.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Charset( 
  2011.             /* [in] */ BSTR Charset) = 0;
  2012.         
  2013.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Read( 
  2014.             /* [defaultvalue][in] */ long NumBytes,
  2015.             /* [retval][out] */ VARIANT *pVal) = 0;
  2016.         
  2017.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Open( 
  2018.             /* [optional][in] */ VARIANT Source,
  2019.             /* [defaultvalue][in] */ ConnectModeEnum Mode = adModeUnknown,
  2020.             /* [defaultvalue][in] */ StreamOpenOptionsEnum Options = adOpenStreamUnspecified,
  2021.             /* [defaultvalue][in] */ BSTR UserName = L"",
  2022.             /* [defaultvalue][in] */ BSTR Password = L"") = 0;
  2023.         
  2024.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
  2025.         
  2026.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SkipLine( void) = 0;
  2027.         
  2028.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Write( 
  2029.             /* [in] */ VARIANT Buffer) = 0;
  2030.         
  2031.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetEOS( void) = 0;
  2032.         
  2033.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CopyTo( 
  2034.             /* [in] */ _ADOStream *DestStream,
  2035.             /* [defaultvalue][in] */ ADO_LONGPTR CharNumber = -1) = 0;
  2036.         
  2037.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Flush( void) = 0;
  2038.         
  2039.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SaveToFile( 
  2040.             /* [in] */ BSTR FileName,
  2041.             /* [defaultvalue][in] */ SaveOptionsEnum Options = adSaveCreateNotExist) = 0;
  2042.         
  2043.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE LoadFromFile( 
  2044.             /* [in] */ BSTR FileName) = 0;
  2045.         
  2046.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ReadText( 
  2047.             /* [defaultvalue][in] */ long NumChars,
  2048.             /* [retval][out] */ BSTR *pbstr) = 0;
  2049.         
  2050.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE WriteText( 
  2051.             /* [in] */ BSTR Data,
  2052.             /* [defaultvalue][in] */ StreamWriteEnum Options = adWriteChar) = 0;
  2053.         
  2054.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  2055.         
  2056.     };
  2057.     
  2058. #else  /* C style interface */
  2059.     typedef struct _StreamVtbl
  2060.     {
  2061.         BEGIN_INTERFACE
  2062.         
  2063.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2064.             _ADOStream * This,
  2065.             /* [in] */ REFIID riid,
  2066.             /* [iid_is][out] */ void **ppvObject);
  2067.         
  2068.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2069.             _ADOStream * This);
  2070.         
  2071.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2072.             _ADOStream * This);
  2073.         
  2074.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2075.             _ADOStream * This,
  2076.             /* [out] */ UINT *pctinfo);
  2077.         
  2078.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2079.             _ADOStream * This,
  2080.             /* [in] */ UINT iTInfo,
  2081.             /* [in] */ LCID lcid,
  2082.             /* [out] */ ITypeInfo **ppTInfo);
  2083.         
  2084.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2085.             _ADOStream * This,
  2086.             /* [in] */ REFIID riid,
  2087.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2088.             /* [in] */ UINT cNames,
  2089.             /* [in] */ LCID lcid,
  2090.             /* [size_is][out] */ DISPID *rgDispId);
  2091.         
  2092.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2093.             _ADOStream * This,
  2094.             /* [in] */ DISPID dispIdMember,
  2095.             /* [in] */ REFIID riid,
  2096.             /* [in] */ LCID lcid,
  2097.             /* [in] */ WORD wFlags,
  2098.             /* [out][in] */ DISPPARAMS *pDispParams,
  2099.             /* [out] */ VARIANT *pVarResult,
  2100.             /* [out] */ EXCEPINFO *pExcepInfo,
  2101.             /* [out] */ UINT *puArgErr);
  2102.         
  2103.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
  2104.             _ADOStream * This,
  2105.             /* [retval][out] */ ADO_LONGPTR *pSize);
  2106.         
  2107.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EOS )( 
  2108.             _ADOStream * This,
  2109.             /* [retval][out] */ VARIANT_BOOL *pEOS);
  2110.         
  2111.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( 
  2112.             _ADOStream * This,
  2113.             /* [retval][out] */ ADO_LONGPTR *pPos);
  2114.         
  2115.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Position )( 
  2116.             _ADOStream * This,
  2117.             /* [in] */ ADO_LONGPTR Position);
  2118.         
  2119.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
  2120.             _ADOStream * This,
  2121.             /* [retval][out] */ StreamTypeEnum *pType);
  2122.         
  2123.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
  2124.             _ADOStream * This,
  2125.             /* [in] */ StreamTypeEnum Type);
  2126.         
  2127.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LineSeparator )( 
  2128.             _ADOStream * This,
  2129.             /* [retval][out] */ LineSeparatorEnum *pLS);
  2130.         
  2131.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LineSeparator )( 
  2132.             _ADOStream * This,
  2133.             /* [in] */ LineSeparatorEnum LineSeparator);
  2134.         
  2135.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
  2136.             _ADOStream * This,
  2137.             /* [retval][out] */ ObjectStateEnum *pState);
  2138.         
  2139.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  2140.             _ADOStream * This,
  2141.             /* [retval][out] */ ConnectModeEnum *pMode);
  2142.         
  2143.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  2144.             _ADOStream * This,
  2145.             /* [in] */ ConnectModeEnum Mode);
  2146.         
  2147.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Charset )( 
  2148.             _ADOStream * This,
  2149.             /* [retval][out] */ BSTR *pbstrCharset);
  2150.         
  2151.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Charset )( 
  2152.             _ADOStream * This,
  2153.             /* [in] */ BSTR Charset);
  2154.         
  2155.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Read )( 
  2156.             _ADOStream * This,
  2157.             /* [defaultvalue][in] */ long NumBytes,
  2158.             /* [retval][out] */ VARIANT *pVal);
  2159.         
  2160.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
  2161.             _ADOStream * This,
  2162.             /* [optional][in] */ VARIANT Source,
  2163.             /* [defaultvalue][in] */ ConnectModeEnum Mode,
  2164.             /* [defaultvalue][in] */ StreamOpenOptionsEnum Options,
  2165.             /* [defaultvalue][in] */ BSTR UserName,
  2166.             /* [defaultvalue][in] */ BSTR Password);
  2167.         
  2168.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
  2169.             _ADOStream * This);
  2170.         
  2171.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SkipLine )( 
  2172.             _ADOStream * This);
  2173.         
  2174.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Write )( 
  2175.             _ADOStream * This,
  2176.             /* [in] */ VARIANT Buffer);
  2177.         
  2178.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetEOS )( 
  2179.             _ADOStream * This);
  2180.         
  2181.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CopyTo )( 
  2182.             _ADOStream * This,
  2183.             /* [in] */ _ADOStream *DestStream,
  2184.             /* [defaultvalue][in] */ ADO_LONGPTR CharNumber);
  2185.         
  2186.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Flush )( 
  2187.             _ADOStream * This);
  2188.         
  2189.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SaveToFile )( 
  2190.             _ADOStream * This,
  2191.             /* [in] */ BSTR FileName,
  2192.             /* [defaultvalue][in] */ SaveOptionsEnum Options);
  2193.         
  2194.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *LoadFromFile )( 
  2195.             _ADOStream * This,
  2196.             /* [in] */ BSTR FileName);
  2197.         
  2198.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ReadText )( 
  2199.             _ADOStream * This,
  2200.             /* [defaultvalue][in] */ long NumChars,
  2201.             /* [retval][out] */ BSTR *pbstr);
  2202.         
  2203.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *WriteText )( 
  2204.             _ADOStream * This,
  2205.             /* [in] */ BSTR Data,
  2206.             /* [defaultvalue][in] */ StreamWriteEnum Options);
  2207.         
  2208.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Cancel )( 
  2209.             _ADOStream * This);
  2210.         
  2211.         END_INTERFACE
  2212.     } _StreamVtbl;
  2213.     interface _Stream
  2214.     {
  2215.         CONST_VTBL struct _StreamVtbl *lpVtbl;
  2216.     };
  2217.     
  2218. #ifdef COBJMACROS
  2219. #define _Stream_QueryInterface(This,riid,ppvObject)
  2220.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2221. #define _Stream_AddRef(This)
  2222.     (This)->lpVtbl -> AddRef(This)
  2223. #define _Stream_Release(This)
  2224.     (This)->lpVtbl -> Release(This)
  2225. #define _Stream_GetTypeInfoCount(This,pctinfo)
  2226.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2227. #define _Stream_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2228.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2229. #define _Stream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2230.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2231. #define _Stream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2232.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2233. #define _Stream_get_Size(This,pSize)
  2234.     (This)->lpVtbl -> get_Size(This,pSize)
  2235. #define _Stream_get_EOS(This,pEOS)
  2236.     (This)->lpVtbl -> get_EOS(This,pEOS)
  2237. #define _Stream_get_Position(This,pPos)
  2238.     (This)->lpVtbl -> get_Position(This,pPos)
  2239. #define _Stream_put_Position(This,Position)
  2240.     (This)->lpVtbl -> put_Position(This,Position)
  2241. #define _Stream_get_Type(This,pType)
  2242.     (This)->lpVtbl -> get_Type(This,pType)
  2243. #define _Stream_put_Type(This,Type)
  2244.     (This)->lpVtbl -> put_Type(This,Type)
  2245. #define _Stream_get_LineSeparator(This,pLS)
  2246.     (This)->lpVtbl -> get_LineSeparator(This,pLS)
  2247. #define _Stream_put_LineSeparator(This,LineSeparator)
  2248.     (This)->lpVtbl -> put_LineSeparator(This,LineSeparator)
  2249. #define _Stream_get_State(This,pState)
  2250.     (This)->lpVtbl -> get_State(This,pState)
  2251. #define _Stream_get_Mode(This,pMode)
  2252.     (This)->lpVtbl -> get_Mode(This,pMode)
  2253. #define _Stream_put_Mode(This,Mode)
  2254.     (This)->lpVtbl -> put_Mode(This,Mode)
  2255. #define _Stream_get_Charset(This,pbstrCharset)
  2256.     (This)->lpVtbl -> get_Charset(This,pbstrCharset)
  2257. #define _Stream_put_Charset(This,Charset)
  2258.     (This)->lpVtbl -> put_Charset(This,Charset)
  2259. #define _Stream_Read(This,NumBytes,pVal)
  2260.     (This)->lpVtbl -> Read(This,NumBytes,pVal)
  2261. #define _Stream_Open(This,Source,Mode,Options,UserName,Password)
  2262.     (This)->lpVtbl -> Open(This,Source,Mode,Options,UserName,Password)
  2263. #define _Stream_Close(This)
  2264.     (This)->lpVtbl -> Close(This)
  2265. #define _Stream_SkipLine(This)
  2266.     (This)->lpVtbl -> SkipLine(This)
  2267. #define _Stream_Write(This,Buffer)
  2268.     (This)->lpVtbl -> Write(This,Buffer)
  2269. #define _Stream_SetEOS(This)
  2270.     (This)->lpVtbl -> SetEOS(This)
  2271. #define _Stream_CopyTo(This,DestStream,CharNumber)
  2272.     (This)->lpVtbl -> CopyTo(This,DestStream,CharNumber)
  2273. #define _Stream_Flush(This)
  2274.     (This)->lpVtbl -> Flush(This)
  2275. #define _Stream_SaveToFile(This,FileName,Options)
  2276.     (This)->lpVtbl -> SaveToFile(This,FileName,Options)
  2277. #define _Stream_LoadFromFile(This,FileName)
  2278.     (This)->lpVtbl -> LoadFromFile(This,FileName)
  2279. #define _Stream_ReadText(This,NumChars,pbstr)
  2280.     (This)->lpVtbl -> ReadText(This,NumChars,pbstr)
  2281. #define _Stream_WriteText(This,Data,Options)
  2282.     (This)->lpVtbl -> WriteText(This,Data,Options)
  2283. #define _Stream_Cancel(This)
  2284.     (This)->lpVtbl -> Cancel(This)
  2285. #endif /* COBJMACROS */
  2286. #endif  /* C style interface */
  2287. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Stream_get_Size_Proxy( 
  2288.     _ADOStream * This,
  2289.     /* [retval][out] */ ADO_LONGPTR *pSize);
  2290. void __RPC_STUB _Stream_get_Size_Stub(
  2291.     IRpcStubBuffer *This,
  2292.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2293.     PRPC_MESSAGE _pRpcMessage,
  2294.     DWORD *_pdwStubPhase);
  2295. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Stream_get_EOS_Proxy( 
  2296.     _ADOStream * This,
  2297.     /* [retval][out] */ VARIANT_BOOL *pEOS);
  2298. void __RPC_STUB _Stream_get_EOS_Stub(
  2299.     IRpcStubBuffer *This,
  2300.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2301.     PRPC_MESSAGE _pRpcMessage,
  2302.     DWORD *_pdwStubPhase);
  2303. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Stream_get_Position_Proxy( 
  2304.     _ADOStream * This,
  2305.     /* [retval][out] */ ADO_LONGPTR *pPos);
  2306. void __RPC_STUB _Stream_get_Position_Stub(
  2307.     IRpcStubBuffer *This,
  2308.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2309.     PRPC_MESSAGE _pRpcMessage,
  2310.     DWORD *_pdwStubPhase);
  2311. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Stream_put_Position_Proxy( 
  2312.     _ADOStream * This,
  2313.     /* [in] */ ADO_LONGPTR Position);
  2314. void __RPC_STUB _Stream_put_Position_Stub(
  2315.     IRpcStubBuffer *This,
  2316.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2317.     PRPC_MESSAGE _pRpcMessage,
  2318.     DWORD *_pdwStubPhase);
  2319. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Stream_get_Type_Proxy( 
  2320.     _ADOStream * This,
  2321.     /* [retval][out] */ StreamTypeEnum *pType);
  2322. void __RPC_STUB _Stream_get_Type_Stub(
  2323.     IRpcStubBuffer *This,
  2324.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2325.     PRPC_MESSAGE _pRpcMessage,
  2326.     DWORD *_pdwStubPhase);
  2327. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Stream_put_Type_Proxy( 
  2328.     _ADOStream * This,
  2329.     /* [in] */ StreamTypeEnum Type);
  2330. void __RPC_STUB _Stream_put_Type_Stub(
  2331.     IRpcStubBuffer *This,
  2332.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2333.     PRPC_MESSAGE _pRpcMessage,
  2334.     DWORD *_pdwStubPhase);
  2335. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Stream_get_LineSeparator_Proxy( 
  2336.     _ADOStream * This,
  2337.     /* [retval][out] */ LineSeparatorEnum *pLS);
  2338. void __RPC_STUB _Stream_get_LineSeparator_Stub(
  2339.     IRpcStubBuffer *This,
  2340.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2341.     PRPC_MESSAGE _pRpcMessage,
  2342.     DWORD *_pdwStubPhase);
  2343. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Stream_put_LineSeparator_Proxy( 
  2344.     _ADOStream * This,
  2345.     /* [in] */ LineSeparatorEnum LineSeparator);
  2346. void __RPC_STUB _Stream_put_LineSeparator_Stub(
  2347.     IRpcStubBuffer *This,
  2348.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2349.     PRPC_MESSAGE _pRpcMessage,
  2350.     DWORD *_pdwStubPhase);
  2351. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Stream_get_State_Proxy( 
  2352.     _ADOStream * This,
  2353.     /* [retval][out] */ ObjectStateEnum *pState);
  2354. void __RPC_STUB _Stream_get_State_Stub(
  2355.     IRpcStubBuffer *This,
  2356.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2357.     PRPC_MESSAGE _pRpcMessage,
  2358.     DWORD *_pdwStubPhase);
  2359. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Stream_get_Mode_Proxy( 
  2360.     _ADOStream * This,
  2361.     /* [retval][out] */ ConnectModeEnum *pMode);
  2362. void __RPC_STUB _Stream_get_Mode_Stub(
  2363.     IRpcStubBuffer *This,
  2364.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2365.     PRPC_MESSAGE _pRpcMessage,
  2366.     DWORD *_pdwStubPhase);
  2367. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Stream_put_Mode_Proxy( 
  2368.     _ADOStream * This,
  2369.     /* [in] */ ConnectModeEnum Mode);
  2370. void __RPC_STUB _Stream_put_Mode_Stub(
  2371.     IRpcStubBuffer *This,
  2372.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2373.     PRPC_MESSAGE _pRpcMessage,
  2374.     DWORD *_pdwStubPhase);
  2375. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Stream_get_Charset_Proxy( 
  2376.     _ADOStream * This,
  2377.     /* [retval][out] */ BSTR *pbstrCharset);
  2378. void __RPC_STUB _Stream_get_Charset_Stub(
  2379.     IRpcStubBuffer *This,
  2380.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2381.     PRPC_MESSAGE _pRpcMessage,
  2382.     DWORD *_pdwStubPhase);
  2383. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Stream_put_Charset_Proxy( 
  2384.     _ADOStream * This,
  2385.     /* [in] */ BSTR Charset);
  2386. void __RPC_STUB _Stream_put_Charset_Stub(
  2387.     IRpcStubBuffer *This,
  2388.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2389.     PRPC_MESSAGE _pRpcMessage,
  2390.     DWORD *_pdwStubPhase);
  2391. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_Read_Proxy( 
  2392.     _ADOStream * This,
  2393.     /* [defaultvalue][in] */ long NumBytes,
  2394.     /* [retval][out] */ VARIANT *pVal);
  2395. void __RPC_STUB _Stream_Read_Stub(
  2396.     IRpcStubBuffer *This,
  2397.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2398.     PRPC_MESSAGE _pRpcMessage,
  2399.     DWORD *_pdwStubPhase);
  2400. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_Open_Proxy( 
  2401.     _ADOStream * This,
  2402.     /* [optional][in] */ VARIANT Source,
  2403.     /* [defaultvalue][in] */ ConnectModeEnum Mode,
  2404.     /* [defaultvalue][in] */ StreamOpenOptionsEnum Options,
  2405.     /* [defaultvalue][in] */ BSTR UserName,
  2406.     /* [defaultvalue][in] */ BSTR Password);
  2407. void __RPC_STUB _Stream_Open_Stub(
  2408.     IRpcStubBuffer *This,
  2409.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2410.     PRPC_MESSAGE _pRpcMessage,
  2411.     DWORD *_pdwStubPhase);
  2412. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_Close_Proxy( 
  2413.     _ADOStream * This);
  2414. void __RPC_STUB _Stream_Close_Stub(
  2415.     IRpcStubBuffer *This,
  2416.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2417.     PRPC_MESSAGE _pRpcMessage,
  2418.     DWORD *_pdwStubPhase);
  2419. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_SkipLine_Proxy( 
  2420.     _ADOStream * This);
  2421. void __RPC_STUB _Stream_SkipLine_Stub(
  2422.     IRpcStubBuffer *This,
  2423.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2424.     PRPC_MESSAGE _pRpcMessage,
  2425.     DWORD *_pdwStubPhase);
  2426. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_Write_Proxy( 
  2427.     _ADOStream * This,
  2428.     /* [in] */ VARIANT Buffer);
  2429. void __RPC_STUB _Stream_Write_Stub(
  2430.     IRpcStubBuffer *This,
  2431.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2432.     PRPC_MESSAGE _pRpcMessage,
  2433.     DWORD *_pdwStubPhase);
  2434. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_SetEOS_Proxy( 
  2435.     _ADOStream * This);
  2436. void __RPC_STUB _Stream_SetEOS_Stub(
  2437.     IRpcStubBuffer *This,
  2438.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2439.     PRPC_MESSAGE _pRpcMessage,
  2440.     DWORD *_pdwStubPhase);
  2441. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_CopyTo_Proxy( 
  2442.     _ADOStream * This,
  2443.     /* [in] */ _ADOStream *DestStream,
  2444.     /* [defaultvalue][in] */ ADO_LONGPTR CharNumber);
  2445. void __RPC_STUB _Stream_CopyTo_Stub(
  2446.     IRpcStubBuffer *This,
  2447.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2448.     PRPC_MESSAGE _pRpcMessage,
  2449.     DWORD *_pdwStubPhase);
  2450. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_Flush_Proxy( 
  2451.     _ADOStream * This);
  2452. void __RPC_STUB _Stream_Flush_Stub(
  2453.     IRpcStubBuffer *This,
  2454.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2455.     PRPC_MESSAGE _pRpcMessage,
  2456.     DWORD *_pdwStubPhase);
  2457. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_SaveToFile_Proxy( 
  2458.     _ADOStream * This,
  2459.     /* [in] */ BSTR FileName,
  2460.     /* [defaultvalue][in] */ SaveOptionsEnum Options);
  2461. void __RPC_STUB _Stream_SaveToFile_Stub(
  2462.     IRpcStubBuffer *This,
  2463.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2464.     PRPC_MESSAGE _pRpcMessage,
  2465.     DWORD *_pdwStubPhase);
  2466. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_LoadFromFile_Proxy( 
  2467.     _ADOStream * This,
  2468.     /* [in] */ BSTR FileName);
  2469. void __RPC_STUB _Stream_LoadFromFile_Stub(
  2470.     IRpcStubBuffer *This,
  2471.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2472.     PRPC_MESSAGE _pRpcMessage,
  2473.     DWORD *_pdwStubPhase);
  2474. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_ReadText_Proxy( 
  2475.     _ADOStream * This,
  2476.     /* [defaultvalue][in] */ long NumChars,
  2477.     /* [retval][out] */ BSTR *pbstr);
  2478. void __RPC_STUB _Stream_ReadText_Stub(
  2479.     IRpcStubBuffer *This,
  2480.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2481.     PRPC_MESSAGE _pRpcMessage,
  2482.     DWORD *_pdwStubPhase);
  2483. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_WriteText_Proxy( 
  2484.     _ADOStream * This,
  2485.     /* [in] */ BSTR Data,
  2486.     /* [defaultvalue][in] */ StreamWriteEnum Options);
  2487. void __RPC_STUB _Stream_WriteText_Stub(
  2488.     IRpcStubBuffer *This,
  2489.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2490.     PRPC_MESSAGE _pRpcMessage,
  2491.     DWORD *_pdwStubPhase);
  2492. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Stream_Cancel_Proxy( 
  2493.     _ADOStream * This);
  2494. void __RPC_STUB _Stream_Cancel_Stub(
  2495.     IRpcStubBuffer *This,
  2496.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2497.     PRPC_MESSAGE _pRpcMessage,
  2498.     DWORD *_pdwStubPhase);
  2499. #endif  /* ___Stream_INTERFACE_DEFINED__ */
  2500. EXTERN_C const CLSID CLSID_Stream;
  2501. #ifdef __cplusplus
  2502. Stream;
  2503. #endif
  2504. #ifndef __ADORecordConstruction_INTERFACE_DEFINED__
  2505. #define __ADORecordConstruction_INTERFACE_DEFINED__
  2506. /* interface ADORecordConstruction */
  2507. /* [object][uuid][restricted] */ 
  2508. EXTERN_C const IID IID_ADORecordConstruction;
  2509. #if defined(__cplusplus) && !defined(CINTERFACE)
  2510.     
  2511.     MIDL_INTERFACE("00000567-0000-0010-8000-00AA006D2EA4")
  2512.     ADORecordConstruction : public IDispatch
  2513.     {
  2514.     public:
  2515.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Row( 
  2516.             /* [retval][out] */ IUnknown **ppRow) = 0;
  2517.         
  2518.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Row( 
  2519.             /* [in] */ IUnknown *pRow) = 0;
  2520.         
  2521.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ParentRow( 
  2522.             /* [in] */ IUnknown *pRow) = 0;
  2523.         
  2524.     };
  2525.     
  2526. #else  /* C style interface */
  2527.     typedef struct ADORecordConstructionVtbl
  2528.     {
  2529.         BEGIN_INTERFACE
  2530.         
  2531.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2532.             ADORecordConstruction * This,
  2533.             /* [in] */ REFIID riid,
  2534.             /* [iid_is][out] */ void **ppvObject);
  2535.         
  2536.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2537.             ADORecordConstruction * This);
  2538.         
  2539.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2540.             ADORecordConstruction * This);
  2541.         
  2542.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2543.             ADORecordConstruction * This,
  2544.             /* [out] */ UINT *pctinfo);
  2545.         
  2546.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2547.             ADORecordConstruction * This,
  2548.             /* [in] */ UINT iTInfo,
  2549.             /* [in] */ LCID lcid,
  2550.             /* [out] */ ITypeInfo **ppTInfo);
  2551.         
  2552.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2553.             ADORecordConstruction * This,
  2554.             /* [in] */ REFIID riid,
  2555.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2556.             /* [in] */ UINT cNames,
  2557.             /* [in] */ LCID lcid,
  2558.             /* [size_is][out] */ DISPID *rgDispId);
  2559.         
  2560.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2561.             ADORecordConstruction * This,
  2562.             /* [in] */ DISPID dispIdMember,
  2563.             /* [in] */ REFIID riid,
  2564.             /* [in] */ LCID lcid,
  2565.             /* [in] */ WORD wFlags,
  2566.             /* [out][in] */ DISPPARAMS *pDispParams,
  2567.             /* [out] */ VARIANT *pVarResult,
  2568.             /* [out] */ EXCEPINFO *pExcepInfo,
  2569.             /* [out] */ UINT *puArgErr);
  2570.         
  2571.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Row )( 
  2572.             ADORecordConstruction * This,
  2573.             /* [retval][out] */ IUnknown **ppRow);
  2574.         
  2575.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Row )( 
  2576.             ADORecordConstruction * This,
  2577.             /* [in] */ IUnknown *pRow);
  2578.         
  2579.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ParentRow )( 
  2580.             ADORecordConstruction * This,
  2581.             /* [in] */ IUnknown *pRow);
  2582.         
  2583.         END_INTERFACE
  2584.     } ADORecordConstructionVtbl;
  2585.     interface ADORecordConstruction
  2586.     {
  2587.         CONST_VTBL struct ADORecordConstructionVtbl *lpVtbl;
  2588.     };
  2589.     
  2590. #ifdef COBJMACROS
  2591. #define ADORecordConstruction_QueryInterface(This,riid,ppvObject)
  2592.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2593. #define ADORecordConstruction_AddRef(This)
  2594.     (This)->lpVtbl -> AddRef(This)
  2595. #define ADORecordConstruction_Release(This)
  2596.     (This)->lpVtbl -> Release(This)
  2597. #define ADORecordConstruction_GetTypeInfoCount(This,pctinfo)
  2598.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2599. #define ADORecordConstruction_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2600.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2601. #define ADORecordConstruction_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2602.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2603. #define ADORecordConstruction_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2604.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2605. #define ADORecordConstruction_get_Row(This,ppRow)
  2606.     (This)->lpVtbl -> get_Row(This,ppRow)
  2607. #define ADORecordConstruction_put_Row(This,pRow)
  2608.     (This)->lpVtbl -> put_Row(This,pRow)
  2609. #define ADORecordConstruction_put_ParentRow(This,pRow)
  2610.     (This)->lpVtbl -> put_ParentRow(This,pRow)
  2611. #endif /* COBJMACROS */
  2612. #endif  /* C style interface */
  2613. /* [propget] */ HRESULT STDMETHODCALLTYPE ADORecordConstruction_get_Row_Proxy( 
  2614.     ADORecordConstruction * This,
  2615.     /* [retval][out] */ IUnknown **ppRow);
  2616. void __RPC_STUB ADORecordConstruction_get_Row_Stub(
  2617.     IRpcStubBuffer *This,
  2618.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2619.     PRPC_MESSAGE _pRpcMessage,
  2620.     DWORD *_pdwStubPhase);
  2621. /* [propput] */ HRESULT STDMETHODCALLTYPE ADORecordConstruction_put_Row_Proxy( 
  2622.     ADORecordConstruction * This,
  2623.     /* [in] */ IUnknown *pRow);
  2624. void __RPC_STUB ADORecordConstruction_put_Row_Stub(
  2625.     IRpcStubBuffer *This,
  2626.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2627.     PRPC_MESSAGE _pRpcMessage,
  2628.     DWORD *_pdwStubPhase);
  2629. /* [propput] */ HRESULT STDMETHODCALLTYPE ADORecordConstruction_put_ParentRow_Proxy( 
  2630.     ADORecordConstruction * This,
  2631.     /* [in] */ IUnknown *pRow);
  2632. void __RPC_STUB ADORecordConstruction_put_ParentRow_Stub(
  2633.     IRpcStubBuffer *This,
  2634.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2635.     PRPC_MESSAGE _pRpcMessage,
  2636.     DWORD *_pdwStubPhase);
  2637. #endif  /* __ADORecordConstruction_INTERFACE_DEFINED__ */
  2638. #ifndef __ADOStreamConstruction_INTERFACE_DEFINED__
  2639. #define __ADOStreamConstruction_INTERFACE_DEFINED__
  2640. /* interface ADOStreamConstruction */
  2641. /* [object][uuid][restricted] */ 
  2642. EXTERN_C const IID IID_ADOStreamConstruction;
  2643. #if defined(__cplusplus) && !defined(CINTERFACE)
  2644.     
  2645.     MIDL_INTERFACE("00000568-0000-0010-8000-00AA006D2EA4")
  2646.     ADOStreamConstruction : public IDispatch
  2647.     {
  2648.     public:
  2649.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Stream( 
  2650.             /* [retval][out] */ IUnknown **ppStm) = 0;
  2651.         
  2652.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Stream( 
  2653.             /* [in] */ IUnknown *pStm) = 0;
  2654.         
  2655.     };
  2656.     
  2657. #else  /* C style interface */
  2658.     typedef struct ADOStreamConstructionVtbl
  2659.     {
  2660.         BEGIN_INTERFACE
  2661.         
  2662.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2663.             ADOStreamConstruction * This,
  2664.             /* [in] */ REFIID riid,
  2665.             /* [iid_is][out] */ void **ppvObject);
  2666.         
  2667.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2668.             ADOStreamConstruction * This);
  2669.         
  2670.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2671.             ADOStreamConstruction * This);
  2672.         
  2673.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2674.             ADOStreamConstruction * This,
  2675.             /* [out] */ UINT *pctinfo);
  2676.         
  2677.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2678.             ADOStreamConstruction * This,
  2679.             /* [in] */ UINT iTInfo,
  2680.             /* [in] */ LCID lcid,
  2681.             /* [out] */ ITypeInfo **ppTInfo);
  2682.         
  2683.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2684.             ADOStreamConstruction * This,
  2685.             /* [in] */ REFIID riid,
  2686.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2687.             /* [in] */ UINT cNames,
  2688.             /* [in] */ LCID lcid,
  2689.             /* [size_is][out] */ DISPID *rgDispId);
  2690.         
  2691.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2692.             ADOStreamConstruction * This,
  2693.             /* [in] */ DISPID dispIdMember,
  2694.             /* [in] */ REFIID riid,
  2695.             /* [in] */ LCID lcid,
  2696.             /* [in] */ WORD wFlags,
  2697.             /* [out][in] */ DISPPARAMS *pDispParams,
  2698.             /* [out] */ VARIANT *pVarResult,
  2699.             /* [out] */ EXCEPINFO *pExcepInfo,
  2700.             /* [out] */ UINT *puArgErr);
  2701.         
  2702.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Stream )( 
  2703.             ADOStreamConstruction * This,
  2704.             /* [retval][out] */ IUnknown **ppStm);
  2705.         
  2706.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Stream )( 
  2707.             ADOStreamConstruction * This,
  2708.             /* [in] */ IUnknown *pStm);
  2709.         
  2710.         END_INTERFACE
  2711.     } ADOStreamConstructionVtbl;
  2712.     interface ADOStreamConstruction
  2713.     {
  2714.         CONST_VTBL struct ADOStreamConstructionVtbl *lpVtbl;
  2715.     };
  2716.     
  2717. #ifdef COBJMACROS
  2718. #define ADOStreamConstruction_QueryInterface(This,riid,ppvObject)
  2719.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2720. #define ADOStreamConstruction_AddRef(This)
  2721.     (This)->lpVtbl -> AddRef(This)
  2722. #define ADOStreamConstruction_Release(This)
  2723.     (This)->lpVtbl -> Release(This)
  2724. #define ADOStreamConstruction_GetTypeInfoCount(This,pctinfo)
  2725.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2726. #define ADOStreamConstruction_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2727.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2728. #define ADOStreamConstruction_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2729.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2730. #define ADOStreamConstruction_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2731.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2732. #define ADOStreamConstruction_get_Stream(This,ppStm)
  2733.     (This)->lpVtbl -> get_Stream(This,ppStm)
  2734. #define ADOStreamConstruction_put_Stream(This,pStm)
  2735.     (This)->lpVtbl -> put_Stream(This,pStm)
  2736. #endif /* COBJMACROS */
  2737. #endif  /* C style interface */
  2738. /* [propget] */ HRESULT STDMETHODCALLTYPE ADOStreamConstruction_get_Stream_Proxy( 
  2739.     ADOStreamConstruction * This,
  2740.     /* [retval][out] */ IUnknown **ppStm);
  2741. void __RPC_STUB ADOStreamConstruction_get_Stream_Stub(
  2742.     IRpcStubBuffer *This,
  2743.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2744.     PRPC_MESSAGE _pRpcMessage,
  2745.     DWORD *_pdwStubPhase);
  2746. /* [propput] */ HRESULT STDMETHODCALLTYPE ADOStreamConstruction_put_Stream_Proxy( 
  2747.     ADOStreamConstruction * This,
  2748.     /* [in] */ IUnknown *pStm);
  2749. void __RPC_STUB ADOStreamConstruction_put_Stream_Stub(
  2750.     IRpcStubBuffer *This,
  2751.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2752.     PRPC_MESSAGE _pRpcMessage,
  2753.     DWORD *_pdwStubPhase);
  2754. #endif  /* __ADOStreamConstruction_INTERFACE_DEFINED__ */
  2755. #ifndef __ADOCommandConstruction_INTERFACE_DEFINED__
  2756. #define __ADOCommandConstruction_INTERFACE_DEFINED__
  2757. /* interface ADOCommandConstruction */
  2758. /* [object][uuid][restricted] */ 
  2759. EXTERN_C const IID IID_ADOCommandConstruction;
  2760. #if defined(__cplusplus) && !defined(CINTERFACE)
  2761.     
  2762.     MIDL_INTERFACE("00000517-0000-0010-8000-00AA006D2EA4")
  2763.     ADOCommandConstruction : public IUnknown
  2764.     {
  2765.     public:
  2766.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OLEDBCommand( 
  2767.             /* [retval][out] */ IUnknown **ppOLEDBCommand) = 0;
  2768.         
  2769.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_OLEDBCommand( 
  2770.             /* [in] */ IUnknown *pOLEDBCommand) = 0;
  2771.         
  2772.     };
  2773.     
  2774. #else  /* C style interface */
  2775.     typedef struct ADOCommandConstructionVtbl
  2776.     {
  2777.         BEGIN_INTERFACE
  2778.         
  2779.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2780.             ADOCommandConstruction * This,
  2781.             /* [in] */ REFIID riid,
  2782.             /* [iid_is][out] */ void **ppvObject);
  2783.