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
11 #ifndef  _SQLOLEDB_H_
12 #define  _SQLOLEDB_H_
13
14 #ifndef     __oledb_h__
15 #include "oledb.h"
16 #endif    /* __oledb_h__    */
17
18 //----------------------------------------------------------------------------
19 // Provider-specific Class Ids
20 // Provider CLSID         {0C7FF16C-38E3-11d0-97AB-00C04FC2AD98}
21 extern const GUID OLEDBDECLSPEC CLSID_SQLOLEDB                = {0xc7ff16cL,0x38e3,0x11d0,0x97,0xab,0x0,0xc0,0x4f,0xc2,0xad,0x98};
22 // Error Lookup CLSID         {C0932C62-38E5-11d0-97AB-00C04FC2AD98}
23 extern const GUID OLEDBDECLSPEC CLSID_SQLOLEDB_ERROR      = {0xc0932c62L,0x38e5,0x11d0,0x97,0xab,0x0,0xc0,0x4f,0xc2,0xad,0x98};
24 // Enumerator CLSID         {DFA22B8E-E68D-11d0-97E4-00C04FC2AD98}
25 extern const GUID OLEDBDECLSPEC CLSID_SQLOLEDB_ENUMERATOR = {0xdfa22b8eL,0xe68d,0x11d0,0x97,0xe4,0x0,0xc0,0x4f,0xc2,0xad,0x98};
26
27 //----------------------------------------------------------------------------
28 // Provider-specific Interface Ids
29 extern const GUID OLEDBDECLSPEC IID_ISQLServerErrorInfo = {0x5cf4ca12,0xef21,0x11d0,0x97,0xe7,0x0,0xc0,0x4f,0xc2,0xad,0x98};
30 extern const GUID OLEDBDECLSPEC IID_IRowsetFastLoad        = {0x5cf4ca13,0xef21,0x11d0,0x97,0xe7,0x0,0xc0,0x4f,0xc2,0xad,0x98};
31 extern const GUID OLEDBDECLSPEC IID_IUMSInitialize          = {0x5cf4ca14,0xef21,0x11d0,0x97,0xe7,0x0,0xc0,0x4f,0xc2,0xad,0x98};
32 // {4C2389FB-2511-11d4-B258-00C04F7971CE}
33 extern const GUID OLEDBDECLSPEC IID_ISchemaLock               = {0x4c2389fb,0x2511,0x11d4,0xb2,0x58,0x0,0xc0,0x4f,0x79,0x71,0xce};
34 extern const GUID OLEDBDECLSPEC DBGUID_MSSQLXML               = {0x5d531cb2L,0xe6ed,0x11d2,0xb2,0x52,0x00,0xc0,0x4f,0x68,0x1b,0x71};
35 extern const GUID OLEDBDECLSPEC DBGUID_XPATH                    = {0xec2a4293L,0xe898,0x11d2,0xb1,0xb7,0x00,0xc0,0x4f,0x68,0x0c,0x56};
36 // This IID_ICommandStream definition is available in later versions of 
37 // UUID.LIB.  It is also already an extern defined in oledb.h.
38 //
39 #if _MSC_VER < 1300
40 extern const GUID OLEDBDECLSPEC IID_ICommandStream          = {0x0c733abfL,0x2a1c,0x11ce,0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d};
41 #endif // _MSC_VER
42 extern const GUID OLEDBDECLSPEC IID_ISQLXMLHelper           = {0xd22a7678L,0xf860,0x40cd,0xa5,0x67,0x15,0x63,0xde,0xb4,0x6d,0x49};
43
44 //----------------------------------------------------------------------------
45 // Provider-specific schema rowsets
46 extern const GUID OLEDBDECLSPEC DBSCHEMA_LINKEDSERVERS  = {0x9093caf4,0x2eac,0x11d1,0x98,0x9,0x0,0xc0,0x4f,0xc2,0xad,0x98};
47
48 //----------------------------------------------------------------------------
49 // Provider-specific property sets
50 extern const GUID OLEDBDECLSPEC DBPROPSET_SQLSERVERDATASOURCE = {0x28efaee4,0x2d2c,0x11d1,0x98,0x7,0x0,0xc0,0x4f,0xc2,0xad,0x98};
Lines 51 ... 312 are skipped.
313                 IUnknown * pUnk; 
314                 } BLOBType;
315             };
316
317       };
318
319
320 #if defined(__cplusplus) && !defined(CINTERFACE)
321
322 //-----------------------------------------------------------------
323 // Class Factory Interface used to initialize pointer to UMS. 
324 //
325 interface IUMSInitialize : public IUnknown
326 {
327 public:
328       virtual HRESULT STDMETHODCALLTYPE Initialize (VOID * pUMS) = 0;
329 };
330
331
332 //-----------------------------------------------------------------
333 // Interface used to communicate with UMS.
334 //
335 interface IUMS
336 {
337 public:
338       virtual VOID STDMETHODCALLTYPE SqlUmsSuspend (ULONG ticks) = 0;
339     virtual VOID STDMETHODCALLTYPE SqlUmsYield (ULONG ticks) = 0;
340     virtual VOID STDMETHODCALLTYPE SqlUmsSwitchPremptive () = 0;
341     virtual VOID STDMETHODCALLTYPE SqlUmsSwitchNonPremptive() = 0;
342     virtual BOOL STDMETHODCALLTYPE SqlUmsFIsPremptive() = 0;
343 };
344
345 #endif
346
347 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
348
349
350 /* File created by MIDL compiler version 3.03.0110 */
351 /* at Tue May 09 16:41:59 2000
352  */
353 /* Compiler settings for sqloledb.idl:
354       Os (OptLev=s), W1, Zp8, env=Win32, ms_ext, c_ext
355       error checks: none
356 */
357 //@@MIDL_FILE_HEADING(  )
358
359
360 /* verify that the <rpcndr.h> version is high enough to compile this file*/
361 #ifndef __REQUIRED_RPCNDR_H_VERSION__
362 #define __REQUIRED_RPCNDR_H_VERSION__ 440
363 #endif
364
365 #include "rpc.h"
366 #include "rpcndr.h"
367
368 #ifndef __RPCNDR_H_VERSION__
369 #error this stub requires an updated version of <rpcndr.h>
370 #endif // __RPCNDR_H_VERSION__
371
372 #ifndef COM_NO_WINDOWS_H
373 #include "windows.h"
374 #include "ole2.h"
375 #endif /*COM_NO_WINDOWS_H*/
376
377 #ifndef __sqloledb_h__
378 #define __sqloledb_h__
379
380 #ifdef __cplusplus
381 extern "C"{
382 #endif 
383
384 /* Forward Declarations */ 
385
386 #ifndef __ISQLServerErrorInfo_FWD_DEFINED__
387 #define __ISQLServerErrorInfo_FWD_DEFINED__
388 typedef interface ISQLServerErrorInfo ISQLServerErrorInfo;
389 #endif     /* __ISQLServerErrorInfo_FWD_DEFINED__ */
390
391
392 #ifndef __IRowsetFastLoad_FWD_DEFINED__
393 #define __IRowsetFastLoad_FWD_DEFINED__
394 typedef interface IRowsetFastLoad IRowsetFastLoad;
395 #endif     /* __IRowsetFastLoad_FWD_DEFINED__ */
396
397
398 #ifndef __ISchemaLock_FWD_DEFINED__
399 #define __ISchemaLock_FWD_DEFINED__
400 typedef interface ISchemaLock ISchemaLock;
401 #endif     /* __ISchemaLock_FWD_DEFINED__ */
402
403
404 /* header files for imported files */
405 #include "unknwn.h"
406
407 __post __maybenull
408 __post __writableTo(byteCount(size))  
409 void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t size);
410 void __RPC_USER MIDL_user_free(__inout void __RPC_FAR * ); 
411
412 /****************************************
Lines 413 ... 782 are skipped.
783
784 #endif     /* C style interface */
785
786
787
788 HRESULT STDMETHODCALLTYPE ISchemaLock_GetSchemaLock_Proxy( 
789       ISchemaLock __RPC_FAR * This,
790       /* [in] */ DBID __RPC_FAR *pTableID,
791       /* [in] */ LOCKMODE lmMode,
792       /* [out] */ HANDLE __RPC_FAR *phLockHandle,
793       /* [out] */ ULONGLONG __RPC_FAR *pTableVersion);
794
795
796 void __RPC_STUB ISchemaLock_GetSchemaLock_Stub(
797       IRpcStubBuffer *This,
798       IRpcChannelBuffer *_pRpcChannelBuffer,
799       PRPC_MESSAGE _pRpcMessage,
800       DWORD *_pdwStubPhase);
801
802
803 HRESULT STDMETHODCALLTYPE ISchemaLock_ReleaseSchemaLock_Proxy( 
804       ISchemaLock __RPC_FAR * This,
805       /* [in] */ HANDLE hLockHandle);
806
807
808 void __RPC_STUB ISchemaLock_ReleaseSchemaLock_Stub(
809       IRpcStubBuffer *This,
810       IRpcChannelBuffer *_pRpcChannelBuffer,
811       PRPC_MESSAGE _pRpcMessage,
812       DWORD *_pdwStubPhase);
813
814
815
816 #endif     /* __ISchemaLock_INTERFACE_DEFINED__ */
817
818
819 /* Additional Prototypes for ALL interfaces */
820
821 /* end of Additional Prototypes */
822
823 #ifdef __cplusplus
824 }
825 #endif
826
827 #endif
828
829 #endif //_SQLOLEDB_H_
830
831