SqlOleDb.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:26k
源码类别:

模拟服务器

开发平台:

C/C++

  1. //--------------------------------------------------------------------
  2. // Microsoft OLE DB Provider for SQL Server
  3. // (C) Copyright 1997 By Microsoft Corporation.
  4. //
  5. // @doc
  6. //
  7. // @module SQLOLEDB.H | Provider Specific definitions
  8. //
  9. //--------------------------------------------------------------------
  10. #ifndef  _SQLOLEDB_H_
  11. #define  _SQLOLEDB_H_
  12. #ifndef  __oledb_h__
  13. #include "oledb.h"
  14. #endif /* __oledb_h__ */
  15. //----------------------------------------------------------------------------
  16. // Provider-specific Class Ids
  17. #ifdef DBINITCONSTANTS
  18. // Provider CLSID  {0C7FF16C-38E3-11d0-97AB-00C04FC2AD98}
  19. extern const GUID CLSID_SQLOLEDB       = {0xc7ff16cL,0x38e3,0x11d0,{0x97,0xab,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
  20. // Error Lookup CLSID  {C0932C62-38E5-11d0-97AB-00C04FC2AD98}
  21. extern const GUID CLSID_SQLOLEDB_ERROR  = {0xc0932c62L,0x38e5,0x11d0,{0x97,0xab,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
  22. // Enumerator CLSID  {DFA22B8E-E68D-11d0-97E4-00C04FC2AD98}
  23. extern const GUID CLSID_SQLOLEDB_ENUMERATOR  = {0xdfa22b8eL,0xe68d,0x11d0,{0x97,0xe4,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
  24. #else // !DBINITCONSTANTS
  25. extern const GUID  CLSID_SQLOLEDB;
  26. extern const GUID  CLSID_SQLOLEDB_ERROR;
  27. extern const GUID  CLSID_SQLOLEDB_ENUMERATOR;
  28. #endif // DBINITCONSTANTS
  29. //----------------------------------------------------------------------------
  30. // Provider-specific Interface Ids
  31. #ifdef DBINITCONSTANTS
  32. extern const GUID IID_ISQLServerErrorInfo = {0x5cf4ca12,0xef21,0x11d0,{0x97,0xe7,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
  33. extern const GUID IID_IRowsetFastLoad  = {0x5cf4ca13,0xef21,0x11d0,{0x97,0xe7,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
  34. extern const GUID IID_IUMSInitialize = {0x5cf4ca14,0xef21,0x11d0,{0x97,0xe7,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
  35. // {4C2389FB-2511-11d4-B258-00C04F7971CE}
  36. extern const GUID IID_ISchemaLock           = {0x4c2389fb,0x2511,0x11d4,{0xb2,0x58,0x0,0xc0,0x4f,0x79,0x71,0xce}};
  37. extern const GUID  DBGUID_MSSQLXML          = {0x5d531cb2L,0xe6ed,0x11d2,{0xb2,0x52,0x00,0xc0,0x4f,0x68,0x1b,0x71}};
  38. extern const GUID  DBGUID_XPATH             = {0xec2a4293L,0xe898,0x11d2,{0xb1,0xb7,0x00,0xc0,0x4f,0x68,0x0c,0x56}};
  39. // This IID_ICommandStream definition is available in later versions of 
  40. // UUID.LIB.  It is also already an extern defined in oledb.h.
  41. //
  42. #if _MSC_VER < 1300
  43. extern const IID   IID_ICommandStream       = {0x0c733abfL,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  44. #endif // _MSC_VER
  45. extern const IID   IID_ISQLXMLHelper        = {0xd22a7678L,0xf860,0x40cd,{0xa5,0x67,0x15,0x63,0xde,0xb4,0x6d,0x49}};
  46. #else // !DBINITCONSTANTS
  47. extern const GUID  IID_ISQLServerErrorInfo;
  48. extern const GUID  IID_IRowsetFastLoad;
  49. extern const GUID  IID_IUMSInitialize;
  50. extern const GUID  IID_ISchemaLock;
  51. extern const GUID  DBGUID_MSSQLXML;
  52. extern const GUID  DBGUID_XPATH;
  53. extern const IID   IID_ISQLXMLHelper;
  54. #endif // DBINITCONSTANTS
  55. //----------------------------------------------------------------------------
  56. // Provider-specific schema rowsets
  57. #ifdef DBINITCONSTANTS
  58. extern const GUID DBSCHEMA_LINKEDSERVERS = {0x9093caf4,0x2eac,0x11d1,{0x98,0x9,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
  59. #else // !DBINITCONSTANTS
  60. extern const GUID DBSCHEMA_LINKEDSERVERS;
  61. #endif // DBINITCONSTANTS
  62. #define CRESTRICTIONS_DBSCHEMA_LINKEDSERVERS 1
  63. //----------------------------------------------------------------------------
  64. // Provider-specific property sets
  65. #ifdef DBINITCONSTANTS
  66. extern const GUID DBPROPSET_SQLSERVERDATASOURCE = {0x28efaee4,0x2d2c,0x11d1,{0x98,0x7,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
  67. extern const GUID DBPROPSET_SQLSERVERDATASOURCEINFO = {0xdf10cb94,0x35f6,0x11d2,{0x9c,0x54,0x0,0xc0,0x4f,0x79,0x71,0xd3}};
  68. extern const GUID DBPROPSET_SQLSERVERDBINIT  = {0x5cf4ca10,0xef21,0x11d0,{0x97,0xe7,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
  69. extern const GUID DBPROPSET_SQLSERVERROWSET  = {0x5cf4ca11,0xef21,0x11d0,{0x97,0xe7,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
  70. extern const GUID DBPROPSET_SQLSERVERSESSION = {0x28efaee5,0x2d2c,0x11d1,{0x98,0x7,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
  71. extern const GUID DBPROPSET_SQLSERVERCOLUMN = {0x3b63fb5e,0x3fbb,0x11d3,{0x9f,0x29,0x0,0xc0,0x4f,0x8e,0xe9,0xdc}};
  72. extern const GUID DBPROPSET_SQLSERVERSTREAM = {0x9f79c073,0x8a6d,0x4bca,{0xa8,0xa8,0xc9,0xb7,0x9a,0x9b,0x96,0x2d}};
  73. #else // !DBINITCONSTANTS
  74. extern const GUID DBPROPSET_SQLSERVERDATASOURCE;
  75. extern const GUID DBPROPSET_SQLSERVERDATASOURCEINFO;
  76. extern const GUID DBPROPSET_SQLSERVERDBINIT;
  77. extern const GUID DBPROPSET_SQLSERVERROWSET;
  78. extern const GUID DBPROPSET_SQLSERVERSESSION;
  79. extern const GUID DBPROPSET_SQLSERVERCOLUMN;
  80. extern const GUID DBPROPSET_SQLSERVERSTREAM;
  81. #endif // DBINITCONSTANTS
  82. //This is a guid candidate : ;
  83. //----------------------------------------------------------------------------
  84. // Provider-specific columns for IColumnsRowset
  85. #ifdef DBINITCONSTANTS
  86. extern const DBID DBCOLUMN_SS_COMPFLAGS      = {{0x627bd890,0xed54,0x11d2,{0xb9,0x94,0x0,0xc0,0x4f,0x8c,0xa8,0x2c}}, DBKIND_GUID_PROPID, (LPOLESTR)100};
  87. extern const DBID DBCOLUMN_SS_SORTID  = {{0x627bd890,0xed54,0x11d2,{0xb9,0x94,0x0,0xc0,0x4f,0x8c,0xa8,0x2c}}, DBKIND_GUID_PROPID, (LPOLESTR)101};
  88. extern const DBID DBCOLUMN_BASETABLEINSTANCE = {{0x627bd890,0xed54,0x11d2,{0xb9,0x94,0x0,0xc0,0x4f,0x8c,0xa8,0x2c}}, DBKIND_GUID_PROPID, (LPOLESTR)102};
  89. extern const DBID DBCOLUMN_SS_TDSCOLLATION   = {{0x627bd890,0xed54,0x11d2,{0xb9,0x94,0x0,0xc0,0x4f,0x8c,0xa8,0x2c}}, DBKIND_GUID_PROPID, (LPOLESTR)103};
  90. #else // !DBINITCONSTANTS
  91. extern const DBID DBCOLUMN_SS_COMPFLAGS;
  92. extern const DBID DBCOLUMN_SS_SORTID;
  93. extern const DBID DBCOLUMN_BASETABLEINSTANCE;
  94. extern const DBID DBCOLUMN_SS_TDSCOLLATION;   
  95. #endif // DBINITCONSTANTS
  96. //----------------------------------------------------------------------------
  97. // PropIds for DBPROP_INIT_GENERALTIMEOUT
  98. #if ( OLEDBVER == 0x0210 )
  99. #define DBPROP_INIT_GENERALTIMEOUT 0x11cL
  100. #endif
  101. //----------------------------------------------------------------------------
  102. // PropIds for DBPROPSET_SQLSERVERDATASOURCE
  103. #define SSPROP_ENABLEFASTLOAD 2
  104. //----------------------------------------------------------------------------
  105. // PropIds for DBPROPSET_SQLSERVERDATASOURCEINFO
  106. #define SSPROP_UNICODELCID 2
  107. #define SSPROP_UNICODECOMPARISONSTYLE 3
  108. #define SSPROP_COLUMNLEVELCOLLATION     4
  109. #define SSPROP_CHARACTERSET 5
  110. #define SSPROP_SORTORDER 6
  111. #define SSPROP_CURRENTCOLLATION 7
  112. //----------------------------------------------------------------------------
  113. // PropIds for DBPROPSET_SQLSERVERDBINIT 
  114. #define SSPROP_INIT_CURRENTLANGUAGE 4
  115. #define SSPROP_INIT_NETWORKADDRESS 5
  116. #define SSPROP_INIT_NETWORKLIBRARY 6
  117. #define SSPROP_INIT_USEPROCFORPREP 7
  118. #define SSPROP_INIT_AUTOTRANSLATE 8
  119. #define SSPROP_INIT_PACKETSIZE 9
  120. #define SSPROP_INIT_APPNAME 10
  121. #define SSPROP_INIT_WSID 11
  122. #define SSPROP_INIT_FILENAME 12
  123. #define SSPROP_INIT_ENCRYPT             13 
  124. #define SSPROP_AUTH_REPL_SERVER_NAME 14
  125. #define SSPROP_INIT_TAGCOLUMNCOLLATION 15
  126. //-----------------------------------------------------------------------------
  127. // Values for SSPROP_USEPROCFORPREP
  128. #define SSPROPVAL_USEPROCFORPREP_OFF 0
  129. #define SSPROPVAL_USEPROCFORPREP_ON 1
  130. #define SSPROPVAL_USEPROCFORPREP_ON_DROP 2
  131. //----------------------------------------------------------------------------
  132. // PropIds for DBPROPSET_SQLSERVERSESSION
  133. #define SSPROP_QUOTEDCATALOGNAMES 2
  134. #define SSPROP_ALLOWNATIVEVARIANT 3
  135. #define SSPROP_SQLXMLXPROGID 4
  136. //----------------------------------------------------------------------------
  137. // PropIds for DBPROPSET_SQLSERVERROWSET 
  138. #define SSPROP_MAXBLOBLENGTH 8
  139. #define SSPROP_FASTLOADOPTIONS 9
  140. #define SSPROP_FASTLOADKEEPNULLS 10
  141. #define SSPROP_FASTLOADKEEPIDENTITY 11
  142. #define SSPROP_CURSORAUTOFETCH 12
  143. #define SSPROP_DEFERPREPARE 13
  144. #define SSPROP_IRowsetFastLoad 14
  145. //----------------------------------------------------------------------------
  146. // PropIds for DBPROPSET_SQLSERVERCOLUMN
  147. #define SSPROP_COL_COLLATIONNAME 14
  148. //----------------------------------------------------------------------------
  149. // PropIds for DBPROPSET_SQLSERVERSTREAM
  150. #define SSPROP_STREAM_MAPPINGSCHEMA     15
  151. #define SSPROP_STREAM_XSL               16
  152. #define SSPROP_STREAM_BASEPATH          17
  153. #define SSPROP_STREAM_COMMANDTYPE       18
  154. #define SSPROP_STREAM_XMLROOT           19
  155. #define SSPROP_STREAM_FLAGS             20
  156. #define SSPROP_STREAM_CONTENTTYPE       23
  157. //----------------------------------------------------------------------------
  158. // Possible values for SSPROP_STREAM_FLAGS
  159. #define STREAM_FLAGS_DISALLOW_URL           0x00000001
  160. #define STREAM_FLAGS_DISALLOW_ABSOLUTE_PATH 0x00000002
  161. #define STREAM_FLAGS_DISALLOW_QUERY         0x00000004
  162. #define STREAM_FLAGS_DONTCACHEMAPPINGSCHEMA 0x00000008
  163. #define STREAM_FLAGS_DONTCACHETEMPLATE      0x00000010
  164. #define STREAM_FLAGS_DONTCACHEXSL           0x00000020
  165. #define STREAM_FLAGS_DISALLOW_UPDATEGRAMS   0x00000040
  166. #define STREAM_FLAGS_RESERVED               0xffff0000
  167. // Values for SSPROPVAL_COMMANDTYPE
  168. #define SSPROPVAL_COMMANDTYPE_REGULAR   21
  169. #define SSPROPVAL_COMMANDTYPE_BULKLOAD  22
  170. //-------------------------------------------------------------------
  171. // Variant Access macros, similar to ole automation.
  172. //-------------------------------------------------------------------
  173. #define V_SS_VT(X)         ((X)->vt)
  174. #define V_SS_UNION(X, Y)   ((X)->Y)
  175. #define V_SS_UI1(X) V_SS_UNION(X, bTinyIntVal)
  176. #define V_SS_I2(X) V_SS_UNION(X, sShortIntVal)
  177. #define V_SS_I4(X) V_SS_UNION(X, lIntVal)
  178. #define V_SS_I8(X) V_SS_UNION(X, llBigIntVal)
  179. #define V_SS_R4(X) V_SS_UNION(X, fltRealVal)
  180. #define V_SS_R8(X) V_SS_UNION(X, dblFloatVal)
  181. #define V_SS_UI4(X)     V_SS_UNION(X, ulVal)
  182. #define V_SS_MONEY(X) V_SS_UNION(X, cyMoneyVal)
  183. #define V_SS_SMALLMONEY(X) V_SS_UNION(X, cyMoneyVal)
  184. #define V_SS_WSTRING(X) V_SS_UNION(X, NCharVal)
  185. #define V_SS_WVARSTRING(X) V_SS_UNION(X, NCharVal)
  186. #define V_SS_STRING(X) V_SS_UNION(X, CharVal)
  187. #define V_SS_VARSTRING(X) V_SS_UNION(X, CharVal)
  188. #define V_SS_BIT(X) V_SS_UNION(X, fBitVal)
  189. #define V_SS_GUID(X) V_SS_UNION(X, rgbGuidVal)
  190. #define V_SS_NUMERIC(X) V_SS_UNION(X, numNumericVal)
  191. #define V_SS_DECIMAL(X) V_SS_UNION(X, numNumericVal)
  192. #define V_SS_BINARY(X) V_SS_UNION(X, BinaryVal)
  193. #define V_SS_VARBINARY(X) V_SS_UNION(X, BinaryVal)
  194. #define V_SS_DATETIME(X) V_SS_UNION(X, tsDateTimeVal)
  195. #define V_SS_SMALLDATETIME(X) V_SS_UNION(X, tsDateTimeVal)
  196. #define V_SS_UNKNOWN(X) V_SS_UNION(X, UnknownType)
  197. //For next release.
  198. #define V_SS_IMAGE(X) V_SS_UNION(X, ImageVal)
  199. #define V_SS_TEXT(X) V_SS_UNION(X, TextVal)
  200. #define V_SS_NTEXT(X) V_SS_UNION(X, NTextVal)
  201. //-------------------------------------------------------------------
  202. // define SQL Server Spefific Variant Type
  203. //-------------------------------------------------------------------
  204. #define DBTYPE_SQLVARIANT   144
  205. enum SQLVARENUM
  206.     {
  207. VT_SS_EMPTY = DBTYPE_EMPTY,
  208. VT_SS_NULL = DBTYPE_NULL,
  209. VT_SS_UI1 = DBTYPE_UI1,
  210. VT_SS_I2 = DBTYPE_I2,
  211. VT_SS_I4 = DBTYPE_I4,
  212. VT_SS_I8 = DBTYPE_I8,
  213. //Floats
  214. VT_SS_R4  = DBTYPE_R4,
  215. VT_SS_R8 = DBTYPE_R8,
  216. //Money
  217. VT_SS_MONEY = DBTYPE_CY,
  218. VT_SS_SMALLMONEY  = 200,
  219. //Strings
  220. VT_SS_WSTRING = 201,
  221. VT_SS_WVARSTRING = 202,
  222. VT_SS_STRING =203,
  223. VT_SS_VARSTRING =204,
  224. //Bit
  225. VT_SS_BIT =DBTYPE_BOOL,
  226. //Guid
  227. VT_SS_GUID =DBTYPE_GUID,
  228. //Exact precision
  229. VT_SS_NUMERIC =DBTYPE_NUMERIC,
  230. VT_SS_DECIMAL =205,
  231. //Datetime
  232. VT_SS_DATETIME = DBTYPE_DBTIMESTAMP,
  233. VT_SS_SMALLDATETIME =206,
  234. //Binary
  235. VT_SS_BINARY =207,
  236. VT_SS_VARBINARY =208,
  237. //Future
  238. VT_SS_UNKNOWN = 209,
  239.     };
  240. typedef unsigned short SSVARTYPE;
  241. //Hungarian : ssv (Sql Server Variant)
  242. struct SSVARIANT
  243. {
  244. SSVARTYPE vt;
  245. DWORD dwReserved1;
  246. DWORD dwReserved2;
  247.         union 
  248.             {
  249. BYTE bTinyIntVal;
  250. SHORT sShortIntVal;
  251.             LONG lIntVal;
  252.             LONGLONG llBigIntVal;
  253.             
  254.             FLOAT fltRealVal;
  255.             DOUBLE dblFloatVal;
  256. CY cyMoneyVal;
  257. struct _NCharVal
  258. {
  259. SHORT sActualLength;
  260. SHORT sMaxLength;
  261. WCHAR * pwchNCharVal;
  262. BYTE rgbReserved[5];
  263. DWORD dwReserved;
  264. WCHAR * pwchReserved;
  265. } NCharVal;
  266. struct _CharVal
  267. {
  268. SHORT sActualLength;
  269. SHORT sMaxLength;
  270. CHAR  * pchCharVal;
  271. BYTE rgbReserved[5];
  272. DWORD dwReserved;
  273. WCHAR * pwchReserved;
  274. } CharVal;
  275. VARIANT_BOOL  fBitVal;
  276. BYTE  rgbGuidVal [16];
  277. DB_NUMERIC numNumericVal;
  278. struct _BinaryVal
  279. {
  280. SHORT sActualLength;
  281. SHORT sMaxLength;
  282. BYTE  * prgbBinaryVal;
  283. DWORD dwReserved;
  284. } BinaryVal;
  285. DBTIMESTAMP  tsDateTimeVal;
  286. struct _UnknownType
  287. {
  288. DWORD dwActualLength;
  289. BYTE rgMetadata [16];
  290. BYTE * pUnknownData;
  291. } UnknownType;
  292.             
  293. struct _BLOBType
  294. {
  295. DBOBJECT dbobj;
  296. IUnknown * pUnk; 
  297. } BLOBType;
  298. };
  299.     };
  300. #if defined(__cplusplus) && !defined(CINTERFACE)
  301. //-----------------------------------------------------------------
  302. // Class Factory Interface used to initialize pointer to UMS. 
  303. //
  304. interface IUMSInitialize : public IUnknown
  305. {
  306. public:
  307.     virtual HRESULT STDMETHODCALLTYPE Initialize (VOID * pUMS) = 0;
  308. };
  309. //-----------------------------------------------------------------
  310. // Interface used to communicate with UMS.
  311. //
  312. interface IUMS
  313. {
  314. public:
  315.     virtual VOID STDMETHODCALLTYPE SqlUmsSuspend (ULONG ticks) = 0;
  316. virtual VOID STDMETHODCALLTYPE SqlUmsYield (ULONG ticks) = 0;
  317. virtual VOID STDMETHODCALLTYPE SqlUmsSwitchPremptive () = 0;
  318. virtual VOID STDMETHODCALLTYPE SqlUmsSwitchNonPremptive() = 0;
  319. virtual BOOL STDMETHODCALLTYPE SqlUmsFIsPremptive() = 0;
  320. };
  321. #endif
  322. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  323. /* File created by MIDL compiler version 3.03.0110 */
  324. /* at Tue May 09 16:41:59 2000
  325.  */
  326. /* Compiler settings for sqloledb.idl:
  327.     Os (OptLev=s), W1, Zp8, env=Win32, ms_ext, c_ext
  328.     error checks: none
  329. */
  330. //@@MIDL_FILE_HEADING(  )
  331. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  332. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  333. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  334. #endif
  335. #include "rpc.h"
  336. #include "rpcndr.h"
  337. #ifndef __RPCNDR_H_VERSION__
  338. #error this stub requires an updated version of <rpcndr.h>
  339. #endif // __RPCNDR_H_VERSION__
  340. #ifndef COM_NO_WINDOWS_H
  341. #include "windows.h"
  342. #include "ole2.h"
  343. #endif /*COM_NO_WINDOWS_H*/
  344. #ifndef __sqloledb_h__
  345. #define __sqloledb_h__
  346. #ifdef __cplusplus
  347. extern "C"{
  348. #endif 
  349. /* Forward Declarations */ 
  350. #ifndef __ISQLServerErrorInfo_FWD_DEFINED__
  351. #define __ISQLServerErrorInfo_FWD_DEFINED__
  352. typedef interface ISQLServerErrorInfo ISQLServerErrorInfo;
  353. #endif  /* __ISQLServerErrorInfo_FWD_DEFINED__ */
  354. #ifndef __IRowsetFastLoad_FWD_DEFINED__
  355. #define __IRowsetFastLoad_FWD_DEFINED__
  356. typedef interface IRowsetFastLoad IRowsetFastLoad;
  357. #endif  /* __IRowsetFastLoad_FWD_DEFINED__ */
  358. #ifndef __ISchemaLock_FWD_DEFINED__
  359. #define __ISchemaLock_FWD_DEFINED__
  360. typedef interface ISchemaLock ISchemaLock;
  361. #endif  /* __ISchemaLock_FWD_DEFINED__ */
  362. /* header files for imported files */
  363. #include "unknwn.h"
  364. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  365. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  366. /****************************************
  367.  * Generated header for interface: __MIDL_itf_sqloledb_0000
  368.  * at Tue May 09 16:41:59 2000
  369.  * using MIDL 3.03.0110
  370.  ****************************************/
  371. /* [local] */ 
  372. // the structure returned by  ISQLServerErrorInfo::GetSQLServerInfo
  373. typedef struct  tagSSErrorInfo
  374.     {
  375.     LPOLESTR pwszMessage;
  376.     LPOLESTR pwszServer;
  377.     LPOLESTR pwszProcedure;
  378.     LONG lNative;
  379.     BYTE bState;
  380.     BYTE bClass;
  381.     WORD wLineNumber;
  382.     } SSERRORINFO;
  383. extern RPC_IF_HANDLE __MIDL_itf_sqloledb_0000_v0_0_c_ifspec;
  384. extern RPC_IF_HANDLE __MIDL_itf_sqloledb_0000_v0_0_s_ifspec;
  385. #ifndef __ISQLServerErrorInfo_INTERFACE_DEFINED__
  386. #define __ISQLServerErrorInfo_INTERFACE_DEFINED__
  387. /****************************************
  388.  * Generated header for interface: ISQLServerErrorInfo
  389.  * at Tue May 09 16:41:59 2000
  390.  * using MIDL 3.03.0110
  391.  ****************************************/
  392. /* [unique][object][local][uuid] */ 
  393. EXTERN_C const IID IID_ISQLServerErrorInfo;
  394. #if defined(__cplusplus) && !defined(CINTERFACE)
  395.     
  396.     MIDL_INTERFACE("5CF4CA12-EF21-11d0-97E7-00C04FC2AD98")
  397.     ISQLServerErrorInfo : public IUnknown
  398.     {
  399.     public:
  400.         virtual HRESULT STDMETHODCALLTYPE GetErrorInfo( 
  401.             /* [out] */ SSERRORINFO __RPC_FAR *__RPC_FAR *ppErrorInfo,
  402.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer) = 0;
  403.         
  404.     };
  405.     
  406. #else  /* C style interface */
  407.     typedef struct ISQLServerErrorInfoVtbl
  408.     {
  409.         BEGIN_INTERFACE
  410.         
  411.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  412.             ISQLServerErrorInfo __RPC_FAR * This,
  413.             /* [in] */ REFIID riid,
  414.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  415.         
  416.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  417.             ISQLServerErrorInfo __RPC_FAR * This);
  418.         
  419.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  420.             ISQLServerErrorInfo __RPC_FAR * This);
  421.         
  422.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetErrorInfo )( 
  423.             ISQLServerErrorInfo __RPC_FAR * This,
  424.             /* [out] */ SSERRORINFO __RPC_FAR *__RPC_FAR *ppErrorInfo,
  425.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer);
  426.         
  427.         END_INTERFACE
  428.     } ISQLServerErrorInfoVtbl;
  429.     interface ISQLServerErrorInfo
  430.     {
  431.         CONST_VTBL struct ISQLServerErrorInfoVtbl __RPC_FAR *lpVtbl;
  432.     };
  433.     
  434. #ifdef COBJMACROS
  435. #define ISQLServerErrorInfo_QueryInterface(This,riid,ppvObject)
  436.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  437. #define ISQLServerErrorInfo_AddRef(This)
  438.     (This)->lpVtbl -> AddRef(This)
  439. #define ISQLServerErrorInfo_Release(This)
  440.     (This)->lpVtbl -> Release(This)
  441. #define ISQLServerErrorInfo_GetErrorInfo(This,ppErrorInfo,ppStringsBuffer)
  442.     (This)->lpVtbl -> GetErrorInfo(This,ppErrorInfo,ppStringsBuffer)
  443. #endif /* COBJMACROS */
  444. #endif  /* C style interface */
  445. HRESULT STDMETHODCALLTYPE ISQLServerErrorInfo_GetErrorInfo_Proxy( 
  446.     ISQLServerErrorInfo __RPC_FAR * This,
  447.     /* [out] */ SSERRORINFO __RPC_FAR *__RPC_FAR *ppErrorInfo,
  448.     /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer);
  449. void __RPC_STUB ISQLServerErrorInfo_GetErrorInfo_Stub(
  450.     IRpcStubBuffer *This,
  451.     IRpcChannelBuffer *_pRpcChannelBuffer,
  452.     PRPC_MESSAGE _pRpcMessage,
  453.     DWORD *_pdwStubPhase);
  454. #endif  /* __ISQLServerErrorInfo_INTERFACE_DEFINED__ */
  455. /****************************************
  456.  * Generated header for interface: __MIDL_itf_sqloledb_0006
  457.  * at Tue May 09 16:41:59 2000
  458.  * using MIDL 3.03.0110
  459.  ****************************************/
  460. /* [local] */ 
  461. #ifdef _WIN64
  462. typedef ULONG_PTR HACCESSOR;
  463. #else
  464. typedef ULONG HACCESSOR;
  465. #endif
  466. extern RPC_IF_HANDLE __MIDL_itf_sqloledb_0006_v0_0_c_ifspec;
  467. extern RPC_IF_HANDLE __MIDL_itf_sqloledb_0006_v0_0_s_ifspec;
  468. #ifndef __IRowsetFastLoad_INTERFACE_DEFINED__
  469. #define __IRowsetFastLoad_INTERFACE_DEFINED__
  470. /****************************************
  471.  * Generated header for interface: IRowsetFastLoad
  472.  * at Tue May 09 16:41:59 2000
  473.  * using MIDL 3.03.0110
  474.  ****************************************/
  475. /* [unique][object][local][uuid] */ 
  476. EXTERN_C const IID IID_IRowsetFastLoad;
  477. #if defined(__cplusplus) && !defined(CINTERFACE)
  478.     
  479.     MIDL_INTERFACE("5CF4CA13-EF21-11d0-97E7-00C04FC2AD98")
  480.     IRowsetFastLoad : public IUnknown
  481.     {
  482.     public:
  483.         virtual HRESULT STDMETHODCALLTYPE InsertRow( 
  484.             /* [in] */ HACCESSOR hAccessor,
  485.             /* [in] */ void __RPC_FAR *pData) = 0;
  486.         
  487.         virtual HRESULT STDMETHODCALLTYPE Commit( 
  488.             /* [in] */ BOOL fDone) = 0;
  489.         
  490.     };
  491.     
  492. #else  /* C style interface */
  493.     typedef struct IRowsetFastLoadVtbl
  494.     {
  495.         BEGIN_INTERFACE
  496.         
  497.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  498.             IRowsetFastLoad __RPC_FAR * This,
  499.             /* [in] */ REFIID riid,
  500.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  501.         
  502.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  503.             IRowsetFastLoad __RPC_FAR * This);
  504.         
  505.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  506.             IRowsetFastLoad __RPC_FAR * This);
  507.         
  508.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InsertRow )( 
  509.             IRowsetFastLoad __RPC_FAR * This,
  510.             /* [in] */ HACCESSOR hAccessor,
  511.             /* [in] */ void __RPC_FAR *pData);
  512.         
  513.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Commit )( 
  514.             IRowsetFastLoad __RPC_FAR * This,
  515.             /* [in] */ BOOL fDone);
  516.         
  517.         END_INTERFACE
  518.     } IRowsetFastLoadVtbl;
  519.     interface IRowsetFastLoad
  520.     {
  521.         CONST_VTBL struct IRowsetFastLoadVtbl __RPC_FAR *lpVtbl;
  522.     };
  523.     
  524. #ifdef COBJMACROS
  525. #define IRowsetFastLoad_QueryInterface(This,riid,ppvObject)
  526.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  527. #define IRowsetFastLoad_AddRef(This)
  528.     (This)->lpVtbl -> AddRef(This)
  529. #define IRowsetFastLoad_Release(This)
  530.     (This)->lpVtbl -> Release(This)
  531. #define IRowsetFastLoad_InsertRow(This,hAccessor,pData)
  532.     (This)->lpVtbl -> InsertRow(This,hAccessor,pData)
  533. #define IRowsetFastLoad_Commit(This,fDone)
  534.     (This)->lpVtbl -> Commit(This,fDone)
  535. #endif /* COBJMACROS */
  536. #endif  /* C style interface */
  537. HRESULT STDMETHODCALLTYPE IRowsetFastLoad_InsertRow_Proxy( 
  538.     IRowsetFastLoad __RPC_FAR * This,
  539.     /* [in] */ HACCESSOR hAccessor,
  540.     /* [in] */ void __RPC_FAR *pData);
  541. void __RPC_STUB IRowsetFastLoad_InsertRow_Stub(
  542.     IRpcStubBuffer *This,
  543.     IRpcChannelBuffer *_pRpcChannelBuffer,
  544.     PRPC_MESSAGE _pRpcMessage,
  545.     DWORD *_pdwStubPhase);
  546. HRESULT STDMETHODCALLTYPE IRowsetFastLoad_Commit_Proxy( 
  547.     IRowsetFastLoad __RPC_FAR * This,
  548.     /* [in] */ BOOL fDone);
  549. void __RPC_STUB IRowsetFastLoad_Commit_Stub(
  550.     IRpcStubBuffer *This,
  551.     IRpcChannelBuffer *_pRpcChannelBuffer,
  552.     PRPC_MESSAGE _pRpcMessage,
  553.     DWORD *_pdwStubPhase);
  554. #endif  /* __IRowsetFastLoad_INTERFACE_DEFINED__ */
  555. /****************************************
  556.  * Generated header for interface: __MIDL_itf_sqloledb_0007
  557.  * at Tue May 09 16:41:59 2000
  558.  * using MIDL 3.03.0110
  559.  ****************************************/
  560. /* [local] */ 
  561. typedef DWORD LOCKMODE;
  562. enum LOCKMODEENUM
  563.     { LOCKMODE_INVALID = 0,
  564. LOCKMODE_EXCLUSIVE = LOCKMODE_INVALID + 1,
  565. LOCKMODE_SHARED = LOCKMODE_EXCLUSIVE + 1
  566.     };
  567. extern RPC_IF_HANDLE __MIDL_itf_sqloledb_0007_v0_0_c_ifspec;
  568. extern RPC_IF_HANDLE __MIDL_itf_sqloledb_0007_v0_0_s_ifspec;
  569. #ifndef __ISchemaLock_INTERFACE_DEFINED__
  570. #define __ISchemaLock_INTERFACE_DEFINED__
  571. /****************************************
  572.  * Generated header for interface: ISchemaLock
  573.  * at Tue May 09 16:41:59 2000
  574.  * using MIDL 3.03.0110
  575.  ****************************************/
  576. /* [unique][object][local][uuid] */ 
  577. EXTERN_C const IID IID_ISchemaLock;
  578. #if defined(__cplusplus) && !defined(CINTERFACE)
  579.     
  580.     MIDL_INTERFACE("4C2389FB-2511-11d4-B258-00C04F7971CE")
  581.     ISchemaLock : public IUnknown
  582.     {
  583.     public:
  584.         virtual HRESULT STDMETHODCALLTYPE GetSchemaLock( 
  585.             /* [in] */ DBID __RPC_FAR *pTableID,
  586.             /* [in] */ LOCKMODE lmMode,
  587.             /* [out] */ HANDLE __RPC_FAR *phLockHandle,
  588.             /* [out] */ ULONGLONG __RPC_FAR *pTableVersion) = 0;
  589.         
  590.         virtual HRESULT STDMETHODCALLTYPE ReleaseSchemaLock( 
  591.             /* [in] */ HANDLE hLockHandle) = 0;
  592.         
  593.     };
  594.     
  595. #else  /* C style interface */
  596.     typedef struct ISchemaLockVtbl
  597.     {
  598.         BEGIN_INTERFACE
  599.         
  600.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  601.             ISchemaLock __RPC_FAR * This,
  602.             /* [in] */ REFIID riid,
  603.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  604.         
  605.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  606.             ISchemaLock __RPC_FAR * This);
  607.         
  608.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  609.             ISchemaLock __RPC_FAR * This);
  610.         
  611.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSchemaLock )( 
  612.             ISchemaLock __RPC_FAR * This,
  613.             /* [in] */ DBID __RPC_FAR *pTableID,
  614.             /* [in] */ LOCKMODE lmMode,
  615.             /* [out] */ HANDLE __RPC_FAR *phLockHandle,
  616.             /* [out] */ ULONGLONG __RPC_FAR *pTableVersion);
  617.         
  618.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseSchemaLock )( 
  619.             ISchemaLock __RPC_FAR * This,
  620.             /* [in] */ HANDLE hLockHandle);
  621.         
  622.         END_INTERFACE
  623.     } ISchemaLockVtbl;
  624.     interface ISchemaLock
  625.     {
  626.         CONST_VTBL struct ISchemaLockVtbl __RPC_FAR *lpVtbl;
  627.     };
  628.     
  629. #ifdef COBJMACROS
  630. #define ISchemaLock_QueryInterface(This,riid,ppvObject)
  631.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  632. #define ISchemaLock_AddRef(This)
  633.     (This)->lpVtbl -> AddRef(This)
  634. #define ISchemaLock_Release(This)
  635.     (This)->lpVtbl -> Release(This)
  636. #define ISchemaLock_GetSchemaLock(This,pTableID,lmMode,phLockHandle,pTableVersion)
  637.     (This)->lpVtbl -> GetSchemaLock(This,pTableID,lmMode,phLockHandle,pTableVersion)
  638. #define ISchemaLock_ReleaseSchemaLock(This,hLockHandle)
  639.     (This)->lpVtbl -> ReleaseSchemaLock(This,hLockHandle)
  640. #endif /* COBJMACROS */
  641. #endif  /* C style interface */
  642. HRESULT STDMETHODCALLTYPE ISchemaLock_GetSchemaLock_Proxy( 
  643.     ISchemaLock __RPC_FAR * This,
  644.     /* [in] */ DBID __RPC_FAR *pTableID,
  645.     /* [in] */ LOCKMODE lmMode,
  646.     /* [out] */ HANDLE __RPC_FAR *phLockHandle,
  647.     /* [out] */ ULONGLONG __RPC_FAR *pTableVersion);
  648. void __RPC_STUB ISchemaLock_GetSchemaLock_Stub(
  649.     IRpcStubBuffer *This,
  650.     IRpcChannelBuffer *_pRpcChannelBuffer,
  651.     PRPC_MESSAGE _pRpcMessage,
  652.     DWORD *_pdwStubPhase);
  653. HRESULT STDMETHODCALLTYPE ISchemaLock_ReleaseSchemaLock_Proxy( 
  654.     ISchemaLock __RPC_FAR * This,
  655.     /* [in] */ HANDLE hLockHandle);
  656. void __RPC_STUB ISchemaLock_ReleaseSchemaLock_Stub(
  657.     IRpcStubBuffer *This,
  658.     IRpcChannelBuffer *_pRpcChannelBuffer,
  659.     PRPC_MESSAGE _pRpcMessage,
  660.     DWORD *_pdwStubPhase);
  661. #endif  /* __ISchemaLock_INTERFACE_DEFINED__ */
  662. /* Additional Prototypes for ALL interfaces */
  663. /* end of Additional Prototypes */
  664. #ifdef __cplusplus
  665. }
  666. #endif
  667. #endif
  668. #endif //_SQLOLEDB_H_