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__
27 typedef struct IDtcToXaMapper IDtcToXaMapper;
28 #endif
29 
30 #ifndef __IDtcToXaHelperFactory_FWD_DEFINED__
31 #define __IDtcToXaHelperFactory_FWD_DEFINED__
32 typedef struct IDtcToXaHelperFactory IDtcToXaHelperFactory;
33 #endif
34 
35 #ifndef __IDtcToXaHelper_FWD_DEFINED__
36 #define __IDtcToXaHelper_FWD_DEFINED__
37 typedef struct IDtcToXaHelper IDtcToXaHelper;
38 #endif
39 
40 #ifndef __IDtcToXaHelperSinglePipe_FWD_DEFINED__
41 #define __IDtcToXaHelperSinglePipe_FWD_DEFINED__
42 typedef 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
51 extern "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
257