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__
27typedef struct IXATransLookup IXATransLookup;
28#endif
29
30#ifndef __IXATransLookup2_FWD_DEFINED__
31#define __IXATransLookup2_FWD_DEFINED__
32typedef struct IXATransLookup2 IXATransLookup2;
33#endif
34
35#ifndef __IResourceManagerSink_FWD_DEFINED__
36#define __IResourceManagerSink_FWD_DEFINED__
37typedef struct IResourceManagerSink IResourceManagerSink;
38#endif
39
40#ifndef __IResourceManager_FWD_DEFINED__
41#define __IResourceManager_FWD_DEFINED__
42typedef struct IResourceManager IResourceManager;
43#endif
44
45#ifndef __ILastResourceManager_FWD_DEFINED__
46#define __ILastResourceManager_FWD_DEFINED__
47typedef struct ILastResourceManager ILastResourceManager;
48#endif
49
50#ifndef __IResourceManager2_FWD_DEFINED__
51#define __IResourceManager2_FWD_DEFINED__
52typedef struct IResourceManager2 IResourceManager2;
53#endif
54
55#ifndef __IXAConfig_FWD_DEFINED__
56#define __IXAConfig_FWD_DEFINED__
57typedef struct IXAConfig IXAConfig;
58#endif
59
60#ifndef __IRMHelper_FWD_DEFINED__
61#define __IRMHelper_FWD_DEFINED__
62typedef struct IRMHelper IRMHelper;
63#endif
64
65#ifndef __IXAObtainRMInfo_FWD_DEFINED__
66#define __IXAObtainRMInfo_FWD_DEFINED__
67typedef struct IXAObtainRMInfo IXAObtainRMInfo;
68#endif
69
70#ifndef __IResourceManagerFactory_FWD_DEFINED__
71#define __IResourceManagerFactory_FWD_DEFINED__
72typedef struct IResourceManagerFactory IResourceManagerFactory;
73#endif
74
75#ifndef __IResourceManagerFactory2_FWD_DEFINED__
76#define __IResourceManagerFactory2_FWD_DEFINED__
77typedef struct IResourceManagerFactory2 IResourceManagerFactory2;
78#endif
79
80#ifndef __IPrepareInfo_FWD_DEFINED__
81#define __IPrepareInfo_FWD_DEFINED__
82typedef struct IPrepareInfo IPrepareInfo;
83#endif
84
85#ifndef __IPrepareInfo2_FWD_DEFINED__
86#define __IPrepareInfo2_FWD_DEFINED__
87typedef struct IPrepareInfo2 IPrepareInfo2;
88#endif
89
90#ifndef __IGetDispenser_FWD_DEFINED__
91#define __IGetDispenser_FWD_DEFINED__
92typedef struct IGetDispenser IGetDispenser;
93#endif
94
95#ifndef __ITransactionVoterBallotAsync2_FWD_DEFINED__
96#define __ITransactionVoterBallotAsync2_FWD_DEFINED__
97typedef struct ITransactionVoterBallotAsync2 ITransactionVoterBallotAsync2;
98#endif
99
100#ifndef __ITransactionVoterNotifyAsync2_FWD_DEFINED__
101#define __ITransactionVoterNotifyAsync2_FWD_DEFINED__
102typedef struct ITransactionVoterNotifyAsync2 ITransactionVoterNotifyAsync2;
103#endif
104
105#ifndef __ITransactionVoterFactory2_FWD_DEFINED__
106#define __ITransactionVoterFactory2_FWD_DEFINED__
107typedef struct ITransactionVoterFactory2 ITransactionVoterFactory2;
108#endif
109
110#ifndef __ITransactionPhase0EnlistmentAsync_FWD_DEFINED__
111#define __ITransactionPhase0EnlistmentAsync_FWD_DEFINED__
112typedef struct ITransactionPhase0EnlistmentAsync ITransactionPhase0EnlistmentAsync;
113#endif
114
115#ifndef __ITransactionPhase0NotifyAsync_FWD_DEFINED__
116#define __ITransactionPhase0NotifyAsync_FWD_DEFINED__
117typedef struct ITransactionPhase0NotifyAsync ITransactionPhase0NotifyAsync;
118#endif
119
120#ifndef __ITransactionPhase0Factory_FWD_DEFINED__
121#define __ITransactionPhase0Factory_FWD_DEFINED__
122typedef struct ITransactionPhase0Factory ITransactionPhase0Factory;
123#endif
124
125#ifndef __ITransactionTransmitter_FWD_DEFINED__
126#define __ITransactionTransmitter_FWD_DEFINED__
127typedef struct ITransactionTransmitter ITransactionTransmitter;
128#endif
129
130#ifndef __ITransactionTransmitterFactory_FWD_DEFINED__
131#define __ITransactionTransmitterFactory_FWD_DEFINED__
132typedef struct ITransactionTransmitterFactory ITransactionTransmitterFactory;
133#endif
134
135#ifndef __ITransactionReceiver_FWD_DEFINED__
136#define __ITransactionReceiver_FWD_DEFINED__
137typedef struct ITransactionReceiver ITransactionReceiver;
138#endif
139
140#ifndef __ITransactionReceiverFactory_FWD_DEFINED__
141#define __ITransactionReceiverFactory_FWD_DEFINED__
142typedef struct ITransactionReceiverFactory ITransactionReceiverFactory;
143#endif
144
145#ifndef __IDtcLuConfigure_FWD_DEFINED__
146#define __IDtcLuConfigure_FWD_DEFINED__
147typedef struct IDtcLuConfigure IDtcLuConfigure;
148#endif
149
150#ifndef __IDtcLuRecovery_FWD_DEFINED__
151#define __IDtcLuRecovery_FWD_DEFINED__
152typedef struct IDtcLuRecovery IDtcLuRecovery;
153#endif
154
155#ifndef __IDtcLuRecoveryFactory_FWD_DEFINED__
156#define __IDtcLuRecoveryFactory_FWD_DEFINED__
157typedef struct IDtcLuRecoveryFactory IDtcLuRecoveryFactory;
158#endif
159
160#ifndef __IDtcLuRecoveryInitiatedByDtcTransWork_FWD_DEFINED__
161#define __IDtcLuRecoveryInitiatedByDtcTransWork_FWD_DEFINED__
162typedef struct IDtcLuRecoveryInitiatedByDtcTransWork IDtcLuRecoveryInitiatedByDtcTransWork;
163#endif
164
165#ifndef __IDtcLuRecoveryInitiatedByDtcStatusWork_FWD_DEFINED__
166#define __IDtcLuRecoveryInitiatedByDtcStatusWork_FWD_DEFINED__
167typedef struct IDtcLuRecoveryInitiatedByDtcStatusWork IDtcLuRecoveryInitiatedByDtcStatusWork;
168#endif
169
170#ifndef __IDtcLuRecoveryInitiatedByDtc_FWD_DEFINED__
171#define __IDtcLuRecoveryInitiatedByDtc_FWD_DEFINED__
172typedef struct IDtcLuRecoveryInitiatedByDtc IDtcLuRecoveryInitiatedByDtc;
173#endif
174
175#ifndef __IDtcLuRecoveryInitiatedByLuWork_FWD_DEFINED__
176#define __IDtcLuRecoveryInitiatedByLuWork_FWD_DEFINED__
177typedef struct IDtcLuRecoveryInitiatedByLuWork IDtcLuRecoveryInitiatedByLuWork;
178#endif
179
180#ifndef __IDtcLuRecoveryInitiatedByLu_FWD_DEFINED__
181#define __IDtcLuRecoveryInitiatedByLu_FWD_DEFINED__
182typedef struct IDtcLuRecoveryInitiatedByLu IDtcLuRecoveryInitiatedByLu;
183#endif
184
185#ifndef __IDtcLuRmEnlistment_FWD_DEFINED__
186#define __IDtcLuRmEnlistment_FWD_DEFINED__
187typedef struct IDtcLuRmEnlistment IDtcLuRmEnlistment;
188#endif
189
190#ifndef __IDtcLuRmEnlistmentSink_FWD_DEFINED__
191#define __IDtcLuRmEnlistmentSink_FWD_DEFINED__
192typedef struct IDtcLuRmEnlistmentSink IDtcLuRmEnlistmentSink;
193#endif
194
195#ifndef __IDtcLuRmEnlistmentFactory_FWD_DEFINED__
196#define __IDtcLuRmEnlistmentFactory_FWD_DEFINED__
197typedef struct IDtcLuRmEnlistmentFactory IDtcLuRmEnlistmentFactory;
198#endif
199
200#ifndef __IDtcLuSubordinateDtc_FWD_DEFINED__
201#define __IDtcLuSubordinateDtc_FWD_DEFINED__
202typedef struct IDtcLuSubordinateDtc IDtcLuSubordinateDtc;
203#endif
204
205#ifndef __IDtcLuSubordinateDtcSink_FWD_DEFINED__
206#define __IDtcLuSubordinateDtcSink_FWD_DEFINED__
207typedef struct IDtcLuSubordinateDtcSink IDtcLuSubordinateDtcSink;
208#endif
209
210#ifndef __IDtcLuSubordinateDtcFactory_FWD_DEFINED__
211#define __IDtcLuSubordinateDtcFactory_FWD_DEFINED__
212typedef struct IDtcLuSubordinateDtcFactory IDtcLuSubordinateDtcFactory;
213#endif
214
215#include "txcoord.h"
216
217#ifdef __cplusplus
218extern "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