Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

5562 lines
163 KiB

  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. MIDL_INTERFACE("F3B1F131-EEDA-11ce-AED4-00AA0051E2C4")
  286. IXATransLookup : public IUnknown
  287. {
  288. public:
  289. virtual HRESULT STDMETHODCALLTYPE Lookup(
  290. /* [out] */ ITransaction **ppTransaction) = 0;
  291. };
  292. #else /* C style interface */
  293. typedef struct IXATransLookupVtbl
  294. {
  295. BEGIN_INTERFACE
  296. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  297. IXATransLookup * This,
  298. /* [in] */ REFIID riid,
  299. /* [iid_is][out] */ void **ppvObject);
  300. ULONG ( STDMETHODCALLTYPE *AddRef )(
  301. IXATransLookup * This);
  302. ULONG ( STDMETHODCALLTYPE *Release )(
  303. IXATransLookup * This);
  304. HRESULT ( STDMETHODCALLTYPE *Lookup )(
  305. IXATransLookup * This,
  306. /* [out] */ ITransaction **ppTransaction);
  307. END_INTERFACE
  308. } IXATransLookupVtbl;
  309. interface IXATransLookup
  310. {
  311. CONST_VTBL struct IXATransLookupVtbl *lpVtbl;
  312. };
  313. #ifdef COBJMACROS
  314. #define IXATransLookup_QueryInterface(This,riid,ppvObject) \
  315. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  316. #define IXATransLookup_AddRef(This) \
  317. (This)->lpVtbl -> AddRef(This)
  318. #define IXATransLookup_Release(This) \
  319. (This)->lpVtbl -> Release(This)
  320. #define IXATransLookup_Lookup(This,ppTransaction) \
  321. (This)->lpVtbl -> Lookup(This,ppTransaction)
  322. #endif /* COBJMACROS */
  323. #endif /* C style interface */
  324. HRESULT STDMETHODCALLTYPE IXATransLookup_Lookup_Proxy(
  325. IXATransLookup * This,
  326. /* [out] */ ITransaction **ppTransaction);
  327. void __RPC_STUB IXATransLookup_Lookup_Stub(
  328. IRpcStubBuffer *This,
  329. IRpcChannelBuffer *_pRpcChannelBuffer,
  330. PRPC_MESSAGE _pRpcMessage,
  331. DWORD *_pdwStubPhase);
  332. #endif /* __IXATransLookup_INTERFACE_DEFINED__ */
  333. #ifndef __IResourceManagerSink_INTERFACE_DEFINED__
  334. #define __IResourceManagerSink_INTERFACE_DEFINED__
  335. /* interface IResourceManagerSink */
  336. /* [unique][object][uuid] */
  337. EXTERN_C const IID IID_IResourceManagerSink;
  338. #if defined(__cplusplus) && !defined(CINTERFACE)
  339. MIDL_INTERFACE("0D563181-DEFB-11ce-AED1-00AA0051E2C4")
  340. IResourceManagerSink : public IUnknown
  341. {
  342. public:
  343. virtual HRESULT STDMETHODCALLTYPE TMDown( void) = 0;
  344. };
  345. #else /* C style interface */
  346. typedef struct IResourceManagerSinkVtbl
  347. {
  348. BEGIN_INTERFACE
  349. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  350. IResourceManagerSink * This,
  351. /* [in] */ REFIID riid,
  352. /* [iid_is][out] */ void **ppvObject);
  353. ULONG ( STDMETHODCALLTYPE *AddRef )(
  354. IResourceManagerSink * This);
  355. ULONG ( STDMETHODCALLTYPE *Release )(
  356. IResourceManagerSink * This);
  357. HRESULT ( STDMETHODCALLTYPE *TMDown )(
  358. IResourceManagerSink * This);
  359. END_INTERFACE
  360. } IResourceManagerSinkVtbl;
  361. interface IResourceManagerSink
  362. {
  363. CONST_VTBL struct IResourceManagerSinkVtbl *lpVtbl;
  364. };
  365. #ifdef COBJMACROS
  366. #define IResourceManagerSink_QueryInterface(This,riid,ppvObject) \
  367. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  368. #define IResourceManagerSink_AddRef(This) \
  369. (This)->lpVtbl -> AddRef(This)
  370. #define IResourceManagerSink_Release(This) \
  371. (This)->lpVtbl -> Release(This)
  372. #define IResourceManagerSink_TMDown(This) \
  373. (This)->lpVtbl -> TMDown(This)
  374. #endif /* COBJMACROS */
  375. #endif /* C style interface */
  376. HRESULT STDMETHODCALLTYPE IResourceManagerSink_TMDown_Proxy(
  377. IResourceManagerSink * This);
  378. void __RPC_STUB IResourceManagerSink_TMDown_Stub(
  379. IRpcStubBuffer *This,
  380. IRpcChannelBuffer *_pRpcChannelBuffer,
  381. PRPC_MESSAGE _pRpcMessage,
  382. DWORD *_pdwStubPhase);
  383. #endif /* __IResourceManagerSink_INTERFACE_DEFINED__ */
  384. #ifndef __IResourceManager_INTERFACE_DEFINED__
  385. #define __IResourceManager_INTERFACE_DEFINED__
  386. /* interface IResourceManager */
  387. /* [unique][object][uuid] */
  388. EXTERN_C const IID IID_IResourceManager;
  389. #if defined(__cplusplus) && !defined(CINTERFACE)
  390. MIDL_INTERFACE("13741d21-87eb-11ce-8081-0080c758527e")
  391. IResourceManager : public IUnknown
  392. {
  393. public:
  394. virtual HRESULT STDMETHODCALLTYPE Enlist(
  395. /* [in] */ ITransaction *pTransaction,
  396. /* [in] */ ITransactionResourceAsync *pRes,
  397. /* [out] */ XACTUOW *pUOW,
  398. /* [out] */ LONG *pisoLevel,
  399. /* [out] */ ITransactionEnlistmentAsync **ppEnlist) = 0;
  400. virtual HRESULT STDMETHODCALLTYPE Reenlist(
  401. /* [size_is][in] */ byte *pPrepInfo,
  402. /* [in] */ ULONG cbPrepInfo,
  403. /* [in] */ DWORD lTimeout,
  404. /* [out] */ XACTSTAT *pXactStat) = 0;
  405. virtual HRESULT STDMETHODCALLTYPE ReenlistmentComplete( void) = 0;
  406. virtual HRESULT STDMETHODCALLTYPE GetDistributedTransactionManager(
  407. /* [in] */ REFIID iid,
  408. /* [iid_is][out] */ void **ppvObject) = 0;
  409. };
  410. #else /* C style interface */
  411. typedef struct IResourceManagerVtbl
  412. {
  413. BEGIN_INTERFACE
  414. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  415. IResourceManager * This,
  416. /* [in] */ REFIID riid,
  417. /* [iid_is][out] */ void **ppvObject);
  418. ULONG ( STDMETHODCALLTYPE *AddRef )(
  419. IResourceManager * This);
  420. ULONG ( STDMETHODCALLTYPE *Release )(
  421. IResourceManager * This);
  422. HRESULT ( STDMETHODCALLTYPE *Enlist )(
  423. IResourceManager * This,
  424. /* [in] */ ITransaction *pTransaction,
  425. /* [in] */ ITransactionResourceAsync *pRes,
  426. /* [out] */ XACTUOW *pUOW,
  427. /* [out] */ LONG *pisoLevel,
  428. /* [out] */ ITransactionEnlistmentAsync **ppEnlist);
  429. HRESULT ( STDMETHODCALLTYPE *Reenlist )(
  430. IResourceManager * This,
  431. /* [size_is][in] */ byte *pPrepInfo,
  432. /* [in] */ ULONG cbPrepInfo,
  433. /* [in] */ DWORD lTimeout,
  434. /* [out] */ XACTSTAT *pXactStat);
  435. HRESULT ( STDMETHODCALLTYPE *ReenlistmentComplete )(
  436. IResourceManager * This);
  437. HRESULT ( STDMETHODCALLTYPE *GetDistributedTransactionManager )(
  438. IResourceManager * This,
  439. /* [in] */ REFIID iid,
  440. /* [iid_is][out] */ void **ppvObject);
  441. END_INTERFACE
  442. } IResourceManagerVtbl;
  443. interface IResourceManager
  444. {
  445. CONST_VTBL struct IResourceManagerVtbl *lpVtbl;
  446. };
  447. #ifdef COBJMACROS
  448. #define IResourceManager_QueryInterface(This,riid,ppvObject) \
  449. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  450. #define IResourceManager_AddRef(This) \
  451. (This)->lpVtbl -> AddRef(This)
  452. #define IResourceManager_Release(This) \
  453. (This)->lpVtbl -> Release(This)
  454. #define IResourceManager_Enlist(This,pTransaction,pRes,pUOW,pisoLevel,ppEnlist) \
  455. (This)->lpVtbl -> Enlist(This,pTransaction,pRes,pUOW,pisoLevel,ppEnlist)
  456. #define IResourceManager_Reenlist(This,pPrepInfo,cbPrepInfo,lTimeout,pXactStat) \
  457. (This)->lpVtbl -> Reenlist(This,pPrepInfo,cbPrepInfo,lTimeout,pXactStat)
  458. #define IResourceManager_ReenlistmentComplete(This) \
  459. (This)->lpVtbl -> ReenlistmentComplete(This)
  460. #define IResourceManager_GetDistributedTransactionManager(This,iid,ppvObject) \
  461. (This)->lpVtbl -> GetDistributedTransactionManager(This,iid,ppvObject)
  462. #endif /* COBJMACROS */
  463. #endif /* C style interface */
  464. HRESULT STDMETHODCALLTYPE IResourceManager_Enlist_Proxy(
  465. IResourceManager * This,
  466. /* [in] */ ITransaction *pTransaction,
  467. /* [in] */ ITransactionResourceAsync *pRes,
  468. /* [out] */ XACTUOW *pUOW,
  469. /* [out] */ LONG *pisoLevel,
  470. /* [out] */ ITransactionEnlistmentAsync **ppEnlist);
  471. void __RPC_STUB IResourceManager_Enlist_Stub(
  472. IRpcStubBuffer *This,
  473. IRpcChannelBuffer *_pRpcChannelBuffer,
  474. PRPC_MESSAGE _pRpcMessage,
  475. DWORD *_pdwStubPhase);
  476. HRESULT STDMETHODCALLTYPE IResourceManager_Reenlist_Proxy(
  477. IResourceManager * This,
  478. /* [size_is][in] */ byte *pPrepInfo,
  479. /* [in] */ ULONG cbPrepInfo,
  480. /* [in] */ DWORD lTimeout,
  481. /* [out] */ XACTSTAT *pXactStat);
  482. void __RPC_STUB IResourceManager_Reenlist_Stub(
  483. IRpcStubBuffer *This,
  484. IRpcChannelBuffer *_pRpcChannelBuffer,
  485. PRPC_MESSAGE _pRpcMessage,
  486. DWORD *_pdwStubPhase);
  487. HRESULT STDMETHODCALLTYPE IResourceManager_ReenlistmentComplete_Proxy(
  488. IResourceManager * This);
  489. void __RPC_STUB IResourceManager_ReenlistmentComplete_Stub(
  490. IRpcStubBuffer *This,
  491. IRpcChannelBuffer *_pRpcChannelBuffer,
  492. PRPC_MESSAGE _pRpcMessage,
  493. DWORD *_pdwStubPhase);
  494. HRESULT STDMETHODCALLTYPE IResourceManager_GetDistributedTransactionManager_Proxy(
  495. IResourceManager * This,
  496. /* [in] */ REFIID iid,
  497. /* [iid_is][out] */ void **ppvObject);
  498. void __RPC_STUB IResourceManager_GetDistributedTransactionManager_Stub(
  499. IRpcStubBuffer *This,
  500. IRpcChannelBuffer *_pRpcChannelBuffer,
  501. PRPC_MESSAGE _pRpcMessage,
  502. DWORD *_pdwStubPhase);
  503. #endif /* __IResourceManager_INTERFACE_DEFINED__ */
  504. #ifndef __ILastResourceManager_INTERFACE_DEFINED__
  505. #define __ILastResourceManager_INTERFACE_DEFINED__
  506. /* interface ILastResourceManager */
  507. /* [unique][object][uuid] */
  508. EXTERN_C const IID IID_ILastResourceManager;
  509. #if defined(__cplusplus) && !defined(CINTERFACE)
  510. MIDL_INTERFACE("4D964AD4-5B33-11d3-8A91-00C04F79EB6D")
  511. ILastResourceManager : public IUnknown
  512. {
  513. public:
  514. virtual HRESULT STDMETHODCALLTYPE TransactionCommitted(
  515. /* [size_is][in] */ byte *pPrepInfo,
  516. /* [in] */ ULONG cbPrepInfo) = 0;
  517. virtual HRESULT STDMETHODCALLTYPE RecoveryDone( void) = 0;
  518. };
  519. #else /* C style interface */
  520. typedef struct ILastResourceManagerVtbl
  521. {
  522. BEGIN_INTERFACE
  523. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  524. ILastResourceManager * This,
  525. /* [in] */ REFIID riid,
  526. /* [iid_is][out] */ void **ppvObject);
  527. ULONG ( STDMETHODCALLTYPE *AddRef )(
  528. ILastResourceManager * This);
  529. ULONG ( STDMETHODCALLTYPE *Release )(
  530. ILastResourceManager * This);
  531. HRESULT ( STDMETHODCALLTYPE *TransactionCommitted )(
  532. ILastResourceManager * This,
  533. /* [size_is][in] */ byte *pPrepInfo,
  534. /* [in] */ ULONG cbPrepInfo);
  535. HRESULT ( STDMETHODCALLTYPE *RecoveryDone )(
  536. ILastResourceManager * This);
  537. END_INTERFACE
  538. } ILastResourceManagerVtbl;
  539. interface ILastResourceManager
  540. {
  541. CONST_VTBL struct ILastResourceManagerVtbl *lpVtbl;
  542. };
  543. #ifdef COBJMACROS
  544. #define ILastResourceManager_QueryInterface(This,riid,ppvObject) \
  545. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  546. #define ILastResourceManager_AddRef(This) \
  547. (This)->lpVtbl -> AddRef(This)
  548. #define ILastResourceManager_Release(This) \
  549. (This)->lpVtbl -> Release(This)
  550. #define ILastResourceManager_TransactionCommitted(This,pPrepInfo,cbPrepInfo) \
  551. (This)->lpVtbl -> TransactionCommitted(This,pPrepInfo,cbPrepInfo)
  552. #define ILastResourceManager_RecoveryDone(This) \
  553. (This)->lpVtbl -> RecoveryDone(This)
  554. #endif /* COBJMACROS */
  555. #endif /* C style interface */
  556. HRESULT STDMETHODCALLTYPE ILastResourceManager_TransactionCommitted_Proxy(
  557. ILastResourceManager * This,
  558. /* [size_is][in] */ byte *pPrepInfo,
  559. /* [in] */ ULONG cbPrepInfo);
  560. void __RPC_STUB ILastResourceManager_TransactionCommitted_Stub(
  561. IRpcStubBuffer *This,
  562. IRpcChannelBuffer *_pRpcChannelBuffer,
  563. PRPC_MESSAGE _pRpcMessage,
  564. DWORD *_pdwStubPhase);
  565. HRESULT STDMETHODCALLTYPE ILastResourceManager_RecoveryDone_Proxy(
  566. ILastResourceManager * This);
  567. void __RPC_STUB ILastResourceManager_RecoveryDone_Stub(
  568. IRpcStubBuffer *This,
  569. IRpcChannelBuffer *_pRpcChannelBuffer,
  570. PRPC_MESSAGE _pRpcMessage,
  571. DWORD *_pdwStubPhase);
  572. #endif /* __ILastResourceManager_INTERFACE_DEFINED__ */
  573. #ifndef __IResourceManager2_INTERFACE_DEFINED__
  574. #define __IResourceManager2_INTERFACE_DEFINED__
  575. /* interface IResourceManager2 */
  576. /* [unique][object][uuid] */
  577. EXTERN_C const IID IID_IResourceManager2;
  578. #if defined(__cplusplus) && !defined(CINTERFACE)
  579. MIDL_INTERFACE("D136C69A-F749-11d1-8F47-00C04F8EE57D")
  580. IResourceManager2 : public IResourceManager
  581. {
  582. public:
  583. virtual HRESULT STDMETHODCALLTYPE Enlist2(
  584. /* [in] */ ITransaction *pTransaction,
  585. /* [in] */ ITransactionResourceAsync *pResAsync,
  586. /* [out] */ XACTUOW *pUOW,
  587. /* [out] */ LONG *pisoLevel,
  588. /* [out] */ XID *pXid,
  589. /* [out] */ ITransactionEnlistmentAsync **ppEnlist) = 0;
  590. virtual HRESULT STDMETHODCALLTYPE Reenlist2(
  591. /* [in] */ XID *pXid,
  592. /* [in] */ DWORD dwTimeout,
  593. /* [out] */ XACTSTAT *pXactStat) = 0;
  594. };
  595. #else /* C style interface */
  596. typedef struct IResourceManager2Vtbl
  597. {
  598. BEGIN_INTERFACE
  599. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  600. IResourceManager2 * This,
  601. /* [in] */ REFIID riid,
  602. /* [iid_is][out] */ void **ppvObject);
  603. ULONG ( STDMETHODCALLTYPE *AddRef )(
  604. IResourceManager2 * This);
  605. ULONG ( STDMETHODCALLTYPE *Release )(
  606. IResourceManager2 * This);
  607. HRESULT ( STDMETHODCALLTYPE *Enlist )(
  608. IResourceManager2 * This,
  609. /* [in] */ ITransaction *pTransaction,
  610. /* [in] */ ITransactionResourceAsync *pRes,
  611. /* [out] */ XACTUOW *pUOW,
  612. /* [out] */ LONG *pisoLevel,
  613. /* [out] */ ITransactionEnlistmentAsync **ppEnlist);
  614. HRESULT ( STDMETHODCALLTYPE *Reenlist )(
  615. IResourceManager2 * This,
  616. /* [size_is][in] */ byte *pPrepInfo,
  617. /* [in] */ ULONG cbPrepInfo,
  618. /* [in] */ DWORD lTimeout,
  619. /* [out] */ XACTSTAT *pXactStat);
  620. HRESULT ( STDMETHODCALLTYPE *ReenlistmentComplete )(
  621. IResourceManager2 * This);
  622. HRESULT ( STDMETHODCALLTYPE *GetDistributedTransactionManager )(
  623. IResourceManager2 * This,
  624. /* [in] */ REFIID iid,
  625. /* [iid_is][out] */ void **ppvObject);
  626. HRESULT ( STDMETHODCALLTYPE *Enlist2 )(
  627. IResourceManager2 * This,
  628. /* [in] */ ITransaction *pTransaction,
  629. /* [in] */ ITransactionResourceAsync *pResAsync,
  630. /* [out] */ XACTUOW *pUOW,
  631. /* [out] */ LONG *pisoLevel,
  632. /* [out] */ XID *pXid,
  633. /* [out] */ ITransactionEnlistmentAsync **ppEnlist);
  634. HRESULT ( STDMETHODCALLTYPE *Reenlist2 )(
  635. IResourceManager2 * This,
  636. /* [in] */ XID *pXid,
  637. /* [in] */ DWORD dwTimeout,
  638. /* [out] */ XACTSTAT *pXactStat);
  639. END_INTERFACE
  640. } IResourceManager2Vtbl;
  641. interface IResourceManager2
  642. {
  643. CONST_VTBL struct IResourceManager2Vtbl *lpVtbl;
  644. };
  645. #ifdef COBJMACROS
  646. #define IResourceManager2_QueryInterface(This,riid,ppvObject) \
  647. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  648. #define IResourceManager2_AddRef(This) \
  649. (This)->lpVtbl -> AddRef(This)
  650. #define IResourceManager2_Release(This) \
  651. (This)->lpVtbl -> Release(This)
  652. #define IResourceManager2_Enlist(This,pTransaction,pRes,pUOW,pisoLevel,ppEnlist) \
  653. (This)->lpVtbl -> Enlist(This,pTransaction,pRes,pUOW,pisoLevel,ppEnlist)
  654. #define IResourceManager2_Reenlist(This,pPrepInfo,cbPrepInfo,lTimeout,pXactStat) \
  655. (This)->lpVtbl -> Reenlist(This,pPrepInfo,cbPrepInfo,lTimeout,pXactStat)
  656. #define IResourceManager2_ReenlistmentComplete(This) \
  657. (This)->lpVtbl -> ReenlistmentComplete(This)
  658. #define IResourceManager2_GetDistributedTransactionManager(This,iid,ppvObject) \
  659. (This)->lpVtbl -> GetDistributedTransactionManager(This,iid,ppvObject)
  660. #define IResourceManager2_Enlist2(This,pTransaction,pResAsync,pUOW,pisoLevel,pXid,ppEnlist) \
  661. (This)->lpVtbl -> Enlist2(This,pTransaction,pResAsync,pUOW,pisoLevel,pXid,ppEnlist)
  662. #define IResourceManager2_Reenlist2(This,pXid,dwTimeout,pXactStat) \
  663. (This)->lpVtbl -> Reenlist2(This,pXid,dwTimeout,pXactStat)
  664. #endif /* COBJMACROS */
  665. #endif /* C style interface */
  666. HRESULT STDMETHODCALLTYPE IResourceManager2_Enlist2_Proxy(
  667. IResourceManager2 * This,
  668. /* [in] */ ITransaction *pTransaction,
  669. /* [in] */ ITransactionResourceAsync *pResAsync,
  670. /* [out] */ XACTUOW *pUOW,
  671. /* [out] */ LONG *pisoLevel,
  672. /* [out] */ XID *pXid,
  673. /* [out] */ ITransactionEnlistmentAsync **ppEnlist);
  674. void __RPC_STUB IResourceManager2_Enlist2_Stub(
  675. IRpcStubBuffer *This,
  676. IRpcChannelBuffer *_pRpcChannelBuffer,
  677. PRPC_MESSAGE _pRpcMessage,
  678. DWORD *_pdwStubPhase);
  679. HRESULT STDMETHODCALLTYPE IResourceManager2_Reenlist2_Proxy(
  680. IResourceManager2 * This,
  681. /* [in] */ XID *pXid,
  682. /* [in] */ DWORD dwTimeout,
  683. /* [out] */ XACTSTAT *pXactStat);
  684. void __RPC_STUB IResourceManager2_Reenlist2_Stub(
  685. IRpcStubBuffer *This,
  686. IRpcChannelBuffer *_pRpcChannelBuffer,
  687. PRPC_MESSAGE _pRpcMessage,
  688. DWORD *_pdwStubPhase);
  689. #endif /* __IResourceManager2_INTERFACE_DEFINED__ */
  690. #ifndef __IXAConfig_INTERFACE_DEFINED__
  691. #define __IXAConfig_INTERFACE_DEFINED__
  692. /* interface IXAConfig */
  693. /* [unique][object][uuid] */
  694. EXTERN_C const IID IID_IXAConfig;
  695. #if defined(__cplusplus) && !defined(CINTERFACE)
  696. MIDL_INTERFACE("C8A6E3A1-9A8C-11cf-A308-00A0C905416E")
  697. IXAConfig : public IUnknown
  698. {
  699. public:
  700. virtual HRESULT STDMETHODCALLTYPE Initialize(
  701. /* [in] */ GUID clsidHelperDll) = 0;
  702. virtual HRESULT STDMETHODCALLTYPE Terminate( void) = 0;
  703. };
  704. #else /* C style interface */
  705. typedef struct IXAConfigVtbl
  706. {
  707. BEGIN_INTERFACE
  708. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  709. IXAConfig * This,
  710. /* [in] */ REFIID riid,
  711. /* [iid_is][out] */ void **ppvObject);
  712. ULONG ( STDMETHODCALLTYPE *AddRef )(
  713. IXAConfig * This);
  714. ULONG ( STDMETHODCALLTYPE *Release )(
  715. IXAConfig * This);
  716. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  717. IXAConfig * This,
  718. /* [in] */ GUID clsidHelperDll);
  719. HRESULT ( STDMETHODCALLTYPE *Terminate )(
  720. IXAConfig * This);
  721. END_INTERFACE
  722. } IXAConfigVtbl;
  723. interface IXAConfig
  724. {
  725. CONST_VTBL struct IXAConfigVtbl *lpVtbl;
  726. };
  727. #ifdef COBJMACROS
  728. #define IXAConfig_QueryInterface(This,riid,ppvObject) \
  729. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  730. #define IXAConfig_AddRef(This) \
  731. (This)->lpVtbl -> AddRef(This)
  732. #define IXAConfig_Release(This) \
  733. (This)->lpVtbl -> Release(This)
  734. #define IXAConfig_Initialize(This,clsidHelperDll) \
  735. (This)->lpVtbl -> Initialize(This,clsidHelperDll)
  736. #define IXAConfig_Terminate(This) \
  737. (This)->lpVtbl -> Terminate(This)
  738. #endif /* COBJMACROS */
  739. #endif /* C style interface */
  740. HRESULT STDMETHODCALLTYPE IXAConfig_Initialize_Proxy(
  741. IXAConfig * This,
  742. /* [in] */ GUID clsidHelperDll);
  743. void __RPC_STUB IXAConfig_Initialize_Stub(
  744. IRpcStubBuffer *This,
  745. IRpcChannelBuffer *_pRpcChannelBuffer,
  746. PRPC_MESSAGE _pRpcMessage,
  747. DWORD *_pdwStubPhase);
  748. HRESULT STDMETHODCALLTYPE IXAConfig_Terminate_Proxy(
  749. IXAConfig * This);
  750. void __RPC_STUB IXAConfig_Terminate_Stub(
  751. IRpcStubBuffer *This,
  752. IRpcChannelBuffer *_pRpcChannelBuffer,
  753. PRPC_MESSAGE _pRpcMessage,
  754. DWORD *_pdwStubPhase);
  755. #endif /* __IXAConfig_INTERFACE_DEFINED__ */
  756. #ifndef __IRMHelper_INTERFACE_DEFINED__
  757. #define __IRMHelper_INTERFACE_DEFINED__
  758. /* interface IRMHelper */
  759. /* [local][unique][object][uuid] */
  760. EXTERN_C const IID IID_IRMHelper;
  761. #if defined(__cplusplus) && !defined(CINTERFACE)
  762. MIDL_INTERFACE("E793F6D1-F53D-11cf-A60D-00A0C905416E")
  763. IRMHelper : public IUnknown
  764. {
  765. public:
  766. virtual HRESULT STDMETHODCALLTYPE RMCount(
  767. /* [in] */ DWORD dwcTotalNumberOfRMs) = 0;
  768. virtual HRESULT STDMETHODCALLTYPE RMInfo(
  769. /* [in] */ xa_switch_t *pXa_Switch,
  770. /* [in] */ BOOL fCDeclCallingConv,
  771. /* [string][in] */ char *pszOpenString,
  772. /* [string][in] */ char *pszCloseString,
  773. /* [in] */ GUID guidRMRecovery) = 0;
  774. };
  775. #else /* C style interface */
  776. typedef struct IRMHelperVtbl
  777. {
  778. BEGIN_INTERFACE
  779. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  780. IRMHelper * This,
  781. /* [in] */ REFIID riid,
  782. /* [iid_is][out] */ void **ppvObject);
  783. ULONG ( STDMETHODCALLTYPE *AddRef )(
  784. IRMHelper * This);
  785. ULONG ( STDMETHODCALLTYPE *Release )(
  786. IRMHelper * This);
  787. HRESULT ( STDMETHODCALLTYPE *RMCount )(
  788. IRMHelper * This,
  789. /* [in] */ DWORD dwcTotalNumberOfRMs);
  790. HRESULT ( STDMETHODCALLTYPE *RMInfo )(
  791. IRMHelper * This,
  792. /* [in] */ xa_switch_t *pXa_Switch,
  793. /* [in] */ BOOL fCDeclCallingConv,
  794. /* [string][in] */ char *pszOpenString,
  795. /* [string][in] */ char *pszCloseString,
  796. /* [in] */ GUID guidRMRecovery);
  797. END_INTERFACE
  798. } IRMHelperVtbl;
  799. interface IRMHelper
  800. {
  801. CONST_VTBL struct IRMHelperVtbl *lpVtbl;
  802. };
  803. #ifdef COBJMACROS
  804. #define IRMHelper_QueryInterface(This,riid,ppvObject) \
  805. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  806. #define IRMHelper_AddRef(This) \
  807. (This)->lpVtbl -> AddRef(This)
  808. #define IRMHelper_Release(This) \
  809. (This)->lpVtbl -> Release(This)
  810. #define IRMHelper_RMCount(This,dwcTotalNumberOfRMs) \
  811. (This)->lpVtbl -> RMCount(This,dwcTotalNumberOfRMs)
  812. #define IRMHelper_RMInfo(This,pXa_Switch,fCDeclCallingConv,pszOpenString,pszCloseString,guidRMRecovery) \
  813. (This)->lpVtbl -> RMInfo(This,pXa_Switch,fCDeclCallingConv,pszOpenString,pszCloseString,guidRMRecovery)
  814. #endif /* COBJMACROS */
  815. #endif /* C style interface */
  816. HRESULT STDMETHODCALLTYPE IRMHelper_RMCount_Proxy(
  817. IRMHelper * This,
  818. /* [in] */ DWORD dwcTotalNumberOfRMs);
  819. void __RPC_STUB IRMHelper_RMCount_Stub(
  820. IRpcStubBuffer *This,
  821. IRpcChannelBuffer *_pRpcChannelBuffer,
  822. PRPC_MESSAGE _pRpcMessage,
  823. DWORD *_pdwStubPhase);
  824. HRESULT STDMETHODCALLTYPE IRMHelper_RMInfo_Proxy(
  825. IRMHelper * This,
  826. /* [in] */ xa_switch_t *pXa_Switch,
  827. /* [in] */ BOOL fCDeclCallingConv,
  828. /* [string][in] */ char *pszOpenString,
  829. /* [string][in] */ char *pszCloseString,
  830. /* [in] */ GUID guidRMRecovery);
  831. void __RPC_STUB IRMHelper_RMInfo_Stub(
  832. IRpcStubBuffer *This,
  833. IRpcChannelBuffer *_pRpcChannelBuffer,
  834. PRPC_MESSAGE _pRpcMessage,
  835. DWORD *_pdwStubPhase);
  836. #endif /* __IRMHelper_INTERFACE_DEFINED__ */
  837. #ifndef __IXAObtainRMInfo_INTERFACE_DEFINED__
  838. #define __IXAObtainRMInfo_INTERFACE_DEFINED__
  839. /* interface IXAObtainRMInfo */
  840. /* [unique][object][uuid] */
  841. EXTERN_C const IID IID_IXAObtainRMInfo;
  842. #if defined(__cplusplus) && !defined(CINTERFACE)
  843. MIDL_INTERFACE("E793F6D2-F53D-11cf-A60D-00A0C905416E")
  844. IXAObtainRMInfo : public IUnknown
  845. {
  846. public:
  847. virtual HRESULT STDMETHODCALLTYPE ObtainRMInfo(
  848. /* [in] */ IRMHelper *pIRMHelper) = 0;
  849. };
  850. #else /* C style interface */
  851. typedef struct IXAObtainRMInfoVtbl
  852. {
  853. BEGIN_INTERFACE
  854. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  855. IXAObtainRMInfo * This,
  856. /* [in] */ REFIID riid,
  857. /* [iid_is][out] */ void **ppvObject);
  858. ULONG ( STDMETHODCALLTYPE *AddRef )(
  859. IXAObtainRMInfo * This);
  860. ULONG ( STDMETHODCALLTYPE *Release )(
  861. IXAObtainRMInfo * This);
  862. HRESULT ( STDMETHODCALLTYPE *ObtainRMInfo )(
  863. IXAObtainRMInfo * This,
  864. /* [in] */ IRMHelper *pIRMHelper);
  865. END_INTERFACE
  866. } IXAObtainRMInfoVtbl;
  867. interface IXAObtainRMInfo
  868. {
  869. CONST_VTBL struct IXAObtainRMInfoVtbl *lpVtbl;
  870. };
  871. #ifdef COBJMACROS
  872. #define IXAObtainRMInfo_QueryInterface(This,riid,ppvObject) \
  873. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  874. #define IXAObtainRMInfo_AddRef(This) \
  875. (This)->lpVtbl -> AddRef(This)
  876. #define IXAObtainRMInfo_Release(This) \
  877. (This)->lpVtbl -> Release(This)
  878. #define IXAObtainRMInfo_ObtainRMInfo(This,pIRMHelper) \
  879. (This)->lpVtbl -> ObtainRMInfo(This,pIRMHelper)
  880. #endif /* COBJMACROS */
  881. #endif /* C style interface */
  882. HRESULT STDMETHODCALLTYPE IXAObtainRMInfo_ObtainRMInfo_Proxy(
  883. IXAObtainRMInfo * This,
  884. /* [in] */ IRMHelper *pIRMHelper);
  885. void __RPC_STUB IXAObtainRMInfo_ObtainRMInfo_Stub(
  886. IRpcStubBuffer *This,
  887. IRpcChannelBuffer *_pRpcChannelBuffer,
  888. PRPC_MESSAGE _pRpcMessage,
  889. DWORD *_pdwStubPhase);
  890. #endif /* __IXAObtainRMInfo_INTERFACE_DEFINED__ */
  891. #ifndef __IResourceManagerFactory_INTERFACE_DEFINED__
  892. #define __IResourceManagerFactory_INTERFACE_DEFINED__
  893. /* interface IResourceManagerFactory */
  894. /* [unique][object][uuid] */
  895. EXTERN_C const IID IID_IResourceManagerFactory;
  896. #if defined(__cplusplus) && !defined(CINTERFACE)
  897. MIDL_INTERFACE("13741d20-87eb-11ce-8081-0080c758527e")
  898. IResourceManagerFactory : public IUnknown
  899. {
  900. public:
  901. virtual HRESULT STDMETHODCALLTYPE Create(
  902. /* [in] */ GUID *pguidRM,
  903. /* [string][in] */ CHAR *pszRMName,
  904. /* [in] */ IResourceManagerSink *pIResMgrSink,
  905. /* [out] */ IResourceManager **ppResMgr) = 0;
  906. };
  907. #else /* C style interface */
  908. typedef struct IResourceManagerFactoryVtbl
  909. {
  910. BEGIN_INTERFACE
  911. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  912. IResourceManagerFactory * This,
  913. /* [in] */ REFIID riid,
  914. /* [iid_is][out] */ void **ppvObject);
  915. ULONG ( STDMETHODCALLTYPE *AddRef )(
  916. IResourceManagerFactory * This);
  917. ULONG ( STDMETHODCALLTYPE *Release )(
  918. IResourceManagerFactory * This);
  919. HRESULT ( STDMETHODCALLTYPE *Create )(
  920. IResourceManagerFactory * This,
  921. /* [in] */ GUID *pguidRM,
  922. /* [string][in] */ CHAR *pszRMName,
  923. /* [in] */ IResourceManagerSink *pIResMgrSink,
  924. /* [out] */ IResourceManager **ppResMgr);
  925. END_INTERFACE
  926. } IResourceManagerFactoryVtbl;
  927. interface IResourceManagerFactory
  928. {
  929. CONST_VTBL struct IResourceManagerFactoryVtbl *lpVtbl;
  930. };
  931. #ifdef COBJMACROS
  932. #define IResourceManagerFactory_QueryInterface(This,riid,ppvObject) \
  933. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  934. #define IResourceManagerFactory_AddRef(This) \
  935. (This)->lpVtbl -> AddRef(This)
  936. #define IResourceManagerFactory_Release(This) \
  937. (This)->lpVtbl -> Release(This)
  938. #define IResourceManagerFactory_Create(This,pguidRM,pszRMName,pIResMgrSink,ppResMgr) \
  939. (This)->lpVtbl -> Create(This,pguidRM,pszRMName,pIResMgrSink,ppResMgr)
  940. #endif /* COBJMACROS */
  941. #endif /* C style interface */
  942. HRESULT STDMETHODCALLTYPE IResourceManagerFactory_Create_Proxy(
  943. IResourceManagerFactory * This,
  944. /* [in] */ GUID *pguidRM,
  945. /* [string][in] */ CHAR *pszRMName,
  946. /* [in] */ IResourceManagerSink *pIResMgrSink,
  947. /* [out] */ IResourceManager **ppResMgr);
  948. void __RPC_STUB IResourceManagerFactory_Create_Stub(
  949. IRpcStubBuffer *This,
  950. IRpcChannelBuffer *_pRpcChannelBuffer,
  951. PRPC_MESSAGE _pRpcMessage,
  952. DWORD *_pdwStubPhase);
  953. #endif /* __IResourceManagerFactory_INTERFACE_DEFINED__ */
  954. #ifndef __IResourceManagerFactory2_INTERFACE_DEFINED__
  955. #define __IResourceManagerFactory2_INTERFACE_DEFINED__
  956. /* interface IResourceManagerFactory2 */
  957. /* [unique][object][uuid] */
  958. EXTERN_C const IID IID_IResourceManagerFactory2;
  959. #if defined(__cplusplus) && !defined(CINTERFACE)
  960. MIDL_INTERFACE("6B369C21-FBD2-11d1-8F47-00C04F8EE57D")
  961. IResourceManagerFactory2 : public IResourceManagerFactory
  962. {
  963. public:
  964. virtual HRESULT STDMETHODCALLTYPE CreateEx(
  965. /* [in] */ GUID *pguidRM,
  966. /* [string][in] */ CHAR *pszRMName,
  967. /* [in] */ IResourceManagerSink *pIResMgrSink,
  968. /* [in] */ REFIID riidRequested,
  969. /* [iid_is][out] */ void **ppvResMgr) = 0;
  970. };
  971. #else /* C style interface */
  972. typedef struct IResourceManagerFactory2Vtbl
  973. {
  974. BEGIN_INTERFACE
  975. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  976. IResourceManagerFactory2 * This,
  977. /* [in] */ REFIID riid,
  978. /* [iid_is][out] */ void **ppvObject);
  979. ULONG ( STDMETHODCALLTYPE *AddRef )(
  980. IResourceManagerFactory2 * This);
  981. ULONG ( STDMETHODCALLTYPE *Release )(
  982. IResourceManagerFactory2 * This);
  983. HRESULT ( STDMETHODCALLTYPE *Create )(
  984. IResourceManagerFactory2 * This,
  985. /* [in] */ GUID *pguidRM,
  986. /* [string][in] */ CHAR *pszRMName,
  987. /* [in] */ IResourceManagerSink *pIResMgrSink,
  988. /* [out] */ IResourceManager **ppResMgr);
  989. HRESULT ( STDMETHODCALLTYPE *CreateEx )(
  990. IResourceManagerFactory2 * This,
  991. /* [in] */ GUID *pguidRM,
  992. /* [string][in] */ CHAR *pszRMName,
  993. /* [in] */ IResourceManagerSink *pIResMgrSink,
  994. /* [in] */ REFIID riidRequested,
  995. /* [iid_is][out] */ void **ppvResMgr);
  996. END_INTERFACE
  997. } IResourceManagerFactory2Vtbl;
  998. interface IResourceManagerFactory2
  999. {
  1000. CONST_VTBL struct IResourceManagerFactory2Vtbl *lpVtbl;
  1001. };
  1002. #ifdef COBJMACROS
  1003. #define IResourceManagerFactory2_QueryInterface(This,riid,ppvObject) \
  1004. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1005. #define IResourceManagerFactory2_AddRef(This) \
  1006. (This)->lpVtbl -> AddRef(This)
  1007. #define IResourceManagerFactory2_Release(This) \
  1008. (This)->lpVtbl -> Release(This)
  1009. #define IResourceManagerFactory2_Create(This,pguidRM,pszRMName,pIResMgrSink,ppResMgr) \
  1010. (This)->lpVtbl -> Create(This,pguidRM,pszRMName,pIResMgrSink,ppResMgr)
  1011. #define IResourceManagerFactory2_CreateEx(This,pguidRM,pszRMName,pIResMgrSink,riidRequested,ppvResMgr) \
  1012. (This)->lpVtbl -> CreateEx(This,pguidRM,pszRMName,pIResMgrSink,riidRequested,ppvResMgr)
  1013. #endif /* COBJMACROS */
  1014. #endif /* C style interface */
  1015. HRESULT STDMETHODCALLTYPE IResourceManagerFactory2_CreateEx_Proxy(
  1016. IResourceManagerFactory2 * This,
  1017. /* [in] */ GUID *pguidRM,
  1018. /* [string][in] */ CHAR *pszRMName,
  1019. /* [in] */ IResourceManagerSink *pIResMgrSink,
  1020. /* [in] */ REFIID riidRequested,
  1021. /* [iid_is][out] */ void **ppvResMgr);
  1022. void __RPC_STUB IResourceManagerFactory2_CreateEx_Stub(
  1023. IRpcStubBuffer *This,
  1024. IRpcChannelBuffer *_pRpcChannelBuffer,
  1025. PRPC_MESSAGE _pRpcMessage,
  1026. DWORD *_pdwStubPhase);
  1027. #endif /* __IResourceManagerFactory2_INTERFACE_DEFINED__ */
  1028. #ifndef __IPrepareInfo_INTERFACE_DEFINED__
  1029. #define __IPrepareInfo_INTERFACE_DEFINED__
  1030. /* interface IPrepareInfo */
  1031. /* [local][unique][object][uuid] */
  1032. EXTERN_C const IID IID_IPrepareInfo;
  1033. #if defined(__cplusplus) && !defined(CINTERFACE)
  1034. MIDL_INTERFACE("80c7bfd0-87ee-11ce-8081-0080c758527e")
  1035. IPrepareInfo : public IUnknown
  1036. {
  1037. public:
  1038. virtual HRESULT STDMETHODCALLTYPE GetPrepareInfoSize(
  1039. /* [out] */ ULONG *pcbPrepInfo) = 0;
  1040. virtual HRESULT STDMETHODCALLTYPE GetPrepareInfo(
  1041. /* [out] */ byte *pPrepInfo) = 0;
  1042. };
  1043. #else /* C style interface */
  1044. typedef struct IPrepareInfoVtbl
  1045. {
  1046. BEGIN_INTERFACE
  1047. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1048. IPrepareInfo * This,
  1049. /* [in] */ REFIID riid,
  1050. /* [iid_is][out] */ void **ppvObject);
  1051. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1052. IPrepareInfo * This);
  1053. ULONG ( STDMETHODCALLTYPE *Release )(
  1054. IPrepareInfo * This);
  1055. HRESULT ( STDMETHODCALLTYPE *GetPrepareInfoSize )(
  1056. IPrepareInfo * This,
  1057. /* [out] */ ULONG *pcbPrepInfo);
  1058. HRESULT ( STDMETHODCALLTYPE *GetPrepareInfo )(
  1059. IPrepareInfo * This,
  1060. /* [out] */ byte *pPrepInfo);
  1061. END_INTERFACE
  1062. } IPrepareInfoVtbl;
  1063. interface IPrepareInfo
  1064. {
  1065. CONST_VTBL struct IPrepareInfoVtbl *lpVtbl;
  1066. };
  1067. #ifdef COBJMACROS
  1068. #define IPrepareInfo_QueryInterface(This,riid,ppvObject) \
  1069. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1070. #define IPrepareInfo_AddRef(This) \
  1071. (This)->lpVtbl -> AddRef(This)
  1072. #define IPrepareInfo_Release(This) \
  1073. (This)->lpVtbl -> Release(This)
  1074. #define IPrepareInfo_GetPrepareInfoSize(This,pcbPrepInfo) \
  1075. (This)->lpVtbl -> GetPrepareInfoSize(This,pcbPrepInfo)
  1076. #define IPrepareInfo_GetPrepareInfo(This,pPrepInfo) \
  1077. (This)->lpVtbl -> GetPrepareInfo(This,pPrepInfo)
  1078. #endif /* COBJMACROS */
  1079. #endif /* C style interface */
  1080. HRESULT STDMETHODCALLTYPE IPrepareInfo_GetPrepareInfoSize_Proxy(
  1081. IPrepareInfo * This,
  1082. /* [out] */ ULONG *pcbPrepInfo);
  1083. void __RPC_STUB IPrepareInfo_GetPrepareInfoSize_Stub(
  1084. IRpcStubBuffer *This,
  1085. IRpcChannelBuffer *_pRpcChannelBuffer,
  1086. PRPC_MESSAGE _pRpcMessage,
  1087. DWORD *_pdwStubPhase);
  1088. HRESULT STDMETHODCALLTYPE IPrepareInfo_GetPrepareInfo_Proxy(
  1089. IPrepareInfo * This,
  1090. /* [out] */ byte *pPrepInfo);
  1091. void __RPC_STUB IPrepareInfo_GetPrepareInfo_Stub(
  1092. IRpcStubBuffer *This,
  1093. IRpcChannelBuffer *_pRpcChannelBuffer,
  1094. PRPC_MESSAGE _pRpcMessage,
  1095. DWORD *_pdwStubPhase);
  1096. #endif /* __IPrepareInfo_INTERFACE_DEFINED__ */
  1097. #ifndef __IPrepareInfo2_INTERFACE_DEFINED__
  1098. #define __IPrepareInfo2_INTERFACE_DEFINED__
  1099. /* interface IPrepareInfo2 */
  1100. /* [unique][object][uuid] */
  1101. EXTERN_C const IID IID_IPrepareInfo2;
  1102. #if defined(__cplusplus) && !defined(CINTERFACE)
  1103. MIDL_INTERFACE("5FAB2547-9779-11d1-B886-00C04FB9618A")
  1104. IPrepareInfo2 : public IUnknown
  1105. {
  1106. public:
  1107. virtual HRESULT STDMETHODCALLTYPE GetPrepareInfoSize(
  1108. /* [out] */ ULONG *pcbPrepInfo) = 0;
  1109. virtual HRESULT STDMETHODCALLTYPE GetPrepareInfo(
  1110. /* [in] */ ULONG cbPrepareInfo,
  1111. /* [size_is][out] */ byte *pPrepInfo) = 0;
  1112. };
  1113. #else /* C style interface */
  1114. typedef struct IPrepareInfo2Vtbl
  1115. {
  1116. BEGIN_INTERFACE
  1117. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1118. IPrepareInfo2 * This,
  1119. /* [in] */ REFIID riid,
  1120. /* [iid_is][out] */ void **ppvObject);
  1121. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1122. IPrepareInfo2 * This);
  1123. ULONG ( STDMETHODCALLTYPE *Release )(
  1124. IPrepareInfo2 * This);
  1125. HRESULT ( STDMETHODCALLTYPE *GetPrepareInfoSize )(
  1126. IPrepareInfo2 * This,
  1127. /* [out] */ ULONG *pcbPrepInfo);
  1128. HRESULT ( STDMETHODCALLTYPE *GetPrepareInfo )(
  1129. IPrepareInfo2 * This,
  1130. /* [in] */ ULONG cbPrepareInfo,
  1131. /* [size_is][out] */ byte *pPrepInfo);
  1132. END_INTERFACE
  1133. } IPrepareInfo2Vtbl;
  1134. interface IPrepareInfo2
  1135. {
  1136. CONST_VTBL struct IPrepareInfo2Vtbl *lpVtbl;
  1137. };
  1138. #ifdef COBJMACROS
  1139. #define IPrepareInfo2_QueryInterface(This,riid,ppvObject) \
  1140. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1141. #define IPrepareInfo2_AddRef(This) \
  1142. (This)->lpVtbl -> AddRef(This)
  1143. #define IPrepareInfo2_Release(This) \
  1144. (This)->lpVtbl -> Release(This)
  1145. #define IPrepareInfo2_GetPrepareInfoSize(This,pcbPrepInfo) \
  1146. (This)->lpVtbl -> GetPrepareInfoSize(This,pcbPrepInfo)
  1147. #define IPrepareInfo2_GetPrepareInfo(This,cbPrepareInfo,pPrepInfo) \
  1148. (This)->lpVtbl -> GetPrepareInfo(This,cbPrepareInfo,pPrepInfo)
  1149. #endif /* COBJMACROS */
  1150. #endif /* C style interface */
  1151. HRESULT STDMETHODCALLTYPE IPrepareInfo2_GetPrepareInfoSize_Proxy(
  1152. IPrepareInfo2 * This,
  1153. /* [out] */ ULONG *pcbPrepInfo);
  1154. void __RPC_STUB IPrepareInfo2_GetPrepareInfoSize_Stub(
  1155. IRpcStubBuffer *This,
  1156. IRpcChannelBuffer *_pRpcChannelBuffer,
  1157. PRPC_MESSAGE _pRpcMessage,
  1158. DWORD *_pdwStubPhase);
  1159. HRESULT STDMETHODCALLTYPE IPrepareInfo2_GetPrepareInfo_Proxy(
  1160. IPrepareInfo2 * This,
  1161. /* [in] */ ULONG cbPrepareInfo,
  1162. /* [size_is][out] */ byte *pPrepInfo);
  1163. void __RPC_STUB IPrepareInfo2_GetPrepareInfo_Stub(
  1164. IRpcStubBuffer *This,
  1165. IRpcChannelBuffer *_pRpcChannelBuffer,
  1166. PRPC_MESSAGE _pRpcMessage,
  1167. DWORD *_pdwStubPhase);
  1168. #endif /* __IPrepareInfo2_INTERFACE_DEFINED__ */
  1169. #ifndef __IGetDispenser_INTERFACE_DEFINED__
  1170. #define __IGetDispenser_INTERFACE_DEFINED__
  1171. /* interface IGetDispenser */
  1172. /* [unique][object][uuid] */
  1173. EXTERN_C const IID IID_IGetDispenser;
  1174. #if defined(__cplusplus) && !defined(CINTERFACE)
  1175. MIDL_INTERFACE("c23cc370-87ef-11ce-8081-0080c758527e")
  1176. IGetDispenser : public IUnknown
  1177. {
  1178. public:
  1179. virtual HRESULT STDMETHODCALLTYPE GetDispenser(
  1180. /* [in] */ REFIID iid,
  1181. /* [iid_is][out] */ void **ppvObject) = 0;
  1182. };
  1183. #else /* C style interface */
  1184. typedef struct IGetDispenserVtbl
  1185. {
  1186. BEGIN_INTERFACE
  1187. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1188. IGetDispenser * This,
  1189. /* [in] */ REFIID riid,
  1190. /* [iid_is][out] */ void **ppvObject);
  1191. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1192. IGetDispenser * This);
  1193. ULONG ( STDMETHODCALLTYPE *Release )(
  1194. IGetDispenser * This);
  1195. HRESULT ( STDMETHODCALLTYPE *GetDispenser )(
  1196. IGetDispenser * This,
  1197. /* [in] */ REFIID iid,
  1198. /* [iid_is][out] */ void **ppvObject);
  1199. END_INTERFACE
  1200. } IGetDispenserVtbl;
  1201. interface IGetDispenser
  1202. {
  1203. CONST_VTBL struct IGetDispenserVtbl *lpVtbl;
  1204. };
  1205. #ifdef COBJMACROS
  1206. #define IGetDispenser_QueryInterface(This,riid,ppvObject) \
  1207. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1208. #define IGetDispenser_AddRef(This) \
  1209. (This)->lpVtbl -> AddRef(This)
  1210. #define IGetDispenser_Release(This) \
  1211. (This)->lpVtbl -> Release(This)
  1212. #define IGetDispenser_GetDispenser(This,iid,ppvObject) \
  1213. (This)->lpVtbl -> GetDispenser(This,iid,ppvObject)
  1214. #endif /* COBJMACROS */
  1215. #endif /* C style interface */
  1216. HRESULT STDMETHODCALLTYPE IGetDispenser_GetDispenser_Proxy(
  1217. IGetDispenser * This,
  1218. /* [in] */ REFIID iid,
  1219. /* [iid_is][out] */ void **ppvObject);
  1220. void __RPC_STUB IGetDispenser_GetDispenser_Stub(
  1221. IRpcStubBuffer *This,
  1222. IRpcChannelBuffer *_pRpcChannelBuffer,
  1223. PRPC_MESSAGE _pRpcMessage,
  1224. DWORD *_pdwStubPhase);
  1225. #endif /* __IGetDispenser_INTERFACE_DEFINED__ */
  1226. #ifndef __ITransactionVoterBallotAsync2_INTERFACE_DEFINED__
  1227. #define __ITransactionVoterBallotAsync2_INTERFACE_DEFINED__
  1228. /* interface ITransactionVoterBallotAsync2 */
  1229. /* [unique][object][uuid] */
  1230. EXTERN_C const IID IID_ITransactionVoterBallotAsync2;
  1231. #if defined(__cplusplus) && !defined(CINTERFACE)
  1232. MIDL_INTERFACE("5433376C-414D-11d3-B206-00C04FC2F3EF")
  1233. ITransactionVoterBallotAsync2 : public IUnknown
  1234. {
  1235. public:
  1236. virtual HRESULT STDMETHODCALLTYPE VoteRequestDone(
  1237. /* [in] */ HRESULT hr,
  1238. /* [unique][in] */ BOID *pboidReason) = 0;
  1239. };
  1240. #else /* C style interface */
  1241. typedef struct ITransactionVoterBallotAsync2Vtbl
  1242. {
  1243. BEGIN_INTERFACE
  1244. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1245. ITransactionVoterBallotAsync2 * This,
  1246. /* [in] */ REFIID riid,
  1247. /* [iid_is][out] */ void **ppvObject);
  1248. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1249. ITransactionVoterBallotAsync2 * This);
  1250. ULONG ( STDMETHODCALLTYPE *Release )(
  1251. ITransactionVoterBallotAsync2 * This);
  1252. HRESULT ( STDMETHODCALLTYPE *VoteRequestDone )(
  1253. ITransactionVoterBallotAsync2 * This,
  1254. /* [in] */ HRESULT hr,
  1255. /* [unique][in] */ BOID *pboidReason);
  1256. END_INTERFACE
  1257. } ITransactionVoterBallotAsync2Vtbl;
  1258. interface ITransactionVoterBallotAsync2
  1259. {
  1260. CONST_VTBL struct ITransactionVoterBallotAsync2Vtbl *lpVtbl;
  1261. };
  1262. #ifdef COBJMACROS
  1263. #define ITransactionVoterBallotAsync2_QueryInterface(This,riid,ppvObject) \
  1264. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1265. #define ITransactionVoterBallotAsync2_AddRef(This) \
  1266. (This)->lpVtbl -> AddRef(This)
  1267. #define ITransactionVoterBallotAsync2_Release(This) \
  1268. (This)->lpVtbl -> Release(This)
  1269. #define ITransactionVoterBallotAsync2_VoteRequestDone(This,hr,pboidReason) \
  1270. (This)->lpVtbl -> VoteRequestDone(This,hr,pboidReason)
  1271. #endif /* COBJMACROS */
  1272. #endif /* C style interface */
  1273. HRESULT STDMETHODCALLTYPE ITransactionVoterBallotAsync2_VoteRequestDone_Proxy(
  1274. ITransactionVoterBallotAsync2 * This,
  1275. /* [in] */ HRESULT hr,
  1276. /* [unique][in] */ BOID *pboidReason);
  1277. void __RPC_STUB ITransactionVoterBallotAsync2_VoteRequestDone_Stub(
  1278. IRpcStubBuffer *This,
  1279. IRpcChannelBuffer *_pRpcChannelBuffer,
  1280. PRPC_MESSAGE _pRpcMessage,
  1281. DWORD *_pdwStubPhase);
  1282. #endif /* __ITransactionVoterBallotAsync2_INTERFACE_DEFINED__ */
  1283. #ifndef __ITransactionVoterNotifyAsync2_INTERFACE_DEFINED__
  1284. #define __ITransactionVoterNotifyAsync2_INTERFACE_DEFINED__
  1285. /* interface ITransactionVoterNotifyAsync2 */
  1286. /* [unique][object][uuid] */
  1287. EXTERN_C const IID IID_ITransactionVoterNotifyAsync2;
  1288. #if defined(__cplusplus) && !defined(CINTERFACE)
  1289. MIDL_INTERFACE("5433376B-414D-11d3-B206-00C04FC2F3EF")
  1290. ITransactionVoterNotifyAsync2 : public ITransactionOutcomeEvents
  1291. {
  1292. public:
  1293. virtual HRESULT STDMETHODCALLTYPE VoteRequest( void) = 0;
  1294. };
  1295. #else /* C style interface */
  1296. typedef struct ITransactionVoterNotifyAsync2Vtbl
  1297. {
  1298. BEGIN_INTERFACE
  1299. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1300. ITransactionVoterNotifyAsync2 * This,
  1301. /* [in] */ REFIID riid,
  1302. /* [iid_is][out] */ void **ppvObject);
  1303. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1304. ITransactionVoterNotifyAsync2 * This);
  1305. ULONG ( STDMETHODCALLTYPE *Release )(
  1306. ITransactionVoterNotifyAsync2 * This);
  1307. HRESULT ( STDMETHODCALLTYPE *Committed )(
  1308. ITransactionVoterNotifyAsync2 * This,
  1309. /* [in] */ BOOL fRetaining,
  1310. /* [unique][in] */ XACTUOW *pNewUOW,
  1311. /* [in] */ HRESULT hr);
  1312. HRESULT ( STDMETHODCALLTYPE *Aborted )(
  1313. ITransactionVoterNotifyAsync2 * This,
  1314. /* [unique][in] */ BOID *pboidReason,
  1315. /* [in] */ BOOL fRetaining,
  1316. /* [unique][in] */ XACTUOW *pNewUOW,
  1317. /* [in] */ HRESULT hr);
  1318. HRESULT ( STDMETHODCALLTYPE *HeuristicDecision )(
  1319. ITransactionVoterNotifyAsync2 * This,
  1320. /* [in] */ DWORD dwDecision,
  1321. /* [unique][in] */ BOID *pboidReason,
  1322. /* [in] */ HRESULT hr);
  1323. HRESULT ( STDMETHODCALLTYPE *Indoubt )(
  1324. ITransactionVoterNotifyAsync2 * This);
  1325. HRESULT ( STDMETHODCALLTYPE *VoteRequest )(
  1326. ITransactionVoterNotifyAsync2 * This);
  1327. END_INTERFACE
  1328. } ITransactionVoterNotifyAsync2Vtbl;
  1329. interface ITransactionVoterNotifyAsync2
  1330. {
  1331. CONST_VTBL struct ITransactionVoterNotifyAsync2Vtbl *lpVtbl;
  1332. };
  1333. #ifdef COBJMACROS
  1334. #define ITransactionVoterNotifyAsync2_QueryInterface(This,riid,ppvObject) \
  1335. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1336. #define ITransactionVoterNotifyAsync2_AddRef(This) \
  1337. (This)->lpVtbl -> AddRef(This)
  1338. #define ITransactionVoterNotifyAsync2_Release(This) \
  1339. (This)->lpVtbl -> Release(This)
  1340. #define ITransactionVoterNotifyAsync2_Committed(This,fRetaining,pNewUOW,hr) \
  1341. (This)->lpVtbl -> Committed(This,fRetaining,pNewUOW,hr)
  1342. #define ITransactionVoterNotifyAsync2_Aborted(This,pboidReason,fRetaining,pNewUOW,hr) \
  1343. (This)->lpVtbl -> Aborted(This,pboidReason,fRetaining,pNewUOW,hr)
  1344. #define ITransactionVoterNotifyAsync2_HeuristicDecision(This,dwDecision,pboidReason,hr) \
  1345. (This)->lpVtbl -> HeuristicDecision(This,dwDecision,pboidReason,hr)
  1346. #define ITransactionVoterNotifyAsync2_Indoubt(This) \
  1347. (This)->lpVtbl -> Indoubt(This)
  1348. #define ITransactionVoterNotifyAsync2_VoteRequest(This) \
  1349. (This)->lpVtbl -> VoteRequest(This)
  1350. #endif /* COBJMACROS */
  1351. #endif /* C style interface */
  1352. HRESULT STDMETHODCALLTYPE ITransactionVoterNotifyAsync2_VoteRequest_Proxy(
  1353. ITransactionVoterNotifyAsync2 * This);
  1354. void __RPC_STUB ITransactionVoterNotifyAsync2_VoteRequest_Stub(
  1355. IRpcStubBuffer *This,
  1356. IRpcChannelBuffer *_pRpcChannelBuffer,
  1357. PRPC_MESSAGE _pRpcMessage,
  1358. DWORD *_pdwStubPhase);
  1359. #endif /* __ITransactionVoterNotifyAsync2_INTERFACE_DEFINED__ */
  1360. #ifndef __ITransactionVoterFactory2_INTERFACE_DEFINED__
  1361. #define __ITransactionVoterFactory2_INTERFACE_DEFINED__
  1362. /* interface ITransactionVoterFactory2 */
  1363. /* [unique][object][uuid] */
  1364. EXTERN_C const IID IID_ITransactionVoterFactory2;
  1365. #if defined(__cplusplus) && !defined(CINTERFACE)
  1366. MIDL_INTERFACE("5433376A-414D-11d3-B206-00C04FC2F3EF")
  1367. ITransactionVoterFactory2 : public IUnknown
  1368. {
  1369. public:
  1370. virtual HRESULT STDMETHODCALLTYPE Create(
  1371. /* [in] */ ITransaction *pTransaction,
  1372. /* [in] */ ITransactionVoterNotifyAsync2 *pVoterNotify,
  1373. /* [out] */ ITransactionVoterBallotAsync2 **ppVoterBallot) = 0;
  1374. };
  1375. #else /* C style interface */
  1376. typedef struct ITransactionVoterFactory2Vtbl
  1377. {
  1378. BEGIN_INTERFACE
  1379. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1380. ITransactionVoterFactory2 * This,
  1381. /* [in] */ REFIID riid,
  1382. /* [iid_is][out] */ void **ppvObject);
  1383. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1384. ITransactionVoterFactory2 * This);
  1385. ULONG ( STDMETHODCALLTYPE *Release )(
  1386. ITransactionVoterFactory2 * This);
  1387. HRESULT ( STDMETHODCALLTYPE *Create )(
  1388. ITransactionVoterFactory2 * This,
  1389. /* [in] */ ITransaction *pTransaction,
  1390. /* [in] */ ITransactionVoterNotifyAsync2 *pVoterNotify,
  1391. /* [out] */ ITransactionVoterBallotAsync2 **ppVoterBallot);
  1392. END_INTERFACE
  1393. } ITransactionVoterFactory2Vtbl;
  1394. interface ITransactionVoterFactory2
  1395. {
  1396. CONST_VTBL struct ITransactionVoterFactory2Vtbl *lpVtbl;
  1397. };
  1398. #ifdef COBJMACROS
  1399. #define ITransactionVoterFactory2_QueryInterface(This,riid,ppvObject) \
  1400. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1401. #define ITransactionVoterFactory2_AddRef(This) \
  1402. (This)->lpVtbl -> AddRef(This)
  1403. #define ITransactionVoterFactory2_Release(This) \
  1404. (This)->lpVtbl -> Release(This)
  1405. #define ITransactionVoterFactory2_Create(This,pTransaction,pVoterNotify,ppVoterBallot) \
  1406. (This)->lpVtbl -> Create(This,pTransaction,pVoterNotify,ppVoterBallot)
  1407. #endif /* COBJMACROS */
  1408. #endif /* C style interface */
  1409. HRESULT STDMETHODCALLTYPE ITransactionVoterFactory2_Create_Proxy(
  1410. ITransactionVoterFactory2 * This,
  1411. /* [in] */ ITransaction *pTransaction,
  1412. /* [in] */ ITransactionVoterNotifyAsync2 *pVoterNotify,
  1413. /* [out] */ ITransactionVoterBallotAsync2 **ppVoterBallot);
  1414. void __RPC_STUB ITransactionVoterFactory2_Create_Stub(
  1415. IRpcStubBuffer *This,
  1416. IRpcChannelBuffer *_pRpcChannelBuffer,
  1417. PRPC_MESSAGE _pRpcMessage,
  1418. DWORD *_pdwStubPhase);
  1419. #endif /* __ITransactionVoterFactory2_INTERFACE_DEFINED__ */
  1420. #ifndef __ITransactionPhase0EnlistmentAsync_INTERFACE_DEFINED__
  1421. #define __ITransactionPhase0EnlistmentAsync_INTERFACE_DEFINED__
  1422. /* interface ITransactionPhase0EnlistmentAsync */
  1423. /* [unique][object][uuid] */
  1424. EXTERN_C const IID IID_ITransactionPhase0EnlistmentAsync;
  1425. #if defined(__cplusplus) && !defined(CINTERFACE)
  1426. MIDL_INTERFACE("82DC88E1-A954-11d1-8F88-00600895E7D5")
  1427. ITransactionPhase0EnlistmentAsync : public IUnknown
  1428. {
  1429. public:
  1430. virtual HRESULT STDMETHODCALLTYPE Enable( void) = 0;
  1431. virtual HRESULT STDMETHODCALLTYPE WaitForEnlistment( void) = 0;
  1432. virtual HRESULT STDMETHODCALLTYPE Phase0Done( void) = 0;
  1433. virtual HRESULT STDMETHODCALLTYPE Unenlist( void) = 0;
  1434. virtual HRESULT STDMETHODCALLTYPE GetTransaction(
  1435. /* [out] */ ITransaction **ppITransaction) = 0;
  1436. };
  1437. #else /* C style interface */
  1438. typedef struct ITransactionPhase0EnlistmentAsyncVtbl
  1439. {
  1440. BEGIN_INTERFACE
  1441. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1442. ITransactionPhase0EnlistmentAsync * This,
  1443. /* [in] */ REFIID riid,
  1444. /* [iid_is][out] */ void **ppvObject);
  1445. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1446. ITransactionPhase0EnlistmentAsync * This);
  1447. ULONG ( STDMETHODCALLTYPE *Release )(
  1448. ITransactionPhase0EnlistmentAsync * This);
  1449. HRESULT ( STDMETHODCALLTYPE *Enable )(
  1450. ITransactionPhase0EnlistmentAsync * This);
  1451. HRESULT ( STDMETHODCALLTYPE *WaitForEnlistment )(
  1452. ITransactionPhase0EnlistmentAsync * This);
  1453. HRESULT ( STDMETHODCALLTYPE *Phase0Done )(
  1454. ITransactionPhase0EnlistmentAsync * This);
  1455. HRESULT ( STDMETHODCALLTYPE *Unenlist )(
  1456. ITransactionPhase0EnlistmentAsync * This);
  1457. HRESULT ( STDMETHODCALLTYPE *GetTransaction )(
  1458. ITransactionPhase0EnlistmentAsync * This,
  1459. /* [out] */ ITransaction **ppITransaction);
  1460. END_INTERFACE
  1461. } ITransactionPhase0EnlistmentAsyncVtbl;
  1462. interface ITransactionPhase0EnlistmentAsync
  1463. {
  1464. CONST_VTBL struct ITransactionPhase0EnlistmentAsyncVtbl *lpVtbl;
  1465. };
  1466. #ifdef COBJMACROS
  1467. #define ITransactionPhase0EnlistmentAsync_QueryInterface(This,riid,ppvObject) \
  1468. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1469. #define ITransactionPhase0EnlistmentAsync_AddRef(This) \
  1470. (This)->lpVtbl -> AddRef(This)
  1471. #define ITransactionPhase0EnlistmentAsync_Release(This) \
  1472. (This)->lpVtbl -> Release(This)
  1473. #define ITransactionPhase0EnlistmentAsync_Enable(This) \
  1474. (This)->lpVtbl -> Enable(This)
  1475. #define ITransactionPhase0EnlistmentAsync_WaitForEnlistment(This) \
  1476. (This)->lpVtbl -> WaitForEnlistment(This)
  1477. #define ITransactionPhase0EnlistmentAsync_Phase0Done(This) \
  1478. (This)->lpVtbl -> Phase0Done(This)
  1479. #define ITransactionPhase0EnlistmentAsync_Unenlist(This) \
  1480. (This)->lpVtbl -> Unenlist(This)
  1481. #define ITransactionPhase0EnlistmentAsync_GetTransaction(This,ppITransaction) \
  1482. (This)->lpVtbl -> GetTransaction(This,ppITransaction)
  1483. #endif /* COBJMACROS */
  1484. #endif /* C style interface */
  1485. HRESULT STDMETHODCALLTYPE ITransactionPhase0EnlistmentAsync_Enable_Proxy(
  1486. ITransactionPhase0EnlistmentAsync * This);
  1487. void __RPC_STUB ITransactionPhase0EnlistmentAsync_Enable_Stub(
  1488. IRpcStubBuffer *This,
  1489. IRpcChannelBuffer *_pRpcChannelBuffer,
  1490. PRPC_MESSAGE _pRpcMessage,
  1491. DWORD *_pdwStubPhase);
  1492. HRESULT STDMETHODCALLTYPE ITransactionPhase0EnlistmentAsync_WaitForEnlistment_Proxy(
  1493. ITransactionPhase0EnlistmentAsync * This);
  1494. void __RPC_STUB ITransactionPhase0EnlistmentAsync_WaitForEnlistment_Stub(
  1495. IRpcStubBuffer *This,
  1496. IRpcChannelBuffer *_pRpcChannelBuffer,
  1497. PRPC_MESSAGE _pRpcMessage,
  1498. DWORD *_pdwStubPhase);
  1499. HRESULT STDMETHODCALLTYPE ITransactionPhase0EnlistmentAsync_Phase0Done_Proxy(
  1500. ITransactionPhase0EnlistmentAsync * This);
  1501. void __RPC_STUB ITransactionPhase0EnlistmentAsync_Phase0Done_Stub(
  1502. IRpcStubBuffer *This,
  1503. IRpcChannelBuffer *_pRpcChannelBuffer,
  1504. PRPC_MESSAGE _pRpcMessage,
  1505. DWORD *_pdwStubPhase);
  1506. HRESULT STDMETHODCALLTYPE ITransactionPhase0EnlistmentAsync_Unenlist_Proxy(
  1507. ITransactionPhase0EnlistmentAsync * This);
  1508. void __RPC_STUB ITransactionPhase0EnlistmentAsync_Unenlist_Stub(
  1509. IRpcStubBuffer *This,
  1510. IRpcChannelBuffer *_pRpcChannelBuffer,
  1511. PRPC_MESSAGE _pRpcMessage,
  1512. DWORD *_pdwStubPhase);
  1513. HRESULT STDMETHODCALLTYPE ITransactionPhase0EnlistmentAsync_GetTransaction_Proxy(
  1514. ITransactionPhase0EnlistmentAsync * This,
  1515. /* [out] */ ITransaction **ppITransaction);
  1516. void __RPC_STUB ITransactionPhase0EnlistmentAsync_GetTransaction_Stub(
  1517. IRpcStubBuffer *This,
  1518. IRpcChannelBuffer *_pRpcChannelBuffer,
  1519. PRPC_MESSAGE _pRpcMessage,
  1520. DWORD *_pdwStubPhase);
  1521. #endif /* __ITransactionPhase0EnlistmentAsync_INTERFACE_DEFINED__ */
  1522. #ifndef __ITransactionPhase0NotifyAsync_INTERFACE_DEFINED__
  1523. #define __ITransactionPhase0NotifyAsync_INTERFACE_DEFINED__
  1524. /* interface ITransactionPhase0NotifyAsync */
  1525. /* [unique][object][uuid] */
  1526. EXTERN_C const IID IID_ITransactionPhase0NotifyAsync;
  1527. #if defined(__cplusplus) && !defined(CINTERFACE)
  1528. MIDL_INTERFACE("EF081809-0C76-11d2-87A6-00C04F990F34")
  1529. ITransactionPhase0NotifyAsync : public IUnknown
  1530. {
  1531. public:
  1532. virtual HRESULT STDMETHODCALLTYPE Phase0Request(
  1533. BOOL fAbortingHint) = 0;
  1534. virtual HRESULT STDMETHODCALLTYPE EnlistCompleted(
  1535. /* [in] */ HRESULT status) = 0;
  1536. };
  1537. #else /* C style interface */
  1538. typedef struct ITransactionPhase0NotifyAsyncVtbl
  1539. {
  1540. BEGIN_INTERFACE
  1541. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1542. ITransactionPhase0NotifyAsync * This,
  1543. /* [in] */ REFIID riid,
  1544. /* [iid_is][out] */ void **ppvObject);
  1545. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1546. ITransactionPhase0NotifyAsync * This);
  1547. ULONG ( STDMETHODCALLTYPE *Release )(
  1548. ITransactionPhase0NotifyAsync * This);
  1549. HRESULT ( STDMETHODCALLTYPE *Phase0Request )(
  1550. ITransactionPhase0NotifyAsync * This,
  1551. BOOL fAbortingHint);
  1552. HRESULT ( STDMETHODCALLTYPE *EnlistCompleted )(
  1553. ITransactionPhase0NotifyAsync * This,
  1554. /* [in] */ HRESULT status);
  1555. END_INTERFACE
  1556. } ITransactionPhase0NotifyAsyncVtbl;
  1557. interface ITransactionPhase0NotifyAsync
  1558. {
  1559. CONST_VTBL struct ITransactionPhase0NotifyAsyncVtbl *lpVtbl;
  1560. };
  1561. #ifdef COBJMACROS
  1562. #define ITransactionPhase0NotifyAsync_QueryInterface(This,riid,ppvObject) \
  1563. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1564. #define ITransactionPhase0NotifyAsync_AddRef(This) \
  1565. (This)->lpVtbl -> AddRef(This)
  1566. #define ITransactionPhase0NotifyAsync_Release(This) \
  1567. (This)->lpVtbl -> Release(This)
  1568. #define ITransactionPhase0NotifyAsync_Phase0Request(This,fAbortingHint) \
  1569. (This)->lpVtbl -> Phase0Request(This,fAbortingHint)
  1570. #define ITransactionPhase0NotifyAsync_EnlistCompleted(This,status) \
  1571. (This)->lpVtbl -> EnlistCompleted(This,status)
  1572. #endif /* COBJMACROS */
  1573. #endif /* C style interface */
  1574. HRESULT STDMETHODCALLTYPE ITransactionPhase0NotifyAsync_Phase0Request_Proxy(
  1575. ITransactionPhase0NotifyAsync * This,
  1576. BOOL fAbortingHint);
  1577. void __RPC_STUB ITransactionPhase0NotifyAsync_Phase0Request_Stub(
  1578. IRpcStubBuffer *This,
  1579. IRpcChannelBuffer *_pRpcChannelBuffer,
  1580. PRPC_MESSAGE _pRpcMessage,
  1581. DWORD *_pdwStubPhase);
  1582. HRESULT STDMETHODCALLTYPE ITransactionPhase0NotifyAsync_EnlistCompleted_Proxy(
  1583. ITransactionPhase0NotifyAsync * This,
  1584. /* [in] */ HRESULT status);
  1585. void __RPC_STUB ITransactionPhase0NotifyAsync_EnlistCompleted_Stub(
  1586. IRpcStubBuffer *This,
  1587. IRpcChannelBuffer *_pRpcChannelBuffer,
  1588. PRPC_MESSAGE _pRpcMessage,
  1589. DWORD *_pdwStubPhase);
  1590. #endif /* __ITransactionPhase0NotifyAsync_INTERFACE_DEFINED__ */
  1591. #ifndef __ITransactionPhase0Factory_INTERFACE_DEFINED__
  1592. #define __ITransactionPhase0Factory_INTERFACE_DEFINED__
  1593. /* interface ITransactionPhase0Factory */
  1594. /* [unique][object][uuid] */
  1595. EXTERN_C const IID IID_ITransactionPhase0Factory;
  1596. #if defined(__cplusplus) && !defined(CINTERFACE)
  1597. MIDL_INTERFACE("82DC88E0-A954-11d1-8F88-00600895E7D5")
  1598. ITransactionPhase0Factory : public IUnknown
  1599. {
  1600. public:
  1601. virtual HRESULT STDMETHODCALLTYPE Create(
  1602. /* [in] */ ITransactionPhase0NotifyAsync *pPhase0Notify,
  1603. /* [out] */ ITransactionPhase0EnlistmentAsync **ppPhase0Enlistment) = 0;
  1604. };
  1605. #else /* C style interface */
  1606. typedef struct ITransactionPhase0FactoryVtbl
  1607. {
  1608. BEGIN_INTERFACE
  1609. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1610. ITransactionPhase0Factory * This,
  1611. /* [in] */ REFIID riid,
  1612. /* [iid_is][out] */ void **ppvObject);
  1613. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1614. ITransactionPhase0Factory * This);
  1615. ULONG ( STDMETHODCALLTYPE *Release )(
  1616. ITransactionPhase0Factory * This);
  1617. HRESULT ( STDMETHODCALLTYPE *Create )(
  1618. ITransactionPhase0Factory * This,
  1619. /* [in] */ ITransactionPhase0NotifyAsync *pPhase0Notify,
  1620. /* [out] */ ITransactionPhase0EnlistmentAsync **ppPhase0Enlistment);
  1621. END_INTERFACE
  1622. } ITransactionPhase0FactoryVtbl;
  1623. interface ITransactionPhase0Factory
  1624. {
  1625. CONST_VTBL struct ITransactionPhase0FactoryVtbl *lpVtbl;
  1626. };
  1627. #ifdef COBJMACROS
  1628. #define ITransactionPhase0Factory_QueryInterface(This,riid,ppvObject) \
  1629. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1630. #define ITransactionPhase0Factory_AddRef(This) \
  1631. (This)->lpVtbl -> AddRef(This)
  1632. #define ITransactionPhase0Factory_Release(This) \
  1633. (This)->lpVtbl -> Release(This)
  1634. #define ITransactionPhase0Factory_Create(This,pPhase0Notify,ppPhase0Enlistment) \
  1635. (This)->lpVtbl -> Create(This,pPhase0Notify,ppPhase0Enlistment)
  1636. #endif /* COBJMACROS */
  1637. #endif /* C style interface */
  1638. HRESULT STDMETHODCALLTYPE ITransactionPhase0Factory_Create_Proxy(
  1639. ITransactionPhase0Factory * This,
  1640. /* [in] */ ITransactionPhase0NotifyAsync *pPhase0Notify,
  1641. /* [out] */ ITransactionPhase0EnlistmentAsync **ppPhase0Enlistment);
  1642. void __RPC_STUB ITransactionPhase0Factory_Create_Stub(
  1643. IRpcStubBuffer *This,
  1644. IRpcChannelBuffer *_pRpcChannelBuffer,
  1645. PRPC_MESSAGE _pRpcMessage,
  1646. DWORD *_pdwStubPhase);
  1647. #endif /* __ITransactionPhase0Factory_INTERFACE_DEFINED__ */
  1648. #ifndef __ITransactionTransmitter_INTERFACE_DEFINED__
  1649. #define __ITransactionTransmitter_INTERFACE_DEFINED__
  1650. /* interface ITransactionTransmitter */
  1651. /* [unique][object][uuid] */
  1652. EXTERN_C const IID IID_ITransactionTransmitter;
  1653. #if defined(__cplusplus) && !defined(CINTERFACE)
  1654. MIDL_INTERFACE("59313E01-B36C-11cf-A539-00AA006887C3")
  1655. ITransactionTransmitter : public IUnknown
  1656. {
  1657. public:
  1658. virtual HRESULT STDMETHODCALLTYPE Set(
  1659. /* [in] */ ITransaction *pTransaction) = 0;
  1660. virtual HRESULT STDMETHODCALLTYPE GetPropagationTokenSize(
  1661. /* [out] */ ULONG *pcbToken) = 0;
  1662. virtual HRESULT STDMETHODCALLTYPE MarshalPropagationToken(
  1663. /* [in] */ ULONG cbToken,
  1664. /* [size_is][out] */ byte *rgbToken,
  1665. /* [out] */ ULONG *pcbUsed) = 0;
  1666. virtual HRESULT STDMETHODCALLTYPE UnmarshalReturnToken(
  1667. /* [in] */ ULONG cbReturnToken,
  1668. /* [size_is][in] */ byte *rgbReturnToken) = 0;
  1669. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1670. };
  1671. #else /* C style interface */
  1672. typedef struct ITransactionTransmitterVtbl
  1673. {
  1674. BEGIN_INTERFACE
  1675. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1676. ITransactionTransmitter * This,
  1677. /* [in] */ REFIID riid,
  1678. /* [iid_is][out] */ void **ppvObject);
  1679. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1680. ITransactionTransmitter * This);
  1681. ULONG ( STDMETHODCALLTYPE *Release )(
  1682. ITransactionTransmitter * This);
  1683. HRESULT ( STDMETHODCALLTYPE *Set )(
  1684. ITransactionTransmitter * This,
  1685. /* [in] */ ITransaction *pTransaction);
  1686. HRESULT ( STDMETHODCALLTYPE *GetPropagationTokenSize )(
  1687. ITransactionTransmitter * This,
  1688. /* [out] */ ULONG *pcbToken);
  1689. HRESULT ( STDMETHODCALLTYPE *MarshalPropagationToken )(
  1690. ITransactionTransmitter * This,
  1691. /* [in] */ ULONG cbToken,
  1692. /* [size_is][out] */ byte *rgbToken,
  1693. /* [out] */ ULONG *pcbUsed);
  1694. HRESULT ( STDMETHODCALLTYPE *UnmarshalReturnToken )(
  1695. ITransactionTransmitter * This,
  1696. /* [in] */ ULONG cbReturnToken,
  1697. /* [size_is][in] */ byte *rgbReturnToken);
  1698. HRESULT ( STDMETHODCALLTYPE *Reset )(
  1699. ITransactionTransmitter * This);
  1700. END_INTERFACE
  1701. } ITransactionTransmitterVtbl;
  1702. interface ITransactionTransmitter
  1703. {
  1704. CONST_VTBL struct ITransactionTransmitterVtbl *lpVtbl;
  1705. };
  1706. #ifdef COBJMACROS
  1707. #define ITransactionTransmitter_QueryInterface(This,riid,ppvObject) \
  1708. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1709. #define ITransactionTransmitter_AddRef(This) \
  1710. (This)->lpVtbl -> AddRef(This)
  1711. #define ITransactionTransmitter_Release(This) \
  1712. (This)->lpVtbl -> Release(This)
  1713. #define ITransactionTransmitter_Set(This,pTransaction) \
  1714. (This)->lpVtbl -> Set(This,pTransaction)
  1715. #define ITransactionTransmitter_GetPropagationTokenSize(This,pcbToken) \
  1716. (This)->lpVtbl -> GetPropagationTokenSize(This,pcbToken)
  1717. #define ITransactionTransmitter_MarshalPropagationToken(This,cbToken,rgbToken,pcbUsed) \
  1718. (This)->lpVtbl -> MarshalPropagationToken(This,cbToken,rgbToken,pcbUsed)
  1719. #define ITransactionTransmitter_UnmarshalReturnToken(This,cbReturnToken,rgbReturnToken) \
  1720. (This)->lpVtbl -> UnmarshalReturnToken(This,cbReturnToken,rgbReturnToken)
  1721. #define ITransactionTransmitter_Reset(This) \
  1722. (This)->lpVtbl -> Reset(This)
  1723. #endif /* COBJMACROS */
  1724. #endif /* C style interface */
  1725. HRESULT STDMETHODCALLTYPE ITransactionTransmitter_Set_Proxy(
  1726. ITransactionTransmitter * This,
  1727. /* [in] */ ITransaction *pTransaction);
  1728. void __RPC_STUB ITransactionTransmitter_Set_Stub(
  1729. IRpcStubBuffer *This,
  1730. IRpcChannelBuffer *_pRpcChannelBuffer,
  1731. PRPC_MESSAGE _pRpcMessage,
  1732. DWORD *_pdwStubPhase);
  1733. HRESULT STDMETHODCALLTYPE ITransactionTransmitter_GetPropagationTokenSize_Proxy(
  1734. ITransactionTransmitter * This,
  1735. /* [out] */ ULONG *pcbToken);
  1736. void __RPC_STUB ITransactionTransmitter_GetPropagationTokenSize_Stub(
  1737. IRpcStubBuffer *This,
  1738. IRpcChannelBuffer *_pRpcChannelBuffer,
  1739. PRPC_MESSAGE _pRpcMessage,
  1740. DWORD *_pdwStubPhase);
  1741. HRESULT STDMETHODCALLTYPE ITransactionTransmitter_MarshalPropagationToken_Proxy(
  1742. ITransactionTransmitter * This,
  1743. /* [in] */ ULONG cbToken,
  1744. /* [size_is][out] */ byte *rgbToken,
  1745. /* [out] */ ULONG *pcbUsed);
  1746. void __RPC_STUB ITransactionTransmitter_MarshalPropagationToken_Stub(
  1747. IRpcStubBuffer *This,
  1748. IRpcChannelBuffer *_pRpcChannelBuffer,
  1749. PRPC_MESSAGE _pRpcMessage,
  1750. DWORD *_pdwStubPhase);
  1751. HRESULT STDMETHODCALLTYPE ITransactionTransmitter_UnmarshalReturnToken_Proxy(
  1752. ITransactionTransmitter * This,
  1753. /* [in] */ ULONG cbReturnToken,
  1754. /* [size_is][in] */ byte *rgbReturnToken);
  1755. void __RPC_STUB ITransactionTransmitter_UnmarshalReturnToken_Stub(
  1756. IRpcStubBuffer *This,
  1757. IRpcChannelBuffer *_pRpcChannelBuffer,
  1758. PRPC_MESSAGE _pRpcMessage,
  1759. DWORD *_pdwStubPhase);
  1760. HRESULT STDMETHODCALLTYPE ITransactionTransmitter_Reset_Proxy(
  1761. ITransactionTransmitter * This);
  1762. void __RPC_STUB ITransactionTransmitter_Reset_Stub(
  1763. IRpcStubBuffer *This,
  1764. IRpcChannelBuffer *_pRpcChannelBuffer,
  1765. PRPC_MESSAGE _pRpcMessage,
  1766. DWORD *_pdwStubPhase);
  1767. #endif /* __ITransactionTransmitter_INTERFACE_DEFINED__ */
  1768. #ifndef __ITransactionTransmitterFactory_INTERFACE_DEFINED__
  1769. #define __ITransactionTransmitterFactory_INTERFACE_DEFINED__
  1770. /* interface ITransactionTransmitterFactory */
  1771. /* [unique][object][uuid] */
  1772. EXTERN_C const IID IID_ITransactionTransmitterFactory;
  1773. #if defined(__cplusplus) && !defined(CINTERFACE)
  1774. MIDL_INTERFACE("59313E00-B36C-11cf-A539-00AA006887C3")
  1775. ITransactionTransmitterFactory : public IUnknown
  1776. {
  1777. public:
  1778. virtual HRESULT STDMETHODCALLTYPE Create(
  1779. /* [out] */ ITransactionTransmitter **ppTransmitter) = 0;
  1780. };
  1781. #else /* C style interface */
  1782. typedef struct ITransactionTransmitterFactoryVtbl
  1783. {
  1784. BEGIN_INTERFACE
  1785. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1786. ITransactionTransmitterFactory * This,
  1787. /* [in] */ REFIID riid,
  1788. /* [iid_is][out] */ void **ppvObject);
  1789. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1790. ITransactionTransmitterFactory * This);
  1791. ULONG ( STDMETHODCALLTYPE *Release )(
  1792. ITransactionTransmitterFactory * This);
  1793. HRESULT ( STDMETHODCALLTYPE *Create )(
  1794. ITransactionTransmitterFactory * This,
  1795. /* [out] */ ITransactionTransmitter **ppTransmitter);
  1796. END_INTERFACE
  1797. } ITransactionTransmitterFactoryVtbl;
  1798. interface ITransactionTransmitterFactory
  1799. {
  1800. CONST_VTBL struct ITransactionTransmitterFactoryVtbl *lpVtbl;
  1801. };
  1802. #ifdef COBJMACROS
  1803. #define ITransactionTransmitterFactory_QueryInterface(This,riid,ppvObject) \
  1804. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1805. #define ITransactionTransmitterFactory_AddRef(This) \
  1806. (This)->lpVtbl -> AddRef(This)
  1807. #define ITransactionTransmitterFactory_Release(This) \
  1808. (This)->lpVtbl -> Release(This)
  1809. #define ITransactionTransmitterFactory_Create(This,ppTransmitter) \
  1810. (This)->lpVtbl -> Create(This,ppTransmitter)
  1811. #endif /* COBJMACROS */
  1812. #endif /* C style interface */
  1813. HRESULT STDMETHODCALLTYPE ITransactionTransmitterFactory_Create_Proxy(
  1814. ITransactionTransmitterFactory * This,
  1815. /* [out] */ ITransactionTransmitter **ppTransmitter);
  1816. void __RPC_STUB ITransactionTransmitterFactory_Create_Stub(
  1817. IRpcStubBuffer *This,
  1818. IRpcChannelBuffer *_pRpcChannelBuffer,
  1819. PRPC_MESSAGE _pRpcMessage,
  1820. DWORD *_pdwStubPhase);
  1821. #endif /* __ITransactionTransmitterFactory_INTERFACE_DEFINED__ */
  1822. #ifndef __ITransactionReceiver_INTERFACE_DEFINED__
  1823. #define __ITransactionReceiver_INTERFACE_DEFINED__
  1824. /* interface ITransactionReceiver */
  1825. /* [unique][object][uuid] */
  1826. EXTERN_C const IID IID_ITransactionReceiver;
  1827. #if defined(__cplusplus) && !defined(CINTERFACE)
  1828. MIDL_INTERFACE("59313E03-B36C-11cf-A539-00AA006887C3")
  1829. ITransactionReceiver : public IUnknown
  1830. {
  1831. public:
  1832. virtual HRESULT STDMETHODCALLTYPE UnmarshalPropagationToken(
  1833. /* [in] */ ULONG cbToken,
  1834. /* [size_is][in] */ byte *rgbToken,
  1835. /* [out] */ ITransaction **ppTransaction) = 0;
  1836. virtual HRESULT STDMETHODCALLTYPE GetReturnTokenSize(
  1837. /* [out] */ ULONG *pcbReturnToken) = 0;
  1838. virtual HRESULT STDMETHODCALLTYPE MarshalReturnToken(
  1839. /* [in] */ ULONG cbReturnToken,
  1840. /* [size_is][out] */ byte *rgbReturnToken,
  1841. /* [out] */ ULONG *pcbUsed) = 0;
  1842. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1843. };
  1844. #else /* C style interface */
  1845. typedef struct ITransactionReceiverVtbl
  1846. {
  1847. BEGIN_INTERFACE
  1848. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1849. ITransactionReceiver * This,
  1850. /* [in] */ REFIID riid,
  1851. /* [iid_is][out] */ void **ppvObject);
  1852. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1853. ITransactionReceiver * This);
  1854. ULONG ( STDMETHODCALLTYPE *Release )(
  1855. ITransactionReceiver * This);
  1856. HRESULT ( STDMETHODCALLTYPE *UnmarshalPropagationToken )(
  1857. ITransactionReceiver * This,
  1858. /* [in] */ ULONG cbToken,
  1859. /* [size_is][in] */ byte *rgbToken,
  1860. /* [out] */ ITransaction **ppTransaction);
  1861. HRESULT ( STDMETHODCALLTYPE *GetReturnTokenSize )(
  1862. ITransactionReceiver * This,
  1863. /* [out] */ ULONG *pcbReturnToken);
  1864. HRESULT ( STDMETHODCALLTYPE *MarshalReturnToken )(
  1865. ITransactionReceiver * This,
  1866. /* [in] */ ULONG cbReturnToken,
  1867. /* [size_is][out] */ byte *rgbReturnToken,
  1868. /* [out] */ ULONG *pcbUsed);
  1869. HRESULT ( STDMETHODCALLTYPE *Reset )(
  1870. ITransactionReceiver * This);
  1871. END_INTERFACE
  1872. } ITransactionReceiverVtbl;
  1873. interface ITransactionReceiver
  1874. {
  1875. CONST_VTBL struct ITransactionReceiverVtbl *lpVtbl;
  1876. };
  1877. #ifdef COBJMACROS
  1878. #define ITransactionReceiver_QueryInterface(This,riid,ppvObject) \
  1879. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1880. #define ITransactionReceiver_AddRef(This) \
  1881. (This)->lpVtbl -> AddRef(This)
  1882. #define ITransactionReceiver_Release(This) \
  1883. (This)->lpVtbl -> Release(This)
  1884. #define ITransactionReceiver_UnmarshalPropagationToken(This,cbToken,rgbToken,ppTransaction) \
  1885. (This)->lpVtbl -> UnmarshalPropagationToken(This,cbToken,rgbToken,ppTransaction)
  1886. #define ITransactionReceiver_GetReturnTokenSize(This,pcbReturnToken) \
  1887. (This)->lpVtbl -> GetReturnTokenSize(This,pcbReturnToken)
  1888. #define ITransactionReceiver_MarshalReturnToken(This,cbReturnToken,rgbReturnToken,pcbUsed) \
  1889. (This)->lpVtbl -> MarshalReturnToken(This,cbReturnToken,rgbReturnToken,pcbUsed)
  1890. #define ITransactionReceiver_Reset(This) \
  1891. (This)->lpVtbl -> Reset(This)
  1892. #endif /* COBJMACROS */
  1893. #endif /* C style interface */
  1894. HRESULT STDMETHODCALLTYPE ITransactionReceiver_UnmarshalPropagationToken_Proxy(
  1895. ITransactionReceiver * This,
  1896. /* [in] */ ULONG cbToken,
  1897. /* [size_is][in] */ byte *rgbToken,
  1898. /* [out] */ ITransaction **ppTransaction);
  1899. void __RPC_STUB ITransactionReceiver_UnmarshalPropagationToken_Stub(
  1900. IRpcStubBuffer *This,
  1901. IRpcChannelBuffer *_pRpcChannelBuffer,
  1902. PRPC_MESSAGE _pRpcMessage,
  1903. DWORD *_pdwStubPhase);
  1904. HRESULT STDMETHODCALLTYPE ITransactionReceiver_GetReturnTokenSize_Proxy(
  1905. ITransactionReceiver * This,
  1906. /* [out] */ ULONG *pcbReturnToken);
  1907. void __RPC_STUB ITransactionReceiver_GetReturnTokenSize_Stub(
  1908. IRpcStubBuffer *This,
  1909. IRpcChannelBuffer *_pRpcChannelBuffer,
  1910. PRPC_MESSAGE _pRpcMessage,
  1911. DWORD *_pdwStubPhase);
  1912. HRESULT STDMETHODCALLTYPE ITransactionReceiver_MarshalReturnToken_Proxy(
  1913. ITransactionReceiver * This,
  1914. /* [in] */ ULONG cbReturnToken,
  1915. /* [size_is][out] */ byte *rgbReturnToken,
  1916. /* [out] */ ULONG *pcbUsed);
  1917. void __RPC_STUB ITransactionReceiver_MarshalReturnToken_Stub(
  1918. IRpcStubBuffer *This,
  1919. IRpcChannelBuffer *_pRpcChannelBuffer,
  1920. PRPC_MESSAGE _pRpcMessage,
  1921. DWORD *_pdwStubPhase);
  1922. HRESULT STDMETHODCALLTYPE ITransactionReceiver_Reset_Proxy(
  1923. ITransactionReceiver * This);
  1924. void __RPC_STUB ITransactionReceiver_Reset_Stub(
  1925. IRpcStubBuffer *This,
  1926. IRpcChannelBuffer *_pRpcChannelBuffer,
  1927. PRPC_MESSAGE _pRpcMessage,
  1928. DWORD *_pdwStubPhase);
  1929. #endif /* __ITransactionReceiver_INTERFACE_DEFINED__ */
  1930. #ifndef __ITransactionReceiverFactory_INTERFACE_DEFINED__
  1931. #define __ITransactionReceiverFactory_INTERFACE_DEFINED__
  1932. /* interface ITransactionReceiverFactory */
  1933. /* [unique][object][uuid] */
  1934. EXTERN_C const IID IID_ITransactionReceiverFactory;
  1935. #if defined(__cplusplus) && !defined(CINTERFACE)
  1936. MIDL_INTERFACE("59313E02-B36C-11cf-A539-00AA006887C3")
  1937. ITransactionReceiverFactory : public IUnknown
  1938. {
  1939. public:
  1940. virtual HRESULT STDMETHODCALLTYPE Create(
  1941. /* [out] */ ITransactionReceiver **ppReceiver) = 0;
  1942. };
  1943. #else /* C style interface */
  1944. typedef struct ITransactionReceiverFactoryVtbl
  1945. {
  1946. BEGIN_INTERFACE
  1947. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1948. ITransactionReceiverFactory * This,
  1949. /* [in] */ REFIID riid,
  1950. /* [iid_is][out] */ void **ppvObject);
  1951. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1952. ITransactionReceiverFactory * This);
  1953. ULONG ( STDMETHODCALLTYPE *Release )(
  1954. ITransactionReceiverFactory * This);
  1955. HRESULT ( STDMETHODCALLTYPE *Create )(
  1956. ITransactionReceiverFactory * This,
  1957. /* [out] */ ITransactionReceiver **ppReceiver);
  1958. END_INTERFACE
  1959. } ITransactionReceiverFactoryVtbl;
  1960. interface ITransactionReceiverFactory
  1961. {
  1962. CONST_VTBL struct ITransactionReceiverFactoryVtbl *lpVtbl;
  1963. };
  1964. #ifdef COBJMACROS
  1965. #define ITransactionReceiverFactory_QueryInterface(This,riid,ppvObject) \
  1966. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1967. #define ITransactionReceiverFactory_AddRef(This) \
  1968. (This)->lpVtbl -> AddRef(This)
  1969. #define ITransactionReceiverFactory_Release(This) \
  1970. (This)->lpVtbl -> Release(This)
  1971. #define ITransactionReceiverFactory_Create(This,ppReceiver) \
  1972. (This)->lpVtbl -> Create(This,ppReceiver)
  1973. #endif /* COBJMACROS */
  1974. #endif /* C style interface */
  1975. HRESULT STDMETHODCALLTYPE ITransactionReceiverFactory_Create_Proxy(
  1976. ITransactionReceiverFactory * This,
  1977. /* [out] */ ITransactionReceiver **ppReceiver);
  1978. void __RPC_STUB ITransactionReceiverFactory_Create_Stub(
  1979. IRpcStubBuffer *This,
  1980. IRpcChannelBuffer *_pRpcChannelBuffer,
  1981. PRPC_MESSAGE _pRpcMessage,
  1982. DWORD *_pdwStubPhase);
  1983. #endif /* __ITransactionReceiverFactory_INTERFACE_DEFINED__ */
  1984. /* interface __MIDL_itf_txdtc_0132 */
  1985. /* [local] */
  1986. typedef struct _ProxyConfigParams
  1987. {
  1988. WORD wcThreadsMax;
  1989. } PROXY_CONFIG_PARAMS;
  1990. extern RPC_IF_HANDLE __MIDL_itf_txdtc_0132_v0_0_c_ifspec;
  1991. extern RPC_IF_HANDLE __MIDL_itf_txdtc_0132_v0_0_s_ifspec;
  1992. #ifndef __IDtcLuConfigure_INTERFACE_DEFINED__
  1993. #define __IDtcLuConfigure_INTERFACE_DEFINED__
  1994. /* interface IDtcLuConfigure */
  1995. /* [uuid][unique][object] */
  1996. EXTERN_C const IID IID_IDtcLuConfigure;
  1997. #if defined(__cplusplus) && !defined(CINTERFACE)
  1998. MIDL_INTERFACE("4131E760-1AEA-11d0-944B-00A0C905416E")
  1999. IDtcLuConfigure : public IUnknown
  2000. {
  2001. public:
  2002. virtual HRESULT STDMETHODCALLTYPE Add(
  2003. /* [size_is][in] */ byte *pucLuPair,
  2004. /* [in] */ DWORD cbLuPair) = 0;
  2005. virtual HRESULT STDMETHODCALLTYPE Delete(
  2006. /* [size_is][in] */ byte *pucLuPair,
  2007. /* [in] */ DWORD cbLuPair) = 0;
  2008. };
  2009. #else /* C style interface */
  2010. typedef struct IDtcLuConfigureVtbl
  2011. {
  2012. BEGIN_INTERFACE
  2013. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2014. IDtcLuConfigure * This,
  2015. /* [in] */ REFIID riid,
  2016. /* [iid_is][out] */ void **ppvObject);
  2017. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2018. IDtcLuConfigure * This);
  2019. ULONG ( STDMETHODCALLTYPE *Release )(
  2020. IDtcLuConfigure * This);
  2021. HRESULT ( STDMETHODCALLTYPE *Add )(
  2022. IDtcLuConfigure * This,
  2023. /* [size_is][in] */ byte *pucLuPair,
  2024. /* [in] */ DWORD cbLuPair);
  2025. HRESULT ( STDMETHODCALLTYPE *Delete )(
  2026. IDtcLuConfigure * This,
  2027. /* [size_is][in] */ byte *pucLuPair,
  2028. /* [in] */ DWORD cbLuPair);
  2029. END_INTERFACE
  2030. } IDtcLuConfigureVtbl;
  2031. interface IDtcLuConfigure
  2032. {
  2033. CONST_VTBL struct IDtcLuConfigureVtbl *lpVtbl;
  2034. };
  2035. #ifdef COBJMACROS
  2036. #define IDtcLuConfigure_QueryInterface(This,riid,ppvObject) \
  2037. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2038. #define IDtcLuConfigure_AddRef(This) \
  2039. (This)->lpVtbl -> AddRef(This)
  2040. #define IDtcLuConfigure_Release(This) \
  2041. (This)->lpVtbl -> Release(This)
  2042. #define IDtcLuConfigure_Add(This,pucLuPair,cbLuPair) \
  2043. (This)->lpVtbl -> Add(This,pucLuPair,cbLuPair)
  2044. #define IDtcLuConfigure_Delete(This,pucLuPair,cbLuPair) \
  2045. (This)->lpVtbl -> Delete(This,pucLuPair,cbLuPair)
  2046. #endif /* COBJMACROS */
  2047. #endif /* C style interface */
  2048. HRESULT STDMETHODCALLTYPE IDtcLuConfigure_Add_Proxy(
  2049. IDtcLuConfigure * This,
  2050. /* [size_is][in] */ byte *pucLuPair,
  2051. /* [in] */ DWORD cbLuPair);
  2052. void __RPC_STUB IDtcLuConfigure_Add_Stub(
  2053. IRpcStubBuffer *This,
  2054. IRpcChannelBuffer *_pRpcChannelBuffer,
  2055. PRPC_MESSAGE _pRpcMessage,
  2056. DWORD *_pdwStubPhase);
  2057. HRESULT STDMETHODCALLTYPE IDtcLuConfigure_Delete_Proxy(
  2058. IDtcLuConfigure * This,
  2059. /* [size_is][in] */ byte *pucLuPair,
  2060. /* [in] */ DWORD cbLuPair);
  2061. void __RPC_STUB IDtcLuConfigure_Delete_Stub(
  2062. IRpcStubBuffer *This,
  2063. IRpcChannelBuffer *_pRpcChannelBuffer,
  2064. PRPC_MESSAGE _pRpcMessage,
  2065. DWORD *_pdwStubPhase);
  2066. #endif /* __IDtcLuConfigure_INTERFACE_DEFINED__ */
  2067. #ifndef __IDtcLuRecovery_INTERFACE_DEFINED__
  2068. #define __IDtcLuRecovery_INTERFACE_DEFINED__
  2069. /* interface IDtcLuRecovery */
  2070. /* [uuid][unique][object] */
  2071. EXTERN_C const IID IID_IDtcLuRecovery;
  2072. #if defined(__cplusplus) && !defined(CINTERFACE)
  2073. MIDL_INTERFACE("AC2B8AD2-D6F0-11d0-B386-00A0C9083365")
  2074. IDtcLuRecovery : public IUnknown
  2075. {
  2076. public:
  2077. };
  2078. #else /* C style interface */
  2079. typedef struct IDtcLuRecoveryVtbl
  2080. {
  2081. BEGIN_INTERFACE
  2082. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2083. IDtcLuRecovery * This,
  2084. /* [in] */ REFIID riid,
  2085. /* [iid_is][out] */ void **ppvObject);
  2086. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2087. IDtcLuRecovery * This);
  2088. ULONG ( STDMETHODCALLTYPE *Release )(
  2089. IDtcLuRecovery * This);
  2090. END_INTERFACE
  2091. } IDtcLuRecoveryVtbl;
  2092. interface IDtcLuRecovery
  2093. {
  2094. CONST_VTBL struct IDtcLuRecoveryVtbl *lpVtbl;
  2095. };
  2096. #ifdef COBJMACROS
  2097. #define IDtcLuRecovery_QueryInterface(This,riid,ppvObject) \
  2098. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2099. #define IDtcLuRecovery_AddRef(This) \
  2100. (This)->lpVtbl -> AddRef(This)
  2101. #define IDtcLuRecovery_Release(This) \
  2102. (This)->lpVtbl -> Release(This)
  2103. #endif /* COBJMACROS */
  2104. #endif /* C style interface */
  2105. #endif /* __IDtcLuRecovery_INTERFACE_DEFINED__ */
  2106. #ifndef __IDtcLuRecoveryFactory_INTERFACE_DEFINED__
  2107. #define __IDtcLuRecoveryFactory_INTERFACE_DEFINED__
  2108. /* interface IDtcLuRecoveryFactory */
  2109. /* [uuid][unique][object] */
  2110. EXTERN_C const IID IID_IDtcLuRecoveryFactory;
  2111. #if defined(__cplusplus) && !defined(CINTERFACE)
  2112. MIDL_INTERFACE("4131E762-1AEA-11d0-944B-00A0C905416E")
  2113. IDtcLuRecoveryFactory : public IUnknown
  2114. {
  2115. public:
  2116. virtual HRESULT STDMETHODCALLTYPE Create(
  2117. /* [size_is][in] */ byte *pucLuPair,
  2118. /* [in] */ DWORD cbLuPair,
  2119. /* [out] */ IDtcLuRecovery **ppRecovery) = 0;
  2120. };
  2121. #else /* C style interface */
  2122. typedef struct IDtcLuRecoveryFactoryVtbl
  2123. {
  2124. BEGIN_INTERFACE
  2125. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2126. IDtcLuRecoveryFactory * This,
  2127. /* [in] */ REFIID riid,
  2128. /* [iid_is][out] */ void **ppvObject);
  2129. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2130. IDtcLuRecoveryFactory * This);
  2131. ULONG ( STDMETHODCALLTYPE *Release )(
  2132. IDtcLuRecoveryFactory * This);
  2133. HRESULT ( STDMETHODCALLTYPE *Create )(
  2134. IDtcLuRecoveryFactory * This,
  2135. /* [size_is][in] */ byte *pucLuPair,
  2136. /* [in] */ DWORD cbLuPair,
  2137. /* [out] */ IDtcLuRecovery **ppRecovery);
  2138. END_INTERFACE
  2139. } IDtcLuRecoveryFactoryVtbl;
  2140. interface IDtcLuRecoveryFactory
  2141. {
  2142. CONST_VTBL struct IDtcLuRecoveryFactoryVtbl *lpVtbl;
  2143. };
  2144. #ifdef COBJMACROS
  2145. #define IDtcLuRecoveryFactory_QueryInterface(This,riid,ppvObject) \
  2146. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2147. #define IDtcLuRecoveryFactory_AddRef(This) \
  2148. (This)->lpVtbl -> AddRef(This)
  2149. #define IDtcLuRecoveryFactory_Release(This) \
  2150. (This)->lpVtbl -> Release(This)
  2151. #define IDtcLuRecoveryFactory_Create(This,pucLuPair,cbLuPair,ppRecovery) \
  2152. (This)->lpVtbl -> Create(This,pucLuPair,cbLuPair,ppRecovery)
  2153. #endif /* COBJMACROS */
  2154. #endif /* C style interface */
  2155. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryFactory_Create_Proxy(
  2156. IDtcLuRecoveryFactory * This,
  2157. /* [size_is][in] */ byte *pucLuPair,
  2158. /* [in] */ DWORD cbLuPair,
  2159. /* [out] */ IDtcLuRecovery **ppRecovery);
  2160. void __RPC_STUB IDtcLuRecoveryFactory_Create_Stub(
  2161. IRpcStubBuffer *This,
  2162. IRpcChannelBuffer *_pRpcChannelBuffer,
  2163. PRPC_MESSAGE _pRpcMessage,
  2164. DWORD *_pdwStubPhase);
  2165. #endif /* __IDtcLuRecoveryFactory_INTERFACE_DEFINED__ */
  2166. /* interface __MIDL_itf_txdtc_0135 */
  2167. /* [local] */
  2168. typedef
  2169. enum _DtcLu_LocalRecovery_Work
  2170. { DTCINITIATEDRECOVERYWORK_CHECKLUSTATUS = 1,
  2171. DTCINITIATEDRECOVERYWORK_TRANS = DTCINITIATEDRECOVERYWORK_CHECKLUSTATUS + 1,
  2172. DTCINITIATEDRECOVERYWORK_TMDOWN = DTCINITIATEDRECOVERYWORK_TRANS + 1
  2173. } DTCINITIATEDRECOVERYWORK;
  2174. typedef
  2175. enum _DtcLu_Xln
  2176. { DTCLUXLN_COLD = 1,
  2177. DTCLUXLN_WARM = DTCLUXLN_COLD + 1
  2178. } DTCLUXLN;
  2179. typedef
  2180. enum _DtcLu_Xln_Confirmation
  2181. { DTCLUXLNCONFIRMATION_CONFIRM = 1,
  2182. DTCLUXLNCONFIRMATION_LOGNAMEMISMATCH = DTCLUXLNCONFIRMATION_CONFIRM + 1,
  2183. DTCLUXLNCONFIRMATION_COLDWARMMISMATCH = DTCLUXLNCONFIRMATION_LOGNAMEMISMATCH + 1,
  2184. DTCLUXLNCONFIRMATION_OBSOLETE = DTCLUXLNCONFIRMATION_COLDWARMMISMATCH + 1
  2185. } DTCLUXLNCONFIRMATION;
  2186. typedef
  2187. enum _DtcLu_Xln_Response
  2188. { DTCLUXLNRESPONSE_OK_SENDOURXLNBACK = 1,
  2189. DTCLUXLNRESPONSE_OK_SENDCONFIRMATION = DTCLUXLNRESPONSE_OK_SENDOURXLNBACK + 1,
  2190. DTCLUXLNRESPONSE_LOGNAMEMISMATCH = DTCLUXLNRESPONSE_OK_SENDCONFIRMATION + 1,
  2191. DTCLUXLNRESPONSE_COLDWARMMISMATCH = DTCLUXLNRESPONSE_LOGNAMEMISMATCH + 1
  2192. } DTCLUXLNRESPONSE;
  2193. typedef
  2194. enum _DtcLu_Xln_Error
  2195. { DTCLUXLNERROR_PROTOCOL = 1,
  2196. DTCLUXLNERROR_LOGNAMEMISMATCH = DTCLUXLNERROR_PROTOCOL + 1,
  2197. DTCLUXLNERROR_COLDWARMMISMATCH = DTCLUXLNERROR_LOGNAMEMISMATCH + 1
  2198. } DTCLUXLNERROR;
  2199. typedef
  2200. enum _DtcLu_CompareState
  2201. { DTCLUCOMPARESTATE_COMMITTED = 1,
  2202. DTCLUCOMPARESTATE_HEURISTICCOMMITTED = DTCLUCOMPARESTATE_COMMITTED + 1,
  2203. DTCLUCOMPARESTATE_HEURISTICMIXED = DTCLUCOMPARESTATE_HEURISTICCOMMITTED + 1,
  2204. DTCLUCOMPARESTATE_HEURISTICRESET = DTCLUCOMPARESTATE_HEURISTICMIXED + 1,
  2205. DTCLUCOMPARESTATE_INDOUBT = DTCLUCOMPARESTATE_HEURISTICRESET + 1,
  2206. DTCLUCOMPARESTATE_RESET = DTCLUCOMPARESTATE_INDOUBT + 1
  2207. } DTCLUCOMPARESTATE;
  2208. typedef
  2209. enum _DtcLu_CompareStates_Confirmation
  2210. { DTCLUCOMPARESTATESCONFIRMATION_CONFIRM = 1,
  2211. DTCLUCOMPARESTATESCONFIRMATION_PROTOCOL = DTCLUCOMPARESTATESCONFIRMATION_CONFIRM + 1
  2212. } DTCLUCOMPARESTATESCONFIRMATION;
  2213. typedef
  2214. enum _DtcLu_CompareStates_Error
  2215. { DTCLUCOMPARESTATESERROR_PROTOCOL = 1
  2216. } DTCLUCOMPARESTATESERROR;
  2217. typedef
  2218. enum _DtcLu_CompareStates_Response
  2219. { DTCLUCOMPARESTATESRESPONSE_OK = 1,
  2220. DTCLUCOMPARESTATESRESPONSE_PROTOCOL = DTCLUCOMPARESTATESRESPONSE_OK + 1
  2221. } DTCLUCOMPARESTATESRESPONSE;
  2222. extern RPC_IF_HANDLE __MIDL_itf_txdtc_0135_v0_0_c_ifspec;
  2223. extern RPC_IF_HANDLE __MIDL_itf_txdtc_0135_v0_0_s_ifspec;
  2224. #ifndef __IDtcLuRecoveryInitiatedByDtcTransWork_INTERFACE_DEFINED__
  2225. #define __IDtcLuRecoveryInitiatedByDtcTransWork_INTERFACE_DEFINED__
  2226. /* interface IDtcLuRecoveryInitiatedByDtcTransWork */
  2227. /* [local][uuid][unique][object] */
  2228. EXTERN_C const IID IID_IDtcLuRecoveryInitiatedByDtcTransWork;
  2229. #if defined(__cplusplus) && !defined(CINTERFACE)
  2230. MIDL_INTERFACE("4131E765-1AEA-11d0-944B-00A0C905416E")
  2231. IDtcLuRecoveryInitiatedByDtcTransWork : public IUnknown
  2232. {
  2233. public:
  2234. virtual HRESULT STDMETHODCALLTYPE GetLogNameSizes(
  2235. /* [out] */ DWORD *pcbOurLogName,
  2236. /* [out] */ DWORD *pcbRemoteLogName) = 0;
  2237. virtual HRESULT STDMETHODCALLTYPE GetOurXln(
  2238. /* [out] */ DTCLUXLN *pXln,
  2239. /* [out][in] */ unsigned char *pOurLogName,
  2240. /* [out][in] */ unsigned char *pRemoteLogName,
  2241. /* [out] */ DWORD *pdwProtocol) = 0;
  2242. virtual HRESULT STDMETHODCALLTYPE HandleConfirmationFromOurXln(
  2243. /* [in] */ DTCLUXLNCONFIRMATION Confirmation) = 0;
  2244. virtual HRESULT STDMETHODCALLTYPE HandleTheirXlnResponse(
  2245. /* [in] */ DTCLUXLN Xln,
  2246. /* [in] */ unsigned char *pRemoteLogName,
  2247. /* [in] */ DWORD cbRemoteLogName,
  2248. /* [in] */ DWORD dwProtocol,
  2249. /* [out] */ DTCLUXLNCONFIRMATION *pConfirmation) = 0;
  2250. virtual HRESULT STDMETHODCALLTYPE HandleErrorFromOurXln(
  2251. /* [in] */ DTCLUXLNERROR Error) = 0;
  2252. virtual HRESULT STDMETHODCALLTYPE CheckForCompareStates(
  2253. /* [out] */ BOOL *fCompareStates) = 0;
  2254. virtual HRESULT STDMETHODCALLTYPE GetOurTransIdSize(
  2255. /* [out][in] */ DWORD *pcbOurTransId) = 0;
  2256. virtual HRESULT STDMETHODCALLTYPE GetOurCompareStates(
  2257. /* [out][in] */ unsigned char *pOurTransId,
  2258. /* [out] */ DTCLUCOMPARESTATE *pCompareState) = 0;
  2259. virtual HRESULT STDMETHODCALLTYPE HandleTheirCompareStatesResponse(
  2260. /* [in] */ DTCLUCOMPARESTATE CompareState,
  2261. /* [out] */ DTCLUCOMPARESTATESCONFIRMATION *pConfirmation) = 0;
  2262. virtual HRESULT STDMETHODCALLTYPE HandleErrorFromOurCompareStates(
  2263. /* [in] */ DTCLUCOMPARESTATESERROR Error) = 0;
  2264. virtual HRESULT STDMETHODCALLTYPE ConversationLost( void) = 0;
  2265. virtual HRESULT STDMETHODCALLTYPE GetRecoverySeqNum(
  2266. /* [out] */ LONG *plRecoverySeqNum) = 0;
  2267. virtual HRESULT STDMETHODCALLTYPE ObsoleteRecoverySeqNum(
  2268. /* [in] */ LONG lNewRecoverySeqNum) = 0;
  2269. };
  2270. #else /* C style interface */
  2271. typedef struct IDtcLuRecoveryInitiatedByDtcTransWorkVtbl
  2272. {
  2273. BEGIN_INTERFACE
  2274. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2275. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2276. /* [in] */ REFIID riid,
  2277. /* [iid_is][out] */ void **ppvObject);
  2278. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2279. IDtcLuRecoveryInitiatedByDtcTransWork * This);
  2280. ULONG ( STDMETHODCALLTYPE *Release )(
  2281. IDtcLuRecoveryInitiatedByDtcTransWork * This);
  2282. HRESULT ( STDMETHODCALLTYPE *GetLogNameSizes )(
  2283. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2284. /* [out] */ DWORD *pcbOurLogName,
  2285. /* [out] */ DWORD *pcbRemoteLogName);
  2286. HRESULT ( STDMETHODCALLTYPE *GetOurXln )(
  2287. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2288. /* [out] */ DTCLUXLN *pXln,
  2289. /* [out][in] */ unsigned char *pOurLogName,
  2290. /* [out][in] */ unsigned char *pRemoteLogName,
  2291. /* [out] */ DWORD *pdwProtocol);
  2292. HRESULT ( STDMETHODCALLTYPE *HandleConfirmationFromOurXln )(
  2293. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2294. /* [in] */ DTCLUXLNCONFIRMATION Confirmation);
  2295. HRESULT ( STDMETHODCALLTYPE *HandleTheirXlnResponse )(
  2296. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2297. /* [in] */ DTCLUXLN Xln,
  2298. /* [in] */ unsigned char *pRemoteLogName,
  2299. /* [in] */ DWORD cbRemoteLogName,
  2300. /* [in] */ DWORD dwProtocol,
  2301. /* [out] */ DTCLUXLNCONFIRMATION *pConfirmation);
  2302. HRESULT ( STDMETHODCALLTYPE *HandleErrorFromOurXln )(
  2303. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2304. /* [in] */ DTCLUXLNERROR Error);
  2305. HRESULT ( STDMETHODCALLTYPE *CheckForCompareStates )(
  2306. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2307. /* [out] */ BOOL *fCompareStates);
  2308. HRESULT ( STDMETHODCALLTYPE *GetOurTransIdSize )(
  2309. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2310. /* [out][in] */ DWORD *pcbOurTransId);
  2311. HRESULT ( STDMETHODCALLTYPE *GetOurCompareStates )(
  2312. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2313. /* [out][in] */ unsigned char *pOurTransId,
  2314. /* [out] */ DTCLUCOMPARESTATE *pCompareState);
  2315. HRESULT ( STDMETHODCALLTYPE *HandleTheirCompareStatesResponse )(
  2316. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2317. /* [in] */ DTCLUCOMPARESTATE CompareState,
  2318. /* [out] */ DTCLUCOMPARESTATESCONFIRMATION *pConfirmation);
  2319. HRESULT ( STDMETHODCALLTYPE *HandleErrorFromOurCompareStates )(
  2320. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2321. /* [in] */ DTCLUCOMPARESTATESERROR Error);
  2322. HRESULT ( STDMETHODCALLTYPE *ConversationLost )(
  2323. IDtcLuRecoveryInitiatedByDtcTransWork * This);
  2324. HRESULT ( STDMETHODCALLTYPE *GetRecoverySeqNum )(
  2325. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2326. /* [out] */ LONG *plRecoverySeqNum);
  2327. HRESULT ( STDMETHODCALLTYPE *ObsoleteRecoverySeqNum )(
  2328. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2329. /* [in] */ LONG lNewRecoverySeqNum);
  2330. END_INTERFACE
  2331. } IDtcLuRecoveryInitiatedByDtcTransWorkVtbl;
  2332. interface IDtcLuRecoveryInitiatedByDtcTransWork
  2333. {
  2334. CONST_VTBL struct IDtcLuRecoveryInitiatedByDtcTransWorkVtbl *lpVtbl;
  2335. };
  2336. #ifdef COBJMACROS
  2337. #define IDtcLuRecoveryInitiatedByDtcTransWork_QueryInterface(This,riid,ppvObject) \
  2338. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2339. #define IDtcLuRecoveryInitiatedByDtcTransWork_AddRef(This) \
  2340. (This)->lpVtbl -> AddRef(This)
  2341. #define IDtcLuRecoveryInitiatedByDtcTransWork_Release(This) \
  2342. (This)->lpVtbl -> Release(This)
  2343. #define IDtcLuRecoveryInitiatedByDtcTransWork_GetLogNameSizes(This,pcbOurLogName,pcbRemoteLogName) \
  2344. (This)->lpVtbl -> GetLogNameSizes(This,pcbOurLogName,pcbRemoteLogName)
  2345. #define IDtcLuRecoveryInitiatedByDtcTransWork_GetOurXln(This,pXln,pOurLogName,pRemoteLogName,pdwProtocol) \
  2346. (This)->lpVtbl -> GetOurXln(This,pXln,pOurLogName,pRemoteLogName,pdwProtocol)
  2347. #define IDtcLuRecoveryInitiatedByDtcTransWork_HandleConfirmationFromOurXln(This,Confirmation) \
  2348. (This)->lpVtbl -> HandleConfirmationFromOurXln(This,Confirmation)
  2349. #define IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirXlnResponse(This,Xln,pRemoteLogName,cbRemoteLogName,dwProtocol,pConfirmation) \
  2350. (This)->lpVtbl -> HandleTheirXlnResponse(This,Xln,pRemoteLogName,cbRemoteLogName,dwProtocol,pConfirmation)
  2351. #define IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurXln(This,Error) \
  2352. (This)->lpVtbl -> HandleErrorFromOurXln(This,Error)
  2353. #define IDtcLuRecoveryInitiatedByDtcTransWork_CheckForCompareStates(This,fCompareStates) \
  2354. (This)->lpVtbl -> CheckForCompareStates(This,fCompareStates)
  2355. #define IDtcLuRecoveryInitiatedByDtcTransWork_GetOurTransIdSize(This,pcbOurTransId) \
  2356. (This)->lpVtbl -> GetOurTransIdSize(This,pcbOurTransId)
  2357. #define IDtcLuRecoveryInitiatedByDtcTransWork_GetOurCompareStates(This,pOurTransId,pCompareState) \
  2358. (This)->lpVtbl -> GetOurCompareStates(This,pOurTransId,pCompareState)
  2359. #define IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirCompareStatesResponse(This,CompareState,pConfirmation) \
  2360. (This)->lpVtbl -> HandleTheirCompareStatesResponse(This,CompareState,pConfirmation)
  2361. #define IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurCompareStates(This,Error) \
  2362. (This)->lpVtbl -> HandleErrorFromOurCompareStates(This,Error)
  2363. #define IDtcLuRecoveryInitiatedByDtcTransWork_ConversationLost(This) \
  2364. (This)->lpVtbl -> ConversationLost(This)
  2365. #define IDtcLuRecoveryInitiatedByDtcTransWork_GetRecoverySeqNum(This,plRecoverySeqNum) \
  2366. (This)->lpVtbl -> GetRecoverySeqNum(This,plRecoverySeqNum)
  2367. #define IDtcLuRecoveryInitiatedByDtcTransWork_ObsoleteRecoverySeqNum(This,lNewRecoverySeqNum) \
  2368. (This)->lpVtbl -> ObsoleteRecoverySeqNum(This,lNewRecoverySeqNum)
  2369. #endif /* COBJMACROS */
  2370. #endif /* C style interface */
  2371. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_GetLogNameSizes_Proxy(
  2372. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2373. /* [out] */ DWORD *pcbOurLogName,
  2374. /* [out] */ DWORD *pcbRemoteLogName);
  2375. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_GetLogNameSizes_Stub(
  2376. IRpcStubBuffer *This,
  2377. IRpcChannelBuffer *_pRpcChannelBuffer,
  2378. PRPC_MESSAGE _pRpcMessage,
  2379. DWORD *_pdwStubPhase);
  2380. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_GetOurXln_Proxy(
  2381. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2382. /* [out] */ DTCLUXLN *pXln,
  2383. /* [out][in] */ unsigned char *pOurLogName,
  2384. /* [out][in] */ unsigned char *pRemoteLogName,
  2385. /* [out] */ DWORD *pdwProtocol);
  2386. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_GetOurXln_Stub(
  2387. IRpcStubBuffer *This,
  2388. IRpcChannelBuffer *_pRpcChannelBuffer,
  2389. PRPC_MESSAGE _pRpcMessage,
  2390. DWORD *_pdwStubPhase);
  2391. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_HandleConfirmationFromOurXln_Proxy(
  2392. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2393. /* [in] */ DTCLUXLNCONFIRMATION Confirmation);
  2394. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_HandleConfirmationFromOurXln_Stub(
  2395. IRpcStubBuffer *This,
  2396. IRpcChannelBuffer *_pRpcChannelBuffer,
  2397. PRPC_MESSAGE _pRpcMessage,
  2398. DWORD *_pdwStubPhase);
  2399. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirXlnResponse_Proxy(
  2400. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2401. /* [in] */ DTCLUXLN Xln,
  2402. /* [in] */ unsigned char *pRemoteLogName,
  2403. /* [in] */ DWORD cbRemoteLogName,
  2404. /* [in] */ DWORD dwProtocol,
  2405. /* [out] */ DTCLUXLNCONFIRMATION *pConfirmation);
  2406. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirXlnResponse_Stub(
  2407. IRpcStubBuffer *This,
  2408. IRpcChannelBuffer *_pRpcChannelBuffer,
  2409. PRPC_MESSAGE _pRpcMessage,
  2410. DWORD *_pdwStubPhase);
  2411. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurXln_Proxy(
  2412. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2413. /* [in] */ DTCLUXLNERROR Error);
  2414. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurXln_Stub(
  2415. IRpcStubBuffer *This,
  2416. IRpcChannelBuffer *_pRpcChannelBuffer,
  2417. PRPC_MESSAGE _pRpcMessage,
  2418. DWORD *_pdwStubPhase);
  2419. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_CheckForCompareStates_Proxy(
  2420. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2421. /* [out] */ BOOL *fCompareStates);
  2422. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_CheckForCompareStates_Stub(
  2423. IRpcStubBuffer *This,
  2424. IRpcChannelBuffer *_pRpcChannelBuffer,
  2425. PRPC_MESSAGE _pRpcMessage,
  2426. DWORD *_pdwStubPhase);
  2427. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_GetOurTransIdSize_Proxy(
  2428. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2429. /* [out][in] */ DWORD *pcbOurTransId);
  2430. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_GetOurTransIdSize_Stub(
  2431. IRpcStubBuffer *This,
  2432. IRpcChannelBuffer *_pRpcChannelBuffer,
  2433. PRPC_MESSAGE _pRpcMessage,
  2434. DWORD *_pdwStubPhase);
  2435. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_GetOurCompareStates_Proxy(
  2436. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2437. /* [out][in] */ unsigned char *pOurTransId,
  2438. /* [out] */ DTCLUCOMPARESTATE *pCompareState);
  2439. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_GetOurCompareStates_Stub(
  2440. IRpcStubBuffer *This,
  2441. IRpcChannelBuffer *_pRpcChannelBuffer,
  2442. PRPC_MESSAGE _pRpcMessage,
  2443. DWORD *_pdwStubPhase);
  2444. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirCompareStatesResponse_Proxy(
  2445. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2446. /* [in] */ DTCLUCOMPARESTATE CompareState,
  2447. /* [out] */ DTCLUCOMPARESTATESCONFIRMATION *pConfirmation);
  2448. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirCompareStatesResponse_Stub(
  2449. IRpcStubBuffer *This,
  2450. IRpcChannelBuffer *_pRpcChannelBuffer,
  2451. PRPC_MESSAGE _pRpcMessage,
  2452. DWORD *_pdwStubPhase);
  2453. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurCompareStates_Proxy(
  2454. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2455. /* [in] */ DTCLUCOMPARESTATESERROR Error);
  2456. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurCompareStates_Stub(
  2457. IRpcStubBuffer *This,
  2458. IRpcChannelBuffer *_pRpcChannelBuffer,
  2459. PRPC_MESSAGE _pRpcMessage,
  2460. DWORD *_pdwStubPhase);
  2461. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_ConversationLost_Proxy(
  2462. IDtcLuRecoveryInitiatedByDtcTransWork * This);
  2463. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_ConversationLost_Stub(
  2464. IRpcStubBuffer *This,
  2465. IRpcChannelBuffer *_pRpcChannelBuffer,
  2466. PRPC_MESSAGE _pRpcMessage,
  2467. DWORD *_pdwStubPhase);
  2468. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_GetRecoverySeqNum_Proxy(
  2469. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2470. /* [out] */ LONG *plRecoverySeqNum);
  2471. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_GetRecoverySeqNum_Stub(
  2472. IRpcStubBuffer *This,
  2473. IRpcChannelBuffer *_pRpcChannelBuffer,
  2474. PRPC_MESSAGE _pRpcMessage,
  2475. DWORD *_pdwStubPhase);
  2476. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcTransWork_ObsoleteRecoverySeqNum_Proxy(
  2477. IDtcLuRecoveryInitiatedByDtcTransWork * This,
  2478. /* [in] */ LONG lNewRecoverySeqNum);
  2479. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_ObsoleteRecoverySeqNum_Stub(
  2480. IRpcStubBuffer *This,
  2481. IRpcChannelBuffer *_pRpcChannelBuffer,
  2482. PRPC_MESSAGE _pRpcMessage,
  2483. DWORD *_pdwStubPhase);
  2484. #endif /* __IDtcLuRecoveryInitiatedByDtcTransWork_INTERFACE_DEFINED__ */
  2485. #ifndef __IDtcLuRecoveryInitiatedByDtcStatusWork_INTERFACE_DEFINED__
  2486. #define __IDtcLuRecoveryInitiatedByDtcStatusWork_INTERFACE_DEFINED__
  2487. /* interface IDtcLuRecoveryInitiatedByDtcStatusWork */
  2488. /* [uuid][unique][object] */
  2489. EXTERN_C const IID IID_IDtcLuRecoveryInitiatedByDtcStatusWork;
  2490. #if defined(__cplusplus) && !defined(CINTERFACE)
  2491. MIDL_INTERFACE("4131E766-1AEA-11d0-944B-00A0C905416E")
  2492. IDtcLuRecoveryInitiatedByDtcStatusWork : public IUnknown
  2493. {
  2494. public:
  2495. virtual HRESULT STDMETHODCALLTYPE HandleCheckLuStatus(
  2496. /* [in] */ LONG lRecoverySeqNum) = 0;
  2497. };
  2498. #else /* C style interface */
  2499. typedef struct IDtcLuRecoveryInitiatedByDtcStatusWorkVtbl
  2500. {
  2501. BEGIN_INTERFACE
  2502. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2503. IDtcLuRecoveryInitiatedByDtcStatusWork * This,
  2504. /* [in] */ REFIID riid,
  2505. /* [iid_is][out] */ void **ppvObject);
  2506. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2507. IDtcLuRecoveryInitiatedByDtcStatusWork * This);
  2508. ULONG ( STDMETHODCALLTYPE *Release )(
  2509. IDtcLuRecoveryInitiatedByDtcStatusWork * This);
  2510. HRESULT ( STDMETHODCALLTYPE *HandleCheckLuStatus )(
  2511. IDtcLuRecoveryInitiatedByDtcStatusWork * This,
  2512. /* [in] */ LONG lRecoverySeqNum);
  2513. END_INTERFACE
  2514. } IDtcLuRecoveryInitiatedByDtcStatusWorkVtbl;
  2515. interface IDtcLuRecoveryInitiatedByDtcStatusWork
  2516. {
  2517. CONST_VTBL struct IDtcLuRecoveryInitiatedByDtcStatusWorkVtbl *lpVtbl;
  2518. };
  2519. #ifdef COBJMACROS
  2520. #define IDtcLuRecoveryInitiatedByDtcStatusWork_QueryInterface(This,riid,ppvObject) \
  2521. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2522. #define IDtcLuRecoveryInitiatedByDtcStatusWork_AddRef(This) \
  2523. (This)->lpVtbl -> AddRef(This)
  2524. #define IDtcLuRecoveryInitiatedByDtcStatusWork_Release(This) \
  2525. (This)->lpVtbl -> Release(This)
  2526. #define IDtcLuRecoveryInitiatedByDtcStatusWork_HandleCheckLuStatus(This,lRecoverySeqNum) \
  2527. (This)->lpVtbl -> HandleCheckLuStatus(This,lRecoverySeqNum)
  2528. #endif /* COBJMACROS */
  2529. #endif /* C style interface */
  2530. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtcStatusWork_HandleCheckLuStatus_Proxy(
  2531. IDtcLuRecoveryInitiatedByDtcStatusWork * This,
  2532. /* [in] */ LONG lRecoverySeqNum);
  2533. void __RPC_STUB IDtcLuRecoveryInitiatedByDtcStatusWork_HandleCheckLuStatus_Stub(
  2534. IRpcStubBuffer *This,
  2535. IRpcChannelBuffer *_pRpcChannelBuffer,
  2536. PRPC_MESSAGE _pRpcMessage,
  2537. DWORD *_pdwStubPhase);
  2538. #endif /* __IDtcLuRecoveryInitiatedByDtcStatusWork_INTERFACE_DEFINED__ */
  2539. #ifndef __IDtcLuRecoveryInitiatedByDtc_INTERFACE_DEFINED__
  2540. #define __IDtcLuRecoveryInitiatedByDtc_INTERFACE_DEFINED__
  2541. /* interface IDtcLuRecoveryInitiatedByDtc */
  2542. /* [local][uuid][unique][object] */
  2543. EXTERN_C const IID IID_IDtcLuRecoveryInitiatedByDtc;
  2544. #if defined(__cplusplus) && !defined(CINTERFACE)
  2545. MIDL_INTERFACE("4131E764-1AEA-11d0-944B-00A0C905416E")
  2546. IDtcLuRecoveryInitiatedByDtc : public IUnknown
  2547. {
  2548. public:
  2549. virtual HRESULT STDMETHODCALLTYPE GetWork(
  2550. /* [out][in] */ DTCINITIATEDRECOVERYWORK *pWork,
  2551. /* [out][in] */ void **ppv) = 0;
  2552. };
  2553. #else /* C style interface */
  2554. typedef struct IDtcLuRecoveryInitiatedByDtcVtbl
  2555. {
  2556. BEGIN_INTERFACE
  2557. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2558. IDtcLuRecoveryInitiatedByDtc * This,
  2559. /* [in] */ REFIID riid,
  2560. /* [iid_is][out] */ void **ppvObject);
  2561. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2562. IDtcLuRecoveryInitiatedByDtc * This);
  2563. ULONG ( STDMETHODCALLTYPE *Release )(
  2564. IDtcLuRecoveryInitiatedByDtc * This);
  2565. HRESULT ( STDMETHODCALLTYPE *GetWork )(
  2566. IDtcLuRecoveryInitiatedByDtc * This,
  2567. /* [out][in] */ DTCINITIATEDRECOVERYWORK *pWork,
  2568. /* [out][in] */ void **ppv);
  2569. END_INTERFACE
  2570. } IDtcLuRecoveryInitiatedByDtcVtbl;
  2571. interface IDtcLuRecoveryInitiatedByDtc
  2572. {
  2573. CONST_VTBL struct IDtcLuRecoveryInitiatedByDtcVtbl *lpVtbl;
  2574. };
  2575. #ifdef COBJMACROS
  2576. #define IDtcLuRecoveryInitiatedByDtc_QueryInterface(This,riid,ppvObject) \
  2577. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2578. #define IDtcLuRecoveryInitiatedByDtc_AddRef(This) \
  2579. (This)->lpVtbl -> AddRef(This)
  2580. #define IDtcLuRecoveryInitiatedByDtc_Release(This) \
  2581. (This)->lpVtbl -> Release(This)
  2582. #define IDtcLuRecoveryInitiatedByDtc_GetWork(This,pWork,ppv) \
  2583. (This)->lpVtbl -> GetWork(This,pWork,ppv)
  2584. #endif /* COBJMACROS */
  2585. #endif /* C style interface */
  2586. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByDtc_GetWork_Proxy(
  2587. IDtcLuRecoveryInitiatedByDtc * This,
  2588. /* [out][in] */ DTCINITIATEDRECOVERYWORK *pWork,
  2589. /* [out][in] */ void **ppv);
  2590. void __RPC_STUB IDtcLuRecoveryInitiatedByDtc_GetWork_Stub(
  2591. IRpcStubBuffer *This,
  2592. IRpcChannelBuffer *_pRpcChannelBuffer,
  2593. PRPC_MESSAGE _pRpcMessage,
  2594. DWORD *_pdwStubPhase);
  2595. #endif /* __IDtcLuRecoveryInitiatedByDtc_INTERFACE_DEFINED__ */
  2596. #ifndef __IDtcLuRecoveryInitiatedByLuWork_INTERFACE_DEFINED__
  2597. #define __IDtcLuRecoveryInitiatedByLuWork_INTERFACE_DEFINED__
  2598. /* interface IDtcLuRecoveryInitiatedByLuWork */
  2599. /* [local][uuid][unique][object] */
  2600. EXTERN_C const IID IID_IDtcLuRecoveryInitiatedByLuWork;
  2601. #if defined(__cplusplus) && !defined(CINTERFACE)
  2602. MIDL_INTERFACE("AC2B8AD1-D6F0-11d0-B386-00A0C9083365")
  2603. IDtcLuRecoveryInitiatedByLuWork : public IUnknown
  2604. {
  2605. public:
  2606. virtual HRESULT STDMETHODCALLTYPE HandleTheirXln(
  2607. /* [in] */ LONG lRecoverySeqNum,
  2608. /* [in] */ DTCLUXLN Xln,
  2609. /* [in] */ unsigned char *pRemoteLogName,
  2610. /* [in] */ DWORD cbRemoteLogName,
  2611. /* [in] */ unsigned char *pOurLogName,
  2612. /* [in] */ DWORD cbOurLogName,
  2613. /* [in] */ DWORD dwProtocol,
  2614. /* [out] */ DTCLUXLNRESPONSE *pResponse) = 0;
  2615. virtual HRESULT STDMETHODCALLTYPE GetOurLogNameSize(
  2616. /* [out][in] */ DWORD *pcbOurLogName) = 0;
  2617. virtual HRESULT STDMETHODCALLTYPE GetOurXln(
  2618. /* [out] */ DTCLUXLN *pXln,
  2619. /* [out][in] */ unsigned char *pOurLogName,
  2620. /* [out] */ DWORD *pdwProtocol) = 0;
  2621. virtual HRESULT STDMETHODCALLTYPE HandleConfirmationOfOurXln(
  2622. /* [in] */ DTCLUXLNCONFIRMATION Confirmation) = 0;
  2623. virtual HRESULT STDMETHODCALLTYPE HandleTheirCompareStates(
  2624. /* [out][in] */ unsigned char *pRemoteTransId,
  2625. /* [in] */ DWORD cbRemoteTransId,
  2626. /* [in] */ DTCLUCOMPARESTATE CompareState,
  2627. /* [out] */ DTCLUCOMPARESTATESRESPONSE *pResponse,
  2628. /* [out] */ DTCLUCOMPARESTATE *pCompareState) = 0;
  2629. virtual HRESULT STDMETHODCALLTYPE HandleConfirmationOfOurCompareStates(
  2630. /* [in] */ DTCLUCOMPARESTATESCONFIRMATION Confirmation) = 0;
  2631. virtual HRESULT STDMETHODCALLTYPE HandleErrorFromOurCompareStates(
  2632. /* [in] */ DTCLUCOMPARESTATESERROR Error) = 0;
  2633. virtual HRESULT STDMETHODCALLTYPE ConversationLost( void) = 0;
  2634. };
  2635. #else /* C style interface */
  2636. typedef struct IDtcLuRecoveryInitiatedByLuWorkVtbl
  2637. {
  2638. BEGIN_INTERFACE
  2639. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2640. IDtcLuRecoveryInitiatedByLuWork * This,
  2641. /* [in] */ REFIID riid,
  2642. /* [iid_is][out] */ void **ppvObject);
  2643. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2644. IDtcLuRecoveryInitiatedByLuWork * This);
  2645. ULONG ( STDMETHODCALLTYPE *Release )(
  2646. IDtcLuRecoveryInitiatedByLuWork * This);
  2647. HRESULT ( STDMETHODCALLTYPE *HandleTheirXln )(
  2648. IDtcLuRecoveryInitiatedByLuWork * This,
  2649. /* [in] */ LONG lRecoverySeqNum,
  2650. /* [in] */ DTCLUXLN Xln,
  2651. /* [in] */ unsigned char *pRemoteLogName,
  2652. /* [in] */ DWORD cbRemoteLogName,
  2653. /* [in] */ unsigned char *pOurLogName,
  2654. /* [in] */ DWORD cbOurLogName,
  2655. /* [in] */ DWORD dwProtocol,
  2656. /* [out] */ DTCLUXLNRESPONSE *pResponse);
  2657. HRESULT ( STDMETHODCALLTYPE *GetOurLogNameSize )(
  2658. IDtcLuRecoveryInitiatedByLuWork * This,
  2659. /* [out][in] */ DWORD *pcbOurLogName);
  2660. HRESULT ( STDMETHODCALLTYPE *GetOurXln )(
  2661. IDtcLuRecoveryInitiatedByLuWork * This,
  2662. /* [out] */ DTCLUXLN *pXln,
  2663. /* [out][in] */ unsigned char *pOurLogName,
  2664. /* [out] */ DWORD *pdwProtocol);
  2665. HRESULT ( STDMETHODCALLTYPE *HandleConfirmationOfOurXln )(
  2666. IDtcLuRecoveryInitiatedByLuWork * This,
  2667. /* [in] */ DTCLUXLNCONFIRMATION Confirmation);
  2668. HRESULT ( STDMETHODCALLTYPE *HandleTheirCompareStates )(
  2669. IDtcLuRecoveryInitiatedByLuWork * This,
  2670. /* [out][in] */ unsigned char *pRemoteTransId,
  2671. /* [in] */ DWORD cbRemoteTransId,
  2672. /* [in] */ DTCLUCOMPARESTATE CompareState,
  2673. /* [out] */ DTCLUCOMPARESTATESRESPONSE *pResponse,
  2674. /* [out] */ DTCLUCOMPARESTATE *pCompareState);
  2675. HRESULT ( STDMETHODCALLTYPE *HandleConfirmationOfOurCompareStates )(
  2676. IDtcLuRecoveryInitiatedByLuWork * This,
  2677. /* [in] */ DTCLUCOMPARESTATESCONFIRMATION Confirmation);
  2678. HRESULT ( STDMETHODCALLTYPE *HandleErrorFromOurCompareStates )(
  2679. IDtcLuRecoveryInitiatedByLuWork * This,
  2680. /* [in] */ DTCLUCOMPARESTATESERROR Error);
  2681. HRESULT ( STDMETHODCALLTYPE *ConversationLost )(
  2682. IDtcLuRecoveryInitiatedByLuWork * This);
  2683. END_INTERFACE
  2684. } IDtcLuRecoveryInitiatedByLuWorkVtbl;
  2685. interface IDtcLuRecoveryInitiatedByLuWork
  2686. {
  2687. CONST_VTBL struct IDtcLuRecoveryInitiatedByLuWorkVtbl *lpVtbl;
  2688. };
  2689. #ifdef COBJMACROS
  2690. #define IDtcLuRecoveryInitiatedByLuWork_QueryInterface(This,riid,ppvObject) \
  2691. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2692. #define IDtcLuRecoveryInitiatedByLuWork_AddRef(This) \
  2693. (This)->lpVtbl -> AddRef(This)
  2694. #define IDtcLuRecoveryInitiatedByLuWork_Release(This) \
  2695. (This)->lpVtbl -> Release(This)
  2696. #define IDtcLuRecoveryInitiatedByLuWork_HandleTheirXln(This,lRecoverySeqNum,Xln,pRemoteLogName,cbRemoteLogName,pOurLogName,cbOurLogName,dwProtocol,pResponse) \
  2697. (This)->lpVtbl -> HandleTheirXln(This,lRecoverySeqNum,Xln,pRemoteLogName,cbRemoteLogName,pOurLogName,cbOurLogName,dwProtocol,pResponse)
  2698. #define IDtcLuRecoveryInitiatedByLuWork_GetOurLogNameSize(This,pcbOurLogName) \
  2699. (This)->lpVtbl -> GetOurLogNameSize(This,pcbOurLogName)
  2700. #define IDtcLuRecoveryInitiatedByLuWork_GetOurXln(This,pXln,pOurLogName,pdwProtocol) \
  2701. (This)->lpVtbl -> GetOurXln(This,pXln,pOurLogName,pdwProtocol)
  2702. #define IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurXln(This,Confirmation) \
  2703. (This)->lpVtbl -> HandleConfirmationOfOurXln(This,Confirmation)
  2704. #define IDtcLuRecoveryInitiatedByLuWork_HandleTheirCompareStates(This,pRemoteTransId,cbRemoteTransId,CompareState,pResponse,pCompareState) \
  2705. (This)->lpVtbl -> HandleTheirCompareStates(This,pRemoteTransId,cbRemoteTransId,CompareState,pResponse,pCompareState)
  2706. #define IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurCompareStates(This,Confirmation) \
  2707. (This)->lpVtbl -> HandleConfirmationOfOurCompareStates(This,Confirmation)
  2708. #define IDtcLuRecoveryInitiatedByLuWork_HandleErrorFromOurCompareStates(This,Error) \
  2709. (This)->lpVtbl -> HandleErrorFromOurCompareStates(This,Error)
  2710. #define IDtcLuRecoveryInitiatedByLuWork_ConversationLost(This) \
  2711. (This)->lpVtbl -> ConversationLost(This)
  2712. #endif /* COBJMACROS */
  2713. #endif /* C style interface */
  2714. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByLuWork_HandleTheirXln_Proxy(
  2715. IDtcLuRecoveryInitiatedByLuWork * This,
  2716. /* [in] */ LONG lRecoverySeqNum,
  2717. /* [in] */ DTCLUXLN Xln,
  2718. /* [in] */ unsigned char *pRemoteLogName,
  2719. /* [in] */ DWORD cbRemoteLogName,
  2720. /* [in] */ unsigned char *pOurLogName,
  2721. /* [in] */ DWORD cbOurLogName,
  2722. /* [in] */ DWORD dwProtocol,
  2723. /* [out] */ DTCLUXLNRESPONSE *pResponse);
  2724. void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_HandleTheirXln_Stub(
  2725. IRpcStubBuffer *This,
  2726. IRpcChannelBuffer *_pRpcChannelBuffer,
  2727. PRPC_MESSAGE _pRpcMessage,
  2728. DWORD *_pdwStubPhase);
  2729. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByLuWork_GetOurLogNameSize_Proxy(
  2730. IDtcLuRecoveryInitiatedByLuWork * This,
  2731. /* [out][in] */ DWORD *pcbOurLogName);
  2732. void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_GetOurLogNameSize_Stub(
  2733. IRpcStubBuffer *This,
  2734. IRpcChannelBuffer *_pRpcChannelBuffer,
  2735. PRPC_MESSAGE _pRpcMessage,
  2736. DWORD *_pdwStubPhase);
  2737. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByLuWork_GetOurXln_Proxy(
  2738. IDtcLuRecoveryInitiatedByLuWork * This,
  2739. /* [out] */ DTCLUXLN *pXln,
  2740. /* [out][in] */ unsigned char *pOurLogName,
  2741. /* [out] */ DWORD *pdwProtocol);
  2742. void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_GetOurXln_Stub(
  2743. IRpcStubBuffer *This,
  2744. IRpcChannelBuffer *_pRpcChannelBuffer,
  2745. PRPC_MESSAGE _pRpcMessage,
  2746. DWORD *_pdwStubPhase);
  2747. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurXln_Proxy(
  2748. IDtcLuRecoveryInitiatedByLuWork * This,
  2749. /* [in] */ DTCLUXLNCONFIRMATION Confirmation);
  2750. void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurXln_Stub(
  2751. IRpcStubBuffer *This,
  2752. IRpcChannelBuffer *_pRpcChannelBuffer,
  2753. PRPC_MESSAGE _pRpcMessage,
  2754. DWORD *_pdwStubPhase);
  2755. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByLuWork_HandleTheirCompareStates_Proxy(
  2756. IDtcLuRecoveryInitiatedByLuWork * This,
  2757. /* [out][in] */ unsigned char *pRemoteTransId,
  2758. /* [in] */ DWORD cbRemoteTransId,
  2759. /* [in] */ DTCLUCOMPARESTATE CompareState,
  2760. /* [out] */ DTCLUCOMPARESTATESRESPONSE *pResponse,
  2761. /* [out] */ DTCLUCOMPARESTATE *pCompareState);
  2762. void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_HandleTheirCompareStates_Stub(
  2763. IRpcStubBuffer *This,
  2764. IRpcChannelBuffer *_pRpcChannelBuffer,
  2765. PRPC_MESSAGE _pRpcMessage,
  2766. DWORD *_pdwStubPhase);
  2767. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurCompareStates_Proxy(
  2768. IDtcLuRecoveryInitiatedByLuWork * This,
  2769. /* [in] */ DTCLUCOMPARESTATESCONFIRMATION Confirmation);
  2770. void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurCompareStates_Stub(
  2771. IRpcStubBuffer *This,
  2772. IRpcChannelBuffer *_pRpcChannelBuffer,
  2773. PRPC_MESSAGE _pRpcMessage,
  2774. DWORD *_pdwStubPhase);
  2775. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByLuWork_HandleErrorFromOurCompareStates_Proxy(
  2776. IDtcLuRecoveryInitiatedByLuWork * This,
  2777. /* [in] */ DTCLUCOMPARESTATESERROR Error);
  2778. void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_HandleErrorFromOurCompareStates_Stub(
  2779. IRpcStubBuffer *This,
  2780. IRpcChannelBuffer *_pRpcChannelBuffer,
  2781. PRPC_MESSAGE _pRpcMessage,
  2782. DWORD *_pdwStubPhase);
  2783. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByLuWork_ConversationLost_Proxy(
  2784. IDtcLuRecoveryInitiatedByLuWork * This);
  2785. void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_ConversationLost_Stub(
  2786. IRpcStubBuffer *This,
  2787. IRpcChannelBuffer *_pRpcChannelBuffer,
  2788. PRPC_MESSAGE _pRpcMessage,
  2789. DWORD *_pdwStubPhase);
  2790. #endif /* __IDtcLuRecoveryInitiatedByLuWork_INTERFACE_DEFINED__ */
  2791. #ifndef __IDtcLuRecoveryInitiatedByLu_INTERFACE_DEFINED__
  2792. #define __IDtcLuRecoveryInitiatedByLu_INTERFACE_DEFINED__
  2793. /* interface IDtcLuRecoveryInitiatedByLu */
  2794. /* [uuid][unique][object] */
  2795. EXTERN_C const IID IID_IDtcLuRecoveryInitiatedByLu;
  2796. #if defined(__cplusplus) && !defined(CINTERFACE)
  2797. MIDL_INTERFACE("4131E768-1AEA-11d0-944B-00A0C905416E")
  2798. IDtcLuRecoveryInitiatedByLu : public IUnknown
  2799. {
  2800. public:
  2801. virtual HRESULT STDMETHODCALLTYPE GetObjectToHandleWorkFromLu(
  2802. /* [out] */ IDtcLuRecoveryInitiatedByLuWork **ppWork) = 0;
  2803. };
  2804. #else /* C style interface */
  2805. typedef struct IDtcLuRecoveryInitiatedByLuVtbl
  2806. {
  2807. BEGIN_INTERFACE
  2808. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2809. IDtcLuRecoveryInitiatedByLu * This,
  2810. /* [in] */ REFIID riid,
  2811. /* [iid_is][out] */ void **ppvObject);
  2812. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2813. IDtcLuRecoveryInitiatedByLu * This);
  2814. ULONG ( STDMETHODCALLTYPE *Release )(
  2815. IDtcLuRecoveryInitiatedByLu * This);
  2816. HRESULT ( STDMETHODCALLTYPE *GetObjectToHandleWorkFromLu )(
  2817. IDtcLuRecoveryInitiatedByLu * This,
  2818. /* [out] */ IDtcLuRecoveryInitiatedByLuWork **ppWork);
  2819. END_INTERFACE
  2820. } IDtcLuRecoveryInitiatedByLuVtbl;
  2821. interface IDtcLuRecoveryInitiatedByLu
  2822. {
  2823. CONST_VTBL struct IDtcLuRecoveryInitiatedByLuVtbl *lpVtbl;
  2824. };
  2825. #ifdef COBJMACROS
  2826. #define IDtcLuRecoveryInitiatedByLu_QueryInterface(This,riid,ppvObject) \
  2827. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2828. #define IDtcLuRecoveryInitiatedByLu_AddRef(This) \
  2829. (This)->lpVtbl -> AddRef(This)
  2830. #define IDtcLuRecoveryInitiatedByLu_Release(This) \
  2831. (This)->lpVtbl -> Release(This)
  2832. #define IDtcLuRecoveryInitiatedByLu_GetObjectToHandleWorkFromLu(This,ppWork) \
  2833. (This)->lpVtbl -> GetObjectToHandleWorkFromLu(This,ppWork)
  2834. #endif /* COBJMACROS */
  2835. #endif /* C style interface */
  2836. HRESULT STDMETHODCALLTYPE IDtcLuRecoveryInitiatedByLu_GetObjectToHandleWorkFromLu_Proxy(
  2837. IDtcLuRecoveryInitiatedByLu * This,
  2838. /* [out] */ IDtcLuRecoveryInitiatedByLuWork **ppWork);
  2839. void __RPC_STUB IDtcLuRecoveryInitiatedByLu_GetObjectToHandleWorkFromLu_Stub(
  2840. IRpcStubBuffer *This,
  2841. IRpcChannelBuffer *_pRpcChannelBuffer,
  2842. PRPC_MESSAGE _pRpcMessage,
  2843. DWORD *_pdwStubPhase);
  2844. #endif /* __IDtcLuRecoveryInitiatedByLu_INTERFACE_DEFINED__ */
  2845. #ifndef __IDtcLuRmEnlistment_INTERFACE_DEFINED__
  2846. #define __IDtcLuRmEnlistment_INTERFACE_DEFINED__
  2847. /* interface IDtcLuRmEnlistment */
  2848. /* [uuid][unique][object] */
  2849. EXTERN_C const IID IID_IDtcLuRmEnlistment;
  2850. #if defined(__cplusplus) && !defined(CINTERFACE)
  2851. MIDL_INTERFACE("4131E769-1AEA-11d0-944B-00A0C905416E")
  2852. IDtcLuRmEnlistment : public IUnknown
  2853. {
  2854. public:
  2855. virtual HRESULT STDMETHODCALLTYPE Unplug(
  2856. /* [in] */ BOOL fConversationLost) = 0;
  2857. virtual HRESULT STDMETHODCALLTYPE BackedOut( void) = 0;
  2858. virtual HRESULT STDMETHODCALLTYPE BackOut( void) = 0;
  2859. virtual HRESULT STDMETHODCALLTYPE Committed( void) = 0;
  2860. virtual HRESULT STDMETHODCALLTYPE Forget( void) = 0;
  2861. virtual HRESULT STDMETHODCALLTYPE RequestCommit( void) = 0;
  2862. };
  2863. #else /* C style interface */
  2864. typedef struct IDtcLuRmEnlistmentVtbl
  2865. {
  2866. BEGIN_INTERFACE
  2867. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2868. IDtcLuRmEnlistment * This,
  2869. /* [in] */ REFIID riid,
  2870. /* [iid_is][out] */ void **ppvObject);
  2871. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2872. IDtcLuRmEnlistment * This);
  2873. ULONG ( STDMETHODCALLTYPE *Release )(
  2874. IDtcLuRmEnlistment * This);
  2875. HRESULT ( STDMETHODCALLTYPE *Unplug )(
  2876. IDtcLuRmEnlistment * This,
  2877. /* [in] */ BOOL fConversationLost);
  2878. HRESULT ( STDMETHODCALLTYPE *BackedOut )(
  2879. IDtcLuRmEnlistment * This);
  2880. HRESULT ( STDMETHODCALLTYPE *BackOut )(
  2881. IDtcLuRmEnlistment * This);
  2882. HRESULT ( STDMETHODCALLTYPE *Committed )(
  2883. IDtcLuRmEnlistment * This);
  2884. HRESULT ( STDMETHODCALLTYPE *Forget )(
  2885. IDtcLuRmEnlistment * This);
  2886. HRESULT ( STDMETHODCALLTYPE *RequestCommit )(
  2887. IDtcLuRmEnlistment * This);
  2888. END_INTERFACE
  2889. } IDtcLuRmEnlistmentVtbl;
  2890. interface IDtcLuRmEnlistment
  2891. {
  2892. CONST_VTBL struct IDtcLuRmEnlistmentVtbl *lpVtbl;
  2893. };
  2894. #ifdef COBJMACROS
  2895. #define IDtcLuRmEnlistment_QueryInterface(This,riid,ppvObject) \
  2896. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2897. #define IDtcLuRmEnlistment_AddRef(This) \
  2898. (This)->lpVtbl -> AddRef(This)
  2899. #define IDtcLuRmEnlistment_Release(This) \
  2900. (This)->lpVtbl -> Release(This)
  2901. #define IDtcLuRmEnlistment_Unplug(This,fConversationLost) \
  2902. (This)->lpVtbl -> Unplug(This,fConversationLost)
  2903. #define IDtcLuRmEnlistment_BackedOut(This) \
  2904. (This)->lpVtbl -> BackedOut(This)
  2905. #define IDtcLuRmEnlistment_BackOut(This) \
  2906. (This)->lpVtbl -> BackOut(This)
  2907. #define IDtcLuRmEnlistment_Committed(This) \
  2908. (This)->lpVtbl -> Committed(This)
  2909. #define IDtcLuRmEnlistment_Forget(This) \
  2910. (This)->lpVtbl -> Forget(This)
  2911. #define IDtcLuRmEnlistment_RequestCommit(This) \
  2912. (This)->lpVtbl -> RequestCommit(This)
  2913. #endif /* COBJMACROS */
  2914. #endif /* C style interface */
  2915. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistment_Unplug_Proxy(
  2916. IDtcLuRmEnlistment * This,
  2917. /* [in] */ BOOL fConversationLost);
  2918. void __RPC_STUB IDtcLuRmEnlistment_Unplug_Stub(
  2919. IRpcStubBuffer *This,
  2920. IRpcChannelBuffer *_pRpcChannelBuffer,
  2921. PRPC_MESSAGE _pRpcMessage,
  2922. DWORD *_pdwStubPhase);
  2923. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistment_BackedOut_Proxy(
  2924. IDtcLuRmEnlistment * This);
  2925. void __RPC_STUB IDtcLuRmEnlistment_BackedOut_Stub(
  2926. IRpcStubBuffer *This,
  2927. IRpcChannelBuffer *_pRpcChannelBuffer,
  2928. PRPC_MESSAGE _pRpcMessage,
  2929. DWORD *_pdwStubPhase);
  2930. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistment_BackOut_Proxy(
  2931. IDtcLuRmEnlistment * This);
  2932. void __RPC_STUB IDtcLuRmEnlistment_BackOut_Stub(
  2933. IRpcStubBuffer *This,
  2934. IRpcChannelBuffer *_pRpcChannelBuffer,
  2935. PRPC_MESSAGE _pRpcMessage,
  2936. DWORD *_pdwStubPhase);
  2937. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistment_Committed_Proxy(
  2938. IDtcLuRmEnlistment * This);
  2939. void __RPC_STUB IDtcLuRmEnlistment_Committed_Stub(
  2940. IRpcStubBuffer *This,
  2941. IRpcChannelBuffer *_pRpcChannelBuffer,
  2942. PRPC_MESSAGE _pRpcMessage,
  2943. DWORD *_pdwStubPhase);
  2944. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistment_Forget_Proxy(
  2945. IDtcLuRmEnlistment * This);
  2946. void __RPC_STUB IDtcLuRmEnlistment_Forget_Stub(
  2947. IRpcStubBuffer *This,
  2948. IRpcChannelBuffer *_pRpcChannelBuffer,
  2949. PRPC_MESSAGE _pRpcMessage,
  2950. DWORD *_pdwStubPhase);
  2951. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistment_RequestCommit_Proxy(
  2952. IDtcLuRmEnlistment * This);
  2953. void __RPC_STUB IDtcLuRmEnlistment_RequestCommit_Stub(
  2954. IRpcStubBuffer *This,
  2955. IRpcChannelBuffer *_pRpcChannelBuffer,
  2956. PRPC_MESSAGE _pRpcMessage,
  2957. DWORD *_pdwStubPhase);
  2958. #endif /* __IDtcLuRmEnlistment_INTERFACE_DEFINED__ */
  2959. #ifndef __IDtcLuRmEnlistmentSink_INTERFACE_DEFINED__
  2960. #define __IDtcLuRmEnlistmentSink_INTERFACE_DEFINED__
  2961. /* interface IDtcLuRmEnlistmentSink */
  2962. /* [uuid][unique][object] */
  2963. EXTERN_C const IID IID_IDtcLuRmEnlistmentSink;
  2964. #if defined(__cplusplus) && !defined(CINTERFACE)
  2965. MIDL_INTERFACE("4131E770-1AEA-11d0-944B-00A0C905416E")
  2966. IDtcLuRmEnlistmentSink : public IUnknown
  2967. {
  2968. public:
  2969. virtual HRESULT STDMETHODCALLTYPE AckUnplug( void) = 0;
  2970. virtual HRESULT STDMETHODCALLTYPE TmDown( void) = 0;
  2971. virtual HRESULT STDMETHODCALLTYPE SessionLost( void) = 0;
  2972. virtual HRESULT STDMETHODCALLTYPE BackedOut( void) = 0;
  2973. virtual HRESULT STDMETHODCALLTYPE BackOut( void) = 0;
  2974. virtual HRESULT STDMETHODCALLTYPE Committed( void) = 0;
  2975. virtual HRESULT STDMETHODCALLTYPE Forget( void) = 0;
  2976. virtual HRESULT STDMETHODCALLTYPE Prepare( void) = 0;
  2977. virtual HRESULT STDMETHODCALLTYPE RequestCommit( void) = 0;
  2978. };
  2979. #else /* C style interface */
  2980. typedef struct IDtcLuRmEnlistmentSinkVtbl
  2981. {
  2982. BEGIN_INTERFACE
  2983. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2984. IDtcLuRmEnlistmentSink * This,
  2985. /* [in] */ REFIID riid,
  2986. /* [iid_is][out] */ void **ppvObject);
  2987. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2988. IDtcLuRmEnlistmentSink * This);
  2989. ULONG ( STDMETHODCALLTYPE *Release )(
  2990. IDtcLuRmEnlistmentSink * This);
  2991. HRESULT ( STDMETHODCALLTYPE *AckUnplug )(
  2992. IDtcLuRmEnlistmentSink * This);
  2993. HRESULT ( STDMETHODCALLTYPE *TmDown )(
  2994. IDtcLuRmEnlistmentSink * This);
  2995. HRESULT ( STDMETHODCALLTYPE *SessionLost )(
  2996. IDtcLuRmEnlistmentSink * This);
  2997. HRESULT ( STDMETHODCALLTYPE *BackedOut )(
  2998. IDtcLuRmEnlistmentSink * This);
  2999. HRESULT ( STDMETHODCALLTYPE *BackOut )(
  3000. IDtcLuRmEnlistmentSink * This);
  3001. HRESULT ( STDMETHODCALLTYPE *Committed )(
  3002. IDtcLuRmEnlistmentSink * This);
  3003. HRESULT ( STDMETHODCALLTYPE *Forget )(
  3004. IDtcLuRmEnlistmentSink * This);
  3005. HRESULT ( STDMETHODCALLTYPE *Prepare )(
  3006. IDtcLuRmEnlistmentSink * This);
  3007. HRESULT ( STDMETHODCALLTYPE *RequestCommit )(
  3008. IDtcLuRmEnlistmentSink * This);
  3009. END_INTERFACE
  3010. } IDtcLuRmEnlistmentSinkVtbl;
  3011. interface IDtcLuRmEnlistmentSink
  3012. {
  3013. CONST_VTBL struct IDtcLuRmEnlistmentSinkVtbl *lpVtbl;
  3014. };
  3015. #ifdef COBJMACROS
  3016. #define IDtcLuRmEnlistmentSink_QueryInterface(This,riid,ppvObject) \
  3017. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3018. #define IDtcLuRmEnlistmentSink_AddRef(This) \
  3019. (This)->lpVtbl -> AddRef(This)
  3020. #define IDtcLuRmEnlistmentSink_Release(This) \
  3021. (This)->lpVtbl -> Release(This)
  3022. #define IDtcLuRmEnlistmentSink_AckUnplug(This) \
  3023. (This)->lpVtbl -> AckUnplug(This)
  3024. #define IDtcLuRmEnlistmentSink_TmDown(This) \
  3025. (This)->lpVtbl -> TmDown(This)
  3026. #define IDtcLuRmEnlistmentSink_SessionLost(This) \
  3027. (This)->lpVtbl -> SessionLost(This)
  3028. #define IDtcLuRmEnlistmentSink_BackedOut(This) \
  3029. (This)->lpVtbl -> BackedOut(This)
  3030. #define IDtcLuRmEnlistmentSink_BackOut(This) \
  3031. (This)->lpVtbl -> BackOut(This)
  3032. #define IDtcLuRmEnlistmentSink_Committed(This) \
  3033. (This)->lpVtbl -> Committed(This)
  3034. #define IDtcLuRmEnlistmentSink_Forget(This) \
  3035. (This)->lpVtbl -> Forget(This)
  3036. #define IDtcLuRmEnlistmentSink_Prepare(This) \
  3037. (This)->lpVtbl -> Prepare(This)
  3038. #define IDtcLuRmEnlistmentSink_RequestCommit(This) \
  3039. (This)->lpVtbl -> RequestCommit(This)
  3040. #endif /* COBJMACROS */
  3041. #endif /* C style interface */
  3042. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistmentSink_AckUnplug_Proxy(
  3043. IDtcLuRmEnlistmentSink * This);
  3044. void __RPC_STUB IDtcLuRmEnlistmentSink_AckUnplug_Stub(
  3045. IRpcStubBuffer *This,
  3046. IRpcChannelBuffer *_pRpcChannelBuffer,
  3047. PRPC_MESSAGE _pRpcMessage,
  3048. DWORD *_pdwStubPhase);
  3049. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistmentSink_TmDown_Proxy(
  3050. IDtcLuRmEnlistmentSink * This);
  3051. void __RPC_STUB IDtcLuRmEnlistmentSink_TmDown_Stub(
  3052. IRpcStubBuffer *This,
  3053. IRpcChannelBuffer *_pRpcChannelBuffer,
  3054. PRPC_MESSAGE _pRpcMessage,
  3055. DWORD *_pdwStubPhase);
  3056. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistmentSink_SessionLost_Proxy(
  3057. IDtcLuRmEnlistmentSink * This);
  3058. void __RPC_STUB IDtcLuRmEnlistmentSink_SessionLost_Stub(
  3059. IRpcStubBuffer *This,
  3060. IRpcChannelBuffer *_pRpcChannelBuffer,
  3061. PRPC_MESSAGE _pRpcMessage,
  3062. DWORD *_pdwStubPhase);
  3063. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistmentSink_BackedOut_Proxy(
  3064. IDtcLuRmEnlistmentSink * This);
  3065. void __RPC_STUB IDtcLuRmEnlistmentSink_BackedOut_Stub(
  3066. IRpcStubBuffer *This,
  3067. IRpcChannelBuffer *_pRpcChannelBuffer,
  3068. PRPC_MESSAGE _pRpcMessage,
  3069. DWORD *_pdwStubPhase);
  3070. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistmentSink_BackOut_Proxy(
  3071. IDtcLuRmEnlistmentSink * This);
  3072. void __RPC_STUB IDtcLuRmEnlistmentSink_BackOut_Stub(
  3073. IRpcStubBuffer *This,
  3074. IRpcChannelBuffer *_pRpcChannelBuffer,
  3075. PRPC_MESSAGE _pRpcMessage,
  3076. DWORD *_pdwStubPhase);
  3077. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistmentSink_Committed_Proxy(
  3078. IDtcLuRmEnlistmentSink * This);
  3079. void __RPC_STUB IDtcLuRmEnlistmentSink_Committed_Stub(
  3080. IRpcStubBuffer *This,
  3081. IRpcChannelBuffer *_pRpcChannelBuffer,
  3082. PRPC_MESSAGE _pRpcMessage,
  3083. DWORD *_pdwStubPhase);
  3084. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistmentSink_Forget_Proxy(
  3085. IDtcLuRmEnlistmentSink * This);
  3086. void __RPC_STUB IDtcLuRmEnlistmentSink_Forget_Stub(
  3087. IRpcStubBuffer *This,
  3088. IRpcChannelBuffer *_pRpcChannelBuffer,
  3089. PRPC_MESSAGE _pRpcMessage,
  3090. DWORD *_pdwStubPhase);
  3091. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistmentSink_Prepare_Proxy(
  3092. IDtcLuRmEnlistmentSink * This);
  3093. void __RPC_STUB IDtcLuRmEnlistmentSink_Prepare_Stub(
  3094. IRpcStubBuffer *This,
  3095. IRpcChannelBuffer *_pRpcChannelBuffer,
  3096. PRPC_MESSAGE _pRpcMessage,
  3097. DWORD *_pdwStubPhase);
  3098. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistmentSink_RequestCommit_Proxy(
  3099. IDtcLuRmEnlistmentSink * This);
  3100. void __RPC_STUB IDtcLuRmEnlistmentSink_RequestCommit_Stub(
  3101. IRpcStubBuffer *This,
  3102. IRpcChannelBuffer *_pRpcChannelBuffer,
  3103. PRPC_MESSAGE _pRpcMessage,
  3104. DWORD *_pdwStubPhase);
  3105. #endif /* __IDtcLuRmEnlistmentSink_INTERFACE_DEFINED__ */
  3106. #ifndef __IDtcLuRmEnlistmentFactory_INTERFACE_DEFINED__
  3107. #define __IDtcLuRmEnlistmentFactory_INTERFACE_DEFINED__
  3108. /* interface IDtcLuRmEnlistmentFactory */
  3109. /* [local][uuid][unique][object] */
  3110. EXTERN_C const IID IID_IDtcLuRmEnlistmentFactory;
  3111. #if defined(__cplusplus) && !defined(CINTERFACE)
  3112. MIDL_INTERFACE("4131E771-1AEA-11d0-944B-00A0C905416E")
  3113. IDtcLuRmEnlistmentFactory : public IUnknown
  3114. {
  3115. public:
  3116. virtual HRESULT STDMETHODCALLTYPE Create(
  3117. /* [in] */ unsigned char *pucLuPair,
  3118. /* [in] */ DWORD cbLuPair,
  3119. /* [in] */ ITransaction *pITransaction,
  3120. /* [in] */ unsigned char *pTransId,
  3121. /* [in] */ DWORD cbTransId,
  3122. /* [in] */ IDtcLuRmEnlistmentSink *pRmEnlistmentSink,
  3123. /* [out][in] */ IDtcLuRmEnlistment **ppRmEnlistment) = 0;
  3124. };
  3125. #else /* C style interface */
  3126. typedef struct IDtcLuRmEnlistmentFactoryVtbl
  3127. {
  3128. BEGIN_INTERFACE
  3129. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3130. IDtcLuRmEnlistmentFactory * This,
  3131. /* [in] */ REFIID riid,
  3132. /* [iid_is][out] */ void **ppvObject);
  3133. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3134. IDtcLuRmEnlistmentFactory * This);
  3135. ULONG ( STDMETHODCALLTYPE *Release )(
  3136. IDtcLuRmEnlistmentFactory * This);
  3137. HRESULT ( STDMETHODCALLTYPE *Create )(
  3138. IDtcLuRmEnlistmentFactory * This,
  3139. /* [in] */ unsigned char *pucLuPair,
  3140. /* [in] */ DWORD cbLuPair,
  3141. /* [in] */ ITransaction *pITransaction,
  3142. /* [in] */ unsigned char *pTransId,
  3143. /* [in] */ DWORD cbTransId,
  3144. /* [in] */ IDtcLuRmEnlistmentSink *pRmEnlistmentSink,
  3145. /* [out][in] */ IDtcLuRmEnlistment **ppRmEnlistment);
  3146. END_INTERFACE
  3147. } IDtcLuRmEnlistmentFactoryVtbl;
  3148. interface IDtcLuRmEnlistmentFactory
  3149. {
  3150. CONST_VTBL struct IDtcLuRmEnlistmentFactoryVtbl *lpVtbl;
  3151. };
  3152. #ifdef COBJMACROS
  3153. #define IDtcLuRmEnlistmentFactory_QueryInterface(This,riid,ppvObject) \
  3154. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3155. #define IDtcLuRmEnlistmentFactory_AddRef(This) \
  3156. (This)->lpVtbl -> AddRef(This)
  3157. #define IDtcLuRmEnlistmentFactory_Release(This) \
  3158. (This)->lpVtbl -> Release(This)
  3159. #define IDtcLuRmEnlistmentFactory_Create(This,pucLuPair,cbLuPair,pITransaction,pTransId,cbTransId,pRmEnlistmentSink,ppRmEnlistment) \
  3160. (This)->lpVtbl -> Create(This,pucLuPair,cbLuPair,pITransaction,pTransId,cbTransId,pRmEnlistmentSink,ppRmEnlistment)
  3161. #endif /* COBJMACROS */
  3162. #endif /* C style interface */
  3163. HRESULT STDMETHODCALLTYPE IDtcLuRmEnlistmentFactory_Create_Proxy(
  3164. IDtcLuRmEnlistmentFactory * This,
  3165. /* [in] */ unsigned char *pucLuPair,
  3166. /* [in] */ DWORD cbLuPair,
  3167. /* [in] */ ITransaction *pITransaction,
  3168. /* [in] */ unsigned char *pTransId,
  3169. /* [in] */ DWORD cbTransId,
  3170. /* [in] */ IDtcLuRmEnlistmentSink *pRmEnlistmentSink,
  3171. /* [out][in] */ IDtcLuRmEnlistment **ppRmEnlistment);
  3172. void __RPC_STUB IDtcLuRmEnlistmentFactory_Create_Stub(
  3173. IRpcStubBuffer *This,
  3174. IRpcChannelBuffer *_pRpcChannelBuffer,
  3175. PRPC_MESSAGE _pRpcMessage,
  3176. DWORD *_pdwStubPhase);
  3177. #endif /* __IDtcLuRmEnlistmentFactory_INTERFACE_DEFINED__ */
  3178. #ifndef __IDtcLuSubordinateDtc_INTERFACE_DEFINED__
  3179. #define __IDtcLuSubordinateDtc_INTERFACE_DEFINED__
  3180. /* interface IDtcLuSubordinateDtc */
  3181. /* [uuid][unique][object] */
  3182. EXTERN_C const IID IID_IDtcLuSubordinateDtc;
  3183. #if defined(__cplusplus) && !defined(CINTERFACE)
  3184. MIDL_INTERFACE("4131E773-1AEA-11d0-944B-00A0C905416E")
  3185. IDtcLuSubordinateDtc : public IUnknown
  3186. {
  3187. public:
  3188. virtual HRESULT STDMETHODCALLTYPE Unplug(
  3189. /* [in] */ BOOL fConversationLost) = 0;
  3190. virtual HRESULT STDMETHODCALLTYPE BackedOut( void) = 0;
  3191. virtual HRESULT STDMETHODCALLTYPE BackOut( void) = 0;
  3192. virtual HRESULT STDMETHODCALLTYPE Committed( void) = 0;
  3193. virtual HRESULT STDMETHODCALLTYPE Forget( void) = 0;
  3194. virtual HRESULT STDMETHODCALLTYPE Prepare( void) = 0;
  3195. virtual HRESULT STDMETHODCALLTYPE RequestCommit( void) = 0;
  3196. };
  3197. #else /* C style interface */
  3198. typedef struct IDtcLuSubordinateDtcVtbl
  3199. {
  3200. BEGIN_INTERFACE
  3201. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3202. IDtcLuSubordinateDtc * This,
  3203. /* [in] */ REFIID riid,
  3204. /* [iid_is][out] */ void **ppvObject);
  3205. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3206. IDtcLuSubordinateDtc * This);
  3207. ULONG ( STDMETHODCALLTYPE *Release )(
  3208. IDtcLuSubordinateDtc * This);
  3209. HRESULT ( STDMETHODCALLTYPE *Unplug )(
  3210. IDtcLuSubordinateDtc * This,
  3211. /* [in] */ BOOL fConversationLost);
  3212. HRESULT ( STDMETHODCALLTYPE *BackedOut )(
  3213. IDtcLuSubordinateDtc * This);
  3214. HRESULT ( STDMETHODCALLTYPE *BackOut )(
  3215. IDtcLuSubordinateDtc * This);
  3216. HRESULT ( STDMETHODCALLTYPE *Committed )(
  3217. IDtcLuSubordinateDtc * This);
  3218. HRESULT ( STDMETHODCALLTYPE *Forget )(
  3219. IDtcLuSubordinateDtc * This);
  3220. HRESULT ( STDMETHODCALLTYPE *Prepare )(
  3221. IDtcLuSubordinateDtc * This);
  3222. HRESULT ( STDMETHODCALLTYPE *RequestCommit )(
  3223. IDtcLuSubordinateDtc * This);
  3224. END_INTERFACE
  3225. } IDtcLuSubordinateDtcVtbl;
  3226. interface IDtcLuSubordinateDtc
  3227. {
  3228. CONST_VTBL struct IDtcLuSubordinateDtcVtbl *lpVtbl;
  3229. };
  3230. #ifdef COBJMACROS
  3231. #define IDtcLuSubordinateDtc_QueryInterface(This,riid,ppvObject) \
  3232. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3233. #define IDtcLuSubordinateDtc_AddRef(This) \
  3234. (This)->lpVtbl -> AddRef(This)
  3235. #define IDtcLuSubordinateDtc_Release(This) \
  3236. (This)->lpVtbl -> Release(This)
  3237. #define IDtcLuSubordinateDtc_Unplug(This,fConversationLost) \
  3238. (This)->lpVtbl -> Unplug(This,fConversationLost)
  3239. #define IDtcLuSubordinateDtc_BackedOut(This) \
  3240. (This)->lpVtbl -> BackedOut(This)
  3241. #define IDtcLuSubordinateDtc_BackOut(This) \
  3242. (This)->lpVtbl -> BackOut(This)
  3243. #define IDtcLuSubordinateDtc_Committed(This) \
  3244. (This)->lpVtbl -> Committed(This)
  3245. #define IDtcLuSubordinateDtc_Forget(This) \
  3246. (This)->lpVtbl -> Forget(This)
  3247. #define IDtcLuSubordinateDtc_Prepare(This) \
  3248. (This)->lpVtbl -> Prepare(This)
  3249. #define IDtcLuSubordinateDtc_RequestCommit(This) \
  3250. (This)->lpVtbl -> RequestCommit(This)
  3251. #endif /* COBJMACROS */
  3252. #endif /* C style interface */
  3253. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtc_Unplug_Proxy(
  3254. IDtcLuSubordinateDtc * This,
  3255. /* [in] */ BOOL fConversationLost);
  3256. void __RPC_STUB IDtcLuSubordinateDtc_Unplug_Stub(
  3257. IRpcStubBuffer *This,
  3258. IRpcChannelBuffer *_pRpcChannelBuffer,
  3259. PRPC_MESSAGE _pRpcMessage,
  3260. DWORD *_pdwStubPhase);
  3261. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtc_BackedOut_Proxy(
  3262. IDtcLuSubordinateDtc * This);
  3263. void __RPC_STUB IDtcLuSubordinateDtc_BackedOut_Stub(
  3264. IRpcStubBuffer *This,
  3265. IRpcChannelBuffer *_pRpcChannelBuffer,
  3266. PRPC_MESSAGE _pRpcMessage,
  3267. DWORD *_pdwStubPhase);
  3268. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtc_BackOut_Proxy(
  3269. IDtcLuSubordinateDtc * This);
  3270. void __RPC_STUB IDtcLuSubordinateDtc_BackOut_Stub(
  3271. IRpcStubBuffer *This,
  3272. IRpcChannelBuffer *_pRpcChannelBuffer,
  3273. PRPC_MESSAGE _pRpcMessage,
  3274. DWORD *_pdwStubPhase);
  3275. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtc_Committed_Proxy(
  3276. IDtcLuSubordinateDtc * This);
  3277. void __RPC_STUB IDtcLuSubordinateDtc_Committed_Stub(
  3278. IRpcStubBuffer *This,
  3279. IRpcChannelBuffer *_pRpcChannelBuffer,
  3280. PRPC_MESSAGE _pRpcMessage,
  3281. DWORD *_pdwStubPhase);
  3282. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtc_Forget_Proxy(
  3283. IDtcLuSubordinateDtc * This);
  3284. void __RPC_STUB IDtcLuSubordinateDtc_Forget_Stub(
  3285. IRpcStubBuffer *This,
  3286. IRpcChannelBuffer *_pRpcChannelBuffer,
  3287. PRPC_MESSAGE _pRpcMessage,
  3288. DWORD *_pdwStubPhase);
  3289. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtc_Prepare_Proxy(
  3290. IDtcLuSubordinateDtc * This);
  3291. void __RPC_STUB IDtcLuSubordinateDtc_Prepare_Stub(
  3292. IRpcStubBuffer *This,
  3293. IRpcChannelBuffer *_pRpcChannelBuffer,
  3294. PRPC_MESSAGE _pRpcMessage,
  3295. DWORD *_pdwStubPhase);
  3296. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtc_RequestCommit_Proxy(
  3297. IDtcLuSubordinateDtc * This);
  3298. void __RPC_STUB IDtcLuSubordinateDtc_RequestCommit_Stub(
  3299. IRpcStubBuffer *This,
  3300. IRpcChannelBuffer *_pRpcChannelBuffer,
  3301. PRPC_MESSAGE _pRpcMessage,
  3302. DWORD *_pdwStubPhase);
  3303. #endif /* __IDtcLuSubordinateDtc_INTERFACE_DEFINED__ */
  3304. #ifndef __IDtcLuSubordinateDtcSink_INTERFACE_DEFINED__
  3305. #define __IDtcLuSubordinateDtcSink_INTERFACE_DEFINED__
  3306. /* interface IDtcLuSubordinateDtcSink */
  3307. /* [local][uuid][unique][object] */
  3308. EXTERN_C const IID IID_IDtcLuSubordinateDtcSink;
  3309. #if defined(__cplusplus) && !defined(CINTERFACE)
  3310. MIDL_INTERFACE("4131E774-1AEA-11d0-944B-00A0C905416E")
  3311. IDtcLuSubordinateDtcSink : public IUnknown
  3312. {
  3313. public:
  3314. virtual HRESULT STDMETHODCALLTYPE AckUnplug( void) = 0;
  3315. virtual HRESULT STDMETHODCALLTYPE TmDown( void) = 0;
  3316. virtual HRESULT STDMETHODCALLTYPE SessionLost( void) = 0;
  3317. virtual HRESULT STDMETHODCALLTYPE BackedOut( void) = 0;
  3318. virtual HRESULT STDMETHODCALLTYPE BackOut( void) = 0;
  3319. virtual HRESULT STDMETHODCALLTYPE Committed( void) = 0;
  3320. virtual HRESULT STDMETHODCALLTYPE Forget( void) = 0;
  3321. virtual HRESULT STDMETHODCALLTYPE RequestCommit( void) = 0;
  3322. };
  3323. #else /* C style interface */
  3324. typedef struct IDtcLuSubordinateDtcSinkVtbl
  3325. {
  3326. BEGIN_INTERFACE
  3327. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3328. IDtcLuSubordinateDtcSink * This,
  3329. /* [in] */ REFIID riid,
  3330. /* [iid_is][out] */ void **ppvObject);
  3331. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3332. IDtcLuSubordinateDtcSink * This);
  3333. ULONG ( STDMETHODCALLTYPE *Release )(
  3334. IDtcLuSubordinateDtcSink * This);
  3335. HRESULT ( STDMETHODCALLTYPE *AckUnplug )(
  3336. IDtcLuSubordinateDtcSink * This);
  3337. HRESULT ( STDMETHODCALLTYPE *TmDown )(
  3338. IDtcLuSubordinateDtcSink * This);
  3339. HRESULT ( STDMETHODCALLTYPE *SessionLost )(
  3340. IDtcLuSubordinateDtcSink * This);
  3341. HRESULT ( STDMETHODCALLTYPE *BackedOut )(
  3342. IDtcLuSubordinateDtcSink * This);
  3343. HRESULT ( STDMETHODCALLTYPE *BackOut )(
  3344. IDtcLuSubordinateDtcSink * This);
  3345. HRESULT ( STDMETHODCALLTYPE *Committed )(
  3346. IDtcLuSubordinateDtcSink * This);
  3347. HRESULT ( STDMETHODCALLTYPE *Forget )(
  3348. IDtcLuSubordinateDtcSink * This);
  3349. HRESULT ( STDMETHODCALLTYPE *RequestCommit )(
  3350. IDtcLuSubordinateDtcSink * This);
  3351. END_INTERFACE
  3352. } IDtcLuSubordinateDtcSinkVtbl;
  3353. interface IDtcLuSubordinateDtcSink
  3354. {
  3355. CONST_VTBL struct IDtcLuSubordinateDtcSinkVtbl *lpVtbl;
  3356. };
  3357. #ifdef COBJMACROS
  3358. #define IDtcLuSubordinateDtcSink_QueryInterface(This,riid,ppvObject) \
  3359. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3360. #define IDtcLuSubordinateDtcSink_AddRef(This) \
  3361. (This)->lpVtbl -> AddRef(This)
  3362. #define IDtcLuSubordinateDtcSink_Release(This) \
  3363. (This)->lpVtbl -> Release(This)
  3364. #define IDtcLuSubordinateDtcSink_AckUnplug(This) \
  3365. (This)->lpVtbl -> AckUnplug(This)
  3366. #define IDtcLuSubordinateDtcSink_TmDown(This) \
  3367. (This)->lpVtbl -> TmDown(This)
  3368. #define IDtcLuSubordinateDtcSink_SessionLost(This) \
  3369. (This)->lpVtbl -> SessionLost(This)
  3370. #define IDtcLuSubordinateDtcSink_BackedOut(This) \
  3371. (This)->lpVtbl -> BackedOut(This)
  3372. #define IDtcLuSubordinateDtcSink_BackOut(This) \
  3373. (This)->lpVtbl -> BackOut(This)
  3374. #define IDtcLuSubordinateDtcSink_Committed(This) \
  3375. (This)->lpVtbl -> Committed(This)
  3376. #define IDtcLuSubordinateDtcSink_Forget(This) \
  3377. (This)->lpVtbl -> Forget(This)
  3378. #define IDtcLuSubordinateDtcSink_RequestCommit(This) \
  3379. (This)->lpVtbl -> RequestCommit(This)
  3380. #endif /* COBJMACROS */
  3381. #endif /* C style interface */
  3382. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtcSink_AckUnplug_Proxy(
  3383. IDtcLuSubordinateDtcSink * This);
  3384. void __RPC_STUB IDtcLuSubordinateDtcSink_AckUnplug_Stub(
  3385. IRpcStubBuffer *This,
  3386. IRpcChannelBuffer *_pRpcChannelBuffer,
  3387. PRPC_MESSAGE _pRpcMessage,
  3388. DWORD *_pdwStubPhase);
  3389. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtcSink_TmDown_Proxy(
  3390. IDtcLuSubordinateDtcSink * This);
  3391. void __RPC_STUB IDtcLuSubordinateDtcSink_TmDown_Stub(
  3392. IRpcStubBuffer *This,
  3393. IRpcChannelBuffer *_pRpcChannelBuffer,
  3394. PRPC_MESSAGE _pRpcMessage,
  3395. DWORD *_pdwStubPhase);
  3396. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtcSink_SessionLost_Proxy(
  3397. IDtcLuSubordinateDtcSink * This);
  3398. void __RPC_STUB IDtcLuSubordinateDtcSink_SessionLost_Stub(
  3399. IRpcStubBuffer *This,
  3400. IRpcChannelBuffer *_pRpcChannelBuffer,
  3401. PRPC_MESSAGE _pRpcMessage,
  3402. DWORD *_pdwStubPhase);
  3403. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtcSink_BackedOut_Proxy(
  3404. IDtcLuSubordinateDtcSink * This);
  3405. void __RPC_STUB IDtcLuSubordinateDtcSink_BackedOut_Stub(
  3406. IRpcStubBuffer *This,
  3407. IRpcChannelBuffer *_pRpcChannelBuffer,
  3408. PRPC_MESSAGE _pRpcMessage,
  3409. DWORD *_pdwStubPhase);
  3410. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtcSink_BackOut_Proxy(
  3411. IDtcLuSubordinateDtcSink * This);
  3412. void __RPC_STUB IDtcLuSubordinateDtcSink_BackOut_Stub(
  3413. IRpcStubBuffer *This,
  3414. IRpcChannelBuffer *_pRpcChannelBuffer,
  3415. PRPC_MESSAGE _pRpcMessage,
  3416. DWORD *_pdwStubPhase);
  3417. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtcSink_Committed_Proxy(
  3418. IDtcLuSubordinateDtcSink * This);
  3419. void __RPC_STUB IDtcLuSubordinateDtcSink_Committed_Stub(
  3420. IRpcStubBuffer *This,
  3421. IRpcChannelBuffer *_pRpcChannelBuffer,
  3422. PRPC_MESSAGE _pRpcMessage,
  3423. DWORD *_pdwStubPhase);
  3424. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtcSink_Forget_Proxy(
  3425. IDtcLuSubordinateDtcSink * This);
  3426. void __RPC_STUB IDtcLuSubordinateDtcSink_Forget_Stub(
  3427. IRpcStubBuffer *This,
  3428. IRpcChannelBuffer *_pRpcChannelBuffer,
  3429. PRPC_MESSAGE _pRpcMessage,
  3430. DWORD *_pdwStubPhase);
  3431. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtcSink_RequestCommit_Proxy(
  3432. IDtcLuSubordinateDtcSink * This);
  3433. void __RPC_STUB IDtcLuSubordinateDtcSink_RequestCommit_Stub(
  3434. IRpcStubBuffer *This,
  3435. IRpcChannelBuffer *_pRpcChannelBuffer,
  3436. PRPC_MESSAGE _pRpcMessage,
  3437. DWORD *_pdwStubPhase);
  3438. #endif /* __IDtcLuSubordinateDtcSink_INTERFACE_DEFINED__ */
  3439. #ifndef __IDtcLuSubordinateDtcFactory_INTERFACE_DEFINED__
  3440. #define __IDtcLuSubordinateDtcFactory_INTERFACE_DEFINED__
  3441. /* interface IDtcLuSubordinateDtcFactory */
  3442. /* [local][uuid][unique][object] */
  3443. EXTERN_C const IID IID_IDtcLuSubordinateDtcFactory;
  3444. #if defined(__cplusplus) && !defined(CINTERFACE)
  3445. MIDL_INTERFACE("4131E775-1AEA-11d0-944B-00A0C905416E")
  3446. IDtcLuSubordinateDtcFactory : public IUnknown
  3447. {
  3448. public:
  3449. virtual HRESULT STDMETHODCALLTYPE Create(
  3450. /* [in] */ unsigned char *pucLuPair,
  3451. /* [in] */ DWORD cbLuPair,
  3452. /* [in] */ IUnknown *punkTransactionOuter,
  3453. /* [in] */ ISOLEVEL isoLevel,
  3454. /* [in] */ ULONG isoFlags,
  3455. /* [in] */ ITransactionOptions *pOptions,
  3456. /* [out] */ ITransaction **ppTransaction,
  3457. /* [in] */ unsigned char *pTransId,
  3458. /* [in] */ DWORD cbTransId,
  3459. /* [in] */ IDtcLuSubordinateDtcSink *pSubordinateDtcSink,
  3460. /* [out][in] */ IDtcLuSubordinateDtc **ppSubordinateDtc) = 0;
  3461. };
  3462. #else /* C style interface */
  3463. typedef struct IDtcLuSubordinateDtcFactoryVtbl
  3464. {
  3465. BEGIN_INTERFACE
  3466. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3467. IDtcLuSubordinateDtcFactory * This,
  3468. /* [in] */ REFIID riid,
  3469. /* [iid_is][out] */ void **ppvObject);
  3470. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3471. IDtcLuSubordinateDtcFactory * This);
  3472. ULONG ( STDMETHODCALLTYPE *Release )(
  3473. IDtcLuSubordinateDtcFactory * This);
  3474. HRESULT ( STDMETHODCALLTYPE *Create )(
  3475. IDtcLuSubordinateDtcFactory * This,
  3476. /* [in] */ unsigned char *pucLuPair,
  3477. /* [in] */ DWORD cbLuPair,
  3478. /* [in] */ IUnknown *punkTransactionOuter,
  3479. /* [in] */ ISOLEVEL isoLevel,
  3480. /* [in] */ ULONG isoFlags,
  3481. /* [in] */ ITransactionOptions *pOptions,
  3482. /* [out] */ ITransaction **ppTransaction,
  3483. /* [in] */ unsigned char *pTransId,
  3484. /* [in] */ DWORD cbTransId,
  3485. /* [in] */ IDtcLuSubordinateDtcSink *pSubordinateDtcSink,
  3486. /* [out][in] */ IDtcLuSubordinateDtc **ppSubordinateDtc);
  3487. END_INTERFACE
  3488. } IDtcLuSubordinateDtcFactoryVtbl;
  3489. interface IDtcLuSubordinateDtcFactory
  3490. {
  3491. CONST_VTBL struct IDtcLuSubordinateDtcFactoryVtbl *lpVtbl;
  3492. };
  3493. #ifdef COBJMACROS
  3494. #define IDtcLuSubordinateDtcFactory_QueryInterface(This,riid,ppvObject) \
  3495. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3496. #define IDtcLuSubordinateDtcFactory_AddRef(This) \
  3497. (This)->lpVtbl -> AddRef(This)
  3498. #define IDtcLuSubordinateDtcFactory_Release(This) \
  3499. (This)->lpVtbl -> Release(This)
  3500. #define IDtcLuSubordinateDtcFactory_Create(This,pucLuPair,cbLuPair,punkTransactionOuter,isoLevel,isoFlags,pOptions,ppTransaction,pTransId,cbTransId,pSubordinateDtcSink,ppSubordinateDtc) \
  3501. (This)->lpVtbl -> Create(This,pucLuPair,cbLuPair,punkTransactionOuter,isoLevel,isoFlags,pOptions,ppTransaction,pTransId,cbTransId,pSubordinateDtcSink,ppSubordinateDtc)
  3502. #endif /* COBJMACROS */
  3503. #endif /* C style interface */
  3504. HRESULT STDMETHODCALLTYPE IDtcLuSubordinateDtcFactory_Create_Proxy(
  3505. IDtcLuSubordinateDtcFactory * This,
  3506. /* [in] */ unsigned char *pucLuPair,
  3507. /* [in] */ DWORD cbLuPair,
  3508. /* [in] */ IUnknown *punkTransactionOuter,
  3509. /* [in] */ ISOLEVEL isoLevel,
  3510. /* [in] */ ULONG isoFlags,
  3511. /* [in] */ ITransactionOptions *pOptions,
  3512. /* [out] */ ITransaction **ppTransaction,
  3513. /* [in] */ unsigned char *pTransId,
  3514. /* [in] */ DWORD cbTransId,
  3515. /* [in] */ IDtcLuSubordinateDtcSink *pSubordinateDtcSink,
  3516. /* [out][in] */ IDtcLuSubordinateDtc **ppSubordinateDtc);
  3517. void __RPC_STUB IDtcLuSubordinateDtcFactory_Create_Stub(
  3518. IRpcStubBuffer *This,
  3519. IRpcChannelBuffer *_pRpcChannelBuffer,
  3520. PRPC_MESSAGE _pRpcMessage,
  3521. DWORD *_pdwStubPhase);
  3522. #endif /* __IDtcLuSubordinateDtcFactory_INTERFACE_DEFINED__ */
  3523. /* interface __MIDL_itf_txdtc_0146 */
  3524. /* [local] */
  3525. #if _MSC_VER < 1100 || !defined(__cplusplus)
  3526. DEFINE_GUID(IID_IXATransLookup, 0xF3B1F131, 0xEEDA, 0x11ce, 0xAE, 0xD4, 0x00, 0xAA, 0x00, 0x51, 0xE2, 0xC4);
  3527. DEFINE_GUID(IID_IResourceManagerSink, 0x0D563181, 0xDEFB, 0x11ce, 0xAE, 0xD1, 0x00, 0xAA, 0x00, 0x51, 0xE2, 0xC4);
  3528. DEFINE_GUID(IID_IResourceManager, 0x3741d21, 0x87eb, 0x11ce, 0x80, 0x81, 0x00, 0x80, 0xc7, 0x58, 0x52, 0x7e);
  3529. DEFINE_GUID(IID_IResourceManager2, 0xd136c69a, 0xf749, 0x11d1, 0x8f, 0x47, 0x0, 0xc0, 0x4f, 0x8e, 0xe5, 0x7d);
  3530. DEFINE_GUID(IID_ILastResourceManager, 0x4d964ad4, 0x5b33, 0x11d3, 0x8a, 0x91, 0x00, 0xc0, 0x4f, 0x79, 0xeb, 0x6d);
  3531. DEFINE_GUID(IID_IXAConfig, 0xC8A6E3A1, 0x9A8C, 0x11cf, 0xA3, 0x08, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  3532. DEFINE_GUID(IID_IRMHelper, 0xE793F6D1, 0xF53D, 0x11cf, 0xA6, 0x0D, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  3533. DEFINE_GUID(IID_IXAObtainRMInfo, 0xE793F6D2, 0xF53D, 0x11cf, 0xA6, 0x0D, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  3534. DEFINE_GUID(IID_IXAResourceManager, 0x4131E751, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  3535. DEFINE_GUID(IID_IXAResourceManagerFactory, 0x4131E750, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  3536. DEFINE_GUID(IID_IXATransaction, 0x4131E752, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  3537. DEFINE_GUID(IID_IResourceManagerFactory, 0x13741d20, 0x87eb, 0x11ce, 0x80, 0x81, 0x00, 0x80, 0xc7, 0x58, 0x52, 0x7e);
  3538. DEFINE_GUID(IID_IResourceManagerFactory2, 0x6b369c21, 0xfbd2, 0x11d1, 0x8f, 0x47, 0x0, 0xc0, 0x4f, 0x8e, 0xe5, 0x7d);
  3539. DEFINE_GUID(IID_IPrepareInfo, 0x80c7bfd0, 0x87ee, 0x11ce, 0x80, 0x81, 0x00, 0x80, 0xc7, 0x58, 0x52, 0x7e);
  3540. DEFINE_GUID(IID_IPrepareInfo2, 0x5FAB2547, 0x9779, 0x11d1, 0xB8, 0x86, 0x00, 0xC0, 0x4F, 0xB9, 0x61, 0x8A);
  3541. DEFINE_GUID(IID_IGetDispenser, 0xc23cc370, 0x87ef, 0x11ce, 0x80, 0x81, 0x00, 0x80, 0xc7, 0x58, 0x52, 0x7e);
  3542. DEFINE_GUID(IID_ITransactionVoterNotifyAsync2, 0x5433376b, 0x414d, 0x11d3, 0xb2, 0x6, 0x0, 0xc0, 0x4f, 0xc2, 0xf3, 0xef);
  3543. DEFINE_GUID(IID_ITransactionVoterBallotAsync2, 0x5433376c, 0x414d, 0x11d3, 0xb2, 0x6, 0x0, 0xc0, 0x4f, 0xc2, 0xf3, 0xef);
  3544. DEFINE_GUID(IID_ITransactionVoterFactory2, 0x5433376a, 0x414d, 0x11d3, 0xb2, 0x6, 0x0, 0xc0, 0x4f, 0xc2, 0xf3, 0xef);
  3545. DEFINE_GUID(IID_ITransactionPhase0EnlistmentAsync, 0x82DC88E1, 0xA954, 0x11d1, 0x8F, 0x88, 0x00, 0x60, 0x08, 0x95, 0xE7, 0xD5);
  3546. DEFINE_GUID(IID_ITransactionPhase0NotifyAsync, 0xEF081809, 0x0C76, 0x11d2, 0x87, 0xA6, 0x00, 0xC0, 0x4F, 0x99, 0x0F, 0x34);
  3547. DEFINE_GUID(IID_ITransactionPhase0Factory, 0x82DC88E0, 0xA954, 0x11d1, 0x8F, 0x88, 0x00, 0x60, 0x08, 0x95, 0xE7, 0xD5);
  3548. DEFINE_GUID(IID_ITransactionTransmitter, 0x59313E01, 0xB36C, 0x11cf, 0xA5, 0x39, 0x00, 0xAA, 0x00, 0x68, 0x87, 0xC3);
  3549. DEFINE_GUID(IID_ITransactionTransmitterFactory, 0x59313E00, 0xB36C, 0x11cf, 0xA5, 0x39, 0x00, 0xAA, 0x00, 0x68, 0x87, 0xC3);
  3550. DEFINE_GUID(IID_ITransactionReceiver, 0x59313E03, 0xB36C, 0x11cf, 0xA5, 0x39, 0x00, 0xAA, 0x00, 0x68, 0x87, 0xC3);
  3551. DEFINE_GUID(IID_ITransactionReceiverFactory, 0x59313E02, 0xB36C, 0x11cf, 0xA5, 0x39, 0x00, 0xAA, 0x00, 0x68, 0x87, 0xC3);
  3552. DEFINE_GUID(IID_IDtcLuConfigure, 0x4131E760, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  3553. DEFINE_GUID(IID_IDtcLuRecovery, 0xac2b8ad2, 0xd6f0, 0x11d0, 0xb3, 0x86, 0x0, 0xa0, 0xc9, 0x8, 0x33, 0x65);
  3554. DEFINE_GUID(IID_IDtcLuRecoveryFactory, 0x4131E762, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  3555. DEFINE_GUID(IID_IDtcLuRecoveryInitiatedByDtcTransWork, 0x4131E765, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  3556. DEFINE_GUID(IID_IDtcLuRecoveryInitiatedByDtcStatusWork, 0x4131E766, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  3557. DEFINE_GUID(IID_IDtcLuRecoveryInitiatedByDtc, 0x4131E764, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  3558. DEFINE_GUID(IID_IDtcLuRecoveryInitiatedByLuWork, 0xac2b8ad1, 0xd6f0, 0x11d0, 0xb3, 0x86, 0x0, 0xa0, 0xc9, 0x8, 0x33, 0x65);
  3559. DEFINE_GUID(IID_IDtcLuRecoveryInitiatedByLu, 0x4131E768, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  3560. DEFINE_GUID(IID_IDtcLuRmEnlistment, 0x4131E769, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  3561. DEFINE_GUID(IID_IDtcLuRmEnlistmentSink, 0x4131E770, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  3562. DEFINE_GUID(IID_IDtcLuRmEnlistmentFactory, 0x4131E771, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  3563. DEFINE_GUID(IID_IDtcLuSubordinateDtc, 0x4131E773, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  3564. DEFINE_GUID(IID_IDtcLuSubordinateDtcSink, 0x4131E774, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  3565. DEFINE_GUID(IID_IDtcLuSubordinateDtcFactory, 0x4131E775, 0x1AEA, 0x11d0, 0x94, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E);
  3566. #else
  3567. #define IID_IXATransLookup __uuidof(IXATransLookup)
  3568. #define IID_IResourceManagerSink __uuidof(IResourceManagerSink)
  3569. #define IID_IResourceManager __uuidof(IResourceManager)
  3570. #define IID_IResourceManager2 __uuidof(IResourceManager2)
  3571. #define IID_ILastResourceManager __uuidof(ILastResourceManager)
  3572. #define IID_IXAConfig __uuidof(IXAConfig)
  3573. #define IID_IRMHelper __uuidof(IRMHelper)
  3574. #define IID_IXAObtainRMInfo __uuidof(IXAObtainRMInfo)
  3575. #define IID_IXAResourceManager __uuidof(IXAResourceManager)
  3576. #define IID_IXAResourceManagerFactory __uuidof(IXAResourceManagerFactory)
  3577. #define IID_IXATransaction __uuidof(IXATransaction)
  3578. #define IID_IResourceManagerFactory __uuidof(IResourceManagerFactory)
  3579. #define IID_IResourceManagerFactory2 __uuidof(IResourceManagerFactory2)
  3580. #define IID_IPrepareInfo __uuidof(IPrepareInfo)
  3581. #define IID_IPrepareInfo2 __uuidof(IPrepareInfo2)
  3582. #define IID_IGetDispenser __uuidof(IGetDispenser)
  3583. #define IID_ITransactionVoterNotifyAsync2 __uuidof(ITransactionVoterNotifyAsync2)
  3584. #define IID_ITransactionVoterBallotAsync2 __uuidof(ITransactionVoterBallotAsync2)
  3585. #define IID_ITransactionVoterFactory2 __uuidof(ITransactionVoterFactory2)
  3586. #define IID_ITransactionPhase0EnlistmentAsync __uuidof(ITransactionPhase0EnlistmentAsync)
  3587. #define IID_ITransactionPhase0NotifyAsync __uuidof(ITransactionPhase0NotifyAsync)
  3588. #define IID_ITransactionPhase0Factory __uuidof(ITransactionPhase0Factory)
  3589. #define IID_ITransactionTransmitter __uuidof(ITransactionTransmitter)
  3590. #define IID_ITransactionTransmitterFactory __uuidof(ITransactionTransmitterFactory)
  3591. #define IID_ITransactionReceiver __uuidof(ITransactionReceiver)
  3592. #define IID_ITransactionReceiverFactory __uuidof(ITransactionReceiverFactory)
  3593. #define IID_IDtcLuConfigure __uuidof(IDtcLuConfigure)
  3594. #define IID_IDtcLuRecovery __uuidof(IDtcLuRecovery)
  3595. #define IID_IDtcLuRecoveryFactory __uuidof(IDtcLuRecoveryFactory)
  3596. #define IID_IDtcLuRecoveryInitiatedByDtcTransWork __uuidof(IDtcLuRecoveryInitiatedByDtcTransWork)
  3597. #define IID_IDtcLuRecoveryInitiatedByDtcStatusWork __uuidof(IDtcLuRecoveryInitiatedByDtcStatusWork)
  3598. #define IID_IDtcLuRecoveryInitiatedByDtc __uuidof(IDtcLuRecoveryInitiatedByDtc)
  3599. #define IID_IDtcLuRecoveryInitiatedByLuWork __uuidof(IDtcLuRecoveryInitiatedByLuWork)
  3600. #define IID_IDtcLuRecoveryInitiatedByLu __uuidof(IDtcLuRecoveryInitiatedByLu)
  3601. #define IID_IDtcLuRmEnlistment __uuidof(IDtcLuRmEnlistment)
  3602. #define IID_IDtcLuRmEnlistmentSink __uuidof(IDtcLuRmEnlistmentSink)
  3603. #define IID_IDtcLuRmEnlistmentFactory __uuidof(IDtcLuRmEnlistmentFactory)
  3604. #define IID_IDtcLuSubordinateDtc __uuidof(IDtcLuSubordinateDtc)
  3605. #define IID_IDtcLuSubordinateDtcSink __uuidof(IDtcLuSubordinateDtcSink)
  3606. #define IID_IDtcLuSubordinateDtcFactory __uuidof(IDtcLuSubordinateDtcFactory)
  3607. #endif
  3608. extern RPC_IF_HANDLE __MIDL_itf_txdtc_0146_v0_0_c_ifspec;
  3609. extern RPC_IF_HANDLE __MIDL_itf_txdtc_0146_v0_0_s_ifspec;
  3610. /* Additional Prototypes for ALL interfaces */
  3611. /* end of Additional Prototypes */
  3612. #ifdef __cplusplus
  3613. }
  3614. #endif
  3615. #endif