Home | History | Annotate | Download | only in include
      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 __DTCHELP_H__
      7 #define __DTCHELP_H__
      8 
      9 #include <_mingw_unicode.h>
     10 #include <windows.h>
     11 
     12 #ifndef DEFINED_DTC_STATUS
     13 #define DEFINED_DTC_STATUS
     14 
     15 typedef enum DTC_STATUS_ {
     16   DTC_STATUS_UNKNOWN = 0,DTC_STATUS_STARTING = 1,DTC_STATUS_STARTED = 2,DTC_STATUS_PAUSING = 3,DTC_STATUS_PAUSED = 4,DTC_STATUS_CONTINUING = 5,
     17   DTC_STATUS_STOPPING = 6,DTC_STATUS_STOPPED = 7,DTC_STATUS_E_CANTCONTROL = 8,DTC_STATUS_FAILED = 9
     18 } DTC_STATUS;
     19 #endif
     20 
     21 typedef HRESULT (__cdecl *DTC_GET_TRANSACTION_MANAGER)(char *pszHost,char *pszTmName,REFIID rid,DWORD dwReserved1,WORD wcbReserved2,void *pvReserved2,void **ppvObject);
     22 typedef HRESULT (__cdecl *DTC_GET_TRANSACTION_MANAGER_EX_A)(char *i_pszHost,char *i_pszTmName,REFIID i_riid,DWORD i_grfOptions,void *i_pvConfigParams,void **o_ppvObject);
     23 typedef HRESULT (__cdecl *DTC_GET_TRANSACTION_MANAGER_EX_W)(WCHAR *i_pwszHost,WCHAR *i_pwszTmName,REFIID i_riid,DWORD i_grfOptions,void *i_pvConfigParams,void **o_ppvObject);
     24 typedef HRESULT (*DTC_INSTALL_CLIENT)(LPTSTR i_pszRemoteTmHostName,DWORD i_dwProtocol,DWORD i_dwOverwrite);
     25 
     26 #define DTC_GET_TRANSACTION_MANAGER_EX __MINGW_NAME_UAW(DTC_GET_TRANSACTION_MANAGER_EX)
     27 #define LoadDtcHelperEx __MINGW_NAME_AW(LoadDtcHelperEx)
     28 #define GetDTCStatus __MINGW_NAME_AW(GetDTCStatus)
     29 #define StartDTC __MINGW_NAME_AW(StartDTC)
     30 #define StopDTC __MINGW_NAME_AW(StopDTC)
     31 
     32 #define DTCINSTALL_E_CLIENT_ALREADY_INSTALLED __MSABI_LONG(0x0000180)
     33 #define DTCINSTALL_E_SERVER_ALREADY_INSTALLED __MSABI_LONG(0x0000181)
     34 
     35 const DWORD DTC_INSTALL_OVERWRITE_CLIENT = 0x00000001;
     36 const DWORD DTC_INSTALL_OVERWRITE_SERVER = 0x00000002;
     37 
     38 #ifdef __cplusplus
     39 extern "C" {
     40 #endif
     41   DTC_GET_TRANSACTION_MANAGER __cdecl LoadDtcHelper(void);
     42   DTC_GET_TRANSACTION_MANAGER_EX_A __cdecl LoadDtcHelperExA(void);
     43   DTC_GET_TRANSACTION_MANAGER_EX_W __cdecl LoadDtcHelperExW(void);
     44   void __cdecl FreeDtcHelper(void);
     45   HMODULE __cdecl GetDtcLocaleResourceHandle(void);
     46   HRESULT __cdecl Initialize(void);
     47   HRESULT __cdecl Uninitialize(void);
     48   DTC_STATUS __cdecl GetDTCStatusW(WCHAR *wszHostName);
     49   DTC_STATUS __cdecl GetDTCStatusA(LPSTR szHostName);
     50   HRESULT __cdecl StartDTCW(WCHAR *wszHostName);
     51   HRESULT __cdecl StartDTCA(LPSTR szHostName);
     52   HRESULT __cdecl StopDTCW(WCHAR *wszHostName);
     53   HRESULT __cdecl StopDTCA(LPSTR szHostName);
     54   HRESULT __cdecl DtcInstallClient(LPTSTR i_pszRemoteTmHostName,DWORD i_dwProtocol,DWORD i_dwOverwrite);
     55 #ifdef __cplusplus
     56 }
     57 #endif
     58 
     59 #endif
     60