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