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 __XOLEHLP__H__
7#define __XOLEHLP__H__
8
9#include <_mingw_unicode.h>
10
11#define EXPORTAPI __declspec(dllexport) HRESULT
12
13const DWORD OLE_TM_CONFIG_VERSION_1 = 1;
14const DWORD OLE_TM_FLAG_NONE = 0x00000000;
15const DWORD OLE_TM_FLAG_NODEMANDSTART = 0x00000001;
16
17const DWORD OLE_TM_FLAG_QUERY_SERVICE_LOCKSTATUS = 0x80000000;
18const DWORD OLE_TM_FLAG_INTERNAL_TO_TM = 0x40000000;
19
20typedef struct _OLE_TM_CONFIG_PARAMS_V1 {
21  DWORD dwVersion;
22  DWORD dwcConcurrencyHint;
23} OLE_TM_CONFIG_PARAMS_V1;
24
25#define DtcGetTransactionManagerEx __MINGW_NAME_AW(DtcGetTransactionManagerEx)
26
27EXPORTAPI __cdecl DtcGetTransactionManager(char *i_pszHost,char *i_pszTmName,REFIID i_riid,DWORD i_dwReserved1,WORD i_wcbReserved2,void *i_pvReserved2,void **o_ppvObject);
28EXTERN_C HRESULT __cdecl DtcGetTransactionManagerC(char *i_pszHost,char *i_pszTmName,REFIID i_riid,DWORD i_dwReserved1,WORD i_wcbReserved2,void *i_pvReserved2,void **o_ppvObject);
29EXTERN_C EXPORTAPI __cdecl DtcGetTransactionManagerExA(char *i_pszHost,char *i_pszTmName,REFIID i_riid,DWORD i_grfOptions,void *i_pvConfigParams,void **o_ppvObject);
30EXTERN_C EXPORTAPI __cdecl DtcGetTransactionManagerExW(WCHAR *i_pwszHost,WCHAR *i_pwszTmName,REFIID i_riid,DWORD i_grfOptions,void *i_pvConfigParams,void **o_ppvObject);
31
32#ifndef EXTERN_GUID
33#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)
34#endif
35
36EXTERN_GUID(CLSID_MSDtcTransactionManager,0x5b18ab61,0x91d,0x11d1,0x97,0xdf,0x0,0xc0,0x4f,0xb9,0x61,0x8a);
37EXTERN_GUID(CLSID_MSDtcTransaction,0x39f8d76b,0x928,0x11d1,0x97,0xdf,0x0,0xc0,0x4f,0xb9,0x61,0x8a);
38#endif
39