PageRenderTime 50ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 1ms

/mingw-w64-headers/include/sqloledb.h

https://gitlab.com/ubuntu-trusty/mingw-w64
C Header | 444 lines | 380 code | 59 blank | 5 comment | 4 complexity | 25eb204853454ba1f2bb2a73b364878a MD5 | raw file
  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 _SQLOLEDB_H_
  7. #define _SQLOLEDB_H_
  8. #include <oledb.h>
  9. #ifdef DBINITCONSTANTS
  10. extern const GUID CLSID_SQLOLEDB = {0xc7ff16c,0x38e3,0x11d0,{0x97,0xab,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
  11. extern const GUID CLSID_SQLOLEDB_ERROR = {0xc0932c62,0x38e5,0x11d0,{0x97,0xab,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
  12. extern const GUID CLSID_SQLOLEDB_ENUMERATOR = {0xdfa22b8e,0xe68d,0x11d0,{0x97,0xe4,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
  13. #else
  14. extern const GUID CLSID_SQLOLEDB;
  15. extern const GUID CLSID_SQLOLEDB_ERROR;
  16. extern const GUID CLSID_SQLOLEDB_ENUMERATOR;
  17. #endif
  18. #ifdef DBINITCONSTANTS
  19. extern const GUID IID_ISQLServerErrorInfo = {0x5cf4ca12,0xef21,0x11d0,{0x97,0xe7,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
  20. extern const GUID IID_IRowsetFastLoad = {0x5cf4ca13,0xef21,0x11d0,{0x97,0xe7,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
  21. extern const GUID IID_IUMSInitialize = {0x5cf4ca14,0xef21,0x11d0,{0x97,0xe7,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
  22. extern const GUID IID_ISchemaLock = {0x4c2389fb,0x2511,0x11d4,{0xb2,0x58,0x0,0xc0,0x4f,0x79,0x71,0xce}};
  23. extern const GUID DBGUID_MSSQLXML = {0x5d531cb2,0xe6ed,0x11d2,{0xb2,0x52,0x00,0xc0,0x4f,0x68,0x1b,0x71}};
  24. extern const GUID DBGUID_XPATH = {0xec2a4293,0xe898,0x11d2,{0xb1,0xb7,0x00,0xc0,0x4f,0x68,0x0c,0x56}};
  25. extern const IID IID_ICommandStream = {0x0c733abf,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  26. extern const IID IID_ISQLXMLHelper = {0xd22a7678,0xf860,0x40cd,{0xa5,0x67,0x15,0x63,0xde,0xb4,0x6d,0x49}};
  27. #else
  28. extern const GUID IID_ISQLServerErrorInfo;
  29. extern const GUID IID_IRowsetFastLoad;
  30. extern const GUID IID_IUMSInitialize;
  31. extern const GUID IID_ISchemaLock;
  32. extern const GUID DBGUID_MSSQLXML;
  33. extern const GUID DBGUID_XPATH;
  34. extern const IID IID_ISQLXMLHelper;
  35. #endif
  36. #ifdef DBINITCONSTANTS
  37. extern const GUID DBSCHEMA_LINKEDSERVERS = {0x9093caf4,0x2eac,0x11d1,{0x98,0x9,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
  38. #else
  39. extern const GUID DBSCHEMA_LINKEDSERVERS;
  40. #endif
  41. #define CRESTRICTIONS_DBSCHEMA_LINKEDSERVERS 1
  42. #ifdef DBINITCONSTANTS
  43. extern const GUID DBPROPSET_SQLSERVERDATASOURCE = {0x28efaee4,0x2d2c,0x11d1,{0x98,0x7,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
  44. extern const GUID DBPROPSET_SQLSERVERDATASOURCEINFO = {0xdf10cb94,0x35f6,0x11d2,{0x9c,0x54,0x0,0xc0,0x4f,0x79,0x71,0xd3}};
  45. extern const GUID DBPROPSET_SQLSERVERDBINIT = {0x5cf4ca10,0xef21,0x11d0,{0x97,0xe7,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
  46. extern const GUID DBPROPSET_SQLSERVERROWSET = {0x5cf4ca11,0xef21,0x11d0,{0x97,0xe7,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
  47. extern const GUID DBPROPSET_SQLSERVERSESSION = {0x28efaee5,0x2d2c,0x11d1,{0x98,0x7,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
  48. extern const GUID DBPROPSET_SQLSERVERCOLUMN = {0x3b63fb5e,0x3fbb,0x11d3,{0x9f,0x29,0x0,0xc0,0x4f,0x8e,0xe9,0xdc}};
  49. extern const GUID DBPROPSET_SQLSERVERSTREAM = {0x9f79c073,0x8a6d,0x4bca,{0xa8,0xa8,0xc9,0xb7,0x9a,0x9b,0x96,0x2d}};
  50. #else
  51. extern const GUID DBPROPSET_SQLSERVERDATASOURCE;
  52. extern const GUID DBPROPSET_SQLSERVERDATASOURCEINFO;
  53. extern const GUID DBPROPSET_SQLSERVERDBINIT;
  54. extern const GUID DBPROPSET_SQLSERVERROWSET;
  55. extern const GUID DBPROPSET_SQLSERVERSESSION;
  56. extern const GUID DBPROPSET_SQLSERVERCOLUMN;
  57. extern const GUID DBPROPSET_SQLSERVERSTREAM;
  58. #endif
  59. #ifdef DBINITCONSTANTS
  60. extern const DBID DBCOLUMN_SS_COMPFLAGS = {{0x627bd890,0xed54,0x11d2,{0xb9,0x94,0x0,0xc0,0x4f,0x8c,0xa8,0x2c}},DBKIND_GUID_PROPID,(LPOLESTR)100};
  61. extern const DBID DBCOLUMN_SS_SORTID = {{0x627bd890,0xed54,0x11d2,{0xb9,0x94,0x0,0xc0,0x4f,0x8c,0xa8,0x2c}},DBKIND_GUID_PROPID,(LPOLESTR)101};
  62. extern const DBID DBCOLUMN_BASETABLEINSTANCE = {{0x627bd890,0xed54,0x11d2,{0xb9,0x94,0x0,0xc0,0x4f,0x8c,0xa8,0x2c}},DBKIND_GUID_PROPID,(LPOLESTR)102};
  63. extern const DBID DBCOLUMN_SS_TDSCOLLATION = {{0x627bd890,0xed54,0x11d2,{0xb9,0x94,0x0,0xc0,0x4f,0x8c,0xa8,0x2c}},DBKIND_GUID_PROPID,(LPOLESTR)103};
  64. #else
  65. extern const DBID DBCOLUMN_SS_COMPFLAGS;
  66. extern const DBID DBCOLUMN_SS_SORTID;
  67. extern const DBID DBCOLUMN_BASETABLEINSTANCE;
  68. extern const DBID DBCOLUMN_SS_TDSCOLLATION;
  69. #endif
  70. #if (OLEDBVER==0x0210)
  71. #define DBPROP_INIT_GENERALTIMEOUT __MSABI_LONG(0x11c)
  72. #endif
  73. #define SSPROP_ENABLEFASTLOAD 2
  74. #define SSPROP_UNICODELCID 2
  75. #define SSPROP_UNICODECOMPARISONSTYLE 3
  76. #define SSPROP_COLUMNLEVELCOLLATION 4
  77. #define SSPROP_CHARACTERSET 5
  78. #define SSPROP_SORTORDER 6
  79. #define SSPROP_CURRENTCOLLATION 7
  80. #define SSPROP_INIT_CURRENTLANGUAGE 4
  81. #define SSPROP_INIT_NETWORKADDRESS 5
  82. #define SSPROP_INIT_NETWORKLIBRARY 6
  83. #define SSPROP_INIT_USEPROCFORPREP 7
  84. #define SSPROP_INIT_AUTOTRANSLATE 8
  85. #define SSPROP_INIT_PACKETSIZE 9
  86. #define SSPROP_INIT_APPNAME 10
  87. #define SSPROP_INIT_WSID 11
  88. #define SSPROP_INIT_FILENAME 12
  89. #define SSPROP_INIT_ENCRYPT 13
  90. #define SSPROP_AUTH_REPL_SERVER_NAME 14
  91. #define SSPROP_INIT_TAGCOLUMNCOLLATION 15
  92. #define SSPROPVAL_USEPROCFORPREP_OFF 0
  93. #define SSPROPVAL_USEPROCFORPREP_ON 1
  94. #define SSPROPVAL_USEPROCFORPREP_ON_DROP 2
  95. #define SSPROP_QUOTEDCATALOGNAMES 2
  96. #define SSPROP_ALLOWNATIVEVARIANT 3
  97. #define SSPROP_SQLXMLXPROGID 4
  98. #define SSPROP_MAXBLOBLENGTH 8
  99. #define SSPROP_FASTLOADOPTIONS 9
  100. #define SSPROP_FASTLOADKEEPNULLS 10
  101. #define SSPROP_FASTLOADKEEPIDENTITY 11
  102. #define SSPROP_CURSORAUTOFETCH 12
  103. #define SSPROP_DEFERPREPARE 13
  104. #define SSPROP_IRowsetFastLoad 14
  105. #define SSPROP_COL_COLLATIONNAME 14
  106. #define SSPROP_STREAM_MAPPINGSCHEMA 15
  107. #define SSPROP_STREAM_XSL 16
  108. #define SSPROP_STREAM_BASEPATH 17
  109. #define SSPROP_STREAM_COMMANDTYPE 18
  110. #define SSPROP_STREAM_XMLROOT 19
  111. #define SSPROP_STREAM_FLAGS 20
  112. #define SSPROP_STREAM_CONTENTTYPE 23
  113. #define STREAM_FLAGS_DISALLOW_URL 0x00000001
  114. #define STREAM_FLAGS_DISALLOW_ABSOLUTE_PATH 0x00000002
  115. #define STREAM_FLAGS_DISALLOW_QUERY 0x00000004
  116. #define STREAM_FLAGS_DONTCACHEMAPPINGSCHEMA 0x00000008
  117. #define STREAM_FLAGS_DONTCACHETEMPLATE 0x00000010
  118. #define STREAM_FLAGS_DONTCACHEXSL 0x00000020
  119. #define STREAM_FLAGS_DISALLOW_UPDATEGRAMS 0x00000040
  120. #define STREAM_FLAGS_RESERVED 0xffff0000
  121. #define SSPROPVAL_COMMANDTYPE_REGULAR 21
  122. #define SSPROPVAL_COMMANDTYPE_BULKLOAD 22
  123. #define V_SS_VT(X) ((X)->vt)
  124. #define V_SS_UNION(X,Y) ((X)->Y)
  125. #define V_SS_UI1(X) V_SS_UNION(X,bTinyIntVal)
  126. #define V_SS_I2(X) V_SS_UNION(X,sShortIntVal)
  127. #define V_SS_I4(X) V_SS_UNION(X,lIntVal)
  128. #define V_SS_I8(X) V_SS_UNION(X,llBigIntVal)
  129. #define V_SS_R4(X) V_SS_UNION(X,fltRealVal)
  130. #define V_SS_R8(X) V_SS_UNION(X,dblFloatVal)
  131. #define V_SS_UI4(X) V_SS_UNION(X,ulVal)
  132. #define V_SS_MONEY(X) V_SS_UNION(X,cyMoneyVal)
  133. #define V_SS_SMALLMONEY(X) V_SS_UNION(X,cyMoneyVal)
  134. #define V_SS_WSTRING(X) V_SS_UNION(X,NCharVal)
  135. #define V_SS_WVARSTRING(X) V_SS_UNION(X,NCharVal)
  136. #define V_SS_STRING(X) V_SS_UNION(X,CharVal)
  137. #define V_SS_VARSTRING(X) V_SS_UNION(X,CharVal)
  138. #define V_SS_BIT(X) V_SS_UNION(X,fBitVal)
  139. #define V_SS_GUID(X) V_SS_UNION(X,rgbGuidVal)
  140. #define V_SS_NUMERIC(X) V_SS_UNION(X,numNumericVal)
  141. #define V_SS_DECIMAL(X) V_SS_UNION(X,numNumericVal)
  142. #define V_SS_BINARY(X) V_SS_UNION(X,BinaryVal)
  143. #define V_SS_VARBINARY(X) V_SS_UNION(X,BinaryVal)
  144. #define V_SS_DATETIME(X) V_SS_UNION(X,tsDateTimeVal)
  145. #define V_SS_SMALLDATETIME(X) V_SS_UNION(X,tsDateTimeVal)
  146. #define V_SS_UNKNOWN(X) V_SS_UNION(X,UnknownType)
  147. #define V_SS_IMAGE(X) V_SS_UNION(X,ImageVal)
  148. #define V_SS_TEXT(X) V_SS_UNION(X,TextVal)
  149. #define V_SS_NTEXT(X) V_SS_UNION(X,NTextVal)
  150. #define DBTYPE_SQLVARIANT 144
  151. enum SQLVARENUM {
  152. VT_SS_EMPTY = DBTYPE_EMPTY,VT_SS_NULL = DBTYPE_NULL,VT_SS_UI1 = DBTYPE_UI1,VT_SS_I2 = DBTYPE_I2,VT_SS_I4 = DBTYPE_I4,VT_SS_I8 = DBTYPE_I8,
  153. VT_SS_R4 = DBTYPE_R4,VT_SS_R8 = DBTYPE_R8,VT_SS_MONEY = DBTYPE_CY,VT_SS_SMALLMONEY = 200,VT_SS_WSTRING = 201,VT_SS_WVARSTRING = 202,
  154. VT_SS_STRING =203,VT_SS_VARSTRING =204,VT_SS_BIT =DBTYPE_BOOL,VT_SS_GUID =DBTYPE_GUID,VT_SS_NUMERIC =DBTYPE_NUMERIC,VT_SS_DECIMAL =205,
  155. VT_SS_DATETIME = DBTYPE_DBTIMESTAMP,VT_SS_SMALLDATETIME =206,VT_SS_BINARY =207,VT_SS_VARBINARY =208,VT_SS_UNKNOWN = 209
  156. };
  157. typedef unsigned short SSVARTYPE;
  158. struct SSVARIANT {
  159. SSVARTYPE vt;
  160. DWORD dwReserved1;
  161. DWORD dwReserved2;
  162. __C89_NAMELESS union {
  163. BYTE bTinyIntVal;
  164. SHORT sShortIntVal;
  165. LONG lIntVal;
  166. LONGLONG llBigIntVal;
  167. FLOAT fltRealVal;
  168. DOUBLE dblFloatVal;
  169. CY cyMoneyVal;
  170. struct _NCharVal {
  171. SHORT sActualLength;
  172. SHORT sMaxLength;
  173. WCHAR *pwchNCharVal;
  174. BYTE rgbReserved[5];
  175. DWORD dwReserved;
  176. WCHAR *pwchReserved;
  177. } NCharVal;
  178. struct _CharVal {
  179. SHORT sActualLength;
  180. SHORT sMaxLength;
  181. CHAR *pchCharVal;
  182. BYTE rgbReserved[5];
  183. DWORD dwReserved;
  184. WCHAR *pwchReserved;
  185. } CharVal;
  186. VARIANT_BOOL fBitVal;
  187. BYTE rgbGuidVal [16];
  188. DB_NUMERIC numNumericVal;
  189. struct _BinaryVal {
  190. SHORT sActualLength;
  191. SHORT sMaxLength;
  192. BYTE *prgbBinaryVal;
  193. DWORD dwReserved;
  194. } BinaryVal;
  195. DBTIMESTAMP tsDateTimeVal;
  196. struct _UnknownType {
  197. DWORD dwActualLength;
  198. BYTE rgMetadata [16];
  199. BYTE *pUnknownData;
  200. } UnknownType;
  201. struct _BLOBType {
  202. DBOBJECT dbobj;
  203. IUnknown *pUnk;
  204. } BLOBType;
  205. };
  206. };
  207. #if defined(__cplusplus) && !defined(CINTERFACE)
  208. struct IUMSInitialize : public IUnknown {
  209. public:
  210. virtual HRESULT WINAPI Initialize (VOID *pUMS) = 0;
  211. };
  212. struct IUMS {
  213. public:
  214. virtual VOID WINAPI SqlUmsSuspend (ULONG ticks) = 0;
  215. virtual VOID WINAPI SqlUmsYield (ULONG ticks) = 0;
  216. virtual VOID WINAPI SqlUmsSwitchPremptive () = 0;
  217. virtual VOID WINAPI SqlUmsSwitchNonPremptive() = 0;
  218. virtual WINBOOL WINAPI SqlUmsFIsPremptive() = 0;
  219. };
  220. #endif
  221. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  222. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  223. #endif
  224. #include "rpc.h"
  225. #include "rpcndr.h"
  226. #ifndef __RPCNDR_H_VERSION__
  227. #error This stub requires an updated version of <rpcndr.h>
  228. #endif
  229. #ifndef COM_NO_WINDOWS_H
  230. #include "windows.h"
  231. #include "ole2.h"
  232. #endif
  233. #ifndef __sqloledb_h__
  234. #define __sqloledb_h__
  235. #ifdef __cplusplus
  236. extern "C" {
  237. #endif
  238. #ifndef __ISQLServerErrorInfo_FWD_DEFINED__
  239. #define __ISQLServerErrorInfo_FWD_DEFINED__
  240. typedef struct ISQLServerErrorInfo ISQLServerErrorInfo;
  241. #endif
  242. #ifndef __IRowsetFastLoad_FWD_DEFINED__
  243. #define __IRowsetFastLoad_FWD_DEFINED__
  244. typedef struct IRowsetFastLoad IRowsetFastLoad;
  245. #endif
  246. #ifndef __ISchemaLock_FWD_DEFINED__
  247. #define __ISchemaLock_FWD_DEFINED__
  248. typedef struct ISchemaLock ISchemaLock;
  249. #endif
  250. #include "unknwn.h"
  251. #ifndef __MIDL_user_allocate_free_DEFINED__
  252. #define __MIDL_user_allocate_free_DEFINED__
  253. void *__RPC_API MIDL_user_allocate(size_t);
  254. void __RPC_API MIDL_user_free(void *);
  255. #endif
  256. typedef struct tagSSErrorInfo {
  257. LPOLESTR pwszMessage;
  258. LPOLESTR pwszServer;
  259. LPOLESTR pwszProcedure;
  260. LONG lNative;
  261. BYTE bState;
  262. BYTE bClass;
  263. WORD wLineNumber;
  264. } SSERRORINFO;
  265. extern RPC_IF_HANDLE __MIDL_itf_sqloledb_0000_v0_0_c_ifspec;
  266. extern RPC_IF_HANDLE __MIDL_itf_sqloledb_0000_v0_0_s_ifspec;
  267. #ifndef __ISQLServerErrorInfo_INTERFACE_DEFINED__
  268. #define __ISQLServerErrorInfo_INTERFACE_DEFINED__
  269. EXTERN_C const IID IID_ISQLServerErrorInfo;
  270. #if defined(__cplusplus) && !defined(CINTERFACE)
  271. struct ISQLServerErrorInfo : public IUnknown {
  272. public:
  273. virtual HRESULT WINAPI GetErrorInfo(SSERRORINFO **ppErrorInfo,OLECHAR **ppStringsBuffer) = 0;
  274. };
  275. #else
  276. typedef struct ISQLServerErrorInfoVtbl {
  277. BEGIN_INTERFACE
  278. HRESULT (WINAPI *QueryInterface)(ISQLServerErrorInfo *This,REFIID riid,void **ppvObject);
  279. ULONG (WINAPI *AddRef)(ISQLServerErrorInfo *This);
  280. ULONG (WINAPI *Release)(ISQLServerErrorInfo *This);
  281. HRESULT (WINAPI *GetErrorInfo)(ISQLServerErrorInfo *This,SSERRORINFO **ppErrorInfo,OLECHAR **ppStringsBuffer);
  282. END_INTERFACE
  283. } ISQLServerErrorInfoVtbl;
  284. struct ISQLServerErrorInfo {
  285. CONST_VTBL struct ISQLServerErrorInfoVtbl *lpVtbl;
  286. };
  287. #ifdef COBJMACROS
  288. #define ISQLServerErrorInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  289. #define ISQLServerErrorInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
  290. #define ISQLServerErrorInfo_Release(This) (This)->lpVtbl->Release(This)
  291. #define ISQLServerErrorInfo_GetErrorInfo(This,ppErrorInfo,ppStringsBuffer) (This)->lpVtbl->GetErrorInfo(This,ppErrorInfo,ppStringsBuffer)
  292. #endif
  293. #endif
  294. HRESULT WINAPI ISQLServerErrorInfo_GetErrorInfo_Proxy(ISQLServerErrorInfo *This,SSERRORINFO **ppErrorInfo,OLECHAR **ppStringsBuffer);
  295. void __RPC_STUB ISQLServerErrorInfo_GetErrorInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  296. #endif
  297. #ifdef _WIN64
  298. typedef ULONG_PTR HACCESSOR;
  299. #else
  300. typedef ULONG HACCESSOR;
  301. #endif
  302. extern RPC_IF_HANDLE __MIDL_itf_sqloledb_0006_v0_0_c_ifspec;
  303. extern RPC_IF_HANDLE __MIDL_itf_sqloledb_0006_v0_0_s_ifspec;
  304. #ifndef __IRowsetFastLoad_INTERFACE_DEFINED__
  305. #define __IRowsetFastLoad_INTERFACE_DEFINED__
  306. EXTERN_C const IID IID_IRowsetFastLoad;
  307. #if defined(__cplusplus) && !defined(CINTERFACE)
  308. struct IRowsetFastLoad : public IUnknown {
  309. public:
  310. virtual HRESULT WINAPI InsertRow(HACCESSOR hAccessor,void *pData) = 0;
  311. virtual HRESULT WINAPI Commit(WINBOOL fDone) = 0;
  312. };
  313. #else
  314. typedef struct IRowsetFastLoadVtbl {
  315. BEGIN_INTERFACE
  316. HRESULT (WINAPI *QueryInterface)(IRowsetFastLoad *This,REFIID riid,void **ppvObject);
  317. ULONG (WINAPI *AddRef)(IRowsetFastLoad *This);
  318. ULONG (WINAPI *Release)(IRowsetFastLoad *This);
  319. HRESULT (WINAPI *InsertRow)(IRowsetFastLoad *This,HACCESSOR hAccessor,void *pData);
  320. HRESULT (WINAPI *Commit)(IRowsetFastLoad *This,WINBOOL fDone);
  321. END_INTERFACE
  322. } IRowsetFastLoadVtbl;
  323. struct IRowsetFastLoad {
  324. CONST_VTBL struct IRowsetFastLoadVtbl *lpVtbl;
  325. };
  326. #ifdef COBJMACROS
  327. #define IRowsetFastLoad_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  328. #define IRowsetFastLoad_AddRef(This) (This)->lpVtbl->AddRef(This)
  329. #define IRowsetFastLoad_Release(This) (This)->lpVtbl->Release(This)
  330. #define IRowsetFastLoad_InsertRow(This,hAccessor,pData) (This)->lpVtbl->InsertRow(This,hAccessor,pData)
  331. #define IRowsetFastLoad_Commit(This,fDone) (This)->lpVtbl->Commit(This,fDone)
  332. #endif
  333. #endif
  334. HRESULT WINAPI IRowsetFastLoad_InsertRow_Proxy(IRowsetFastLoad *This,HACCESSOR hAccessor,void *pData);
  335. void __RPC_STUB IRowsetFastLoad_InsertRow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  336. HRESULT WINAPI IRowsetFastLoad_Commit_Proxy(IRowsetFastLoad *This,WINBOOL fDone);
  337. void __RPC_STUB IRowsetFastLoad_Commit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  338. #endif
  339. typedef DWORD LOCKMODE;
  340. enum LOCKMODEENUM {
  341. LOCKMODE_INVALID = 0,
  342. LOCKMODE_EXCLUSIVE,LOCKMODE_SHARED
  343. };
  344. extern RPC_IF_HANDLE __MIDL_itf_sqloledb_0007_v0_0_c_ifspec;
  345. extern RPC_IF_HANDLE __MIDL_itf_sqloledb_0007_v0_0_s_ifspec;
  346. #ifndef __ISchemaLock_INTERFACE_DEFINED__
  347. #define __ISchemaLock_INTERFACE_DEFINED__
  348. EXTERN_C const IID IID_ISchemaLock;
  349. #if defined(__cplusplus) && !defined(CINTERFACE)
  350. struct ISchemaLock : public IUnknown {
  351. public:
  352. virtual HRESULT WINAPI GetSchemaLock(DBID *pTableID,LOCKMODE lmMode,HANDLE *phLockHandle,ULONGLONG *pTableVersion) = 0;
  353. virtual HRESULT WINAPI ReleaseSchemaLock(HANDLE hLockHandle) = 0;
  354. };
  355. #else
  356. typedef struct ISchemaLockVtbl {
  357. BEGIN_INTERFACE
  358. HRESULT (WINAPI *QueryInterface)(ISchemaLock *This,REFIID riid,void **ppvObject);
  359. ULONG (WINAPI *AddRef)(ISchemaLock *This);
  360. ULONG (WINAPI *Release)(ISchemaLock *This);
  361. HRESULT (WINAPI *GetSchemaLock)(ISchemaLock *This,DBID *pTableID,LOCKMODE lmMode,HANDLE *phLockHandle,ULONGLONG *pTableVersion);
  362. HRESULT (WINAPI *ReleaseSchemaLock)(ISchemaLock *This,HANDLE hLockHandle);
  363. END_INTERFACE
  364. } ISchemaLockVtbl;
  365. struct ISchemaLock {
  366. CONST_VTBL struct ISchemaLockVtbl *lpVtbl;
  367. };
  368. #ifdef COBJMACROS
  369. #define ISchemaLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  370. #define ISchemaLock_AddRef(This) (This)->lpVtbl->AddRef(This)
  371. #define ISchemaLock_Release(This) (This)->lpVtbl->Release(This)
  372. #define ISchemaLock_GetSchemaLock(This,pTableID,lmMode,phLockHandle,pTableVersion) (This)->lpVtbl->GetSchemaLock(This,pTableID,lmMode,phLockHandle,pTableVersion)
  373. #define ISchemaLock_ReleaseSchemaLock(This,hLockHandle) (This)->lpVtbl->ReleaseSchemaLock(This,hLockHandle)
  374. #endif
  375. #endif
  376. HRESULT WINAPI ISchemaLock_GetSchemaLock_Proxy(ISchemaLock *This,DBID *pTableID,LOCKMODE lmMode,HANDLE *phLockHandle,ULONGLONG *pTableVersion);
  377. void __RPC_STUB ISchemaLock_GetSchemaLock_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  378. HRESULT WINAPI ISchemaLock_ReleaseSchemaLock_Proxy(ISchemaLock *This,HANDLE hLockHandle);
  379. void __RPC_STUB ISchemaLock_ReleaseSchemaLock_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  380. #endif
  381. #ifdef __cplusplus
  382. }
  383. #endif
  384. #endif
  385. #endif