home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tricks of the Windows Gam…ming Gurus (2nd Edition)
/
Disc2.iso
/
vc98
/
include
/
xolehlp.h
< prev
next >
Wrap
C/C++ Source or Header
|
1998-04-25
|
3KB
|
80 lines
/* ----------------------------------------------------------------------------
Microsoft D.T.C (Distributed Transaction Coordinator)
(c) 1995 Microsoft Corporation. All Rights Reserved
@module XOLEHLP.H |
// contains DTC helper APIs used by SQL Server and application clients
// to obtain the transaction manager
-------------------------------------------------------------------------------
@rev 0 | 13-Mar-1995 | GaganC | Created
----------------------------------------------------------------------------- */
#ifndef __XOLEHLP__H__
#define __XOLEHLP__H__
//----------------------------------------
// All defines and constants go here
//----------------------------------------
#define EXPORTAPI __declspec( dllexport )HRESULT
//----------------------------------------
// All function prototypes go here
//----------------------------------------
//This API should be used to obtain an IUnknown or a ITransactionDispenser
//interface from the Microsoft Distributed Transaction Coordinator's proxy.
//Typically, a NULL is passed for the host name and the TM Name. In which
//case the MS DTC on the same host is contacted and the interface provided
//for it.
EXPORTAPI __cdecl DtcGetTransactionManager( char * pszHost,
char * pszTmName,
/* in */ REFIID rid,
/* in */ DWORD dwReserved1,
/* in */ WORD wcbReserved2,
/* in */ void FAR * pvReserved2,
/*out */ void** ppvObject
) ;
EXTERN_C EXPORTAPI __cdecl DtcGetTransactionManagerC
( char * pszHost,
char * pszTmName,
/* in */ REFIID rid,
/* in */ DWORD dwReserved1,
/* in */ WORD wcbReserved2,
/* in */ void FAR * pvReserved2,
/*out */ void** ppvObject
);
//----------------------------------
#ifndef EXTERN_GUID
#define EXTERN_GUID(g,l1,s1,s2,c1,c2,c3,c4,c5,c6,c7,c8) DEFINE_GUID(g,l1,s1,s2,c1,c2,c3,c4,c5,c6,c7,c8)
#endif
///////////////////////////////////////////////////////////////////////////////////////////////
//
// Define a CLSID that can be used to obtain a transaction manager instance via CoCreateInstance;
// this is an alternate to using DtcGetTransactionManager.
//
// CLSID_MSDtcTransactionManager = {5B18AB61-091D-11d1-97DF-00C04FB9618A}
//
EXTERN_GUID(CLSID_MSDtcTransactionManager, 0x5b18ab61, 0x91d, 0x11d1, 0x97, 0xdf, 0x0, 0xc0, 0x4f, 0xb9, 0x61, 0x8a);
///////////////////////////////////////////////////////////////////////////////////////////////
//
// Define a CLSID that can be used with CoCreateInstance to instantiate a vanilla transaction
// object with the local transaction manager. It's equivalent to doing
//
// pTransactionDispenser->BeginTransaction(NULL, ISOLATIONLEVEL_UNSPECIFIED, ISOFLAG_RETAIN_DONTCARE, NULL, &ptx);
//
// CLSID_MSDtcTransaction = {39F8D76B-0928-11d1-97DF-00C04FB9618A}
//
EXTERN_GUID(CLSID_MSDtcTransaction, 0x39f8d76b, 0x928, 0x11d1, 0x97, 0xdf, 0x0, 0xc0, 0x4f, 0xb9, 0x61, 0x8a);
///////////////////////////////////////////////////////////////////////////////////////////////
#endif // __XOLEHLP__H__