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

模拟服务器

开发平台:

C/C++

  1. #endif  /* C style interface */
  2. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandPrepare_RemotePrepare_Proxy( 
  3.     ICommandPrepare * This,
  4.     /* [in] */ ULONG cExpectedRuns,
  5.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  6. void __RPC_STUB ICommandPrepare_RemotePrepare_Stub(
  7.     IRpcStubBuffer *This,
  8.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9.     PRPC_MESSAGE _pRpcMessage,
  10.     DWORD *_pdwStubPhase);
  11. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandPrepare_RemoteUnprepare_Proxy( 
  12.     ICommandPrepare * This,
  13.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  14. void __RPC_STUB ICommandPrepare_RemoteUnprepare_Stub(
  15.     IRpcStubBuffer *This,
  16.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17.     PRPC_MESSAGE _pRpcMessage,
  18.     DWORD *_pdwStubPhase);
  19. #endif  /* __ICommandPrepare_INTERFACE_DEFINED__ */
  20. #ifndef __ICommandProperties_INTERFACE_DEFINED__
  21. #define __ICommandProperties_INTERFACE_DEFINED__
  22. /* interface ICommandProperties */
  23. /* [unique][uuid][object] */ 
  24. EXTERN_C const IID IID_ICommandProperties;
  25. #if defined(__cplusplus) && !defined(CINTERFACE)
  26.     
  27.     MIDL_INTERFACE("0c733a79-2a1c-11ce-ade5-00aa0044773d")
  28.     ICommandProperties : public IUnknown
  29.     {
  30.     public:
  31.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetProperties( 
  32.             /* [in] */ const ULONG cPropertyIDSets,
  33.             /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[  ],
  34.             /* [out][in] */ ULONG *pcPropertySets,
  35.             /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets) = 0;
  36.         
  37.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetProperties( 
  38.             /* [in] */ ULONG cPropertySets,
  39.             /* [size_is][unique][out][in] */ DBPROPSET rgPropertySets[  ]) = 0;
  40.         
  41.     };
  42.     
  43. #else  /* C style interface */
  44.     typedef struct ICommandPropertiesVtbl
  45.     {
  46.         BEGIN_INTERFACE
  47.         
  48.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  49.             ICommandProperties * This,
  50.             /* [in] */ REFIID riid,
  51.             /* [iid_is][out] */ void **ppvObject);
  52.         
  53.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  54.             ICommandProperties * This);
  55.         
  56.         ULONG ( STDMETHODCALLTYPE *Release )( 
  57.             ICommandProperties * This);
  58.         
  59.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )( 
  60.             ICommandProperties * This,
  61.             /* [in] */ const ULONG cPropertyIDSets,
  62.             /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[  ],
  63.             /* [out][in] */ ULONG *pcPropertySets,
  64.             /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets);
  65.         
  66.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetProperties )( 
  67.             ICommandProperties * This,
  68.             /* [in] */ ULONG cPropertySets,
  69.             /* [size_is][unique][out][in] */ DBPROPSET rgPropertySets[  ]);
  70.         
  71.         END_INTERFACE
  72.     } ICommandPropertiesVtbl;
  73.     interface ICommandProperties
  74.     {
  75.         CONST_VTBL struct ICommandPropertiesVtbl *lpVtbl;
  76.     };
  77.     
  78. #ifdef COBJMACROS
  79. #define ICommandProperties_QueryInterface(This,riid,ppvObject)
  80.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  81. #define ICommandProperties_AddRef(This)
  82.     (This)->lpVtbl -> AddRef(This)
  83. #define ICommandProperties_Release(This)
  84.     (This)->lpVtbl -> Release(This)
  85. #define ICommandProperties_GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  86.     (This)->lpVtbl -> GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  87. #define ICommandProperties_SetProperties(This,cPropertySets,rgPropertySets)
  88.     (This)->lpVtbl -> SetProperties(This,cPropertySets,rgPropertySets)
  89. #endif /* COBJMACROS */
  90. #endif  /* C style interface */
  91. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandProperties_RemoteGetProperties_Proxy( 
  92.     ICommandProperties * This,
  93.     /* [in] */ const ULONG cPropertyIDSets,
  94.     /* [size_is][unique][in] */ const DBPROPIDSET *rgPropertyIDSets,
  95.     /* [out][in] */ ULONG *pcPropertySets,
  96.     /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets,
  97.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  98. void __RPC_STUB ICommandProperties_RemoteGetProperties_Stub(
  99.     IRpcStubBuffer *This,
  100.     IRpcChannelBuffer *_pRpcChannelBuffer,
  101.     PRPC_MESSAGE _pRpcMessage,
  102.     DWORD *_pdwStubPhase);
  103. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandProperties_RemoteSetProperties_Proxy( 
  104.     ICommandProperties * This,
  105.     /* [in] */ ULONG cPropertySets,
  106.     /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  107.     /* [in] */ ULONG cTotalProps,
  108.     /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  109.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  110. void __RPC_STUB ICommandProperties_RemoteSetProperties_Stub(
  111.     IRpcStubBuffer *This,
  112.     IRpcChannelBuffer *_pRpcChannelBuffer,
  113.     PRPC_MESSAGE _pRpcMessage,
  114.     DWORD *_pdwStubPhase);
  115. #endif  /* __ICommandProperties_INTERFACE_DEFINED__ */
  116. #ifndef __ICommandText_INTERFACE_DEFINED__
  117. #define __ICommandText_INTERFACE_DEFINED__
  118. /* interface ICommandText */
  119. /* [unique][uuid][object] */ 
  120. EXTERN_C const IID IID_ICommandText;
  121. #if defined(__cplusplus) && !defined(CINTERFACE)
  122.     
  123.     MIDL_INTERFACE("0c733a27-2a1c-11ce-ade5-00aa0044773d")
  124.     ICommandText : public ICommand
  125.     {
  126.     public:
  127.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetCommandText( 
  128.             /* [out][in] */ GUID *pguidDialect,
  129.             /* [out] */ LPOLESTR *ppwszCommand) = 0;
  130.         
  131.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetCommandText( 
  132.             /* [in] */ REFGUID rguidDialect,
  133.             /* [unique][in] */ LPCOLESTR pwszCommand) = 0;
  134.         
  135.     };
  136.     
  137. #else  /* C style interface */
  138.     typedef struct ICommandTextVtbl
  139.     {
  140.         BEGIN_INTERFACE
  141.         
  142.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  143.             ICommandText * This,
  144.             /* [in] */ REFIID riid,
  145.             /* [iid_is][out] */ void **ppvObject);
  146.         
  147.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  148.             ICommandText * This);
  149.         
  150.         ULONG ( STDMETHODCALLTYPE *Release )( 
  151.             ICommandText * This);
  152.         
  153.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Cancel )( 
  154.             ICommandText * This);
  155.         
  156.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Execute )( 
  157.             ICommandText * This,
  158.             /* [in] */ IUnknown *pUnkOuter,
  159.             /* [in] */ REFIID riid,
  160.             /* [out][in] */ DBPARAMS *pParams,
  161.             /* [out] */ DBROWCOUNT *pcRowsAffected,
  162.             /* [iid_is][out] */ IUnknown **ppRowset);
  163.         
  164.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetDBSession )( 
  165.             ICommandText * This,
  166.             /* [in] */ REFIID riid,
  167.             /* [iid_is][out] */ IUnknown **ppSession);
  168.         
  169.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetCommandText )( 
  170.             ICommandText * This,
  171.             /* [out][in] */ GUID *pguidDialect,
  172.             /* [out] */ LPOLESTR *ppwszCommand);
  173.         
  174.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetCommandText )( 
  175.             ICommandText * This,
  176.             /* [in] */ REFGUID rguidDialect,
  177.             /* [unique][in] */ LPCOLESTR pwszCommand);
  178.         
  179.         END_INTERFACE
  180.     } ICommandTextVtbl;
  181.     interface ICommandText
  182.     {
  183.         CONST_VTBL struct ICommandTextVtbl *lpVtbl;
  184.     };
  185.     
  186. #ifdef COBJMACROS
  187. #define ICommandText_QueryInterface(This,riid,ppvObject)
  188.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  189. #define ICommandText_AddRef(This)
  190.     (This)->lpVtbl -> AddRef(This)
  191. #define ICommandText_Release(This)
  192.     (This)->lpVtbl -> Release(This)
  193. #define ICommandText_Cancel(This)
  194.     (This)->lpVtbl -> Cancel(This)
  195. #define ICommandText_Execute(This,pUnkOuter,riid,pParams,pcRowsAffected,ppRowset)
  196.     (This)->lpVtbl -> Execute(This,pUnkOuter,riid,pParams,pcRowsAffected,ppRowset)
  197. #define ICommandText_GetDBSession(This,riid,ppSession)
  198.     (This)->lpVtbl -> GetDBSession(This,riid,ppSession)
  199. #define ICommandText_GetCommandText(This,pguidDialect,ppwszCommand)
  200.     (This)->lpVtbl -> GetCommandText(This,pguidDialect,ppwszCommand)
  201. #define ICommandText_SetCommandText(This,rguidDialect,pwszCommand)
  202.     (This)->lpVtbl -> SetCommandText(This,rguidDialect,pwszCommand)
  203. #endif /* COBJMACROS */
  204. #endif  /* C style interface */
  205. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandText_RemoteGetCommandText_Proxy( 
  206.     ICommandText * This,
  207.     /* [unique][out][in] */ GUID *pguidDialect,
  208.     /* [out] */ LPOLESTR *ppwszCommand,
  209.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  210. void __RPC_STUB ICommandText_RemoteGetCommandText_Stub(
  211.     IRpcStubBuffer *This,
  212.     IRpcChannelBuffer *_pRpcChannelBuffer,
  213.     PRPC_MESSAGE _pRpcMessage,
  214.     DWORD *_pdwStubPhase);
  215. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandText_RemoteSetCommandText_Proxy( 
  216.     ICommandText * This,
  217.     /* [in] */ REFGUID rguidDialect,
  218.     /* [unique][in] */ LPCOLESTR pwszCommand,
  219.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  220. void __RPC_STUB ICommandText_RemoteSetCommandText_Stub(
  221.     IRpcStubBuffer *This,
  222.     IRpcChannelBuffer *_pRpcChannelBuffer,
  223.     PRPC_MESSAGE _pRpcMessage,
  224.     DWORD *_pdwStubPhase);
  225. #endif  /* __ICommandText_INTERFACE_DEFINED__ */
  226. #ifndef __ICommandWithParameters_INTERFACE_DEFINED__
  227. #define __ICommandWithParameters_INTERFACE_DEFINED__
  228. /* interface ICommandWithParameters */
  229. /* [unique][uuid][object] */ 
  230. typedef struct tagDBPARAMBINDINFO
  231.     {
  232.     LPOLESTR pwszDataSourceType;
  233.     LPOLESTR pwszName;
  234.     DBLENGTH ulParamSize;
  235.     DBPARAMFLAGS dwFlags;
  236.     BYTE bPrecision;
  237.     BYTE bScale;
  238.     }  DBPARAMBINDINFO;
  239. EXTERN_C const IID IID_ICommandWithParameters;
  240. #if defined(__cplusplus) && !defined(CINTERFACE)
  241.     
  242.     MIDL_INTERFACE("0c733a64-2a1c-11ce-ade5-00aa0044773d")
  243.     ICommandWithParameters : public IUnknown
  244.     {
  245.     public:
  246.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetParameterInfo( 
  247.             /* [out][in] */ DB_UPARAMS *pcParams,
  248.             /* [size_is][size_is][out] */ DBPARAMINFO **prgParamInfo,
  249.             /* [out] */ OLECHAR **ppNamesBuffer) = 0;
  250.         
  251.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE MapParameterNames( 
  252.             /* [in] */ DB_UPARAMS cParamNames,
  253.             /* [size_is][in] */ const OLECHAR *rgParamNames[  ],
  254.             /* [size_is][out] */ DB_LPARAMS rgParamOrdinals[  ]) = 0;
  255.         
  256.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetParameterInfo( 
  257.             /* [in] */ DB_UPARAMS cParams,
  258.             /* [size_is][unique][in] */ const DB_UPARAMS rgParamOrdinals[  ],
  259.             /* [size_is][unique][in] */ const DBPARAMBINDINFO rgParamBindInfo[  ]) = 0;
  260.         
  261.     };
  262.     
  263. #else  /* C style interface */
  264.     typedef struct ICommandWithParametersVtbl
  265.     {
  266.         BEGIN_INTERFACE
  267.         
  268.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  269.             ICommandWithParameters * This,
  270.             /* [in] */ REFIID riid,
  271.             /* [iid_is][out] */ void **ppvObject);
  272.         
  273.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  274.             ICommandWithParameters * This);
  275.         
  276.         ULONG ( STDMETHODCALLTYPE *Release )( 
  277.             ICommandWithParameters * This);
  278.         
  279.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetParameterInfo )( 
  280.             ICommandWithParameters * This,
  281.             /* [out][in] */ DB_UPARAMS *pcParams,
  282.             /* [size_is][size_is][out] */ DBPARAMINFO **prgParamInfo,
  283.             /* [out] */ OLECHAR **ppNamesBuffer);
  284.         
  285.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *MapParameterNames )( 
  286.             ICommandWithParameters * This,
  287.             /* [in] */ DB_UPARAMS cParamNames,
  288.             /* [size_is][in] */ const OLECHAR *rgParamNames[  ],
  289.             /* [size_is][out] */ DB_LPARAMS rgParamOrdinals[  ]);
  290.         
  291.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetParameterInfo )( 
  292.             ICommandWithParameters * This,
  293.             /* [in] */ DB_UPARAMS cParams,
  294.             /* [size_is][unique][in] */ const DB_UPARAMS rgParamOrdinals[  ],
  295.             /* [size_is][unique][in] */ const DBPARAMBINDINFO rgParamBindInfo[  ]);
  296.         
  297.         END_INTERFACE
  298.     } ICommandWithParametersVtbl;
  299.     interface ICommandWithParameters
  300.     {
  301.         CONST_VTBL struct ICommandWithParametersVtbl *lpVtbl;
  302.     };
  303.     
  304. #ifdef COBJMACROS
  305. #define ICommandWithParameters_QueryInterface(This,riid,ppvObject)
  306.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  307. #define ICommandWithParameters_AddRef(This)
  308.     (This)->lpVtbl -> AddRef(This)
  309. #define ICommandWithParameters_Release(This)
  310.     (This)->lpVtbl -> Release(This)
  311. #define ICommandWithParameters_GetParameterInfo(This,pcParams,prgParamInfo,ppNamesBuffer)
  312.     (This)->lpVtbl -> GetParameterInfo(This,pcParams,prgParamInfo,ppNamesBuffer)
  313. #define ICommandWithParameters_MapParameterNames(This,cParamNames,rgParamNames,rgParamOrdinals)
  314.     (This)->lpVtbl -> MapParameterNames(This,cParamNames,rgParamNames,rgParamOrdinals)
  315. #define ICommandWithParameters_SetParameterInfo(This,cParams,rgParamOrdinals,rgParamBindInfo)
  316.     (This)->lpVtbl -> SetParameterInfo(This,cParams,rgParamOrdinals,rgParamBindInfo)
  317. #endif /* COBJMACROS */
  318. #endif  /* C style interface */
  319. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_RemoteGetParameterInfo_Proxy( 
  320.     ICommandWithParameters * This,
  321.     /* [out][in] */ DB_UPARAMS *pcParams,
  322.     /* [size_is][size_is][out] */ DBPARAMINFO **prgParamInfo,
  323.     /* [size_is][size_is][out] */ DBBYTEOFFSET **prgNameOffsets,
  324.     /* [out][in] */ DBLENGTH *pcbNamesBuffer,
  325.     /* [size_is][size_is][unique][out][in] */ OLECHAR **ppNamesBuffer,
  326.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  327. void __RPC_STUB ICommandWithParameters_RemoteGetParameterInfo_Stub(
  328.     IRpcStubBuffer *This,
  329.     IRpcChannelBuffer *_pRpcChannelBuffer,
  330.     PRPC_MESSAGE _pRpcMessage,
  331.     DWORD *_pdwStubPhase);
  332. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_RemoteMapParameterNames_Proxy( 
  333.     ICommandWithParameters * This,
  334.     /* [in] */ DB_UPARAMS cParamNames,
  335.     /* [size_is][in] */ LPCOLESTR *rgParamNames,
  336.     /* [size_is][out] */ DB_LPARAMS *rgParamOrdinals,
  337.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  338. void __RPC_STUB ICommandWithParameters_RemoteMapParameterNames_Stub(
  339.     IRpcStubBuffer *This,
  340.     IRpcChannelBuffer *_pRpcChannelBuffer,
  341.     PRPC_MESSAGE _pRpcMessage,
  342.     DWORD *_pdwStubPhase);
  343. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICommandWithParameters_RemoteSetParameterInfo_Proxy( 
  344.     ICommandWithParameters * This,
  345.     /* [in] */ DB_UPARAMS cParams,
  346.     /* [size_is][unique][in] */ const DB_UPARAMS *rgParamOrdinals,
  347.     /* [size_is][unique][in] */ const DBPARAMBINDINFO *rgParamBindInfo,
  348.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  349. void __RPC_STUB ICommandWithParameters_RemoteSetParameterInfo_Stub(
  350.     IRpcStubBuffer *This,
  351.     IRpcChannelBuffer *_pRpcChannelBuffer,
  352.     PRPC_MESSAGE _pRpcMessage,
  353.     DWORD *_pdwStubPhase);
  354. #endif  /* __ICommandWithParameters_INTERFACE_DEFINED__ */
  355. #ifndef __IColumnsRowset_INTERFACE_DEFINED__
  356. #define __IColumnsRowset_INTERFACE_DEFINED__
  357. /* interface IColumnsRowset */
  358. /* [unique][uuid][object] */ 
  359. EXTERN_C const IID IID_IColumnsRowset;
  360. #if defined(__cplusplus) && !defined(CINTERFACE)
  361.     
  362.     MIDL_INTERFACE("0c733a10-2a1c-11ce-ade5-00aa0044773d")
  363.     IColumnsRowset : public IUnknown
  364.     {
  365.     public:
  366.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetAvailableColumns( 
  367.             /* [out][in] */ DBORDINAL *pcOptColumns,
  368.             /* [size_is][size_is][out] */ DBID **prgOptColumns) = 0;
  369.         
  370.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetColumnsRowset( 
  371.             /* [in] */ IUnknown *pUnkOuter,
  372.             /* [in] */ DBORDINAL cOptColumns,
  373.             /* [size_is][in] */ const DBID rgOptColumns[  ],
  374.             /* [in] */ REFIID riid,
  375.             /* [in] */ ULONG cPropertySets,
  376.             /* [size_is][out][in] */ DBPROPSET rgPropertySets[  ],
  377.             /* [iid_is][out] */ IUnknown **ppColRowset) = 0;
  378.         
  379.     };
  380.     
  381. #else  /* C style interface */
  382.     typedef struct IColumnsRowsetVtbl
  383.     {
  384.         BEGIN_INTERFACE
  385.         
  386.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  387.             IColumnsRowset * This,
  388.             /* [in] */ REFIID riid,
  389.             /* [iid_is][out] */ void **ppvObject);
  390.         
  391.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  392.             IColumnsRowset * This);
  393.         
  394.         ULONG ( STDMETHODCALLTYPE *Release )( 
  395.             IColumnsRowset * This);
  396.         
  397.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetAvailableColumns )( 
  398.             IColumnsRowset * This,
  399.             /* [out][in] */ DBORDINAL *pcOptColumns,
  400.             /* [size_is][size_is][out] */ DBID **prgOptColumns);
  401.         
  402.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetColumnsRowset )( 
  403.             IColumnsRowset * This,
  404.             /* [in] */ IUnknown *pUnkOuter,
  405.             /* [in] */ DBORDINAL cOptColumns,
  406.             /* [size_is][in] */ const DBID rgOptColumns[  ],
  407.             /* [in] */ REFIID riid,
  408.             /* [in] */ ULONG cPropertySets,
  409.             /* [size_is][out][in] */ DBPROPSET rgPropertySets[  ],
  410.             /* [iid_is][out] */ IUnknown **ppColRowset);
  411.         
  412.         END_INTERFACE
  413.     } IColumnsRowsetVtbl;
  414.     interface IColumnsRowset
  415.     {
  416.         CONST_VTBL struct IColumnsRowsetVtbl *lpVtbl;
  417.     };
  418.     
  419. #ifdef COBJMACROS
  420. #define IColumnsRowset_QueryInterface(This,riid,ppvObject)
  421.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  422. #define IColumnsRowset_AddRef(This)
  423.     (This)->lpVtbl -> AddRef(This)
  424. #define IColumnsRowset_Release(This)
  425.     (This)->lpVtbl -> Release(This)
  426. #define IColumnsRowset_GetAvailableColumns(This,pcOptColumns,prgOptColumns)
  427.     (This)->lpVtbl -> GetAvailableColumns(This,pcOptColumns,prgOptColumns)
  428. #define IColumnsRowset_GetColumnsRowset(This,pUnkOuter,cOptColumns,rgOptColumns,riid,cPropertySets,rgPropertySets,ppColRowset)
  429.     (This)->lpVtbl -> GetColumnsRowset(This,pUnkOuter,cOptColumns,rgOptColumns,riid,cPropertySets,rgPropertySets,ppColRowset)
  430. #endif /* COBJMACROS */
  431. #endif  /* C style interface */
  432. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsRowset_RemoteGetAvailableColumns_Proxy( 
  433.     IColumnsRowset * This,
  434.     /* [out][in] */ DBORDINAL *pcOptColumns,
  435.     /* [size_is][size_is][out] */ DBID **prgOptColumns,
  436.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  437. void __RPC_STUB IColumnsRowset_RemoteGetAvailableColumns_Stub(
  438.     IRpcStubBuffer *This,
  439.     IRpcChannelBuffer *_pRpcChannelBuffer,
  440.     PRPC_MESSAGE _pRpcMessage,
  441.     DWORD *_pdwStubPhase);
  442. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsRowset_RemoteGetColumnsRowset_Proxy( 
  443.     IColumnsRowset * This,
  444.     /* [in] */ IUnknown *pUnkOuter,
  445.     /* [in] */ DBORDINAL cOptColumns,
  446.     /* [size_is][unique][in] */ const DBID *rgOptColumns,
  447.     /* [in] */ REFIID riid,
  448.     /* [in] */ ULONG cPropertySets,
  449.     /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  450.     /* [iid_is][out] */ IUnknown **ppColRowset,
  451.     /* [in] */ ULONG cTotalProps,
  452.     /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  453.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  454. void __RPC_STUB IColumnsRowset_RemoteGetColumnsRowset_Stub(
  455.     IRpcStubBuffer *This,
  456.     IRpcChannelBuffer *_pRpcChannelBuffer,
  457.     PRPC_MESSAGE _pRpcMessage,
  458.     DWORD *_pdwStubPhase);
  459. #endif  /* __IColumnsRowset_INTERFACE_DEFINED__ */
  460. #ifndef __IColumnsInfo_INTERFACE_DEFINED__
  461. #define __IColumnsInfo_INTERFACE_DEFINED__
  462. /* interface IColumnsInfo */
  463. /* [unique][uuid][object] */ 
  464. EXTERN_C const IID IID_IColumnsInfo;
  465. #if defined(__cplusplus) && !defined(CINTERFACE)
  466.     
  467.     MIDL_INTERFACE("0c733a11-2a1c-11ce-ade5-00aa0044773d")
  468.     IColumnsInfo : public IUnknown
  469.     {
  470.     public:
  471.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetColumnInfo( 
  472.             /* [out][in] */ DBORDINAL *pcColumns,
  473.             /* [size_is][size_is][out] */ DBCOLUMNINFO **prgInfo,
  474.             /* [out] */ OLECHAR **ppStringsBuffer) = 0;
  475.         
  476.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE MapColumnIDs( 
  477.             /* [in] */ DBORDINAL cColumnIDs,
  478.             /* [size_is][in] */ const DBID rgColumnIDs[  ],
  479.             /* [size_is][out] */ DBORDINAL rgColumns[  ]) = 0;
  480.         
  481.     };
  482.     
  483. #else  /* C style interface */
  484.     typedef struct IColumnsInfoVtbl
  485.     {
  486.         BEGIN_INTERFACE
  487.         
  488.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  489.             IColumnsInfo * This,
  490.             /* [in] */ REFIID riid,
  491.             /* [iid_is][out] */ void **ppvObject);
  492.         
  493.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  494.             IColumnsInfo * This);
  495.         
  496.         ULONG ( STDMETHODCALLTYPE *Release )( 
  497.             IColumnsInfo * This);
  498.         
  499.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetColumnInfo )( 
  500.             IColumnsInfo * This,
  501.             /* [out][in] */ DBORDINAL *pcColumns,
  502.             /* [size_is][size_is][out] */ DBCOLUMNINFO **prgInfo,
  503.             /* [out] */ OLECHAR **ppStringsBuffer);
  504.         
  505.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *MapColumnIDs )( 
  506.             IColumnsInfo * This,
  507.             /* [in] */ DBORDINAL cColumnIDs,
  508.             /* [size_is][in] */ const DBID rgColumnIDs[  ],
  509.             /* [size_is][out] */ DBORDINAL rgColumns[  ]);
  510.         
  511.         END_INTERFACE
  512.     } IColumnsInfoVtbl;
  513.     interface IColumnsInfo
  514.     {
  515.         CONST_VTBL struct IColumnsInfoVtbl *lpVtbl;
  516.     };
  517.     
  518. #ifdef COBJMACROS
  519. #define IColumnsInfo_QueryInterface(This,riid,ppvObject)
  520.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  521. #define IColumnsInfo_AddRef(This)
  522.     (This)->lpVtbl -> AddRef(This)
  523. #define IColumnsInfo_Release(This)
  524.     (This)->lpVtbl -> Release(This)
  525. #define IColumnsInfo_GetColumnInfo(This,pcColumns,prgInfo,ppStringsBuffer)
  526.     (This)->lpVtbl -> GetColumnInfo(This,pcColumns,prgInfo,ppStringsBuffer)
  527. #define IColumnsInfo_MapColumnIDs(This,cColumnIDs,rgColumnIDs,rgColumns)
  528.     (This)->lpVtbl -> MapColumnIDs(This,cColumnIDs,rgColumnIDs,rgColumns)
  529. #endif /* COBJMACROS */
  530. #endif  /* C style interface */
  531. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsInfo_RemoteGetColumnInfo_Proxy( 
  532.     IColumnsInfo * This,
  533.     /* [out][in] */ DBORDINAL *pcColumns,
  534.     /* [size_is][size_is][out] */ DBCOLUMNINFO **prgInfo,
  535.     /* [size_is][size_is][out] */ DBBYTEOFFSET **prgNameOffsets,
  536.     /* [size_is][size_is][out] */ DBBYTEOFFSET **prgcolumnidOffsets,
  537.     /* [out][in] */ DBLENGTH *pcbStringsBuffer,
  538.     /* [size_is][size_is][unique][out][in] */ OLECHAR **ppStringsBuffer,
  539.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  540. void __RPC_STUB IColumnsInfo_RemoteGetColumnInfo_Stub(
  541.     IRpcStubBuffer *This,
  542.     IRpcChannelBuffer *_pRpcChannelBuffer,
  543.     PRPC_MESSAGE _pRpcMessage,
  544.     DWORD *_pdwStubPhase);
  545. /* [call_as] */ HRESULT STDMETHODCALLTYPE IColumnsInfo_RemoteMapColumnIDs_Proxy( 
  546.     IColumnsInfo * This,
  547.     /* [in] */ DBORDINAL cColumnIDs,
  548.     /* [size_is][in] */ const DBID *rgColumnIDs,
  549.     /* [size_is][out] */ DBORDINAL *rgColumns,
  550.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  551. void __RPC_STUB IColumnsInfo_RemoteMapColumnIDs_Stub(
  552.     IRpcStubBuffer *This,
  553.     IRpcChannelBuffer *_pRpcChannelBuffer,
  554.     PRPC_MESSAGE _pRpcMessage,
  555.     DWORD *_pdwStubPhase);
  556. #endif  /* __IColumnsInfo_INTERFACE_DEFINED__ */
  557. #ifndef __IDBCreateCommand_INTERFACE_DEFINED__
  558. #define __IDBCreateCommand_INTERFACE_DEFINED__
  559. /* interface IDBCreateCommand */
  560. /* [unique][uuid][object] */ 
  561. EXTERN_C const IID IID_IDBCreateCommand;
  562. #if defined(__cplusplus) && !defined(CINTERFACE)
  563.     
  564.     MIDL_INTERFACE("0c733a1d-2a1c-11ce-ade5-00aa0044773d")
  565.     IDBCreateCommand : public IUnknown
  566.     {
  567.     public:
  568.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateCommand( 
  569.             /* [in] */ IUnknown *pUnkOuter,
  570.             /* [in] */ REFIID riid,
  571.             /* [iid_is][out] */ IUnknown **ppCommand) = 0;
  572.         
  573.     };
  574.     
  575. #else  /* C style interface */
  576.     typedef struct IDBCreateCommandVtbl
  577.     {
  578.         BEGIN_INTERFACE
  579.         
  580.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  581.             IDBCreateCommand * This,
  582.             /* [in] */ REFIID riid,
  583.             /* [iid_is][out] */ void **ppvObject);
  584.         
  585.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  586.             IDBCreateCommand * This);
  587.         
  588.         ULONG ( STDMETHODCALLTYPE *Release )( 
  589.             IDBCreateCommand * This);
  590.         
  591.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateCommand )( 
  592.             IDBCreateCommand * This,
  593.             /* [in] */ IUnknown *pUnkOuter,
  594.             /* [in] */ REFIID riid,
  595.             /* [iid_is][out] */ IUnknown **ppCommand);
  596.         
  597.         END_INTERFACE
  598.     } IDBCreateCommandVtbl;
  599.     interface IDBCreateCommand
  600.     {
  601.         CONST_VTBL struct IDBCreateCommandVtbl *lpVtbl;
  602.     };
  603.     
  604. #ifdef COBJMACROS
  605. #define IDBCreateCommand_QueryInterface(This,riid,ppvObject)
  606.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  607. #define IDBCreateCommand_AddRef(This)
  608.     (This)->lpVtbl -> AddRef(This)
  609. #define IDBCreateCommand_Release(This)
  610.     (This)->lpVtbl -> Release(This)
  611. #define IDBCreateCommand_CreateCommand(This,pUnkOuter,riid,ppCommand)
  612.     (This)->lpVtbl -> CreateCommand(This,pUnkOuter,riid,ppCommand)
  613. #endif /* COBJMACROS */
  614. #endif  /* C style interface */
  615. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBCreateCommand_RemoteCreateCommand_Proxy( 
  616.     IDBCreateCommand * This,
  617.     /* [in] */ IUnknown *pUnkOuter,
  618.     /* [in] */ REFIID riid,
  619.     /* [iid_is][out] */ IUnknown **ppCommand,
  620.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  621. void __RPC_STUB IDBCreateCommand_RemoteCreateCommand_Stub(
  622.     IRpcStubBuffer *This,
  623.     IRpcChannelBuffer *_pRpcChannelBuffer,
  624.     PRPC_MESSAGE _pRpcMessage,
  625.     DWORD *_pdwStubPhase);
  626. #endif  /* __IDBCreateCommand_INTERFACE_DEFINED__ */
  627. #ifndef __IDBCreateSession_INTERFACE_DEFINED__
  628. #define __IDBCreateSession_INTERFACE_DEFINED__
  629. /* interface IDBCreateSession */
  630. /* [unique][uuid][object] */ 
  631. EXTERN_C const IID IID_IDBCreateSession;
  632. #if defined(__cplusplus) && !defined(CINTERFACE)
  633.     
  634.     MIDL_INTERFACE("0c733a5d-2a1c-11ce-ade5-00aa0044773d")
  635.     IDBCreateSession : public IUnknown
  636.     {
  637.     public:
  638.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateSession( 
  639.             /* [in] */ IUnknown *pUnkOuter,
  640.             /* [in] */ REFIID riid,
  641.             /* [iid_is][out] */ IUnknown **ppDBSession) = 0;
  642.         
  643.     };
  644.     
  645. #else  /* C style interface */
  646.     typedef struct IDBCreateSessionVtbl
  647.     {
  648.         BEGIN_INTERFACE
  649.         
  650.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  651.             IDBCreateSession * This,
  652.             /* [in] */ REFIID riid,
  653.             /* [iid_is][out] */ void **ppvObject);
  654.         
  655.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  656.             IDBCreateSession * This);
  657.         
  658.         ULONG ( STDMETHODCALLTYPE *Release )( 
  659.             IDBCreateSession * This);
  660.         
  661.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateSession )( 
  662.             IDBCreateSession * This,
  663.             /* [in] */ IUnknown *pUnkOuter,
  664.             /* [in] */ REFIID riid,
  665.             /* [iid_is][out] */ IUnknown **ppDBSession);
  666.         
  667.         END_INTERFACE
  668.     } IDBCreateSessionVtbl;
  669.     interface IDBCreateSession
  670.     {
  671.         CONST_VTBL struct IDBCreateSessionVtbl *lpVtbl;
  672.     };
  673.     
  674. #ifdef COBJMACROS
  675. #define IDBCreateSession_QueryInterface(This,riid,ppvObject)
  676.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  677. #define IDBCreateSession_AddRef(This)
  678.     (This)->lpVtbl -> AddRef(This)
  679. #define IDBCreateSession_Release(This)
  680.     (This)->lpVtbl -> Release(This)
  681. #define IDBCreateSession_CreateSession(This,pUnkOuter,riid,ppDBSession)
  682.     (This)->lpVtbl -> CreateSession(This,pUnkOuter,riid,ppDBSession)
  683. #endif /* COBJMACROS */
  684. #endif  /* C style interface */
  685. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBCreateSession_RemoteCreateSession_Proxy( 
  686.     IDBCreateSession * This,
  687.     /* [in] */ IUnknown *pUnkOuter,
  688.     /* [in] */ REFIID riid,
  689.     /* [iid_is][out] */ IUnknown **ppDBSession,
  690.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  691. void __RPC_STUB IDBCreateSession_RemoteCreateSession_Stub(
  692.     IRpcStubBuffer *This,
  693.     IRpcChannelBuffer *_pRpcChannelBuffer,
  694.     PRPC_MESSAGE _pRpcMessage,
  695.     DWORD *_pdwStubPhase);
  696. #endif  /* __IDBCreateSession_INTERFACE_DEFINED__ */
  697. #ifndef __ISourcesRowset_INTERFACE_DEFINED__
  698. #define __ISourcesRowset_INTERFACE_DEFINED__
  699. /* interface ISourcesRowset */
  700. /* [unique][uuid][object] */ 
  701. typedef DWORD DBSOURCETYPE;
  702. enum DBSOURCETYPEENUM
  703.     { DBSOURCETYPE_DATASOURCE = 1,
  704. DBSOURCETYPE_ENUMERATOR = 2
  705.     } ;
  706. //@@@+ V2.0
  707. #if( OLEDBVER >= 0x0200 )
  708. enum DBSOURCETYPEENUM20
  709.     { DBSOURCETYPE_DATASOURCE_TDP = 1,
  710. DBSOURCETYPE_DATASOURCE_MDP = 3
  711.     } ;
  712. #endif // OLEDBVER >= 0x0200
  713. //@@@- V2.0
  714. //@@@+ V2.5
  715. #if( OLEDBVER >= 0x0250 )
  716. enum DBSOURCETYPEENUM25
  717.     { DBSOURCETYPE_BINDER = 4
  718.     } ;
  719. #endif // OLEDBVER >= 0x0250
  720. //@@@- V2.5
  721. EXTERN_C const IID IID_ISourcesRowset;
  722. #if defined(__cplusplus) && !defined(CINTERFACE)
  723.     
  724.     MIDL_INTERFACE("0c733a1e-2a1c-11ce-ade5-00aa0044773d")
  725.     ISourcesRowset : public IUnknown
  726.     {
  727.     public:
  728.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSourcesRowset( 
  729.             /* [in] */ IUnknown *pUnkOuter,
  730.             /* [in] */ REFIID riid,
  731.             /* [in] */ ULONG cPropertySets,
  732.             /* [size_is][unique][out][in] */ DBPROPSET rgProperties[  ],
  733.             /* [iid_is][out] */ IUnknown **ppSourcesRowset) = 0;
  734.         
  735.     };
  736.     
  737. #else  /* C style interface */
  738.     typedef struct ISourcesRowsetVtbl
  739.     {
  740.         BEGIN_INTERFACE
  741.         
  742.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  743.             ISourcesRowset * This,
  744.             /* [in] */ REFIID riid,
  745.             /* [iid_is][out] */ void **ppvObject);
  746.         
  747.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  748.             ISourcesRowset * This);
  749.         
  750.         ULONG ( STDMETHODCALLTYPE *Release )( 
  751.             ISourcesRowset * This);
  752.         
  753.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetSourcesRowset )( 
  754.             ISourcesRowset * This,
  755.             /* [in] */ IUnknown *pUnkOuter,
  756.             /* [in] */ REFIID riid,
  757.             /* [in] */ ULONG cPropertySets,
  758.             /* [size_is][unique][out][in] */ DBPROPSET rgProperties[  ],
  759.             /* [iid_is][out] */ IUnknown **ppSourcesRowset);
  760.         
  761.         END_INTERFACE
  762.     } ISourcesRowsetVtbl;
  763.     interface ISourcesRowset
  764.     {
  765.         CONST_VTBL struct ISourcesRowsetVtbl *lpVtbl;
  766.     };
  767.     
  768. #ifdef COBJMACROS
  769. #define ISourcesRowset_QueryInterface(This,riid,ppvObject)
  770.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  771. #define ISourcesRowset_AddRef(This)
  772.     (This)->lpVtbl -> AddRef(This)
  773. #define ISourcesRowset_Release(This)
  774.     (This)->lpVtbl -> Release(This)
  775. #define ISourcesRowset_GetSourcesRowset(This,pUnkOuter,riid,cPropertySets,rgProperties,ppSourcesRowset)
  776.     (This)->lpVtbl -> GetSourcesRowset(This,pUnkOuter,riid,cPropertySets,rgProperties,ppSourcesRowset)
  777. #endif /* COBJMACROS */
  778. #endif  /* C style interface */
  779. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISourcesRowset_RemoteGetSourcesRowset_Proxy( 
  780.     ISourcesRowset * This,
  781.     /* [in] */ IUnknown *pUnkOuter,
  782.     /* [in] */ REFIID riid,
  783.     /* [in] */ ULONG cPropertySets,
  784.     /* [size_is][unique][in] */ DBPROPSET *rgProperties,
  785.     /* [iid_is][out] */ IUnknown **ppSourcesRowset,
  786.     /* [in] */ ULONG cTotalProps,
  787.     /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  788.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  789. void __RPC_STUB ISourcesRowset_RemoteGetSourcesRowset_Stub(
  790.     IRpcStubBuffer *This,
  791.     IRpcChannelBuffer *_pRpcChannelBuffer,
  792.     PRPC_MESSAGE _pRpcMessage,
  793.     DWORD *_pdwStubPhase);
  794. #endif  /* __ISourcesRowset_INTERFACE_DEFINED__ */
  795. #ifndef __IDBProperties_INTERFACE_DEFINED__
  796. #define __IDBProperties_INTERFACE_DEFINED__
  797. /* interface IDBProperties */
  798. /* [unique][uuid][object] */ 
  799. EXTERN_C const IID IID_IDBProperties;
  800. #if defined(__cplusplus) && !defined(CINTERFACE)
  801.     
  802.     MIDL_INTERFACE("0c733a8a-2a1c-11ce-ade5-00aa0044773d")
  803.     IDBProperties : public IUnknown
  804.     {
  805.     public:
  806.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetProperties( 
  807.             /* [in] */ ULONG cPropertyIDSets,
  808.             /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[  ],
  809.             /* [out][in] */ ULONG *pcPropertySets,
  810.             /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets) = 0;
  811.         
  812.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetPropertyInfo( 
  813.             /* [in] */ ULONG cPropertyIDSets,
  814.             /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[  ],
  815.             /* [out][in] */ ULONG *pcPropertyInfoSets,
  816.             /* [size_is][size_is][out] */ DBPROPINFOSET **prgPropertyInfoSets,
  817.             /* [out] */ OLECHAR **ppDescBuffer) = 0;
  818.         
  819.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetProperties( 
  820.             /* [in] */ ULONG cPropertySets,
  821.             /* [size_is][out][in] */ DBPROPSET rgPropertySets[  ]) = 0;
  822.         
  823.     };
  824.     
  825. #else  /* C style interface */
  826.     typedef struct IDBPropertiesVtbl
  827.     {
  828.         BEGIN_INTERFACE
  829.         
  830.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  831.             IDBProperties * This,
  832.             /* [in] */ REFIID riid,
  833.             /* [iid_is][out] */ void **ppvObject);
  834.         
  835.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  836.             IDBProperties * This);
  837.         
  838.         ULONG ( STDMETHODCALLTYPE *Release )( 
  839.             IDBProperties * This);
  840.         
  841.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )( 
  842.             IDBProperties * This,
  843.             /* [in] */ ULONG cPropertyIDSets,
  844.             /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[  ],
  845.             /* [out][in] */ ULONG *pcPropertySets,
  846.             /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets);
  847.         
  848.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetPropertyInfo )( 
  849.             IDBProperties * This,
  850.             /* [in] */ ULONG cPropertyIDSets,
  851.             /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[  ],
  852.             /* [out][in] */ ULONG *pcPropertyInfoSets,
  853.             /* [size_is][size_is][out] */ DBPROPINFOSET **prgPropertyInfoSets,
  854.             /* [out] */ OLECHAR **ppDescBuffer);
  855.         
  856.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetProperties )( 
  857.             IDBProperties * This,
  858.             /* [in] */ ULONG cPropertySets,
  859.             /* [size_is][out][in] */ DBPROPSET rgPropertySets[  ]);
  860.         
  861.         END_INTERFACE
  862.     } IDBPropertiesVtbl;
  863.     interface IDBProperties
  864.     {
  865.         CONST_VTBL struct IDBPropertiesVtbl *lpVtbl;
  866.     };
  867.     
  868. #ifdef COBJMACROS
  869. #define IDBProperties_QueryInterface(This,riid,ppvObject)
  870.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  871. #define IDBProperties_AddRef(This)
  872.     (This)->lpVtbl -> AddRef(This)
  873. #define IDBProperties_Release(This)
  874.     (This)->lpVtbl -> Release(This)
  875. #define IDBProperties_GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  876.     (This)->lpVtbl -> GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  877. #define IDBProperties_GetPropertyInfo(This,cPropertyIDSets,rgPropertyIDSets,pcPropertyInfoSets,prgPropertyInfoSets,ppDescBuffer)
  878.     (This)->lpVtbl -> GetPropertyInfo(This,cPropertyIDSets,rgPropertyIDSets,pcPropertyInfoSets,prgPropertyInfoSets,ppDescBuffer)
  879. #define IDBProperties_SetProperties(This,cPropertySets,rgPropertySets)
  880.     (This)->lpVtbl -> SetProperties(This,cPropertySets,rgPropertySets)
  881. #endif /* COBJMACROS */
  882. #endif  /* C style interface */
  883. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBProperties_RemoteGetProperties_Proxy( 
  884.     IDBProperties * This,
  885.     /* [in] */ ULONG cPropertyIDSets,
  886.     /* [size_is][unique][in] */ const DBPROPIDSET *rgPropertyIDSets,
  887.     /* [out][in] */ ULONG *pcPropertySets,
  888.     /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets,
  889.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  890. void __RPC_STUB IDBProperties_RemoteGetProperties_Stub(
  891.     IRpcStubBuffer *This,
  892.     IRpcChannelBuffer *_pRpcChannelBuffer,
  893.     PRPC_MESSAGE _pRpcMessage,
  894.     DWORD *_pdwStubPhase);
  895. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBProperties_RemoteGetPropertyInfo_Proxy( 
  896.     IDBProperties * This,
  897.     /* [in] */ ULONG cPropertyIDSets,
  898.     /* [size_is][unique][in] */ const DBPROPIDSET *rgPropertyIDSets,
  899.     /* [out][in] */ ULONG *pcPropertyInfoSets,
  900.     /* [size_is][size_is][out] */ DBPROPINFOSET **prgPropertyInfoSets,
  901.     /* [out][in] */ ULONG *pcOffsets,
  902.     /* [size_is][size_is][out] */ DBBYTEOFFSET **prgDescOffsets,
  903.     /* [out][in] */ ULONG *pcbDescBuffer,
  904.     /* [size_is][size_is][unique][out][in] */ OLECHAR **ppDescBuffer,
  905.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  906. void __RPC_STUB IDBProperties_RemoteGetPropertyInfo_Stub(
  907.     IRpcStubBuffer *This,
  908.     IRpcChannelBuffer *_pRpcChannelBuffer,
  909.     PRPC_MESSAGE _pRpcMessage,
  910.     DWORD *_pdwStubPhase);
  911. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBProperties_RemoteSetProperties_Proxy( 
  912.     IDBProperties * This,
  913.     /* [in] */ ULONG cPropertySets,
  914.     /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  915.     /* [in] */ ULONG cTotalProps,
  916.     /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  917.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  918. void __RPC_STUB IDBProperties_RemoteSetProperties_Stub(
  919.     IRpcStubBuffer *This,
  920.     IRpcChannelBuffer *_pRpcChannelBuffer,
  921.     PRPC_MESSAGE _pRpcMessage,
  922.     DWORD *_pdwStubPhase);
  923. #endif  /* __IDBProperties_INTERFACE_DEFINED__ */
  924. #ifndef __IDBInitialize_INTERFACE_DEFINED__
  925. #define __IDBInitialize_INTERFACE_DEFINED__
  926. /* interface IDBInitialize */
  927. /* [unique][uuid][object] */ 
  928. EXTERN_C const IID IID_IDBInitialize;
  929. #if defined(__cplusplus) && !defined(CINTERFACE)
  930.     
  931.     MIDL_INTERFACE("0c733a8b-2a1c-11ce-ade5-00aa0044773d")
  932.     IDBInitialize : public IUnknown
  933.     {
  934.     public:
  935.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Initialize( void) = 0;
  936.         
  937.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Uninitialize( void) = 0;
  938.         
  939.     };
  940.     
  941. #else  /* C style interface */
  942.     typedef struct IDBInitializeVtbl
  943.     {
  944.         BEGIN_INTERFACE
  945.         
  946.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  947.             IDBInitialize * This,
  948.             /* [in] */ REFIID riid,
  949.             /* [iid_is][out] */ void **ppvObject);
  950.         
  951.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  952.             IDBInitialize * This);
  953.         
  954.         ULONG ( STDMETHODCALLTYPE *Release )( 
  955.             IDBInitialize * This);
  956.         
  957.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
  958.             IDBInitialize * This);
  959.         
  960.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Uninitialize )( 
  961.             IDBInitialize * This);
  962.         
  963.         END_INTERFACE
  964.     } IDBInitializeVtbl;
  965.     interface IDBInitialize
  966.     {
  967.         CONST_VTBL struct IDBInitializeVtbl *lpVtbl;
  968.     };
  969.     
  970. #ifdef COBJMACROS
  971. #define IDBInitialize_QueryInterface(This,riid,ppvObject)
  972.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  973. #define IDBInitialize_AddRef(This)
  974.     (This)->lpVtbl -> AddRef(This)
  975. #define IDBInitialize_Release(This)
  976.     (This)->lpVtbl -> Release(This)
  977. #define IDBInitialize_Initialize(This)
  978.     (This)->lpVtbl -> Initialize(This)
  979. #define IDBInitialize_Uninitialize(This)
  980.     (This)->lpVtbl -> Uninitialize(This)
  981. #endif /* COBJMACROS */
  982. #endif  /* C style interface */
  983. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInitialize_RemoteInitialize_Proxy( 
  984.     IDBInitialize * This,
  985.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  986. void __RPC_STUB IDBInitialize_RemoteInitialize_Stub(
  987.     IRpcStubBuffer *This,
  988.     IRpcChannelBuffer *_pRpcChannelBuffer,
  989.     PRPC_MESSAGE _pRpcMessage,
  990.     DWORD *_pdwStubPhase);
  991. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInitialize_RemoteUninitialize_Proxy( 
  992.     IDBInitialize * This,
  993.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  994. void __RPC_STUB IDBInitialize_RemoteUninitialize_Stub(
  995.     IRpcStubBuffer *This,
  996.     IRpcChannelBuffer *_pRpcChannelBuffer,
  997.     PRPC_MESSAGE _pRpcMessage,
  998.     DWORD *_pdwStubPhase);
  999. #endif  /* __IDBInitialize_INTERFACE_DEFINED__ */
  1000. #ifndef __IDBInfo_INTERFACE_DEFINED__
  1001. #define __IDBInfo_INTERFACE_DEFINED__
  1002. /* interface IDBInfo */
  1003. /* [unique][uuid][object] */ 
  1004. typedef DWORD DBLITERAL;
  1005. enum DBLITERALENUM
  1006.     { DBLITERAL_INVALID = 0,
  1007. DBLITERAL_BINARY_LITERAL = 1,
  1008. DBLITERAL_CATALOG_NAME = 2,
  1009. DBLITERAL_CATALOG_SEPARATOR = 3,
  1010. DBLITERAL_CHAR_LITERAL = 4,
  1011. DBLITERAL_COLUMN_ALIAS = 5,
  1012. DBLITERAL_COLUMN_NAME = 6,
  1013. DBLITERAL_CORRELATION_NAME = 7,
  1014. DBLITERAL_CURSOR_NAME = 8,
  1015. DBLITERAL_ESCAPE_PERCENT = 9,
  1016. DBLITERAL_ESCAPE_UNDERSCORE = 10,
  1017. DBLITERAL_INDEX_NAME = 11,
  1018. DBLITERAL_LIKE_PERCENT = 12,
  1019. DBLITERAL_LIKE_UNDERSCORE = 13,
  1020. DBLITERAL_PROCEDURE_NAME = 14,
  1021. DBLITERAL_QUOTE = 15,
  1022. DBLITERAL_SCHEMA_NAME = 16,
  1023. DBLITERAL_TABLE_NAME = 17,
  1024. DBLITERAL_TEXT_COMMAND = 18,
  1025. DBLITERAL_USER_NAME = 19,
  1026. DBLITERAL_VIEW_NAME = 20
  1027.     } ;
  1028. //@@@+ V2.0
  1029. #if( OLEDBVER >= 0x0200 )
  1030. #define DBLITERAL_QUOTE_PREFIX DBLITERAL_QUOTE
  1031. enum DBLITERALENUM20
  1032.     { DBLITERAL_CUBE_NAME = 21,
  1033. DBLITERAL_DIMENSION_NAME = 22,
  1034. DBLITERAL_HIERARCHY_NAME = 23,
  1035. DBLITERAL_LEVEL_NAME = 24,
  1036. DBLITERAL_MEMBER_NAME = 25,
  1037. DBLITERAL_PROPERTY_NAME = 26,
  1038. DBLITERAL_SCHEMA_SEPARATOR = 27,
  1039. DBLITERAL_QUOTE_SUFFIX = 28
  1040.     } ;
  1041. #endif // OLEDBVER >= 0x0200
  1042. //@@@- V2.0
  1043. //@@@+ V2.1
  1044. #if( OLEDBVER >= 0x0210 )
  1045. #define DBLITERAL_ESCAPE_PERCENT_PREFIX DBLITERAL_ESCAPE_PERCENT
  1046. #define DBLITERAL_ESCAPE_UNDERSCORE_PREFIX DBLITERAL_ESCAPE_UNDERSCORE
  1047. enum DBLITERALENUM21
  1048.     { DBLITERAL_ESCAPE_PERCENT_SUFFIX = 29,
  1049. DBLITERAL_ESCAPE_UNDERSCORE_SUFFIX = 30
  1050.     } ;
  1051. #endif // OLEDBVER >= 0x0210
  1052. //@@@- V2.1
  1053. typedef struct tagDBLITERALINFO
  1054.     {
  1055.     LPOLESTR pwszLiteralValue;
  1056.     LPOLESTR pwszInvalidChars;
  1057.     LPOLESTR pwszInvalidStartingChars;
  1058.     DBLITERAL lt;
  1059.     BOOL fSupported;
  1060.     ULONG cchMaxLen;
  1061.     }  DBLITERALINFO;
  1062. EXTERN_C const IID IID_IDBInfo;
  1063. #if defined(__cplusplus) && !defined(CINTERFACE)
  1064.     
  1065.     MIDL_INTERFACE("0c733a89-2a1c-11ce-ade5-00aa0044773d")
  1066.     IDBInfo : public IUnknown
  1067.     {
  1068.     public:
  1069.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetKeywords( 
  1070.             /* [out] */ LPOLESTR *ppwszKeywords) = 0;
  1071.         
  1072.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetLiteralInfo( 
  1073.             /* [in] */ ULONG cLiterals,
  1074.             /* [size_is][in] */ const DBLITERAL rgLiterals[  ],
  1075.             /* [out][in] */ ULONG *pcLiteralInfo,
  1076.             /* [size_is][size_is][out] */ DBLITERALINFO **prgLiteralInfo,
  1077.             /* [out] */ OLECHAR **ppCharBuffer) = 0;
  1078.         
  1079.     };
  1080.     
  1081. #else  /* C style interface */
  1082.     typedef struct IDBInfoVtbl
  1083.     {
  1084.         BEGIN_INTERFACE
  1085.         
  1086.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1087.             IDBInfo * This,
  1088.             /* [in] */ REFIID riid,
  1089.             /* [iid_is][out] */ void **ppvObject);
  1090.         
  1091.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1092.             IDBInfo * This);
  1093.         
  1094.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1095.             IDBInfo * This);
  1096.         
  1097.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetKeywords )( 
  1098.             IDBInfo * This,
  1099.             /* [out] */ LPOLESTR *ppwszKeywords);
  1100.         
  1101.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetLiteralInfo )( 
  1102.             IDBInfo * This,
  1103.             /* [in] */ ULONG cLiterals,
  1104.             /* [size_is][in] */ const DBLITERAL rgLiterals[  ],
  1105.             /* [out][in] */ ULONG *pcLiteralInfo,
  1106.             /* [size_is][size_is][out] */ DBLITERALINFO **prgLiteralInfo,
  1107.             /* [out] */ OLECHAR **ppCharBuffer);
  1108.         
  1109.         END_INTERFACE
  1110.     } IDBInfoVtbl;
  1111.     interface IDBInfo
  1112.     {
  1113.         CONST_VTBL struct IDBInfoVtbl *lpVtbl;
  1114.     };
  1115.     
  1116. #ifdef COBJMACROS
  1117. #define IDBInfo_QueryInterface(This,riid,ppvObject)
  1118.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1119. #define IDBInfo_AddRef(This)
  1120.     (This)->lpVtbl -> AddRef(This)
  1121. #define IDBInfo_Release(This)
  1122.     (This)->lpVtbl -> Release(This)
  1123. #define IDBInfo_GetKeywords(This,ppwszKeywords)
  1124.     (This)->lpVtbl -> GetKeywords(This,ppwszKeywords)
  1125. #define IDBInfo_GetLiteralInfo(This,cLiterals,rgLiterals,pcLiteralInfo,prgLiteralInfo,ppCharBuffer)
  1126.     (This)->lpVtbl -> GetLiteralInfo(This,cLiterals,rgLiterals,pcLiteralInfo,prgLiteralInfo,ppCharBuffer)
  1127. #endif /* COBJMACROS */
  1128. #endif  /* C style interface */
  1129. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInfo_RemoteGetKeywords_Proxy( 
  1130.     IDBInfo * This,
  1131.     /* [unique][out][in] */ LPOLESTR *ppwszKeywords,
  1132.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  1133. void __RPC_STUB IDBInfo_RemoteGetKeywords_Stub(
  1134.     IRpcStubBuffer *This,
  1135.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1136.     PRPC_MESSAGE _pRpcMessage,
  1137.     DWORD *_pdwStubPhase);
  1138. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBInfo_RemoteGetLiteralInfo_Proxy( 
  1139.     IDBInfo * This,
  1140.     /* [in] */ ULONG cLiterals,
  1141.     /* [size_is][unique][in] */ const DBLITERAL *rgLiterals,
  1142.     /* [out][in] */ ULONG *pcLiteralInfo,
  1143.     /* [size_is][size_is][out] */ DBLITERALINFO **prgLiteralInfo,
  1144.     /* [size_is][size_is][out] */ DB_UPARAMS **prgLVOffsets,
  1145.     /* [size_is][size_is][out] */ DB_UPARAMS **prgICOffsets,
  1146.     /* [size_is][size_is][out] */ DB_UPARAMS **prgISCOffsets,
  1147.     /* [out][in] */ ULONG *pcbCharBuffer,
  1148.     /* [size_is][size_is][unique][out][in] */ OLECHAR **ppCharBuffer,
  1149.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  1150. void __RPC_STUB IDBInfo_RemoteGetLiteralInfo_Stub(
  1151.     IRpcStubBuffer *This,
  1152.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1153.     PRPC_MESSAGE _pRpcMessage,
  1154.     DWORD *_pdwStubPhase);
  1155. #endif  /* __IDBInfo_INTERFACE_DEFINED__ */
  1156. #ifndef __IDBDataSourceAdmin_INTERFACE_DEFINED__
  1157. #define __IDBDataSourceAdmin_INTERFACE_DEFINED__
  1158. /* interface IDBDataSourceAdmin */
  1159. /* [unique][uuid][object] */ 
  1160. EXTERN_C const IID IID_IDBDataSourceAdmin;
  1161. #if defined(__cplusplus) && !defined(CINTERFACE)
  1162.     
  1163.     MIDL_INTERFACE("0c733a7a-2a1c-11ce-ade5-00aa0044773d")
  1164.     IDBDataSourceAdmin : public IUnknown
  1165.     {
  1166.     public:
  1167.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateDataSource( 
  1168.             /* [in] */ ULONG cPropertySets,
  1169.             /* [size_is][out][in] */ DBPROPSET rgPropertySets[  ],
  1170.             /* [in] */ IUnknown *pUnkOuter,
  1171.             /* [in] */ REFIID riid,
  1172.             /* [iid_is][out] */ IUnknown **ppDBSession) = 0;
  1173.         
  1174.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE DestroyDataSource( void) = 0;
  1175.         
  1176.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetCreationProperties( 
  1177.             /* [in] */ ULONG cPropertyIDSets,
  1178.             /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[  ],
  1179.             /* [out][in] */ ULONG *pcPropertyInfoSets,
  1180.             /* [size_is][size_is][out] */ DBPROPINFOSET **prgPropertyInfoSets,
  1181.             /* [out] */ OLECHAR **ppDescBuffer) = 0;
  1182.         
  1183.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE ModifyDataSource( 
  1184.             /* [in] */ ULONG cPropertySets,
  1185.             /* [size_is][in] */ DBPROPSET rgPropertySets[  ]) = 0;
  1186.         
  1187.     };
  1188.     
  1189. #else  /* C style interface */
  1190.     typedef struct IDBDataSourceAdminVtbl
  1191.     {
  1192.         BEGIN_INTERFACE
  1193.         
  1194.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1195.             IDBDataSourceAdmin * This,
  1196.             /* [in] */ REFIID riid,
  1197.             /* [iid_is][out] */ void **ppvObject);
  1198.         
  1199.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1200.             IDBDataSourceAdmin * This);
  1201.         
  1202.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1203.             IDBDataSourceAdmin * This);
  1204.         
  1205.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateDataSource )( 
  1206.             IDBDataSourceAdmin * This,
  1207.             /* [in] */ ULONG cPropertySets,
  1208.             /* [size_is][out][in] */ DBPROPSET rgPropertySets[  ],
  1209.             /* [in] */ IUnknown *pUnkOuter,
  1210.             /* [in] */ REFIID riid,
  1211.             /* [iid_is][out] */ IUnknown **ppDBSession);
  1212.         
  1213.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *DestroyDataSource )( 
  1214.             IDBDataSourceAdmin * This);
  1215.         
  1216.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetCreationProperties )( 
  1217.             IDBDataSourceAdmin * This,
  1218.             /* [in] */ ULONG cPropertyIDSets,
  1219.             /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[  ],
  1220.             /* [out][in] */ ULONG *pcPropertyInfoSets,
  1221.             /* [size_is][size_is][out] */ DBPROPINFOSET **prgPropertyInfoSets,
  1222.             /* [out] */ OLECHAR **ppDescBuffer);
  1223.         
  1224.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *ModifyDataSource )( 
  1225.             IDBDataSourceAdmin * This,
  1226.             /* [in] */ ULONG cPropertySets,
  1227.             /* [size_is][in] */ DBPROPSET rgPropertySets[  ]);
  1228.         
  1229.         END_INTERFACE
  1230.     } IDBDataSourceAdminVtbl;
  1231.     interface IDBDataSourceAdmin
  1232.     {
  1233.         CONST_VTBL struct IDBDataSourceAdminVtbl *lpVtbl;
  1234.     };
  1235.     
  1236. #ifdef COBJMACROS
  1237. #define IDBDataSourceAdmin_QueryInterface(This,riid,ppvObject)
  1238.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1239. #define IDBDataSourceAdmin_AddRef(This)
  1240.     (This)->lpVtbl -> AddRef(This)
  1241. #define IDBDataSourceAdmin_Release(This)
  1242.     (This)->lpVtbl -> Release(This)
  1243. #define IDBDataSourceAdmin_CreateDataSource(This,cPropertySets,rgPropertySets,pUnkOuter,riid,ppDBSession)
  1244.     (This)->lpVtbl -> CreateDataSource(This,cPropertySets,rgPropertySets,pUnkOuter,riid,ppDBSession)
  1245. #define IDBDataSourceAdmin_DestroyDataSource(This)
  1246.     (This)->lpVtbl -> DestroyDataSource(This)
  1247. #define IDBDataSourceAdmin_GetCreationProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertyInfoSets,prgPropertyInfoSets,ppDescBuffer)
  1248.     (This)->lpVtbl -> GetCreationProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertyInfoSets,prgPropertyInfoSets,ppDescBuffer)
  1249. #define IDBDataSourceAdmin_ModifyDataSource(This,cPropertySets,rgPropertySets)
  1250.     (This)->lpVtbl -> ModifyDataSource(This,cPropertySets,rgPropertySets)
  1251. #endif /* COBJMACROS */
  1252. #endif  /* C style interface */
  1253. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_RemoteCreateDataSource_Proxy( 
  1254.     IDBDataSourceAdmin * This,
  1255.     /* [in] */ ULONG cPropertySets,
  1256.     /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  1257.     /* [in] */ IUnknown *pUnkOuter,
  1258.     /* [in] */ REFIID riid,
  1259.     /* [iid_is][unique][out][in] */ IUnknown **ppDBSession,
  1260.     /* [in] */ ULONG cTotalProps,
  1261.     /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  1262.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  1263. void __RPC_STUB IDBDataSourceAdmin_RemoteCreateDataSource_Stub(
  1264.     IRpcStubBuffer *This,
  1265.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1266.     PRPC_MESSAGE _pRpcMessage,
  1267.     DWORD *_pdwStubPhase);
  1268. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_RemoteDestroyDataSource_Proxy( 
  1269.     IDBDataSourceAdmin * This,
  1270.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  1271. void __RPC_STUB IDBDataSourceAdmin_RemoteDestroyDataSource_Stub(
  1272.     IRpcStubBuffer *This,
  1273.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1274.     PRPC_MESSAGE _pRpcMessage,
  1275.     DWORD *_pdwStubPhase);
  1276. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_RemoteGetCreationProperties_Proxy( 
  1277.     IDBDataSourceAdmin * This,
  1278.     /* [in] */ ULONG cPropertyIDSets,
  1279.     /* [size_is][unique][in] */ const DBPROPIDSET *rgPropertyIDSets,
  1280.     /* [out][in] */ ULONG *pcPropertyInfoSets,
  1281.     /* [size_is][size_is][out] */ DBPROPINFOSET **prgPropertyInfoSets,
  1282.     /* [out][in] */ DBCOUNTITEM *pcOffsets,
  1283.     /* [size_is][size_is][out] */ DBBYTEOFFSET **prgDescOffsets,
  1284.     /* [out][in] */ ULONG *pcbDescBuffer,
  1285.     /* [size_is][size_is][unique][out][in] */ OLECHAR **ppDescBuffer,
  1286.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  1287. void __RPC_STUB IDBDataSourceAdmin_RemoteGetCreationProperties_Stub(
  1288.     IRpcStubBuffer *This,
  1289.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1290.     PRPC_MESSAGE _pRpcMessage,
  1291.     DWORD *_pdwStubPhase);
  1292. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBDataSourceAdmin_RemoteModifyDataSource_Proxy( 
  1293.     IDBDataSourceAdmin * This,
  1294.     /* [in] */ ULONG cPropertySets,
  1295.     /* [size_is][in] */ DBPROPSET *rgPropertySets,
  1296.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  1297. void __RPC_STUB IDBDataSourceAdmin_RemoteModifyDataSource_Stub(
  1298.     IRpcStubBuffer *This,
  1299.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1300.     PRPC_MESSAGE _pRpcMessage,
  1301.     DWORD *_pdwStubPhase);
  1302. #endif  /* __IDBDataSourceAdmin_INTERFACE_DEFINED__ */
  1303. /* interface __MIDL_itf_oledb_0298 */
  1304. /* [local] */ 
  1305. //@@@+ V1.5
  1306. #if( OLEDBVER >= 0x0150 )
  1307. extern RPC_IF_HANDLE __MIDL_itf_oledb_0298_v0_0_c_ifspec;
  1308. extern RPC_IF_HANDLE __MIDL_itf_oledb_0298_v0_0_s_ifspec;
  1309. #ifndef __IDBAsynchNotify_INTERFACE_DEFINED__
  1310. #define __IDBAsynchNotify_INTERFACE_DEFINED__
  1311. /* interface IDBAsynchNotify */
  1312. /* [unique][uuid][object] */ 
  1313. EXTERN_C const IID IID_IDBAsynchNotify;
  1314. #if defined(__cplusplus) && !defined(CINTERFACE)
  1315.     
  1316.     MIDL_INTERFACE("0c733a96-2a1c-11ce-ade5-00aa0044773d")
  1317.     IDBAsynchNotify : public IUnknown
  1318.     {
  1319.     public:
  1320.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnLowResource( 
  1321.             /* [in] */ DB_DWRESERVE dwReserved) = 0;
  1322.         
  1323.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnProgress( 
  1324.             /* [in] */ HCHAPTER hChapter,
  1325.             /* [in] */ DBASYNCHOP eOperation,
  1326.             /* [in] */ DBCOUNTITEM ulProgress,
  1327.             /* [in] */ DBCOUNTITEM ulProgressMax,
  1328.             /* [in] */ DBASYNCHPHASE eAsynchPhase,
  1329.             /* [in] */ LPOLESTR pwszStatusText) = 0;
  1330.         
  1331.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnStop( 
  1332.             /* [in] */ HCHAPTER hChapter,
  1333.             /* [in] */ DBASYNCHOP eOperation,
  1334.             /* [in] */ HRESULT hrStatus,
  1335.             /* [in] */ LPOLESTR pwszStatusText) = 0;
  1336.         
  1337.     };
  1338.     
  1339. #else  /* C style interface */
  1340.     typedef struct IDBAsynchNotifyVtbl
  1341.     {
  1342.         BEGIN_INTERFACE
  1343.         
  1344.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1345.             IDBAsynchNotify * This,
  1346.             /* [in] */ REFIID riid,
  1347.             /* [iid_is][out] */ void **ppvObject);
  1348.         
  1349.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1350.             IDBAsynchNotify * This);
  1351.         
  1352.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1353.             IDBAsynchNotify * This);
  1354.         
  1355.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *OnLowResource )( 
  1356.             IDBAsynchNotify * This,
  1357.             /* [in] */ DB_DWRESERVE dwReserved);
  1358.         
  1359.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *OnProgress )( 
  1360.             IDBAsynchNotify * This,
  1361.             /* [in] */ HCHAPTER hChapter,
  1362.             /* [in] */ DBASYNCHOP eOperation,
  1363.             /* [in] */ DBCOUNTITEM ulProgress,
  1364.             /* [in] */ DBCOUNTITEM ulProgressMax,
  1365.             /* [in] */ DBASYNCHPHASE eAsynchPhase,
  1366.             /* [in] */ LPOLESTR pwszStatusText);
  1367.         
  1368.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *OnStop )( 
  1369.             IDBAsynchNotify * This,
  1370.             /* [in] */ HCHAPTER hChapter,
  1371.             /* [in] */ DBASYNCHOP eOperation,
  1372.             /* [in] */ HRESULT hrStatus,
  1373.             /* [in] */ LPOLESTR pwszStatusText);
  1374.         
  1375.         END_INTERFACE
  1376.     } IDBAsynchNotifyVtbl;
  1377.     interface IDBAsynchNotify
  1378.     {
  1379.         CONST_VTBL struct IDBAsynchNotifyVtbl *lpVtbl;
  1380.     };
  1381.     
  1382. #ifdef COBJMACROS
  1383. #define IDBAsynchNotify_QueryInterface(This,riid,ppvObject)
  1384.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1385. #define IDBAsynchNotify_AddRef(This)
  1386.     (This)->lpVtbl -> AddRef(This)
  1387. #define IDBAsynchNotify_Release(This)
  1388.     (This)->lpVtbl -> Release(This)
  1389. #define IDBAsynchNotify_OnLowResource(This,dwReserved)
  1390.     (This)->lpVtbl -> OnLowResource(This,dwReserved)
  1391. #define IDBAsynchNotify_OnProgress(This,hChapter,eOperation,ulProgress,ulProgressMax,eAsynchPhase,pwszStatusText)
  1392.     (This)->lpVtbl -> OnProgress(This,hChapter,eOperation,ulProgress,ulProgressMax,eAsynchPhase,pwszStatusText)
  1393. #define IDBAsynchNotify_OnStop(This,hChapter,eOperation,hrStatus,pwszStatusText)
  1394.     (This)->lpVtbl -> OnStop(This,hChapter,eOperation,hrStatus,pwszStatusText)
  1395. #endif /* COBJMACROS */
  1396. #endif  /* C style interface */
  1397. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_RemoteOnLowResource_Proxy( 
  1398.     IDBAsynchNotify * This,
  1399.     /* [in] */ DB_DWRESERVE dwReserved);
  1400. void __RPC_STUB IDBAsynchNotify_RemoteOnLowResource_Stub(
  1401.     IRpcStubBuffer *This,
  1402.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1403.     PRPC_MESSAGE _pRpcMessage,
  1404.     DWORD *_pdwStubPhase);
  1405. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_RemoteOnProgress_Proxy( 
  1406.     IDBAsynchNotify * This,
  1407.     /* [in] */ HCHAPTER hChapter,
  1408.     /* [in] */ DBASYNCHOP eOperation,
  1409.     /* [in] */ DBCOUNTITEM ulProgress,
  1410.     /* [in] */ DBCOUNTITEM ulProgressMax,
  1411.     /* [in] */ DBASYNCHPHASE eAsynchPhase,
  1412.     /* [string][unique][in] */ LPOLESTR pwszStatusText);
  1413. void __RPC_STUB IDBAsynchNotify_RemoteOnProgress_Stub(
  1414.     IRpcStubBuffer *This,
  1415.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1416.     PRPC_MESSAGE _pRpcMessage,
  1417.     DWORD *_pdwStubPhase);
  1418. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchNotify_RemoteOnStop_Proxy( 
  1419.     IDBAsynchNotify * This,
  1420.     /* [in] */ HCHAPTER hChapter,
  1421.     /* [in] */ DBASYNCHOP eOperation,
  1422.     /* [in] */ HRESULT hrStatus,
  1423.     /* [string][unique][in] */ LPOLESTR pwszStatusText);
  1424. void __RPC_STUB IDBAsynchNotify_RemoteOnStop_Stub(
  1425.     IRpcStubBuffer *This,
  1426.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1427.     PRPC_MESSAGE _pRpcMessage,
  1428.     DWORD *_pdwStubPhase);
  1429. #endif  /* __IDBAsynchNotify_INTERFACE_DEFINED__ */
  1430. #ifndef __IDBAsynchStatus_INTERFACE_DEFINED__
  1431. #define __IDBAsynchStatus_INTERFACE_DEFINED__
  1432. /* interface IDBAsynchStatus */
  1433. /* [unique][uuid][object] */ 
  1434. EXTERN_C const IID IID_IDBAsynchStatus;
  1435. #if defined(__cplusplus) && !defined(CINTERFACE)
  1436.     
  1437.     MIDL_INTERFACE("0c733a95-2a1c-11ce-ade5-00aa0044773d")
  1438.     IDBAsynchStatus : public IUnknown
  1439.     {
  1440.     public:
  1441.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Abort( 
  1442.             /* [in] */ HCHAPTER hChapter,
  1443.             /* [in] */ DBASYNCHOP eOperation) = 0;
  1444.         
  1445.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetStatus( 
  1446.             /* [in] */ HCHAPTER hChapter,
  1447.             /* [in] */ DBASYNCHOP eOperation,
  1448.             /* [out] */ DBCOUNTITEM *pulProgress,
  1449.             /* [out] */ DBCOUNTITEM *pulProgressMax,
  1450.             /* [out] */ DBASYNCHPHASE *peAsynchPhase,
  1451.             /* [out] */ LPOLESTR *ppwszStatusText) = 0;
  1452.         
  1453.     };
  1454.     
  1455. #else  /* C style interface */
  1456.     typedef struct IDBAsynchStatusVtbl
  1457.     {
  1458.         BEGIN_INTERFACE
  1459.         
  1460.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1461.             IDBAsynchStatus * This,
  1462.             /* [in] */ REFIID riid,
  1463.             /* [iid_is][out] */ void **ppvObject);
  1464.         
  1465.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1466.             IDBAsynchStatus * This);
  1467.         
  1468.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1469.             IDBAsynchStatus * This);
  1470.         
  1471.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Abort )( 
  1472.             IDBAsynchStatus * This,
  1473.             /* [in] */ HCHAPTER hChapter,
  1474.             /* [in] */ DBASYNCHOP eOperation);
  1475.         
  1476.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetStatus )( 
  1477.             IDBAsynchStatus * This,
  1478.             /* [in] */ HCHAPTER hChapter,
  1479.             /* [in] */ DBASYNCHOP eOperation,
  1480.             /* [out] */ DBCOUNTITEM *pulProgress,
  1481.             /* [out] */ DBCOUNTITEM *pulProgressMax,
  1482.             /* [out] */ DBASYNCHPHASE *peAsynchPhase,
  1483.             /* [out] */ LPOLESTR *ppwszStatusText);
  1484.         
  1485.         END_INTERFACE
  1486.     } IDBAsynchStatusVtbl;
  1487.     interface IDBAsynchStatus
  1488.     {
  1489.         CONST_VTBL struct IDBAsynchStatusVtbl *lpVtbl;
  1490.     };
  1491.     
  1492. #ifdef COBJMACROS
  1493. #define IDBAsynchStatus_QueryInterface(This,riid,ppvObject)
  1494.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1495. #define IDBAsynchStatus_AddRef(This)
  1496.     (This)->lpVtbl -> AddRef(This)
  1497. #define IDBAsynchStatus_Release(This)
  1498.     (This)->lpVtbl -> Release(This)
  1499. #define IDBAsynchStatus_Abort(This,hChapter,eOperation)
  1500.     (This)->lpVtbl -> Abort(This,hChapter,eOperation)
  1501. #define IDBAsynchStatus_GetStatus(This,hChapter,eOperation,pulProgress,pulProgressMax,peAsynchPhase,ppwszStatusText)
  1502.     (This)->lpVtbl -> GetStatus(This,hChapter,eOperation,pulProgress,pulProgressMax,peAsynchPhase,ppwszStatusText)
  1503. #endif /* COBJMACROS */
  1504. #endif  /* C style interface */
  1505. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchStatus_RemoteAbort_Proxy( 
  1506.     IDBAsynchStatus * This,
  1507.     /* [in] */ HCHAPTER hChapter,
  1508.     /* [in] */ DBASYNCHOP eOperation,
  1509.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  1510. void __RPC_STUB IDBAsynchStatus_RemoteAbort_Stub(
  1511.     IRpcStubBuffer *This,
  1512.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1513.     PRPC_MESSAGE _pRpcMessage,
  1514.     DWORD *_pdwStubPhase);
  1515. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBAsynchStatus_RemoteGetStatus_Proxy( 
  1516.     IDBAsynchStatus * This,
  1517.     /* [in] */ HCHAPTER hChapter,
  1518.     /* [in] */ DBASYNCHOP eOperation,
  1519.     /* [unique][out][in] */ DBCOUNTITEM *pulProgress,
  1520.     /* [unique][out][in] */ DBCOUNTITEM *pulProgressMax,
  1521.     /* [unique][out][in] */ DBASYNCHPHASE *peAsynchPhase,
  1522.     /* [unique][out][in] */ LPOLESTR *ppwszStatusText,
  1523.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  1524. void __RPC_STUB IDBAsynchStatus_RemoteGetStatus_Stub(
  1525.     IRpcStubBuffer *This,
  1526.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1527.     PRPC_MESSAGE _pRpcMessage,
  1528.     DWORD *_pdwStubPhase);
  1529. #endif  /* __IDBAsynchStatus_INTERFACE_DEFINED__ */
  1530. /* interface __MIDL_itf_oledb_0300 */
  1531. /* [local] */ 
  1532. #endif // OLEDBVER >= 0x0150
  1533. //@@@- V1.5
  1534. extern RPC_IF_HANDLE __MIDL_itf_oledb_0300_v0_0_c_ifspec;
  1535. extern RPC_IF_HANDLE __MIDL_itf_oledb_0300_v0_0_s_ifspec;
  1536. #ifndef __ISessionProperties_INTERFACE_DEFINED__
  1537. #define __ISessionProperties_INTERFACE_DEFINED__
  1538. /* interface ISessionProperties */
  1539. /* [unique][uuid][object] */ 
  1540. EXTERN_C const IID IID_ISessionProperties;
  1541. #if defined(__cplusplus) && !defined(CINTERFACE)
  1542.     
  1543.     MIDL_INTERFACE("0c733a85-2a1c-11ce-ade5-00aa0044773d")
  1544.     ISessionProperties : public IUnknown
  1545.     {
  1546.     public:
  1547.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetProperties( 
  1548.             /* [in] */ ULONG cPropertyIDSets,
  1549.             /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[  ],
  1550.             /* [out][in] */ ULONG *pcPropertySets,
  1551.             /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets) = 0;
  1552.         
  1553.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetProperties( 
  1554.             /* [in] */ ULONG cPropertySets,
  1555.             /* [size_is][unique][out][in] */ DBPROPSET rgPropertySets[  ]) = 0;
  1556.         
  1557.     };
  1558.     
  1559. #else  /* C style interface */
  1560.     typedef struct ISessionPropertiesVtbl
  1561.     {
  1562.         BEGIN_INTERFACE
  1563.         
  1564.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1565.             ISessionProperties * This,
  1566.             /* [in] */ REFIID riid,
  1567.             /* [iid_is][out] */ void **ppvObject);
  1568.         
  1569.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1570.             ISessionProperties * This);
  1571.         
  1572.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1573.             ISessionProperties * This);
  1574.         
  1575.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetProperties )( 
  1576.             ISessionProperties * This,
  1577.             /* [in] */ ULONG cPropertyIDSets,
  1578.             /* [size_is][in] */ const DBPROPIDSET rgPropertyIDSets[  ],
  1579.             /* [out][in] */ ULONG *pcPropertySets,
  1580.             /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets);
  1581.         
  1582.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetProperties )( 
  1583.             ISessionProperties * This,
  1584.             /* [in] */ ULONG cPropertySets,
  1585.             /* [size_is][unique][out][in] */ DBPROPSET rgPropertySets[  ]);
  1586.         
  1587.         END_INTERFACE
  1588.     } ISessionPropertiesVtbl;
  1589.     interface ISessionProperties
  1590.     {
  1591.         CONST_VTBL struct ISessionPropertiesVtbl *lpVtbl;
  1592.     };
  1593.     
  1594. #ifdef COBJMACROS
  1595. #define ISessionProperties_QueryInterface(This,riid,ppvObject)
  1596.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1597. #define ISessionProperties_AddRef(This)
  1598.     (This)->lpVtbl -> AddRef(This)
  1599. #define ISessionProperties_Release(This)
  1600.     (This)->lpVtbl -> Release(This)
  1601. #define ISessionProperties_GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  1602.     (This)->lpVtbl -> GetProperties(This,cPropertyIDSets,rgPropertyIDSets,pcPropertySets,prgPropertySets)
  1603. #define ISessionProperties_SetProperties(This,cPropertySets,rgPropertySets)
  1604.     (This)->lpVtbl -> SetProperties(This,cPropertySets,rgPropertySets)
  1605. #endif /* COBJMACROS */
  1606. #endif  /* C style interface */
  1607. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISessionProperties_RemoteGetProperties_Proxy( 
  1608.     ISessionProperties * This,
  1609.     /* [in] */ ULONG cPropertyIDSets,
  1610.     /* [size_is][unique][in] */ const DBPROPIDSET *rgPropertyIDSets,
  1611.     /* [out][in] */ ULONG *pcPropertySets,
  1612.     /* [size_is][size_is][out] */ DBPROPSET **prgPropertySets,
  1613.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  1614. void __RPC_STUB ISessionProperties_RemoteGetProperties_Stub(
  1615.     IRpcStubBuffer *This,
  1616.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1617.     PRPC_MESSAGE _pRpcMessage,
  1618.     DWORD *_pdwStubPhase);
  1619. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISessionProperties_RemoteSetProperties_Proxy( 
  1620.     ISessionProperties * This,
  1621.     /* [in] */ ULONG cPropertySets,
  1622.     /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  1623.     /* [in] */ ULONG cTotalProps,
  1624.     /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  1625.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  1626. void __RPC_STUB ISessionProperties_RemoteSetProperties_Stub(
  1627.     IRpcStubBuffer *This,
  1628.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1629.     PRPC_MESSAGE _pRpcMessage,
  1630.     DWORD *_pdwStubPhase);
  1631. #endif  /* __ISessionProperties_INTERFACE_DEFINED__ */
  1632. #ifndef __IIndexDefinition_INTERFACE_DEFINED__
  1633. #define __IIndexDefinition_INTERFACE_DEFINED__
  1634. /* interface IIndexDefinition */
  1635. /* [unique][uuid][object] */ 
  1636. EXTERN_C const IID IID_IIndexDefinition;
  1637. #if defined(__cplusplus) && !defined(CINTERFACE)
  1638.     
  1639.     MIDL_INTERFACE("0c733a68-2a1c-11ce-ade5-00aa0044773d")
  1640.     IIndexDefinition : public IUnknown
  1641.     {
  1642.     public:
  1643.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateIndex( 
  1644.             /* [in] */ DBID *pTableID,
  1645.             /* [in] */ DBID *pIndexID,
  1646.             /* [in] */ DBORDINAL cIndexColumnDescs,
  1647.             /* [size_is][in] */ const DBINDEXCOLUMNDESC rgIndexColumnDescs[  ],
  1648.             /* [in] */ ULONG cPropertySets,
  1649.             /* [size_is][out][in] */ DBPROPSET rgPropertySets[  ],
  1650.             /* [out] */ DBID **ppIndexID) = 0;
  1651.         
  1652.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE DropIndex( 
  1653.             /* [unique][in] */ DBID *pTableID,
  1654.             /* [unique][in] */ DBID *pIndexID) = 0;
  1655.         
  1656.     };
  1657.     
  1658. #else  /* C style interface */
  1659.     typedef struct IIndexDefinitionVtbl
  1660.     {
  1661.         BEGIN_INTERFACE
  1662.         
  1663.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1664.             IIndexDefinition * This,
  1665.             /* [in] */ REFIID riid,
  1666.             /* [iid_is][out] */ void **ppvObject);
  1667.         
  1668.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1669.             IIndexDefinition * This);
  1670.         
  1671.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1672.             IIndexDefinition * This);
  1673.         
  1674.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateIndex )( 
  1675.             IIndexDefinition * This,
  1676.             /* [in] */ DBID *pTableID,
  1677.             /* [in] */ DBID *pIndexID,
  1678.             /* [in] */ DBORDINAL cIndexColumnDescs,
  1679.             /* [size_is][in] */ const DBINDEXCOLUMNDESC rgIndexColumnDescs[  ],
  1680.             /* [in] */ ULONG cPropertySets,
  1681.             /* [size_is][out][in] */ DBPROPSET rgPropertySets[  ],
  1682.             /* [out] */ DBID **ppIndexID);
  1683.         
  1684.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *DropIndex )( 
  1685.             IIndexDefinition * This,
  1686.             /* [unique][in] */ DBID *pTableID,
  1687.             /* [unique][in] */ DBID *pIndexID);
  1688.         
  1689.         END_INTERFACE
  1690.     } IIndexDefinitionVtbl;
  1691.     interface IIndexDefinition
  1692.     {
  1693.         CONST_VTBL struct IIndexDefinitionVtbl *lpVtbl;
  1694.     };
  1695.     
  1696. #ifdef COBJMACROS
  1697. #define IIndexDefinition_QueryInterface(This,riid,ppvObject)
  1698.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1699. #define IIndexDefinition_AddRef(This)
  1700.     (This)->lpVtbl -> AddRef(This)
  1701. #define IIndexDefinition_Release(This)
  1702.     (This)->lpVtbl -> Release(This)
  1703. #define IIndexDefinition_CreateIndex(This,pTableID,pIndexID,cIndexColumnDescs,rgIndexColumnDescs,cPropertySets,rgPropertySets,ppIndexID)
  1704.     (This)->lpVtbl -> CreateIndex(This,pTableID,pIndexID,cIndexColumnDescs,rgIndexColumnDescs,cPropertySets,rgPropertySets,ppIndexID)
  1705. #define IIndexDefinition_DropIndex(This,pTableID,pIndexID)
  1706.     (This)->lpVtbl -> DropIndex(This,pTableID,pIndexID)
  1707. #endif /* COBJMACROS */
  1708. #endif  /* C style interface */
  1709. /* [call_as] */ HRESULT STDMETHODCALLTYPE IIndexDefinition_RemoteCreateIndex_Proxy( 
  1710.     IIndexDefinition * This,
  1711.     /* [in] */ DBID *pTableID,
  1712.     /* [unique][in] */ DBID *pIndexID,
  1713.     /* [in] */ DBORDINAL cIndexColumnDescs,
  1714.     /* [size_is][in] */ const DBINDEXCOLUMNDESC *rgIndexColumnDescs,
  1715.     /* [in] */ ULONG cPropertySets,
  1716.     /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  1717.     /* [unique][out][in] */ DBID **ppIndexID,
  1718.     /* [in] */ ULONG cTotalProps,
  1719.     /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  1720.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  1721. void __RPC_STUB IIndexDefinition_RemoteCreateIndex_Stub(
  1722.     IRpcStubBuffer *This,
  1723.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1724.     PRPC_MESSAGE _pRpcMessage,
  1725.     DWORD *_pdwStubPhase);
  1726. /* [call_as] */ HRESULT STDMETHODCALLTYPE IIndexDefinition_RemoteDropIndex_Proxy( 
  1727.     IIndexDefinition * This,
  1728.     /* [unique][in] */ DBID *pTableID,
  1729.     /* [unique][in] */ DBID *pIndexID,
  1730.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  1731. void __RPC_STUB IIndexDefinition_RemoteDropIndex_Stub(
  1732.     IRpcStubBuffer *This,
  1733.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1734.     PRPC_MESSAGE _pRpcMessage,
  1735.     DWORD *_pdwStubPhase);
  1736. #endif  /* __IIndexDefinition_INTERFACE_DEFINED__ */
  1737. #ifndef __ITableDefinition_INTERFACE_DEFINED__
  1738. #define __ITableDefinition_INTERFACE_DEFINED__
  1739. /* interface ITableDefinition */
  1740. /* [unique][uuid][object] */ 
  1741. EXTERN_C const IID IID_ITableDefinition;
  1742. #if defined(__cplusplus) && !defined(CINTERFACE)
  1743.     
  1744.     MIDL_INTERFACE("0c733a86-2a1c-11ce-ade5-00aa0044773d")
  1745.     ITableDefinition : public IUnknown
  1746.     {
  1747.     public:
  1748.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateTable( 
  1749.             /* [in] */ IUnknown *pUnkOuter,
  1750.             /* [in] */ DBID *pTableID,
  1751.             /* [in] */ DBORDINAL cColumnDescs,
  1752.             /* [size_is][in] */ const DBCOLUMNDESC rgColumnDescs[  ],
  1753.             /* [in] */ REFIID riid,
  1754.             /* [in] */ ULONG cPropertySets,
  1755.             /* [size_is][out][in] */ DBPROPSET rgPropertySets[  ],
  1756.             /* [out] */ DBID **ppTableID,
  1757.             /* [iid_is][out] */ IUnknown **ppRowset) = 0;
  1758.         
  1759.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE DropTable( 
  1760.             /* [unique][in] */ DBID *pTableID) = 0;
  1761.         
  1762.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddColumn( 
  1763.             /* [in] */ DBID *pTableID,
  1764.             /* [out][in] */ DBCOLUMNDESC *pColumnDesc,
  1765.             /* [out] */ DBID **ppColumnID) = 0;
  1766.         
  1767.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE DropColumn( 
  1768.             /* [unique][in] */ DBID *pTableID,
  1769.             /* [unique][in] */ DBID *pColumnID) = 0;
  1770.         
  1771.     };
  1772.     
  1773. #else  /* C style interface */
  1774.     typedef struct ITableDefinitionVtbl
  1775.     {
  1776.         BEGIN_INTERFACE
  1777.         
  1778.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1779.             ITableDefinition * This,
  1780.             /* [in] */ REFIID riid,
  1781.             /* [iid_is][out] */ void **ppvObject);
  1782.         
  1783.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1784.             ITableDefinition * This);
  1785.         
  1786.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1787.             ITableDefinition * This);
  1788.         
  1789.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateTable )( 
  1790.             ITableDefinition * This,
  1791.             /* [in] */ IUnknown *pUnkOuter,
  1792.             /* [in] */ DBID *pTableID,
  1793.             /* [in] */ DBORDINAL cColumnDescs,
  1794.             /* [size_is][in] */ const DBCOLUMNDESC rgColumnDescs[  ],
  1795.             /* [in] */ REFIID riid,
  1796.             /* [in] */ ULONG cPropertySets,
  1797.             /* [size_is][out][in] */ DBPROPSET rgPropertySets[  ],
  1798.             /* [out] */ DBID **ppTableID,
  1799.             /* [iid_is][out] */ IUnknown **ppRowset);
  1800.         
  1801.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *DropTable )( 
  1802.             ITableDefinition * This,
  1803.             /* [unique][in] */ DBID *pTableID);
  1804.         
  1805.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *AddColumn )( 
  1806.             ITableDefinition * This,
  1807.             /* [in] */ DBID *pTableID,
  1808.             /* [out][in] */ DBCOLUMNDESC *pColumnDesc,
  1809.             /* [out] */ DBID **ppColumnID);
  1810.         
  1811.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *DropColumn )( 
  1812.             ITableDefinition * This,
  1813.             /* [unique][in] */ DBID *pTableID,
  1814.             /* [unique][in] */ DBID *pColumnID);
  1815.         
  1816.         END_INTERFACE
  1817.     } ITableDefinitionVtbl;
  1818.     interface ITableDefinition
  1819.     {
  1820.         CONST_VTBL struct ITableDefinitionVtbl *lpVtbl;
  1821.     };
  1822.     
  1823. #ifdef COBJMACROS
  1824. #define ITableDefinition_QueryInterface(This,riid,ppvObject)
  1825.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1826. #define ITableDefinition_AddRef(This)
  1827.     (This)->lpVtbl -> AddRef(This)
  1828. #define ITableDefinition_Release(This)
  1829.     (This)->lpVtbl -> Release(This)
  1830. #define ITableDefinition_CreateTable(This,pUnkOuter,pTableID,cColumnDescs,rgColumnDescs,riid,cPropertySets,rgPropertySets,ppTableID,ppRowset)
  1831.     (This)->lpVtbl -> CreateTable(This,pUnkOuter,pTableID,cColumnDescs,rgColumnDescs,riid,cPropertySets,rgPropertySets,ppTableID,ppRowset)
  1832. #define ITableDefinition_DropTable(This,pTableID)
  1833.     (This)->lpVtbl -> DropTable(This,pTableID)
  1834. #define ITableDefinition_AddColumn(This,pTableID,pColumnDesc,ppColumnID)
  1835.     (This)->lpVtbl -> AddColumn(This,pTableID,pColumnDesc,ppColumnID)
  1836. #define ITableDefinition_DropColumn(This,pTableID,pColumnID)
  1837.     (This)->lpVtbl -> DropColumn(This,pTableID,pColumnID)
  1838. #endif /* COBJMACROS */
  1839. #endif  /* C style interface */
  1840. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_RemoteCreateTable_Proxy( 
  1841.     ITableDefinition * This,
  1842.     /* [in] */ IUnknown *pUnkOuter,
  1843.     /* [unique][in] */ DBID *pTableID,
  1844.     /* [in] */ DBORDINAL cColumnDescs,
  1845.     /* [size_is][in] */ const DBCOLUMNDESC *rgColumnDescs,
  1846.     /* [in] */ REFIID riid,
  1847.     /* [in] */ ULONG cPropertySets,
  1848.     /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  1849.     /* [unique][out][in] */ DBID **ppTableID,
  1850.     /* [iid_is][unique][out][in] */ IUnknown **ppRowset,
  1851.     /* [in] */ ULONG cTotalProps,
  1852.     /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  1853.     /* [out] */ BOOL *pfTableCreated,
  1854.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  1855. void __RPC_STUB ITableDefinition_RemoteCreateTable_Stub(
  1856.     IRpcStubBuffer *This,
  1857.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1858.     PRPC_MESSAGE _pRpcMessage,
  1859.     DWORD *_pdwStubPhase);
  1860. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_RemoteDropTable_Proxy( 
  1861.     ITableDefinition * This,
  1862.     /* [unique][in] */ DBID *pTableID,
  1863.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  1864. void __RPC_STUB ITableDefinition_RemoteDropTable_Stub(
  1865.     IRpcStubBuffer *This,
  1866.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1867.     PRPC_MESSAGE _pRpcMessage,
  1868.     DWORD *_pdwStubPhase);
  1869. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_RemoteAddColumn_Proxy( 
  1870.     ITableDefinition * This,
  1871.     /* [in] */ DBID *pTableID,
  1872.     /* [in] */ DBCOLUMNDESC *pColumnDesc,
  1873.     /* [unique][out][in] */ DBID **ppColumnID,
  1874.     /* [in] */ ULONG cTotalProps,
  1875.     /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  1876.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  1877. void __RPC_STUB ITableDefinition_RemoteAddColumn_Stub(
  1878.     IRpcStubBuffer *This,
  1879.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1880.     PRPC_MESSAGE _pRpcMessage,
  1881.     DWORD *_pdwStubPhase);
  1882. /* [call_as] */ HRESULT STDMETHODCALLTYPE ITableDefinition_RemoteDropColumn_Proxy( 
  1883.     ITableDefinition * This,
  1884.     /* [unique][in] */ DBID *pTableID,
  1885.     /* [unique][in] */ DBID *pColumnID,
  1886.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  1887. void __RPC_STUB ITableDefinition_RemoteDropColumn_Stub(
  1888.     IRpcStubBuffer *This,
  1889.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1890.     PRPC_MESSAGE _pRpcMessage,
  1891.     DWORD *_pdwStubPhase);
  1892. #endif  /* __ITableDefinition_INTERFACE_DEFINED__ */
  1893. #ifndef __IOpenRowset_INTERFACE_DEFINED__
  1894. #define __IOpenRowset_INTERFACE_DEFINED__
  1895. /* interface IOpenRowset */
  1896. /* [unique][uuid][object] */ 
  1897. EXTERN_C const IID IID_IOpenRowset;
  1898. #if defined(__cplusplus) && !defined(CINTERFACE)
  1899.     
  1900.     MIDL_INTERFACE("0c733a69-2a1c-11ce-ade5-00aa0044773d")
  1901.     IOpenRowset : public IUnknown
  1902.     {
  1903.     public:
  1904.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OpenRowset( 
  1905.             /* [in] */ IUnknown *pUnkOuter,
  1906.             /* [unique][in] */ DBID *pTableID,
  1907.             /* [unique][in] */ DBID *pIndexID,
  1908.             /* [in] */ REFIID riid,
  1909.             /* [in] */ ULONG cPropertySets,
  1910.             /* [size_is][out][in] */ DBPROPSET rgPropertySets[  ],
  1911.             /* [iid_is][out] */ IUnknown **ppRowset) = 0;
  1912.         
  1913.     };
  1914.     
  1915. #else  /* C style interface */
  1916.     typedef struct IOpenRowsetVtbl
  1917.     {
  1918.         BEGIN_INTERFACE
  1919.         
  1920.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1921.             IOpenRowset * This,
  1922.             /* [in] */ REFIID riid,
  1923.             /* [iid_is][out] */ void **ppvObject);
  1924.         
  1925.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1926.             IOpenRowset * This);
  1927.         
  1928.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1929.             IOpenRowset * This);
  1930.         
  1931.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *OpenRowset )( 
  1932.             IOpenRowset * This,
  1933.             /* [in] */ IUnknown *pUnkOuter,
  1934.             /* [unique][in] */ DBID *pTableID,
  1935.             /* [unique][in] */ DBID *pIndexID,
  1936.             /* [in] */ REFIID riid,
  1937.             /* [in] */ ULONG cPropertySets,
  1938.             /* [size_is][out][in] */ DBPROPSET rgPropertySets[  ],
  1939.             /* [iid_is][out] */ IUnknown **ppRowset);
  1940.         
  1941.         END_INTERFACE
  1942.     } IOpenRowsetVtbl;
  1943.     interface IOpenRowset
  1944.     {
  1945.         CONST_VTBL struct IOpenRowsetVtbl *lpVtbl;
  1946.     };
  1947.     
  1948. #ifdef COBJMACROS
  1949. #define IOpenRowset_QueryInterface(This,riid,ppvObject)
  1950.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1951. #define IOpenRowset_AddRef(This)
  1952.     (This)->lpVtbl -> AddRef(This)
  1953. #define IOpenRowset_Release(This)
  1954.     (This)->lpVtbl -> Release(This)
  1955. #define IOpenRowset_OpenRowset(This,pUnkOuter,pTableID,pIndexID,riid,cPropertySets,rgPropertySets,ppRowset)
  1956.     (This)->lpVtbl -> OpenRowset(This,pUnkOuter,pTableID,pIndexID,riid,cPropertySets,rgPropertySets,ppRowset)
  1957. #endif /* COBJMACROS */
  1958. #endif  /* C style interface */
  1959. /* [call_as] */ HRESULT STDMETHODCALLTYPE IOpenRowset_RemoteOpenRowset_Proxy( 
  1960.     IOpenRowset * This,
  1961.     /* [in] */ IUnknown *pUnkOuter,
  1962.     /* [unique][in] */ DBID *pTableID,
  1963.     /* [unique][in] */ DBID *pIndexID,
  1964.     /* [in] */ REFIID riid,
  1965.     /* [in] */ ULONG cPropertySets,
  1966.     /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  1967.     /* [iid_is][unique][out][in] */ IUnknown **ppRowset,
  1968.     /* [in] */ ULONG cTotalProps,
  1969.     /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  1970.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  1971. void __RPC_STUB IOpenRowset_RemoteOpenRowset_Stub(
  1972.     IRpcStubBuffer *This,
  1973.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1974.     PRPC_MESSAGE _pRpcMessage,
  1975.     DWORD *_pdwStubPhase);
  1976. #endif  /* __IOpenRowset_INTERFACE_DEFINED__ */
  1977. #ifndef __IDBSchemaRowset_INTERFACE_DEFINED__
  1978. #define __IDBSchemaRowset_INTERFACE_DEFINED__
  1979. /* interface IDBSchemaRowset */
  1980. /* [unique][uuid][object] */ 
  1981. #define CRESTRICTIONS_DBSCHEMA_ASSERTIONS                      3
  1982. #define CRESTRICTIONS_DBSCHEMA_CATALOGS                        1
  1983. #define CRESTRICTIONS_DBSCHEMA_CHARACTER_SETS                  3
  1984. #define CRESTRICTIONS_DBSCHEMA_COLLATIONS                      3
  1985. #define CRESTRICTIONS_DBSCHEMA_COLUMNS                         4
  1986. #define CRESTRICTIONS_DBSCHEMA_CHECK_CONSTRAINTS               3
  1987. #define CRESTRICTIONS_DBSCHEMA_CONSTRAINT_COLUMN_USAGE         4
  1988. #define CRESTRICTIONS_DBSCHEMA_CONSTRAINT_TABLE_USAGE          3
  1989. #define CRESTRICTIONS_DBSCHEMA_KEY_COLUMN_USAGE                7
  1990. #define CRESTRICTIONS_DBSCHEMA_REFERENTIAL_CONSTRAINTS         3
  1991. #define CRESTRICTIONS_DBSCHEMA_TABLE_CONSTRAINTS               7
  1992. #define CRESTRICTIONS_DBSCHEMA_COLUMN_DOMAIN_USAGE             4
  1993. #define CRESTRICTIONS_DBSCHEMA_INDEXES                         5
  1994. #define CRESTRICTIONS_DBSCHEMA_OBJECT_ACTIONS                  1
  1995. #define CRESTRICTIONS_DBSCHEMA_OBJECTS                         1
  1996. #define CRESTRICTIONS_DBSCHEMA_COLUMN_PRIVILEGES               6
  1997. #define CRESTRICTIONS_DBSCHEMA_TABLE_PRIVILEGES                5
  1998. #define CRESTRICTIONS_DBSCHEMA_USAGE_PRIVILEGES                6
  1999. #define CRESTRICTIONS_DBSCHEMA_PROCEDURES                      4
  2000. #define CRESTRICTIONS_DBSCHEMA_SCHEMATA                        3
  2001. #define CRESTRICTIONS_DBSCHEMA_SQL_LANGUAGES                   0
  2002. #define CRESTRICTIONS_DBSCHEMA_STATISTICS                      3
  2003. #define CRESTRICTIONS_DBSCHEMA_TABLES                          4
  2004. #define CRESTRICTIONS_DBSCHEMA_TRANSLATIONS                    3
  2005. #define CRESTRICTIONS_DBSCHEMA_PROVIDER_TYPES                  2
  2006. #define CRESTRICTIONS_DBSCHEMA_VIEWS                           3
  2007. #define CRESTRICTIONS_DBSCHEMA_VIEW_COLUMN_USAGE               3
  2008. #define CRESTRICTIONS_DBSCHEMA_VIEW_TABLE_USAGE                3
  2009. #define CRESTRICTIONS_DBSCHEMA_PROCEDURE_PARAMETERS            4
  2010. #define CRESTRICTIONS_DBSCHEMA_FOREIGN_KEYS                    6
  2011. #define CRESTRICTIONS_DBSCHEMA_PRIMARY_KEYS                    3
  2012. #define CRESTRICTIONS_DBSCHEMA_PROCEDURE_COLUMNS               4
  2013. //@@@+ V2.0
  2014. #if( OLEDBVER >= 0x0200 )
  2015. #define CRESTRICTIONS_DBSCHEMA_TABLES_INFO                     4
  2016. #define CRESTRICTIONS_MDSCHEMA_CUBES                           3
  2017. #define CRESTRICTIONS_MDSCHEMA_DIMENSIONS                      5
  2018. #define CRESTRICTIONS_MDSCHEMA_HIERARCHIES                     6
  2019. #define CRESTRICTIONS_MDSCHEMA_LEVELS                          7
  2020. #define CRESTRICTIONS_MDSCHEMA_MEASURES                        5
  2021. #define CRESTRICTIONS_MDSCHEMA_PROPERTIES                      9
  2022. #define CRESTRICTIONS_MDSCHEMA_MEMBERS                         12
  2023. #endif // OLEDBVER >= 0x0200
  2024. //@@@- V2.0
  2025. //@@@+ V2.1
  2026. #if( OLEDBVER >= 0x0210 )
  2027. #define CRESTRICTIONS_DBSCHEMA_TRUSTEE                   4
  2028. #endif // OLEDBVER >= 0x0210
  2029. //@@@- V2.1
  2030. //@@@+ V2.6
  2031. #if( OLEDBVER >= 0x0260 )
  2032. #define CRESTRICTIONS_DBSCHEMA_TABLE_STATISTICS                7
  2033. #define CRESTRICTIONS_DBSCHEMA_CHECK_CONSTRAINTS_BY_TABLE      6
  2034. #define CRESTRICTIONS_MDSCHEMA_FUNCTIONS   4
  2035. #define CRESTRICTIONS_MDSCHEMA_ACTIONS   8
  2036. #define CRESTRICTIONS_MDSCHEMA_COMMANDS       5
  2037. #define CRESTRICTIONS_MDSCHEMA_SETS   5
  2038. #endif // OLEDBVER >= 0x0260
  2039. //@@@- V2.6
  2040. EXTERN_C const IID IID_IDBSchemaRowset;
  2041. #if defined(__cplusplus) && !defined(CINTERFACE)
  2042.     
  2043.     MIDL_INTERFACE("0c733a7b-2a1c-11ce-ade5-00aa0044773d")
  2044.     IDBSchemaRowset : public IUnknown
  2045.     {
  2046.     public:
  2047.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetRowset( 
  2048.             /* [in] */ IUnknown *pUnkOuter,
  2049.             /* [in] */ REFGUID rguidSchema,
  2050.             /* [in] */ ULONG cRestrictions,
  2051.             /* [size_is][in] */ const VARIANT rgRestrictions[  ],
  2052.             /* [in] */ REFIID riid,
  2053.             /* [in] */ ULONG cPropertySets,
  2054.             /* [size_is][unique][out][in] */ DBPROPSET rgPropertySets[  ],
  2055.             /* [iid_is][out] */ IUnknown **ppRowset) = 0;
  2056.         
  2057.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetSchemas( 
  2058.             /* [out][in] */ ULONG *pcSchemas,
  2059.             /* [size_is][size_is][out] */ GUID **prgSchemas,
  2060.             /* [size_is][size_is][out] */ ULONG **prgRestrictionSupport) = 0;
  2061.         
  2062.     };
  2063.     
  2064. #else  /* C style interface */
  2065.     typedef struct IDBSchemaRowsetVtbl
  2066.     {
  2067.         BEGIN_INTERFACE
  2068.         
  2069.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2070.             IDBSchemaRowset * This,
  2071.             /* [in] */ REFIID riid,
  2072.             /* [iid_is][out] */ void **ppvObject);
  2073.         
  2074.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2075.             IDBSchemaRowset * This);
  2076.         
  2077.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2078.             IDBSchemaRowset * This);
  2079.         
  2080.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetRowset )( 
  2081.             IDBSchemaRowset * This,
  2082.             /* [in] */ IUnknown *pUnkOuter,
  2083.             /* [in] */ REFGUID rguidSchema,
  2084.             /* [in] */ ULONG cRestrictions,
  2085.             /* [size_is][in] */ const VARIANT rgRestrictions[  ],
  2086.             /* [in] */ REFIID riid,
  2087.             /* [in] */ ULONG cPropertySets,
  2088.             /* [size_is][unique][out][in] */ DBPROPSET rgPropertySets[  ],
  2089.             /* [iid_is][out] */ IUnknown **ppRowset);
  2090.         
  2091.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetSchemas )( 
  2092.             IDBSchemaRowset * This,
  2093.             /* [out][in] */ ULONG *pcSchemas,
  2094.             /* [size_is][size_is][out] */ GUID **prgSchemas,
  2095.             /* [size_is][size_is][out] */ ULONG **prgRestrictionSupport);
  2096.         
  2097.         END_INTERFACE
  2098.     } IDBSchemaRowsetVtbl;
  2099.     interface IDBSchemaRowset
  2100.     {
  2101.         CONST_VTBL struct IDBSchemaRowsetVtbl *lpVtbl;
  2102.     };
  2103.     
  2104. #ifdef COBJMACROS
  2105. #define IDBSchemaRowset_QueryInterface(This,riid,ppvObject)
  2106.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2107. #define IDBSchemaRowset_AddRef(This)
  2108.     (This)->lpVtbl -> AddRef(This)
  2109. #define IDBSchemaRowset_Release(This)
  2110.     (This)->lpVtbl -> Release(This)
  2111. #define IDBSchemaRowset_GetRowset(This,pUnkOuter,rguidSchema,cRestrictions,rgRestrictions,riid,cPropertySets,rgPropertySets,ppRowset)
  2112.     (This)->lpVtbl -> GetRowset(This,pUnkOuter,rguidSchema,cRestrictions,rgRestrictions,riid,cPropertySets,rgPropertySets,ppRowset)
  2113. #define IDBSchemaRowset_GetSchemas(This,pcSchemas,prgSchemas,prgRestrictionSupport)
  2114.     (This)->lpVtbl -> GetSchemas(This,pcSchemas,prgSchemas,prgRestrictionSupport)
  2115. #endif /* COBJMACROS */
  2116. #endif  /* C style interface */
  2117. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBSchemaRowset_RemoteGetRowset_Proxy( 
  2118.     IDBSchemaRowset * This,
  2119.     /* [in] */ IUnknown *pUnkOuter,
  2120.     /* [in] */ REFGUID rguidSchema,
  2121.     /* [in] */ ULONG cRestrictions,
  2122.     /* [size_is][unique][in] */ const VARIANT *rgRestrictions,
  2123.     /* [in] */ REFIID riid,
  2124.     /* [in] */ ULONG cPropertySets,
  2125.     /* [size_is][unique][in] */ DBPROPSET *rgPropertySets,
  2126.     /* [iid_is][out] */ IUnknown **ppRowset,
  2127.     /* [in] */ ULONG cTotalProps,
  2128.     /* [size_is][out] */ DBPROPSTATUS *rgPropStatus,
  2129.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  2130. void __RPC_STUB IDBSchemaRowset_RemoteGetRowset_Stub(
  2131.     IRpcStubBuffer *This,
  2132.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2133.     PRPC_MESSAGE _pRpcMessage,
  2134.     DWORD *_pdwStubPhase);
  2135. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDBSchemaRowset_RemoteGetSchemas_Proxy( 
  2136.     IDBSchemaRowset * This,
  2137.     /* [out][in] */ ULONG *pcSchemas,
  2138.     /* [size_is][size_is][out] */ GUID **prgSchemas,
  2139.     /* [size_is][size_is][out] */ ULONG **prgRestrictionSupport,
  2140.     /* [out] */ IErrorInfo **ppErrorInfoRem);
  2141. void __RPC_STUB IDBSchemaRowset_RemoteGetSchemas_Stub(
  2142.     IRpcStubBuffer *This,
  2143.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2144.     PRPC_MESSAGE _pRpcMessage,
  2145.     DWORD *_pdwStubPhase);
  2146. #endif  /* __IDBSchemaRowset_INTERFACE_DEFINED__ */
  2147. /* interface __MIDL_itf_oledb_0305 */
  2148. /* [local] */ 
  2149. //@@@+ V2.0
  2150. #if( OLEDBVER >= 0x0200 )
  2151. extern RPC_IF_HANDLE __MIDL_itf_oledb_0305_v0_0_c_ifspec;
  2152. extern RPC_IF_HANDLE __MIDL_itf_oledb_0305_v0_0_s_ifspec;
  2153. #ifndef __IMDDataset_INTERFACE_DEFINED__
  2154. #define __IMDDataset_INTERFACE_DEFINED__
  2155. /* interface IMDDataset */
  2156. /* [unique][uuid][object][local] */ 
  2157. EXTERN_C const IID IID_IMDDataset;
  2158. #if defined(__cplusplus) && !defined(CINTERFACE)
  2159.     
  2160.     MIDL_INTERFACE("a07cccd1-8148-11d0-87bb-00c04fc33942")
  2161.     IMDDataset : public IUnknown
  2162.     {
  2163.     public:
  2164.         virtual HRESULT STDMETHODCALLTYPE FreeAxisInfo( 
  2165.             /* [in] */ DBCOUNTITEM cAxes,
  2166.             /* [size_is][in] */ MDAXISINFO *rgAxisInfo) = 0;
  2167.         
  2168.         virtual HRESULT STDMETHODCALLTYPE GetAxisInfo( 
  2169.             /* [out][in] */ DBCOUNTITEM *pcAxes,
  2170.             /* [size_is][size_is][out] */ MDAXISINFO **prgAxisInfo) = 0;
  2171.         
  2172.         virtual HRESULT STDMETHODCALLTYPE GetAxisRowset( 
  2173.             /* [in] */ IUnknown *pUnkOuter,
  2174.             /* [in] */ DBCOUNTITEM iAxis,
  2175.             /* [in] */ REFIID riid,
  2176.             /* [in] */ ULONG cPropertySets,
  2177.             /* [size_is][out][in] */ DBPROPSET rgPropertySets[  ],
  2178.             /* [iid_is][out] */ IUnknown **ppRowset) = 0;
  2179.         
  2180.         virtual HRESULT STDMETHODCALLTYPE GetCellData( 
  2181.             /* [in] */ HACCESSOR hAccessor,
  2182.             /* [in] */ DBORDINAL ulStartCell,
  2183.             /* [in] */ DBORDINAL ulEndCell,
  2184.             /* [out] */ void *pData) = 0;
  2185.         
  2186.         virtual HRESULT STDMETHODCALLTYPE GetSpecification( 
  2187.             /* [in] */ REFIID riid,
  2188.             /* [iid_is][out] */ IUnknown **ppSpecification) = 0;
  2189.         
  2190.     };
  2191.     
  2192. #else  /* C style interface */
  2193.     typedef struct IMDDatasetVtbl
  2194.     {
  2195.         BEGIN_INTERFACE
  2196.         
  2197.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2198.             IMDDataset * This,
  2199.             /* [in] */ REFIID riid,
  2200.             /* [iid_is][out] */ void **ppvObject);
  2201.         
  2202.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2203.             IMDDataset * This);
  2204.         
  2205.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2206.             IMDDataset * This);
  2207.         
  2208.         HRESULT ( STDMETHODCALLTYPE *FreeAxisInfo )( 
  2209.             IMDDataset * This,
  2210.             /* [in] */ DBCOUNTITEM cAxes,
  2211.             /* [size_is][in] */ MDAXISINFO *rgAxisInfo);
  2212.         
  2213.         HRESULT ( STDMETHODCALLTYPE *GetAxisInfo )( 
  2214.             IMDDataset * This,
  2215.             /* [out][in] */ DBCOUNTITEM *pcAxes,
  2216.             /* [size_is][size_is][out] */ MDAXISINFO **prgAxisInfo);
  2217.         
  2218.         HRESULT ( STDMETHODCALLTYPE *GetAxisRowset )( 
  2219.             IMDDataset * This,
  2220.             /* [in] */ IUnknown *pUnkOuter,
  2221.             /* [in] */ DBCOUNTITEM iAxis,
  2222.             /* [in] */ REFIID riid,
  2223.             /* [in] */ ULONG cPropertySets,
  2224.             /* [size_is][out][in] */ DBPROPSET rgPropertySets[  ],
  2225.             /* [iid_is][out] */ IUnknown **ppRowset);
  2226.         
  2227.         HRESULT ( STDMETHODCALLTYPE *GetCellData )( 
  2228.             IMDDataset * This,
  2229.             /* [in] */ HACCESSOR hAccessor,
  2230.             /* [in] */ DBORDINAL ulStartCell,
  2231.             /* [in] */ DBORDINAL ulEndCell,
  2232.             /* [out] */ void *pData);
  2233.         
  2234.         HRESULT ( STDMETHODCALLTYPE *GetSpecification )( 
  2235.             IMDDataset * This,
  2236.             /* [in] */ REFIID riid,
  2237.             /* [iid_is][out] */ IUnknown **ppSpecification);
  2238.         
  2239.         END_INTERFACE
  2240.     } IMDDatasetVtbl;
  2241.     interface IMDDataset
  2242.     {
  2243.         CONST_VTBL struct IMDDatasetVtbl *lpVtbl;
  2244.     };
  2245.     
  2246. #ifdef COBJMACROS
  2247. #define IMDDataset_QueryInterface(This,riid,ppvObject)
  2248.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2249. #define IMDDataset_AddRef(This)
  2250.     (This)->lpVtbl -> AddRef(This)
  2251. #define IMDDataset_Release(This)
  2252.     (This)->lpVtbl -> Release(This)
  2253. #define IMDDataset_FreeAxisInfo(This,cAxes,rgAxisInfo)
  2254.     (This)->lpVtbl -> FreeAxisInfo(This,cAxes,rgAxisInfo)
  2255. #define IMDDataset_GetAxisInfo(This,pcAxes,prgAxisInfo)
  2256.     (This)->lpVtbl -> GetAxisInfo(This,pcAxes,prgAxisInfo)
  2257. #define IMDDataset_GetAxisRowset(This,pUnkOuter,iAxis,riid,cPropertySets,rgPropertySets,ppRowset)
  2258.     (This)->lpVtbl -> GetAxisRowset(This,pUnkOuter,iAxis,riid,cPropertySets,rgPropertySets,ppRowset)
  2259. #define IMDDataset_GetCellData(This,hAccessor,ulStartCell,ulEndCell,pData)
  2260.     (This)->lpVtbl -> GetCellData(This,hAccessor,ulStartCell,ulEndCell,pData)
  2261. #define IMDDataset_GetSpecification(This,riid,ppSpecification)
  2262.     (This)->lpVtbl -> GetSpecification(This,riid,ppSpecification)
  2263. #endif /* COBJMACROS */
  2264. #endif  /* C style interface */
  2265. HRESULT STDMETHODCALLTYPE IMDDataset_FreeAxisInfo_Proxy( 
  2266.     IMDDataset * This,
  2267.     /* [in] */ DBCOUNTITEM cAxes,
  2268.     /* [size_is][in] */ MDAXISINFO *rgAxisInfo);
  2269. void __RPC_STUB IMDDataset_FreeAxisInfo_Stub(
  2270.     IRpcStubBuffer *This,
  2271.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2272.     PRPC_MESSAGE _pRpcMessage,
  2273.     DWORD *_pdwStubPhase);
  2274. HRESULT STDMETHODCALLTYPE IMDDataset_GetAxisInfo_Proxy( 
  2275.     IMDDataset * This,
  2276.     /* [out][in] */ DBCOUNTITEM *pcAxes,
  2277.     /* [size_is][size_is][out] */ MDAXISINFO **prgAxisInfo);
  2278. void __RPC_STUB IMDDataset_GetAxisInfo_Stub(
  2279.     IRpcStubBuffer *This,
  2280.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2281.     PRPC_MESSAGE _pRpcMessage,
  2282.     DWORD *_pdwStubPhase);
  2283. HRESULT STDMETHODCALLTYPE IMDDataset_GetAxisRowset_Proxy( 
  2284.     IMDDataset * This,
  2285.     /* [in] */ IUnknown *pUnkOuter,
  2286.     /* [in] */ DBCOUNTITEM iAxis,
  2287.     /* [in] */ REFIID riid,
  2288.     /* [in] */ ULONG cPropertySets,
  2289.     /* [size_is][out][in] */ DBPROPSET rgPropertySets[  ],
  2290.     /* [iid_is][out] */ IUnknown **ppRowset);
  2291. void __RPC_STUB IMDDataset_GetAxisRowset_Stub(
  2292.     IRpcStubBuffer *This,
  2293.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2294.     PRPC_MESSAGE _pRpcMessage,
  2295.     DWORD *_pdwStubPhase);
  2296. HRESULT STDMETHODCALLTYPE IMDDataset_GetCellData_Proxy( 
  2297.     IMDDataset * This,
  2298.     /* [in] */ HACCESSOR hAccessor,
  2299.     /* [in] */ DBORDINAL ulStartCell,
  2300.     /* [in] */ DBORDINAL ulEndCell,
  2301.     /* [out] */ void *pData);
  2302. void __RPC_STUB IMDDataset_GetCellData_Stub(
  2303.     IRpcStubBuffer *This,
  2304.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2305.     PRPC_MESSAGE _pRpcMessage,
  2306.     DWORD *_pdwStubPhase);
  2307. HRESULT STDMETHODCALLTYPE IMDDataset_GetSpecification_Proxy( 
  2308.     IMDDataset * This,
  2309.     /* [in] */ REFIID riid,
  2310.     /* [iid_is][out] */ IUnknown **ppSpecification);
  2311. void __RPC_STUB IMDDataset_GetSpecification_Stub(
  2312.     IRpcStubBuffer *This,
  2313.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2314.     PRPC_MESSAGE _pRpcMessage,
  2315.     DWORD *_pdwStubPhase);
  2316. #endif  /* __IMDDataset_INTERFACE_DEFINED__ */
  2317. #ifndef __IMDFind_INTERFACE_DEFINED__
  2318. #define __IMDFind_INTERFACE_DEFINED__
  2319. /* interface IMDFind */
  2320. /* [unique][uuid][object][local] */ 
  2321. EXTERN_C const IID IID_IMDFind;
  2322. #if defined(__cplusplus) && !defined(CINTERFACE)
  2323.     
  2324.     MIDL_INTERFACE("a07cccd2-8148-11d0-87bb-00c04fc33942")
  2325.     IMDFind : public IUnknown
  2326.     {
  2327.     public:
  2328.         virtual HRESULT STDMETHODCALLTYPE FindCell( 
  2329.             /* [in] */ DBORDINAL ulStartingOrdinal,
  2330.             /* [in] */ DBCOUNTITEM cMembers,
  2331.             /* [size_is][in] */ LPCOLESTR *rgpwszMember,
  2332.             /* [out] */ DBORDINAL *pulCellOrdinal) = 0;
  2333.         
  2334.         virtual HRESULT STDMETHODCALLTYPE FindTuple( 
  2335.             /* [in] */ ULONG ulAxisIdentifier,
  2336.             /* [in] */ DBORDINAL ulStartingOrdinal,
  2337.             /* [in] */ DBCOUNTITEM cMembers,
  2338.             /* [size_is][in] */ LPCOLESTR *rgpwszMember,
  2339.             /* [out] */ ULONG *pulTupleOrdinal) = 0;
  2340.         
  2341.     };
  2342.     
  2343. #else  /* C style interface */
  2344.     typedef struct IMDFindVtbl
  2345.     {
  2346.         BEGIN_INTERFACE
  2347.         
  2348.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2349.             IMDFind * This,
  2350.             /* [in] */ REFIID riid,
  2351.             /* [iid_is][out] */ void **ppvObject);
  2352.         
  2353.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2354.             IMDFind * This);
  2355.         
  2356.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2357.             IMDFind * This);
  2358.         
  2359.         HRESULT ( STDMETHODCALLTYPE *FindCell )( 
  2360.             IMDFind * This,
  2361.             /* [in] */ DBORDINAL ulStartingOrdinal,
  2362.             /* [in] */ DBCOUNTITEM cMembers,
  2363.             /* [size_is][in] */ LPCOLESTR *rgpwszMember,
  2364.             /* [out] */ DBORDINAL *pulCellOrdinal);
  2365.         
  2366.         HRESULT ( STDMETHODCALLTYPE *FindTuple )( 
  2367.             IMDFind * This,
  2368.             /* [in] */ ULONG ulAxisIdentifier,
  2369.             /* [in] */ DBORDINAL ulStartingOrdinal,
  2370.             /* [in] */ DBCOUNTITEM cMembers,
  2371.             /* [size_is][in] */ LPCOLESTR *rgpwszMember,
  2372.             /* [out] */ ULONG *pulTupleOrdinal);
  2373.         
  2374.         END_INTERFACE
  2375.     } IMDFindVtbl;
  2376.     interface IMDFind
  2377.     {
  2378.         CONST_VTBL struct IMDFindVtbl *lpVtbl;
  2379.     };
  2380.     
  2381. #ifdef COBJMACROS
  2382. #define IMDFind_QueryInterface(This,riid,ppvObject)
  2383.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2384. #define IMDFind_AddRef(This)
  2385.     (This)->lpVtbl -> AddRef(This)
  2386. #define IMDFind_Release(This)
  2387.     (This)->lpVtbl -> Release(This)
  2388. #define IMDFind_FindCell(This,ulStartingOrdinal,cMembers,rgpwszMember,pulCellOrdinal)
  2389.     (This)->lpVtbl -> FindCell(This,ulStartingOrdinal,cMembers,rgpwszMember,pulCellOrdinal)
  2390. #define IMDFind_FindTuple(This,ulAxisIdentifier,ulStartingOrdinal,cMembers,rgpwszMember,pulTupleOrdinal)
  2391.     (This)->lpVtbl -> FindTuple(This,ulAxisIdentifier,ulStartingOrdinal,cMembers,rgpwszMember,pulTupleOrdinal)
  2392. #endif /* COBJMACROS */
  2393. #endif  /* C style interface */
  2394. HRESULT STDMETHODCALLTYPE IMDFind_FindCell_Proxy( 
  2395.     IMDFind * This,
  2396.     /* [in] */ DBORDINAL ulStartingOrdinal,
  2397.     /* [in] */ DBCOUNTITEM cMembers,
  2398.     /* [size_is][in] */ LPCOLESTR *rgpwszMember,
  2399.     /* [out] */ DBORDINAL *pulCellOrdinal);
  2400. void __RPC_STUB IMDFind_FindCell_Stub(
  2401.     IRpcStubBuffer *This,
  2402.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2403.     PRPC_MESSAGE _pRpcMessage,
  2404.     DWORD *_pdwStubPhase);
  2405. HRESULT STDMETHODCALLTYPE IMDFind_FindTuple_Proxy( 
  2406.     IMDFind * This,
  2407.     /* [in] */ ULONG ulAxisIdentifier,
  2408.     /* [in] */ DBORDINAL ulStartingOrdinal,
  2409.     /* [in] */ DBCOUNTITEM cMembers,
  2410.     /* [size_is][in] */ LPCOLESTR *rgpwszMember,
  2411.     /* [out] */ ULONG *pulTupleOrdinal);
  2412. void __RPC_STUB IMDFind_FindTuple_Stub(
  2413.     IRpcStubBuffer *This,
  2414.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2415.     PRPC_MESSAGE _pRpcMessage,
  2416.     DWORD *_pdwStubPhase);
  2417. #endif  /* __IMDFind_INTERFACE_DEFINED__ */
  2418. #ifndef __IMDRangeRowset_INTERFACE_DEFINED__
  2419. #define __IMDRangeRowset_INTERFACE_DEFINED__
  2420. /* interface IMDRangeRowset */
  2421. /* [unique][uuid][object][local] */ 
  2422. EXTERN_C const IID IID_IMDRangeRowset;
  2423. #if defined(__cplusplus) && !defined(CINTERFACE)
  2424.     
  2425.     MIDL_INTERFACE("0c733aa0-2a1c-11ce-ade5-00aa0044773d")
  2426.     IMDRangeRowset : public IUnknown
  2427.     {
  2428.     public:
  2429.         virtual HRESULT STDMETHODCALLTYPE GetRangeRowset( 
  2430.             /* [in] */ IUnknown *pUnkOuter,
  2431.             /* [in] */ DBORDINAL ulStartCell,
  2432.             /* [in] */ DBORDINAL ulEndCell,
  2433.             /* [in] */ REFIID riid,
  2434.             /* [in] */ ULONG cPropertySets,
  2435.             /* [size_is][out][in] */ DBPROPSET rgPropertySets[  ],
  2436.             /* [iid_is][out] */ IUnknown **ppRowset) = 0;
  2437.         
  2438.     };
  2439.     
  2440. #else  /* C style interface */
  2441.     typedef struct IMDRangeRowsetVtbl
  2442.     {
  2443.         BEGIN_INTERFACE
  2444.         
  2445.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2446.             IMDRangeRowset * This,
  2447.             /* [in] */ REFIID riid,
  2448.             /* [iid_is][out] */ void **ppvObject);
  2449.         
  2450.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2451.             IMDRangeRowset * This);
  2452.         
  2453.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2454.             IMDRangeRowset * This);
  2455.         
  2456.         HRESULT ( STDMETHODCALLTYPE *GetRangeRowset )( 
  2457.             IMDRangeRowset * This,
  2458.             /* [in] */ IUnknown *pUnkOuter,
  2459.             /* [in] */ DBORDINAL ulStartCell,
  2460.             /* [in] */ DBORDINAL ulEndCell,
  2461.             /* [in] */ REFIID riid,
  2462.             /* [in] */ ULONG cPropertySets,
  2463.             /* [size_is][out][in] */ DBPROPSET rgPropertySets[  ],
  2464.             /* [iid_is][out] */ IUnknown **ppRowset);
  2465.         
  2466.         END_INTERFACE
  2467.     } IMDRangeRowsetVtbl;
  2468.     interface IMDRangeRowset
  2469.     {
  2470.         CONST_VTBL struct IMDRangeRowsetVtbl *lpVtbl;
  2471.     };
  2472.     
  2473. #ifdef COBJMACROS
  2474. #define IMDRangeRowset_QueryInterface(This,riid,ppvObject)
  2475.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2476. #define IMDRangeRowset_AddRef(This)
  2477.     (This)->lpVtbl -> AddRef(This)
  2478. #define IMDRangeRowset_Release(This)
  2479.     (This)->lpVtbl -> Release(This)
  2480. #define IMDRangeRowset_GetRangeRowset(This,pUnkOuter,ulStartCell,ulEndCell,riid,cPropertySets,rgPropertySets,ppRowset)
  2481.     (This)->lpVtbl -> GetRangeRowset(This,pUnkOuter,ulStartCell,ulEndCell,riid,cPropertySets,rgPropertySets,ppRowset)
  2482. #endif /* COBJMACROS */
  2483. #endif  /* C style interface */
  2484. HRESULT STDMETHODCALLTYPE IMDRangeRowset_GetRangeRowset_Proxy( 
  2485.     IMDRangeRowset * This,
  2486.     /* [in] */ IUnknown *pUnkOuter,
  2487.     /* [in] */ DBORDINAL ulStartCell,
  2488.     /* [in] */ DBORDINAL ulEndCell,
  2489.     /* [in] */ REFIID riid,
  2490.     /* [in] */ ULONG cPropertySets,
  2491.     /* [size_is][out][in] */ DBPROPSET rgPropertySets[  ],
  2492.     /* [iid_is][out] */ IUnknown **ppRowset);
  2493. void __RPC_STUB IMDRangeRowset_GetRangeRowset_Stub(
  2494.     IRpcStubBuffer *This,
  2495.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2496.     PRPC_MESSAGE _pRpcMessage,
  2497.     DWORD *_pdwStubPhase);
  2498. #endif  /* __IMDRangeRowset_INTERFACE_DEFINED__ */
  2499. #ifndef __IAlterTable_INTERFACE_DEFINED__
  2500. #define __IAlterTable_INTERFACE_DEFINED__
  2501. /* interface IAlterTable */
  2502. /* [unique][uuid][object][local] */ 
  2503. EXTERN_C const IID IID_IAlterTable;
  2504. #if defined(__cplusplus) && !defined(CINTERFACE)
  2505.     
  2506.     MIDL_INTERFACE("0c733aa5-2a1c-11ce-ade5-00aa0044773d")
  2507.     IAlterTable : public IUnknown
  2508.     {
  2509.     public:
  2510.         virtual HRESULT STDMETHODCALLTYPE AlterColumn( 
  2511.             /* [in] */ DBID *pTableId,
  2512.             /* [in] */ DBID *pColumnId,
  2513.             /* [in] */ DBCOLUMNDESCFLAGS dwColumnDescFlags,
  2514.             /* [in] */ DBCOLUMNDESC *pColumnDesc) = 0;
  2515.         
  2516.         virtual HRESULT STDMETHODCALLTYPE AlterTable( 
  2517.             /* [in] */ DBID *pTableId,
  2518.             /* [in] */ DBID *pNewTableId,
  2519.             /* [in] */ ULONG cPropertySets,
  2520.             /* [size_is][out][in] */ DBPROPSET rgPropertySets[  ]) = 0;
  2521.         
  2522.     };
  2523.     
  2524. #else  /* C style interface */
  2525.     typedef struct IAlterTableVtbl
  2526.     {
  2527.         BEGIN_INTERFACE
  2528.         
  2529.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2530.             IAlterTable * This,
  2531.             /* [in] */ REFIID riid,
  2532.             /* [iid_is][out] */ void **ppvObject);
  2533.         
  2534.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2535.             IAlterTable * This);
  2536.         
  2537.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2538.             IAlterTable * This);
  2539.         
  2540.         HRESULT ( STDMETHODCALLTYPE *AlterColumn )( 
  2541.             IAlterTable * This,
  2542.             /* [in] */ DBID *pTableId,
  2543.             /* [in] */ DBID *pColumnId,
  2544.             /* [in] */ DBCOLUMNDESCFLAGS dwColumnDescFlags,
  2545.             /* [in] */ DBCOLUMNDESC *pColumnDesc);
  2546.         
  2547.         HRESULT ( STDMETHODCALLTYPE *AlterTable )( 
  2548.             IAlterTable * This,
  2549.             /* [in] */ DBID *pTableId,
  2550.             /* [in] */ DBID *pNewTableId,
  2551.             /* [in] */ ULONG cPropertySets,
  2552.             /* [size_is][out][in] */ DBPROPSET rgPropertySets[  ]);
  2553.         
  2554.         END_INTERFACE
  2555.     } IAlterTableVtbl;
  2556.     interface IAlterTable
  2557.     {
  2558.         CONST_VTBL struct IAlterTableVtbl *lpVtbl;
  2559.     };
  2560.     
  2561. #ifdef COBJMACROS
  2562. #define IAlterTable_QueryInterface(This,riid,ppvObject)
  2563.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2564. #define IAlterTable_AddRef(This)
  2565.     (This)->lpVtbl -> AddRef(This)
  2566. #define IAlterTable_Release(This)
  2567.     (This)->lpVtbl -> Release(This)
  2568. #define IAlterTable_AlterColumn(This,pTableId,pColumnId,dwColumnDescFlags,pColumnDesc)
  2569.     (This)->lpVtbl -> AlterColumn(This,pTableId,pColumnId,dwColumnDescFlags,pColumnDesc)
  2570. #define IAlterTable_AlterTable(This,pTableId,pNewTableId,cPropertySets,rgPropertySets)
  2571.     (This)->lpVtbl -> AlterTable(This,pTableId,pNewTableId,cPropertySets,rgPropertySets)
  2572. #endif /* COBJMACROS */
  2573. #endif  /* C style interface */
  2574. HRESULT STDMETHODCALLTYPE IAlterTable_AlterColumn_Proxy( 
  2575.     IAlterTable * This,
  2576.     /* [in] */ DBID *pTableId,
  2577.     /* [in] */ DBID *pColumnId,
  2578.     /* [in] */ DBCOLUMNDESCFLAGS dwColumnDescFlags,
  2579.     /* [in] */ DBCOLUMNDESC *pColumnDesc);
  2580. void __RPC_STUB IAlterTable_AlterColumn_Stub(
  2581.     IRpcStubBuffer *This,
  2582.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2583.     PRPC_MESSAGE _pRpcMessage,
  2584.     DWORD *_pdwStubPhase);
  2585. HRESULT STDMETHODCALLTYPE IAlterTable_AlterTable_Proxy( 
  2586.     IAlterTable * This,
  2587.     /* [in] */ DBID *pTableId,
  2588.     /* [in] */ DBID *pNewTableId,
  2589.     /* [in] */ ULONG cPropertySets,
  2590.     /* [size_is][out][in] */ DBPROPSET rgPropertySets[  ]);
  2591. void __RPC_STUB IAlterTable_AlterTable_Stub(
  2592.     IRpcStubBuffer *This,
  2593.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2594.     PRPC_MESSAGE _pRpcMessage,
  2595.     DWORD *_pdwStubPhase);
  2596. #endif  /* __IAlterTable_INTERFACE_DEFINED__ */
  2597. #ifndef __IAlterIndex_INTERFACE_DEFINED__
  2598. #define __IAlterIndex_INTERFACE_DEFINED__