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 __txdtc_h__
23 #define __txdtc_h__
24 
25 #ifndef __IXATransLookup_FWD_DEFINED__
26 #define __IXATransLookup_FWD_DEFINED__
27 typedef struct IXATransLookup IXATransLookup;
28 #endif
29 
30 #ifndef __IXATransLookup2_FWD_DEFINED__
31 #define __IXATransLookup2_FWD_DEFINED__
32 typedef struct IXATransLookup2 IXATransLookup2;
33 #endif
34 
35 #ifndef __IResourceManagerSink_FWD_DEFINED__
36 #define __IResourceManagerSink_FWD_DEFINED__
37 typedef struct IResourceManagerSink IResourceManagerSink;
38 #endif
39 
40 #ifndef __IResourceManager_FWD_DEFINED__
41 #define __IResourceManager_FWD_DEFINED__
42 typedef struct IResourceManager IResourceManager;
43 #endif
44 
45 #ifndef __ILastResourceManager_FWD_DEFINED__
46 #define __ILastResourceManager_FWD_DEFINED__
47 typedef struct ILastResourceManager ILastResourceManager;
48 #endif
49 
50 #ifndef __IResourceManager2_FWD_DEFINED__
51 #define __IResourceManager2_FWD_DEFINED__
52 typedef struct IResourceManager2 IResourceManager2;
53 #endif
54 
55 #ifndef __IXAConfig_FWD_DEFINED__
56 #define __IXAConfig_FWD_DEFINED__
57 typedef struct IXAConfig IXAConfig;
58 #endif
59 
60 #ifndef __IRMHelper_FWD_DEFINED__
61 #define __IRMHelper_FWD_DEFINED__
62 typedef struct IRMHelper IRMHelper;
63 #endif
64 
65 #ifndef __IXAObtainRMInfo_FWD_DEFINED__
66 #define __IXAObtainRMInfo_FWD_DEFINED__
67 typedef struct IXAObtainRMInfo IXAObtainRMInfo;
68 #endif
69 
70 #ifndef __IResourceManagerFactory_FWD_DEFINED__
71 #define __IResourceManagerFactory_FWD_DEFINED__
72 typedef struct IResourceManagerFactory IResourceManagerFactory;
73 #endif
74 
75 #ifndef __IResourceManagerFactory2_FWD_DEFINED__
76 #define __IResourceManagerFactory2_FWD_DEFINED__
77 typedef struct IResourceManagerFactory2 IResourceManagerFactory2;
78 #endif
79 
80 #ifndef __IPrepareInfo_FWD_DEFINED__
81 #define __IPrepareInfo_FWD_DEFINED__
82 typedef struct IPrepareInfo IPrepareInfo;
83 #endif
84 
85 #ifndef __IPrepareInfo2_FWD_DEFINED__
86 #define __IPrepareInfo2_FWD_DEFINED__
87 typedef struct IPrepareInfo2 IPrepareInfo2;
88 #endif
89 
90 #ifndef __IGetDispenser_FWD_DEFINED__
91 #define __IGetDispenser_FWD_DEFINED__
92 typedef struct IGetDispenser IGetDispenser;
93 #endif
94 
95 #ifndef __ITransactionVoterBallotAsync2_FWD_DEFINED__
96 #define __ITransactionVoterBallotAsync2_FWD_DEFINED__
97 typedef struct ITransactionVoterBallotAsync2 ITransactionVoterBallotAsync2;
98 #endif
99 
100 #ifndef __ITransactionVoterNotifyAsync2_FWD_DEFINED__
101 #define __ITransactionVoterNotifyAsync2_FWD_DEFINED__
102 typedef struct ITransactionVoterNotifyAsync2 ITransactionVoterNotifyAsync2;
103 #endif
104 
105 #ifndef __ITransactionVoterFactory2_FWD_DEFINED__
106 #define __ITransactionVoterFactory2_FWD_DEFINED__
107 typedef struct ITransactionVoterFactory2 ITransactionVoterFactory2;
108 #endif
109 
110 #ifndef __ITransactionPhase0EnlistmentAsync_FWD_DEFINED__
111 #define __ITransactionPhase0EnlistmentAsync_FWD_DEFINED__
112 typedef struct ITransactionPhase0EnlistmentAsync ITransactionPhase0EnlistmentAsync;
113 #endif
114 
115 #ifndef __ITransactionPhase0NotifyAsync_FWD_DEFINED__
116 #define __ITransactionPhase0NotifyAsync_FWD_DEFINED__
117 typedef struct ITransactionPhase0NotifyAsync ITransactionPhase0NotifyAsync;
118 #endif
119 
120 #ifndef __ITransactionPhase0Factory_FWD_DEFINED__
121 #define __ITransactionPhase0Factory_FWD_DEFINED__
122 typedef struct ITransactionPhase0Factory ITransactionPhase0Factory;
123 #endif
124 
125 #ifndef __ITransactionTransmitter_FWD_DEFINED__
126 #define __ITransactionTransmitter_FWD_DEFINED__
127 typedef struct ITransactionTransmitter ITransactionTransmitter;
128 #endif
129 
130 #ifndef __ITransactionTransmitterFactory_FWD_DEFINED__
131 #define __ITransactionTransmitterFactory_FWD_DEFINED__
132 typedef struct ITransactionTransmitterFactory ITransactionTransmitterFactory;
133 #endif
134 
135 #ifndef __ITransactionReceiver_FWD_DEFINED__
136 #define __ITransactionReceiver_FWD_DEFINED__
137 typedef struct ITransactionReceiver ITransactionReceiver;
138 #endif
139 
140 #ifndef __ITransactionReceiverFactory_FWD_DEFINED__
141 #define __ITransactionReceiverFactory_FWD_DEFINED__
142 typedef struct ITransactionReceiverFactory ITransactionReceiverFactory;
143 #endif
144 
145 #ifndef __IDtcLuConfigure_FWD_DEFINED__
146 #define __IDtcLuConfigure_FWD_DEFINED__
147 typedef struct IDtcLuConfigure IDtcLuConfigure;
148 #endif
149 
150 #ifndef __IDtcLuRecovery_FWD_DEFINED__
151 #define __IDtcLuRecovery_FWD_DEFINED__
152 typedef struct IDtcLuRecovery IDtcLuRecovery;
153 #endif
154 
155 #ifndef __IDtcLuRecoveryFactory_FWD_DEFINED__
156 #define __IDtcLuRecoveryFactory_FWD_DEFINED__
157 typedef struct IDtcLuRecoveryFactory IDtcLuRecoveryFactory;
158 #endif
159 
160 #ifndef __IDtcLuRecoveryInitiatedByDtcTransWork_FWD_DEFINED__
161 #define __IDtcLuRecoveryInitiatedByDtcTransWork_FWD_DEFINED__
162 typedef struct IDtcLuRecoveryInitiatedByDtcTransWork IDtcLuRecoveryInitiatedByDtcTransWork;
163 #endif
164 
165 #ifndef __IDtcLuRecoveryInitiatedByDtcStatusWork_FWD_DEFINED__
166 #define __IDtcLuRecoveryInitiatedByDtcStatusWork_FWD_DEFINED__
167 typedef struct IDtcLuRecoveryInitiatedByDtcStatusWork IDtcLuRecoveryInitiatedByDtcStatusWork;
168 #endif
169 
170 #ifndef __IDtcLuRecoveryInitiatedByDtc_FWD_DEFINED__
171 #define __IDtcLuRecoveryInitiatedByDtc_FWD_DEFINED__
172 typedef struct IDtcLuRecoveryInitiatedByDtc IDtcLuRecoveryInitiatedByDtc;
173 #endif
174 
175 #ifndef __IDtcLuRecoveryInitiatedByLuWork_FWD_DEFINED__
176 #define __IDtcLuRecoveryInitiatedByLuWork_FWD_DEFINED__
177 typedef struct IDtcLuRecoveryInitiatedByLuWork IDtcLuRecoveryInitiatedByLuWork;
178 #endif
179 
180 #ifndef __IDtcLuRecoveryInitiatedByLu_FWD_DEFINED__
181 #define __IDtcLuRecoveryInitiatedByLu_FWD_DEFINED__
182 typedef struct IDtcLuRecoveryInitiatedByLu IDtcLuRecoveryInitiatedByLu;
183 #endif
184 
185 #ifndef __IDtcLuRmEnlistment_FWD_DEFINED__
186 #define __IDtcLuRmEnlistment_FWD_DEFINED__
187 typedef struct IDtcLuRmEnlistment IDtcLuRmEnlistment;
188 #endif
189 
190 #ifndef __IDtcLuRmEnlistmentSink_FWD_DEFINED__
191 #define __IDtcLuRmEnlistmentSink_FWD_DEFINED__
192 typedef struct IDtcLuRmEnlistmentSink IDtcLuRmEnlistmentSink;
193 #endif
194 
195 #ifndef __IDtcLuRmEnlistmentFactory_FWD_DEFINED__
196 #define __IDtcLuRmEnlistmentFactory_FWD_DEFINED__
197 typedef struct IDtcLuRmEnlistmentFactory IDtcLuRmEnlistmentFactory;
198 #endif
199 
200 #ifndef __IDtcLuSubordinateDtc_FWD_DEFINED__
201 #define __IDtcLuSubordinateDtc_FWD_DEFINED__
202 typedef struct IDtcLuSubordinateDtc IDtcLuSubordinateDtc;
203 #endif
204 
205 #ifndef __IDtcLuSubordinateDtcSink_FWD_DEFINED__
206 #define __IDtcLuSubordinateDtcSink_FWD_DEFINED__
207 typedef struct IDtcLuSubordinateDtcSink IDtcLuSubordinateDtcSink;
208 #endif
209 
210 #ifndef __IDtcLuSubordinateDtcFactory_FWD_DEFINED__
211 #define __IDtcLuSubordinateDtcFactory_FWD_DEFINED__
212 typedef struct IDtcLuSubordinateDtcFactory IDtcLuSubordinateDtcFactory;
213 #endif
214 
215 #include "txcoord.h"
216 
217 #ifdef __cplusplus
218 extern "C" {
219 #endif
220 
221 #ifndef __MIDL_user_allocate_free_DEFINED__
222 #define __MIDL_user_allocate_free_DEFINED__
223   void *__RPC_API MIDL_user_allocate(size_t);
224   void __RPC_API MIDL_user_free(void *);
225 #endif
226 
227 #define XACTTOMSG(dwXact) (dwXact-0x00040000+0x40000000)
228   typedef enum XACT_DTC_CONSTANTS {
229     XACT_E_CONNECTION_REQUEST_DENIED = 0x8004d100,XACT_E_TOOMANY_ENLISTMENTS = 0x8004d101,XACT_E_DUPLICATE_GUID = 0x8004d102,
230     XACT_E_NOTSINGLEPHASE = 0x8004d103,XACT_E_RECOVERYALREADYDONE = 0x8004d104,XACT_E_PROTOCOL = 0x8004d105,XACT_E_RM_FAILURE = 0x8004d106,
231     XACT_E_RECOVERY_FAILED = 0x8004d107,XACT_E_LU_NOT_FOUND = 0x8004d108,XACT_E_DUPLICATE_LU = 0x8004d109,XACT_E_LU_NOT_CONNECTED = 0x8004d10a,
232     XACT_E_DUPLICATE_TRANSID = 0x8004d10b,XACT_E_LU_BUSY = 0x8004d10c,XACT_E_LU_NO_RECOVERY_PROCESS = 0x8004d10d,XACT_E_LU_DOWN = 0x8004d10e,
233     XACT_E_LU_RECOVERING = 0x8004d10f,XACT_E_LU_RECOVERY_MISMATCH = 0x8004d110,XACT_E_RM_UNAVAILABLE = 0x8004d111,
234     XACT_E_LRMRECOVERYALREADYDONE = 0x8004d112,XACT_E_NOLASTRESOURCEINTERFACE = 0x8004d113,XACT_S_NONOTIFY = 0x4d100,XACT_OK_NONOTIFY = 0x4d101,
235     dwUSER_MS_SQLSERVER = 0xffff
236   } XACT_DTC_CONSTANTS;
237 
238 #ifndef _XID_T_DEFINED
239 #define _XID_T_DEFINED
240   typedef struct xid_t {
241     __LONG32 formatID;
242     __LONG32 gtrid_length;
243     __LONG32 bqual_length;
244     char data[128 ];
245   } XID;
246 #endif
247 #ifndef _XA_SWITCH_T_DEFINED
248 #define _XA_SWITCH_T_DEFINED
249   typedef struct xa_switch_t {
250     char name[32 ];
251     __LONG32 flags;
252     __LONG32 version;
253     int (__cdecl *xa_open_entry)(char *__MIDL_0004,int __MIDL_0005,__LONG32 __MIDL_0006);
254     int (__cdecl *xa_close_entry)(char *__MIDL_0008,int __MIDL_0009,__LONG32 __MIDL_0010);
255     int (__cdecl *xa_start_entry)(XID *__MIDL_0012,int __MIDL_0013,__LONG32 __MIDL_0014);
256     int (__cdecl *xa_end_entry)(XID *__MIDL_0016,int __MIDL_0017,__LONG32 __MIDL_0018);
257     int (__cdecl *xa_rollback_entry)(XID *__MIDL_0020,int __MIDL_0021,__LONG32 __MIDL_0022);
258     int (__cdecl *xa_prepare_entry)(XID *__MIDL_0024,int __MIDL_0025,__LONG32 __MIDL_0026);
259     int (__cdecl *xa_commit_entry)(XID *__MIDL_0028,int __MIDL_0029,__LONG32 __MIDL_0030);
260     int (__cdecl *xa_recover_entry)(XID *__MIDL_0032,__LONG32 __MIDL_0033,int __MIDL_0034,__LONG32 __MIDL_0035);
261     int (__cdecl *xa_forget_entry)(XID *__MIDL_0037,int __MIDL_0038,__LONG32 __MIDL_0039);
262     int (__cdecl *xa_complete_entry)(int *__MIDL_0041,int *__MIDL_0042,int __MIDL_0043,__LONG32 __MIDL_0044);
263   } xa_switch_t;
264 #endif
265 
266   extern RPC_IF_HANDLE __MIDL_itf_txdtc_0000_v0_0_c_ifspec;
267   extern RPC_IF_HANDLE __MIDL_itf_txdtc_0000_v0_0_s_ifspec;
268 #ifndef __IXATransLookup_INTERFACE_DEFINED__
269 #define __IXATransLookup_INTERFACE_DEFINED__
270   EXTERN_C const IID IID_IXATransLookup;
271 #if defined(__cplusplus) && !defined(CINTERFACE)
272   struct IXATransLookup : public IUnknown {
273   public:
274     virtual HRESULT WINAPI Lookup(ITransaction **ppTransaction) = 0;
275   };
276 #else
277   typedef struct IXATransLookupVtbl {
278     BEGIN_INTERFACE
279       HRESULT (WINAPI *QueryInterface)(IXATransLookup *This,REFIID riid,void **ppvObject);
280       ULONG (WINAPI *AddRef)(IXATransLookup *This);
281       ULONG (WINAPI *Release)(IXATransLookup *This);
282       HRESULT (WINAPI *Lookup)(IXATransLookup *This,ITransaction **ppTransaction);
283     END_INTERFACE
284   } IXATransLookupVtbl;
285   struct IXATransLookup {
286     CONST_VTBL struct IXATransLookupVtbl *lpVtbl;
287   };
288 #ifdef COBJMACROS
289 #define IXATransLookup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
290 #define IXATransLookup_AddRef(This) (This)->lpVtbl->AddRef(This)
291 #define IXATransLookup_Release(This) (This)->lpVtbl->Release(This)
292 #define IXATransLookup_Lookup(This,ppTransaction) (This)->lpVtbl->Lookup(This,ppTransaction)
293 #endif
294 #endif
295   HRESULT WINAPI IXATransLookup_Lookup_Proxy(IXATransLookup *This,ITransaction **ppTransaction);
296   void __RPC_STUB IXATransLookup_Lookup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
297 #endif
298 
299 #ifndef __IXATransLookup2_INTERFACE_DEFINED__
300 #define __IXATransLookup2_INTERFACE_DEFINED__
301   EXTERN_C const IID IID_IXATransLookup2;
302 #if defined(__cplusplus) && !defined(CINTERFACE)
303   struct IXATransLookup2 : public IUnknown {
304   public:
305     virtual HRESULT WINAPI Lookup(XID *pXID,ITransaction **ppTransaction) = 0;
306   };
307 #else
308   typedef struct IXATransLookup2Vtbl {
309     BEGIN_INTERFACE
310       HRESULT (WINAPI *QueryInterface)(IXATransLookup2 *This,REFIID riid,void **ppvObject);
311       ULONG (WINAPI *AddRef)(IXATransLookup2 *This);
312       ULONG (WINAPI *Release)(IXATransLookup2 *This);
313       HRESULT (WINAPI *Lookup)(IXATransLookup2 *This,XID *pXID,ITransaction **ppTransaction);
314     END_INTERFACE
315   } IXATransLookup2Vtbl;
316   struct IXATransLookup2 {
317     CONST_VTBL struct IXATransLookup2Vtbl *lpVtbl;
318   };
319 #ifdef COBJMACROS
320 #define IXATransLookup2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
321 #define IXATransLookup2_AddRef(This) (This)->lpVtbl->AddRef(This)
322 #define IXATransLookup2_Release(This) (This)->lpVtbl->Release(This)
323 #define IXATransLookup2_Lookup(This,pXID,ppTransaction) (This)->lpVtbl->Lookup(This,pXID,ppTransaction)
324 #endif
325 #endif
326   HRESULT WINAPI IXATransLookup2_Lookup_Proxy(IXATransLookup2 *This,XID *pXID,ITransaction **ppTransaction);
327   void __RPC_STUB IXATransLookup2_Lookup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
328 #endif
329 
330 #ifndef __IResourceManagerSink_INTERFACE_DEFINED__
331 #define __IResourceManagerSink_INTERFACE_DEFINED__
332   EXTERN_C const IID IID_IResourceManagerSink;
333 #if defined(__cplusplus) && !defined(CINTERFACE)
334   struct IResourceManagerSink : public IUnknown {
335   public:
336     virtual HRESULT WINAPI TMDown(void) = 0;
337   };
338 #else
339   typedef struct IResourceManagerSinkVtbl {
340     BEGIN_INTERFACE
341       HRESULT (WINAPI *QueryInterface)(IResourceManagerSink *This,REFIID riid,void **ppvObject);
342       ULONG (WINAPI *AddRef)(IResourceManagerSink *This);
343       ULONG (WINAPI *Release)(IResourceManagerSink *This);
344       HRESULT (WINAPI *TMDown)(IResourceManagerSink *This);
345     END_INTERFACE
346   } IResourceManagerSinkVtbl;
347   struct IResourceManagerSink {
348     CONST_VTBL struct IResourceManagerSinkVtbl *lpVtbl;
349   };
350 #ifdef COBJMACROS
351 #define IResourceManagerSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
352 #define IResourceManagerSink_AddRef(This) (This)->lpVtbl->AddRef(This)
353 #define IResourceManagerSink_Release(This) (This)->lpVtbl->Release(This)
354 #define IResourceManagerSink_TMDown(This) (This)->lpVtbl->TMDown(This)
355 #endif
356 #endif
357   HRESULT WINAPI IResourceManagerSink_TMDown_Proxy(IResourceManagerSink *This);
358   void __RPC_STUB IResourceManagerSink_TMDown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
359 #endif
360 #ifndef __IResourceManager_INTERFACE_DEFINED__
361 #define __IResourceManager_INTERFACE_DEFINED__
362   EXTERN_C const IID IID_IResourceManager;
363 #if defined(__cplusplus) && !defined(CINTERFACE)
364   struct IResourceManager : public IUnknown {
365   public:
366     virtual HRESULT WINAPI Enlist(ITransaction *pTransaction,ITransactionResourceAsync *pRes,XACTUOW *pUOW,LONG *pisoLevel,ITransactionEnlistmentAsync **ppEnlist) = 0;
367     virtual HRESULT WINAPI Reenlist(byte *pPrepInfo,ULONG cbPrepInfo,DWORD lTimeout,XACTSTAT *pXactStat) = 0;
368     virtual HRESULT WINAPI ReenlistmentComplete(void) = 0;
369     virtual HRESULT WINAPI GetDistributedTransactionManager(REFIID iid,void **ppvObject) = 0;
370   };
371 #else
372   typedef struct IResourceManagerVtbl {
373     BEGIN_INTERFACE
374       HRESULT (WINAPI *QueryInterface)(IResourceManager *This,REFIID riid,void **ppvObject);
375       ULONG (WINAPI *AddRef)(IResourceManager *This);
376       ULONG (WINAPI *Release)(IResourceManager *This);
377       HRESULT (WINAPI *Enlist)(IResourceManager *This,ITransaction *pTransaction,ITransactionResourceAsync *pRes,XACTUOW *pUOW,LONG *pisoLevel,ITransactionEnlistmentAsync **ppEnlist);
378       HRESULT (WINAPI *Reenlist)(IResourceManager *This,byte *pPrepInfo,ULONG cbPrepInfo,DWORD lTimeout,XACTSTAT *pXactStat);
379       HRESULT (WINAPI *ReenlistmentComplete)(IResourceManager *This);
380       HRESULT (WINAPI *GetDistributedTransactionManager)(IResourceManager *This,REFIID iid,void **ppvObject);
381     END_INTERFACE
382   } IResourceManagerVtbl;
383   struct IResourceManager {
384     CONST_VTBL struct IResourceManagerVtbl *lpVtbl;
385   };
386 #ifdef COBJMACROS
387 #define IResourceManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
388 #define IResourceManager_AddRef(This) (This)->lpVtbl->AddRef(This)
389 #define IResourceManager_Release(This) (This)->lpVtbl->Release(This)
390 #define IResourceManager_Enlist(This,pTransaction,pRes,pUOW,pisoLevel,ppEnlist) (This)->lpVtbl->Enlist(This,pTransaction,pRes,pUOW,pisoLevel,ppEnlist)
391 #define IResourceManager_Reenlist(This,pPrepInfo,cbPrepInfo,lTimeout,pXactStat) (This)->lpVtbl->Reenlist(This,pPrepInfo,cbPrepInfo,lTimeout,pXactStat)
392 #define IResourceManager_ReenlistmentComplete(This) (This)->lpVtbl->ReenlistmentComplete(This)
393 #define IResourceManager_GetDistributedTransactionManager(This,iid,ppvObject) (This)->lpVtbl->GetDistributedTransactionManager(This,iid,ppvObject)
394 #endif
395 #endif
396   HRESULT WINAPI IResourceManager_Enlist_Proxy(IResourceManager *This,ITransaction *pTransaction,ITransactionResourceAsync *pRes,XACTUOW *pUOW,LONG *pisoLevel,ITransactionEnlistmentAsync **ppEnlist);
397   void __RPC_STUB IResourceManager_Enlist_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
398   HRESULT WINAPI IResourceManager_Reenlist_Proxy(IResourceManager *This,byte *pPrepInfo,ULONG cbPrepInfo,DWORD lTimeout,XACTSTAT *pXactStat);
399   void __RPC_STUB IResourceManager_Reenlist_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
400   HRESULT WINAPI IResourceManager_ReenlistmentComplete_Proxy(IResourceManager *This);
401   void __RPC_STUB IResourceManager_ReenlistmentComplete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
402   HRESULT WINAPI IResourceManager_GetDistributedTransactionManager_Proxy(IResourceManager *This,REFIID iid,void **ppvObject);
403   void __RPC_STUB IResourceManager_GetDistributedTransactionManager_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
404 #endif
405 
406 #ifndef __ILastResourceManager_INTERFACE_DEFINED__
407 #define __ILastResourceManager_INTERFACE_DEFINED__
408   EXTERN_C const IID IID_ILastResourceManager;
409 #if defined(__cplusplus) && !defined(CINTERFACE)
410   struct ILastResourceManager : public IUnknown {
411   public:
412     virtual HRESULT WINAPI TransactionCommitted(byte *pPrepInfo,ULONG cbPrepInfo) = 0;
413     virtual HRESULT WINAPI RecoveryDone(void) = 0;
414   };
415 #else
416   typedef struct ILastResourceManagerVtbl {
417     BEGIN_INTERFACE
418       HRESULT (WINAPI *QueryInterface)(ILastResourceManager *This,REFIID riid,void **ppvObject);
419       ULONG (WINAPI *AddRef)(ILastResourceManager *This);
420       ULONG (WINAPI *Release)(ILastResourceManager *This);
421       HRESULT (WINAPI *TransactionCommitted)(ILastResourceManager *This,byte *pPrepInfo,ULONG cbPrepInfo);
422       HRESULT (WINAPI *RecoveryDone)(ILastResourceManager *This);
423     END_INTERFACE
424   } ILastResourceManagerVtbl;
425   struct ILastResourceManager {
426     CONST_VTBL struct ILastResourceManagerVtbl *lpVtbl;
427   };
428 #ifdef COBJMACROS
429 #define ILastResourceManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
430 #define ILastResourceManager_AddRef(This) (This)->lpVtbl->AddRef(This)
431 #define ILastResourceManager_Release(This) (This)->lpVtbl->Release(This)
432 #define ILastResourceManager_TransactionCommitted(This,pPrepInfo,cbPrepInfo) (This)->lpVtbl->TransactionCommitted(This,pPrepInfo,cbPrepInfo)
433 #define ILastResourceManager_RecoveryDone(This) (This)->lpVtbl->RecoveryDone(This)
434 #endif
435 #endif
436   HRESULT WINAPI ILastResourceManager_TransactionCommitted_Proxy(ILastResourceManager *This,byte *pPrepInfo,ULONG cbPrepInfo);
437   void __RPC_STUB ILastResourceManager_TransactionCommitted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
438   HRESULT WINAPI ILastResourceManager_RecoveryDone_Proxy(ILastResourceManager *This);
439   void __RPC_STUB ILastResourceManager_RecoveryDone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
440 #endif
441 
442 #ifndef __IResourceManager2_INTERFACE_DEFINED__
443 #define __IResourceManager2_INTERFACE_DEFINED__
444   EXTERN_C const IID IID_IResourceManager2;
445 #if defined(__cplusplus) && !defined(CINTERFACE)
446   struct IResourceManager2 : public IResourceManager {
447   public:
448     virtual HRESULT WINAPI Enlist2(ITransaction *pTransaction,ITransactionResourceAsync *pResAsync,XACTUOW *pUOW,LONG *pisoLevel,XID *pXid,ITransactionEnlistmentAsync **ppEnlist) = 0;
449     virtual HRESULT WINAPI Reenlist2(XID *pXid,DWORD dwTimeout,XACTSTAT *pXactStat) = 0;
450   };
451 #else
452   typedef struct IResourceManager2Vtbl {
453     BEGIN_INTERFACE
454       HRESULT (WINAPI *QueryInterface)(IResourceManager2 *This,REFIID riid,void **ppvObject);
455       ULONG (WINAPI *AddRef)(IResourceManager2 *This);
456       ULONG (WINAPI *Release)(IResourceManager2 *This);
457       HRESULT (WINAPI *Enlist)(IResourceManager2 *This,ITransaction *pTransaction,ITransactionResourceAsync *pRes,XACTUOW *pUOW,LONG *pisoLevel,ITransactionEnlistmentAsync **ppEnlist);
458       HRESULT (WINAPI *Reenlist)(IResourceManager2 *This,byte *pPrepInfo,ULONG cbPrepInfo,DWORD lTimeout,XACTSTAT *pXactStat);
459       HRESULT (WINAPI *ReenlistmentComplete)(IResourceManager2 *This);
460       HRESULT (WINAPI *GetDistributedTransactionManager)(IResourceManager2 *This,REFIID iid,void **ppvObject);
461       HRESULT (WINAPI *Enlist2)(IResourceManager2 *This,ITransaction *pTransaction,ITransactionResourceAsync *pResAsync,XACTUOW *pUOW,LONG *pisoLevel,XID *pXid,ITransactionEnlistmentAsync **ppEnlist);
462       HRESULT (WINAPI *Reenlist2)(IResourceManager2 *This,XID *pXid,DWORD dwTimeout,XACTSTAT *pXactStat);
463     END_INTERFACE
464   } IResourceManager2Vtbl;
465   struct IResourceManager2 {
466     CONST_VTBL struct IResourceManager2Vtbl *lpVtbl;
467   };
468 #ifdef COBJMACROS
469 #define IResourceManager2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
470 #define IResourceManager2_AddRef(This) (This)->lpVtbl->AddRef(This)
471 #define IResourceManager2_Release(This) (This)->lpVtbl->Release(This)
472 #define IResourceManager2_Enlist(This,pTransaction,pRes,pUOW,pisoLevel,ppEnlist) (This)->lpVtbl->Enlist(This,pTransaction,pRes,pUOW,pisoLevel,ppEnlist)
473 #define IResourceManager2_Reenlist(This,pPrepInfo,cbPrepInfo,lTimeout,pXactStat) (This)->lpVtbl->Reenlist(This,pPrepInfo,cbPrepInfo,lTimeout,pXactStat)
474 #define IResourceManager2_ReenlistmentComplete(This) (This)->lpVtbl->ReenlistmentComplete(This)
475 #define IResourceManager2_GetDistributedTransactionManager(This,iid,ppvObject) (This)->lpVtbl->GetDistributedTransactionManager(This,iid,ppvObject)
476 #define IResourceManager2_Enlist2(This,pTransaction,pResAsync,pUOW,pisoLevel,pXid,ppEnlist) (This)->lpVtbl->Enlist2(This,pTransaction,pResAsync,pUOW,pisoLevel,pXid,ppEnlist)
477 #define IResourceManager2_Reenlist2(This,pXid,dwTimeout,pXactStat) (This)->lpVtbl->Reenlist2(This,pXid,dwTimeout,pXactStat)
478 #endif
479 #endif
480   HRESULT WINAPI IResourceManager2_Enlist2_Proxy(IResourceManager2 *This,ITransaction *pTransaction,ITransactionResourceAsync *pResAsync,XACTUOW *pUOW,LONG *pisoLevel,XID *pXid,ITransactionEnlistmentAsync **ppEnlist);
481   void __RPC_STUB IResourceManager2_Enlist2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
482   HRESULT WINAPI IResourceManager2_Reenlist2_Proxy(IResourceManager2 *This,XID *pXid,DWORD dwTimeout,XACTSTAT *pXactStat);
483   void __RPC_STUB IResourceManager2_Reenlist2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
484 #endif
485 
486 #ifndef __IXAConfig_INTERFACE_DEFINED__
487 #define __IXAConfig_INTERFACE_DEFINED__
488   EXTERN_C const IID IID_IXAConfig;
489 #if defined(__cplusplus) && !defined(CINTERFACE)
490   struct IXAConfig : public IUnknown {
491   public:
492     virtual HRESULT WINAPI Initialize(GUID clsidHelperDll) = 0;
493     virtual HRESULT WINAPI Terminate(void) = 0;
494   };
495 #else
496   typedef struct IXAConfigVtbl {
497     BEGIN_INTERFACE
498       HRESULT (WINAPI *QueryInterface)(IXAConfig *This,REFIID riid,void **ppvObject);
499       ULONG (WINAPI *AddRef)(IXAConfig *This);
500       ULONG (WINAPI *Release)(IXAConfig *This);
501       HRESULT (WINAPI *Initialize)(IXAConfig *This,GUID clsidHelperDll);
502       HRESULT (WINAPI *Terminate)(IXAConfig *This);
503     END_INTERFACE
504   } IXAConfigVtbl;
505   struct IXAConfig {
506     CONST_VTBL struct IXAConfigVtbl *lpVtbl;
507   };
508 #ifdef COBJMACROS
509 #define IXAConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
510 #define IXAConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
511 #define IXAConfig_Release(This) (This)->lpVtbl->Release(This)
512 #define IXAConfig_Initialize(This,clsidHelperDll) (This)->lpVtbl->Initialize(This,clsidHelperDll)
513 #define IXAConfig_Terminate(This) (This)->lpVtbl->Terminate(This)
514 #endif
515 #endif
516   HRESULT WINAPI IXAConfig_Initialize_Proxy(IXAConfig *This,GUID clsidHelperDll);
517   void __RPC_STUB IXAConfig_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
518   HRESULT WINAPI IXAConfig_Terminate_Proxy(IXAConfig *This);
519   void __RPC_STUB IXAConfig_Terminate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
520 #endif
521 
522 #ifndef __IRMHelper_INTERFACE_DEFINED__
523 #define __IRMHelper_INTERFACE_DEFINED__
524   EXTERN_C const IID IID_IRMHelper;
525 #if defined(__cplusplus) && !defined(CINTERFACE)
526   struct IRMHelper : public IUnknown {
527   public:
528     virtual HRESULT WINAPI RMCount(DWORD dwcTotalNumberOfRMs) = 0;
529     virtual HRESULT WINAPI RMInfo(xa_switch_t *pXa_Switch,WINBOOL fCDeclCallingConv,char *pszOpenString,char *pszCloseString,GUID guidRMRecovery) = 0;
530   };
531 #else
532   typedef struct IRMHelperVtbl {
533     BEGIN_INTERFACE
534       HRESULT (WINAPI *QueryInterface)(IRMHelper *This,REFIID riid,void **ppvObject);
535       ULONG (WINAPI *AddRef)(IRMHelper *This);
536       ULONG (WINAPI *Release)(IRMHelper *This);
537       HRESULT (WINAPI *RMCount)(IRMHelper *This,DWORD dwcTotalNumberOfRMs);
538       HRESULT (WINAPI *RMInfo)(IRMHelper *This,xa_switch_t *pXa_Switch,WINBOOL fCDeclCallingConv,char *pszOpenString,char *pszCloseString,GUID guidRMRecovery);
539     END_INTERFACE
540   } IRMHelperVtbl;
541   struct IRMHelper {
542     CONST_VTBL struct IRMHelperVtbl *lpVtbl;
543   };
544 #ifdef COBJMACROS
545 #define IRMHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
546 #define IRMHelper_AddRef(This) (This)->lpVtbl->AddRef(This)
547 #define IRMHelper_Release(This) (This)->lpVtbl->Release(This)
548 #define IRMHelper_RMCount(This,dwcTotalNumberOfRMs) (This)->lpVtbl->RMCount(This,dwcTotalNumberOfRMs)
549 #define IRMHelper_RMInfo(This,pXa_Switch,fCDeclCallingConv,pszOpenString,pszCloseString,guidRMRecovery) (This)->lpVtbl->RMInfo(This,pXa_Switch,fCDeclCallingConv,pszOpenString,pszCloseString,guidRMRecovery)
550 #endif
551 #endif
552   HRESULT WINAPI IRMHelper_RMCount_Proxy(IRMHelper *This,DWORD dwcTotalNumberOfRMs);
553   void __RPC_STUB IRMHelper_RMCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
554   HRESULT WINAPI IRMHelper_RMInfo_Proxy(IRMHelper *This,xa_switch_t *pXa_Switch,WINBOOL fCDeclCallingConv,char *pszOpenString,char *pszCloseString,GUID guidRMRecovery);
555   void __RPC_STUB IRMHelper_RMInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
556 #endif
557 
558 #ifndef __IXAObtainRMInfo_INTERFACE_DEFINED__
559 #define __IXAObtainRMInfo_INTERFACE_DEFINED__
560   EXTERN_C const IID IID_IXAObtainRMInfo;
561 #if defined(__cplusplus) && !defined(CINTERFACE)
562   struct IXAObtainRMInfo : public IUnknown {
563   public:
564     virtual HRESULT WINAPI ObtainRMInfo(IRMHelper *pIRMHelper) = 0;
565   };
566 #else
567   typedef struct IXAObtainRMInfoVtbl {
568     BEGIN_INTERFACE
569       HRESULT (WINAPI *QueryInterface)(IXAObtainRMInfo *This,REFIID riid,void **ppvObject);
570       ULONG (WINAPI *AddRef)(IXAObtainRMInfo *This);
571       ULONG (WINAPI *Release)(IXAObtainRMInfo *This);
572       HRESULT (WINAPI *ObtainRMInfo)(IXAObtainRMInfo *This,IRMHelper *pIRMHelper);
573     END_INTERFACE
574   } IXAObtainRMInfoVtbl;
575   struct IXAObtainRMInfo {
576     CONST_VTBL struct IXAObtainRMInfoVtbl *lpVtbl;
577   };
578 #ifdef COBJMACROS
579 #define IXAObtainRMInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
580 #define IXAObtainRMInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
581 #define IXAObtainRMInfo_Release(This) (This)->lpVtbl->Release(This)
582 #define IXAObtainRMInfo_ObtainRMInfo(This,pIRMHelper) (This)->lpVtbl->ObtainRMInfo(This,pIRMHelper)
583 #endif
584 #endif
585   HRESULT WINAPI IXAObtainRMInfo_ObtainRMInfo_Proxy(IXAObtainRMInfo *This,IRMHelper *pIRMHelper);
586   void __RPC_STUB IXAObtainRMInfo_ObtainRMInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
587 #endif
588 
589 #ifndef __IResourceManagerFactory_INTERFACE_DEFINED__
590 #define __IResourceManagerFactory_INTERFACE_DEFINED__
591   EXTERN_C const IID IID_IResourceManagerFactory;
592 #if defined(__cplusplus) && !defined(CINTERFACE)
593   struct IResourceManagerFactory : public IUnknown {
594   public:
595     virtual HRESULT WINAPI Create(GUID *pguidRM,CHAR *pszRMName,IResourceManagerSink *pIResMgrSink,IResourceManager **ppResMgr) = 0;
596   };
597 #else
598   typedef struct IResourceManagerFactoryVtbl {
599     BEGIN_INTERFACE
600       HRESULT (WINAPI *QueryInterface)(IResourceManagerFactory *This,REFIID riid,void **ppvObject);
601       ULONG (WINAPI *AddRef)(IResourceManagerFactory *This);
602       ULONG (WINAPI *Release)(IResourceManagerFactory *This);
603       HRESULT (WINAPI *Create)(IResourceManagerFactory *This,GUID *pguidRM,CHAR *pszRMName,IResourceManagerSink *pIResMgrSink,IResourceManager **ppResMgr);
604     END_INTERFACE
605   } IResourceManagerFactoryVtbl;
606   struct IResourceManagerFactory {
607     CONST_VTBL struct IResourceManagerFactoryVtbl *lpVtbl;
608   };
609 #ifdef COBJMACROS
610 #define IResourceManagerFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
611 #define IResourceManagerFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
612 #define IResourceManagerFactory_Release(This) (This)->lpVtbl->Release(This)
613 #define IResourceManagerFactory_Create(This,pguidRM,pszRMName,pIResMgrSink,ppResMgr) (This)->lpVtbl->Create(This,pguidRM,pszRMName,pIResMgrSink,ppResMgr)
614 #endif
615 #endif
616   HRESULT WINAPI IResourceManagerFactory_Create_Proxy(IResourceManagerFactory *This,GUID *pguidRM,CHAR *pszRMName,IResourceManagerSink *pIResMgrSink,IResourceManager **ppResMgr);
617   void __RPC_STUB IResourceManagerFactory_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
618 #endif
619 
620 #ifndef __IResourceManagerFactory2_INTERFACE_DEFINED__
621 #define __IResourceManagerFactory2_INTERFACE_DEFINED__
622   EXTERN_C const IID IID_IResourceManagerFactory2;
623 #if defined(__cplusplus) && !defined(CINTERFACE)
624   struct IResourceManagerFactory2 : public IResourceManagerFactory {
625   public:
626     virtual HRESULT WINAPI CreateEx(GUID *pguidRM,CHAR *pszRMName,IResourceManagerSink *pIResMgrSink,REFIID riidRequested,void **ppvResMgr) = 0;
627   };
628 #else
629   typedef struct IResourceManagerFactory2Vtbl {
630     BEGIN_INTERFACE
631       HRESULT (WINAPI *QueryInterface)(IResourceManagerFactory2 *This,REFIID riid,void **ppvObject);
632       ULONG (WINAPI *AddRef)(IResourceManagerFactory2 *This);
633       ULONG (WINAPI *Release)(IResourceManagerFactory2 *This);
634       HRESULT (WINAPI *Create)(IResourceManagerFactory2 *This,GUID *pguidRM,CHAR *pszRMName,IResourceManagerSink *pIResMgrSink,IResourceManager **ppResMgr);
635       HRESULT (WINAPI *CreateEx)(IResourceManagerFactory2 *This,GUID *pguidRM,CHAR *pszRMName,IResourceManagerSink *pIResMgrSink,REFIID riidRequested,void **ppvResMgr);
636     END_INTERFACE
637   } IResourceManagerFactory2Vtbl;
638   struct IResourceManagerFactory2 {
639     CONST_VTBL struct IResourceManagerFactory2Vtbl *lpVtbl;
640   };
641 #ifdef COBJMACROS
642 #define IResourceManagerFactory2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
643 #define IResourceManagerFactory2_AddRef(This) (This)->lpVtbl->AddRef(This)
644 #define IResourceManagerFactory2_Release(This) (This)->lpVtbl->Release(This)
645 #define IResourceManagerFactory2_Create(This,pguidRM,pszRMName,pIResMgrSink,ppResMgr) (This)->lpVtbl->Create(This,pguidRM,pszRMName,pIResMgrSink,ppResMgr)
646 #define IResourceManagerFactory2_CreateEx(This,pguidRM,pszRMName,pIResMgrSink,riidRequested,ppvResMgr) (This)->lpVtbl->CreateEx(This,pguidRM,pszRMName,pIResMgrSink,riidRequested,ppvResMgr)
647 #endif
648 #endif
649   HRESULT WINAPI IResourceManagerFactory2_CreateEx_Proxy(IResourceManagerFactory2 *This,GUID *pguidRM,CHAR *pszRMName,IResourceManagerSink *pIResMgrSink,REFIID riidRequested,void **ppvResMgr);
650   void __RPC_STUB IResourceManagerFactory2_CreateEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
651 #endif
652 
653 #ifndef __IPrepareInfo_INTERFACE_DEFINED__
654 #define __IPrepareInfo_INTERFACE_DEFINED__
655   EXTERN_C const IID IID_IPrepareInfo;
656 #if defined(__cplusplus) && !defined(CINTERFACE)
657   struct IPrepareInfo : public IUnknown {
658   public:
659     virtual HRESULT WINAPI GetPrepareInfoSize(ULONG *pcbPrepInfo) = 0;
660     virtual HRESULT WINAPI GetPrepareInfo(byte *pPrepInfo) = 0;
661   };
662 #else
663   typedef struct IPrepareInfoVtbl {
664     BEGIN_INTERFACE
665       HRESULT (WINAPI *QueryInterface)(IPrepareInfo *This,REFIID riid,void **ppvObject);
666       ULONG (WINAPI *AddRef)(IPrepareInfo *This);
667       ULONG (WINAPI *Release)(IPrepareInfo *This);
668       HRESULT (WINAPI *GetPrepareInfoSize)(IPrepareInfo *This,ULONG *pcbPrepInfo);
669       HRESULT (WINAPI *GetPrepareInfo)(IPrepareInfo *This,byte *pPrepInfo);
670     END_INTERFACE
671   } IPrepareInfoVtbl;
672   struct IPrepareInfo {
673     CONST_VTBL struct IPrepareInfoVtbl *lpVtbl;
674   };
675 #ifdef COBJMACROS
676 #define IPrepareInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
677 #define IPrepareInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
678 #define IPrepareInfo_Release(This) (This)->lpVtbl->Release(This)
679 #define IPrepareInfo_GetPrepareInfoSize(This,pcbPrepInfo) (This)->lpVtbl->GetPrepareInfoSize(This,pcbPrepInfo)
680 #define IPrepareInfo_GetPrepareInfo(This,pPrepInfo) (This)->lpVtbl->GetPrepareInfo(This,pPrepInfo)
681 #endif
682 #endif
683   HRESULT WINAPI IPrepareInfo_GetPrepareInfoSize_Proxy(IPrepareInfo *This,ULONG *pcbPrepInfo);
684   void __RPC_STUB IPrepareInfo_GetPrepareInfoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
685   HRESULT WINAPI IPrepareInfo_GetPrepareInfo_Proxy(IPrepareInfo *This,byte *pPrepInfo);
686   void __RPC_STUB IPrepareInfo_GetPrepareInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
687 #endif
688 
689 #ifndef __IPrepareInfo2_INTERFACE_DEFINED__
690 #define __IPrepareInfo2_INTERFACE_DEFINED__
691   EXTERN_C const IID IID_IPrepareInfo2;
692 #if defined(__cplusplus) && !defined(CINTERFACE)
693   struct IPrepareInfo2 : public IUnknown {
694   public:
695     virtual HRESULT WINAPI GetPrepareInfoSize(ULONG *pcbPrepInfo) = 0;
696     virtual HRESULT WINAPI GetPrepareInfo(ULONG cbPrepareInfo,byte *pPrepInfo) = 0;
697   };
698 #else
699   typedef struct IPrepareInfo2Vtbl {
700     BEGIN_INTERFACE
701       HRESULT (WINAPI *QueryInterface)(IPrepareInfo2 *This,REFIID riid,void **ppvObject);
702       ULONG (WINAPI *AddRef)(IPrepareInfo2 *This);
703       ULONG (WINAPI *Release)(IPrepareInfo2 *This);
704       HRESULT (WINAPI *GetPrepareInfoSize)(IPrepareInfo2 *This,ULONG *pcbPrepInfo);
705       HRESULT (WINAPI *GetPrepareInfo)(IPrepareInfo2 *This,ULONG cbPrepareInfo,byte *pPrepInfo);
706     END_INTERFACE
707   } IPrepareInfo2Vtbl;
708   struct IPrepareInfo2 {
709     CONST_VTBL struct IPrepareInfo2Vtbl *lpVtbl;
710   };
711 #ifdef COBJMACROS
712 #define IPrepareInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
713 #define IPrepareInfo2_AddRef(This) (This)->lpVtbl->AddRef(This)
714 #define IPrepareInfo2_Release(This) (This)->lpVtbl->Release(This)
715 #define IPrepareInfo2_GetPrepareInfoSize(This,pcbPrepInfo) (This)->lpVtbl->GetPrepareInfoSize(This,pcbPrepInfo)
716 #define IPrepareInfo2_GetPrepareInfo(This,cbPrepareInfo,pPrepInfo) (This)->lpVtbl->GetPrepareInfo(This,cbPrepareInfo,pPrepInfo)
717 #endif
718 #endif
719   HRESULT WINAPI IPrepareInfo2_GetPrepareInfoSize_Proxy(IPrepareInfo2 *This,ULONG *pcbPrepInfo);
720   void __RPC_STUB IPrepareInfo2_GetPrepareInfoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
721   HRESULT WINAPI IPrepareInfo2_GetPrepareInfo_Proxy(IPrepareInfo2 *This,ULONG cbPrepareInfo,byte *pPrepInfo);
722   void __RPC_STUB IPrepareInfo2_GetPrepareInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
723 #endif
724 
725 #ifndef __IGetDispenser_INTERFACE_DEFINED__
726 #define __IGetDispenser_INTERFACE_DEFINED__
727   EXTERN_C const IID IID_IGetDispenser;
728 #if defined(__cplusplus) && !defined(CINTERFACE)
729   struct IGetDispenser : public IUnknown {
730   public:
731     virtual HRESULT WINAPI GetDispenser(REFIID iid,void **ppvObject) = 0;
732   };
733 #else
734   typedef struct IGetDispenserVtbl {
735     BEGIN_INTERFACE
736       HRESULT (WINAPI *QueryInterface)(IGetDispenser *This,REFIID riid,void **ppvObject);
737       ULONG (WINAPI *AddRef)(IGetDispenser *This);
738       ULONG (WINAPI *Release)(IGetDispenser *This);
739       HRESULT (WINAPI *GetDispenser)(IGetDispenser *This,REFIID iid,void **ppvObject);
740     END_INTERFACE
741   } IGetDispenserVtbl;
742   struct IGetDispenser {
743     CONST_VTBL struct IGetDispenserVtbl *lpVtbl;
744   };
745 #ifdef COBJMACROS
746 #define IGetDispenser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
747 #define IGetDispenser_AddRef(This) (This)->lpVtbl->AddRef(This)
748 #define IGetDispenser_Release(This) (This)->lpVtbl->Release(This)
749 #define IGetDispenser_GetDispenser(This,iid,ppvObject) (This)->lpVtbl->GetDispenser(This,iid,ppvObject)
750 #endif
751 #endif
752   HRESULT WINAPI IGetDispenser_GetDispenser_Proxy(IGetDispenser *This,REFIID iid,void **ppvObject);
753   void __RPC_STUB IGetDispenser_GetDispenser_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
754 #endif
755 
756 #ifndef __ITransactionVoterBallotAsync2_INTERFACE_DEFINED__
757 #define __ITransactionVoterBallotAsync2_INTERFACE_DEFINED__
758   EXTERN_C const IID IID_ITransactionVoterBallotAsync2;
759 #if defined(__cplusplus) && !defined(CINTERFACE)
760   struct ITransactionVoterBallotAsync2 : public IUnknown {
761   public:
762     virtual HRESULT WINAPI VoteRequestDone(HRESULT hr,BOID *pboidReason) = 0;
763   };
764 #else
765   typedef struct ITransactionVoterBallotAsync2Vtbl {
766     BEGIN_INTERFACE
767       HRESULT (WINAPI *QueryInterface)(ITransactionVoterBallotAsync2 *This,REFIID riid,void **ppvObject);
768       ULONG (WINAPI *AddRef)(ITransactionVoterBallotAsync2 *This);
769       ULONG (WINAPI *Release)(ITransactionVoterBallotAsync2 *This);
770       HRESULT (WINAPI *VoteRequestDone)(ITransactionVoterBallotAsync2 *This,HRESULT hr,BOID *pboidReason);
771     END_INTERFACE
772   } ITransactionVoterBallotAsync2Vtbl;
773   struct ITransactionVoterBallotAsync2 {
774     CONST_VTBL struct ITransactionVoterBallotAsync2Vtbl *lpVtbl;
775   };
776 #ifdef COBJMACROS
777 #define ITransactionVoterBallotAsync2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
778 #define ITransactionVoterBallotAsync2_AddRef(This) (This)->lpVtbl->AddRef(This)
779 #define ITransactionVoterBallotAsync2_Release(This) (This)->lpVtbl->Release(This)
780 #define ITransactionVoterBallotAsync2_VoteRequestDone(This,hr,pboidReason) (This)->lpVtbl->VoteRequestDone(This,hr,pboidReason)
781 #endif
782 #endif
783   HRESULT WINAPI ITransactionVoterBallotAsync2_VoteRequestDone_Proxy(ITransactionVoterBallotAsync2 *This,HRESULT hr,BOID *pboidReason);
784   void __RPC_STUB ITransactionVoterBallotAsync2_VoteRequestDone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
785 #endif
786 
787 #ifndef __ITransactionVoterNotifyAsync2_INTERFACE_DEFINED__
788 #define __ITransactionVoterNotifyAsync2_INTERFACE_DEFINED__
789   EXTERN_C const IID IID_ITransactionVoterNotifyAsync2;
790 #if defined(__cplusplus) && !defined(CINTERFACE)
791   struct ITransactionVoterNotifyAsync2 : public ITransactionOutcomeEvents {
792   public:
793     virtual HRESULT WINAPI VoteRequest(void) = 0;
794   };
795 #else
796   typedef struct ITransactionVoterNotifyAsync2Vtbl {
797     BEGIN_INTERFACE
798       HRESULT (WINAPI *QueryInterface)(ITransactionVoterNotifyAsync2 *This,REFIID riid,void **ppvObject);
799       ULONG (WINAPI *AddRef)(ITransactionVoterNotifyAsync2 *This);
800       ULONG (WINAPI *Release)(ITransactionVoterNotifyAsync2 *This);
801       HRESULT (WINAPI *Committed)(ITransactionVoterNotifyAsync2 *This,WINBOOL fRetaining,XACTUOW *pNewUOW,HRESULT hr);
802       HRESULT (WINAPI *Aborted)(ITransactionVoterNotifyAsync2 *This,BOID *pboidReason,WINBOOL fRetaining,XACTUOW *pNewUOW,HRESULT hr);
803       HRESULT (WINAPI *HeuristicDecision)(ITransactionVoterNotifyAsync2 *This,DWORD dwDecision,BOID *pboidReason,HRESULT hr);
804       HRESULT (WINAPI *Indoubt)(ITransactionVoterNotifyAsync2 *This);
805       HRESULT (WINAPI *VoteRequest)(ITransactionVoterNotifyAsync2 *This);
806     END_INTERFACE
807   } ITransactionVoterNotifyAsync2Vtbl;
808   struct ITransactionVoterNotifyAsync2 {
809     CONST_VTBL struct ITransactionVoterNotifyAsync2Vtbl *lpVtbl;
810   };
811 #ifdef COBJMACROS
812 #define ITransactionVoterNotifyAsync2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
813 #define ITransactionVoterNotifyAsync2_AddRef(This) (This)->lpVtbl->AddRef(This)
814 #define ITransactionVoterNotifyAsync2_Release(This) (This)->lpVtbl->Release(This)
815 #define ITransactionVoterNotifyAsync2_Committed(This,fRetaining,pNewUOW,hr) (This)->lpVtbl->Committed(This,fRetaining,pNewUOW,hr)
816 #define ITransactionVoterNotifyAsync2_Aborted(This,pboidReason,fRetaining,pNewUOW,hr) (This)->lpVtbl->Aborted(This,pboidReason,fRetaining,pNewUOW,hr)
817 #define ITransactionVoterNotifyAsync2_HeuristicDecision(This,dwDecision,pboidReason,hr) (This)->lpVtbl->HeuristicDecision(This,dwDecision,pboidReason,hr)
818 #define ITransactionVoterNotifyAsync2_Indoubt(This) (This)->lpVtbl->Indoubt(This)
819 #define ITransactionVoterNotifyAsync2_VoteRequest(This) (This)->lpVtbl->VoteRequest(This)
820 #endif
821 #endif
822   HRESULT WINAPI ITransactionVoterNotifyAsync2_VoteRequest_Proxy(ITransactionVoterNotifyAsync2 *This);
823   void __RPC_STUB ITransactionVoterNotifyAsync2_VoteRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
824 #endif
825 
826 #ifndef __ITransactionVoterFactory2_INTERFACE_DEFINED__
827 #define __ITransactionVoterFactory2_INTERFACE_DEFINED__
828   EXTERN_C const IID IID_ITransactionVoterFactory2;
829 #if defined(__cplusplus) && !defined(CINTERFACE)
830   struct ITransactionVoterFactory2 : public IUnknown {
831   public:
832     virtual HRESULT WINAPI Create(ITransaction *pTransaction,ITransactionVoterNotifyAsync2 *pVoterNotify,ITransactionVoterBallotAsync2 **ppVoterBallot) = 0;
833   };
834 #else
835   typedef struct ITransactionVoterFactory2Vtbl {
836     BEGIN_INTERFACE
837       HRESULT (WINAPI *QueryInterface)(ITransactionVoterFactory2 *This,REFIID riid,void **ppvObject);
838       ULONG (WINAPI *AddRef)(ITransactionVoterFactory2 *This);
839       ULONG (WINAPI *Release)(ITransactionVoterFactory2 *This);
840       HRESULT (WINAPI *Create)(ITransactionVoterFactory2 *This,ITransaction *pTransaction,ITransactionVoterNotifyAsync2 *pVoterNotify,ITransactionVoterBallotAsync2 **ppVoterBallot);
841     END_INTERFACE
842   } ITransactionVoterFactory2Vtbl;
843   struct ITransactionVoterFactory2 {
844     CONST_VTBL struct ITransactionVoterFactory2Vtbl *lpVtbl;
845   };
846 #ifdef COBJMACROS
847 #define ITransactionVoterFactory2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
848 #define ITransactionVoterFactory2_AddRef(This) (This)->lpVtbl->AddRef(This)
849 #define ITransactionVoterFactory2_Release(This) (This)->lpVtbl->Release(This)
850 #define ITransactionVoterFactory2_Create(This,pTransaction,pVoterNotify,ppVoterBallot) (This)->lpVtbl->Create(This,pTransaction,pVoterNotify,ppVoterBallot)
851 #endif
852 #endif
853   HRESULT WINAPI ITransactionVoterFactory2_Create_Proxy(ITransactionVoterFactory2 *This,ITransaction *pTransaction,ITransactionVoterNotifyAsync2 *pVoterNotify,ITransactionVoterBallotAsync2 **ppVoterBallot);
854   void __RPC_STUB ITransactionVoterFactory2_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
855 #endif
856 
857 #ifndef __ITransactionPhase0EnlistmentAsync_INTERFACE_DEFINED__
858 #define __ITransactionPhase0EnlistmentAsync_INTERFACE_DEFINED__
859   EXTERN_C const IID IID_ITransactionPhase0EnlistmentAsync;
860 #if defined(__cplusplus) && !defined(CINTERFACE)
861   struct ITransactionPhase0EnlistmentAsync : public IUnknown {
862   public:
863     virtual HRESULT WINAPI Enable(void) = 0;
864     virtual HRESULT WINAPI WaitForEnlistment(void) = 0;
865     virtual HRESULT WINAPI Phase0Done(void) = 0;
866     virtual HRESULT WINAPI Unenlist(void) = 0;
867     virtual HRESULT WINAPI GetTransaction(ITransaction **ppITransaction) = 0;
868   };
869 #else
870   typedef struct ITransactionPhase0EnlistmentAsyncVtbl {
871     BEGIN_INTERFACE
872       HRESULT (WINAPI *QueryInterface)(ITransactionPhase0EnlistmentAsync *This,REFIID riid,void **ppvObject);
873       ULONG (WINAPI *AddRef)(ITransactionPhase0EnlistmentAsync *This);
874       ULONG (WINAPI *Release)(ITransactionPhase0EnlistmentAsync *This);
875       HRESULT (WINAPI *Enable)(ITransactionPhase0EnlistmentAsync *This);
876       HRESULT (WINAPI *WaitForEnlistment)(ITransactionPhase0EnlistmentAsync *This);
877       HRESULT (WINAPI *Phase0Done)(ITransactionPhase0EnlistmentAsync *This);
878       HRESULT (WINAPI *Unenlist)(ITransactionPhase0EnlistmentAsync *This);
879       HRESULT (WINAPI *GetTransaction)(ITransactionPhase0EnlistmentAsync *This,ITransaction **ppITransaction);
880     END_INTERFACE
881   } ITransactionPhase0EnlistmentAsyncVtbl;
882   struct ITransactionPhase0EnlistmentAsync {
883     CONST_VTBL struct ITransactionPhase0EnlistmentAsyncVtbl *lpVtbl;
884   };
885 #ifdef COBJMACROS
886 #define ITransactionPhase0EnlistmentAsync_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
887 #define ITransactionPhase0EnlistmentAsync_AddRef(This) (This)->lpVtbl->AddRef(This)
888 #define ITransactionPhase0EnlistmentAsync_Release(This) (This)->lpVtbl->Release(This)
889 #define ITransactionPhase0EnlistmentAsync_Enable(This) (This)->lpVtbl->Enable(This)
890 #define ITransactionPhase0EnlistmentAsync_WaitForEnlistment(This) (This)->lpVtbl->WaitForEnlistment(This)
891 #define ITransactionPhase0EnlistmentAsync_Phase0Done(This) (This)->lpVtbl->Phase0Done(This)
892 #define ITransactionPhase0EnlistmentAsync_Unenlist(This) (This)->lpVtbl->Unenlist(This)
893 #define ITransactionPhase0EnlistmentAsync_GetTransaction(This,ppITransaction) (This)->lpVtbl->GetTransaction(This,ppITransaction)
894 #endif
895 #endif
896   HRESULT WINAPI ITransactionPhase0EnlistmentAsync_Enable_Proxy(ITransactionPhase0EnlistmentAsync *This);
897   void __RPC_STUB ITransactionPhase0EnlistmentAsync_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
898   HRESULT WINAPI ITransactionPhase0EnlistmentAsync_WaitForEnlistment_Proxy(ITransactionPhase0EnlistmentAsync *This);
899   void __RPC_STUB ITransactionPhase0EnlistmentAsync_WaitForEnlistment_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
900   HRESULT WINAPI ITransactionPhase0EnlistmentAsync_Phase0Done_Proxy(ITransactionPhase0EnlistmentAsync *This);
901   void __RPC_STUB ITransactionPhase0EnlistmentAsync_Phase0Done_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
902   HRESULT WINAPI ITransactionPhase0EnlistmentAsync_Unenlist_Proxy(ITransactionPhase0EnlistmentAsync *This);
903   void __RPC_STUB ITransactionPhase0EnlistmentAsync_Unenlist_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
904   HRESULT WINAPI ITransactionPhase0EnlistmentAsync_GetTransaction_Proxy(ITransactionPhase0EnlistmentAsync *This,ITransaction **ppITransaction);
905   void __RPC_STUB ITransactionPhase0EnlistmentAsync_GetTransaction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
906 #endif
907 
908 #ifndef __ITransactionPhase0NotifyAsync_INTERFACE_DEFINED__
909 #define __ITransactionPhase0NotifyAsync_INTERFACE_DEFINED__
910   EXTERN_C const IID IID_ITransactionPhase0NotifyAsync;
911 #if defined(__cplusplus) && !defined(CINTERFACE)
912   struct ITransactionPhase0NotifyAsync : public IUnknown {
913   public:
914     virtual HRESULT WINAPI Phase0Request(WINBOOL fAbortingHint) = 0;
915     virtual HRESULT WINAPI EnlistCompleted(HRESULT status) = 0;
916   };
917 #else
918   typedef struct ITransactionPhase0NotifyAsyncVtbl {
919     BEGIN_INTERFACE
920       HRESULT (WINAPI *QueryInterface)(ITransactionPhase0NotifyAsync *This,REFIID riid,void **ppvObject);
921       ULONG (WINAPI *AddRef)(ITransactionPhase0NotifyAsync *This);
922       ULONG (WINAPI *Release)(ITransactionPhase0NotifyAsync *This);
923       HRESULT (WINAPI *Phase0Request)(ITransactionPhase0NotifyAsync *This,WINBOOL fAbortingHint);
924       HRESULT (WINAPI *EnlistCompleted)(ITransactionPhase0NotifyAsync *This,HRESULT status);
925     END_INTERFACE
926   } ITransactionPhase0NotifyAsyncVtbl;
927   struct ITransactionPhase0NotifyAsync {
928     CONST_VTBL struct ITransactionPhase0NotifyAsyncVtbl *lpVtbl;
929   };
930 #ifdef COBJMACROS
931 #define ITransactionPhase0NotifyAsync_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
932 #define ITransactionPhase0NotifyAsync_AddRef(This) (This)->lpVtbl->AddRef(This)
933 #define ITransactionPhase0NotifyAsync_Release(This) (This)->lpVtbl->Release(This)
934 #define ITransactionPhase0NotifyAsync_Phase0Request(This,fAbortingHint) (This)->lpVtbl->Phase0Request(This,fAbortingHint)
935 #define ITransactionPhase0NotifyAsync_EnlistCompleted(This,status) (This)->lpVtbl->EnlistCompleted(This,status)
936 #endif
937 #endif
938   HRESULT WINAPI ITransactionPhase0NotifyAsync_Phase0Request_Proxy(ITransactionPhase0NotifyAsync *This,WINBOOL fAbortingHint);
939   void __RPC_STUB ITransactionPhase0NotifyAsync_Phase0Request_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
940   HRESULT WINAPI ITransactionPhase0NotifyAsync_EnlistCompleted_Proxy(ITransactionPhase0NotifyAsync *This,HRESULT status);
941   void __RPC_STUB ITransactionPhase0NotifyAsync_EnlistCompleted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
942 #endif
943 
944 #ifndef __ITransactionPhase0Factory_INTERFACE_DEFINED__
945 #define __ITransactionPhase0Factory_INTERFACE_DEFINED__
946   EXTERN_C const IID IID_ITransactionPhase0Factory;
947 #if defined(__cplusplus) && !defined(CINTERFACE)
948   struct ITransactionPhase0Factory : public IUnknown {
949   public:
950     virtual HRESULT WINAPI Create(ITransactionPhase0NotifyAsync *pPhase0Notify,ITransactionPhase0EnlistmentAsync **ppPhase0Enlistment) = 0;
951   };
952 #else
953   typedef struct ITransactionPhase0FactoryVtbl {
954     BEGIN_INTERFACE
955       HRESULT (WINAPI *QueryInterface)(ITransactionPhase0Factory *This,REFIID riid,void **ppvObject);
956       ULONG (WINAPI *AddRef)(ITransactionPhase0Factory *This);
957       ULONG (WINAPI *Release)(ITransactionPhase0Factory *This);
958       HRESULT (WINAPI *Create)(ITransactionPhase0Factory *This,ITransactionPhase0NotifyAsync *pPhase0Notify,ITransactionPhase0EnlistmentAsync **ppPhase0Enlistment);
959     END_INTERFACE
960   } ITransactionPhase0FactoryVtbl;
961   struct ITransactionPhase0Factory {
962     CONST_VTBL struct ITransactionPhase0FactoryVtbl *lpVtbl;
963   };
964 #ifdef COBJMACROS
965 #define ITransactionPhase0Factory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
966 #define ITransactionPhase0Factory_AddRef(This) (This)->lpVtbl->AddRef(This)
967 #define ITransactionPhase0Factory_Release(This) (This)->lpVtbl->Release(This)
968 #define ITransactionPhase0Factory_Create(This,pPhase0Notify,ppPhase0Enlistment) (This)->lpVtbl->Create(This,pPhase0Notify,ppPhase0Enlistment)
969 #endif
970 #endif
971   HRESULT WINAPI ITransactionPhase0Factory_Create_Proxy(ITransactionPhase0Factory *This,ITransactionPhase0NotifyAsync *pPhase0Notify,ITransactionPhase0EnlistmentAsync **ppPhase0Enlistment);
972   void __RPC_STUB ITransactionPhase0Factory_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
973 #endif
974 
975 #ifndef __ITransactionTransmitter_INTERFACE_DEFINED__
976 #define __ITransactionTransmitter_INTERFACE_DEFINED__
977   EXTERN_C const IID IID_ITransactionTransmitter;
978 #if defined(__cplusplus) && !defined(CINTERFACE)
979   struct ITransactionTransmitter : public IUnknown {
980   public:
981     virtual HRESULT WINAPI Set(ITransaction *pTransaction) = 0;
982     virtual HRESULT WINAPI GetPropagationTokenSize(ULONG *pcbToken) = 0;
983     virtual HRESULT WINAPI MarshalPropagationToken(ULONG cbToken,byte *rgbToken,ULONG *pcbUsed) = 0;
984     virtual HRESULT WINAPI UnmarshalReturnToken(ULONG cbReturnToken,byte *rgbReturnToken) = 0;
985     virtual HRESULT WINAPI Reset(void) = 0;
986   };
987 #else
988   typedef struct ITransactionTransmitterVtbl {
989     BEGIN_INTERFACE
990       HRESULT (WINAPI *QueryInterface)(ITransactionTransmitter *This,REFIID riid,void **ppvObject);
991       ULONG (WINAPI *AddRef)(ITransactionTransmitter *This);
992       ULONG (WINAPI *Release)(ITransactionTransmitter *This);
993       HRESULT (WINAPI *Set)(ITransactionTransmitter *This,ITransaction *pTransaction);
994       HRESULT (WINAPI *GetPropagationTokenSize)(ITransactionTransmitter *This,ULONG *pcbToken);
995       HRESULT (WINAPI *MarshalPropagationToken)(ITransactionTransmitter *This,ULONG cbToken,byte *rgbToken,ULONG *pcbUsed);
996       HRESULT (WINAPI *UnmarshalReturnToken)(ITransactionTransmitter *This,ULONG cbReturnToken,byte *rgbReturnToken);
997       HRESULT (WINAPI *Reset)(ITransactionTransmitter *This);
998     END_INTERFACE
999   } ITransactionTransmitterVtbl;
1000   struct ITransactionTransmitter {
1001     CONST_VTBL struct ITransactionTransmitterVtbl *lpVtbl;
1002   };
1003 #ifdef COBJMACROS
1004 #define ITransactionTransmitter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1005 #define ITransactionTransmitter_AddRef(This) (This)->lpVtbl->AddRef(This)
1006 #define ITransactionTransmitter_Release(This) (This)->lpVtbl->Release(This)
1007 #define ITransactionTransmitter_Set(This,pTransaction) (This)->lpVtbl->Set(This,pTransaction)
1008 #define ITransactionTransmitter_GetPropagationTokenSize(This,pcbToken) (This)->lpVtbl->GetPropagationTokenSize(This,pcbToken)
1009 #define ITransactionTransmitter_MarshalPropagationToken(This,cbToken,rgbToken,pcbUsed) (This)->lpVtbl->MarshalPropagationToken(This,cbToken,rgbToken,pcbUsed)
1010 #define ITransactionTransmitter_UnmarshalReturnToken(This,cbReturnToken,rgbReturnToken) (This)->lpVtbl->UnmarshalReturnToken(This,cbReturnToken,rgbReturnToken)
1011 #define ITransactionTransmitter_Reset(This) (This)->lpVtbl->Reset(This)
1012 #endif
1013 #endif
1014   HRESULT WINAPI ITransactionTransmitter_Set_Proxy(ITransactionTransmitter *This,ITransaction *pTransaction);
1015   void __RPC_STUB ITransactionTransmitter_Set_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1016   HRESULT WINAPI ITransactionTransmitter_GetPropagationTokenSize_Proxy(ITransactionTransmitter *This,ULONG *pcbToken);
1017   void __RPC_STUB ITransactionTransmitter_GetPropagationTokenSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1018   HRESULT WINAPI ITransactionTransmitter_MarshalPropagationToken_Proxy(ITransactionTransmitter *This,ULONG cbToken,byte *rgbToken,ULONG *pcbUsed);
1019   void __RPC_STUB ITransactionTransmitter_MarshalPropagationToken_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1020   HRESULT WINAPI ITransactionTransmitter_UnmarshalReturnToken_Proxy(ITransactionTransmitter *This,ULONG cbReturnToken,byte *rgbReturnToken);
1021   void __RPC_STUB ITransactionTransmitter_UnmarshalReturnToken_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1022   HRESULT WINAPI ITransactionTransmitter_Reset_Proxy(ITransactionTransmitter *This);
1023   void __RPC_STUB ITransactionTransmitter_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1024 #endif
1025 
1026 #ifndef __ITransactionTransmitterFactory_INTERFACE_DEFINED__
1027 #define __ITransactionTransmitterFactory_INTERFACE_DEFINED__
1028   EXTERN_C const IID IID_ITransactionTransmitterFactory;
1029 #if defined(__cplusplus) && !defined(CINTERFACE)
1030   struct ITransactionTransmitterFactory : public IUnknown {
1031   public:
1032     virtual HRESULT WINAPI Create(ITransactionTransmitter **ppTransmitter) = 0;
1033   };
1034 #else
1035   typedef struct ITransactionTransmitterFactoryVtbl {
1036     BEGIN_INTERFACE
1037       HRESULT (WINAPI *QueryInterface)(ITransactionTransmitterFactory *This,REFIID riid,void **ppvObject);
1038       ULONG (WINAPI *AddRef)(ITransactionTransmitterFactory *This);
1039       ULONG (WINAPI *Release)(ITransactionTransmitterFactory *This);
1040       HRESULT (WINAPI *Create)(ITransactionTransmitterFactory *This,ITransactionTransmitter **ppTransmitter);
1041     END_INTERFACE
1042   } ITransactionTransmitterFactoryVtbl;
1043   struct ITransactionTransmitterFactory {
1044     CONST_VTBL struct ITransactionTransmitterFactoryVtbl *lpVtbl;
1045   };
1046 #ifdef COBJMACROS
1047 #define ITransactionTransmitterFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1048 #define ITransactionTransmitterFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
1049 #define ITransactionTransmitterFactory_Release(This) (This)->lpVtbl->Release(This)
1050 #define ITransactionTransmitterFactory_Create(This,ppTransmitter) (This)->lpVtbl->Create(This,ppTransmitter)
1051 #endif
1052 #endif
1053   HRESULT WINAPI ITransactionTransmitterFactory_Create_Proxy(ITransactionTransmitterFactory *This,ITransactionTransmitter **ppTransmitter);
1054   void __RPC_STUB ITransactionTransmitterFactory_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1055 #endif
1056 
1057 #ifndef __ITransactionReceiver_INTERFACE_DEFINED__
1058 #define __ITransactionReceiver_INTERFACE_DEFINED__
1059   EXTERN_C const IID IID_ITransactionReceiver;
1060 #if defined(__cplusplus) && !defined(CINTERFACE)
1061   struct ITransactionReceiver : public IUnknown {
1062   public:
1063     virtual HRESULT WINAPI UnmarshalPropagationToken(ULONG cbToken,byte *rgbToken,ITransaction **ppTransaction) = 0;
1064     virtual HRESULT WINAPI GetReturnTokenSize(ULONG *pcbReturnToken) = 0;
1065     virtual HRESULT WINAPI MarshalReturnToken(ULONG cbReturnToken,byte *rgbReturnToken,ULONG *pcbUsed) = 0;
1066     virtual HRESULT WINAPI Reset(void) = 0;
1067   };
1068 #else
1069   typedef struct ITransactionReceiverVtbl {
1070     BEGIN_INTERFACE
1071       HRESULT (WINAPI *QueryInterface)(ITransactionReceiver *This,REFIID riid,void **ppvObject);
1072       ULONG (WINAPI *AddRef)(ITransactionReceiver *This);
1073       ULONG (WINAPI *Release)(ITransactionReceiver *This);
1074       HRESULT (WINAPI *UnmarshalPropagationToken)(ITransactionReceiver *This,ULONG cbToken,byte *rgbToken,ITransaction **ppTransaction);
1075       HRESULT (WINAPI *GetReturnTokenSize)(ITransactionReceiver *This,ULONG *pcbReturnToken);
1076       HRESULT (WINAPI *MarshalReturnToken)(ITransactionReceiver *This,ULONG cbReturnToken,byte *rgbReturnToken,ULONG *pcbUsed);
1077       HRESULT (WINAPI *Reset)(ITransactionReceiver *This);
1078     END_INTERFACE
1079   } ITransactionReceiverVtbl;
1080   struct ITransactionReceiver {
1081     CONST_VTBL struct ITransactionReceiverVtbl *lpVtbl;
1082   };
1083 #ifdef COBJMACROS
1084 #define ITransactionReceiver_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1085 #define ITransactionReceiver_AddRef(This) (This)->lpVtbl->AddRef(This)
1086 #define ITransactionReceiver_Release(This) (This)->lpVtbl->Release(This)
1087 #define ITransactionReceiver_UnmarshalPropagationToken(This,cbToken,rgbToken,ppTransaction) (This)->lpVtbl->UnmarshalPropagationToken(This,cbToken,rgbToken,ppTransaction)
1088 #define ITransactionReceiver_GetReturnTokenSize(This,pcbReturnToken) (This)->lpVtbl->GetReturnTokenSize(This,pcbReturnToken)
1089 #define ITransactionReceiver_MarshalReturnToken(This,cbReturnToken,rgbReturnToken,pcbUsed) (This)->lpVtbl->MarshalReturnToken(This,cbReturnToken,rgbReturnToken,pcbUsed)
1090 #define ITransactionReceiver_Reset(This) (This)->lpVtbl->Reset(This)
1091 #endif
1092 #endif
1093   HRESULT WINAPI ITransactionReceiver_UnmarshalPropagationToken_Proxy(ITransactionReceiver *This,ULONG cbToken,byte *rgbToken,ITransaction **ppTransaction);
1094   void __RPC_STUB ITransactionReceiver_UnmarshalPropagationToken_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1095   HRESULT WINAPI ITransactionReceiver_GetReturnTokenSize_Proxy(ITransactionReceiver *This,ULONG *pcbReturnToken);
1096   void __RPC_STUB ITransactionReceiver_GetReturnTokenSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1097   HRESULT WINAPI ITransactionReceiver_MarshalReturnToken_Proxy(ITransactionReceiver *This,ULONG cbReturnToken,byte *rgbReturnToken,ULONG *pcbUsed);
1098   void __RPC_STUB ITransactionReceiver_MarshalReturnToken_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1099   HRESULT WINAPI ITransactionReceiver_Reset_Proxy(ITransactionReceiver *This);
1100   void __RPC_STUB ITransactionReceiver_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1101 #endif
1102 
1103 #ifndef __ITransactionReceiverFactory_INTERFACE_DEFINED__
1104 #define __ITransactionReceiverFactory_INTERFACE_DEFINED__
1105   EXTERN_C const IID IID_ITransactionReceiverFactory;
1106 #if defined(__cplusplus) && !defined(CINTERFACE)
1107   struct ITransactionReceiverFactory : public IUnknown {
1108   public:
1109     virtual HRESULT WINAPI Create(ITransactionReceiver **ppReceiver) = 0;
1110   };
1111 #else
1112   typedef struct ITransactionReceiverFactoryVtbl {
1113     BEGIN_INTERFACE
1114       HRESULT (WINAPI *QueryInterface)(ITransactionReceiverFactory *This,REFIID riid,void **ppvObject);
1115       ULONG (WINAPI *AddRef)(ITransactionReceiverFactory *This);
1116       ULONG (WINAPI *Release)(ITransactionReceiverFactory *This);
1117       HRESULT (WINAPI *Create)(ITransactionReceiverFactory *This,ITransactionReceiver **ppReceiver);
1118     END_INTERFACE
1119   } ITransactionReceiverFactoryVtbl;
1120   struct ITransactionReceiverFactory {
1121     CONST_VTBL struct ITransactionReceiverFactoryVtbl *lpVtbl;
1122   };
1123 #ifdef COBJMACROS
1124 #define ITransactionReceiverFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1125 #define ITransactionReceiverFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
1126 #define ITransactionReceiverFactory_Release(This) (This)->lpVtbl->Release(This)
1127 #define ITransactionReceiverFactory_Create(This,ppReceiver) (This)->lpVtbl->Create(This,ppReceiver)
1128 #endif
1129 #endif
1130   HRESULT WINAPI ITransactionReceiverFactory_Create_Proxy(ITransactionReceiverFactory *This,ITransactionReceiver **ppReceiver);
1131   void __RPC_STUB ITransactionReceiverFactory_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1132 #endif
1133 
1134   typedef struct _ProxyConfigParams {
1135     WORD wcThreadsMax;
1136   } PROXY_CONFIG_PARAMS;
1137 
1138   extern RPC_IF_HANDLE __MIDL_itf_txdtc_0141_v0_0_c_ifspec;
1139   extern RPC_IF_HANDLE __MIDL_itf_txdtc_0141_v0_0_s_ifspec;
1140 #ifndef __IDtcLuConfigure_INTERFACE_DEFINED__
1141 #define __IDtcLuConfigure_INTERFACE_DEFINED__
1142   EXTERN_C const IID IID_IDtcLuConfigure;
1143 #if defined(__cplusplus) && !defined(CINTERFACE)
1144   struct IDtcLuConfigure : public IUnknown {
1145   public:
1146     virtual HRESULT WINAPI Add(byte *pucLuPair,DWORD cbLuPair) = 0;
1147     virtual HRESULT WINAPI Delete(byte *pucLuPair,DWORD cbLuPair) = 0;
1148   };
1149 #else
1150   typedef struct IDtcLuConfigureVtbl {
1151     BEGIN_INTERFACE
1152       HRESULT (WINAPI *QueryInterface)(IDtcLuConfigure *This,REFIID riid,void **ppvObject);
1153       ULONG (WINAPI *AddRef)(IDtcLuConfigure *This);
1154       ULONG (WINAPI *Release)(IDtcLuConfigure *This);
1155       HRESULT (WINAPI *Add)(IDtcLuConfigure *This,byte *pucLuPair,DWORD cbLuPair);
1156       HRESULT (WINAPI *Delete)(IDtcLuConfigure *This,byte *pucLuPair,DWORD cbLuPair);
1157     END_INTERFACE
1158   } IDtcLuConfigureVtbl;
1159   struct IDtcLuConfigure {
1160     CONST_VTBL struct IDtcLuConfigureVtbl *lpVtbl;
1161   };
1162 #ifdef COBJMACROS
1163 #define IDtcLuConfigure_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1164 #define IDtcLuConfigure_AddRef(This) (This)->lpVtbl->AddRef(This)
1165 #define IDtcLuConfigure_Release(This) (This)->lpVtbl->Release(This)
1166 #define IDtcLuConfigure_Add(This,pucLuPair,cbLuPair) (This)->lpVtbl->Add(This,pucLuPair,cbLuPair)
1167 #define IDtcLuConfigure_Delete(This,pucLuPair,cbLuPair) (This)->lpVtbl->Delete(This,pucLuPair,cbLuPair)
1168 #endif
1169 #endif
1170   HRESULT WINAPI IDtcLuConfigure_Add_Proxy(IDtcLuConfigure *This,byte *pucLuPair,DWORD cbLuPair);
1171   void __RPC_STUB IDtcLuConfigure_Add_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1172   HRESULT WINAPI IDtcLuConfigure_Delete_Proxy(IDtcLuConfigure *This,byte *pucLuPair,DWORD cbLuPair);
1173   void __RPC_STUB IDtcLuConfigure_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1174 #endif
1175 
1176 #ifndef __IDtcLuRecovery_INTERFACE_DEFINED__
1177 #define __IDtcLuRecovery_INTERFACE_DEFINED__
1178   EXTERN_C const IID IID_IDtcLuRecovery;
1179 #if defined(__cplusplus) && !defined(CINTERFACE)
1180   struct IDtcLuRecovery : public IUnknown {
1181   };
1182 #else
1183   typedef struct IDtcLuRecoveryVtbl {
1184     BEGIN_INTERFACE
1185       HRESULT (WINAPI *QueryInterface)(IDtcLuRecovery *This,REFIID riid,void **ppvObject);
1186       ULONG (WINAPI *AddRef)(IDtcLuRecovery *This);
1187       ULONG (WINAPI *Release)(IDtcLuRecovery *This);
1188     END_INTERFACE
1189   } IDtcLuRecoveryVtbl;
1190   struct IDtcLuRecovery {
1191     CONST_VTBL struct IDtcLuRecoveryVtbl *lpVtbl;
1192   };
1193 #ifdef COBJMACROS
1194 #define IDtcLuRecovery_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1195 #define IDtcLuRecovery_AddRef(This) (This)->lpVtbl->AddRef(This)
1196 #define IDtcLuRecovery_Release(This) (This)->lpVtbl->Release(This)
1197 #endif
1198 #endif
1199 #endif
1200 
1201 #ifndef __IDtcLuRecoveryFactory_INTERFACE_DEFINED__
1202 #define __IDtcLuRecoveryFactory_INTERFACE_DEFINED__
1203   EXTERN_C const IID IID_IDtcLuRecoveryFactory;
1204 #if defined(__cplusplus) && !defined(CINTERFACE)
1205   struct IDtcLuRecoveryFactory : public IUnknown {
1206   public:
1207     virtual HRESULT WINAPI Create(byte *pucLuPair,DWORD cbLuPair,IDtcLuRecovery **ppRecovery) = 0;
1208   };
1209 #else
1210   typedef struct IDtcLuRecoveryFactoryVtbl {
1211     BEGIN_INTERFACE
1212       HRESULT (WINAPI *QueryInterface)(IDtcLuRecoveryFactory *This,REFIID riid,void **ppvObject);
1213       ULONG (WINAPI *AddRef)(IDtcLuRecoveryFactory *This);
1214       ULONG (WINAPI *Release)(IDtcLuRecoveryFactory *This);
1215       HRESULT (WINAPI *Create)(IDtcLuRecoveryFactory *This,byte *pucLuPair,DWORD cbLuPair,IDtcLuRecovery **ppRecovery);
1216     END_INTERFACE
1217   } IDtcLuRecoveryFactoryVtbl;
1218   struct IDtcLuRecoveryFactory {
1219     CONST_VTBL struct IDtcLuRecoveryFactoryVtbl *lpVtbl;
1220   };
1221 #ifdef COBJMACROS
1222 #define IDtcLuRecoveryFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1223 #define IDtcLuRecoveryFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
1224 #define IDtcLuRecoveryFactory_Release(This) (This)->lpVtbl->Release(This)
1225 #define IDtcLuRecoveryFactory_Create(This,pucLuPair,cbLuPair,ppRecovery) (This)->lpVtbl->Create(This,pucLuPair,cbLuPair,ppRecovery)
1226 #endif
1227 #endif
1228   HRESULT WINAPI IDtcLuRecoveryFactory_Create_Proxy(IDtcLuRecoveryFactory *This,byte *pucLuPair,DWORD cbLuPair,IDtcLuRecovery **ppRecovery);
1229   void __RPC_STUB IDtcLuRecoveryFactory_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1230 #endif
1231 
1232   typedef enum _DtcLu_LocalRecovery_Work {
1233     DTCINITIATEDRECOVERYWORK_CHECKLUSTATUS = 1,
1234     DTCINITIATEDRECOVERYWORK_TRANS,DTCINITIATEDRECOVERYWORK_TMDOWN
1235   } DTCINITIATEDRECOVERYWORK;
1236 
1237   typedef enum _DtcLu_Xln {
1238     DTCLUXLN_COLD = 1,DTCLUXLN_WARM
1239   } DTCLUXLN;
1240 
1241   typedef enum _DtcLu_Xln_Confirmation {
1242     DTCLUXLNCONFIRMATION_CONFIRM = 1,
1243     DTCLUXLNCONFIRMATION_LOGNAMEMISMATCH,DTCLUXLNCONFIRMATION_COLDWARMMISMATCH,
1244     DTCLUXLNCONFIRMATION_OBSOLETE
1245   } DTCLUXLNCONFIRMATION;
1246 
1247   typedef enum _DtcLu_Xln_Response {
1248     DTCLUXLNRESPONSE_OK_SENDOURXLNBACK = 1,
1249     DTCLUXLNRESPONSE_OK_SENDCONFIRMATION,DTCLUXLNRESPONSE_LOGNAMEMISMATCH,
1250     DTCLUXLNRESPONSE_COLDWARMMISMATCH
1251   } DTCLUXLNRESPONSE;
1252 
1253   typedef enum _DtcLu_Xln_Error {
1254     DTCLUXLNERROR_PROTOCOL = 1,
1255     DTCLUXLNERROR_LOGNAMEMISMATCH,DTCLUXLNERROR_COLDWARMMISMATCH
1256   } DTCLUXLNERROR;
1257 
1258   typedef enum _DtcLu_CompareState {
1259     DTCLUCOMPARESTATE_COMMITTED = 1,
1260     DTCLUCOMPARESTATE_HEURISTICCOMMITTED,DTCLUCOMPARESTATE_HEURISTICMIXED,
1261     DTCLUCOMPARESTATE_HEURISTICRESET,DTCLUCOMPARESTATE_INDOUBT,DTCLUCOMPARESTATE_RESET
1262   } DTCLUCOMPARESTATE;
1263 
1264   typedef enum _DtcLu_CompareStates_Confirmation {
1265     DTCLUCOMPARESTATESCONFIRMATION_CONFIRM = 1,
1266     DTCLUCOMPARESTATESCONFIRMATION_PROTOCOL
1267   } DTCLUCOMPARESTATESCONFIRMATION;
1268 
1269   typedef enum _DtcLu_CompareStates_Error {
1270     DTCLUCOMPARESTATESERROR_PROTOCOL = 1
1271   } DTCLUCOMPARESTATESERROR;
1272 
1273   typedef enum _DtcLu_CompareStates_Response {
1274     DTCLUCOMPARESTATESRESPONSE_OK = 1,
1275     DTCLUCOMPARESTATESRESPONSE_PROTOCOL
1276   } DTCLUCOMPARESTATESRESPONSE;
1277 
1278   extern RPC_IF_HANDLE __MIDL_itf_txdtc_0144_v0_0_c_ifspec;
1279   extern RPC_IF_HANDLE __MIDL_itf_txdtc_0144_v0_0_s_ifspec;
1280 #ifndef __IDtcLuRecoveryInitiatedByDtcTransWork_INTERFACE_DEFINED__
1281 #define __IDtcLuRecoveryInitiatedByDtcTransWork_INTERFACE_DEFINED__
1282   EXTERN_C const IID IID_IDtcLuRecoveryInitiatedByDtcTransWork;
1283 #if defined(__cplusplus) && !defined(CINTERFACE)
1284   struct IDtcLuRecoveryInitiatedByDtcTransWork : public IUnknown {
1285   public:
1286     virtual HRESULT WINAPI GetLogNameSizes(DWORD *pcbOurLogName,DWORD *pcbRemoteLogName) = 0;
1287     virtual HRESULT WINAPI GetOurXln(DTCLUXLN *pXln,unsigned char *pOurLogName,unsigned char *pRemoteLogName,DWORD *pdwProtocol) = 0;
1288     virtual HRESULT WINAPI HandleConfirmationFromOurXln(DTCLUXLNCONFIRMATION Confirmation) = 0;
1289     virtual HRESULT WINAPI HandleTheirXlnResponse(DTCLUXLN Xln,unsigned char *pRemoteLogName,DWORD cbRemoteLogName,DWORD dwProtocol,DTCLUXLNCONFIRMATION *pConfirmation) = 0;
1290     virtual HRESULT WINAPI HandleErrorFromOurXln(DTCLUXLNERROR Error) = 0;
1291     virtual HRESULT WINAPI CheckForCompareStates(WINBOOL *fCompareStates) = 0;
1292     virtual HRESULT WINAPI GetOurTransIdSize(DWORD *pcbOurTransId) = 0;
1293     virtual HRESULT WINAPI GetOurCompareStates(unsigned char *pOurTransId,DTCLUCOMPARESTATE *pCompareState) = 0;
1294     virtual HRESULT WINAPI HandleTheirCompareStatesResponse(DTCLUCOMPARESTATE CompareState,DTCLUCOMPARESTATESCONFIRMATION *pConfirmation) = 0;
1295     virtual HRESULT WINAPI HandleErrorFromOurCompareStates(DTCLUCOMPARESTATESERROR Error) = 0;
1296     virtual HRESULT WINAPI ConversationLost(void) = 0;
1297     virtual HRESULT WINAPI GetRecoverySeqNum(LONG *plRecoverySeqNum) = 0;
1298     virtual HRESULT WINAPI ObsoleteRecoverySeqNum(LONG lNewRecoverySeqNum) = 0;
1299   };
1300 #else
1301   typedef struct IDtcLuRecoveryInitiatedByDtcTransWorkVtbl {
1302     BEGIN_INTERFACE
1303       HRESULT (WINAPI *QueryInterface)(IDtcLuRecoveryInitiatedByDtcTransWork *This,REFIID riid,void **ppvObject);
1304       ULONG (WINAPI *AddRef)(IDtcLuRecoveryInitiatedByDtcTransWork *This);
1305       ULONG (WINAPI *Release)(IDtcLuRecoveryInitiatedByDtcTransWork *This);
1306       HRESULT (WINAPI *GetLogNameSizes)(IDtcLuRecoveryInitiatedByDtcTransWork *This,DWORD *pcbOurLogName,DWORD *pcbRemoteLogName);
1307       HRESULT (WINAPI *GetOurXln)(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUXLN *pXln,unsigned char *pOurLogName,unsigned char *pRemoteLogName,DWORD *pdwProtocol);
1308       HRESULT (WINAPI *HandleConfirmationFromOurXln)(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUXLNCONFIRMATION Confirmation);
1309       HRESULT (WINAPI *HandleTheirXlnResponse)(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUXLN Xln,unsigned char *pRemoteLogName,DWORD cbRemoteLogName,DWORD dwProtocol,DTCLUXLNCONFIRMATION *pConfirmation);
1310       HRESULT (WINAPI *HandleErrorFromOurXln)(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUXLNERROR Error);
1311       HRESULT (WINAPI *CheckForCompareStates)(IDtcLuRecoveryInitiatedByDtcTransWork *This,WINBOOL *fCompareStates);
1312       HRESULT (WINAPI *GetOurTransIdSize)(IDtcLuRecoveryInitiatedByDtcTransWork *This,DWORD *pcbOurTransId);
1313       HRESULT (WINAPI *GetOurCompareStates)(IDtcLuRecoveryInitiatedByDtcTransWork *This,unsigned char *pOurTransId,DTCLUCOMPARESTATE *pCompareState);
1314       HRESULT (WINAPI *HandleTheirCompareStatesResponse)(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUCOMPARESTATE CompareState,DTCLUCOMPARESTATESCONFIRMATION *pConfirmation);
1315       HRESULT (WINAPI *HandleErrorFromOurCompareStates)(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUCOMPARESTATESERROR Error);
1316       HRESULT (WINAPI *ConversationLost)(IDtcLuRecoveryInitiatedByDtcTransWork *This);
1317       HRESULT (WINAPI *GetRecoverySeqNum)(IDtcLuRecoveryInitiatedByDtcTransWork *This,LONG *plRecoverySeqNum);
1318       HRESULT (WINAPI *ObsoleteRecoverySeqNum)(IDtcLuRecoveryInitiatedByDtcTransWork *This,LONG lNewRecoverySeqNum);
1319     END_INTERFACE
1320   } IDtcLuRecoveryInitiatedByDtcTransWorkVtbl;
1321   struct IDtcLuRecoveryInitiatedByDtcTransWork {
1322     CONST_VTBL struct IDtcLuRecoveryInitiatedByDtcTransWorkVtbl *lpVtbl;
1323   };
1324 #ifdef COBJMACROS
1325 #define IDtcLuRecoveryInitiatedByDtcTransWork_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1326 #define IDtcLuRecoveryInitiatedByDtcTransWork_AddRef(This) (This)->lpVtbl->AddRef(This)
1327 #define IDtcLuRecoveryInitiatedByDtcTransWork_Release(This) (This)->lpVtbl->Release(This)
1328 #define IDtcLuRecoveryInitiatedByDtcTransWork_GetLogNameSizes(This,pcbOurLogName,pcbRemoteLogName) (This)->lpVtbl->GetLogNameSizes(This,pcbOurLogName,pcbRemoteLogName)
1329 #define IDtcLuRecoveryInitiatedByDtcTransWork_GetOurXln(This,pXln,pOurLogName,pRemoteLogName,pdwProtocol) (This)->lpVtbl->GetOurXln(This,pXln,pOurLogName,pRemoteLogName,pdwProtocol)
1330 #define IDtcLuRecoveryInitiatedByDtcTransWork_HandleConfirmationFromOurXln(This,Confirmation) (This)->lpVtbl->HandleConfirmationFromOurXln(This,Confirmation)
1331 #define IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirXlnResponse(This,Xln,pRemoteLogName,cbRemoteLogName,dwProtocol,pConfirmation) (This)->lpVtbl->HandleTheirXlnResponse(This,Xln,pRemoteLogName,cbRemoteLogName,dwProtocol,pConfirmation)
1332 #define IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurXln(This,Error) (This)->lpVtbl->HandleErrorFromOurXln(This,Error)
1333 #define IDtcLuRecoveryInitiatedByDtcTransWork_CheckForCompareStates(This,fCompareStates) (This)->lpVtbl->CheckForCompareStates(This,fCompareStates)
1334 #define IDtcLuRecoveryInitiatedByDtcTransWork_GetOurTransIdSize(This,pcbOurTransId) (This)->lpVtbl->GetOurTransIdSize(This,pcbOurTransId)
1335 #define IDtcLuRecoveryInitiatedByDtcTransWork_GetOurCompareStates(This,pOurTransId,pCompareState) (This)->lpVtbl->GetOurCompareStates(This,pOurTransId,pCompareState)
1336 #define IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirCompareStatesResponse(This,CompareState,pConfirmation) (This)->lpVtbl->HandleTheirCompareStatesResponse(This,CompareState,pConfirmation)
1337 #define IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurCompareStates(This,Error) (This)->lpVtbl->HandleErrorFromOurCompareStates(This,Error)
1338 #define IDtcLuRecoveryInitiatedByDtcTransWork_ConversationLost(This) (This)->lpVtbl->ConversationLost(This)
1339 #define IDtcLuRecoveryInitiatedByDtcTransWork_GetRecoverySeqNum(This,plRecoverySeqNum) (This)->lpVtbl->GetRecoverySeqNum(This,plRecoverySeqNum)
1340 #define IDtcLuRecoveryInitiatedByDtcTransWork_ObsoleteRecoverySeqNum(This,lNewRecoverySeqNum) (This)->lpVtbl->ObsoleteRecoverySeqNum(This,lNewRecoverySeqNum)
1341 #endif
1342 #endif
1343   HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_GetLogNameSizes_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,DWORD *pcbOurLogName,DWORD *pcbRemoteLogName);
1344   void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_GetLogNameSizes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1345   HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_GetOurXln_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUXLN *pXln,unsigned char *pOurLogName,unsigned char *pRemoteLogName,DWORD *pdwProtocol);
1346   void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_GetOurXln_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1347   HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_HandleConfirmationFromOurXln_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUXLNCONFIRMATION Confirmation);
1348   void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_HandleConfirmationFromOurXln_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1349   HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirXlnResponse_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUXLN Xln,unsigned char *pRemoteLogName,DWORD cbRemoteLogName,DWORD dwProtocol,DTCLUXLNCONFIRMATION *pConfirmation);
1350   void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirXlnResponse_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1351   HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurXln_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUXLNERROR Error);
1352   void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurXln_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1353   HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_CheckForCompareStates_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,WINBOOL *fCompareStates);
1354   void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_CheckForCompareStates_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1355   HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_GetOurTransIdSize_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,DWORD *pcbOurTransId);
1356   void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_GetOurTransIdSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1357   HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_GetOurCompareStates_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,unsigned char *pOurTransId,DTCLUCOMPARESTATE *pCompareState);
1358   void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_GetOurCompareStates_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1359   HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirCompareStatesResponse_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUCOMPARESTATE CompareState,DTCLUCOMPARESTATESCONFIRMATION *pConfirmation);
1360   void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirCompareStatesResponse_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1361   HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurCompareStates_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUCOMPARESTATESERROR Error);
1362   void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurCompareStates_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1363   HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_ConversationLost_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This);
1364   void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_ConversationLost_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1365   HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_GetRecoverySeqNum_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,LONG *plRecoverySeqNum);
1366   void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_GetRecoverySeqNum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1367   HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_ObsoleteRecoverySeqNum_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,LONG lNewRecoverySeqNum);
1368   void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_ObsoleteRecoverySeqNum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1369 #endif
1370 
1371 #ifndef __IDtcLuRecoveryInitiatedByDtcStatusWork_INTERFACE_DEFINED__
1372 #define __IDtcLuRecoveryInitiatedByDtcStatusWork_INTERFACE_DEFINED__
1373   EXTERN_C const IID IID_IDtcLuRecoveryInitiatedByDtcStatusWork;
1374 #if defined(__cplusplus) && !defined(CINTERFACE)
1375   struct IDtcLuRecoveryInitiatedByDtcStatusWork : public IUnknown {
1376   public:
1377     virtual HRESULT WINAPI HandleCheckLuStatus(LONG lRecoverySeqNum) = 0;
1378   };
1379 #else
1380   typedef struct IDtcLuRecoveryInitiatedByDtcStatusWorkVtbl {
1381     BEGIN_INTERFACE
1382       HRESULT (WINAPI *QueryInterface)(IDtcLuRecoveryInitiatedByDtcStatusWork *This,REFIID riid,void **ppvObject);
1383       ULONG (WINAPI *AddRef)(IDtcLuRecoveryInitiatedByDtcStatusWork *This);
1384       ULONG (WINAPI *Release)(IDtcLuRecoveryInitiatedByDtcStatusWork *This);
1385       HRESULT (WINAPI *HandleCheckLuStatus)(IDtcLuRecoveryInitiatedByDtcStatusWork *This,LONG lRecoverySeqNum);
1386     END_INTERFACE
1387   } IDtcLuRecoveryInitiatedByDtcStatusWorkVtbl;
1388   struct IDtcLuRecoveryInitiatedByDtcStatusWork {
1389     CONST_VTBL struct IDtcLuRecoveryInitiatedByDtcStatusWorkVtbl *lpVtbl;
1390   };
1391 #ifdef COBJMACROS
1392 #define IDtcLuRecoveryInitiatedByDtcStatusWork_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1393 #define IDtcLuRecoveryInitiatedByDtcStatusWork_AddRef(This) (This)->lpVtbl->AddRef(This)
1394 #define IDtcLuRecoveryInitiatedByDtcStatusWork_Release(This) (This)->lpVtbl->Release(This)
1395 #define IDtcLuRecoveryInitiatedByDtcStatusWork_HandleCheckLuStatus(This,lRecoverySeqNum) (This)->lpVtbl->HandleCheckLuStatus(This,lRecoverySeqNum)
1396 #endif
1397 #endif
1398   HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcStatusWork_HandleCheckLuStatus_Proxy(IDtcLuRecoveryInitiatedByDtcStatusWork *This,LONG lRecoverySeqNum);
1399   void __RPC_STUB IDtcLuRecoveryInitiatedByDtcStatusWork_HandleCheckLuStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1400 #endif
1401 
1402 #ifndef __IDtcLuRecoveryInitiatedByDtc_INTERFACE_DEFINED__
1403 #define __IDtcLuRecoveryInitiatedByDtc_INTERFACE_DEFINED__
1404   EXTERN_C const IID IID_IDtcLuRecoveryInitiatedByDtc;
1405 #if defined(__cplusplus) && !defined(CINTERFACE)
1406   struct IDtcLuRecoveryInitiatedByDtc : public IUnknown {
1407   public:
1408     virtual HRESULT WINAPI GetWork(DTCINITIATEDRECOVERYWORK *pWork,void **ppv) = 0;
1409   };
1410 #else
1411   typedef struct IDtcLuRecoveryInitiatedByDtcVtbl {
1412     BEGIN_INTERFACE
1413       HRESULT (WINAPI *QueryInterface)(IDtcLuRecoveryInitiatedByDtc *This,REFIID riid,void **ppvObject);
1414       ULONG (WINAPI *AddRef)(IDtcLuRecoveryInitiatedByDtc *This);
1415       ULONG (WINAPI *Release)(IDtcLuRecoveryInitiatedByDtc *This);
1416       HRESULT (WINAPI *GetWork)(IDtcLuRecoveryInitiatedByDtc *This,DTCINITIATEDRECOVERYWORK *pWork,void **ppv);
1417     END_INTERFACE
1418   } IDtcLuRecoveryInitiatedByDtcVtbl;
1419   struct IDtcLuRecoveryInitiatedByDtc {
1420     CONST_VTBL struct IDtcLuRecoveryInitiatedByDtcVtbl *lpVtbl;
1421   };
1422 #ifdef COBJMACROS
1423 #define IDtcLuRecoveryInitiatedByDtc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1424 #define IDtcLuRecoveryInitiatedByDtc_AddRef(This) (This)->lpVtbl->AddRef(This)
1425 #define IDtcLuRecoveryInitiatedByDtc_Release(This) (This)->lpVtbl->Release(This)
1426 #define IDtcLuRecoveryInitiatedByDtc_GetWork(This,pWork,ppv) (This)->lpVtbl->GetWork(This,pWork,ppv)
1427 #endif
1428 #endif
1429   HRESULT WINAPI IDtcLuRecoveryInitiatedByDtc_GetWork_Proxy(IDtcLuRecoveryInitiatedByDtc *This,DTCINITIATEDRECOVERYWORK *pWork,void **ppv);
1430   void __RPC_STUB IDtcLuRecoveryInitiatedByDtc_GetWork_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1431 #endif
1432 
1433 #ifndef __IDtcLuRecoveryInitiatedByLuWork_INTERFACE_DEFINED__
1434 #define __IDtcLuRecoveryInitiatedByLuWork_INTERFACE_DEFINED__
1435   EXTERN_C const IID IID_IDtcLuRecoveryInitiatedByLuWork;
1436 #if defined(__cplusplus) && !defined(CINTERFACE)
1437   struct IDtcLuRecoveryInitiatedByLuWork : public IUnknown {
1438   public:
1439     virtual HRESULT WINAPI HandleTheirXln(LONG lRecoverySeqNum,DTCLUXLN Xln,unsigned char *pRemoteLogName,DWORD cbRemoteLogName,unsigned char *pOurLogName,DWORD cbOurLogName,DWORD dwProtocol,DTCLUXLNRESPONSE *pResponse) = 0;
1440     virtual HRESULT WINAPI GetOurLogNameSize(DWORD *pcbOurLogName) = 0;
1441     virtual HRESULT WINAPI GetOurXln(DTCLUXLN *pXln,unsigned char *pOurLogName,DWORD *pdwProtocol) = 0;
1442     virtual HRESULT WINAPI HandleConfirmationOfOurXln(DTCLUXLNCONFIRMATION Confirmation) = 0;
1443     virtual HRESULT WINAPI HandleTheirCompareStates(unsigned char *pRemoteTransId,DWORD cbRemoteTransId,DTCLUCOMPARESTATE CompareState,DTCLUCOMPARESTATESRESPONSE *pResponse,DTCLUCOMPARESTATE *pCompareState) = 0;
1444     virtual HRESULT WINAPI HandleConfirmationOfOurCompareStates(DTCLUCOMPARESTATESCONFIRMATION Confirmation) = 0;
1445     virtual HRESULT WINAPI HandleErrorFromOurCompareStates(DTCLUCOMPARESTATESERROR Error) = 0;
1446     virtual HRESULT WINAPI ConversationLost(void) = 0;
1447   };
1448 #else
1449   typedef struct IDtcLuRecoveryInitiatedByLuWorkVtbl {
1450     BEGIN_INTERFACE
1451       HRESULT (WINAPI *QueryInterface)(IDtcLuRecoveryInitiatedByLuWork *This,REFIID riid,void **ppvObject);
1452       ULONG (WINAPI *AddRef)(IDtcLuRecoveryInitiatedByLuWork *This);
1453       ULONG (WINAPI *Release)(IDtcLuRecoveryInitiatedByLuWork *This);
1454       HRESULT (WINAPI *HandleTheirXln)(IDtcLuRecoveryInitiatedByLuWork *This,LONG lRecoverySeqNum,DTCLUXLN Xln,unsigned char *pRemoteLogName,DWORD cbRemoteLogName,unsigned char *pOurLogName,DWORD cbOurLogName,DWORD dwProtocol,DTCLUXLNRESPONSE *pResponse);
1455       HRESULT (WINAPI *GetOurLogNameSize)(IDtcLuRecoveryInitiatedByLuWork *This,DWORD *pcbOurLogName);
1456       HRESULT (WINAPI *GetOurXln)(IDtcLuRecoveryInitiatedByLuWork *This,DTCLUXLN *pXln,unsigned char *pOurLogName,DWORD *pdwProtocol);
1457       HRESULT (WINAPI *HandleConfirmationOfOurXln)(IDtcLuRecoveryInitiatedByLuWork *This,DTCLUXLNCONFIRMATION Confirmation);
1458       HRESULT (WINAPI *HandleTheirCompareStates)(IDtcLuRecoveryInitiatedByLuWork *This,unsigned char *pRemoteTransId,DWORD cbRemoteTransId,DTCLUCOMPARESTATE CompareState,DTCLUCOMPARESTATESRESPONSE *pResponse,DTCLUCOMPARESTATE *pCompareState);
1459       HRESULT (WINAPI *HandleConfirmationOfOurCompareStates)(IDtcLuRecoveryInitiatedByLuWork *This,DTCLUCOMPARESTATESCONFIRMATION Confirmation);
1460       HRESULT (WINAPI *HandleErrorFromOurCompareStates)(IDtcLuRecoveryInitiatedByLuWork *This,DTCLUCOMPARESTATESERROR Error);
1461       HRESULT (WINAPI *ConversationLost)(IDtcLuRecoveryInitiatedByLuWork *This);
1462     END_INTERFACE
1463   } IDtcLuRecoveryInitiatedByLuWorkVtbl;
1464   struct IDtcLuRecoveryInitiatedByLuWork {
1465     CONST_VTBL struct IDtcLuRecoveryInitiatedByLuWorkVtbl *lpVtbl;
1466   };
1467 #ifdef COBJMACROS
1468 #define IDtcLuRecoveryInitiatedByLuWork_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1469 #define IDtcLuRecoveryInitiatedByLuWork_AddRef(This) (This)->lpVtbl->AddRef(This)
1470 #define IDtcLuRecoveryInitiatedByLuWork_Release(This) (This)->lpVtbl->Release(This)
1471 #define IDtcLuRecoveryInitiatedByLuWork_HandleTheirXln(This,lRecoverySeqNum,Xln,pRemoteLogName,cbRemoteLogName,pOurLogName,cbOurLogName,dwProtocol,pResponse) (This)->lpVtbl->HandleTheirXln(This,lRecoverySeqNum,Xln,pRemoteLogName,cbRemoteLogName,pOurLogName,cbOurLogName,dwProtocol,pResponse)
1472 #define IDtcLuRecoveryInitiatedByLuWork_GetOurLogNameSize(This,pcbOurLogName) (This)->lpVtbl->GetOurLogNameSize(This,pcbOurLogName)
1473 #define IDtcLuRecoveryInitiatedByLuWork_GetOurXln(This,pXln,pOurLogName,pdwProtocol) (This)->lpVtbl->GetOurXln(This,pXln,pOurLogName,pdwProtocol)
1474 #define IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurXln(This,Confirmation) (This)->lpVtbl->HandleConfirmationOfOurXln(This,Confirmation)
1475 #define IDtcLuRecoveryInitiatedByLuWork_HandleTheirCompareStates(This,pRemoteTransId,cbRemoteTransId,CompareState,pResponse,pCompareState) (This)->lpVtbl->HandleTheirCompareStates(This,pRemoteTransId,cbRemoteTransId,CompareState,pResponse,pCompareState)
1476 #define IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurCompareStates(This,Confirmation) (This)->lpVtbl->HandleConfirmationOfOurCompareStates(This,Confirmation)
1477 #define IDtcLuRecoveryInitiatedByLuWork_HandleErrorFromOurCompareStates(This,Error) (This)->lpVtbl->HandleErrorFromOurCompareStates(This,Error)
1478 #define IDtcLuRecoveryInitiatedByLuWork_ConversationLost(This) (This)->lpVtbl->ConversationLost(This)
1479 #endif
1480 #endif
1481   HRESULT WINAPI IDtcLuRecoveryInitiatedByLuWork_HandleTheirXln_Proxy(IDtcLuRecoveryInitiatedByLuWork *This,LONG lRecoverySeqNum,DTCLUXLN Xln,unsigned char *pRemoteLogName,DWORD cbRemoteLogName,unsigned char *pOurLogName,DWORD cbOurLogName,DWORD dwProtocol,DTCLUXLNRESPONSE *pResponse);
1482   void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_HandleTheirXln_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1483   HRESULT WINAPI IDtcLuRecoveryInitiatedByLuWork_GetOurLogNameSize_Proxy(IDtcLuRecoveryInitiatedByLuWork *This,DWORD *pcbOurLogName);
1484   void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_GetOurLogNameSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1485   HRESULT WINAPI IDtcLuRecoveryInitiatedByLuWork_GetOurXln_Proxy(IDtcLuRecoveryInitiatedByLuWork *This,DTCLUXLN *pXln,unsigned char *pOurLogName,DWORD *pdwProtocol);
1486   void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_GetOurXln_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1487   HRESULT WINAPI IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurXln_Proxy(IDtcLuRecoveryInitiatedByLuWork *This,DTCLUXLNCONFIRMATION Confirmation);
1488   void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurXln_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1489   HRESULT WINAPI IDtcLuRecoveryInitiatedByLuWork_HandleTheirCompareStates_Proxy(IDtcLuRecoveryInitiatedByLuWork *This,unsigned char *pRemoteTransId,DWORD cbRemoteTransId,DTCLUCOMPARESTATE CompareState,DTCLUCOMPARESTATESRESPONSE *pResponse,DTCLUCOMPARESTATE *pCompareState);
1490   void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_HandleTheirCompareStates_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1491   HRESULT WINAPI IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurCompareStates_Proxy(IDtcLuRecoveryInitiatedByLuWork *This,DTCLUCOMPARESTATESCONFIRMATION Confirmation);
1492   void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurCompareStates_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1493   HRESULT WINAPI IDtcLuRecoveryInitiatedByLuWork_HandleErrorFromOurCompareStates_Proxy(IDtcLuRecoveryInitiatedByLuWork *This,DTCLUCOMPARESTATESERROR Error);
1494   void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_HandleErrorFromOurCompareStates_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1495   HRESULT WINAPI IDtcLuRecoveryInitiatedByLuWork_ConversationLost_Proxy(IDtcLuRecoveryInitiatedByLuWork *This);
1496   void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_ConversationLost_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1497 #endif
1498 
1499 #ifndef __IDtcLuRecoveryInitiatedByLu_INTERFACE_DEFINED__
1500 #define __IDtcLuRecoveryInitiatedByLu_INTERFACE_DEFINED__
1501   EXTERN_C const IID IID_IDtcLuRecoveryInitiatedByLu;
1502 #if defined(__cplusplus) && !defined(CINTERFACE)
1503   struct IDtcLuRecoveryInitiatedByLu : public IUnknown {
1504   public:
1505     virtual HRESULT WINAPI GetObjectToHandleWorkFromLu(IDtcLuRecoveryInitiatedByLuWork **ppWork) = 0;
1506   };
1507 #else
1508   typedef struct IDtcLuRecoveryInitiatedByLuVtbl {
1509     BEGIN_INTERFACE
1510       HRESULT (WINAPI *QueryInterface)(IDtcLuRecoveryInitiatedByLu *This,REFIID riid,void **ppvObject);
1511       ULONG (WINAPI *AddRef)(IDtcLuRecoveryInitiatedByLu *This);
1512       ULONG (WINAPI *Release)(IDtcLuRecoveryInitiatedByLu *This);
1513       HRESULT (WINAPI *GetObjectToHandleWorkFromLu)(IDtcLuRecoveryInitiatedByLu *This,IDtcLuRecoveryInitiatedByLuWork **ppWork);
1514     END_INTERFACE
1515   } IDtcLuRecoveryInitiatedByLuVtbl;
1516   struct IDtcLuRecoveryInitiatedByLu {
1517     CONST_VTBL struct IDtcLuRecoveryInitiatedByLuVtbl *lpVtbl;
1518   };
1519 #ifdef COBJMACROS
1520 #define IDtcLuRecoveryInitiatedByLu_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1521 #define IDtcLuRecoveryInitiatedByLu_AddRef(This) (This)->lpVtbl->AddRef(This)
1522 #define IDtcLuRecoveryInitiatedByLu_Release(This) (This)->lpVtbl->Release(This)
1523 #define IDtcLuRecoveryInitiatedByLu_GetObjectToHandleWorkFromLu(This,ppWork) (This)->lpVtbl->GetObjectToHandleWorkFromLu(This,ppWork)
1524 #endif
1525 #endif
1526   HRESULT WINAPI IDtcLuRecoveryInitiatedByLu_GetObjectToHandleWorkFromLu_Proxy(IDtcLuRecoveryInitiatedByLu *This,IDtcLuRecoveryInitiatedByLuWork **ppWork);
1527   void __RPC_STUB IDtcLuRecoveryInitiatedByLu_GetObjectToHandleWorkFromLu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1528 #endif
1529 
1530 #ifndef __IDtcLuRmEnlistment_INTERFACE_DEFINED__
1531 #define __IDtcLuRmEnlistment_INTERFACE_DEFINED__
1532   EXTERN_C const IID IID_IDtcLuRmEnlistment;
1533 #if defined(__cplusplus) && !defined(CINTERFACE)
1534   struct IDtcLuRmEnlistment : public IUnknown {
1535   public:
1536     virtual HRESULT WINAPI Unplug(WINBOOL fConversationLost) = 0;
1537     virtual HRESULT WINAPI BackedOut(void) = 0;
1538     virtual HRESULT WINAPI BackOut(void) = 0;
1539     virtual HRESULT WINAPI Committed(void) = 0;
1540     virtual HRESULT WINAPI Forget(void) = 0;
1541     virtual HRESULT WINAPI RequestCommit(void) = 0;
1542   };
1543 #else
1544   typedef struct IDtcLuRmEnlistmentVtbl {
1545     BEGIN_INTERFACE
1546       HRESULT (WINAPI *QueryInterface)(IDtcLuRmEnlistment *This,REFIID riid,void **ppvObject);
1547       ULONG (WINAPI *AddRef)(IDtcLuRmEnlistment *This);
1548       ULONG (WINAPI *Release)(IDtcLuRmEnlistment *This);
1549       HRESULT (WINAPI *Unplug)(IDtcLuRmEnlistment *This,WINBOOL fConversationLost);
1550       HRESULT (WINAPI *BackedOut)(IDtcLuRmEnlistment *This);
1551       HRESULT (WINAPI *BackOut)(IDtcLuRmEnlistment *This);
1552       HRESULT (WINAPI *Committed)(IDtcLuRmEnlistment *This);
1553       HRESULT (WINAPI *Forget)(IDtcLuRmEnlistment *This);
1554       HRESULT (WINAPI *RequestCommit)(IDtcLuRmEnlistment *This);
1555     END_INTERFACE
1556   } IDtcLuRmEnlistmentVtbl;
1557   struct IDtcLuRmEnlistment {
1558     CONST_VTBL struct IDtcLuRmEnlistmentVtbl *lpVtbl;
1559   };
1560 #ifdef COBJMACROS
1561 #define IDtcLuRmEnlistment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1562 #define IDtcLuRmEnlistment_AddRef(This) (This)->lpVtbl->AddRef(This)
1563 #define IDtcLuRmEnlistment_Release(This) (This)->lpVtbl->Release(This)
1564 #define IDtcLuRmEnlistment_Unplug(This,fConversationLost) (This)->lpVtbl->Unplug(This,fConversationLost)
1565 #define IDtcLuRmEnlistment_BackedOut(This) (This)->lpVtbl->BackedOut(This)
1566 #define IDtcLuRmEnlistment_BackOut(This) (This)->lpVtbl->BackOut(This)
1567 #define IDtcLuRmEnlistment_Committed(This) (This)->lpVtbl->Committed(This)
1568 #define IDtcLuRmEnlistment_Forget(This) (This)->lpVtbl->Forget(This)
1569 #define IDtcLuRmEnlistment_RequestCommit(This) (This)->lpVtbl->RequestCommit(This)
1570 #endif
1571 #endif
1572   HRESULT WINAPI IDtcLuRmEnlistment_Unplug_Proxy(IDtcLuRmEnlistment *This,WINBOOL fConversationLost);
1573   void __RPC_STUB IDtcLuRmEnlistment_Unplug_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1574   HRESULT WINAPI IDtcLuRmEnlistment_BackedOut_Proxy(IDtcLuRmEnlistment *This);
1575   void __RPC_STUB IDtcLuRmEnlistment_BackedOut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1576   HRESULT WINAPI IDtcLuRmEnlistment_BackOut_Proxy(IDtcLuRmEnlistment *This);
1577   void __RPC_STUB IDtcLuRmEnlistment_BackOut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1578   HRESULT WINAPI IDtcLuRmEnlistment_Committed_Proxy(IDtcLuRmEnlistment *This);
1579   void __RPC_STUB IDtcLuRmEnlistment_Committed_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1580   HRESULT WINAPI IDtcLuRmEnlistment_Forget_Proxy(IDtcLuRmEnlistment *This);
1581   void __RPC_STUB IDtcLuRmEnlistment_Forget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1582   HRESULT WINAPI IDtcLuRmEnlistment_RequestCommit_Proxy(IDtcLuRmEnlistment *This);
1583   void __RPC_STUB IDtcLuRmEnlistment_RequestCommit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1584 #endif
1585 
1586 #ifndef __IDtcLuRmEnlistmentSink_INTERFACE_DEFINED__
1587 #define __IDtcLuRmEnlistmentSink_INTERFACE_DEFINED__
1588   EXTERN_C const IID IID_IDtcLuRmEnlistmentSink;
1589 #if defined(__cplusplus) && !defined(CINTERFACE)
1590   struct IDtcLuRmEnlistmentSink : public IUnknown {
1591   public:
1592     virtual HRESULT WINAPI AckUnplug(void) = 0;
1593     virtual HRESULT WINAPI TmDown(void) = 0;
1594     virtual HRESULT WINAPI SessionLost(void) = 0;
1595     virtual HRESULT WINAPI BackedOut(void) = 0;
1596     virtual HRESULT WINAPI BackOut(void) = 0;
1597     virtual HRESULT WINAPI Committed(void) = 0;
1598     virtual HRESULT WINAPI Forget(void) = 0;
1599     virtual HRESULT WINAPI Prepare(void) = 0;
1600     virtual HRESULT WINAPI RequestCommit(void) = 0;
1601   };
1602 #else
1603   typedef struct IDtcLuRmEnlistmentSinkVtbl {
1604     BEGIN_INTERFACE
1605       HRESULT (WINAPI *QueryInterface)(IDtcLuRmEnlistmentSink *This,REFIID riid,void **ppvObject);
1606       ULONG (WINAPI *AddRef)(IDtcLuRmEnlistmentSink *This);
1607       ULONG (WINAPI *Release)(IDtcLuRmEnlistmentSink *This);
1608       HRESULT (WINAPI *AckUnplug)(IDtcLuRmEnlistmentSink *This);
1609       HRESULT (WINAPI *TmDown)(IDtcLuRmEnlistmentSink *This);
1610       HRESULT (WINAPI *SessionLost)(IDtcLuRmEnlistmentSink *This);
1611       HRESULT (WINAPI *BackedOut)(IDtcLuRmEnlistmentSink *This);
1612       HRESULT (WINAPI *BackOut)(IDtcLuRmEnlistmentSink *This);
1613       HRESULT (WINAPI *Committed)(IDtcLuRmEnlistmentSink *This);
1614       HRESULT (WINAPI *Forget)(IDtcLuRmEnlistmentSink *This);
1615       HRESULT (WINAPI *Prepare)(IDtcLuRmEnlistmentSink *This);
1616       HRESULT (WINAPI *RequestCommit)(IDtcLuRmEnlistmentSink *This);
1617     END_INTERFACE
1618   } IDtcLuRmEnlistmentSinkVtbl;
1619   struct IDtcLuRmEnlistmentSink {
1620     CONST_VTBL struct IDtcLuRmEnlistmentSinkVtbl *lpVtbl;
1621   };
1622 #ifdef COBJMACROS
1623 #define IDtcLuRmEnlistmentSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1624 #define IDtcLuRmEnlistmentSink_AddRef(This) (This)->lpVtbl->AddRef(This)
1625 #define IDtcLuRmEnlistmentSink_Release(This) (This)->lpVtbl->Release(This)
1626 #define IDtcLuRmEnlistmentSink_AckUnplug(This) (This)->lpVtbl->AckUnplug(This)
1627 #define IDtcLuRmEnlistmentSink_TmDown(This) (This)->lpVtbl->TmDown(This)
1628 #define IDtcLuRmEnlistmentSink_SessionLost(This) (This)->lpVtbl->SessionLost(This)
1629 #define IDtcLuRmEnlistmentSink_BackedOut(This) (This)->lpVtbl->BackedOut(This)
1630 #define IDtcLuRmEnlistmentSink_BackOut(This) (This)->lpVtbl->BackOut(This)
1631 #define IDtcLuRmEnlistmentSink_Committed(This) (This)->lpVtbl->Committed(This)
1632 #define IDtcLuRmEnlistmentSink_Forget(This) (This)->lpVtbl->Forget(This)
1633 #define IDtcLuRmEnlistmentSink_Prepare(This) (This)->lpVtbl->Prepare(This)
1634 #define IDtcLuRmEnlistmentSink_RequestCommit(This) (This)->lpVtbl->RequestCommit(This)
1635 #endif
1636 #endif
1637   HRESULT WINAPI IDtcLuRmEnlistmentSink_AckUnplug_Proxy(IDtcLuRmEnlistmentSink *This);
1638   void __RPC_STUB IDtcLuRmEnlistmentSink_AckUnplug_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1639   HRESULT WINAPI IDtcLuRmEnlistmentSink_TmDown_Proxy(IDtcLuRmEnlistmentSink *This);
1640   void __RPC_STUB IDtcLuRmEnlistmentSink_TmDown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1641   HRESULT WINAPI IDtcLuRmEnlistmentSink_SessionLost_Proxy(IDtcLuRmEnlistmentSink *This);
1642   void __RPC_STUB IDtcLuRmEnlistmentSink_SessionLost_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1643   HRESULT WINAPI IDtcLuRmEnlistmentSink_BackedOut_Proxy(IDtcLuRmEnlistmentSink *This);
1644   void __RPC_STUB IDtcLuRmEnlistmentSink_BackedOut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1645   HRESULT WINAPI IDtcLuRmEnlistmentSink_BackOut_Proxy(IDtcLuRmEnlistmentSink *This);
1646   void __RPC_STUB IDtcLuRmEnlistmentSink_BackOut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1647   HRESULT WINAPI IDtcLuRmEnlistmentSink_Committed_Proxy(IDtcLuRmEnlistmentSink *This);
1648   void __RPC_STUB IDtcLuRmEnlistmentSink_Committed_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1649   HRESULT WINAPI IDtcLuRmEnlistmentSink_Forget_Proxy(IDtcLuRmEnlistmentSink *This);
1650   void __RPC_STUB IDtcLuRmEnlistmentSink_Forget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1651   HRESULT WINAPI IDtcLuRmEnlistmentSink_Prepare_Proxy(IDtcLuRmEnlistmentSink *This);
1652   void __RPC_STUB IDtcLuRmEnlistmentSink_Prepare_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1653   HRESULT WINAPI IDtcLuRmEnlistmentSink_RequestCommit_Proxy(IDtcLuRmEnlistmentSink *This);
1654   void __RPC_STUB IDtcLuRmEnlistmentSink_RequestCommit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1655 #endif
1656 
1657 #ifndef __IDtcLuRmEnlistmentFactory_INTERFACE_DEFINED__
1658 #define __IDtcLuRmEnlistmentFactory_INTERFACE_DEFINED__
1659   EXTERN_C const IID IID_IDtcLuRmEnlistmentFactory;
1660 #if defined(__cplusplus) && !defined(CINTERFACE)
1661   struct IDtcLuRmEnlistmentFactory : public IUnknown {
1662   public:
1663     virtual HRESULT WINAPI Create(unsigned char *pucLuPair,DWORD cbLuPair,ITransaction *pITransaction,unsigned char *pTransId,DWORD cbTransId,IDtcLuRmEnlistmentSink *pRmEnlistmentSink,IDtcLuRmEnlistment **ppRmEnlistment) = 0;
1664   };
1665 #else
1666   typedef struct IDtcLuRmEnlistmentFactoryVtbl {
1667     BEGIN_INTERFACE
1668       HRESULT (WINAPI *QueryInterface)(IDtcLuRmEnlistmentFactory *This,REFIID riid,void **ppvObject);
1669       ULONG (WINAPI *AddRef)(IDtcLuRmEnlistmentFactory *This);
1670       ULONG (WINAPI *Release)(IDtcLuRmEnlistmentFactory *This);
1671       HRESULT (WINAPI *Create)(IDtcLuRmEnlistmentFactory *This,unsigned char *pucLuPair,DWORD cbLuPair,ITransaction *pITransaction,unsigned char *pTransId,DWORD cbTransId,IDtcLuRmEnlistmentSink *pRmEnlistmentSink,IDtcLuRmEnlistment **ppRmEnlistment);
1672     END_INTERFACE
1673   } IDtcLuRmEnlistmentFactoryVtbl;
1674   struct IDtcLuRmEnlistmentFactory {
1675     CONST_VTBL struct IDtcLuRmEnlistmentFactoryVtbl *lpVtbl;
1676   };
1677 #ifdef COBJMACROS
1678 #define IDtcLuRmEnlistmentFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1679 #define IDtcLuRmEnlistmentFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
1680 #define IDtcLuRmEnlistmentFactory_Release(This) (This)->lpVtbl->Release(This)
1681 #define IDtcLuRmEnlistmentFactory_Create(This,pucLuPair,cbLuPair,pITransaction,pTransId,cbTransId,pRmEnlistmentSink,ppRmEnlistment) (This)->lpVtbl->Create(This,pucLuPair,cbLuPair,pITransaction,pTransId,cbTransId,pRmEnlistmentSink,ppRmEnlistment)
1682 #endif
1683 #endif
1684   HRESULT WINAPI IDtcLuRmEnlistmentFactory_Create_Proxy(IDtcLuRmEnlistmentFactory *This,unsigned char *pucLuPair,DWORD cbLuPair,ITransaction *pITransaction,unsigned char *pTransId,DWORD cbTransId,IDtcLuRmEnlistmentSink *pRmEnlistmentSink,IDtcLuRmEnlistment **ppRmEnlistment);
1685   void __RPC_STUB IDtcLuRmEnlistmentFactory_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1686 #endif
1687 
1688 #ifndef __IDtcLuSubordinateDtc_INTERFACE_DEFINED__
1689 #define __IDtcLuSubordinateDtc_INTERFACE_DEFINED__
1690   EXTERN_C const IID IID_IDtcLuSubordinateDtc;
1691 #if defined(__cplusplus) && !defined(CINTERFACE)
1692   struct IDtcLuSubordinateDtc : public IUnknown {
1693   public:
1694     virtual HRESULT WINAPI Unplug(WINBOOL fConversationLost) = 0;
1695     virtual HRESULT WINAPI BackedOut(void) = 0;
1696     virtual HRESULT WINAPI BackOut(void) = 0;
1697     virtual HRESULT WINAPI Committed(void) = 0;
1698     virtual HRESULT WINAPI Forget(void) = 0;
1699     virtual HRESULT WINAPI Prepare(void) = 0;
1700     virtual HRESULT WINAPI RequestCommit(void) = 0;
1701   };
1702 #else
1703   typedef struct IDtcLuSubordinateDtcVtbl {
1704     BEGIN_INTERFACE
1705       HRESULT (WINAPI *QueryInterface)(IDtcLuSubordinateDtc *This,REFIID riid,void **ppvObject);
1706       ULONG (WINAPI *AddRef)(IDtcLuSubordinateDtc *This);
1707       ULONG (WINAPI *Release)(IDtcLuSubordinateDtc *This);
1708       HRESULT (WINAPI *Unplug)(IDtcLuSubordinateDtc *This,WINBOOL fConversationLost);
1709       HRESULT (WINAPI *BackedOut)(IDtcLuSubordinateDtc *This);
1710       HRESULT (WINAPI *BackOut)(IDtcLuSubordinateDtc *This);
1711       HRESULT (WINAPI *Committed)(IDtcLuSubordinateDtc *This);
1712       HRESULT (WINAPI *Forget)(IDtcLuSubordinateDtc *This);
1713       HRESULT (WINAPI *Prepare)(IDtcLuSubordinateDtc *This);
1714       HRESULT (WINAPI *RequestCommit)(IDtcLuSubordinateDtc *This);
1715     END_INTERFACE
1716   } IDtcLuSubordinateDtcVtbl;
1717   struct IDtcLuSubordinateDtc {
1718     CONST_VTBL struct IDtcLuSubordinateDtcVtbl *lpVtbl;
1719   };
1720 #ifdef COBJMACROS
1721 #define IDtcLuSubordinateDtc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1722 #define IDtcLuSubordinateDtc_AddRef(This) (This)->lpVtbl->AddRef(This)
1723 #define IDtcLuSubordinateDtc_Release(This) (This)->lpVtbl->Release(This)
1724 #define IDtcLuSubordinateDtc_Unplug(This,fConversationLost) (This)->lpVtbl->Unplug(This,fConversationLost)
1725 #define IDtcLuSubordinateDtc_BackedOut(This) (This)->lpVtbl->BackedOut(This)
1726 #define IDtcLuSubordinateDtc_BackOut(This) (This)->lpVtbl->BackOut(This)
1727 #define IDtcLuSubordinateDtc_Committed(This) (This)->lpVtbl->Committed(This)
1728 #define IDtcLuSubordinateDtc_Forget(This) (This)->lpVtbl->Forget(This)
1729 #define IDtcLuSubordinateDtc_Prepare(This) (This)->lpVtbl->Prepare(This)
1730 #define IDtcLuSubordinateDtc_RequestCommit(This) (This)->lpVtbl->RequestCommit(This)
1731 #endif
1732 #endif
1733   HRESULT WINAPI IDtcLuSubordinateDtc_Unplug_Proxy(IDtcLuSubordinateDtc *This,WINBOOL fConversationLost);
1734   void __RPC_STUB IDtcLuSubordinateDtc_Unplug_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1735   HRESULT WINAPI IDtcLuSubordinateDtc_BackedOut_Proxy(IDtcLuSubordinateDtc *This);
1736   void __RPC_STUB IDtcLuSubordinateDtc_BackedOut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1737   HRESULT WINAPI IDtcLuSubordinateDtc_BackOut_Proxy(IDtcLuSubordinateDtc *This);
1738   void __RPC_STUB IDtcLuSubordinateDtc_BackOut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1739   HRESULT WINAPI IDtcLuSubordinateDtc_Committed_Proxy(IDtcLuSubordinateDtc *This);
1740   void __RPC_STUB IDtcLuSubordinateDtc_Committed_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1741   HRESULT WINAPI IDtcLuSubordinateDtc_Forget_Proxy(IDtcLuSubordinateDtc *This);
1742   void __RPC_STUB IDtcLuSubordinateDtc_Forget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1743   HRESULT WINAPI IDtcLuSubordinateDtc_Prepare_Proxy(IDtcLuSubordinateDtc *This);
1744   void __RPC_STUB IDtcLuSubordinateDtc_Prepare_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1745   HRESULT WINAPI IDtcLuSubordinateDtc_RequestCommit_Proxy(IDtcLuSubordinateDtc *This);
1746   void __RPC_STUB IDtcLuSubordinateDtc_RequestCommit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1747 #endif
1748 
1749 #ifndef __IDtcLuSubordinateDtcSink_INTERFACE_DEFINED__
1750 #define __IDtcLuSubordinateDtcSink_INTERFACE_DEFINED__
1751   EXTERN_C const IID IID_IDtcLuSubordinateDtcSink;
1752 #if defined(__cplusplus) && !defined(CINTERFACE)
1753   struct IDtcLuSubordinateDtcSink : public IUnknown {
1754   public:
1755     virtual HRESULT WINAPI AckUnplug(void) = 0;
1756     virtual HRESULT WINAPI TmDown(void) = 0;
1757     virtual HRESULT WINAPI SessionLost(void) = 0;
1758     virtual HRESULT WINAPI BackedOut(void) = 0;
1759     virtual HRESULT WINAPI BackOut(void) = 0;
1760     virtual HRESULT WINAPI Committed(void) = 0;
1761     virtual HRESULT WINAPI Forget(void) = 0;
1762     virtual HRESULT WINAPI RequestCommit(void) = 0;
1763   };
1764 #else
1765   typedef struct IDtcLuSubordinateDtcSinkVtbl {
1766     BEGIN_INTERFACE
1767       HRESULT (WINAPI *QueryInterface)(IDtcLuSubordinateDtcSink *This,REFIID riid,void **ppvObject);
1768       ULONG (WINAPI *AddRef)(IDtcLuSubordinateDtcSink *This);
1769       ULONG (WINAPI *Release)(IDtcLuSubordinateDtcSink *This);
1770       HRESULT (WINAPI *AckUnplug)(IDtcLuSubordinateDtcSink *This);
1771       HRESULT (WINAPI *TmDown)(IDtcLuSubordinateDtcSink *This);
1772       HRESULT (WINAPI *SessionLost)(IDtcLuSubordinateDtcSink *This);
1773       HRESULT (WINAPI *BackedOut)(IDtcLuSubordinateDtcSink *This);
1774       HRESULT (WINAPI *BackOut)(IDtcLuSubordinateDtcSink *This);
1775       HRESULT (WINAPI *Committed)(IDtcLuSubordinateDtcSink *This);
1776       HRESULT (WINAPI *Forget)(IDtcLuSubordinateDtcSink *This);
1777       HRESULT (WINAPI *RequestCommit)(IDtcLuSubordinateDtcSink *This);
1778     END_INTERFACE
1779   } IDtcLuSubordinateDtcSinkVtbl;
1780   struct IDtcLuSubordinateDtcSink {
1781     CONST_VTBL struct IDtcLuSubordinateDtcSinkVtbl *lpVtbl;
1782   };
1783 #ifdef COBJMACROS
1784 #define IDtcLuSubordinateDtcSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1785 #define IDtcLuSubordinateDtcSink_AddRef(This) (This)->lpVtbl->AddRef(This)
1786 #define IDtcLuSubordinateDtcSink_Release(This) (This)->lpVtbl->Release(This)
1787 #define IDtcLuSubordinateDtcSink_AckUnplug(This) (This)->lpVtbl->AckUnplug(This)
1788 #define IDtcLuSubordinateDtcSink_TmDown(This) (This)->lpVtbl->TmDown(This)
1789 #define IDtcLuSubordinateDtcSink_SessionLost(This) (This)->lpVtbl->SessionLost(This)
1790 #define IDtcLuSubordinateDtcSink_BackedOut(This) (This)->lpVtbl->BackedOut(This)
1791 #define IDtcLuSubordinateDtcSink_BackOut(This) (This)->lpVtbl->BackOut(This)
1792 #define IDtcLuSubordinateDtcSink_Committed(This) (This)->lpVtbl->Committed(This)
1793 #define IDtcLuSubordinateDtcSink_Forget(This) (This)->lpVtbl->Forget(This)
1794 #define IDtcLuSubordinateDtcSink_RequestCommit(This) (This)->lpVtbl->RequestCommit(This)
1795 #endif
1796 #endif
1797   HRESULT WINAPI IDtcLuSubordinateDtcSink_AckUnplug_Proxy(IDtcLuSubordinateDtcSink *This);
1798   void __RPC_STUB IDtcLuSubordinateDtcSink_AckUnplug_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1799   HRESULT WINAPI IDtcLuSubordinateDtcSink_TmDown_Proxy(IDtcLuSubordinateDtcSink *This);
1800   void __RPC_STUB IDtcLuSubordinateDtcSink_TmDown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1801   HRESULT WINAPI IDtcLuSubordinateDtcSink_SessionLost_Proxy(IDtcLuSubordinateDtcSink *This);
1802   void __RPC_STUB IDtcLuSubordinateDtcSink_SessionLost_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1803   HRESULT WINAPI IDtcLuSubordinateDtcSink_BackedOut_Proxy(IDtcLuSubordinateDtcSink *This);
1804   void __RPC_STUB IDtcLuSubordinateDtcSink_BackedOut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1805   HRESULT WINAPI IDtcLuSubordinateDtcSink_BackOut_Proxy(IDtcLuSubordinateDtcSink *This);
1806   void __RPC_STUB IDtcLuSubordinateDtcSink_BackOut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1807   HRESULT WINAPI IDtcLuSubordinateDtcSink_Committed_Proxy(IDtcLuSubordinateDtcSink *This);
1808   void __RPC_STUB IDtcLuSubordinateDtcSink_Committed_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1809   HRESULT WINAPI IDtcLuSubordinateDtcSink_Forget_Proxy(IDtcLuSubordinateDtcSink *This);
1810   void __RPC_STUB IDtcLuSubordinateDtcSink_Forget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1811   HRESULT WINAPI IDtcLuSubordinateDtcSink_RequestCommit_Proxy(IDtcLuSubordinateDtcSink *This);
1812   void __RPC_STUB IDtcLuSubordinateDtcSink_RequestCommit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1813 #endif
1814 
1815 #ifndef __IDtcLuSubordinateDtcFactory_INTERFACE_DEFINED__
1816 #define __IDtcLuSubordinateDtcFactory_INTERFACE_DEFINED__
1817   EXTERN_C const IID IID_IDtcLuSubordinateDtcFactory;
1818 #if defined(__cplusplus) && !defined(CINTERFACE)
1819   struct IDtcLuSubordinateDtcFactory : public IUnknown {
1820   public:
1821     virtual HRESULT WINAPI Create(unsigned char *pucLuPair,DWORD cbLuPair,IUnknown *punkTransactionOuter,ISOLEVEL isoLevel,ULONG isoFlags,ITransactionOptions *pOptions,ITransaction **ppTransaction,unsigned char *pTransId,DWORD cbTransId,IDtcLuSubordinateDtcSink *pSubordinateDtcSink,IDtcLuSubordinateDtc **ppSubordinateDtc) = 0;
1822   };
1823 #else
1824   typedef struct IDtcLuSubordinateDtcFactoryVtbl {
1825     BEGIN_INTERFACE
1826       HRESULT (WINAPI *QueryInterface)(IDtcLuSubordinateDtcFactory *This,REFIID riid,void **ppvObject);
1827       ULONG (WINAPI *AddRef)(IDtcLuSubordinateDtcFactory *This);
1828       ULONG (WINAPI *Release)(IDtcLuSubordinateDtcFactory *This);
1829       HRESULT (WINAPI *Create)(IDtcLuSubordinateDtcFactory *This,unsigned char *pucLuPair,DWORD cbLuPair,IUnknown *punkTransactionOuter,ISOLEVEL isoLevel,ULONG isoFlags,ITransactionOptions *pOptions,ITransaction **ppTransaction,unsigned char *pTransId,DWORD cbTransId,IDtcLuSubordinateDtcSink *pSubordinateDtcSink,IDtcLuSubordinateDtc **ppSubordinateDtc);
1830     END_INTERFACE
1831   } IDtcLuSubordinateDtcFactoryVtbl;
1832   struct IDtcLuSubordinateDtcFactory {
1833     CONST_VTBL struct IDtcLuSubordinateDtcFactoryVtbl *lpVtbl;
1834   };
1835 #ifdef COBJMACROS
1836 #define IDtcLuSubordinateDtcFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1837 #define IDtcLuSubordinateDtcFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
1838 #define IDtcLuSubordinateDtcFactory_Release(This) (This)->lpVtbl->Release(This)
1839 #define IDtcLuSubordinateDtcFactory_Create(This,pucLuPair,cbLuPair,punkTransactionOuter,isoLevel,isoFlags,pOptions,ppTransaction,pTransId,cbTransId,pSubordinateDtcSink,ppSubordinateDtc) (This)->lpVtbl->Create(This,pucLuPair,cbLuPair,punkTransactionOuter,isoLevel,isoFlags,pOptions,ppTransaction,pTransId,cbTransId,pSubordinateDtcSink,ppSubordinateDtc)
1840 #endif
1841 #endif
1842   HRESULT WINAPI IDtcLuSubordinateDtcFactory_Create_Proxy(IDtcLuSubordinateDtcFactory *This,unsigned char *pucLuPair,DWORD cbLuPair,IUnknown *punkTransactionOuter,ISOLEVEL isoLevel,ULONG isoFlags,ITransactionOptions *pOptions,ITransaction **ppTransaction,unsigned char *pTransId,DWORD cbTransId,IDtcLuSubordinateDtcSink *pSubordinateDtcSink,IDtcLuSubordinateDtc **ppSubordinateDtc);
1843   void __RPC_STUB IDtcLuSubordinateDtcFactory_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1844 #endif
1845 
1846   DEFINE_GUID(IID_IXATransLookup,0xF3B1F131,0xEEDA,0x11ce,0xAE,0xD4,0x00,0xAA,0x00,0x51,0xE2,0xC4);
1847   DEFINE_GUID(IID_IXATransLookup2,0xbf193c85,0xd1a,0x4290,0xb8,0x8f,0xd2,0xcb,0x88,0x73,0xd1,0xe7);
1848   DEFINE_GUID(IID_IResourceManagerSink,0x0D563181,0xDEFB,0x11ce,0xAE,0xD1,0x00,0xAA,0x00,0x51,0xE2,0xC4);
1849   DEFINE_GUID(IID_IResourceManager,0x3741d21,0x87eb,0x11ce,0x80,0x81,0x00,0x80,0xc7,0x58,0x52,0x7e);
1850   DEFINE_GUID(IID_IResourceManager2,0xd136c69a,0xf749,0x11d1,0x8f,0x47,0x0,0xc0,0x4f,0x8e,0xe5,0x7d);
1851   DEFINE_GUID(IID_ILastResourceManager,0x4d964ad4,0x5b33,0x11d3,0x8a,0x91,0x00,0xc0,0x4f,0x79,0xeb,0x6d);
1852   DEFINE_GUID(IID_IXAConfig,0xC8A6E3A1,0x9A8C,0x11cf,0xA3,0x08,0x00,0xA0,0xC9,0x05,0x41,0x6E);
1853   DEFINE_GUID(IID_IRMHelper,0xE793F6D1,0xF53D,0x11cf,0xA6,0x0D,0x00,0xA0,0xC9,0x05,0x41,0x6E);
1854   DEFINE_GUID(IID_IXAObtainRMInfo,0xE793F6D2,0xF53D,0x11cf,0xA6,0x0D,0x00,0xA0,0xC9,0x05,0x41,0x6E);
1855   DEFINE_GUID(IID_IXAResourceManager,0x4131E751,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E);
1856   DEFINE_GUID(IID_IXAResourceManagerFactory,0x4131E750,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E);
1857   DEFINE_GUID(IID_IXATransaction,0x4131E752,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E);
1858   DEFINE_GUID(IID_IResourceManagerFactory,0x13741d20,0x87eb,0x11ce,0x80,0x81,0x00,0x80,0xc7,0x58,0x52,0x7e);
1859   DEFINE_GUID(IID_IResourceManagerFactory2,0x6b369c21,0xfbd2,0x11d1,0x8f,0x47,0x0,0xc0,0x4f,0x8e,0xe5,0x7d);
1860   DEFINE_GUID(IID_IPrepareInfo,0x80c7bfd0,0x87ee,0x11ce,0x80,0x81,0x00,0x80,0xc7,0x58,0x52,0x7e);
1861   DEFINE_GUID(IID_IPrepareInfo2,0x5FAB2547,0x9779,0x11d1,0xB8,0x86,0x00,0xC0,0x4F,0xB9,0x61,0x8A);
1862   DEFINE_GUID(IID_IGetDispenser,0xc23cc370,0x87ef,0x11ce,0x80,0x81,0x00,0x80,0xc7,0x58,0x52,0x7e);
1863   DEFINE_GUID(IID_ITransactionVoterNotifyAsync2,0x5433376b,0x414d,0x11d3,0xb2,0x6,0x0,0xc0,0x4f,0xc2,0xf3,0xef);
1864   DEFINE_GUID(IID_ITransactionVoterBallotAsync2,0x5433376c,0x414d,0x11d3,0xb2,0x6,0x0,0xc0,0x4f,0xc2,0xf3,0xef);
1865   DEFINE_GUID(IID_ITransactionVoterFactory2,0x5433376a,0x414d,0x11d3,0xb2,0x6,0x0,0xc0,0x4f,0xc2,0xf3,0xef);
1866   DEFINE_GUID(IID_ITransactionPhase0EnlistmentAsync,0x82DC88E1,0xA954,0x11d1,0x8F,0x88,0x00,0x60,0x08,0x95,0xE7,0xD5);
1867   DEFINE_GUID(IID_ITransactionPhase0NotifyAsync,0xEF081809,0x0C76,0x11d2,0x87,0xA6,0x00,0xC0,0x4F,0x99,0x0F,0x34);
1868   DEFINE_GUID(IID_ITransactionPhase0Factory,0x82DC88E0,0xA954,0x11d1,0x8F,0x88,0x00,0x60,0x08,0x95,0xE7,0xD5);
1869   DEFINE_GUID(IID_ITransactionTransmitter,0x59313E01,0xB36C,0x11cf,0xA5,0x39,0x00,0xAA,0x00,0x68,0x87,0xC3);
1870   DEFINE_GUID(IID_ITransactionTransmitterFactory,0x59313E00,0xB36C,0x11cf,0xA5,0x39,0x00,0xAA,0x00,0x68,0x87,0xC3);
1871   DEFINE_GUID(IID_ITransactionReceiver,0x59313E03,0xB36C,0x11cf,0xA5,0x39,0x00,0xAA,0x00,0x68,0x87,0xC3);
1872   DEFINE_GUID(IID_ITransactionReceiverFactory,0x59313E02,0xB36C,0x11cf,0xA5,0x39,0x00,0xAA,0x00,0x68,0x87,0xC3);
1873   DEFINE_GUID(IID_IDtcLuConfigure,0x4131E760,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E);
1874   DEFINE_GUID(IID_IDtcLuRecovery,0xac2b8ad2,0xd6f0,0x11d0,0xb3,0x86,0x0,0xa0,0xc9,0x8,0x33,0x65);
1875   DEFINE_GUID(IID_IDtcLuRecoveryFactory,0x4131E762,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E);
1876   DEFINE_GUID(IID_IDtcLuRecoveryInitiatedByDtcTransWork,0x4131E765,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E);
1877   DEFINE_GUID(IID_IDtcLuRecoveryInitiatedByDtcStatusWork,0x4131E766,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E);
1878   DEFINE_GUID(IID_IDtcLuRecoveryInitiatedByDtc,0x4131E764,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E);
1879   DEFINE_GUID(IID_IDtcLuRecoveryInitiatedByLuWork,0xac2b8ad1,0xd6f0,0x11d0,0xb3,0x86,0x0,0xa0,0xc9,0x8,0x33,0x65);
1880   DEFINE_GUID(IID_IDtcLuRecoveryInitiatedByLu,0x4131E768,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E);
1881   DEFINE_GUID(IID_IDtcLuRmEnlistment,0x4131E769,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E);
1882   DEFINE_GUID(IID_IDtcLuRmEnlistmentSink,0x4131E770,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E);
1883   DEFINE_GUID(IID_IDtcLuRmEnlistmentFactory,0x4131E771,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E);
1884   DEFINE_GUID(IID_IDtcLuSubordinateDtc,0x4131E773,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E);
1885   DEFINE_GUID(IID_IDtcLuSubordinateDtcSink,0x4131E774,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E);
1886   DEFINE_GUID(IID_IDtcLuSubordinateDtcFactory,0x4131E775,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E);
1887 
1888   extern RPC_IF_HANDLE __MIDL_itf_txdtc_0155_v0_0_c_ifspec;
1889   extern RPC_IF_HANDLE __MIDL_itf_txdtc_0155_v0_0_s_ifspec;
1890 
1891 #ifdef __cplusplus
1892 }
1893 #endif
1894 #endif
1895