TxDtc.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:169k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for txdtc.idl:
  5.     Os, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __txdtc_h__
  27. #define __txdtc_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __IXATransLookup_FWD_DEFINED__
  33. #define __IXATransLookup_FWD_DEFINED__
  34. typedef interface IXATransLookup IXATransLookup;
  35. #endif  /* __IXATransLookup_FWD_DEFINED__ */
  36. #ifndef __IResourceManagerSink_FWD_DEFINED__
  37. #define __IResourceManagerSink_FWD_DEFINED__
  38. typedef interface IResourceManagerSink IResourceManagerSink;
  39. #endif  /* __IResourceManagerSink_FWD_DEFINED__ */
  40. #ifndef __IResourceManager_FWD_DEFINED__
  41. #define __IResourceManager_FWD_DEFINED__
  42. typedef interface IResourceManager IResourceManager;
  43. #endif  /* __IResourceManager_FWD_DEFINED__ */
  44. #ifndef __ILastResourceManager_FWD_DEFINED__
  45. #define __ILastResourceManager_FWD_DEFINED__
  46. typedef interface ILastResourceManager ILastResourceManager;
  47. #endif  /* __ILastResourceManager_FWD_DEFINED__ */
  48. #ifndef __IResourceManager2_FWD_DEFINED__
  49. #define __IResourceManager2_FWD_DEFINED__
  50. typedef interface IResourceManager2 IResourceManager2;
  51. #endif  /* __IResourceManager2_FWD_DEFINED__ */
  52. #ifndef __IXAConfig_FWD_DEFINED__
  53. #define __IXAConfig_FWD_DEFINED__
  54. typedef interface IXAConfig IXAConfig;
  55. #endif  /* __IXAConfig_FWD_DEFINED__ */
  56. #ifndef __IRMHelper_FWD_DEFINED__
  57. #define __IRMHelper_FWD_DEFINED__
  58. typedef interface IRMHelper IRMHelper;
  59. #endif  /* __IRMHelper_FWD_DEFINED__ */
  60. #ifndef __IXAObtainRMInfo_FWD_DEFINED__
  61. #define __IXAObtainRMInfo_FWD_DEFINED__
  62. typedef interface IXAObtainRMInfo IXAObtainRMInfo;
  63. #endif  /* __IXAObtainRMInfo_FWD_DEFINED__ */
  64. #ifndef __IResourceManagerFactory_FWD_DEFINED__
  65. #define __IResourceManagerFactory_FWD_DEFINED__
  66. typedef interface IResourceManagerFactory IResourceManagerFactory;
  67. #endif  /* __IResourceManagerFactory_FWD_DEFINED__ */
  68. #ifndef __IResourceManagerFactory2_FWD_DEFINED__
  69. #define __IResourceManagerFactory2_FWD_DEFINED__
  70. typedef interface IResourceManagerFactory2 IResourceManagerFactory2;
  71. #endif  /* __IResourceManagerFactory2_FWD_DEFINED__ */
  72. #ifndef __IPrepareInfo_FWD_DEFINED__
  73. #define __IPrepareInfo_FWD_DEFINED__
  74. typedef interface IPrepareInfo IPrepareInfo;
  75. #endif  /* __IPrepareInfo_FWD_DEFINED__ */
  76. #ifndef __IPrepareInfo2_FWD_DEFINED__
  77. #define __IPrepareInfo2_FWD_DEFINED__
  78. typedef interface IPrepareInfo2 IPrepareInfo2;
  79. #endif  /* __IPrepareInfo2_FWD_DEFINED__ */
  80. #ifndef __IGetDispenser_FWD_DEFINED__
  81. #define __IGetDispenser_FWD_DEFINED__
  82. typedef interface IGetDispenser IGetDispenser;
  83. #endif  /* __IGetDispenser_FWD_DEFINED__ */
  84. #ifndef __ITransactionVoterBallotAsync2_FWD_DEFINED__
  85. #define __ITransactionVoterBallotAsync2_FWD_DEFINED__
  86. typedef interface ITransactionVoterBallotAsync2 ITransactionVoterBallotAsync2;
  87. #endif  /* __ITransactionVoterBallotAsync2_FWD_DEFINED__ */
  88. #ifndef __ITransactionVoterNotifyAsync2_FWD_DEFINED__
  89. #define __ITransactionVoterNotifyAsync2_FWD_DEFINED__
  90. typedef interface ITransactionVoterNotifyAsync2 ITransactionVoterNotifyAsync2;
  91. #endif  /* __ITransactionVoterNotifyAsync2_FWD_DEFINED__ */
  92. #ifndef __ITransactionVoterFactory2_FWD_DEFINED__
  93. #define __ITransactionVoterFactory2_FWD_DEFINED__
  94. typedef interface ITransactionVoterFactory2 ITransactionVoterFactory2;
  95. #endif  /* __ITransactionVoterFactory2_FWD_DEFINED__ */
  96. #ifndef __ITransactionPhase0EnlistmentAsync_FWD_DEFINED__
  97. #define __ITransactionPhase0EnlistmentAsync_FWD_DEFINED__
  98. typedef interface ITransactionPhase0EnlistmentAsync ITransactionPhase0EnlistmentAsync;
  99. #endif  /* __ITransactionPhase0EnlistmentAsync_FWD_DEFINED__ */
  100. #ifndef __ITransactionPhase0NotifyAsync_FWD_DEFINED__
  101. #define __ITransactionPhase0NotifyAsync_FWD_DEFINED__
  102. typedef interface ITransactionPhase0NotifyAsync ITransactionPhase0NotifyAsync;
  103. #endif  /* __ITransactionPhase0NotifyAsync_FWD_DEFINED__ */
  104. #ifndef __ITransactionPhase0Factory_FWD_DEFINED__
  105. #define __ITransactionPhase0Factory_FWD_DEFINED__
  106. typedef interface ITransactionPhase0Factory ITransactionPhase0Factory;
  107. #endif  /* __ITransactionPhase0Factory_FWD_DEFINED__ */
  108. #ifndef __ITransactionTransmitter_FWD_DEFINED__
  109. #define __ITransactionTransmitter_FWD_DEFINED__
  110. typedef interface ITransactionTransmitter ITransactionTransmitter;
  111. #endif  /* __ITransactionTransmitter_FWD_DEFINED__ */
  112. #ifndef __ITransactionTransmitterFactory_FWD_DEFINED__
  113. #define __ITransactionTransmitterFactory_FWD_DEFINED__
  114. typedef interface ITransactionTransmitterFactory ITransactionTransmitterFactory;
  115. #endif  /* __ITransactionTransmitterFactory_FWD_DEFINED__ */
  116. #ifndef __ITransactionReceiver_FWD_DEFINED__
  117. #define __ITransactionReceiver_FWD_DEFINED__
  118. typedef interface ITransactionReceiver ITransactionReceiver;
  119. #endif  /* __ITransactionReceiver_FWD_DEFINED__ */
  120. #ifndef __ITransactionReceiverFactory_FWD_DEFINED__
  121. #define __ITransactionReceiverFactory_FWD_DEFINED__
  122. typedef interface ITransactionReceiverFactory ITransactionReceiverFactory;
  123. #endif  /* __ITransactionReceiverFactory_FWD_DEFINED__ */
  124. #ifndef __IDtcLuConfigure_FWD_DEFINED__
  125. #define __IDtcLuConfigure_FWD_DEFINED__
  126. typedef interface IDtcLuConfigure IDtcLuConfigure;
  127. #endif  /* __IDtcLuConfigure_FWD_DEFINED__ */
  128. #ifndef __IDtcLuRecovery_FWD_DEFINED__
  129. #define __IDtcLuRecovery_FWD_DEFINED__
  130. typedef interface IDtcLuRecovery IDtcLuRecovery;
  131. #endif  /* __IDtcLuRecovery_FWD_DEFINED__ */
  132. #ifndef __IDtcLuRecoveryFactory_FWD_DEFINED__
  133. #define __IDtcLuRecoveryFactory_FWD_DEFINED__
  134. typedef interface IDtcLuRecoveryFactory IDtcLuRecoveryFactory;
  135. #endif  /* __IDtcLuRecoveryFactory_FWD_DEFINED__ */
  136. #ifndef __IDtcLuRecoveryInitiatedByDtcTransWork_FWD_DEFINED__
  137. #define __IDtcLuRecoveryInitiatedByDtcTransWork_FWD_DEFINED__
  138. typedef interface IDtcLuRecoveryInitiatedByDtcTransWork IDtcLuRecoveryInitiatedByDtcTransWork;
  139. #endif  /* __IDtcLuRecoveryInitiatedByDtcTransWork_FWD_DEFINED__ */
  140. #ifndef __IDtcLuRecoveryInitiatedByDtcStatusWork_FWD_DEFINED__
  141. #define __IDtcLuRecoveryInitiatedByDtcStatusWork_FWD_DEFINED__
  142. typedef interface IDtcLuRecoveryInitiatedByDtcStatusWork IDtcLuRecoveryInitiatedByDtcStatusWork;
  143. #endif  /* __IDtcLuRecoveryInitiatedByDtcStatusWork_FWD_DEFINED__ */
  144. #ifndef __IDtcLuRecoveryInitiatedByDtc_FWD_DEFINED__
  145. #define __IDtcLuRecoveryInitiatedByDtc_FWD_DEFINED__
  146. typedef interface IDtcLuRecoveryInitiatedByDtc IDtcLuRecoveryInitiatedByDtc;
  147. #endif  /* __IDtcLuRecoveryInitiatedByDtc_FWD_DEFINED__ */
  148. #ifndef __IDtcLuRecoveryInitiatedByLuWork_FWD_DEFINED__
  149. #define __IDtcLuRecoveryInitiatedByLuWork_FWD_DEFINED__
  150. typedef interface IDtcLuRecoveryInitiatedByLuWork IDtcLuRecoveryInitiatedByLuWork;
  151. #endif  /* __IDtcLuRecoveryInitiatedByLuWork_FWD_DEFINED__ */
  152. #ifndef __IDtcLuRecoveryInitiatedByLu_FWD_DEFINED__
  153. #define __IDtcLuRecoveryInitiatedByLu_FWD_DEFINED__
  154. typedef interface IDtcLuRecoveryInitiatedByLu IDtcLuRecoveryInitiatedByLu;
  155. #endif  /* __IDtcLuRecoveryInitiatedByLu_FWD_DEFINED__ */
  156. #ifndef __IDtcLuRmEnlistment_FWD_DEFINED__
  157. #define __IDtcLuRmEnlistment_FWD_DEFINED__
  158. typedef interface IDtcLuRmEnlistment IDtcLuRmEnlistment;
  159. #endif  /* __IDtcLuRmEnlistment_FWD_DEFINED__ */
  160. #ifndef __IDtcLuRmEnlistmentSink_FWD_DEFINED__
  161. #define __IDtcLuRmEnlistmentSink_FWD_DEFINED__
  162. typedef interface IDtcLuRmEnlistmentSink IDtcLuRmEnlistmentSink;
  163. #endif  /* __IDtcLuRmEnlistmentSink_FWD_DEFINED__ */
  164. #ifndef __IDtcLuRmEnlistmentFactory_FWD_DEFINED__
  165. #define __IDtcLuRmEnlistmentFactory_FWD_DEFINED__
  166. typedef interface IDtcLuRmEnlistmentFactory IDtcLuRmEnlistmentFactory;
  167. #endif  /* __IDtcLuRmEnlistmentFactory_FWD_DEFINED__ */
  168. #ifndef __IDtcLuSubordinateDtc_FWD_DEFINED__
  169. #define __IDtcLuSubordinateDtc_FWD_DEFINED__
  170. typedef interface IDtcLuSubordinateDtc IDtcLuSubordinateDtc;
  171. #endif  /* __IDtcLuSubordinateDtc_FWD_DEFINED__ */
  172. #ifndef __IDtcLuSubordinateDtcSink_FWD_DEFINED__
  173. #define __IDtcLuSubordinateDtcSink_FWD_DEFINED__
  174. typedef interface IDtcLuSubordinateDtcSink IDtcLuSubordinateDtcSink;
  175. #endif  /* __IDtcLuSubordinateDtcSink_FWD_DEFINED__ */
  176. #ifndef __IDtcLuSubordinateDtcFactory_FWD_DEFINED__
  177. #define __IDtcLuSubordinateDtcFactory_FWD_DEFINED__
  178. typedef interface IDtcLuSubordinateDtcFactory IDtcLuSubordinateDtcFactory;
  179. #endif  /* __IDtcLuSubordinateDtcFactory_FWD_DEFINED__ */
  180. /* header files for imported files */
  181. #include "txcoord.h"
  182. #ifdef __cplusplus
  183. extern "C"{
  184. #endif 
  185. void * __RPC_USER MIDL_user_allocate(size_t);
  186. void __RPC_USER MIDL_user_free( void * ); 
  187. /* interface __MIDL_itf_txdtc_0000 */
  188. /* [local] */ 
  189. #define XACTTOMSG(dwXact) (dwXact-0x00040000+0x40000000)
  190. typedef 
  191. enum XACT_DTC_CONSTANTS
  192.     { XACT_E_CONNECTION_REQUEST_DENIED = 0x8004d100L,
  193. XACT_E_TOOMANY_ENLISTMENTS = 0x8004d101L,
  194. XACT_E_DUPLICATE_GUID = 0x8004d102L,
  195. XACT_E_NOTSINGLEPHASE = 0x8004d103L,
  196. XACT_E_RECOVERYALREADYDONE = 0x8004d104L,
  197. XACT_E_PROTOCOL = 0x8004d105L,
  198. XACT_E_RM_FAILURE = 0x8004d106L,
  199. XACT_E_RECOVERY_FAILED = 0x8004d107L,
  200. XACT_E_LU_NOT_FOUND = 0x8004d108L,
  201. XACT_E_DUPLICATE_LU = 0x8004d109L,
  202. XACT_E_LU_NOT_CONNECTED = 0x8004d10aL,
  203. XACT_E_DUPLICATE_TRANSID = 0x8004d10bL,
  204. XACT_E_LU_BUSY = 0x8004d10cL,
  205. XACT_E_LU_NO_RECOVERY_PROCESS = 0x8004d10dL,
  206. XACT_E_LU_DOWN = 0x8004d10eL,
  207. XACT_E_LU_RECOVERING = 0x8004d10fL,
  208. XACT_E_LU_RECOVERY_MISMATCH = 0x8004d110L,
  209. XACT_E_RM_UNAVAILABLE = 0x8004d111L,
  210. XACT_E_LRMRECOVERYALREADYDONE = 0x8004d112L,
  211. XACT_E_NOLASTRESOURCEINTERFACE = 0x8004d113L,
  212. XACT_S_NONOTIFY = 0x4d100L,
  213. XACT_OK_NONOTIFY = 0x4d101L,
  214. dwUSER_MS_SQLSERVER = 0xffff
  215.     }  XACT_DTC_CONSTANTS;
  216. #ifndef _XID_T_DEFINED
  217. #define _XID_T_DEFINED
  218. typedef struct xid_t
  219.     {
  220.     long formatID;
  221.     long gtrid_length;
  222.     long bqual_length;
  223.     char data[ 128 ];
  224.     }  XID;
  225. #endif
  226. #ifndef _XA_SWITCH_T_DEFINED
  227. #define _XA_SWITCH_T_DEFINED
  228. typedef struct xa_switch_t
  229.     {
  230.     char name[ 32 ];
  231.     long flags;
  232.     long version;
  233.     int ( __cdecl *xa_open_entry )( 
  234.         char *__MIDL_0004,
  235.         int __MIDL_0005,
  236.         long __MIDL_0006);
  237.     int ( __cdecl *xa_close_entry )( 
  238.         char *__MIDL_0008,
  239.         int __MIDL_0009,
  240.         long __MIDL_0010);
  241.     int ( __cdecl *xa_start_entry )( 
  242.         XID *__MIDL_0012,
  243.         int __MIDL_0013,
  244.         long __MIDL_0014);
  245.     int ( __cdecl *xa_end_entry )( 
  246.         XID *__MIDL_0016,
  247.         int __MIDL_0017,
  248.         long __MIDL_0018);
  249.     int ( __cdecl *xa_rollback_entry )( 
  250.         XID *__MIDL_0020,
  251.         int __MIDL_0021,
  252.         long __MIDL_0022);
  253.     int ( __cdecl *xa_prepare_entry )( 
  254.         XID *__MIDL_0024,
  255.         int __MIDL_0025,
  256.         long __MIDL_0026);
  257.     int ( __cdecl *xa_commit_entry )( 
  258.         XID *__MIDL_0028,
  259.         int __MIDL_0029,
  260.         long __MIDL_0030);
  261.     int ( __cdecl *xa_recover_entry )( 
  262.         XID *__MIDL_0032,
  263.         long __MIDL_0033,
  264.         int __MIDL_0034,
  265.         long __MIDL_0035);
  266.     int ( __cdecl *xa_forget_entry )( 
  267.         XID *__MIDL_0037,
  268.         int __MIDL_0038,
  269.         long __MIDL_0039);
  270.     int ( __cdecl *xa_complete_entry )( 
  271.         int *__MIDL_0041,
  272.         int *__MIDL_0042,
  273.         int __MIDL_0043,
  274.         long __MIDL_0044);
  275.     }  xa_switch_t;
  276. #endif
  277. extern RPC_IF_HANDLE __MIDL_itf_txdtc_0000_v0_0_c_ifspec;
  278. extern RPC_IF_HANDLE __MIDL_itf_txdtc_0000_v0_0_s_ifspec;
  279. #ifndef __IXATransLookup_INTERFACE_DEFINED__
  280. #define __IXATransLookup_INTERFACE_DEFINED__
  281. /* interface IXATransLookup */
  282. /* [unique][object][uuid] */ 
  283. EXTERN_C const IID IID_IXATransLookup;
  284. #if defined(__cplusplus) && !defined(CINTERFACE)
  285.     
  286.     MIDL_INTERFACE("F3B1F131-EEDA-11ce-AED4-00AA0051E2C4")
  287.     IXATransLookup : public IUnknown
  288.     {
  289.     public:
  290.         virtual HRESULT STDMETHODCALLTYPE Lookup( 
  291.             /* [out] */ ITransaction **ppTransaction) = 0;
  292.         
  293.     };
  294.     
  295. #else  /* C style interface */
  296.     typedef struct IXATransLookupVtbl
  297.     {
  298.         BEGIN_INTERFACE
  299.         
  300.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  301.             IXATransLookup * This,
  302.             /* [in] */ REFIID riid,
  303.             /* [iid_is][out] */ void **ppvObject);
  304.         
  305.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  306.             IXATransLookup * This);
  307.         
  308.         ULONG ( STDMETHODCALLTYPE *Release )( 
  309.             IXATransLookup * This);
  310.         
  311.         HRESULT ( STDMETHODCALLTYPE *Lookup )( 
  312.             IXATransLookup * This,
  313.             /* [out] */ ITransaction **ppTransaction);
  314.         
  315.         END_INTERFACE
  316.     } IXATransLookupVtbl;
  317.     interface IXATransLookup
  318.     {
  319.         CONST_VTBL struct IXATransLookupVtbl *lpVtbl;
  320.     };
  321.     
  322. #ifdef COBJMACROS
  323. #define IXATransLookup_QueryInterface(This,riid,ppvObject)
  324.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  325. #define IXATransLookup_AddRef(This)
  326.     (This)->lpVtbl -> AddRef(This)
  327. #define IXATransLookup_Release(This)
  328.     (This)->lpVtbl -> Release(This)
  329. #define IXATransLookup_Lookup(This,ppTransaction)
  330.     (This)->lpVtbl -> Lookup(This,ppTransaction)
  331. #endif /* COBJMACROS */
  332. #endif  /* C style interface */
  333. HRESULT STDMETHODCALLTYPE IXATransLookup_Lookup_Proxy( 
  334.     IXATransLookup * This,
  335.     /* [out] */ ITransaction **ppTransaction);
  336. void __RPC_STUB IXATransLookup_Lookup_Stub(
  337.     IRpcStubBuffer *This,
  338.     IRpcChannelBuffer *_pRpcChannelBuffer,
  339.     PRPC_MESSAGE _pRpcMessage,
  340.     DWORD *_pdwStubPhase);
  341. #endif  /* __IXATransLookup_INTERFACE_DEFINED__ */
  342. #ifndef __IResourceManagerSink_INTERFACE_DEFINED__
  343. #define __IResourceManagerSink_INTERFACE_DEFINED__
  344. /* interface IResourceManagerSink */
  345. /* [unique][object][uuid] */ 
  346. EXTERN_C const IID IID_IResourceManagerSink;
  347. #if defined(__cplusplus) && !defined(CINTERFACE)
  348.     
  349.     MIDL_INTERFACE("0D563181-DEFB-11ce-AED1-00AA0051E2C4")
  350.     IResourceManagerSink : public IUnknown
  351.     {
  352.     public:
  353.         virtual HRESULT STDMETHODCALLTYPE TMDown( void) = 0;
  354.         
  355.     };
  356.     
  357. #else  /* C style interface */
  358.     typedef struct IResourceManagerSinkVtbl
  359.     {
  360.         BEGIN_INTERFACE
  361.         
  362.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  363.             IResourceManagerSink * This,
  364.             /* [in] */ REFIID riid,
  365.             /* [iid_is][out] */ void **ppvObject);
  366.         
  367.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  368.             IResourceManagerSink * This);
  369.         
  370.         ULONG ( STDMETHODCALLTYPE *Release )( 
  371.             IResourceManagerSink * This);
  372.         
  373.         HRESULT ( STDMETHODCALLTYPE *TMDown )( 
  374.             IResourceManagerSink * This);
  375.         
  376.         END_INTERFACE
  377.     } IResourceManagerSinkVtbl;
  378.     interface IResourceManagerSink
  379.     {
  380.         CONST_VTBL struct IResourceManagerSinkVtbl *lpVtbl;
  381.     };
  382.     
  383. #ifdef COBJMACROS
  384. #define IResourceManagerSink_QueryInterface(This,riid,ppvObject)
  385.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  386. #define IResourceManagerSink_AddRef(This)
  387.     (This)->lpVtbl -> AddRef(This)
  388. #define IResourceManagerSink_Release(This)
  389.     (This)->lpVtbl -> Release(This)
  390. #define IResourceManagerSink_TMDown(This)
  391.     (This)->lpVtbl -> TMDown(This)
  392. #endif /* COBJMACROS */
  393. #endif  /* C style interface */
  394. HRESULT STDMETHODCALLTYPE IResourceManagerSink_TMDown_Proxy( 
  395.     IResourceManagerSink * This);
  396. void __RPC_STUB IResourceManagerSink_TMDown_Stub(
  397.     IRpcStubBuffer *This,
  398.     IRpcChannelBuffer *_pRpcChannelBuffer,
  399.     PRPC_MESSAGE _pRpcMessage,
  400.     DWORD *_pdwStubPhase);
  401. #endif  /* __IResourceManagerSink_INTERFACE_DEFINED__ */
  402. #ifndef __IResourceManager_INTERFACE_DEFINED__
  403. #define __IResourceManager_INTERFACE_DEFINED__
  404. /* interface IResourceManager */
  405. /* [unique][object][uuid] */ 
  406. EXTERN_C const IID IID_IResourceManager;
  407. #if defined(__cplusplus) && !defined(CINTERFACE)
  408.     
  409.     MIDL_INTERFACE("13741d21-87eb-11ce-8081-0080c758527e")
  410.     IResourceManager : public IUnknown
  411.     {
  412.     public:
  413.         virtual HRESULT STDMETHODCALLTYPE Enlist( 
  414.             /* [in] */ ITransaction *pTransaction,
  415.             /* [in] */ ITransactionResourceAsync *pRes,
  416.             /* [out] */ XACTUOW *pUOW,
  417.             /* [out] */ LONG *pisoLevel,
  418.             /* [out] */ ITransactionEnlistmentAsync **ppEnlist) = 0;
  419.         
  420.         virtual HRESULT STDMETHODCALLTYPE Reenlist( 
  421.             /* [size_is][in] */ byte *pPrepInfo,
  422.             /* [in] */ ULONG cbPrepInfo,
  423.             /* [in] */ DWORD lTimeout,
  424.             /* [out] */ XACTSTAT *pXactStat) = 0;
  425.         
  426.         virtual HRESULT STDMETHODCALLTYPE ReenlistmentComplete( void) = 0;
  427.         
  428.         virtual HRESULT STDMETHODCALLTYPE GetDistributedTransactionManager( 
  429.             /* [in] */ REFIID iid,
  430.             /* [iid_is][out] */ void **ppvObject) = 0;
  431.         
  432.     };
  433.     
  434. #else  /* C style interface */
  435.     typedef struct IResourceManagerVtbl
  436.     {
  437.         BEGIN_INTERFACE
  438.         
  439.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  440.             IResourceManager * This,
  441.             /* [in] */ REFIID riid,
  442.             /* [iid_is][out] */ void **ppvObject);
  443.         
  444.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  445.             IResourceManager * This);
  446.         
  447.         ULONG ( STDMETHODCALLTYPE *Release )( 
  448.             IResourceManager * This);
  449.         
  450.         HRESULT ( STDMETHODCALLTYPE *Enlist )( 
  451.             IResourceManager * This,
  452.             /* [in] */ ITransaction *pTransaction,
  453.             /* [in] */ ITransactionResourceAsync *pRes,
  454.             /* [out] */ XACTUOW *pUOW,
  455.             /* [out] */ LONG *pisoLevel,
  456.             /* [out] */ ITransactionEnlistmentAsync **ppEnlist);
  457.         
  458.         HRESULT ( STDMETHODCALLTYPE *Reenlist )( 
  459.             IResourceManager * This,
  460.             /* [size_is][in] */ byte *pPrepInfo,
  461.             /* [in] */ ULONG cbPrepInfo,
  462.             /* [in] */ DWORD lTimeout,
  463.             /* [out] */ XACTSTAT *pXactStat);
  464.         
  465.         HRESULT ( STDMETHODCALLTYPE *ReenlistmentComplete )( 
  466.             IResourceManager * This);
  467.         
  468.         HRESULT ( STDMETHODCALLTYPE *GetDistributedTransactionManager )( 
  469.             IResourceManager * This,
  470.             /* [in] */ REFIID iid,
  471.             /* [iid_is][out] */ void **ppvObject);
  472.         
  473.         END_INTERFACE
  474.     } IResourceManagerVtbl;
  475.     interface IResourceManager
  476.     {
  477.         CONST_VTBL struct IResourceManagerVtbl *lpVtbl;
  478.     };
  479.     
  480. #ifdef COBJMACROS
  481. #define IResourceManager_QueryInterface(This,riid,ppvObject)
  482.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  483. #define IResourceManager_AddRef(This)
  484.     (This)->lpVtbl -> AddRef(This)
  485. #define IResourceManager_Release(This)
  486.     (This)->lpVtbl -> Release(This)
  487. #define IResourceManager_Enlist(This,pTransaction,pRes,pUOW,pisoLevel,ppEnlist)
  488.     (This)->lpVtbl -> Enlist(This,pTransaction,pRes,pUOW,pisoLevel,ppEnlist)
  489. #define IResourceManager_Reenlist(This,pPrepInfo,cbPrepInfo,lTimeout,pXactStat)
  490.     (This)->lpVtbl -> Reenlist(This,pPrepInfo,cbPrepInfo,lTimeout,pXactStat)
  491. #define IResourceManager_ReenlistmentComplete(This)
  492.     (This)->lpVtbl -> ReenlistmentComplete(This)
  493. #define IResourceManager_GetDistributedTransactionManager(This,iid,ppvObject)
  494.     (This)->lpVtbl -> GetDistributedTransactionManager(This,iid,ppvObject)
  495. #endif /* COBJMACROS */
  496. #endif  /* C style interface */
  497. HRESULT STDMETHODCALLTYPE IResourceManager_Enlist_Proxy( 
  498.     IResourceManager * This,
  499.     /* [in] */ ITransaction *pTransaction,
  500.     /* [in] */ ITransactionResourceAsync *pRes,
  501.     /* [out] */ XACTUOW *pUOW,
  502.     /* [out] */ LONG *pisoLevel,
  503.     /* [out] */ ITransactionEnlistmentAsync **ppEnlist);
  504. void __RPC_STUB IResourceManager_Enlist_Stub(
  505.     IRpcStubBuffer *This,
  506.     IRpcChannelBuffer *_pRpcChannelBuffer,
  507.     PRPC_MESSAGE _pRpcMessage,
  508.     DWORD *_pdwStubPhase);
  509. HRESULT STDMETHODCALLTYPE IResourceManager_Reenlist_Proxy( 
  510.     IResourceManager * This,
  511.     /* [size_is][in] */ byte *pPrepInfo,
  512.     /* [in] */ ULONG cbPrepInfo,
  513.     /* [in] */ DWORD lTimeout,
  514.     /* [out] */ XACTSTAT *pXactStat);
  515. void __RPC_STUB IResourceManager_Reenlist_Stub(
  516.     IRpcStubBuffer *This,
  517.     IRpcChannelBuffer *_pRpcChannelBuffer,
  518.     PRPC_MESSAGE _pRpcMessage,
  519.     DWORD *_pdwStubPhase);
  520. HRESULT STDMETHODCALLTYPE IResourceManager_ReenlistmentComplete_Proxy( 
  521.     IResourceManager * This);
  522. void __RPC_STUB IResourceManager_ReenlistmentComplete_Stub(
  523.     IRpcStubBuffer *This,
  524.     IRpcChannelBuffer *_pRpcChannelBuffer,
  525.     PRPC_MESSAGE _pRpcMessage,
  526.     DWORD *_pdwStubPhase);
  527. HRESULT STDMETHODCALLTYPE IResourceManager_GetDistributedTransactionManager_Proxy( 
  528.     IResourceManager * This,
  529.     /* [in] */ REFIID iid,
  530.     /* [iid_is][out] */ void **ppvObject);
  531. void __RPC_STUB IResourceManager_GetDistributedTransactionManager_Stub(
  532.     IRpcStubBuffer *This,
  533.     IRpcChannelBuffer *_pRpcChannelBuffer,
  534.     PRPC_MESSAGE _pRpcMessage,
  535.     DWORD *_pdwStubPhase);
  536. #endif  /* __IResourceManager_INTERFACE_DEFINED__ */
  537. #ifndef __ILastResourceManager_INTERFACE_DEFINED__
  538. #define __ILastResourceManager_INTERFACE_DEFINED__
  539. /* interface ILastResourceManager */
  540. /* [unique][object][uuid] */ 
  541. EXTERN_C const IID IID_ILastResourceManager;
  542. #if defined(__cplusplus) && !defined(CINTERFACE)
  543.     
  544.     MIDL_INTERFACE("4D964AD4-5B33-11d3-8A91-00C04F79EB6D")
  545.     ILastResourceManager : public IUnknown
  546.     {
  547.     public:
  548.         virtual HRESULT STDMETHODCALLTYPE TransactionCommitted( 
  549.             /* [size_is][in] */ byte *pPrepInfo,
  550.             /* [in] */ ULONG cbPrepInfo) = 0;
  551.         
  552.         virtual HRESULT STDMETHODCALLTYPE RecoveryDone( void) = 0;
  553.         
  554.     };
  555.     
  556. #else  /* C style interface */
  557.     typedef struct ILastResourceManagerVtbl
  558.     {
  559.         BEGIN_INTERFACE
  560.         
  561.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  562.             ILastResourceManager * This,
  563.             /* [in] */ REFIID riid,
  564.             /* [iid_is][out] */ void **ppvObject);
  565.         
  566.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  567.             ILastResourceManager * This);
  568.         
  569.         ULONG ( STDMETHODCALLTYPE *Release )( 
  570.             ILastResourceManager * This);
  571.         
  572.         HRESULT ( STDMETHODCALLTYPE *TransactionCommitted )( 
  573.             ILastResourceManager * This,
  574.             /* [size_is][in] */ byte *pPrepInfo,
  575.             /* [in] */ ULONG cbPrepInfo);
  576.         
  577.         HRESULT ( STDMETHODCALLTYPE *RecoveryDone )( 
  578.             ILastResourceManager * This);
  579.         
  580.         END_INTERFACE
  581.     } ILastResourceManagerVtbl;
  582.     interface ILastResourceManager
  583.     {
  584.         CONST_VTBL struct ILastResourceManagerVtbl *lpVtbl;
  585.     };
  586.     
  587. #ifdef COBJMACROS
  588. #define ILastResourceManager_QueryInterface(This,riid,ppvObject)
  589.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  590. #define ILastResourceManager_AddRef(This)
  591.     (This)->lpVtbl -> AddRef(This)
  592. #define ILastResourceManager_Release(This)
  593.     (This)->lpVtbl -> Release(This)
  594. #define ILastResourceManager_TransactionCommitted(This,pPrepInfo,cbPrepInfo)
  595.     (This)->lpVtbl -> TransactionCommitted(This,pPrepInfo,cbPrepInfo)
  596. #define ILastResourceManager_RecoveryDone(This)
  597.     (This)->lpVtbl -> RecoveryDone(This)
  598. #endif /* COBJMACROS */
  599. #endif  /* C style interface */
  600. HRESULT STDMETHODCALLTYPE ILastResourceManager_TransactionCommitted_Proxy( 
  601.     ILastResourceManager * This,
  602.     /* [size_is][in] */ byte *pPrepInfo,
  603.     /* [in] */ ULONG cbPrepInfo);
  604. void __RPC_STUB ILastResourceManager_TransactionCommitted_Stub(
  605.     IRpcStubBuffer *This,
  606.     IRpcChannelBuffer *_pRpcChannelBuffer,
  607.     PRPC_MESSAGE _pRpcMessage,
  608.     DWORD *_pdwStubPhase);
  609. HRESULT STDMETHODCALLTYPE ILastResourceManager_RecoveryDone_Proxy( 
  610.     ILastResourceManager * This);
  611. void __RPC_STUB ILastResourceManager_RecoveryDone_Stub(
  612.     IRpcStubBuffer *This,
  613.     IRpcChannelBuffer *_pRpcChannelBuffer,
  614.     PRPC_MESSAGE _pRpcMessage,
  615.     DWORD *_pdwStubPhase);
  616. #endif  /* __ILastResourceManager_INTERFACE_DEFINED__ */
  617. #ifndef __IResourceManager2_INTERFACE_DEFINED__
  618. #define __IResourceManager2_INTERFACE_DEFINED__
  619. /* interface IResourceManager2 */
  620. /* [unique][object][uuid] */ 
  621. EXTERN_C const IID IID_IResourceManager2;
  622. #if defined(__cplusplus) && !defined(CINTERFACE)
  623.     
  624.     MIDL_INTERFACE("D136C69A-F749-11d1-8F47-00C04F8EE57D")
  625.     IResourceManager2 : public IResourceManager
  626.     {
  627.     public:
  628.         virtual HRESULT STDMETHODCALLTYPE Enlist2( 
  629.             /* [in] */ ITransaction *pTransaction,
  630.             /* [in] */ ITransactionResourceAsync *pResAsync,
  631.             /* [out] */ XACTUOW *pUOW,
  632.             /* [out] */ LONG *pisoLevel,
  633.             /* [out] */ XID *pXid,
  634.             /* [out] */ ITransactionEnlistmentAsync **ppEnlist) = 0;
  635.         
  636.         virtual HRESULT STDMETHODCALLTYPE Reenlist2( 
  637.             /* [in] */ XID *pXid,
  638.             /* [in] */ DWORD dwTimeout,
  639.             /* [out] */ XACTSTAT *pXactStat) = 0;
  640.         
  641.     };
  642.     
  643. #else  /* C style interface */
  644.     typedef struct IResourceManager2Vtbl
  645.     {
  646.         BEGIN_INTERFACE
  647.         
  648.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  649.             IResourceManager2 * This,
  650.             /* [in] */ REFIID riid,
  651.             /* [iid_is][out] */ void **ppvObject);
  652.         
  653.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  654.             IResourceManager2 * This);
  655.         
  656.         ULONG ( STDMETHODCALLTYPE *Release )( 
  657.             IResourceManager2 * This);
  658.         
  659.         HRESULT ( STDMETHODCALLTYPE *Enlist )( 
  660.             IResourceManager2 * This,
  661.             /* [in] */ ITransaction *pTransaction,
  662.             /* [in] */ ITransactionResourceAsync *pRes,
  663.             /* [out] */ XACTUOW *pUOW,
  664.             /* [out] */ LONG *pisoLevel,
  665.             /* [out] */ ITransactionEnlistmentAsync **ppEnlist);
  666.         
  667.         HRESULT ( STDMETHODCALLTYPE *Reenlist )( 
  668.             IResourceManager2 * This,
  669.             /* [size_is][in] */ byte *pPrepInfo,
  670.             /* [in] */ ULONG cbPrepInfo,
  671.             /* [in] */ DWORD lTimeout,
  672.             /* [out] */ XACTSTAT *pXactStat);
  673.         
  674.         HRESULT ( STDMETHODCALLTYPE *ReenlistmentComplete )( 
  675.             IResourceManager2 * This);
  676.         
  677.         HRESULT ( STDMETHODCALLTYPE *GetDistributedTransactionManager )( 
  678.             IResourceManager2 * This,
  679.             /* [in] */ REFIID iid,
  680.             /* [iid_is][out] */ void **ppvObject);
  681.         
  682.         HRESULT ( STDMETHODCALLTYPE *Enlist2 )( 
  683.             IResourceManager2 * This,
  684.             /* [in] */ ITransaction *pTransaction,
  685.             /* [in] */ ITransactionResourceAsync *pResAsync,
  686.             /* [out] */ XACTUOW *pUOW,
  687.             /* [out] */ LONG *pisoLevel,
  688.             /* [out] */ XID *pXid,
  689.             /* [out] */ ITransactionEnlistmentAsync **ppEnlist);
  690.         
  691.         HRESULT ( STDMETHODCALLTYPE *Reenlist2 )( 
  692.             IResourceManager2 * This,
  693.             /* [in] */ XID *pXid,
  694.             /* [in] */ DWORD dwTimeout,
  695.             /* [out] */ XACTSTAT *pXactStat);
  696.         
  697.         END_INTERFACE
  698.     } IResourceManager2Vtbl;
  699.     interface IResourceManager2
  700.     {
  701.         CONST_VTBL struct IResourceManager2Vtbl *lpVtbl;
  702.     };
  703.     
  704. #ifdef COBJMACROS
  705. #define IResourceManager2_QueryInterface(This,riid,ppvObject)
  706.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  707. #define IResourceManager2_AddRef(This)
  708.     (This)->lpVtbl -> AddRef(This)
  709. #define IResourceManager2_Release(This)
  710.     (This)->lpVtbl -> Release(This)
  711. #define IResourceManager2_Enlist(This,pTransaction,pRes,pUOW,pisoLevel,ppEnlist)
  712.     (This)->lpVtbl -> Enlist(This,pTransaction,pRes,pUOW,pisoLevel,ppEnlist)
  713. #define IResourceManager2_Reenlist(This,pPrepInfo,cbPrepInfo,lTimeout,pXactStat)
  714.     (This)->lpVtbl -> Reenlist(This,pPrepInfo,cbPrepInfo,lTimeout,pXactStat)
  715. #define IResourceManager2_ReenlistmentComplete(This)
  716.     (This)->lpVtbl -> ReenlistmentComplete(This)
  717. #define IResourceManager2_GetDistributedTransactionManager(This,iid,ppvObject)
  718.     (This)->lpVtbl -> GetDistributedTransactionManager(This,iid,ppvObject)
  719. #define IResourceManager2_Enlist2(This,pTransaction,pResAsync,pUOW,pisoLevel,pXid,ppEnlist)
  720.     (This)->lpVtbl -> Enlist2(This,pTransaction,pResAsync,pUOW,pisoLevel,pXid,ppEnlist)
  721. #define IResourceManager2_Reenlist2(This,pXid,dwTimeout,pXactStat)
  722.     (This)->lpVtbl -> Reenlist2(This,pXid,dwTimeout,pXactStat)
  723. #endif /* COBJMACROS */
  724. #endif  /* C style interface */
  725. HRESULT STDMETHODCALLTYPE IResourceManager2_Enlist2_Proxy( 
  726.     IResourceManager2 * This,
  727.     /* [in] */ ITransaction *pTransaction,
  728.     /* [in] */ ITransactionResourceAsync *pResAsync,
  729.     /* [out] */ XACTUOW *pUOW,
  730.     /* [out] */ LONG *pisoLevel,
  731.     /* [out] */ XID *pXid,
  732.     /* [out] */ ITransactionEnlistmentAsync **ppEnlist);
  733. void __RPC_STUB IResourceManager2_Enlist2_Stub(
  734.     IRpcStubBuffer *This,
  735.     IRpcChannelBuffer *_pRpcChannelBuffer,
  736.     PRPC_MESSAGE _pRpcMessage,
  737.     DWORD *_pdwStubPhase);
  738. HRESULT STDMETHODCALLTYPE IResourceManager2_Reenlist2_Proxy( 
  739.     IResourceManager2 * This,
  740.     /* [in] */ XID *pXid,
  741.     /* [in] */ DWORD dwTimeout,
  742.     /* [out] */ XACTSTAT *pXactStat);
  743. void __RPC_STUB IResourceManager2_Reenlist2_Stub(
  744.     IRpcStubBuffer *This,
  745.     IRpcChannelBuffer *_pRpcChannelBuffer,
  746.     PRPC_MESSAGE _pRpcMessage,
  747.     DWORD *_pdwStubPhase);
  748. #endif  /* __IResourceManager2_INTERFACE_DEFINED__ */
  749. #ifndef __IXAConfig_INTERFACE_DEFINED__
  750. #define __IXAConfig_INTERFACE_DEFINED__
  751. /* interface IXAConfig */
  752. /* [unique][object][uuid] */ 
  753. EXTERN_C const IID IID_IXAConfig;
  754. #if defined(__cplusplus) && !defined(CINTERFACE)
  755.     
  756.     MIDL_INTERFACE("C8A6E3A1-9A8C-11cf-A308-00A0C905416E")
  757.     IXAConfig : public IUnknown
  758.     {
  759.     public:
  760.         virtual HRESULT STDMETHODCALLTYPE Initialize( 
  761.             /* [in] */ GUID clsidHelperDll) = 0;
  762.         
  763.         virtual HRESULT STDMETHODCALLTYPE Terminate( void) = 0;
  764.         
  765.     };
  766.     
  767. #else  /* C style interface */
  768.     typedef struct IXAConfigVtbl
  769.     {
  770.         BEGIN_INTERFACE
  771.         
  772.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  773.             IXAConfig * This,
  774.             /* [in] */ REFIID riid,
  775.             /* [iid_is][out] */ void **ppvObject);
  776.         
  777.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  778.             IXAConfig * This);
  779.         
  780.         ULONG ( STDMETHODCALLTYPE *Release )( 
  781.             IXAConfig * This);
  782.         
  783.         HRESULT ( STDMETHODCALLTYPE *Initialize )( 
  784.             IXAConfig * This,
  785.             /* [in] */ GUID clsidHelperDll);
  786.         
  787.         HRESULT ( STDMETHODCALLTYPE *Terminate )( 
  788.             IXAConfig * This);
  789.         
  790.         END_INTERFACE
  791.     } IXAConfigVtbl;
  792.     interface IXAConfig
  793.     {
  794.         CONST_VTBL struct IXAConfigVtbl *lpVtbl;
  795.     };
  796.     
  797. #ifdef COBJMACROS
  798. #define IXAConfig_QueryInterface(This,riid,ppvObject)
  799.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  800. #define IXAConfig_AddRef(This)
  801.     (This)->lpVtbl -> AddRef(This)
  802. #define IXAConfig_Release(This)
  803.     (This)->lpVtbl -> Release(This)
  804. #define IXAConfig_Initialize(This,clsidHelperDll)
  805.     (This)->lpVtbl -> Initialize(This,clsidHelperDll)
  806. #define IXAConfig_Terminate(This)
  807.     (This)->lpVtbl -> Terminate(This)
  808. #endif /* COBJMACROS */
  809. #endif  /* C style interface */
  810. HRESULT STDMETHODCALLTYPE IXAConfig_Initialize_Proxy( 
  811.     IXAConfig * This,
  812.     /* [in] */ GUID clsidHelperDll);
  813. void __RPC_STUB IXAConfig_Initialize_Stub(
  814.     IRpcStubBuffer *This,
  815.     IRpcChannelBuffer *_pRpcChannelBuffer,
  816.     PRPC_MESSAGE _pRpcMessage,
  817.     DWORD *_pdwStubPhase);
  818. HRESULT STDMETHODCALLTYPE IXAConfig_Terminate_Proxy( 
  819.     IXAConfig * This);
  820. void __RPC_STUB IXAConfig_Terminate_Stub(
  821.     IRpcStubBuffer *This,
  822.     IRpcChannelBuffer *_pRpcChannelBuffer,
  823.     PRPC_MESSAGE _pRpcMessage,
  824.     DWORD *_pdwStubPhase);
  825. #endif  /* __IXAConfig_INTERFACE_DEFINED__ */
  826. #ifndef __IRMHelper_INTERFACE_DEFINED__
  827. #define __IRMHelper_INTERFACE_DEFINED__
  828. /* interface IRMHelper */
  829. /* [local][unique][object][uuid] */ 
  830. EXTERN_C const IID IID_IRMHelper;
  831. #if defined(__cplusplus) && !defined(CINTERFACE)
  832.     
  833.     MIDL_INTERFACE("E793F6D1-F53D-11cf-A60D-00A0C905416E")
  834.     IRMHelper : public IUnknown
  835.     {
  836.     public:
  837.         virtual HRESULT STDMETHODCALLTYPE RMCount( 
  838.             /* [in] */ DWORD dwcTotalNumberOfRMs) = 0;
  839.         
  840.         virtual HRESULT STDMETHODCALLTYPE RMInfo( 
  841.             /* [in] */ xa_switch_t *pXa_Switch,
  842.             /* [in] */ BOOL fCDeclCallingConv,
  843.             /* [string][in] */ char *pszOpenString,
  844.             /* [string][in] */ char *pszCloseString,
  845.             /* [in] */ GUID guidRMRecovery) = 0;
  846.         
  847.     };
  848.     
  849. #else  /* C style interface */
  850.     typedef struct IRMHelperVtbl
  851.     {
  852.         BEGIN_INTERFACE
  853.         
  854.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  855.             IRMHelper * This,
  856.             /* [in] */ REFIID riid,
  857.             /* [iid_is][out] */ void **ppvObject);
  858.         
  859.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  860.             IRMHelper * This);
  861.         
  862.         ULONG ( STDMETHODCALLTYPE *Release )( 
  863.             IRMHelper * This);
  864.         
  865.         HRESULT ( STDMETHODCALLTYPE *RMCount )( 
  866.             IRMHelper * This,
  867.             /* [in] */ DWORD dwcTotalNumberOfRMs);
  868.         
  869.         HRESULT ( STDMETHODCALLTYPE *RMInfo )( 
  870.             IRMHelper * This,
  871.             /* [in] */ xa_switch_t *pXa_Switch,
  872.             /* [in] */ BOOL fCDeclCallingConv,
  873.             /* [string][in] */ char *pszOpenString,
  874.             /* [string][in] */ char *pszCloseString,
  875.             /* [in] */ GUID guidRMRecovery);
  876.         
  877.         END_INTERFACE
  878.     } IRMHelperVtbl;
  879.     interface IRMHelper
  880.     {
  881.         CONST_VTBL struct IRMHelperVtbl *lpVtbl;
  882.     };
  883.     
  884. #ifdef COBJMACROS
  885. #define IRMHelper_QueryInterface(This,riid,ppvObject)
  886.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  887. #define IRMHelper_AddRef(This)
  888.     (This)->lpVtbl -> AddRef(This)
  889. #define IRMHelper_Release(This)
  890.     (This)->lpVtbl -> Release(This)
  891. #define IRMHelper_RMCount(This,dwcTotalNumberOfRMs)
  892.     (This)->lpVtbl -> RMCount(This,dwcTotalNumberOfRMs)
  893. #define IRMHelper_RMInfo(This,pXa_Switch,fCDeclCallingConv,pszOpenString,pszCloseString,guidRMRecovery)
  894.     (This)->lpVtbl -> RMInfo(This,pXa_Switch,fCDeclCallingConv,pszOpenString,pszCloseString,guidRMRecovery)
  895. #endif /* COBJMACROS */
  896. #endif  /* C style interface */
  897. HRESULT STDMETHODCALLTYPE IRMHelper_RMCount_Proxy( 
  898.     IRMHelper * This,
  899.     /* [in] */ DWORD dwcTotalNumberOfRMs);
  900. void __RPC_STUB IRMHelper_RMCount_Stub(
  901.     IRpcStubBuffer *This,
  902.     IRpcChannelBuffer *_pRpcChannelBuffer,
  903.     PRPC_MESSAGE _pRpcMessage,
  904.     DWORD *_pdwStubPhase);
  905. HRESULT STDMETHODCALLTYPE IRMHelper_RMInfo_Proxy( 
  906.     IRMHelper * This,
  907.     /* [in] */ xa_switch_t *pXa_Switch,
  908.     /* [in] */ BOOL fCDeclCallingConv,
  909.     /* [string][in] */ char *pszOpenString,
  910.     /* [string][in] */ char *pszCloseString,
  911.     /* [in] */ GUID guidRMRecovery);
  912. void __RPC_STUB IRMHelper_RMInfo_Stub(
  913.     IRpcStubBuffer *This,
  914.     IRpcChannelBuffer *_pRpcChannelBuffer,
  915.     PRPC_MESSAGE _pRpcMessage,
  916.     DWORD *_pdwStubPhase);
  917. #endif  /* __IRMHelper_INTERFACE_DEFINED__ */
  918. #ifndef __IXAObtainRMInfo_INTERFACE_DEFINED__
  919. #define __IXAObtainRMInfo_INTERFACE_DEFINED__
  920. /* interface IXAObtainRMInfo */
  921. /* [unique][object][uuid] */ 
  922. EXTERN_C const IID IID_IXAObtainRMInfo;
  923. #if defined(__cplusplus) && !defined(CINTERFACE)
  924.     
  925.     MIDL_INTERFACE("E793F6D2-F53D-11cf-A60D-00A0C905416E")
  926.     IXAObtainRMInfo : public IUnknown
  927.     {
  928.     public:
  929.         virtual HRESULT STDMETHODCALLTYPE ObtainRMInfo( 
  930.             /* [in] */ IRMHelper *pIRMHelper) = 0;
  931.         
  932.     };
  933.     
  934. #else  /* C style interface */
  935.     typedef struct IXAObtainRMInfoVtbl
  936.     {
  937.         BEGIN_INTERFACE
  938.         
  939.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  940.             IXAObtainRMInfo * This,
  941.             /* [in] */ REFIID riid,
  942.             /* [iid_is][out] */ void **ppvObject);
  943.         
  944.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  945.             IXAObtainRMInfo * This);
  946.         
  947.         ULONG ( STDMETHODCALLTYPE *Release )( 
  948.             IXAObtainRMInfo * This);
  949.         
  950.         HRESULT ( STDMETHODCALLTYPE *ObtainRMInfo )( 
  951.             IXAObtainRMInfo * This,
  952.             /* [in] */ IRMHelper *pIRMHelper);
  953.         
  954.         END_INTERFACE
  955.     } IXAObtainRMInfoVtbl;
  956.     interface IXAObtainRMInfo
  957.     {
  958.         CONST_VTBL struct IXAObtainRMInfoVtbl *lpVtbl;
  959.     };
  960.     
  961. #ifdef COBJMACROS
  962. #define IXAObtainRMInfo_QueryInterface(This,riid,ppvObject)
  963.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  964. #define IXAObtainRMInfo_AddRef(This)
  965.     (This)->lpVtbl -> AddRef(This)
  966. #define IXAObtainRMInfo_Release(This)
  967.     (This)->lpVtbl -> Release(This)
  968. #define IXAObtainRMInfo_ObtainRMInfo(This,pIRMHelper)
  969.     (This)->lpVtbl -> ObtainRMInfo(This,pIRMHelper)
  970. #endif /* COBJMACROS */
  971. #endif  /* C style interface */
  972. HRESULT STDMETHODCALLTYPE IXAObtainRMInfo_ObtainRMInfo_Proxy( 
  973.     IXAObtainRMInfo * This,
  974.     /* [in] */ IRMHelper *pIRMHelper);
  975. void __RPC_STUB IXAObtainRMInfo_ObtainRMInfo_Stub(
  976.     IRpcStubBuffer *This,
  977.     IRpcChannelBuffer *_pRpcChannelBuffer,
  978.     PRPC_MESSAGE _pRpcMessage,
  979.     DWORD *_pdwStubPhase);
  980. #endif  /* __IXAObtainRMInfo_INTERFACE_DEFINED__ */
  981. #ifndef __IResourceManagerFactory_INTERFACE_DEFINED__
  982. #define __IResourceManagerFactory_INTERFACE_DEFINED__
  983. /* interface IResourceManagerFactory */
  984. /* [unique][object][uuid] */ 
  985. EXTERN_C const IID IID_IResourceManagerFactory;
  986. #if defined(__cplusplus) && !defined(CINTERFACE)
  987.     
  988.     MIDL_INTERFACE("13741d20-87eb-11ce-8081-0080c758527e")
  989.     IResourceManagerFactory : public IUnknown
  990.     {
  991.     public:
  992.         virtual HRESULT STDMETHODCALLTYPE Create( 
  993.             /* [in] */ GUID *pguidRM,
  994.             /* [string][in] */ CHAR *pszRMName,
  995.             /* [in] */ IResourceManagerSink *pIResMgrSink,
  996.             /* [out] */ IResourceManager **ppResMgr) = 0;
  997.         
  998.     };
  999.     
  1000. #else  /* C style interface */
  1001.     typedef struct IResourceManagerFactoryVtbl
  1002.     {
  1003.         BEGIN_INTERFACE
  1004.         
  1005.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1006.             IResourceManagerFactory * This,
  1007.             /* [in] */ REFIID riid,
  1008.             /* [iid_is][out] */ void **ppvObject);
  1009.         
  1010.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1011.             IResourceManagerFactory * This);
  1012.         
  1013.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1014.             IResourceManagerFactory * This);
  1015.         
  1016.         HRESULT ( STDMETHODCALLTYPE *Create )( 
  1017.             IResourceManagerFactory * This,
  1018.             /* [in] */ GUID *pguidRM,
  1019.             /* [string][in] */ CHAR *pszRMName,
  1020.             /* [in] */ IResourceManagerSink *pIResMgrSink,
  1021.             /* [out] */ IResourceManager **ppResMgr);
  1022.         
  1023.         END_INTERFACE
  1024.     } IResourceManagerFactoryVtbl;
  1025.     interface IResourceManagerFactory
  1026.     {
  1027.         CONST_VTBL struct IResourceManagerFactoryVtbl *lpVtbl;
  1028.     };
  1029.     
  1030. #ifdef COBJMACROS
  1031. #define IResourceManagerFactory_QueryInterface(This,riid,ppvObject)
  1032.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1033. #define IResourceManagerFactory_AddRef(This)
  1034.     (This)->lpVtbl -> AddRef(This)
  1035. #define IResourceManagerFactory_Release(This)
  1036.     (This)->lpVtbl -> Release(This)
  1037. #define IResourceManagerFactory_Create(This,pguidRM,pszRMName,pIResMgrSink,ppResMgr)
  1038.     (This)->lpVtbl -> Create(This,pguidRM,pszRMName,pIResMgrSink,ppResMgr)
  1039. #endif /* COBJMACROS */
  1040. #endif  /* C style interface */
  1041. HRESULT STDMETHODCALLTYPE IResourceManagerFactory_Create_Proxy( 
  1042.     IResourceManagerFactory * This,
  1043.     /* [in] */ GUID *pguidRM,
  1044.     /* [string][in] */ CHAR *pszRMName,
  1045.     /* [in] */ IResourceManagerSink *pIResMgrSink,
  1046.     /* [out] */ IResourceManager **ppResMgr);
  1047. void __RPC_STUB IResourceManagerFactory_Create_Stub(
  1048.     IRpcStubBuffer *This,
  1049.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1050.     PRPC_MESSAGE _pRpcMessage,
  1051.     DWORD *_pdwStubPhase);
  1052. #endif  /* __IResourceManagerFactory_INTERFACE_DEFINED__ */
  1053. #ifndef __IResourceManagerFactory2_INTERFACE_DEFINED__
  1054. #define __IResourceManagerFactory2_INTERFACE_DEFINED__
  1055. /* interface IResourceManagerFactory2 */
  1056. /* [unique][object][uuid] */ 
  1057. EXTERN_C const IID IID_IResourceManagerFactory2;
  1058. #if defined(__cplusplus) && !defined(CINTERFACE)
  1059.     
  1060.     MIDL_INTERFACE("6B369C21-FBD2-11d1-8F47-00C04F8EE57D")
  1061.     IResourceManagerFactory2 : public IResourceManagerFactory
  1062.     {
  1063.     public:
  1064.         virtual HRESULT STDMETHODCALLTYPE CreateEx( 
  1065.             /* [in] */ GUID *pguidRM,
  1066.             /* [string][in] */ CHAR *pszRMName,
  1067.             /* [in] */ IResourceManagerSink *pIResMgrSink,
  1068.             /* [in] */ REFIID riidRequested,
  1069.             /* [iid_is][out] */ void **ppvResMgr) = 0;
  1070.         
  1071.     };
  1072.     
  1073. #else  /* C style interface */
  1074.     typedef struct IResourceManagerFactory2Vtbl
  1075.     {
  1076.         BEGIN_INTERFACE
  1077.         
  1078.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1079.             IResourceManagerFactory2 * This,
  1080.             /* [in] */ REFIID riid,
  1081.             /* [iid_is][out] */ void **ppvObject);
  1082.         
  1083.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1084.             IResourceManagerFactory2 * This);
  1085.         
  1086.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1087.             IResourceManagerFactory2 * This);
  1088.         
  1089.         HRESULT ( STDMETHODCALLTYPE *Create )( 
  1090.             IResourceManagerFactory2 * This,
  1091.             /* [in] */ GUID *pguidRM,
  1092.             /* [string][in] */ CHAR *pszRMName,
  1093.             /* [in] */ IResourceManagerSink *pIResMgrSink,
  1094.             /* [out] */ IResourceManager **ppResMgr);
  1095.         
  1096.         HRESULT ( STDMETHODCALLTYPE *CreateEx )( 
  1097.             IResourceManagerFactory2 * This,
  1098.             /* [in] */ GUID *pguidRM,
  1099.             /* [string][in] */ CHAR *pszRMName,
  1100.             /* [in] */ IResourceManagerSink *pIResMgrSink,
  1101.             /* [in] */ REFIID riidRequested,
  1102.             /* [iid_is][out] */ void **ppvResMgr);
  1103.         
  1104.         END_INTERFACE
  1105.     } IResourceManagerFactory2Vtbl;
  1106.     interface IResourceManagerFactory2
  1107.     {
  1108.         CONST_VTBL struct IResourceManagerFactory2Vtbl *lpVtbl;
  1109.     };
  1110.     
  1111. #ifdef COBJMACROS
  1112. #define IResourceManagerFactory2_QueryInterface(This,riid,ppvObject)
  1113.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1114. #define IResourceManagerFactory2_AddRef(This)
  1115.     (This)->lpVtbl -> AddRef(This)
  1116. #define IResourceManagerFactory2_Release(This)
  1117.     (This)->lpVtbl -> Release(This)
  1118. #define IResourceManagerFactory2_Create(This,pguidRM,pszRMName,pIResMgrSink,ppResMgr)
  1119.     (This)->lpVtbl -> Create(This,pguidRM,pszRMName,pIResMgrSink,ppResMgr)
  1120. #define IResourceManagerFactory2_CreateEx(This,pguidRM,pszRMName,pIResMgrSink,riidRequested,ppvResMgr)
  1121.     (This)->lpVtbl -> CreateEx(This,pguidRM,pszRMName,pIResMgrSink,riidRequested,ppvResMgr)
  1122. #endif /* COBJMACROS */
  1123. #endif  /* C style interface */
  1124. HRESULT STDMETHODCALLTYPE IResourceManagerFactory2_CreateEx_Proxy( 
  1125.     IResourceManagerFactory2 * This,
  1126.     /* [in] */ GUID *pguidRM,
  1127.     /* [string][in] */ CHAR *pszRMName,
  1128.     /* [in] */ IResourceManagerSink *pIResMgrSink,
  1129.     /* [in] */ REFIID riidRequested,
  1130.     /* [iid_is][out] */ void **ppvResMgr);
  1131. void __RPC_STUB IResourceManagerFactory2_CreateEx_Stub(
  1132.     IRpcStubBuffer *This,
  1133.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1134.     PRPC_MESSAGE _pRpcMessage,
  1135.     DWORD *_pdwStubPhase);
  1136. #endif  /* __IResourceManagerFactory2_INTERFACE_DEFINED__ */
  1137. #ifndef __IPrepareInfo_INTERFACE_DEFINED__
  1138. #define __IPrepareInfo_INTERFACE_DEFINED__
  1139. /* interface IPrepareInfo */
  1140. /* [local][unique][object][uuid] */ 
  1141. EXTERN_C const IID IID_IPrepareInfo;
  1142. #if defined(__cplusplus) && !defined(CINTERFACE)
  1143.     
  1144.     MIDL_INTERFACE("80c7bfd0-87ee-11ce-8081-0080c758527e")
  1145.     IPrepareInfo : public IUnknown
  1146.     {
  1147.     public:
  1148.         virtual HRESULT STDMETHODCALLTYPE GetPrepareInfoSize( 
  1149.             /* [out] */ ULONG *pcbPrepInfo) = 0;
  1150.         
  1151.         virtual HRESULT STDMETHODCALLTYPE GetPrepareInfo( 
  1152.             /* [out] */ byte *pPrepInfo) = 0;
  1153.         
  1154.     };
  1155.     
  1156. #else  /* C style interface */
  1157.     typedef struct IPrepareInfoVtbl
  1158.     {
  1159.         BEGIN_INTERFACE
  1160.         
  1161.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1162.             IPrepareInfo * This,
  1163.             /* [in] */ REFIID riid,
  1164.             /* [iid_is][out] */ void **ppvObject);
  1165.         
  1166.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1167.             IPrepareInfo * This);
  1168.         
  1169.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1170.             IPrepareInfo * This);
  1171.         
  1172.         HRESULT ( STDMETHODCALLTYPE *GetPrepareInfoSize )( 
  1173.             IPrepareInfo * This,
  1174.             /* [out] */ ULONG *pcbPrepInfo);
  1175.         
  1176.         HRESULT ( STDMETHODCALLTYPE *GetPrepareInfo )( 
  1177.             IPrepareInfo * This,
  1178.             /* [out] */ byte *pPrepInfo);
  1179.         
  1180.         END_INTERFACE
  1181.     } IPrepareInfoVtbl;
  1182.     interface IPrepareInfo
  1183.     {
  1184.         CONST_VTBL struct IPrepareInfoVtbl *lpVtbl;
  1185.     };
  1186.     
  1187. #ifdef COBJMACROS
  1188. #define IPrepareInfo_QueryInterface(This,riid,ppvObject)
  1189.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1190. #define IPrepareInfo_AddRef(This)
  1191.     (This)->lpVtbl -> AddRef(This)
  1192. #define IPrepareInfo_Release(This)
  1193.     (This)->lpVtbl -> Release(This)
  1194. #define IPrepareInfo_GetPrepareInfoSize(This,pcbPrepInfo)
  1195.     (This)->lpVtbl -> GetPrepareInfoSize(This,pcbPrepInfo)
  1196. #define IPrepareInfo_GetPrepareInfo(This,pPrepInfo)
  1197.     (This)->lpVtbl -> GetPrepareInfo(This,pPrepInfo)
  1198. #endif /* COBJMACROS */
  1199. #endif  /* C style interface */
  1200. HRESULT STDMETHODCALLTYPE IPrepareInfo_GetPrepareInfoSize_Proxy( 
  1201.     IPrepareInfo * This,
  1202.     /* [out] */ ULONG *pcbPrepInfo);
  1203. void __RPC_STUB IPrepareInfo_GetPrepareInfoSize_Stub(
  1204.     IRpcStubBuffer *This,
  1205.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1206.     PRPC_MESSAGE _pRpcMessage,
  1207.     DWORD *_pdwStubPhase);
  1208. HRESULT STDMETHODCALLTYPE IPrepareInfo_GetPrepareInfo_Proxy( 
  1209.     IPrepareInfo * This,
  1210.     /* [out] */ byte *pPrepInfo);
  1211. void __RPC_STUB IPrepareInfo_GetPrepareInfo_Stub(
  1212.     IRpcStubBuffer *This,
  1213.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1214.     PRPC_MESSAGE _pRpcMessage,
  1215.     DWORD *_pdwStubPhase);
  1216. #endif  /* __IPrepareInfo_INTERFACE_DEFINED__ */
  1217. #ifndef __IPrepareInfo2_INTERFACE_DEFINED__
  1218. #define __IPrepareInfo2_INTERFACE_DEFINED__
  1219. /* interface IPrepareInfo2 */
  1220. /* [unique][object][uuid] */ 
  1221. EXTERN_C const IID IID_IPrepareInfo2;
  1222. #if defined(__cplusplus) && !defined(CINTERFACE)
  1223.     
  1224.     MIDL_INTERFACE("5FAB2547-9779-11d1-B886-00C04FB9618A")
  1225.     IPrepareInfo2 : public IUnknown
  1226.     {
  1227.     public:
  1228.         virtual HRESULT STDMETHODCALLTYPE GetPrepareInfoSize( 
  1229.             /* [out] */ ULONG *pcbPrepInfo) = 0;
  1230.         
  1231.         virtual HRESULT STDMETHODCALLTYPE GetPrepareInfo( 
  1232.             /* [in] */ ULONG cbPrepareInfo,
  1233.             /* [size_is][out] */ byte *pPrepInfo) = 0;
  1234.         
  1235.     };
  1236.     
  1237. #else  /* C style interface */
  1238.     typedef struct IPrepareInfo2Vtbl
  1239.     {
  1240.         BEGIN_INTERFACE
  1241.         
  1242.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1243.             IPrepareInfo2 * This,
  1244.             /* [in] */ REFIID riid,
  1245.             /* [iid_is][out] */ void **ppvObject);
  1246.         
  1247.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1248.             IPrepareInfo2 * This);
  1249.         
  1250.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1251.             IPrepareInfo2 * This);
  1252.         
  1253.         HRESULT ( STDMETHODCALLTYPE *GetPrepareInfoSize )( 
  1254.             IPrepareInfo2 * This,
  1255.             /* [out] */ ULONG *pcbPrepInfo);
  1256.         
  1257.         HRESULT ( STDMETHODCALLTYPE *GetPrepareInfo )( 
  1258.             IPrepareInfo2 * This,
  1259.             /* [in] */ ULONG cbPrepareInfo,
  1260.             /* [size_is][out] */ byte *pPrepInfo);
  1261.         
  1262.         END_INTERFACE
  1263.     } IPrepareInfo2Vtbl;
  1264.     interface IPrepareInfo2
  1265.     {
  1266.         CONST_VTBL struct IPrepareInfo2Vtbl *lpVtbl;
  1267.     };
  1268.     
  1269. #ifdef COBJMACROS
  1270. #define IPrepareInfo2_QueryInterface(This,riid,ppvObject)
  1271.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1272. #define IPrepareInfo2_AddRef(This)
  1273.     (This)->lpVtbl -> AddRef(This)
  1274. #define IPrepareInfo2_Release(This)
  1275.     (This)->lpVtbl -> Release(This)
  1276. #define IPrepareInfo2_GetPrepareInfoSize(This,pcbPrepInfo)
  1277.     (This)->lpVtbl -> GetPrepareInfoSize(This,pcbPrepInfo)
  1278. #define IPrepareInfo2_GetPrepareInfo(This,cbPrepareInfo,pPrepInfo)
  1279.     (This)->lpVtbl -> GetPrepareInfo(This,cbPrepareInfo,pPrepInfo)
  1280. #endif /* COBJMACROS */
  1281. #endif  /* C style interface */
  1282. HRESULT STDMETHODCALLTYPE IPrepareInfo2_GetPrepareInfoSize_Proxy( 
  1283.     IPrepareInfo2 * This,
  1284.     /* [out] */ ULONG *pcbPrepInfo);
  1285. void __RPC_STUB IPrepareInfo2_GetPrepareInfoSize_Stub(
  1286.     IRpcStubBuffer *This,
  1287.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1288.     PRPC_MESSAGE _pRpcMessage,
  1289.     DWORD *_pdwStubPhase);
  1290. HRESULT STDMETHODCALLTYPE IPrepareInfo2_GetPrepareInfo_Proxy( 
  1291.     IPrepareInfo2 * This,
  1292.     /* [in] */ ULONG cbPrepareInfo,
  1293.     /* [size_is][out] */ byte *pPrepInfo);
  1294. void __RPC_STUB IPrepareInfo2_GetPrepareInfo_Stub(
  1295.     IRpcStubBuffer *This,
  1296.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1297.     PRPC_MESSAGE _pRpcMessage,
  1298.     DWORD *_pdwStubPhase);
  1299. #endif  /* __IPrepareInfo2_INTERFACE_DEFINED__ */
  1300. #ifndef __IGetDispenser_INTERFACE_DEFINED__
  1301. #define __IGetDispenser_INTERFACE_DEFINED__
  1302. /* interface IGetDispenser */
  1303. /* [unique][object][uuid] */ 
  1304. EXTERN_C const IID IID_IGetDispenser;
  1305. #if defined(__cplusplus) && !defined(CINTERFACE)
  1306.     
  1307.     MIDL_INTERFACE("c23cc370-87ef-11ce-8081-0080c758527e")
  1308.     IGetDispenser : public IUnknown
  1309.     {
  1310.     public:
  1311.         virtual HRESULT STDMETHODCALLTYPE GetDispenser( 
  1312.             /* [in] */ REFIID iid,
  1313.             /* [iid_is][out] */ void **ppvObject) = 0;
  1314.         
  1315.     };
  1316.     
  1317. #else  /* C style interface */
  1318.     typedef struct IGetDispenserVtbl
  1319.     {
  1320.         BEGIN_INTERFACE
  1321.         
  1322.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1323.             IGetDispenser * This,
  1324.             /* [in] */ REFIID riid,
  1325.             /* [iid_is][out] */ void **ppvObject);
  1326.         
  1327.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1328.             IGetDispenser * This);
  1329.         
  1330.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1331.             IGetDispenser * This);
  1332.         
  1333.         HRESULT ( STDMETHODCALLTYPE *GetDispenser )( 
  1334.             IGetDispenser * This,
  1335.             /* [in] */ REFIID iid,
  1336.             /* [iid_is][out] */ void **ppvObject);
  1337.         
  1338.         END_INTERFACE
  1339.     } IGetDispenserVtbl;
  1340.     interface IGetDispenser
  1341.     {
  1342.         CONST_VTBL struct IGetDispenserVtbl *lpVtbl;
  1343.     };
  1344.     
  1345. #ifdef COBJMACROS
  1346. #define IGetDispenser_QueryInterface(This,riid,ppvObject)
  1347.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1348. #define IGetDispenser_AddRef(This)
  1349.     (This)->lpVtbl -> AddRef(This)
  1350. #define IGetDispenser_Release(This)
  1351.     (This)->lpVtbl -> Release(This)
  1352. #define IGetDispenser_GetDispenser(This,iid,ppvObject)
  1353.     (This)->lpVtbl -> GetDispenser(This,iid,ppvObject)
  1354. #endif /* COBJMACROS */
  1355. #endif  /* C style interface */
  1356. HRESULT STDMETHODCALLTYPE IGetDispenser_GetDispenser_Proxy( 
  1357.     IGetDispenser * This,
  1358.     /* [in] */ REFIID iid,
  1359.     /* [iid_is][out] */ void **ppvObject);
  1360. void __RPC_STUB IGetDispenser_GetDispenser_Stub(
  1361.     IRpcStubBuffer *This,
  1362.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1363.     PRPC_MESSAGE _pRpcMessage,
  1364.     DWORD *_pdwStubPhase);
  1365. #endif  /* __IGetDispenser_INTERFACE_DEFINED__ */
  1366. #ifndef __ITransactionVoterBallotAsync2_INTERFACE_DEFINED__
  1367. #define __ITransactionVoterBallotAsync2_INTERFACE_DEFINED__
  1368. /* interface ITransactionVoterBallotAsync2 */
  1369. /* [unique][object][uuid] */ 
  1370. EXTERN_C const IID IID_ITransactionVoterBallotAsync2;
  1371. #if defined(__cplusplus) && !defined(CINTERFACE)
  1372.     
  1373.     MIDL_INTERFACE("5433376C-414D-11d3-B206-00C04FC2F3EF")
  1374.     ITransactionVoterBallotAsync2 : public IUnknown
  1375.     {
  1376.     public:
  1377.         virtual HRESULT STDMETHODCALLTYPE VoteRequestDone( 
  1378.             /* [in] */ HRESULT hr,
  1379.             /* [unique][in] */ BOID *pboidReason) = 0;
  1380.         
  1381.     };
  1382.     
  1383. #else  /* C style interface */
  1384.     typedef struct ITransactionVoterBallotAsync2Vtbl
  1385.     {
  1386.         BEGIN_INTERFACE
  1387.         
  1388.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1389.             ITransactionVoterBallotAsync2 * This,
  1390.             /* [in] */ REFIID riid,
  1391.             /* [iid_is][out] */ void **ppvObject);
  1392.         
  1393.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1394.             ITransactionVoterBallotAsync2 * This);
  1395.         
  1396.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1397.             ITransactionVoterBallotAsync2 * This);
  1398.         
  1399.         HRESULT ( STDMETHODCALLTYPE *VoteRequestDone )( 
  1400.             ITransactionVoterBallotAsync2 * This,
  1401.             /* [in] */ HRESULT hr,
  1402.             /* [unique][in] */ BOID *pboidReason);
  1403.         
  1404.         END_INTERFACE
  1405.     } ITransactionVoterBallotAsync2Vtbl;
  1406.     interface ITransactionVoterBallotAsync2
  1407.     {
  1408.         CONST_VTBL struct ITransactionVoterBallotAsync2Vtbl *lpVtbl;
  1409.     };
  1410.     
  1411. #ifdef COBJMACROS
  1412. #define ITransactionVoterBallotAsync2_QueryInterface(This,riid,ppvObject)
  1413.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1414. #define ITransactionVoterBallotAsync2_AddRef(This)
  1415.     (This)->lpVtbl -> AddRef(This)
  1416. #define ITransactionVoterBallotAsync2_Release(This)
  1417.     (This)->lpVtbl -> Release(This)
  1418. #define ITransactionVoterBallotAsync2_VoteRequestDone(This,hr,pboidReason)
  1419.     (This)->lpVtbl -> VoteRequestDone(This,hr,pboidReason)
  1420. #endif /* COBJMACROS */
  1421. #endif  /* C style interface */
  1422. HRESULT STDMETHODCALLTYPE ITransactionVoterBallotAsync2_VoteRequestDone_Proxy( 
  1423.     ITransactionVoterBallotAsync2 * This,
  1424.     /* [in] */ HRESULT hr,
  1425.     /* [unique][in] */ BOID *pboidReason);
  1426. void __RPC_STUB ITransactionVoterBallotAsync2_VoteRequestDone_Stub(
  1427.     IRpcStubBuffer *This,
  1428.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1429.     PRPC_MESSAGE _pRpcMessage,
  1430.     DWORD *_pdwStubPhase);
  1431. #endif  /* __ITransactionVoterBallotAsync2_INTERFACE_DEFINED__ */
  1432. #ifndef __ITransactionVoterNotifyAsync2_INTERFACE_DEFINED__
  1433. #define __ITransactionVoterNotifyAsync2_INTERFACE_DEFINED__
  1434. /* interface ITransactionVoterNotifyAsync2 */
  1435. /* [unique][object][uuid] */ 
  1436. EXTERN_C const IID IID_ITransactionVoterNotifyAsync2;
  1437. #if defined(__cplusplus) && !defined(CINTERFACE)
  1438.     
  1439.     MIDL_INTERFACE("5433376B-414D-11d3-B206-00C04FC2F3EF")
  1440.     ITransactionVoterNotifyAsync2 : public ITransactionOutcomeEvents
  1441.     {
  1442.     public:
  1443.         virtual HRESULT STDMETHODCALLTYPE VoteRequest( void) = 0;
  1444.         
  1445.     };
  1446.     
  1447. #else  /* C style interface */
  1448.     typedef struct ITransactionVoterNotifyAsync2Vtbl
  1449.     {
  1450.         BEGIN_INTERFACE
  1451.         
  1452.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1453.             ITransactionVoterNotifyAsync2 * This,
  1454.             /* [in] */ REFIID riid,
  1455.             /* [iid_is][out] */ void **ppvObject);
  1456.         
  1457.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1458.             ITransactionVoterNotifyAsync2 * This);
  1459.         
  1460.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1461.             ITransactionVoterNotifyAsync2 * This);
  1462.         
  1463.         HRESULT ( STDMETHODCALLTYPE *Committed )( 
  1464.             ITransactionVoterNotifyAsync2 * This,
  1465.             /* [in] */ BOOL fRetaining,
  1466.             /* [unique][in] */ XACTUOW *pNewUOW,
  1467.             /* [in] */ HRESULT hr);
  1468.         
  1469.         HRESULT ( STDMETHODCALLTYPE *Aborted )( 
  1470.             ITransactionVoterNotifyAsync2 * This,
  1471.             /* [unique][in] */ BOID *pboidReason,
  1472.             /* [in] */ BOOL fRetaining,
  1473.             /* [unique][in] */ XACTUOW *pNewUOW,
  1474.             /* [in] */ HRESULT hr);
  1475.         
  1476.         HRESULT ( STDMETHODCALLTYPE *HeuristicDecision )( 
  1477.             ITransactionVoterNotifyAsync2 * This,
  1478.             /* [in] */ DWORD dwDecision,
  1479.             /* [unique][in] */ BOID *pboidReason,
  1480.             /* [in] */ HRESULT hr);
  1481.         
  1482.         HRESULT ( STDMETHODCALLTYPE *Indoubt )( 
  1483.             ITransactionVoterNotifyAsync2 * This);
  1484.         
  1485.         HRESULT ( STDMETHODCALLTYPE *VoteRequest )( 
  1486.             ITransactionVoterNotifyAsync2 * This);
  1487.         
  1488.         END_INTERFACE
  1489.     } ITransactionVoterNotifyAsync2Vtbl;
  1490.     interface ITransactionVoterNotifyAsync2
  1491.     {
  1492.         CONST_VTBL struct ITransactionVoterNotifyAsync2Vtbl *lpVtbl;
  1493.     };
  1494.     
  1495. #ifdef COBJMACROS
  1496. #define ITransactionVoterNotifyAsync2_QueryInterface(This,riid,ppvObject)
  1497.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1498. #define ITransactionVoterNotifyAsync2_AddRef(This)
  1499.     (This)->lpVtbl -> AddRef(This)
  1500. #define ITransactionVoterNotifyAsync2_Release(This)
  1501.     (This)->lpVtbl -> Release(This)
  1502. #define ITransactionVoterNotifyAsync2_Committed(This,fRetaining,pNewUOW,hr)
  1503.     (This)->lpVtbl -> Committed(This,fRetaining,pNewUOW,hr)
  1504. #define ITransactionVoterNotifyAsync2_Aborted(This,pboidReason,fRetaining,pNewUOW,hr)
  1505.     (This)->lpVtbl -> Aborted(This,pboidReason,fRetaining,pNewUOW,hr)
  1506. #define ITransactionVoterNotifyAsync2_HeuristicDecision(This,dwDecision,pboidReason,hr)
  1507.     (This)->lpVtbl -> HeuristicDecision(This,dwDecision,pboidReason,hr)
  1508. #define ITransactionVoterNotifyAsync2_Indoubt(This)
  1509.     (This)->lpVtbl -> Indoubt(This)
  1510. #define ITransactionVoterNotifyAsync2_VoteRequest(This)
  1511.     (This)->lpVtbl -> VoteRequest(This)
  1512. #endif /* COBJMACROS */
  1513. #endif  /* C style interface */
  1514. HRESULT STDMETHODCALLTYPE ITransactionVoterNotifyAsync2_VoteRequest_Proxy( 
  1515.     ITransactionVoterNotifyAsync2 * This);
  1516. void __RPC_STUB ITransactionVoterNotifyAsync2_VoteRequest_Stub(
  1517.     IRpcStubBuffer *This,
  1518.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1519.     PRPC_MESSAGE _pRpcMessage,
  1520.     DWORD *_pdwStubPhase);
  1521. #endif  /* __ITransactionVoterNotifyAsync2_INTERFACE_DEFINED__ */
  1522. #ifndef __ITransactionVoterFactory2_INTERFACE_DEFINED__
  1523. #define __ITransactionVoterFactory2_INTERFACE_DEFINED__
  1524. /* interface ITransactionVoterFactory2 */
  1525. /* [unique][object][uuid] */ 
  1526. EXTERN_C const IID IID_ITransactionVoterFactory2;
  1527. #if defined(__cplusplus) && !defined(CINTERFACE)
  1528.     
  1529.     MIDL_INTERFACE("5433376A-414D-11d3-B206-00C04FC2F3EF")
  1530.     ITransactionVoterFactory2 : public IUnknown
  1531.     {
  1532.     public:
  1533.         virtual HRESULT STDMETHODCALLTYPE Create( 
  1534.             /* [in] */ ITransaction *pTransaction,
  1535.             /* [in] */ ITransactionVoterNotifyAsync2 *pVoterNotify,
  1536.             /* [out] */ ITransactionVoterBallotAsync2 **ppVoterBallot) = 0;
  1537.         
  1538.     };
  1539.     
  1540. #else  /* C style interface */
  1541.     typedef struct ITransactionVoterFactory2Vtbl
  1542.     {
  1543.         BEGIN_INTERFACE
  1544.         
  1545.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1546.             ITransactionVoterFactory2 * This,
  1547.             /* [in] */ REFIID riid,
  1548.             /* [iid_is][out] */ void **ppvObject);
  1549.         
  1550.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1551.             ITransactionVoterFactory2 * This);
  1552.         
  1553.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1554.             ITransactionVoterFactory2 * This);
  1555.         
  1556.         HRESULT ( STDMETHODCALLTYPE *Create )( 
  1557.             ITransactionVoterFactory2 * This,
  1558.             /* [in] */ ITransaction *pTransaction,
  1559.             /* [in] */ ITransactionVoterNotifyAsync2 *pVoterNotify,
  1560.             /* [out] */ ITransactionVoterBallotAsync2 **ppVoterBallot);
  1561.         
  1562.         END_INTERFACE
  1563.     } ITransactionVoterFactory2Vtbl;
  1564.     interface ITransactionVoterFactory2
  1565.     {
  1566.         CONST_VTBL struct ITransactionVoterFactory2Vtbl *lpVtbl;
  1567.     };
  1568.     
  1569. #ifdef COBJMACROS
  1570. #define ITransactionVoterFactory2_QueryInterface(This,riid,ppvObject)
  1571.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1572. #define ITransactionVoterFactory2_AddRef(This)
  1573.     (This)->lpVtbl -> AddRef(This)
  1574. #define ITransactionVoterFactory2_Release(This)
  1575.     (This)->lpVtbl -> Release(This)
  1576. #define ITransactionVoterFactory2_Create(This,pTransaction,pVoterNotify,ppVoterBallot)
  1577.     (This)->lpVtbl -> Create(This,pTransaction,pVoterNotify,ppVoterBallot)
  1578. #endif /* COBJMACROS */
  1579. #endif  /* C style interface */
  1580. HRESULT STDMETHODCALLTYPE ITransactionVoterFactory2_Create_Proxy( 
  1581.     ITransactionVoterFactory2 * This,
  1582.     /* [in] */ ITransaction *pTransaction,
  1583.     /* [in] */ ITransactionVoterNotifyAsync2 *pVoterNotify,
  1584.     /* [out] */ ITransactionVoterBallotAsync2 **ppVoterBallot);
  1585. void __RPC_STUB ITransactionVoterFactory2_Create_Stub(
  1586.     IRpcStubBuffer *This,
  1587.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1588.     PRPC_MESSAGE _pRpcMessage,
  1589.     DWORD *_pdwStubPhase);
  1590. #endif  /* __ITransactionVoterFactory2_INTERFACE_DEFINED__ */
  1591. #ifndef __ITransactionPhase0EnlistmentAsync_INTERFACE_DEFINED__
  1592. #define __ITransactionPhase0EnlistmentAsync_INTERFACE_DEFINED__
  1593. /* interface ITransactionPhase0EnlistmentAsync */
  1594. /* [unique][object][uuid] */ 
  1595. EXTERN_C const IID IID_ITransactionPhase0EnlistmentAsync;
  1596. #if defined(__cplusplus) && !defined(CINTERFACE)
  1597.     
  1598.     MIDL_INTERFACE("82DC88E1-A954-11d1-8F88-00600895E7D5")
  1599.     ITransactionPhase0EnlistmentAsync : public IUnknown
  1600.     {
  1601.     public:
  1602.         virtual HRESULT STDMETHODCALLTYPE Enable( void) = 0;
  1603.         
  1604.         virtual HRESULT STDMETHODCALLTYPE WaitForEnlistment( void) = 0;
  1605.         
  1606.         virtual HRESULT STDMETHODCALLTYPE Phase0Done( void) = 0;
  1607.         
  1608.         virtual HRESULT STDMETHODCALLTYPE Unenlist( void) = 0;
  1609.         
  1610.         virtual HRESULT STDMETHODCALLTYPE GetTransaction( 
  1611.             /* [out] */ ITransaction **ppITransaction) = 0;
  1612.         
  1613.     };
  1614.     
  1615. #else  /* C style interface */
  1616.     typedef struct ITransactionPhase0EnlistmentAsyncVtbl
  1617.     {
  1618.         BEGIN_INTERFACE
  1619.         
  1620.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1621.             ITransactionPhase0EnlistmentAsync * This,
  1622.             /* [in] */ REFIID riid,
  1623.             /* [iid_is][out] */ void **ppvObject);
  1624.         
  1625.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1626.             ITransactionPhase0EnlistmentAsync * This);
  1627.         
  1628.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1629.             ITransactionPhase0EnlistmentAsync * This);
  1630.         
  1631.         HRESULT ( STDMETHODCALLTYPE *Enable )( 
  1632.             ITransactionPhase0EnlistmentAsync * This);
  1633.         
  1634.         HRESULT ( STDMETHODCALLTYPE *WaitForEnlistment )( 
  1635.             ITransactionPhase0EnlistmentAsync * This);
  1636.         
  1637.         HRESULT ( STDMETHODCALLTYPE *Phase0Done )( 
  1638.             ITransactionPhase0EnlistmentAsync * This);
  1639.         
  1640.         HRESULT ( STDMETHODCALLTYPE *Unenlist )( 
  1641.             ITransactionPhase0EnlistmentAsync * This);
  1642.         
  1643.         HRESULT ( STDMETHODCALLTYPE *GetTransaction )( 
  1644.             ITransactionPhase0EnlistmentAsync * This,
  1645.             /* [out] */ ITransaction **ppITransaction);
  1646.         
  1647.         END_INTERFACE
  1648.     } ITransactionPhase0EnlistmentAsyncVtbl;
  1649.     interface ITransactionPhase0EnlistmentAsync
  1650.     {
  1651.         CONST_VTBL struct ITransactionPhase0EnlistmentAsyncVtbl *lpVtbl;
  1652.     };
  1653.     
  1654. #ifdef COBJMACROS
  1655. #define ITransactionPhase0EnlistmentAsync_QueryInterface(This,riid,ppvObject)
  1656.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1657. #define ITransactionPhase0EnlistmentAsync_AddRef(This)
  1658.     (This)->lpVtbl -> AddRef(This)
  1659. #define ITransactionPhase0EnlistmentAsync_Release(This)
  1660.     (This)->lpVtbl -> Release(This)
  1661. #define ITransactionPhase0EnlistmentAsync_Enable(This)
  1662.     (This)->lpVtbl -> Enable(This)
  1663. #define ITransactionPhase0EnlistmentAsync_WaitForEnlistment(This)
  1664.     (This)->lpVtbl -> WaitForEnlistment(This)
  1665. #define ITransactionPhase0EnlistmentAsync_Phase0Done(This)
  1666.     (This)->lpVtbl -> Phase0Done(This)
  1667. #define ITransactionPhase0EnlistmentAsync_Unenlist(This)
  1668.     (This)->lpVtbl -> Unenlist(This)
  1669. #define ITransactionPhase0EnlistmentAsync_GetTransaction(This,ppITransaction)
  1670.     (This)->lpVtbl -> GetTransaction(This,ppITransaction)
  1671. #endif /* COBJMACROS */
  1672. #endif  /* C style interface */
  1673. HRESULT STDMETHODCALLTYPE ITransactionPhase0EnlistmentAsync_Enable_Proxy( 
  1674.     ITransactionPhase0EnlistmentAsync * This);
  1675. void __RPC_STUB ITransactionPhase0EnlistmentAsync_Enable_Stub(
  1676.     IRpcStubBuffer *This,
  1677.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1678.     PRPC_MESSAGE _pRpcMessage,
  1679.     DWORD *_pdwStubPhase);
  1680. HRESULT STDMETHODCALLTYPE ITransactionPhase0EnlistmentAsync_WaitForEnlistment_Proxy( 
  1681.     ITransactionPhase0EnlistmentAsync * This);
  1682. void __RPC_STUB ITransactionPhase0EnlistmentAsync_WaitForEnlistment_Stub(
  1683.     IRpcStubBuffer *This,
  1684.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1685.     PRPC_MESSAGE _pRpcMessage,
  1686.     DWORD *_pdwStubPhase);
  1687. HRESULT STDMETHODCALLTYPE ITransactionPhase0EnlistmentAsync_Phase0Done_Proxy( 
  1688.     ITransactionPhase0EnlistmentAsync * This);
  1689. void __RPC_STUB ITransactionPhase0EnlistmentAsync_Phase0Done_Stub(
  1690.     IRpcStubBuffer *This,
  1691.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1692.     PRPC_MESSAGE _pRpcMessage,
  1693.     DWORD *_pdwStubPhase);
  1694. HRESULT STDMETHODCALLTYPE ITransactionPhase0EnlistmentAsync_Unenlist_Proxy( 
  1695.     ITransactionPhase0EnlistmentAsync * This);
  1696. void __RPC_STUB ITransactionPhase0EnlistmentAsync_Unenlist_Stub(
  1697.     IRpcStubBuffer *This,
  1698.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1699.     PRPC_MESSAGE _pRpcMessage,
  1700.     DWORD *_pdwStubPhase);
  1701. HRESULT STDMETHODCALLTYPE ITransactionPhase0EnlistmentAsync_GetTransaction_Proxy( 
  1702.     ITransactionPhase0EnlistmentAsync * This,
  1703.     /* [out] */ ITransaction **ppITransaction);
  1704. void __RPC_STUB ITransactionPhase0EnlistmentAsync_GetTransaction_Stub(
  1705.     IRpcStubBuffer *This,
  1706.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1707.     PRPC_MESSAGE _pRpcMessage,
  1708.     DWORD *_pdwStubPhase);
  1709. #endif  /* __ITransactionPhase0EnlistmentAsync_INTERFACE_DEFINED__ */
  1710. #ifndef __ITransactionPhase0NotifyAsync_INTERFACE_DEFINED__
  1711. #define __ITransactionPhase0NotifyAsync_INTERFACE_DEFINED__
  1712. /* interface ITransactionPhase0NotifyAsync */
  1713. /* [unique][object][uuid] */ 
  1714. EXTERN_C const IID IID_ITransactionPhase0NotifyAsync;
  1715. #if defined(__cplusplus) && !defined(CINTERFACE)
  1716.     
  1717.     MIDL_INTERFACE("EF081809-0C76-11d2-87A6-00C04F990F34")
  1718.     ITransactionPhase0NotifyAsync : public IUnknown
  1719.     {
  1720.     public:
  1721.         virtual HRESULT STDMETHODCALLTYPE Phase0Request( 
  1722.             BOOL fAbortingHint) = 0;
  1723.         
  1724.         virtual HRESULT STDMETHODCALLTYPE EnlistCompleted( 
  1725.             /* [in] */ HRESULT status) = 0;
  1726.         
  1727.     };
  1728.     
  1729. #else  /* C style interface */
  1730.     typedef struct ITransactionPhase0NotifyAsyncVtbl
  1731.     {
  1732.         BEGIN_INTERFACE
  1733.         
  1734.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1735.             ITransactionPhase0NotifyAsync * This,
  1736.             /* [in] */ REFIID riid,
  1737.             /* [iid_is][out] */ void **ppvObject);
  1738.         
  1739.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1740.             ITransactionPhase0NotifyAsync * This);
  1741.         
  1742.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1743.             ITransactionPhase0NotifyAsync * This);
  1744.         
  1745.         HRESULT ( STDMETHODCALLTYPE *Phase0Request )( 
  1746.             ITransactionPhase0NotifyAsync * This,
  1747.             BOOL fAbortingHint);
  1748.         
  1749.         HRESULT ( STDMETHODCALLTYPE *EnlistCompleted )( 
  1750.             ITransactionPhase0NotifyAsync * This,
  1751.             /* [in] */ HRESULT status);
  1752.         
  1753.         END_INTERFACE
  1754.     } ITransactionPhase0NotifyAsyncVtbl;
  1755.     interface ITransactionPhase0NotifyAsync
  1756.     {
  1757.         CONST_VTBL struct ITransactionPhase0NotifyAsyncVtbl *lpVtbl;
  1758.     };
  1759.     
  1760. #ifdef COBJMACROS
  1761. #define ITransactionPhase0NotifyAsync_QueryInterface(This,riid,ppvObject)
  1762.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1763. #define ITransactionPhase0NotifyAsync_AddRef(This)
  1764.     (This)->lpVtbl -> AddRef(This)
  1765. #define ITransactionPhase0NotifyAsync_Release(This)
  1766.     (This)->lpVtbl -> Release(This)
  1767. #define ITransactionPhase0NotifyAsync_Phase0Request(This,fAbortingHint)
  1768.     (This)->lpVtbl -> Phase0Request(This,fAbortingHint)
  1769. #define ITransactionPhase0NotifyAsync_EnlistCompleted(This,status)
  1770.     (This)->lpVtbl -> EnlistCompleted(This,status)
  1771. #endif /* COBJMACROS */
  1772. #endif  /* C style interface */
  1773. HRESULT STDMETHODCALLTYPE ITransactionPhase0NotifyAsync_Phase0Request_Proxy( 
  1774.     ITransactionPhase0NotifyAsync * This,
  1775.     BOOL fAbortingHint);
  1776. void __RPC_STUB ITransactionPhase0NotifyAsync_Phase0Request_Stub(
  1777.     IRpcStubBuffer *This,
  1778.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1779.     PRPC_MESSAGE _pRpcMessage,
  1780.     DWORD *_pdwStubPhase);
  1781. HRESULT STDMETHODCALLTYPE ITransactionPhase0NotifyAsync_EnlistCompleted_Proxy( 
  1782.     ITransactionPhase0NotifyAsync * This,
  1783.     /* [in] */ HRESULT status);
  1784. void __RPC_STUB ITransactionPhase0NotifyAsync_EnlistCompleted_Stub(
  1785.     IRpcStubBuffer *This,
  1786.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1787.     PRPC_MESSAGE _pRpcMessage,
  1788.     DWORD *_pdwStubPhase);
  1789. #endif  /* __ITransactionPhase0NotifyAsync_INTERFACE_DEFINED__ */
  1790. #ifndef __ITransactionPhase0Factory_INTERFACE_DEFINED__
  1791. #define __ITransactionPhase0Factory_INTERFACE_DEFINED__
  1792. /* interface ITransactionPhase0Factory */
  1793. /* [unique][object][uuid] */ 
  1794. EXTERN_C const IID IID_ITransactionPhase0Factory;
  1795. #if defined(__cplusplus) && !defined(CINTERFACE)
  1796.     
  1797.     MIDL_INTERFACE("82DC88E0-A954-11d1-8F88-00600895E7D5")
  1798.     ITransactionPhase0Factory : public IUnknown
  1799.     {
  1800.     public:
  1801.         virtual HRESULT STDMETHODCALLTYPE Create( 
  1802.             /* [in] */ ITransactionPhase0NotifyAsync *pPhase0Notify,
  1803.             /* [out] */ ITransactionPhase0EnlistmentAsync **ppPhase0Enlistment) = 0;
  1804.         
  1805.     };
  1806.     
  1807. #else  /* C style interface */
  1808.     typedef struct ITransactionPhase0FactoryVtbl
  1809.     {
  1810.         BEGIN_INTERFACE
  1811.         
  1812.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1813.             ITransactionPhase0Factory * This,
  1814.             /* [in] */ REFIID riid,
  1815.             /* [iid_is][out] */ void **ppvObject);
  1816.         
  1817.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1818.             ITransactionPhase0Factory * This);
  1819.         
  1820.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1821.             ITransactionPhase0Factory * This);
  1822.         
  1823.         HRESULT ( STDMETHODCALLTYPE *Create )( 
  1824.             ITransactionPhase0Factory * This,
  1825.             /* [in] */ ITransactionPhase0NotifyAsync *pPhase0Notify,
  1826.             /* [out] */ ITransactionPhase0EnlistmentAsync **ppPhase0Enlistment);
  1827.         
  1828.         END_INTERFACE
  1829.     } ITransactionPhase0FactoryVtbl;
  1830.     interface ITransactionPhase0Factory
  1831.     {
  1832.         CONST_VTBL struct ITransactionPhase0FactoryVtbl *lpVtbl;
  1833.     };
  1834.     
  1835. #ifdef COBJMACROS
  1836. #define ITransactionPhase0Factory_QueryInterface(This,riid,ppvObject)
  1837.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1838. #define ITransactionPhase0Factory_AddRef(This)
  1839.     (This)->lpVtbl -> AddRef(This)
  1840. #define ITransactionPhase0Factory_Release(This)
  1841.     (This)->lpVtbl -> Release(This)
  1842. #define ITransactionPhase0Factory_Create(This,pPhase0Notify,ppPhase0Enlistment)
  1843.     (This)->lpVtbl -> Create(This,pPhase0Notify,ppPhase0Enlistment)
  1844. #endif /* COBJMACROS */
  1845. #endif  /* C style interface */
  1846. HRESULT STDMETHODCALLTYPE ITransactionPhase0Factory_Create_Proxy( 
  1847.     ITransactionPhase0Factory * This,
  1848.     /* [in] */ ITransactionPhase0NotifyAsync *pPhase0Notify,
  1849.     /* [out] */ ITransactionPhase0EnlistmentAsync **ppPhase0Enlistment);
  1850. void __RPC_STUB ITransactionPhase0Factory_Create_Stub(
  1851.     IRpcStubBuffer *This,
  1852.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1853.     PRPC_MESSAGE _pRpcMessage,
  1854.     DWORD *_pdwStubPhase);
  1855. #endif  /* __ITransactionPhase0Factory_INTERFACE_DEFINED__ */
  1856. #ifndef __ITransactionTransmitter_INTERFACE_DEFINED__
  1857. #define __ITransactionTransmitter_INTERFACE_DEFINED__
  1858. /* interface ITransactionTransmitter */
  1859. /* [unique][object][uuid] */ 
  1860. EXTERN_C const IID IID_ITransactionTransmitter;
  1861. #if defined(__cplusplus) && !defined(CINTERFACE)
  1862.     
  1863.     MIDL_INTERFACE("59313E01-B36C-11cf-A539-00AA006887C3")
  1864.     ITransactionTransmitter : public IUnknown
  1865.     {
  1866.     public:
  1867.         virtual HRESULT STDMETHODCALLTYPE Set( 
  1868.             /* [in] */ ITransaction *pTransaction) = 0;
  1869.         
  1870.         virtual HRESULT STDMETHODCALLTYPE GetPropagationTokenSize( 
  1871.             /* [out] */ ULONG *pcbToken) = 0;
  1872.         
  1873.         virtual HRESULT STDMETHODCALLTYPE MarshalPropagationToken( 
  1874.             /* [in] */ ULONG cbToken,
  1875.             /* [size_is][out] */ byte *rgbToken,
  1876.             /* [out] */ ULONG *pcbUsed) = 0;
  1877.         
  1878.         virtual HRESULT STDMETHODCALLTYPE UnmarshalReturnToken( 
  1879.             /* [in] */ ULONG cbReturnToken,
  1880.             /* [size_is][in] */ byte *rgbReturnToken) = 0;
  1881.         
  1882.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1883.         
  1884.     };
  1885.     
  1886. #else  /* C style interface */
  1887.     typedef struct ITransactionTransmitterVtbl
  1888.     {
  1889.         BEGIN_INTERFACE
  1890.         
  1891.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1892.             ITransactionTransmitter * This,
  1893.             /* [in] */ REFIID riid,
  1894.             /* [iid_is][out] */ void **ppvObject);
  1895.         
  1896.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1897.             ITransactionTransmitter * This);
  1898.         
  1899.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1900.             ITransactionTransmitter * This);
  1901.         
  1902.         HRESULT ( STDMETHODCALLTYPE *Set )( 
  1903.             ITransactionTransmitter * This,
  1904.             /* [in] */ ITransaction *pTransaction);
  1905.         
  1906.         HRESULT ( STDMETHODCALLTYPE *GetPropagationTokenSize )( 
  1907.             ITransactionTransmitter * This,
  1908.             /* [out] */ ULONG *pcbToken);
  1909.         
  1910.         HRESULT ( STDMETHODCALLTYPE *MarshalPropagationToken )( 
  1911.             ITransactionTransmitter * This,
  1912.             /* [in] */ ULONG cbToken,
  1913.             /* [size_is][out] */ byte *rgbToken,
  1914.             /* [out] */ ULONG *pcbUsed);
  1915.         
  1916.         HRESULT ( STDMETHODCALLTYPE *UnmarshalReturnToken )( 
  1917.             ITransactionTransmitter * This,
  1918.             /* [in] */ ULONG cbReturnToken,
  1919.             /* [size_is][in] */ byte *rgbReturnToken);
  1920.         
  1921.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1922.             ITransactionTransmitter * This);
  1923.         
  1924.         END_INTERFACE
  1925.     } ITransactionTransmitterVtbl;
  1926.     interface ITransactionTransmitter
  1927.     {
  1928.         CONST_VTBL struct ITransactionTransmitterVtbl *lpVtbl;
  1929.     };
  1930.     
  1931. #ifdef COBJMACROS
  1932. #define ITransactionTransmitter_QueryInterface(This,riid,ppvObject)
  1933.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1934. #define ITransactionTransmitter_AddRef(This)
  1935.     (This)->lpVtbl -> AddRef(This)
  1936. #define ITransactionTransmitter_Release(This)
  1937.     (This)->lpVtbl -> Release(This)
  1938. #define ITransactionTransmitter_Set(This,pTransaction)
  1939.     (This)->lpVtbl -> Set(This,pTransaction)
  1940. #define ITransactionTransmitter_GetPropagationTokenSize(This,pcbToken)
  1941.     (This)->lpVtbl -> GetPropagationTokenSize(This,pcbToken)
  1942. #define ITransactionTransmitter_MarshalPropagationToken(This,cbToken,rgbToken,pcbUsed)
  1943.     (This)->lpVtbl -> MarshalPropagationToken(This,cbToken,rgbToken,pcbUsed)
  1944. #define ITransactionTransmitter_UnmarshalReturnToken(This,cbReturnToken,rgbReturnToken)
  1945.     (This)->lpVtbl -> UnmarshalReturnToken(This,cbReturnToken,rgbReturnToken)
  1946. #define ITransactionTransmitter_Reset(This)
  1947.     (This)->lpVtbl -> Reset(This)
  1948. #endif /* COBJMACROS */
  1949. #endif  /* C style interface */
  1950. HRESULT STDMETHODCALLTYPE ITransactionTransmitter_Set_Proxy( 
  1951.     ITransactionTransmitter * This,
  1952.     /* [in] */ ITransaction *pTransaction);
  1953. void __RPC_STUB ITransactionTransmitter_Set_Stub(
  1954.     IRpcStubBuffer *This,
  1955.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1956.     PRPC_MESSAGE _pRpcMessage,
  1957.     DWORD *_pdwStubPhase);
  1958. HRESULT STDMETHODCALLTYPE ITransactionTransmitter_GetPropagationTokenSize_Proxy( 
  1959.     ITransactionTransmitter * This,
  1960.     /* [out] */ ULONG *pcbToken);
  1961. void __RPC_STUB ITransactionTransmitter_GetPropagationTokenSize_Stub(
  1962.     IRpcStubBuffer *This,
  1963.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1964.     PRPC_MESSAGE _pRpcMessage,
  1965.     DWORD *_pdwStubPhase);
  1966. HRESULT STDMETHODCALLTYPE ITransactionTransmitter_MarshalPropagationToken_Proxy( 
  1967.     ITransactionTransmitter * This,
  1968.     /* [in] */ ULONG cbToken,
  1969.     /* [size_is][out] */ byte *rgbToken,
  1970.     /* [out] */ ULONG *pcbUsed);
  1971. void __RPC_STUB ITransactionTransmitter_MarshalPropagationToken_Stub(
  1972.     IRpcStubBuffer *This,
  1973.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1974.     PRPC_MESSAGE _pRpcMessage,
  1975.     DWORD *_pdwStubPhase);
  1976. HRESULT STDMETHODCALLTYPE ITransactionTransmitter_UnmarshalReturnToken_Proxy( 
  1977.     ITransactionTransmitter * This,
  1978.     /* [in] */ ULONG cbReturnToken,
  1979.     /* [size_is][in] */ byte *rgbReturnToken);
  1980. void __RPC_STUB ITransactionTransmitter_UnmarshalReturnToken_Stub(
  1981.     IRpcStubBuffer *This,
  1982.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1983.     PRPC_MESSAGE _pRpcMessage,
  1984.     DWORD *_pdwStubPhase);
  1985. HRESULT STDMETHODCALLTYPE ITransactionTransmitter_Reset_Proxy( 
  1986.     ITransactionTransmitter * This);
  1987. void __RPC_STUB ITransactionTransmitter_Reset_Stub(
  1988.     IRpcStubBuffer *This,
  1989.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1990.     PRPC_MESSAGE _pRpcMessage,
  1991.     DWORD *_pdwStubPhase);
  1992. #endif  /* __ITransactionTransmitter_INTERFACE_DEFINED__ */
  1993. #ifndef __ITransactionTransmitterFactory_INTERFACE_DEFINED__
  1994. #define __ITransactionTransmitterFactory_INTERFACE_DEFINED__
  1995. /* interface ITransactionTransmitterFactory */
  1996. /* [unique][object][uuid] */ 
  1997. EXTERN_C const IID IID_ITransactionTransmitterFactory;
  1998. #if defined(__cplusplus) && !defined(CINTERFACE)
  1999.     
  2000.     MIDL_INTERFACE("59313E00-B36C-11cf-A539-00AA006887C3")
  2001.     ITransactionTransmitterFactory : public IUnknown
  2002.     {
  2003.     public:
  2004.         virtual HRESULT STDMETHODCALLTYPE Create( 
  2005.             /* [out] */ ITransactionTransmitter **ppTransmitter) = 0;
  2006.         
  2007.     };
  2008.     
  2009. #else  /* C style interface */
  2010.     typedef struct ITransactionTransmitterFactoryVtbl
  2011.     {
  2012.         BEGIN_INTERFACE
  2013.         
  2014.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2015.             ITransactionTransmitterFactory * This,
  2016.             /* [in] */ REFIID riid,
  2017.             /* [iid_is][out] */ void **ppvObject);
  2018.         
  2019.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2020.             ITransactionTransmitterFactory * This);
  2021.         
  2022.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2023.             ITransactionTransmitterFactory * This);
  2024.         
  2025.         HRESULT ( STDMETHODCALLTYPE *Create )( 
  2026.             ITransactionTransmitterFactory * This,
  2027.             /* [out] */ ITransactionTransmitter **ppTransmitter);
  2028.         
  2029.         END_INTERFACE
  2030.     } ITransactionTransmitterFactoryVtbl;
  2031.     interface ITransactionTransmitterFactory
  2032.     {
  2033.         CONST_VTBL struct ITransactionTransmitterFactoryVtbl *lpVtbl;
  2034.     };
  2035.