home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 32 / IOPROG_32.ISO / SOFT / SqlEval7 / devtools / include / msdadc.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-04-09  |  7.4 KB  |  237 lines

  1. //--------------------------------------------------------------------
  2. // Microsoft OLE DB Implementation 
  3. // (C) Copyright 1994 - 1996 By Microsoft Corporation.
  4. //
  5. // @doc
  6. //
  7. // @module MSDADC.H | Microsoft Data Access Data Conversion Library
  8. //--------------------------------------------------------------------
  9.  
  10. //@@MIDL_FILE_HEADING(  )
  11. #include "rpc.h"
  12. #include "rpcndr.h"
  13. #ifndef COM_NO_WINDOWS_H
  14. #include "windows.h"
  15. #include "ole2.h"
  16. #endif /*COM_NO_WINDOWS_H*/
  17.  
  18. #ifndef __msdadc_h__
  19. #define __msdadc_h__
  20.  
  21. #ifdef __cplusplus
  22. extern "C"{
  23. #endif 
  24.  
  25. /* Forward Declarations */ 
  26.  
  27. #ifndef __IDataConvert_FWD_DEFINED__
  28. #define __IDataConvert_FWD_DEFINED__
  29. typedef interface IDataConvert IDataConvert;
  30. #endif     /* __IDataConvert_FWD_DEFINED__ */
  31.  
  32. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  33. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  34.  
  35. #ifndef __IDataConvert_INTERFACE_DEFINED__
  36. #define __IDataConvert_INTERFACE_DEFINED__
  37.  
  38. /****************************************
  39.  * Generated header for interface: IDataConvert
  40.  * at Sun Aug 04 22:49:25 1996
  41.  * using MIDL 3.00.15
  42.  ****************************************/
  43. /* [unique][uuid][object][local] */ 
  44.  
  45. DEFINE_GUID(CLSID_OLEDB_CONVERSIONLIBRARY,0xc8b522d1L,0x5cf3,0x11ce,0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d);
  46. DEFINE_GUID(IID_IDataConvert,0x0c733a8dL,0x2a1c,0x11ce,0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d);
  47.  
  48. typedef DWORD DBDATACONVERT;
  49.  
  50.  
  51. enum DBDATACONVERTENUM
  52.     {    DBDATACONVERT_DEFAULT    = 0,
  53.     DBDATACONVERT_SETDATABEHAVIOR    = 0x1
  54.     };
  55.  
  56. #if defined(__cplusplus) && !defined(CINTERFACE)
  57.     
  58.     interface IDataConvert : public IUnknown
  59.     {
  60.     public:
  61.         virtual HRESULT STDMETHODCALLTYPE DataConvert( 
  62.             /* [in] */ DBTYPE wSrcType,
  63.             /* [in] */ DBTYPE wDstType,
  64.             /* [in] */ ULONG cbSrcLength,
  65.             /* [out][in] */ ULONG __RPC_FAR *pcbDstLength,
  66.             /* [size_is][in] */ void __RPC_FAR *pSrc,
  67.             /* [size_is][out] */ void __RPC_FAR *pDst,
  68.             /* [in] */ ULONG cbDstMaxLength,
  69.             /* [in] */ DBSTATUS dbsSrcStatus,
  70.             /* [out] */ DBSTATUS __RPC_FAR *pdbsStatus,
  71.             /* [in] */ BYTE bPrecision,
  72.             /* [in] */ BYTE bScale,
  73.             /* [in] */ DBDATACONVERT dwFlags) = 0;
  74.         
  75.         virtual HRESULT STDMETHODCALLTYPE CanConvert( 
  76.             /* [in] */ DBTYPE wSrcType,
  77.             /* [in] */ DBTYPE wDstType) = 0;
  78.         
  79.         virtual HRESULT STDMETHODCALLTYPE GetConversionSize( 
  80.             /* [in] */ DBTYPE wSrcType,
  81.             /* [in] */ DBTYPE wDstType,
  82.             /* [in] */ ULONG __RPC_FAR *pcbSrcLength,
  83.             /* [out] */ ULONG __RPC_FAR *pcbDstLength,
  84.             /* [size_is][in] */ void __RPC_FAR *pSrc) = 0;
  85.         
  86.     };
  87.     
  88. #else     /* C style interface */
  89.  
  90.     typedef struct IDataConvertVtbl
  91.     {
  92.         BEGIN_INTERFACE
  93.         
  94.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  95.             IDataConvert __RPC_FAR * This,
  96.             /* [in] */ REFIID riid,
  97.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  98.         
  99.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  100.             IDataConvert __RPC_FAR * This);
  101.         
  102.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  103.             IDataConvert __RPC_FAR * This);
  104.         
  105.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DataConvert )( 
  106.             IDataConvert __RPC_FAR * This,
  107.             /* [in] */ DBTYPE wSrcType,
  108.             /* [in] */ DBTYPE wDstType,
  109.             /* [in] */ ULONG cbSrcLength,
  110.             /* [out][in] */ ULONG __RPC_FAR *pcbDstLength,
  111.             /* [size_is][in] */ void __RPC_FAR *pSrc,
  112.             /* [size_is][out] */ void __RPC_FAR *pDst,
  113.             /* [in] */ ULONG cbDstMaxLength,
  114.             /* [in] */ DBSTATUS dbsSrcStatus,
  115.             /* [out] */ DBSTATUS __RPC_FAR *pdbsStatus,
  116.             /* [in] */ BYTE bPrecision,
  117.             /* [in] */ BYTE bScale,
  118.             /* [in] */ DBDATACONVERT dwFlags);
  119.         
  120.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CanConvert )( 
  121.             IDataConvert __RPC_FAR * This,
  122.             /* [in] */ DBTYPE wSrcType,
  123.             /* [in] */ DBTYPE wDstType);
  124.         
  125.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetConversionSize )( 
  126.             IDataConvert __RPC_FAR * This,
  127.             /* [in] */ DBTYPE wSrcType,
  128.             /* [in] */ DBTYPE wDstType,
  129.             /* [in] */ ULONG __RPC_FAR *pcbSrcLength,
  130.             /* [out] */ ULONG __RPC_FAR *pcbDstLength,
  131.             /* [size_is][in] */ void __RPC_FAR *pSrc);
  132.         
  133.         END_INTERFACE
  134.     } IDataConvertVtbl;
  135.  
  136.     interface IDataConvert
  137.     {
  138.         CONST_VTBL struct IDataConvertVtbl __RPC_FAR *lpVtbl;
  139.     };
  140.  
  141.     
  142.  
  143. #ifdef COBJMACROS
  144.  
  145.  
  146. #define IDataConvert_QueryInterface(This,riid,ppvObject)    \
  147.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  148.  
  149. #define IDataConvert_AddRef(This)    \
  150.     (This)->lpVtbl -> AddRef(This)
  151.  
  152. #define IDataConvert_Release(This)    \
  153.     (This)->lpVtbl -> Release(This)
  154.  
  155.  
  156. #define IDataConvert_DataConvert(This,wSrcType,wDstType,cbSrcLength,pcbDstLength,pSrc,pDst,cbDstMaxLength,dbsSrcStatus,pdbsStatus,bPrecision,bScale,dwFlags)    \
  157.     (This)->lpVtbl -> DataConvert(This,wSrcType,wDstType,cbSrcLength,pcbDstLength,pSrc,pDst,cbDstMaxLength,dbsSrcStatus,pdbsStatus,bPrecision,bScale,dwFlags)
  158.  
  159. #define IDataConvert_CanConvert(This,wSrcType,wDstType)    \
  160.     (This)->lpVtbl -> CanConvert(This,wSrcType,wDstType)
  161.  
  162. #define IDataConvert_GetConversionSize(This,wSrcType,wDstType,pcbSrcLength,pcbDstLength,pSrc)    \
  163.     (This)->lpVtbl -> GetConversionSize(This,wSrcType,wDstType,pcbSrcLength,pcbDstLength,pSrc)
  164.  
  165. #endif /* COBJMACROS */
  166.  
  167.  
  168. #endif     /* C style interface */
  169.  
  170.  
  171.  
  172. HRESULT STDMETHODCALLTYPE IDataConvert_DataConvert_Proxy( 
  173.     IDataConvert __RPC_FAR * This,
  174.     /* [in] */ DBTYPE wSrcType,
  175.     /* [in] */ DBTYPE wDstType,
  176.     /* [in] */ ULONG cbSrcLength,
  177.     /* [out][in] */ ULONG __RPC_FAR *pcbDstLength,
  178.     /* [size_is][in] */ void __RPC_FAR *pSrc,
  179.     /* [size_is][out] */ void __RPC_FAR *pDst,
  180.     /* [in] */ ULONG cbDstMaxLength,
  181.     /* [in] */ DBSTATUS dbsSrcStatus,
  182.     /* [out] */ DBSTATUS __RPC_FAR *pdbsStatus,
  183.     /* [in] */ BYTE bPrecision,
  184.     /* [in] */ BYTE bScale,
  185.     /* [in] */ DBDATACONVERT dwFlags);
  186.  
  187.  
  188. void __RPC_STUB IDataConvert_DataConvert_Stub(
  189.     IRpcStubBuffer *This,
  190.     IRpcChannelBuffer *_pRpcChannelBuffer,
  191.     PRPC_MESSAGE _pRpcMessage,
  192.     DWORD *_pdwStubPhase);
  193.  
  194.  
  195. HRESULT STDMETHODCALLTYPE IDataConvert_CanConvert_Proxy( 
  196.     IDataConvert __RPC_FAR * This,
  197.     /* [in] */ DBTYPE wSrcType,
  198.     /* [in] */ DBTYPE wDstType);
  199.  
  200.  
  201. void __RPC_STUB IDataConvert_CanConvert_Stub(
  202.     IRpcStubBuffer *This,
  203.     IRpcChannelBuffer *_pRpcChannelBuffer,
  204.     PRPC_MESSAGE _pRpcMessage,
  205.     DWORD *_pdwStubPhase);
  206.  
  207.  
  208. HRESULT STDMETHODCALLTYPE IDataConvert_GetConversionSize_Proxy( 
  209.     IDataConvert __RPC_FAR * This,
  210.     /* [in] */ DBTYPE wSrcType,
  211.     /* [in] */ DBTYPE wDstType,
  212.     /* [in] */ ULONG __RPC_FAR *pcbSrcLength,
  213.     /* [out] */ ULONG __RPC_FAR *pcbDstLength,
  214.     /* [size_is][in] */ void __RPC_FAR *pSrc);
  215.  
  216.  
  217. void __RPC_STUB IDataConvert_GetConversionSize_Stub(
  218.     IRpcStubBuffer *This,
  219.     IRpcChannelBuffer *_pRpcChannelBuffer,
  220.     PRPC_MESSAGE _pRpcMessage,
  221.     DWORD *_pdwStubPhase);
  222.  
  223.  
  224.  
  225. #endif     /* __IDataConvert_INTERFACE_DEFINED__ */
  226.  
  227.  
  228. /* Additional Prototypes for ALL interfaces */
  229.  
  230. /* end of Additional Prototypes */
  231.  
  232. #ifdef __cplusplus
  233. }
  234. #endif
  235.  
  236. #endif
  237.