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 13extern const MSDASQLDECLSPEC GUID IID_ISQLRequestDiagFields = { 0x228972f0,0xb5ff,0x11d0,{ 0x8a,0x80,0x0,0xc0,0x4f,0xd6,0x11,0xcd } }; 14extern const MSDASQLDECLSPEC GUID IID_ISQLGetDiagField = { 0x228972f1,0xb5ff,0x11d0,{ 0x8a,0x80,0x0,0xc0,0x4f,0xd6,0x11,0xcd } }; 15extern const MSDASQLDECLSPEC GUID IID_IRowsetChangeExtInfo = {0x0C733A8F,0x2A1C,0x11CE,{0xAD,0xE5,0x00,0xAA,0x00,0x44,0x77,0x3D}}; 16extern const MSDASQLDECLSPEC GUID CLSID_MSDASQL = {0xC8B522CB,0x5CF3,0x11CE,{0xAD,0xE5,0x00,0xAA,0x00,0x44,0x77,0x3D}}; 17extern const MSDASQLDECLSPEC GUID CLSID_MSDASQL_ENUMERATOR = {0xC8B522CD,0x5CF3,0x11CE,{0xAD,0xE5,0x00,0xAA,0x00,0x44,0x77,0x3D}}; 18#else 19extern const GUID IID_ISQLRequestDiagFields; 20extern const GUID IID_ISQLGetDiagField; 21extern const GUID IID_IRowsetChangeExtInfo; 22extern const GUID CLSID_MSDASQL; 23extern const GUID CLSID_MSDASQL_ENUMERATOR; 24#endif 25 26#ifdef DBINITCONSTANTS 27extern const MSDASQLDECLSPEC GUID DBPROPSET_PROVIDERDATASOURCEINFO = {0x497c60e0,0x7123,0x11cf,{0xb1,0x71,0x0,0xaa,0x0,0x57,0x59,0x9e}}; 28extern const MSDASQLDECLSPEC GUID DBPROPSET_PROVIDERROWSET = {0x497c60e1,0x7123,0x11cf,{0xb1,0x71,0x0,0xaa,0x0,0x57,0x59,0x9e}}; 29extern const MSDASQLDECLSPEC GUID DBPROPSET_PROVIDERDBINIT = {0x497c60e2,0x7123,0x11cf,{0xb1,0x71,0x0,0xaa,0x0,0x57,0x59,0x9e}}; 30extern const MSDASQLDECLSPEC GUID DBPROPSET_PROVIDERSTMTATTR = {0x497c60e3,0x7123,0x11cf,{0xb1,0x71,0x0,0xaa,0x0,0x57,0x59,0x9e}}; 31extern const MSDASQLDECLSPEC GUID DBPROPSET_PROVIDERCONNATTR = {0x497c60e4,0x7123,0x11cf,{0xb1,0x71,0x0,0xaa,0x0,0x57,0x59,0x9e}}; 32#else 33extern const GUID DBPROPSET_PROVIDERDATASOURCEINFO; 34extern const GUID DBPROPSET_PROVIDERROWSET; 35extern const GUID DBPROPSET_PROVIDERDBINIT; 36extern const GUID DBPROPSET_PROVIDERSTMTATTR; 37extern 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__ 106typedef struct IRowsetChangeExtInfo IRowsetChangeExtInfo; 107#endif 108 109#include "oledb.h" 110 111#ifdef __cplusplus 112extern "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__ 184typedef struct ISQLRequestDiagFields ISQLRequestDiagFields; 185#endif 186 187#ifndef __ISQLGetDiagField_FWD_DEFINED__ 188#define __ISQLGetDiagField_FWD_DEFINED__ 189typedef struct ISQLGetDiagField ISQLGetDiagField; 190#endif 191 192#include "unknwn.h" 193#include "oaidl.h" 194 195#ifdef __cplusplus 196extern "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