msdasql.h 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295
  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 _MSDASQL_H_
  7. #define _MSDASQL_H_
  8. #undef MSDASQLDECLSPEC
  9. #define MSDASQLDECLSPEC __declspec(selectany)
  10. #ifdef DBINITCONSTANTS
  11. extern const MSDASQLDECLSPEC GUID IID_ISQLRequestDiagFields = { 0x228972f0,0xb5ff,0x11d0,{ 0x8a,0x80,0x0,0xc0,0x4f,0xd6,0x11,0xcd } };
  12. extern const MSDASQLDECLSPEC GUID IID_ISQLGetDiagField = { 0x228972f1,0xb5ff,0x11d0,{ 0x8a,0x80,0x0,0xc0,0x4f,0xd6,0x11,0xcd } };
  13. extern const MSDASQLDECLSPEC GUID IID_IRowsetChangeExtInfo = {0x0C733A8F,0x2A1C,0x11CE,{0xAD,0xE5,0x00,0xAA,0x00,0x44,0x77,0x3D}};
  14. extern const MSDASQLDECLSPEC GUID CLSID_MSDASQL = {0xC8B522CB,0x5CF3,0x11CE,{0xAD,0xE5,0x00,0xAA,0x00,0x44,0x77,0x3D}};
  15. extern const MSDASQLDECLSPEC GUID CLSID_MSDASQL_ENUMERATOR = {0xC8B522CD,0x5CF3,0x11CE,{0xAD,0xE5,0x00,0xAA,0x00,0x44,0x77,0x3D}};
  16. #else
  17. extern const GUID IID_ISQLRequestDiagFields;
  18. extern const GUID IID_ISQLGetDiagField;
  19. extern const GUID IID_IRowsetChangeExtInfo;
  20. extern const GUID CLSID_MSDASQL;
  21. extern const GUID CLSID_MSDASQL_ENUMERATOR;
  22. #endif
  23. #ifdef DBINITCONSTANTS
  24. extern const MSDASQLDECLSPEC GUID DBPROPSET_PROVIDERDATASOURCEINFO = {0x497c60e0,0x7123,0x11cf,{0xb1,0x71,0x0,0xaa,0x0,0x57,0x59,0x9e}};
  25. extern const MSDASQLDECLSPEC GUID DBPROPSET_PROVIDERROWSET = {0x497c60e1,0x7123,0x11cf,{0xb1,0x71,0x0,0xaa,0x0,0x57,0x59,0x9e}};
  26. extern const MSDASQLDECLSPEC GUID DBPROPSET_PROVIDERDBINIT = {0x497c60e2,0x7123,0x11cf,{0xb1,0x71,0x0,0xaa,0x0,0x57,0x59,0x9e}};
  27. extern const MSDASQLDECLSPEC GUID DBPROPSET_PROVIDERSTMTATTR = {0x497c60e3,0x7123,0x11cf,{0xb1,0x71,0x0,0xaa,0x0,0x57,0x59,0x9e}};
  28. extern const MSDASQLDECLSPEC GUID DBPROPSET_PROVIDERCONNATTR = {0x497c60e4,0x7123,0x11cf,{0xb1,0x71,0x0,0xaa,0x0,0x57,0x59,0x9e}};
  29. #else
  30. extern const GUID DBPROPSET_PROVIDERDATASOURCEINFO;
  31. extern const GUID DBPROPSET_PROVIDERROWSET;
  32. extern const GUID DBPROPSET_PROVIDERDBINIT;
  33. extern const GUID DBPROPSET_PROVIDERSTMTATTR;
  34. extern const GUID DBPROPSET_PROVIDERCONNATTR;
  35. #endif
  36. #define KAGPROP_QUERYBASEDUPDATES 2
  37. #define KAGPROP_MARSHALLABLE 3
  38. #define KAGPROP_POSITIONONNEWROW 4
  39. #define KAGPROP_IRowsetChangeExtInfo 5
  40. #define KAGPROP_CURSOR 6
  41. #define KAGPROP_CONCURRENCY 7
  42. #define KAGPROP_BLOBSONFOCURSOR 8
  43. #define KAGPROP_INCLUDENONEXACT 9
  44. #define KAGPROP_FORCESSFIREHOSEMODE 10
  45. #define KAGPROP_FORCENOPARAMETERREBIND 11
  46. #define KAGPROP_FORCENOPREPARE 12
  47. #define KAGPROP_FORCENOREEXECUTE 13
  48. #define KAGPROP_ACCESSIBLEPROCEDURES 2
  49. #define KAGPROP_ACCESSIBLETABLES 3
  50. #define KAGPROP_ODBCSQLOPTIEF 4
  51. #define KAGPROP_OJCAPABILITY 5
  52. #define KAGPROP_PROCEDURES 6
  53. #define KAGPROP_DRIVERNAME 7
  54. #define KAGPROP_DRIVERVER 8
  55. #define KAGPROP_DRIVERODBCVER 9
  56. #define KAGPROP_LIKEESCAPECLAUSE 10
  57. #define KAGPROP_SPECIALCHARACTERS 11
  58. #define KAGPROP_MAXCOLUMNSINGROUPBY 12
  59. #define KAGPROP_MAXCOLUMNSININDEX 13
  60. #define KAGPROP_MAXCOLUMNSINORDERBY 14
  61. #define KAGPROP_MAXCOLUMNSINSELECT 15
  62. #define KAGPROP_MAXCOLUMNSINTABLE 16
  63. #define KAGPROP_NUMERICFUNCTIONS 17
  64. #define KAGPROP_ODBCSQLCONFORMANCE 18
  65. #define KAGPROP_OUTERJOINS 19
  66. #define KAGPROP_STRINGFUNCTIONS 20
  67. #define KAGPROP_SYSTEMFUNCTIONS 21
  68. #define KAGPROP_TIMEDATEFUNCTIONS 22
  69. #define KAGPROP_FILEUSAGE 23
  70. #define KAGPROP_ACTIVESTATEMENTS 24
  71. #define KAGPROP_AUTH_TRUSTEDCONNECTION 2
  72. #define KAGPROP_AUTH_SERVERINTEGRATED 3
  73. #define KAGPROPVAL_CONCUR_ROWVER 0x00000001
  74. #define KAGPROPVAL_CONCUR_VALUES 0x00000002
  75. #define KAGPROPVAL_CONCUR_LOCK 0x00000004
  76. #define KAGPROPVAL_CONCUR_READ_ONLY 0x00000008
  77. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  78. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  79. #endif
  80. #include "rpc.h"
  81. #include "rpcndr.h"
  82. #ifndef __RPCNDR_H_VERSION__
  83. #error This stub requires an updated version of <rpcndr.h>
  84. #endif
  85. #ifndef COM_NO_WINDOWS_H
  86. #include "windows.h"
  87. #include "ole2.h"
  88. #endif
  89. #ifndef __rstcei_h__
  90. #define __rstcei_h__
  91. #ifndef __IRowsetChangeExtInfo_FWD_DEFINED__
  92. #define __IRowsetChangeExtInfo_FWD_DEFINED__
  93. typedef struct IRowsetChangeExtInfo IRowsetChangeExtInfo;
  94. #endif
  95. #include "oledb.h"
  96. #ifdef __cplusplus
  97. extern "C" {
  98. #endif
  99. #ifndef __MIDL_user_allocate_free_DEFINED__
  100. #define __MIDL_user_allocate_free_DEFINED__
  101. void *__RPC_API MIDL_user_allocate(size_t);
  102. void __RPC_API MIDL_user_free(void *);
  103. #endif
  104. #ifndef __IRowsetChangeExtInfo_INTERFACE_DEFINED__
  105. #define __IRowsetChangeExtInfo_INTERFACE_DEFINED__
  106. EXTERN_C const IID IID_IRowsetChangeExtInfo;
  107. #if defined(__cplusplus) && !defined(CINTERFACE)
  108. struct IRowsetChangeExtInfo : public IUnknown {
  109. public:
  110. virtual HRESULT WINAPI GetOriginalRow(HCHAPTER hReserved,HROW hRow,HROW *phRowOriginal) = 0;
  111. virtual HRESULT WINAPI GetPendingColumns(HCHAPTER hReserved,HROW hRow,ULONG cColumnOrdinals,const ULONG rgiOrdinals[],DBPENDINGSTATUS rgColumnStatus[]) = 0;
  112. };
  113. #else
  114. typedef struct IRowsetChangeExtInfoVtbl {
  115. BEGIN_INTERFACE
  116. HRESULT (WINAPI *QueryInterface)(IRowsetChangeExtInfo *This,REFIID riid,void **ppvObject);
  117. ULONG (WINAPI *AddRef)(IRowsetChangeExtInfo *This);
  118. ULONG (WINAPI *Release)(IRowsetChangeExtInfo *This);
  119. HRESULT (WINAPI *GetOriginalRow)(IRowsetChangeExtInfo *This,HCHAPTER hReserved,HROW hRow,HROW *phRowOriginal);
  120. HRESULT (WINAPI *GetPendingColumns)(IRowsetChangeExtInfo *This,HCHAPTER hReserved,HROW hRow,ULONG cColumnOrdinals,const ULONG rgiOrdinals[],DBPENDINGSTATUS rgColumnStatus[]);
  121. END_INTERFACE
  122. } IRowsetChangeExtInfoVtbl;
  123. struct IRowsetChangeExtInfo {
  124. CONST_VTBL struct IRowsetChangeExtInfoVtbl *lpVtbl;
  125. };
  126. #ifdef COBJMACROS
  127. #define IRowsetChangeExtInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  128. #define IRowsetChangeExtInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
  129. #define IRowsetChangeExtInfo_Release(This) (This)->lpVtbl->Release(This)
  130. #define IRowsetChangeExtInfo_GetOriginalRow(This,hReserved,hRow,phRowOriginal) (This)->lpVtbl->GetOriginalRow(This,hReserved,hRow,phRowOriginal)
  131. #define IRowsetChangeExtInfo_GetPendingColumns(This,hReserved,hRow,cColumnOrdinals,rgiOrdinals,rgColumnStatus) (This)->lpVtbl->GetPendingColumns(This,hReserved,hRow,cColumnOrdinals,rgiOrdinals,rgColumnStatus)
  132. #endif
  133. #endif
  134. HRESULT WINAPI IRowsetChangeExtInfo_GetOriginalRow_Proxy(IRowsetChangeExtInfo *This,HCHAPTER hReserved,HROW hRow,HROW *phRowOriginal);
  135. void __RPC_STUB IRowsetChangeExtInfo_GetOriginalRow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  136. HRESULT WINAPI IRowsetChangeExtInfo_GetPendingColumns_Proxy(IRowsetChangeExtInfo *This,HCHAPTER hReserved,HROW hRow,ULONG cColumnOrdinals,const ULONG rgiOrdinals[],DBPENDINGSTATUS rgColumnStatus[]);
  137. void __RPC_STUB IRowsetChangeExtInfo_GetPendingColumns_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  138. #endif
  139. #ifdef __cplusplus
  140. }
  141. #endif
  142. #endif
  143. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  144. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  145. #endif
  146. #include "rpc.h"
  147. #include "rpcndr.h"
  148. #ifndef __RPCNDR_H_VERSION__
  149. #error This stub requires an updated version of <rpcndr.h>
  150. #endif
  151. #ifndef COM_NO_WINDOWS_H
  152. #include "windows.h"
  153. #include "ole2.h"
  154. #endif
  155. #ifndef __kagdiag_h__
  156. #define __kagdiag_h__
  157. #ifndef __ISQLRequestDiagFields_FWD_DEFINED__
  158. #define __ISQLRequestDiagFields_FWD_DEFINED__
  159. typedef struct ISQLRequestDiagFields ISQLRequestDiagFields;
  160. #endif
  161. #ifndef __ISQLGetDiagField_FWD_DEFINED__
  162. #define __ISQLGetDiagField_FWD_DEFINED__
  163. typedef struct ISQLGetDiagField ISQLGetDiagField;
  164. #endif
  165. #include "unknwn.h"
  166. #include "oaidl.h"
  167. #ifdef __cplusplus
  168. extern "C" {
  169. #endif
  170. #ifndef __MIDL_user_allocate_free_DEFINED__
  171. #define __MIDL_user_allocate_free_DEFINED__
  172. void *__RPC_API MIDL_user_allocate(size_t);
  173. void __RPC_API MIDL_user_free(void *);
  174. #endif
  175. enum KAGREQDIAGFLAGSENUM {
  176. KAGREQDIAGFLAGS_HEADER = 0x1,KAGREQDIAGFLAGS_RECORD = 0x2
  177. };
  178. typedef struct tagKAGREQDIAG {
  179. ULONG ulDiagFlags;
  180. VARTYPE vt;
  181. SHORT sDiagField;
  182. } KAGREQDIAG;
  183. typedef struct tagKAGGETDIAG {
  184. ULONG ulSize;
  185. VARIANTARG vDiagInfo;
  186. SHORT sDiagField;
  187. } KAGGETDIAG;
  188. extern RPC_IF_HANDLE __MIDL_itf_kagdiag_0000_v0_0_c_ifspec;
  189. extern RPC_IF_HANDLE __MIDL_itf_kagdiag_0000_v0_0_s_ifspec;
  190. #ifndef __ISQLRequestDiagFields_INTERFACE_DEFINED__
  191. #define __ISQLRequestDiagFields_INTERFACE_DEFINED__
  192. EXTERN_C const IID IID_ISQLRequestDiagFields;
  193. #if defined(__cplusplus) && !defined(CINTERFACE)
  194. struct ISQLRequestDiagFields : public IUnknown {
  195. public:
  196. virtual HRESULT WINAPI RequestDiagFields(ULONG cDiagFields,KAGREQDIAG rgDiagFields[]) = 0;
  197. };
  198. #else
  199. typedef struct ISQLRequestDiagFieldsVtbl {
  200. BEGIN_INTERFACE
  201. HRESULT (WINAPI *QueryInterface)(ISQLRequestDiagFields *This,REFIID riid,void **ppvObject);
  202. ULONG (WINAPI *AddRef)(ISQLRequestDiagFields *This);
  203. ULONG (WINAPI *Release)(ISQLRequestDiagFields *This);
  204. HRESULT (WINAPI *RequestDiagFields)(ISQLRequestDiagFields *This,ULONG cDiagFields,KAGREQDIAG rgDiagFields[]);
  205. END_INTERFACE
  206. } ISQLRequestDiagFieldsVtbl;
  207. struct ISQLRequestDiagFields {
  208. CONST_VTBL struct ISQLRequestDiagFieldsVtbl *lpVtbl;
  209. };
  210. #ifdef COBJMACROS
  211. #define ISQLRequestDiagFields_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  212. #define ISQLRequestDiagFields_AddRef(This) (This)->lpVtbl->AddRef(This)
  213. #define ISQLRequestDiagFields_Release(This) (This)->lpVtbl->Release(This)
  214. #define ISQLRequestDiagFields_RequestDiagFields(This,cDiagFields,rgDiagFields) (This)->lpVtbl->RequestDiagFields(This,cDiagFields,rgDiagFields)
  215. #endif
  216. #endif
  217. HRESULT WINAPI ISQLRequestDiagFields_RequestDiagFields_Proxy(ISQLRequestDiagFields *This,ULONG cDiagFields,KAGREQDIAG rgDiagFields[]);
  218. void __RPC_STUB ISQLRequestDiagFields_RequestDiagFields_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  219. #endif
  220. #ifndef __ISQLGetDiagField_INTERFACE_DEFINED__
  221. #define __ISQLGetDiagField_INTERFACE_DEFINED__
  222. EXTERN_C const IID IID_ISQLGetDiagField;
  223. #if defined(__cplusplus) && !defined(CINTERFACE)
  224. struct ISQLGetDiagField : public IUnknown {
  225. public:
  226. virtual HRESULT WINAPI GetDiagField(KAGGETDIAG *pDiagInfo) = 0;
  227. };
  228. #else
  229. typedef struct ISQLGetDiagFieldVtbl {
  230. BEGIN_INTERFACE
  231. HRESULT (WINAPI *QueryInterface)(ISQLGetDiagField *This,REFIID riid,void **ppvObject);
  232. ULONG (WINAPI *AddRef)(ISQLGetDiagField *This);
  233. ULONG (WINAPI *Release)(ISQLGetDiagField *This);
  234. HRESULT (WINAPI *GetDiagField)(ISQLGetDiagField *This,KAGGETDIAG *pDiagInfo);
  235. END_INTERFACE
  236. } ISQLGetDiagFieldVtbl;
  237. struct ISQLGetDiagField {
  238. CONST_VTBL struct ISQLGetDiagFieldVtbl *lpVtbl;
  239. };
  240. #ifdef COBJMACROS
  241. #define ISQLGetDiagField_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  242. #define ISQLGetDiagField_AddRef(This) (This)->lpVtbl->AddRef(This)
  243. #define ISQLGetDiagField_Release(This) (This)->lpVtbl->Release(This)
  244. #define ISQLGetDiagField_GetDiagField(This,pDiagInfo) (This)->lpVtbl->GetDiagField(This,pDiagInfo)
  245. #endif
  246. #endif
  247. HRESULT WINAPI ISQLGetDiagField_GetDiagField_Proxy(ISQLGetDiagField *This,KAGGETDIAG *pDiagInfo);
  248. void __RPC_STUB ISQLGetDiagField_GetDiagField_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  249. #endif
  250. ULONG __RPC_API VARIANT_UserSize(ULONG *,ULONG,VARIANT *);
  251. unsigned char *__RPC_API VARIANT_UserMarshal(ULONG *,unsigned char *,VARIANT *);
  252. unsigned char *__RPC_API VARIANT_UserUnmarshal(ULONG *,unsigned char *,VARIANT *);
  253. void __RPC_API VARIANT_UserFree(ULONG *,VARIANT *);
  254. #ifdef __cplusplus
  255. }
  256. #endif
  257. #endif
  258. #endif