master
  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 __REQUIRED_RPCNDR_H_VERSION__
  7#define __REQUIRED_RPCNDR_H_VERSION__ 475
  8#endif
  9
 10#include "rpc.h"
 11#include "rpcndr.h"
 12
 13#ifndef __RPCNDR_H_VERSION__
 14#error This stub requires an updated version of <rpcndr.h>
 15#endif
 16
 17#ifndef COM_NO_WINDOWS_H
 18#include "windows.h"
 19#include "ole2.h"
 20#endif
 21
 22#ifndef __oletx2xa_h__
 23#define __oletx2xa_h__
 24
 25#ifndef __IDtcToXaMapper_FWD_DEFINED__
 26#define __IDtcToXaMapper_FWD_DEFINED__
 27typedef struct IDtcToXaMapper IDtcToXaMapper;
 28#endif
 29
 30#ifndef __IDtcToXaHelperFactory_FWD_DEFINED__
 31#define __IDtcToXaHelperFactory_FWD_DEFINED__
 32typedef struct IDtcToXaHelperFactory IDtcToXaHelperFactory;
 33#endif
 34
 35#ifndef __IDtcToXaHelper_FWD_DEFINED__
 36#define __IDtcToXaHelper_FWD_DEFINED__
 37typedef struct IDtcToXaHelper IDtcToXaHelper;
 38#endif
 39
 40#ifndef __IDtcToXaHelperSinglePipe_FWD_DEFINED__
 41#define __IDtcToXaHelperSinglePipe_FWD_DEFINED__
 42typedef struct IDtcToXaHelperSinglePipe IDtcToXaHelperSinglePipe;
 43#endif
 44
 45#include "unknwn.h"
 46#include "transact.h"
 47#include "txcoord.h"
 48#include "xa.h"
 49
 50#ifdef __cplusplus
 51extern "C" {
 52#endif
 53
 54#ifndef __MIDL_user_allocate_free_DEFINED__
 55#define __MIDL_user_allocate_free_DEFINED__
 56  void *__RPC_API MIDL_user_allocate(size_t);
 57  void __RPC_API MIDL_user_free(void *);
 58#endif
 59
 60  extern RPC_IF_HANDLE __MIDL_itf_oletx2xa_0000_v0_0_c_ifspec;
 61  extern RPC_IF_HANDLE __MIDL_itf_oletx2xa_0000_v0_0_s_ifspec;
 62
 63#ifndef __XaMapperTypes_INTERFACE_DEFINED__
 64#define __XaMapperTypes_INTERFACE_DEFINED__
 65
 66  typedef DWORD XA_SWITCH_FLAGS;
 67
 68#define XA_SWITCH_F_DTC 0x00000001
 69#define XA_FMTID_DTC 0x00445443
 70#define XA_FMTID_DTC_VER1 0x01445443
 71
 72  const XID XID_NULL = {-1,0,0,'\0'};
 73
 74  extern RPC_IF_HANDLE XaMapperTypes_v0_0_c_ifspec;
 75  extern RPC_IF_HANDLE XaMapperTypes_v0_0_s_ifspec;
 76#endif
 77
 78#ifndef __XaMapperAPIs_INTERFACE_DEFINED__
 79#define __XaMapperAPIs_INTERFACE_DEFINED__
 80  HRESULT __cdecl GetXaSwitch(XA_SWITCH_FLAGS XaSwitchFlags,xa_switch_t **ppXaSwitch);
 81
 82  extern RPC_IF_HANDLE XaMapperAPIs_v0_0_c_ifspec;
 83  extern RPC_IF_HANDLE XaMapperAPIs_v0_0_s_ifspec;
 84#endif
 85
 86#ifndef __IDtcToXaMapper_INTERFACE_DEFINED__
 87#define __IDtcToXaMapper_INTERFACE_DEFINED__
 88  EXTERN_C const IID IID_IDtcToXaMapper;
 89#if defined(__cplusplus) && !defined(CINTERFACE)
 90  struct IDtcToXaMapper : public IUnknown {
 91  public:
 92    virtual HRESULT WINAPI RequestNewResourceManager(char *pszDSN,char *pszClientDllName,DWORD *pdwRMCookie) = 0;
 93    virtual HRESULT WINAPI TranslateTridToXid(DWORD *pdwITransaction,DWORD dwRMCookie,XID *pXid) = 0;
 94    virtual HRESULT WINAPI EnlistResourceManager(DWORD dwRMCookie,DWORD *pdwITransaction) = 0;
 95    virtual HRESULT WINAPI ReleaseResourceManager(DWORD dwRMCookie) = 0;
 96  };
 97#else
 98  typedef struct IDtcToXaMapperVtbl {
 99    BEGIN_INTERFACE
100      HRESULT (WINAPI *QueryInterface)(IDtcToXaMapper *This,REFIID riid,void **ppvObject);
101      ULONG (WINAPI *AddRef)(IDtcToXaMapper *This);
102      ULONG (WINAPI *Release)(IDtcToXaMapper *This);
103      HRESULT (WINAPI *RequestNewResourceManager)(IDtcToXaMapper *This,char *pszDSN,char *pszClientDllName,DWORD *pdwRMCookie);
104      HRESULT (WINAPI *TranslateTridToXid)(IDtcToXaMapper *This,DWORD *pdwITransaction,DWORD dwRMCookie,XID *pXid);
105      HRESULT (WINAPI *EnlistResourceManager)(IDtcToXaMapper *This,DWORD dwRMCookie,DWORD *pdwITransaction);
106      HRESULT (WINAPI *ReleaseResourceManager)(IDtcToXaMapper *This,DWORD dwRMCookie);
107    END_INTERFACE
108  } IDtcToXaMapperVtbl;
109  struct IDtcToXaMapper {
110    CONST_VTBL struct IDtcToXaMapperVtbl *lpVtbl;
111  };
112#ifdef COBJMACROS
113#define IDtcToXaMapper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
114#define IDtcToXaMapper_AddRef(This) (This)->lpVtbl->AddRef(This)
115#define IDtcToXaMapper_Release(This) (This)->lpVtbl->Release(This)
116#define IDtcToXaMapper_RequestNewResourceManager(This,pszDSN,pszClientDllName,pdwRMCookie) (This)->lpVtbl->RequestNewResourceManager(This,pszDSN,pszClientDllName,pdwRMCookie)
117#define IDtcToXaMapper_TranslateTridToXid(This,pdwITransaction,dwRMCookie,pXid) (This)->lpVtbl->TranslateTridToXid(This,pdwITransaction,dwRMCookie,pXid)
118#define IDtcToXaMapper_EnlistResourceManager(This,dwRMCookie,pdwITransaction) (This)->lpVtbl->EnlistResourceManager(This,dwRMCookie,pdwITransaction)
119#define IDtcToXaMapper_ReleaseResourceManager(This,dwRMCookie) (This)->lpVtbl->ReleaseResourceManager(This,dwRMCookie)
120#endif
121#endif
122  HRESULT WINAPI IDtcToXaMapper_RequestNewResourceManager_Proxy(IDtcToXaMapper *This,char *pszDSN,char *pszClientDllName,DWORD *pdwRMCookie);
123  void __RPC_STUB IDtcToXaMapper_RequestNewResourceManager_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
124  HRESULT WINAPI IDtcToXaMapper_TranslateTridToXid_Proxy(IDtcToXaMapper *This,DWORD *pdwITransaction,DWORD dwRMCookie,XID *pXid);
125  void __RPC_STUB IDtcToXaMapper_TranslateTridToXid_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
126  HRESULT WINAPI IDtcToXaMapper_EnlistResourceManager_Proxy(IDtcToXaMapper *This,DWORD dwRMCookie,DWORD *pdwITransaction);
127  void __RPC_STUB IDtcToXaMapper_EnlistResourceManager_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
128  HRESULT WINAPI IDtcToXaMapper_ReleaseResourceManager_Proxy(IDtcToXaMapper *This,DWORD dwRMCookie);
129  void __RPC_STUB IDtcToXaMapper_ReleaseResourceManager_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
130#endif
131
132#ifndef __IDtcToXaHelperFactory_INTERFACE_DEFINED__
133#define __IDtcToXaHelperFactory_INTERFACE_DEFINED__
134  EXTERN_C const IID IID_IDtcToXaHelperFactory;
135#if defined(__cplusplus) && !defined(CINTERFACE)
136  struct IDtcToXaHelperFactory : public IUnknown {
137  public:
138    virtual HRESULT WINAPI Create(char *pszDSN,char *pszClientDllName,GUID *pguidRm,IDtcToXaHelper **ppXaHelper) = 0;
139  };
140#else
141  typedef struct IDtcToXaHelperFactoryVtbl {
142    BEGIN_INTERFACE
143      HRESULT (WINAPI *QueryInterface)(IDtcToXaHelperFactory *This,REFIID riid,void **ppvObject);
144      ULONG (WINAPI *AddRef)(IDtcToXaHelperFactory *This);
145      ULONG (WINAPI *Release)(IDtcToXaHelperFactory *This);
146      HRESULT (WINAPI *Create)(IDtcToXaHelperFactory *This,char *pszDSN,char *pszClientDllName,GUID *pguidRm,IDtcToXaHelper **ppXaHelper);
147    END_INTERFACE
148  } IDtcToXaHelperFactoryVtbl;
149  struct IDtcToXaHelperFactory {
150    CONST_VTBL struct IDtcToXaHelperFactoryVtbl *lpVtbl;
151  };
152#ifdef COBJMACROS
153#define IDtcToXaHelperFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
154#define IDtcToXaHelperFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
155#define IDtcToXaHelperFactory_Release(This) (This)->lpVtbl->Release(This)
156#define IDtcToXaHelperFactory_Create(This,pszDSN,pszClientDllName,pguidRm,ppXaHelper) (This)->lpVtbl->Create(This,pszDSN,pszClientDllName,pguidRm,ppXaHelper)
157#endif
158#endif
159  HRESULT WINAPI IDtcToXaHelperFactory_Create_Proxy(IDtcToXaHelperFactory *This,char *pszDSN,char *pszClientDllName,GUID *pguidRm,IDtcToXaHelper **ppXaHelper);
160  void __RPC_STUB IDtcToXaHelperFactory_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
161#endif
162
163#ifndef __IDtcToXaHelper_INTERFACE_DEFINED__
164#define __IDtcToXaHelper_INTERFACE_DEFINED__
165  EXTERN_C const IID IID_IDtcToXaHelper;
166#if defined(__cplusplus) && !defined(CINTERFACE)
167  struct IDtcToXaHelper : public IUnknown {
168  public:
169    virtual HRESULT WINAPI Close(WINBOOL i_fDoRecovery) = 0;
170    virtual HRESULT WINAPI TranslateTridToXid(ITransaction *pITransaction,GUID *pguidBqual,XID *pXid) = 0;
171  };
172#else
173  typedef struct IDtcToXaHelperVtbl {
174    BEGIN_INTERFACE
175      HRESULT (WINAPI *QueryInterface)(IDtcToXaHelper *This,REFIID riid,void **ppvObject);
176      ULONG (WINAPI *AddRef)(IDtcToXaHelper *This);
177      ULONG (WINAPI *Release)(IDtcToXaHelper *This);
178      HRESULT (WINAPI *Close)(IDtcToXaHelper *This,WINBOOL i_fDoRecovery);
179      HRESULT (WINAPI *TranslateTridToXid)(IDtcToXaHelper *This,ITransaction *pITransaction,GUID *pguidBqual,XID *pXid);
180    END_INTERFACE
181  } IDtcToXaHelperVtbl;
182  struct IDtcToXaHelper {
183    CONST_VTBL struct IDtcToXaHelperVtbl *lpVtbl;
184  };
185#ifdef COBJMACROS
186#define IDtcToXaHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
187#define IDtcToXaHelper_AddRef(This) (This)->lpVtbl->AddRef(This)
188#define IDtcToXaHelper_Release(This) (This)->lpVtbl->Release(This)
189#define IDtcToXaHelper_Close(This,i_fDoRecovery) (This)->lpVtbl->Close(This,i_fDoRecovery)
190#define IDtcToXaHelper_TranslateTridToXid(This,pITransaction,pguidBqual,pXid) (This)->lpVtbl->TranslateTridToXid(This,pITransaction,pguidBqual,pXid)
191#endif
192#endif
193  HRESULT WINAPI IDtcToXaHelper_Close_Proxy(IDtcToXaHelper *This,WINBOOL i_fDoRecovery);
194  void __RPC_STUB IDtcToXaHelper_Close_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
195  HRESULT WINAPI IDtcToXaHelper_TranslateTridToXid_Proxy(IDtcToXaHelper *This,ITransaction *pITransaction,GUID *pguidBqual,XID *pXid);
196  void __RPC_STUB IDtcToXaHelper_TranslateTridToXid_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
197#endif
198
199#ifndef __IDtcToXaHelperSinglePipe_INTERFACE_DEFINED__
200#define __IDtcToXaHelperSinglePipe_INTERFACE_DEFINED__
201  EXTERN_C const IID IID_IDtcToXaHelperSinglePipe;
202#if defined(__cplusplus) && !defined(CINTERFACE)
203  struct IDtcToXaHelperSinglePipe : public IUnknown {
204  public:
205    virtual HRESULT WINAPI XARMCreate(char *pszDSN,char *pszClientDll,DWORD *pdwRMCookie) = 0;
206    virtual HRESULT WINAPI ConvertTridToXID(DWORD *pdwITrans,DWORD dwRMCookie,XID *pxid) = 0;
207    virtual HRESULT WINAPI EnlistWithRM(DWORD dwRMCookie,ITransaction *i_pITransaction,ITransactionResourceAsync *i_pITransRes,ITransactionEnlistmentAsync **o_ppITransEnslitment) = 0;
208    virtual void WINAPI ReleaseRMCookie(DWORD i_dwRMCookie,WINBOOL i_fNormal) = 0;
209  };
210#else
211  typedef struct IDtcToXaHelperSinglePipeVtbl {
212    BEGIN_INTERFACE
213      HRESULT (WINAPI *QueryInterface)(IDtcToXaHelperSinglePipe *This,REFIID riid,void **ppvObject);
214      ULONG (WINAPI *AddRef)(IDtcToXaHelperSinglePipe *This);
215      ULONG (WINAPI *Release)(IDtcToXaHelperSinglePipe *This);
216      HRESULT (WINAPI *XARMCreate)(IDtcToXaHelperSinglePipe *This,char *pszDSN,char *pszClientDll,DWORD *pdwRMCookie);
217      HRESULT (WINAPI *ConvertTridToXID)(IDtcToXaHelperSinglePipe *This,DWORD *pdwITrans,DWORD dwRMCookie,XID *pxid);
218      HRESULT (WINAPI *EnlistWithRM)(IDtcToXaHelperSinglePipe *This,DWORD dwRMCookie,ITransaction *i_pITransaction,ITransactionResourceAsync *i_pITransRes,ITransactionEnlistmentAsync **o_ppITransEnslitment);
219      void (WINAPI *ReleaseRMCookie)(IDtcToXaHelperSinglePipe *This,DWORD i_dwRMCookie,WINBOOL i_fNormal);
220    END_INTERFACE
221  } IDtcToXaHelperSinglePipeVtbl;
222  struct IDtcToXaHelperSinglePipe {
223    CONST_VTBL struct IDtcToXaHelperSinglePipeVtbl *lpVtbl;
224  };
225#ifdef COBJMACROS
226#define IDtcToXaHelperSinglePipe_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
227#define IDtcToXaHelperSinglePipe_AddRef(This) (This)->lpVtbl->AddRef(This)
228#define IDtcToXaHelperSinglePipe_Release(This) (This)->lpVtbl->Release(This)
229#define IDtcToXaHelperSinglePipe_XARMCreate(This,pszDSN,pszClientDll,pdwRMCookie) (This)->lpVtbl->XARMCreate(This,pszDSN,pszClientDll,pdwRMCookie)
230#define IDtcToXaHelperSinglePipe_ConvertTridToXID(This,pdwITrans,dwRMCookie,pxid) (This)->lpVtbl->ConvertTridToXID(This,pdwITrans,dwRMCookie,pxid)
231#define IDtcToXaHelperSinglePipe_EnlistWithRM(This,dwRMCookie,i_pITransaction,i_pITransRes,o_ppITransEnslitment) (This)->lpVtbl->EnlistWithRM(This,dwRMCookie,i_pITransaction,i_pITransRes,o_ppITransEnslitment)
232#define IDtcToXaHelperSinglePipe_ReleaseRMCookie(This,i_dwRMCookie,i_fNormal) (This)->lpVtbl->ReleaseRMCookie(This,i_dwRMCookie,i_fNormal)
233#endif
234#endif
235  HRESULT WINAPI IDtcToXaHelperSinglePipe_XARMCreate_Proxy(IDtcToXaHelperSinglePipe *This,char *pszDSN,char *pszClientDll,DWORD *pdwRMCookie);
236  void __RPC_STUB IDtcToXaHelperSinglePipe_XARMCreate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
237  HRESULT WINAPI IDtcToXaHelperSinglePipe_ConvertTridToXID_Proxy(IDtcToXaHelperSinglePipe *This,DWORD *pdwITrans,DWORD dwRMCookie,XID *pxid);
238  void __RPC_STUB IDtcToXaHelperSinglePipe_ConvertTridToXID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
239  HRESULT WINAPI IDtcToXaHelperSinglePipe_EnlistWithRM_Proxy(IDtcToXaHelperSinglePipe *This,DWORD dwRMCookie,ITransaction *i_pITransaction,ITransactionResourceAsync *i_pITransRes,ITransactionEnlistmentAsync **o_ppITransEnslitment);
240  void __RPC_STUB IDtcToXaHelperSinglePipe_EnlistWithRM_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
241  void WINAPI IDtcToXaHelperSinglePipe_ReleaseRMCookie_Proxy(IDtcToXaHelperSinglePipe *This,DWORD i_dwRMCookie,WINBOOL i_fNormal);
242  void __RPC_STUB IDtcToXaHelperSinglePipe_ReleaseRMCookie_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
243#endif
244
245  DEFINE_GUID(IID_IDtcToXaMapper,0x64FFABE0,0x7CE9,0x11d0,0x8C,0xE6,0x00,0xC0,0x4F,0xDC,0x87,0x7E);
246  DEFINE_GUID(IID_IDtcToXaHelperFactory,0xadefc46a,0xcb1d,0x11d0,0xb1,0x35,0x00,0xc0,0x4f,0xc2,0xf3,0xef);
247  DEFINE_GUID(IID_IDtcToXaHelper,0xadefc46b,0xcb1d,0x11d0,0xb1,0x35,0x00,0xc0,0x4f,0xc2,0xf3,0xef);
248  DEFINE_GUID(IID_IDtcToXaHelperSinglePipe,0x47ED4971,0x53B3,0x11d1,0xBB,0xB9,0x00,0xC0,0x4F,0xD6,0x58,0xF6);
249
250  extern RPC_IF_HANDLE __MIDL_itf_oletx2xa_0126_v0_0_c_ifspec;
251  extern RPC_IF_HANDLE __MIDL_itf_oletx2xa_0126_v0_0_s_ifspec;
252
253#ifdef __cplusplus
254}
255#endif
256#endif