Files correlati : Commento : - Creazione nuova cartella per contenere tutte le librerie esterne - Aggiunta nuova libreria sqlapi per interfacciare campo a vari DB git-svn-id: svn://10.65.10.50/branches/R_10_00@24149 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			868 lines
		
	
	
		
			26 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			868 lines
		
	
	
		
			26 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| //--------------------------------------------------------------------
 | |
| // Microsoft OLE DB Provider for SQL Server
 | |
| // (C) Copyright 1997 By Microsoft Corporation.
 | |
| //
 | |
| // @doc
 | |
| //
 | |
| // @module SQLOLEDB.H | Provider Specific definitions
 | |
| //
 | |
| //--------------------------------------------------------------------
 | |
| 
 | |
| #ifndef  _SQLOLEDB_H_
 | |
| #define  _SQLOLEDB_H_
 | |
| 
 | |
| #ifndef	 __oledb_h__
 | |
| #include "oledb.h"
 | |
| #endif	/* __oledb_h__	*/
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // Provider-specific Class Ids
 | |
| #ifdef DBINITCONSTANTS
 | |
| // Provider CLSID 		{0C7FF16C-38E3-11d0-97AB-00C04FC2AD98}
 | |
| extern const GUID CLSID_SQLOLEDB      		= {0xc7ff16cL,0x38e3,0x11d0,{0x97,0xab,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
 | |
| // Error Lookup CLSID 		{C0932C62-38E5-11d0-97AB-00C04FC2AD98}
 | |
| extern const GUID CLSID_SQLOLEDB_ERROR 		= {0xc0932c62L,0x38e5,0x11d0,{0x97,0xab,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
 | |
| // Enumerator CLSID 		{DFA22B8E-E68D-11d0-97E4-00C04FC2AD98}
 | |
| extern const GUID CLSID_SQLOLEDB_ENUMERATOR 	= {0xdfa22b8eL,0xe68d,0x11d0,{0x97,0xe4,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
 | |
| #else // !DBINITCONSTANTS
 | |
| extern const GUID  CLSID_SQLOLEDB;
 | |
| extern const GUID  CLSID_SQLOLEDB_ERROR;
 | |
| extern const GUID  CLSID_SQLOLEDB_ENUMERATOR;
 | |
| #endif // DBINITCONSTANTS
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // Provider-specific Interface Ids
 | |
| #ifdef DBINITCONSTANTS
 | |
| extern const GUID IID_ISQLServerErrorInfo	= {0x5cf4ca12,0xef21,0x11d0,{0x97,0xe7,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
 | |
| extern const GUID IID_IRowsetFastLoad 		= {0x5cf4ca13,0xef21,0x11d0,{0x97,0xe7,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
 | |
| extern const GUID IID_IUMSInitialize		= {0x5cf4ca14,0xef21,0x11d0,{0x97,0xe7,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
 | |
| // {4C2389FB-2511-11d4-B258-00C04F7971CE}
 | |
| extern const GUID IID_ISchemaLock           = {0x4c2389fb,0x2511,0x11d4,{0xb2,0x58,0x0,0xc0,0x4f,0x79,0x71,0xce}};
 | |
| 
 | |
| extern const GUID  DBGUID_MSSQLXML          = {0x5d531cb2L,0xe6ed,0x11d2,{0xb2,0x52,0x00,0xc0,0x4f,0x68,0x1b,0x71}};
 | |
| extern const GUID  DBGUID_XPATH             = {0xec2a4293L,0xe898,0x11d2,{0xb1,0xb7,0x00,0xc0,0x4f,0x68,0x0c,0x56}};
 | |
| // This IID_ICommandStream definition is available in later versions of 
 | |
| // UUID.LIB.  It is also already an extern defined in oledb.h.
 | |
| //
 | |
| #if _MSC_VER < 1300
 | |
| extern const IID   IID_ICommandStream       = {0x0c733abfL,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
 | |
| #endif // _MSC_VER
 | |
| extern const IID   IID_ISQLXMLHelper        = {0xd22a7678L,0xf860,0x40cd,{0xa5,0x67,0x15,0x63,0xde,0xb4,0x6d,0x49}};
 | |
| #else // !DBINITCONSTANTS
 | |
| extern const GUID  IID_ISQLServerErrorInfo;
 | |
| extern const GUID  IID_IRowsetFastLoad;
 | |
| extern const GUID  IID_IUMSInitialize;
 | |
| extern const GUID  IID_ISchemaLock;
 | |
| 
 | |
| extern const GUID  DBGUID_MSSQLXML;
 | |
| extern const GUID  DBGUID_XPATH;
 | |
| extern const IID   IID_ISQLXMLHelper;
 | |
| #endif // DBINITCONSTANTS
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // Provider-specific schema rowsets
 | |
| #ifdef DBINITCONSTANTS
 | |
| extern const GUID DBSCHEMA_LINKEDSERVERS	= {0x9093caf4,0x2eac,0x11d1,{0x98,0x9,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
 | |
| #else // !DBINITCONSTANTS
 | |
| extern const GUID DBSCHEMA_LINKEDSERVERS;
 | |
| #endif // DBINITCONSTANTS
 | |
| 
 | |
| #define CRESTRICTIONS_DBSCHEMA_LINKEDSERVERS	1
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // Provider-specific property sets
 | |
| #ifdef DBINITCONSTANTS
 | |
| extern const GUID DBPROPSET_SQLSERVERDATASOURCE = {0x28efaee4,0x2d2c,0x11d1,{0x98,0x7,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
 | |
| extern const GUID DBPROPSET_SQLSERVERDATASOURCEINFO = {0xdf10cb94,0x35f6,0x11d2,{0x9c,0x54,0x0,0xc0,0x4f,0x79,0x71,0xd3}};
 | |
| extern const GUID DBPROPSET_SQLSERVERDBINIT 	= {0x5cf4ca10,0xef21,0x11d0,{0x97,0xe7,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
 | |
| extern const GUID DBPROPSET_SQLSERVERROWSET 	= {0x5cf4ca11,0xef21,0x11d0,{0x97,0xe7,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
 | |
| extern const GUID DBPROPSET_SQLSERVERSESSION	= {0x28efaee5,0x2d2c,0x11d1,{0x98,0x7,0x0,0xc0,0x4f,0xc2,0xad,0x98}};
 | |
| extern const GUID DBPROPSET_SQLSERVERCOLUMN		= {0x3b63fb5e,0x3fbb,0x11d3,{0x9f,0x29,0x0,0xc0,0x4f,0x8e,0xe9,0xdc}};
 | |
| extern const GUID DBPROPSET_SQLSERVERSTREAM		= {0x9f79c073,0x8a6d,0x4bca,{0xa8,0xa8,0xc9,0xb7,0x9a,0x9b,0x96,0x2d}};
 | |
| 
 | |
| 
 | |
| #else // !DBINITCONSTANTS
 | |
| extern const GUID DBPROPSET_SQLSERVERDATASOURCE;
 | |
| extern const GUID DBPROPSET_SQLSERVERDATASOURCEINFO;
 | |
| extern const GUID DBPROPSET_SQLSERVERDBINIT;
 | |
| extern const GUID DBPROPSET_SQLSERVERROWSET;
 | |
| extern const GUID DBPROPSET_SQLSERVERSESSION;
 | |
| extern const GUID DBPROPSET_SQLSERVERCOLUMN;
 | |
| extern const GUID DBPROPSET_SQLSERVERSTREAM;
 | |
| #endif // DBINITCONSTANTS
 | |
| 
 | |
| 
 | |
| //This is a guid candidate : ;
 | |
| //----------------------------------------------------------------------------
 | |
| // Provider-specific columns for IColumnsRowset
 | |
| #ifdef DBINITCONSTANTS
 | |
| extern const DBID DBCOLUMN_SS_COMPFLAGS      = {{0x627bd890,0xed54,0x11d2,{0xb9,0x94,0x0,0xc0,0x4f,0x8c,0xa8,0x2c}}, DBKIND_GUID_PROPID, (LPOLESTR)100};
 | |
| extern const DBID DBCOLUMN_SS_SORTID		 = {{0x627bd890,0xed54,0x11d2,{0xb9,0x94,0x0,0xc0,0x4f,0x8c,0xa8,0x2c}}, DBKIND_GUID_PROPID, (LPOLESTR)101};
 | |
| extern const DBID DBCOLUMN_BASETABLEINSTANCE = {{0x627bd890,0xed54,0x11d2,{0xb9,0x94,0x0,0xc0,0x4f,0x8c,0xa8,0x2c}}, DBKIND_GUID_PROPID, (LPOLESTR)102};
 | |
| extern const DBID DBCOLUMN_SS_TDSCOLLATION   = {{0x627bd890,0xed54,0x11d2,{0xb9,0x94,0x0,0xc0,0x4f,0x8c,0xa8,0x2c}}, DBKIND_GUID_PROPID, (LPOLESTR)103};
 | |
| #else // !DBINITCONSTANTS
 | |
| extern const DBID DBCOLUMN_SS_COMPFLAGS;
 | |
| extern const DBID DBCOLUMN_SS_SORTID;
 | |
| extern const DBID DBCOLUMN_BASETABLEINSTANCE;
 | |
| extern const DBID DBCOLUMN_SS_TDSCOLLATION;   
 | |
| #endif // DBINITCONSTANTS
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // PropIds for DBPROP_INIT_GENERALTIMEOUT
 | |
| #if ( OLEDBVER == 0x0210 )
 | |
| #define DBPROP_INIT_GENERALTIMEOUT		0x11cL
 | |
| #endif
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // PropIds for DBPROPSET_SQLSERVERDATASOURCE
 | |
| #define SSPROP_ENABLEFASTLOAD			2
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // PropIds for DBPROPSET_SQLSERVERDATASOURCEINFO
 | |
| #define SSPROP_UNICODELCID				2
 | |
| #define SSPROP_UNICODECOMPARISONSTYLE	3
 | |
| #define SSPROP_COLUMNLEVELCOLLATION     4
 | |
| #define SSPROP_CHARACTERSET				5
 | |
| #define	SSPROP_SORTORDER				6
 | |
| #define SSPROP_CURRENTCOLLATION			7
 | |
| //----------------------------------------------------------------------------
 | |
| // PropIds for DBPROPSET_SQLSERVERDBINIT 
 | |
| #define SSPROP_INIT_CURRENTLANGUAGE		4
 | |
| #define SSPROP_INIT_NETWORKADDRESS		5
 | |
| #define SSPROP_INIT_NETWORKLIBRARY		6
 | |
| #define SSPROP_INIT_USEPROCFORPREP		7
 | |
| #define SSPROP_INIT_AUTOTRANSLATE		8
 | |
| #define SSPROP_INIT_PACKETSIZE			9
 | |
| #define SSPROP_INIT_APPNAME			10
 | |
| #define SSPROP_INIT_WSID			11
 | |
| #define SSPROP_INIT_FILENAME			12
 | |
| #define SSPROP_INIT_ENCRYPT             13 
 | |
| #define SSPROP_AUTH_REPL_SERVER_NAME	14
 | |
| #define SSPROP_INIT_TAGCOLUMNCOLLATION	15
 | |
| 
 | |
| //-----------------------------------------------------------------------------
 | |
| // Values for SSPROP_USEPROCFORPREP
 | |
| #define SSPROPVAL_USEPROCFORPREP_OFF		0
 | |
| #define SSPROPVAL_USEPROCFORPREP_ON			1
 | |
| #define SSPROPVAL_USEPROCFORPREP_ON_DROP	2
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // PropIds for DBPROPSET_SQLSERVERSESSION
 | |
| #define SSPROP_QUOTEDCATALOGNAMES		2
 | |
| #define SSPROP_ALLOWNATIVEVARIANT		3
 | |
| #define SSPROP_SQLXMLXPROGID			4
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // PropIds for DBPROPSET_SQLSERVERROWSET 
 | |
| #define SSPROP_MAXBLOBLENGTH			8
 | |
| #define SSPROP_FASTLOADOPTIONS			9
 | |
| #define SSPROP_FASTLOADKEEPNULLS		10
 | |
| #define SSPROP_FASTLOADKEEPIDENTITY		11
 | |
| #define SSPROP_CURSORAUTOFETCH			12
 | |
| #define SSPROP_DEFERPREPARE				13
 | |
| #define SSPROP_IRowsetFastLoad			14
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // PropIds for DBPROPSET_SQLSERVERCOLUMN
 | |
| #define SSPROP_COL_COLLATIONNAME		14
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // PropIds for DBPROPSET_SQLSERVERSTREAM
 | |
| #define SSPROP_STREAM_MAPPINGSCHEMA     15
 | |
| #define SSPROP_STREAM_XSL               16
 | |
| #define SSPROP_STREAM_BASEPATH          17
 | |
| #define SSPROP_STREAM_COMMANDTYPE       18
 | |
| #define SSPROP_STREAM_XMLROOT           19
 | |
| #define SSPROP_STREAM_FLAGS             20
 | |
| #define SSPROP_STREAM_CONTENTTYPE       23
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // Possible values for SSPROP_STREAM_FLAGS
 | |
| #define STREAM_FLAGS_DISALLOW_URL           0x00000001
 | |
| #define STREAM_FLAGS_DISALLOW_ABSOLUTE_PATH 0x00000002
 | |
| #define STREAM_FLAGS_DISALLOW_QUERY         0x00000004
 | |
| #define STREAM_FLAGS_DONTCACHEMAPPINGSCHEMA 0x00000008
 | |
| #define STREAM_FLAGS_DONTCACHETEMPLATE      0x00000010
 | |
| #define STREAM_FLAGS_DONTCACHEXSL           0x00000020
 | |
| #define STREAM_FLAGS_DISALLOW_UPDATEGRAMS   0x00000040
 | |
| #define STREAM_FLAGS_RESERVED               0xffff0000
 | |
| 
 | |
| // Values for SSPROPVAL_COMMANDTYPE
 | |
| 
 | |
| #define SSPROPVAL_COMMANDTYPE_REGULAR   21
 | |
| #define SSPROPVAL_COMMANDTYPE_BULKLOAD  22
 | |
| 
 | |
| //-------------------------------------------------------------------
 | |
| // Variant Access macros, similar to ole automation.
 | |
| //-------------------------------------------------------------------
 | |
| 
 | |
| #define V_SS_VT(X)         ((X)->vt)
 | |
| #define V_SS_UNION(X, Y)   ((X)->Y)
 | |
| 
 | |
| #define V_SS_UI1(X)				V_SS_UNION(X, bTinyIntVal)
 | |
| #define V_SS_I2(X)				V_SS_UNION(X, sShortIntVal)
 | |
| #define V_SS_I4(X)				V_SS_UNION(X, lIntVal)
 | |
| #define V_SS_I8(X)				V_SS_UNION(X, llBigIntVal)
 | |
| 
 | |
| #define V_SS_R4(X)				V_SS_UNION(X, fltRealVal)
 | |
| #define V_SS_R8(X)				V_SS_UNION(X, dblFloatVal)
 | |
| #define V_SS_UI4(X)			    V_SS_UNION(X, ulVal)
 | |
| 
 | |
| #define V_SS_MONEY(X)			V_SS_UNION(X, cyMoneyVal)
 | |
| #define V_SS_SMALLMONEY(X)		V_SS_UNION(X, cyMoneyVal)
 | |
| 
 | |
| #define V_SS_WSTRING(X)			V_SS_UNION(X, NCharVal)
 | |
| #define V_SS_WVARSTRING(X)		V_SS_UNION(X, NCharVal)
 | |
| 
 | |
| #define V_SS_STRING(X)			V_SS_UNION(X, CharVal)
 | |
| #define V_SS_VARSTRING(X)		V_SS_UNION(X, CharVal)
 | |
| 
 | |
| #define V_SS_BIT(X)				V_SS_UNION(X, fBitVal)
 | |
| #define V_SS_GUID(X)			V_SS_UNION(X, rgbGuidVal)
 | |
| 
 | |
| #define V_SS_NUMERIC(X)			V_SS_UNION(X, numNumericVal)
 | |
| #define V_SS_DECIMAL(X)			V_SS_UNION(X, numNumericVal)
 | |
| 
 | |
| #define V_SS_BINARY(X)			V_SS_UNION(X, BinaryVal)
 | |
| #define V_SS_VARBINARY(X)		V_SS_UNION(X, BinaryVal)
 | |
| 
 | |
| #define V_SS_DATETIME(X)		V_SS_UNION(X, tsDateTimeVal)
 | |
| #define V_SS_SMALLDATETIME(X)	V_SS_UNION(X, tsDateTimeVal)
 | |
| 
 | |
| #define V_SS_UNKNOWN(X)	V_SS_UNION(X, UnknownType)
 | |
| 
 | |
| //For next release.
 | |
| #define V_SS_IMAGE(X)	V_SS_UNION(X, ImageVal)
 | |
| #define V_SS_TEXT(X)	V_SS_UNION(X, TextVal)
 | |
| #define V_SS_NTEXT(X)	V_SS_UNION(X, NTextVal)
 | |
| 
 | |
| //-------------------------------------------------------------------
 | |
| // define SQL Server Spefific Variant Type
 | |
| //-------------------------------------------------------------------
 | |
| #define DBTYPE_SQLVARIANT   144
 | |
| 
 | |
| enum SQLVARENUM
 | |
|     {	
 | |
| 	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,
 | |
| 
 | |
| 	//Floats
 | |
| 	VT_SS_R4  = DBTYPE_R4,
 | |
| 	VT_SS_R8 = DBTYPE_R8,
 | |
| 
 | |
| 	//Money
 | |
| 	VT_SS_MONEY = DBTYPE_CY,
 | |
| 	VT_SS_SMALLMONEY  = 200,
 | |
| 	
 | |
| 	//Strings
 | |
| 	VT_SS_WSTRING		= 201,
 | |
| 	VT_SS_WVARSTRING	= 202,
 | |
| 	
 | |
| 	VT_SS_STRING	=203,
 | |
| 	VT_SS_VARSTRING	=204,
 | |
| 	
 | |
| 	//Bit
 | |
| 	VT_SS_BIT		=DBTYPE_BOOL,
 | |
| 	
 | |
| 	//Guid
 | |
| 	VT_SS_GUID		=DBTYPE_GUID,
 | |
| 
 | |
| 	//Exact precision
 | |
| 	VT_SS_NUMERIC	=DBTYPE_NUMERIC,
 | |
| 	VT_SS_DECIMAL	=205,
 | |
| 
 | |
| 	//Datetime
 | |
| 	VT_SS_DATETIME		= DBTYPE_DBTIMESTAMP,
 | |
| 	VT_SS_SMALLDATETIME =206,
 | |
| 
 | |
| 	//Binary
 | |
| 	VT_SS_BINARY =207,
 | |
| 	VT_SS_VARBINARY =208,
 | |
| 	//Future
 | |
| 	VT_SS_UNKNOWN	= 209,
 | |
|     };
 | |
| 
 | |
| typedef unsigned short SSVARTYPE;
 | |
| 
 | |
| 
 | |
| //Hungarian : ssv (Sql Server Variant)
 | |
| struct SSVARIANT
 | |
| 	{
 | |
| 		SSVARTYPE vt;
 | |
| 		DWORD dwReserved1;
 | |
| 		DWORD dwReserved2;
 | |
|         union 
 | |
|             {
 | |
| 			BYTE bTinyIntVal;
 | |
| 			SHORT sShortIntVal;
 | |
|             LONG lIntVal;
 | |
|             LONGLONG llBigIntVal;
 | |
|             
 | |
|             FLOAT fltRealVal;
 | |
|             DOUBLE dblFloatVal;
 | |
| 			
 | |
| 			CY cyMoneyVal;
 | |
| 
 | |
| 			struct _NCharVal
 | |
| 				{
 | |
| 				SHORT sActualLength;
 | |
| 				SHORT sMaxLength;
 | |
| 				WCHAR * pwchNCharVal;
 | |
| 				BYTE rgbReserved[5];
 | |
| 				DWORD dwReserved;
 | |
| 				WCHAR * pwchReserved;
 | |
| 				} NCharVal;
 | |
| 
 | |
| 
 | |
| 			struct _CharVal
 | |
| 				{
 | |
| 				SHORT sActualLength;
 | |
| 				SHORT sMaxLength;
 | |
| 				CHAR  * pchCharVal;
 | |
| 				BYTE rgbReserved[5];
 | |
| 				DWORD dwReserved;
 | |
| 				WCHAR * pwchReserved;
 | |
| 				} CharVal;
 | |
| 			
 | |
| 			VARIANT_BOOL  fBitVal;
 | |
| 			BYTE  rgbGuidVal [16];
 | |
| 			
 | |
| 			DB_NUMERIC numNumericVal;		
 | |
| 
 | |
| 			struct _BinaryVal
 | |
| 				{
 | |
| 				SHORT sActualLength;
 | |
| 				SHORT sMaxLength;
 | |
| 				BYTE  * prgbBinaryVal;
 | |
| 				DWORD dwReserved;
 | |
| 				} BinaryVal;
 | |
| 
 | |
| 			DBTIMESTAMP  tsDateTimeVal;
 | |
| 
 | |
| 			struct _UnknownType
 | |
| 				{
 | |
| 				DWORD dwActualLength;
 | |
| 				BYTE rgMetadata [16];
 | |
| 				BYTE * pUnknownData;					
 | |
| 				} UnknownType;
 | |
| 				            
 | |
| 			struct _BLOBType
 | |
| 				{
 | |
| 				DBOBJECT dbobj;
 | |
| 				IUnknown * pUnk; 
 | |
| 				} BLOBType;
 | |
| 			};
 | |
| 
 | |
|     };
 | |
| 
 | |
| 
 | |
| #if defined(__cplusplus) && !defined(CINTERFACE)
 | |
| 
 | |
| //-----------------------------------------------------------------
 | |
| // Class Factory Interface used to initialize pointer to UMS. 
 | |
| //
 | |
| interface IUMSInitialize : public IUnknown
 | |
| {
 | |
| public:
 | |
|     virtual HRESULT STDMETHODCALLTYPE Initialize (VOID * pUMS) = 0;
 | |
| };
 | |
| 
 | |
| 
 | |
| //-----------------------------------------------------------------
 | |
| // Interface used to communicate with UMS.
 | |
| //
 | |
| interface IUMS
 | |
| {
 | |
| public:
 | |
|     virtual VOID STDMETHODCALLTYPE SqlUmsSuspend (ULONG ticks) = 0;
 | |
| 	virtual VOID STDMETHODCALLTYPE SqlUmsYield (ULONG ticks) = 0;
 | |
| 	virtual VOID STDMETHODCALLTYPE SqlUmsSwitchPremptive () = 0;
 | |
| 	virtual VOID STDMETHODCALLTYPE SqlUmsSwitchNonPremptive() = 0;
 | |
| 	virtual BOOL STDMETHODCALLTYPE SqlUmsFIsPremptive() = 0;
 | |
| };
 | |
| 
 | |
| #endif
 | |
| 
 | |
| /* this ALWAYS GENERATED file contains the definitions for the interfaces */
 | |
| 
 | |
| 
 | |
| /* File created by MIDL compiler version 3.03.0110 */
 | |
| /* at Tue May 09 16:41:59 2000
 | |
|  */
 | |
| /* Compiler settings for sqloledb.idl:
 | |
|     Os (OptLev=s), W1, Zp8, env=Win32, ms_ext, c_ext
 | |
|     error checks: none
 | |
| */
 | |
| //@@MIDL_FILE_HEADING(  )
 | |
| 
 | |
| 
 | |
| /* verify that the <rpcndr.h> version is high enough to compile this file*/
 | |
| #ifndef __REQUIRED_RPCNDR_H_VERSION__
 | |
| #define __REQUIRED_RPCNDR_H_VERSION__ 440
 | |
| #endif
 | |
| 
 | |
| #include "rpc.h"
 | |
| #include "rpcndr.h"
 | |
| 
 | |
| #ifndef __RPCNDR_H_VERSION__
 | |
| #error this stub requires an updated version of <rpcndr.h>
 | |
| #endif // __RPCNDR_H_VERSION__
 | |
| 
 | |
| #ifndef COM_NO_WINDOWS_H
 | |
| #include "windows.h"
 | |
| #include "ole2.h"
 | |
| #endif /*COM_NO_WINDOWS_H*/
 | |
| 
 | |
| #ifndef __sqloledb_h__
 | |
| #define __sqloledb_h__
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C"{
 | |
| #endif 
 | |
| 
 | |
| /* Forward Declarations */ 
 | |
| 
 | |
| #ifndef __ISQLServerErrorInfo_FWD_DEFINED__
 | |
| #define __ISQLServerErrorInfo_FWD_DEFINED__
 | |
| typedef interface ISQLServerErrorInfo ISQLServerErrorInfo;
 | |
| #endif 	/* __ISQLServerErrorInfo_FWD_DEFINED__ */
 | |
| 
 | |
| 
 | |
| #ifndef __IRowsetFastLoad_FWD_DEFINED__
 | |
| #define __IRowsetFastLoad_FWD_DEFINED__
 | |
| typedef interface IRowsetFastLoad IRowsetFastLoad;
 | |
| #endif 	/* __IRowsetFastLoad_FWD_DEFINED__ */
 | |
| 
 | |
| 
 | |
| #ifndef __ISchemaLock_FWD_DEFINED__
 | |
| #define __ISchemaLock_FWD_DEFINED__
 | |
| typedef interface ISchemaLock ISchemaLock;
 | |
| #endif 	/* __ISchemaLock_FWD_DEFINED__ */
 | |
| 
 | |
| 
 | |
| /* header files for imported files */
 | |
| #include "unknwn.h"
 | |
| 
 | |
| void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
 | |
| void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
 | |
| 
 | |
| /****************************************
 | |
|  * Generated header for interface: __MIDL_itf_sqloledb_0000
 | |
|  * at Tue May 09 16:41:59 2000
 | |
|  * using MIDL 3.03.0110
 | |
|  ****************************************/
 | |
| /* [local] */ 
 | |
| 
 | |
| 
 | |
| // the structure returned by  ISQLServerErrorInfo::GetSQLServerInfo
 | |
| typedef struct  tagSSErrorInfo
 | |
|     {
 | |
|     LPOLESTR pwszMessage;
 | |
|     LPOLESTR pwszServer;
 | |
|     LPOLESTR pwszProcedure;
 | |
|     LONG lNative;
 | |
|     BYTE bState;
 | |
|     BYTE bClass;
 | |
|     WORD wLineNumber;
 | |
|     }	SSERRORINFO;
 | |
| 
 | |
| 
 | |
| 
 | |
| extern RPC_IF_HANDLE __MIDL_itf_sqloledb_0000_v0_0_c_ifspec;
 | |
| extern RPC_IF_HANDLE __MIDL_itf_sqloledb_0000_v0_0_s_ifspec;
 | |
| 
 | |
| #ifndef __ISQLServerErrorInfo_INTERFACE_DEFINED__
 | |
| #define __ISQLServerErrorInfo_INTERFACE_DEFINED__
 | |
| 
 | |
| /****************************************
 | |
|  * Generated header for interface: ISQLServerErrorInfo
 | |
|  * at Tue May 09 16:41:59 2000
 | |
|  * using MIDL 3.03.0110
 | |
|  ****************************************/
 | |
| /* [unique][object][local][uuid] */ 
 | |
| 
 | |
| 
 | |
| 
 | |
| EXTERN_C const IID IID_ISQLServerErrorInfo;
 | |
| 
 | |
| #if defined(__cplusplus) && !defined(CINTERFACE)
 | |
|     
 | |
|     MIDL_INTERFACE("5CF4CA12-EF21-11d0-97E7-00C04FC2AD98")
 | |
|     ISQLServerErrorInfo : public IUnknown
 | |
|     {
 | |
|     public:
 | |
|         virtual HRESULT STDMETHODCALLTYPE GetErrorInfo( 
 | |
|             /* [out] */ SSERRORINFO __RPC_FAR *__RPC_FAR *ppErrorInfo,
 | |
|             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer) = 0;
 | |
|         
 | |
|     };
 | |
|     
 | |
| #else 	/* C style interface */
 | |
| 
 | |
|     typedef struct ISQLServerErrorInfoVtbl
 | |
|     {
 | |
|         BEGIN_INTERFACE
 | |
|         
 | |
|         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
 | |
|             ISQLServerErrorInfo __RPC_FAR * This,
 | |
|             /* [in] */ REFIID riid,
 | |
|             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
 | |
|         
 | |
|         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
 | |
|             ISQLServerErrorInfo __RPC_FAR * This);
 | |
|         
 | |
|         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
 | |
|             ISQLServerErrorInfo __RPC_FAR * This);
 | |
|         
 | |
|         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetErrorInfo )( 
 | |
|             ISQLServerErrorInfo __RPC_FAR * This,
 | |
|             /* [out] */ SSERRORINFO __RPC_FAR *__RPC_FAR *ppErrorInfo,
 | |
|             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer);
 | |
|         
 | |
|         END_INTERFACE
 | |
|     } ISQLServerErrorInfoVtbl;
 | |
| 
 | |
|     interface ISQLServerErrorInfo
 | |
|     {
 | |
|         CONST_VTBL struct ISQLServerErrorInfoVtbl __RPC_FAR *lpVtbl;
 | |
|     };
 | |
| 
 | |
|     
 | |
| 
 | |
| #ifdef COBJMACROS
 | |
| 
 | |
| 
 | |
| #define ISQLServerErrorInfo_QueryInterface(This,riid,ppvObject)	\
 | |
|     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
 | |
| 
 | |
| #define ISQLServerErrorInfo_AddRef(This)	\
 | |
|     (This)->lpVtbl -> AddRef(This)
 | |
| 
 | |
| #define ISQLServerErrorInfo_Release(This)	\
 | |
|     (This)->lpVtbl -> Release(This)
 | |
| 
 | |
| 
 | |
| #define ISQLServerErrorInfo_GetErrorInfo(This,ppErrorInfo,ppStringsBuffer)	\
 | |
|     (This)->lpVtbl -> GetErrorInfo(This,ppErrorInfo,ppStringsBuffer)
 | |
| 
 | |
| #endif /* COBJMACROS */
 | |
| 
 | |
| 
 | |
| #endif 	/* C style interface */
 | |
| 
 | |
| 
 | |
| 
 | |
| HRESULT STDMETHODCALLTYPE ISQLServerErrorInfo_GetErrorInfo_Proxy( 
 | |
|     ISQLServerErrorInfo __RPC_FAR * This,
 | |
|     /* [out] */ SSERRORINFO __RPC_FAR *__RPC_FAR *ppErrorInfo,
 | |
|     /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppStringsBuffer);
 | |
| 
 | |
| 
 | |
| void __RPC_STUB ISQLServerErrorInfo_GetErrorInfo_Stub(
 | |
|     IRpcStubBuffer *This,
 | |
|     IRpcChannelBuffer *_pRpcChannelBuffer,
 | |
|     PRPC_MESSAGE _pRpcMessage,
 | |
|     DWORD *_pdwStubPhase);
 | |
| 
 | |
| 
 | |
| 
 | |
| #endif 	/* __ISQLServerErrorInfo_INTERFACE_DEFINED__ */
 | |
| 
 | |
| 
 | |
| /****************************************
 | |
|  * Generated header for interface: __MIDL_itf_sqloledb_0006
 | |
|  * at Tue May 09 16:41:59 2000
 | |
|  * using MIDL 3.03.0110
 | |
|  ****************************************/
 | |
| /* [local] */ 
 | |
| 
 | |
| #ifdef _WIN64
 | |
| typedef ULONG_PTR HACCESSOR;
 | |
| #else
 | |
| typedef ULONG HACCESSOR;
 | |
| #endif
 | |
| 
 | |
| 
 | |
| extern RPC_IF_HANDLE __MIDL_itf_sqloledb_0006_v0_0_c_ifspec;
 | |
| extern RPC_IF_HANDLE __MIDL_itf_sqloledb_0006_v0_0_s_ifspec;
 | |
| 
 | |
| #ifndef __IRowsetFastLoad_INTERFACE_DEFINED__
 | |
| #define __IRowsetFastLoad_INTERFACE_DEFINED__
 | |
| 
 | |
| /****************************************
 | |
|  * Generated header for interface: IRowsetFastLoad
 | |
|  * at Tue May 09 16:41:59 2000
 | |
|  * using MIDL 3.03.0110
 | |
|  ****************************************/
 | |
| /* [unique][object][local][uuid] */ 
 | |
| 
 | |
| 
 | |
| 
 | |
| EXTERN_C const IID IID_IRowsetFastLoad;
 | |
| 
 | |
| #if defined(__cplusplus) && !defined(CINTERFACE)
 | |
|     
 | |
|     MIDL_INTERFACE("5CF4CA13-EF21-11d0-97E7-00C04FC2AD98")
 | |
|     IRowsetFastLoad : public IUnknown
 | |
|     {
 | |
|     public:
 | |
|         virtual HRESULT STDMETHODCALLTYPE InsertRow( 
 | |
|             /* [in] */ HACCESSOR hAccessor,
 | |
|             /* [in] */ void __RPC_FAR *pData) = 0;
 | |
|         
 | |
|         virtual HRESULT STDMETHODCALLTYPE Commit( 
 | |
|             /* [in] */ BOOL fDone) = 0;
 | |
|         
 | |
|     };
 | |
|     
 | |
| #else 	/* C style interface */
 | |
| 
 | |
|     typedef struct IRowsetFastLoadVtbl
 | |
|     {
 | |
|         BEGIN_INTERFACE
 | |
|         
 | |
|         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
 | |
|             IRowsetFastLoad __RPC_FAR * This,
 | |
|             /* [in] */ REFIID riid,
 | |
|             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
 | |
|         
 | |
|         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
 | |
|             IRowsetFastLoad __RPC_FAR * This);
 | |
|         
 | |
|         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
 | |
|             IRowsetFastLoad __RPC_FAR * This);
 | |
|         
 | |
|         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InsertRow )( 
 | |
|             IRowsetFastLoad __RPC_FAR * This,
 | |
|             /* [in] */ HACCESSOR hAccessor,
 | |
|             /* [in] */ void __RPC_FAR *pData);
 | |
|         
 | |
|         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Commit )( 
 | |
|             IRowsetFastLoad __RPC_FAR * This,
 | |
|             /* [in] */ BOOL fDone);
 | |
|         
 | |
|         END_INTERFACE
 | |
|     } IRowsetFastLoadVtbl;
 | |
| 
 | |
|     interface IRowsetFastLoad
 | |
|     {
 | |
|         CONST_VTBL struct IRowsetFastLoadVtbl __RPC_FAR *lpVtbl;
 | |
|     };
 | |
| 
 | |
|     
 | |
| 
 | |
| #ifdef COBJMACROS
 | |
| 
 | |
| 
 | |
| #define IRowsetFastLoad_QueryInterface(This,riid,ppvObject)	\
 | |
|     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
 | |
| 
 | |
| #define IRowsetFastLoad_AddRef(This)	\
 | |
|     (This)->lpVtbl -> AddRef(This)
 | |
| 
 | |
| #define IRowsetFastLoad_Release(This)	\
 | |
|     (This)->lpVtbl -> Release(This)
 | |
| 
 | |
| 
 | |
| #define IRowsetFastLoad_InsertRow(This,hAccessor,pData)	\
 | |
|     (This)->lpVtbl -> InsertRow(This,hAccessor,pData)
 | |
| 
 | |
| #define IRowsetFastLoad_Commit(This,fDone)	\
 | |
|     (This)->lpVtbl -> Commit(This,fDone)
 | |
| 
 | |
| #endif /* COBJMACROS */
 | |
| 
 | |
| 
 | |
| #endif 	/* C style interface */
 | |
| 
 | |
| 
 | |
| 
 | |
| HRESULT STDMETHODCALLTYPE IRowsetFastLoad_InsertRow_Proxy( 
 | |
|     IRowsetFastLoad __RPC_FAR * This,
 | |
|     /* [in] */ HACCESSOR hAccessor,
 | |
|     /* [in] */ void __RPC_FAR *pData);
 | |
| 
 | |
| 
 | |
| void __RPC_STUB IRowsetFastLoad_InsertRow_Stub(
 | |
|     IRpcStubBuffer *This,
 | |
|     IRpcChannelBuffer *_pRpcChannelBuffer,
 | |
|     PRPC_MESSAGE _pRpcMessage,
 | |
|     DWORD *_pdwStubPhase);
 | |
| 
 | |
| 
 | |
| HRESULT STDMETHODCALLTYPE IRowsetFastLoad_Commit_Proxy( 
 | |
|     IRowsetFastLoad __RPC_FAR * This,
 | |
|     /* [in] */ BOOL fDone);
 | |
| 
 | |
| 
 | |
| void __RPC_STUB IRowsetFastLoad_Commit_Stub(
 | |
|     IRpcStubBuffer *This,
 | |
|     IRpcChannelBuffer *_pRpcChannelBuffer,
 | |
|     PRPC_MESSAGE _pRpcMessage,
 | |
|     DWORD *_pdwStubPhase);
 | |
| 
 | |
| 
 | |
| 
 | |
| #endif 	/* __IRowsetFastLoad_INTERFACE_DEFINED__ */
 | |
| 
 | |
| 
 | |
| /****************************************
 | |
|  * Generated header for interface: __MIDL_itf_sqloledb_0007
 | |
|  * at Tue May 09 16:41:59 2000
 | |
|  * using MIDL 3.03.0110
 | |
|  ****************************************/
 | |
| /* [local] */ 
 | |
| 
 | |
| typedef DWORD LOCKMODE;
 | |
| 
 | |
| enum LOCKMODEENUM
 | |
|     {	LOCKMODE_INVALID	= 0,
 | |
| 	LOCKMODE_EXCLUSIVE	= LOCKMODE_INVALID + 1,
 | |
| 	LOCKMODE_SHARED	= LOCKMODE_EXCLUSIVE + 1
 | |
|     };
 | |
| 
 | |
| extern RPC_IF_HANDLE __MIDL_itf_sqloledb_0007_v0_0_c_ifspec;
 | |
| extern RPC_IF_HANDLE __MIDL_itf_sqloledb_0007_v0_0_s_ifspec;
 | |
| 
 | |
| #ifndef __ISchemaLock_INTERFACE_DEFINED__
 | |
| #define __ISchemaLock_INTERFACE_DEFINED__
 | |
| 
 | |
| /****************************************
 | |
|  * Generated header for interface: ISchemaLock
 | |
|  * at Tue May 09 16:41:59 2000
 | |
|  * using MIDL 3.03.0110
 | |
|  ****************************************/
 | |
| /* [unique][object][local][uuid] */ 
 | |
| 
 | |
| 
 | |
| 
 | |
| EXTERN_C const IID IID_ISchemaLock;
 | |
| 
 | |
| #if defined(__cplusplus) && !defined(CINTERFACE)
 | |
|     
 | |
|     MIDL_INTERFACE("4C2389FB-2511-11d4-B258-00C04F7971CE")
 | |
|     ISchemaLock : public IUnknown
 | |
|     {
 | |
|     public:
 | |
|         virtual HRESULT STDMETHODCALLTYPE GetSchemaLock( 
 | |
|             /* [in] */ DBID __RPC_FAR *pTableID,
 | |
|             /* [in] */ LOCKMODE lmMode,
 | |
|             /* [out] */ HANDLE __RPC_FAR *phLockHandle,
 | |
|             /* [out] */ ULONGLONG __RPC_FAR *pTableVersion) = 0;
 | |
|         
 | |
|         virtual HRESULT STDMETHODCALLTYPE ReleaseSchemaLock( 
 | |
|             /* [in] */ HANDLE hLockHandle) = 0;
 | |
|         
 | |
|     };
 | |
|     
 | |
| #else 	/* C style interface */
 | |
| 
 | |
|     typedef struct ISchemaLockVtbl
 | |
|     {
 | |
|         BEGIN_INTERFACE
 | |
|         
 | |
|         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
 | |
|             ISchemaLock __RPC_FAR * This,
 | |
|             /* [in] */ REFIID riid,
 | |
|             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
 | |
|         
 | |
|         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
 | |
|             ISchemaLock __RPC_FAR * This);
 | |
|         
 | |
|         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
 | |
|             ISchemaLock __RPC_FAR * This);
 | |
|         
 | |
|         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSchemaLock )( 
 | |
|             ISchemaLock __RPC_FAR * This,
 | |
|             /* [in] */ DBID __RPC_FAR *pTableID,
 | |
|             /* [in] */ LOCKMODE lmMode,
 | |
|             /* [out] */ HANDLE __RPC_FAR *phLockHandle,
 | |
|             /* [out] */ ULONGLONG __RPC_FAR *pTableVersion);
 | |
|         
 | |
|         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseSchemaLock )( 
 | |
|             ISchemaLock __RPC_FAR * This,
 | |
|             /* [in] */ HANDLE hLockHandle);
 | |
|         
 | |
|         END_INTERFACE
 | |
|     } ISchemaLockVtbl;
 | |
| 
 | |
|     interface ISchemaLock
 | |
|     {
 | |
|         CONST_VTBL struct ISchemaLockVtbl __RPC_FAR *lpVtbl;
 | |
|     };
 | |
| 
 | |
|     
 | |
| 
 | |
| #ifdef COBJMACROS
 | |
| 
 | |
| 
 | |
| #define ISchemaLock_QueryInterface(This,riid,ppvObject)	\
 | |
|     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
 | |
| 
 | |
| #define ISchemaLock_AddRef(This)	\
 | |
|     (This)->lpVtbl -> AddRef(This)
 | |
| 
 | |
| #define ISchemaLock_Release(This)	\
 | |
|     (This)->lpVtbl -> Release(This)
 | |
| 
 | |
| 
 | |
| #define ISchemaLock_GetSchemaLock(This,pTableID,lmMode,phLockHandle,pTableVersion)	\
 | |
|     (This)->lpVtbl -> GetSchemaLock(This,pTableID,lmMode,phLockHandle,pTableVersion)
 | |
| 
 | |
| #define ISchemaLock_ReleaseSchemaLock(This,hLockHandle)	\
 | |
|     (This)->lpVtbl -> ReleaseSchemaLock(This,hLockHandle)
 | |
| 
 | |
| #endif /* COBJMACROS */
 | |
| 
 | |
| 
 | |
| #endif 	/* C style interface */
 | |
| 
 | |
| 
 | |
| 
 | |
| HRESULT STDMETHODCALLTYPE ISchemaLock_GetSchemaLock_Proxy( 
 | |
|     ISchemaLock __RPC_FAR * This,
 | |
|     /* [in] */ DBID __RPC_FAR *pTableID,
 | |
|     /* [in] */ LOCKMODE lmMode,
 | |
|     /* [out] */ HANDLE __RPC_FAR *phLockHandle,
 | |
|     /* [out] */ ULONGLONG __RPC_FAR *pTableVersion);
 | |
| 
 | |
| 
 | |
| void __RPC_STUB ISchemaLock_GetSchemaLock_Stub(
 | |
|     IRpcStubBuffer *This,
 | |
|     IRpcChannelBuffer *_pRpcChannelBuffer,
 | |
|     PRPC_MESSAGE _pRpcMessage,
 | |
|     DWORD *_pdwStubPhase);
 | |
| 
 | |
| 
 | |
| HRESULT STDMETHODCALLTYPE ISchemaLock_ReleaseSchemaLock_Proxy( 
 | |
|     ISchemaLock __RPC_FAR * This,
 | |
|     /* [in] */ HANDLE hLockHandle);
 | |
| 
 | |
| 
 | |
| void __RPC_STUB ISchemaLock_ReleaseSchemaLock_Stub(
 | |
|     IRpcStubBuffer *This,
 | |
|     IRpcChannelBuffer *_pRpcChannelBuffer,
 | |
|     PRPC_MESSAGE _pRpcMessage,
 | |
|     DWORD *_pdwStubPhase);
 | |
| 
 | |
| 
 | |
| 
 | |
| #endif 	/* __ISchemaLock_INTERFACE_DEFINED__ */
 | |
| 
 | |
| 
 | |
| /* Additional Prototypes for ALL interfaces */
 | |
| 
 | |
| /* end of Additional Prototypes */
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #endif
 | |
| 
 | |
| #endif //_SQLOLEDB_H_
 |