1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef __REQUIRED_RPCNDR_H_VERSION__
7 #define __REQUIRED_RPCNDR_H_VERSION__ 440
8 #endif
9 
10 #include "rpc.h"
11 #include "rpcndr.h"
12 
13 #ifndef __RPCNDR_H_VERSION__
14 #error This stub requires an updated version of <rpcndr.h>
15 #endif
16 
17 #ifndef COM_NO_WINDOWS_H
18 #include "windows.h"
19 #include "ole2.h"
20 #endif
21 
22 #ifndef __msdadc_h__
23 #define __msdadc_h__
24 
25 #ifndef __IDataConvert_FWD_DEFINED__
26 #define __IDataConvert_FWD_DEFINED__
27 typedef struct IDataConvert IDataConvert;
28 #endif
29 
30 #ifndef __IDCInfo_FWD_DEFINED__
31 #define __IDCInfo_FWD_DEFINED__
32 typedef struct IDCInfo IDCInfo;
33 #endif
34 
35 #include "oaidl.h"
36 #include "ocidl.h"
37 #include "oledb.h"
38 
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42 
43 #ifndef __MIDL_user_allocate_free_DEFINED__
44 #define __MIDL_user_allocate_free_DEFINED__
45   void *__RPC_API MIDL_user_allocate(size_t);
46   void __RPC_API MIDL_user_free(void *);
47 #endif
48 
49 #include <pshpack8.h>
50 #undef OLEDBDECLSPEC
51 #define OLEDBDECLSPEC __declspec(selectany)
52 
53   extern RPC_IF_HANDLE __MIDL_itf_msdadc_0000_v0_0_c_ifspec;
54   extern RPC_IF_HANDLE __MIDL_itf_msdadc_0000_v0_0_s_ifspec;
55 
56 #ifndef __IDataConvert_INTERFACE_DEFINED__
57 #define __IDataConvert_INTERFACE_DEFINED__
58 
59   typedef DWORD DBDATACONVERT;
60 
61   enum DBDATACONVERTENUM {
62     DBDATACONVERT_DEFAULT = 0,DBDATACONVERT_SETDATABEHAVIOR = 0x1,DBDATACONVERT_LENGTHFROMNTS = 0x2,DBDATACONVERT_DSTISFIXEDLENGTH = 0x4,
63     DBDATACONVERT_DECIMALSCALE = 0x8
64   };
65 
66   EXTERN_C const IID IID_IDataConvert;
67 #if defined(__cplusplus) && !defined(CINTERFACE)
68   struct IDataConvert : public IUnknown {
69   public:
70     virtual HRESULT WINAPI DataConvert(DBTYPE wSrcType,DBTYPE wDstType,DBLENGTH cbSrcLength,DBLENGTH *pcbDstLength,void *pSrc,void *pDst,DBLENGTH cbDstMaxLength,DBSTATUS dbsSrcStatus,DBSTATUS *pdbsStatus,BYTE bPrecision,BYTE bScale,DBDATACONVERT dwFlags) = 0;
71     virtual HRESULT WINAPI CanConvert(DBTYPE wSrcType,DBTYPE wDstType) = 0;
72     virtual HRESULT WINAPI GetConversionSize(DBTYPE wSrcType,DBTYPE wDstType,DBLENGTH *pcbSrcLength,DBLENGTH *pcbDstLength,void *pSrc) = 0;
73   };
74 #else
75   typedef struct IDataConvertVtbl {
76     BEGIN_INTERFACE
77       HRESULT (WINAPI *QueryInterface)(IDataConvert *This,REFIID riid,void **ppvObject);
78       ULONG (WINAPI *AddRef)(IDataConvert *This);
79       ULONG (WINAPI *Release)(IDataConvert *This);
80       HRESULT (WINAPI *DataConvert)(IDataConvert *This,DBTYPE wSrcType,DBTYPE wDstType,DBLENGTH cbSrcLength,DBLENGTH *pcbDstLength,void *pSrc,void *pDst,DBLENGTH cbDstMaxLength,DBSTATUS dbsSrcStatus,DBSTATUS *pdbsStatus,BYTE bPrecision,BYTE bScale,DBDATACONVERT dwFlags);
81       HRESULT (WINAPI *CanConvert)(IDataConvert *This,DBTYPE wSrcType,DBTYPE wDstType);
82       HRESULT (WINAPI *GetConversionSize)(IDataConvert *This,DBTYPE wSrcType,DBTYPE wDstType,DBLENGTH *pcbSrcLength,DBLENGTH *pcbDstLength,void *pSrc);
83     END_INTERFACE
84   } IDataConvertVtbl;
85   struct IDataConvert {
86     CONST_VTBL struct IDataConvertVtbl *lpVtbl;
87   };
88 #ifdef COBJMACROS
89 #define IDataConvert_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
90 #define IDataConvert_AddRef(This) (This)->lpVtbl->AddRef(This)
91 #define IDataConvert_Release(This) (This)->lpVtbl->Release(This)
92 #define IDataConvert_DataConvert(This,wSrcType,wDstType,cbSrcLength,pcbDstLength,pSrc,pDst,cbDstMaxLength,dbsSrcStatus,pdbsStatus,bPrecision,bScale,dwFlags) (This)->lpVtbl->DataConvert(This,wSrcType,wDstType,cbSrcLength,pcbDstLength,pSrc,pDst,cbDstMaxLength,dbsSrcStatus,pdbsStatus,bPrecision,bScale,dwFlags)
93 #define IDataConvert_CanConvert(This,wSrcType,wDstType) (This)->lpVtbl->CanConvert(This,wSrcType,wDstType)
94 #define IDataConvert_GetConversionSize(This,wSrcType,wDstType,pcbSrcLength,pcbDstLength,pSrc) (This)->lpVtbl->GetConversionSize(This,wSrcType,wDstType,pcbSrcLength,pcbDstLength,pSrc)
95 #endif
96 #endif
97   HRESULT WINAPI IDataConvert_DataConvert_Proxy(IDataConvert *This,DBTYPE wSrcType,DBTYPE wDstType,DBLENGTH cbSrcLength,DBLENGTH *pcbDstLength,void *pSrc,void *pDst,DBLENGTH cbDstMaxLength,DBSTATUS dbsSrcStatus,DBSTATUS *pdbsStatus,BYTE bPrecision,BYTE bScale,DBDATACONVERT dwFlags);
98   void __RPC_STUB IDataConvert_DataConvert_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
99   HRESULT WINAPI IDataConvert_CanConvert_Proxy(IDataConvert *This,DBTYPE wSrcType,DBTYPE wDstType);
100   void __RPC_STUB IDataConvert_CanConvert_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
101   HRESULT WINAPI IDataConvert_GetConversionSize_Proxy(IDataConvert *This,DBTYPE wSrcType,DBTYPE wDstType,DBLENGTH *pcbSrcLength,DBLENGTH *pcbDstLength,void *pSrc);
102   void __RPC_STUB IDataConvert_GetConversionSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
103 #endif
104 
105 #ifndef __IDCInfo_INTERFACE_DEFINED__
106 #define __IDCInfo_INTERFACE_DEFINED__
107   typedef DWORD DCINFOTYPE;
108 
109   enum DCINFOTYPEENUM {
110     DCINFOTYPE_VERSION = 1
111   };
112   typedef struct tagDCINFO {
113     DCINFOTYPE eInfoType;
114     VARIANT vData;
115   } DCINFO;
116 
117   EXTERN_C const IID IID_IDCInfo;
118 #if defined(__cplusplus) && !defined(CINTERFACE)
119   struct IDCInfo : public IUnknown {
120   public:
121     virtual HRESULT WINAPI GetInfo(ULONG cInfo,DCINFOTYPE rgeInfoType[],DCINFO **prgInfo) = 0;
122     virtual HRESULT WINAPI SetInfo(ULONG cInfo,DCINFO rgInfo[]) = 0;
123   };
124 #else
125   typedef struct IDCInfoVtbl {
126     BEGIN_INTERFACE
127       HRESULT (WINAPI *QueryInterface)(IDCInfo *This,REFIID riid,void **ppvObject);
128       ULONG (WINAPI *AddRef)(IDCInfo *This);
129       ULONG (WINAPI *Release)(IDCInfo *This);
130       HRESULT (WINAPI *GetInfo)(IDCInfo *This,ULONG cInfo,DCINFOTYPE rgeInfoType[],DCINFO **prgInfo);
131       HRESULT (WINAPI *SetInfo)(IDCInfo *This,ULONG cInfo,DCINFO rgInfo[]);
132     END_INTERFACE
133   } IDCInfoVtbl;
134   struct IDCInfo {
135     CONST_VTBL struct IDCInfoVtbl *lpVtbl;
136   };
137 #ifdef COBJMACROS
138 #define IDCInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
139 #define IDCInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
140 #define IDCInfo_Release(This) (This)->lpVtbl->Release(This)
141 #define IDCInfo_GetInfo(This,cInfo,rgeInfoType,prgInfo) (This)->lpVtbl->GetInfo(This,cInfo,rgeInfoType,prgInfo)
142 #define IDCInfo_SetInfo(This,cInfo,rgInfo) (This)->lpVtbl->SetInfo(This,cInfo,rgInfo)
143 #endif
144 #endif
145   HRESULT WINAPI IDCInfo_GetInfo_Proxy(IDCInfo *This,ULONG cInfo,DCINFOTYPE rgeInfoType[],DCINFO **prgInfo);
146   void __RPC_STUB IDCInfo_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
147   HRESULT WINAPI IDCInfo_SetInfo_Proxy(IDCInfo *This,ULONG cInfo,DCINFO rgInfo[]);
148   void __RPC_STUB IDCInfo_SetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
149 #endif
150 
151   extern const GUID OLEDBDECLSPEC IID_IDataConvert = { 0x0c733a8d,0x2a1c,0x11ce,{ 0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d } };
152   extern const GUID OLEDBDECLSPEC IID_IDCInfo = { 0x0c733a9c,0x2a1c,0x11ce,{ 0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d } };
153 
154 #include <poppack.h>
155 
156   extern RPC_IF_HANDLE __MIDL_itf_msdadc_0360_v0_0_c_ifspec;
157   extern RPC_IF_HANDLE __MIDL_itf_msdadc_0360_v0_0_s_ifspec;
158 
159   ULONG __RPC_API VARIANT_UserSize(ULONG *,ULONG,VARIANT *);
160   unsigned char *__RPC_API VARIANT_UserMarshal(ULONG *,unsigned char *,VARIANT *);
161   unsigned char *__RPC_API VARIANT_UserUnmarshal(ULONG *,unsigned char *,VARIANT *);
162   void __RPC_API VARIANT_UserFree(ULONG *,VARIANT *);
163 
164 #ifdef __cplusplus
165 }
166 #endif
167 #endif
168