dtchelp.h 2.6 KB

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