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