3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright (C) 2013 Daniel JeliƄski
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is free software; you can redistribute it and/or
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * modify it under the terms of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License as published by the Free Software Foundation; either
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * version 2.1 of the License, or (at your option) any later version.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is distributed in the hope that it will be useful,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Lesser General Public License for more details.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * You should have received a copy of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License along with this library; if not, write to the Free Software
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync/*
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * a choice of LGPL license versions is made available with the language indicating
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * of the LGPL is applied is otherwise unspecified.
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync */
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncimport "txcoord.idl";
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IXATransLookup;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IXATransLookup2;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IResourceManagerSink;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IResourceManager;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ILastResourceManager;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IResourceManager2;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IXAConfig;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*interface IRMHelper;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IXAObtainRMInfo;*/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IResourceManagerFactory;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IResourceManagerFactory2;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IPrepareInfo;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IPrepareInfo2;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IGetDispenser;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionVoterBallotAsync2;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionVoterNotifyAsync2;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionVoterFactory2;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionPhase0EnlistmentAsync;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionPhase0NotifyAsync;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionPhase0Factory;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionTransmitter;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionTransmitterFactory;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionReceiver;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionReceiverFactory;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuConfigure;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuRecovery;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuRecoveryFactory;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuRecoveryInitiatedByDtcTransWork;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuRecoveryInitiatedByDtcStatusWork;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuRecoveryInitiatedByDtc;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuRecoveryInitiatedByLuWork;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuRecoveryInitiatedByLu;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuRmEnlistment;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuRmEnlistmentSink;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuRmEnlistmentFactory;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuSubordinateDtc;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuSubordinateDtcSink;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuSubordinateDtcFactory;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define XACTTOMSG(dwXact) (dwXact-0x00040000+0x40000000)")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum XACT_DTC_CONSTANTS {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACT_E_CONNECTION_REQUEST_DENIED = 0x8004d100,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACT_E_TOOMANY_ENLISTMENTS = 0x8004d101,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACT_E_DUPLICATE_GUID = 0x8004d102,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACT_E_NOTSINGLEPHASE = 0x8004d103,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACT_E_RECOVERYALREADYDONE = 0x8004d104,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACT_E_PROTOCOL = 0x8004d105,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACT_E_RM_FAILURE = 0x8004d106,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACT_E_RECOVERY_FAILED = 0x8004d107,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACT_E_LU_NOT_FOUND = 0x8004d108,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACT_E_DUPLICATE_LU = 0x8004d109,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACT_E_LU_NOT_CONNECTED = 0x8004d10a,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACT_E_DUPLICATE_TRANSID = 0x8004d10b,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACT_E_LU_BUSY = 0x8004d10c,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACT_E_LU_NO_RECOVERY_PROCESS = 0x8004d10d,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACT_E_LU_DOWN = 0x8004d10e,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACT_E_LU_RECOVERING = 0x8004d10f,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACT_E_LU_RECOVERY_MISMATCH = 0x8004d110,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACT_E_RM_UNAVAILABLE = 0x8004d111,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACT_E_LRMRECOVERYALREADYDONE = 0x8004d112,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACT_E_NOLASTRESOURCEINTERFACE = 0x8004d113,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACT_S_NONOTIFY = 0x4d100,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACT_OK_NONOTIFY = 0x4d101,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync dwUSER_MS_SQLSERVER = 0xffff
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} XACT_DTC_CONSTANTS;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#ifndef _XID_T_DEFINED")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define _XID_T_DEFINED")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct xid_t {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LONG32 formatID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LONG32 gtrid_length;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LONG32 bqual_length;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync char data[128 ];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} XID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#endif")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* idl doesn't like this type
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#ifndef _XA_SWITCH_T_DEFINED")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define _XA_SWITCH_T_DEFINED")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct xa_switch_t {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync char name[32 ];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LONG32 flags;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LONG32 version;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync int (__cdecl *xa_open_entry)(char *__MIDL_0004,int __MIDL_0005,LONG32 __MIDL_0006);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync int (__cdecl *xa_close_entry)(char *__MIDL_0008,int __MIDL_0009,LONG32 __MIDL_0010);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync int (__cdecl *xa_start_entry)(XID *__MIDL_0012,int __MIDL_0013,LONG32 __MIDL_0014);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync int (__cdecl *xa_end_entry)(XID *__MIDL_0016,int __MIDL_0017,LONG32 __MIDL_0018);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync int (__cdecl *xa_rollback_entry)(XID *__MIDL_0020,int __MIDL_0021,LONG32 __MIDL_0022);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync int (__cdecl *xa_prepare_entry)(XID *__MIDL_0024,int __MIDL_0025,LONG32 __MIDL_0026);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync int (__cdecl *xa_commit_entry)(XID *__MIDL_0028,int __MIDL_0029,LONG32 __MIDL_0030);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync int (__cdecl *xa_recover_entry)(XID *__MIDL_0032,LONG32 __MIDL_0033,int __MIDL_0034,LONG32 __MIDL_0035);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync int (__cdecl *xa_forget_entry)(XID *__MIDL_0037,int __MIDL_0038,LONG32 __MIDL_0039);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync int (__cdecl *xa_complete_entry)(int *__MIDL_0041,int *__MIDL_0042,int __MIDL_0043,LONG32 __MIDL_0044);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} xa_switch_t;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#endif")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync*/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(f3b1f131-eeda-11ce-aed4-00aa0051e2c4)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IXATransLookup : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Lookup([out]ITransaction **ppTransaction);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(bf193c85-0d1a-4290-b88f-d2cb8873d1e7)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IXATransLookup2 : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Lookup([in]XID *pXID,[out]ITransaction **ppTransaction);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(0d563181-defb-11ce-aed1-00aa0051e2c4)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IResourceManagerSink : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT TMDown(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(13741d21-87eb-11ce-8081-0080c758527e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IResourceManager : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Enlist([in]ITransaction *pTransaction,[in]ITransactionResourceAsync *pRes,[out]XACTUOW *pUOW,[out]LONG *pisoLevel,[out]ITransactionEnlistmentAsync **ppEnlist);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Reenlist([in]byte *pPrepInfo,[in]ULONG cbPrepInfo,[in]DWORD lTimeout,[out]XACTSTAT *pXactStat);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT ReenlistmentComplete(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetDistributedTransactionManager([in]REFIID iid,[out,iid_is(iid)]void **ppvObject);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(4d964ad4-5b33-11d3-8a91-00c04f79eb6d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ILastResourceManager : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT TransactionCommitted([in]byte *pPrepInfo,[in]ULONG cbPrepInfo);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT RecoveryDone(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(d136c69a-f749-11d1-8f47-00c04f8ee57d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IResourceManager2 : IResourceManager {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Enlist2([in]ITransaction *pTransaction,[in]ITransactionResourceAsync *pResAsync,[out]XACTUOW *pUOW,[out]LONG *pisoLevel,[out]XID *pXid,[out]ITransactionEnlistmentAsync **ppEnlist);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Reenlist2([in]XID *pXid,[in]DWORD dwTimeout,[out]XACTSTAT *pXactStat);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(c8a6e3a1-9a8c-11cf-a308-00a0c905416e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IXAConfig : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Initialize([in]GUID clsidHelperDll);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Terminate(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* commented out because idl doesn't accept xa_switch_t type
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(E793F6D1-F53D-11cf-A60D-00A0C905416E)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IRMHelper : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT RMCount([in]DWORD dwcTotalNumberOfRMs);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT RMInfo([in]xa_switch_t *pXa_Switch,[in]BOOL fCDeclCallingConv,[in]char *pszOpenString,[in]char *pszCloseString,[in]GUID guidRMRecovery);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(E793F6D2-F53D-11cf-A60D-00A0C905416E)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IXAObtainRMInfo : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT ObtainRMInfo([in]IRMHelper *pIRMHelper);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};*/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(13741d20-87eb-11ce-8081-0080c758527e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IResourceManagerFactory : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Create([in]GUID *pguidRM,[in]CHAR *pszRMName,[in]IResourceManagerSink *pIResMgrSink,[out]IResourceManager **ppResMgr);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(6b369c21-fbd2-11d1-8f47-00c04f8ee57d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IResourceManagerFactory2 : IResourceManagerFactory {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT CreateEx([in]GUID *pguidRM,[in]CHAR *pszRMName,[in]IResourceManagerSink *pIResMgrSink,[in]REFIID riidRequested,[out, iid_is(riidRequested)]void **ppvResMgr);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(80c7bfd0-87ee-11ce-8081-0080c758527e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IPrepareInfo : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetPrepareInfoSize([out]ULONG *pcbPrepInfo);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetPrepareInfo([out]byte *pPrepInfo);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(5fab2547-9779-11d1-b886-00c04fb9618a)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IPrepareInfo2 : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetPrepareInfoSize([out]ULONG *pcbPrepInfo);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetPrepareInfo([in]ULONG cbPrepareInfo,[out]byte *pPrepInfo);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(c23cc370-87ef-11ce-8081-0080c758527e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IGetDispenser : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetDispenser([in]REFIID iid,[out,iid_is(iid)]void **ppvObject);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(5433376c-414d-11d3-b206-00c04fc2f3ef)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionVoterBallotAsync2 : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT VoteRequestDone([in]HRESULT hr,[in]BOID *pboidReason);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(5433376b-414d-11d3-b206-00c04fc2f3ef)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionVoterNotifyAsync2 : ITransactionOutcomeEvents {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT VoteRequest(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(5433376a-414d-11d3-b206-00c04fc2f3ef)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionVoterFactory2 : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Create([in]ITransaction *pTransaction,[in]ITransactionVoterNotifyAsync2 *pVoterNotify,[out]ITransactionVoterBallotAsync2 **ppVoterBallot);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(82dc88e1-a954-11d1-8f88-00600895e7d5)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionPhase0EnlistmentAsync : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Enable(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT WaitForEnlistment(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Phase0Done(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Unenlist(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetTransaction([out]ITransaction **ppITransaction);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(ef081809-0c76-11d2-87a6-00c04f990f34)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionPhase0NotifyAsync : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Phase0Request([in]BOOL fAbortingHint);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT EnlistCompleted([in]HRESULT status);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(82dc88e0-a954-11d1-8f88-00600895e7d5)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionPhase0Factory : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Create([in]ITransactionPhase0NotifyAsync *pPhase0Notify,[out]ITransactionPhase0EnlistmentAsync **ppPhase0Enlistment);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(59313e01-b36c-11cf-a539-00aa006887c3)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionTransmitter : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Set([in]ITransaction *pTransaction);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetPropagationTokenSize([out]ULONG *pcbToken);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT MarshalPropagationToken([in]ULONG cbToken,[out]byte *rgbToken,[out]ULONG *pcbUsed);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT UnmarshalReturnToken([in]ULONG cbReturnToken,[in]byte *rgbReturnToken);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Reset(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(59313e00-b36c-11cf-a539-00aa006887c3)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionTransmitterFactory : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Create([out]ITransactionTransmitter **ppTransmitter);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(59313e03-b36c-11cf-a539-00aa006887c3)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionReceiver : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT UnmarshalPropagationToken([in]ULONG cbToken,[in]byte *rgbToken,[out]ITransaction **ppTransaction);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetReturnTokenSize([out]ULONG *pcbReturnToken);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT MarshalReturnToken([in]ULONG cbReturnToken,[out]byte *rgbReturnToken,[out]ULONG *pcbUsed);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Reset(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(59313e02-b36c-11cf-a539-00aa006887c3)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionReceiverFactory : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Create([out]ITransactionReceiver **ppReceiver);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _ProxyConfigParams {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wcThreadsMax;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} PROXY_CONFIG_PARAMS;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(4131e760-1aea-11d0-944b-00a0c905416e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuConfigure : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Add([in]byte *pucLuPair,[in]DWORD cbLuPair);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Delete([in]byte *pucLuPair,[in]DWORD cbLuPair);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(ac2b8ad2-d6f0-11d0-b386-00a0c9083365)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuRecovery : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(4131e762-1aea-11d0-944b-00a0c905416e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuRecoveryFactory : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Create([in]byte *pucLuPair,[in]DWORD cbLuPair,[out]IDtcLuRecovery **ppRecovery);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum _DtcLu_LocalRecovery_Work {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCINITIATEDRECOVERYWORK_CHECKLUSTATUS = 1,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCINITIATEDRECOVERYWORK_TRANS,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCINITIATEDRECOVERYWORK_TMDOWN
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DTCINITIATEDRECOVERYWORK;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum _DtcLu_Xln {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUXLN_COLD = 1,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUXLN_WARM
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DTCLUXLN;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum _DtcLu_Xln_Confirmation {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUXLNCONFIRMATION_CONFIRM = 1,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUXLNCONFIRMATION_LOGNAMEMISMATCH,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUXLNCONFIRMATION_COLDWARMMISMATCH,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUXLNCONFIRMATION_OBSOLETE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DTCLUXLNCONFIRMATION;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum _DtcLu_Xln_Response {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUXLNRESPONSE_OK_SENDOURXLNBACK = 1,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUXLNRESPONSE_OK_SENDCONFIRMATION,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUXLNRESPONSE_LOGNAMEMISMATCH,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUXLNRESPONSE_COLDWARMMISMATCH
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DTCLUXLNRESPONSE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum _DtcLu_Xln_Error {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUXLNERROR_PROTOCOL = 1,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUXLNERROR_LOGNAMEMISMATCH,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUXLNERROR_COLDWARMMISMATCH
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DTCLUXLNERROR;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum _DtcLu_CompareState {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUCOMPARESTATE_COMMITTED = 1,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUCOMPARESTATE_HEURISTICCOMMITTED,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUCOMPARESTATE_HEURISTICMIXED,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUCOMPARESTATE_HEURISTICRESET,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUCOMPARESTATE_INDOUBT,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUCOMPARESTATE_RESET
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DTCLUCOMPARESTATE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum _DtcLu_CompareStates_Confirmation {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUCOMPARESTATESCONFIRMATION_CONFIRM = 1,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUCOMPARESTATESCONFIRMATION_PROTOCOL
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DTCLUCOMPARESTATESCONFIRMATION;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum _DtcLu_CompareStates_Error {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUCOMPARESTATESERROR_PROTOCOL = 1
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DTCLUCOMPARESTATESERROR;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum _DtcLu_CompareStates_Response {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUCOMPARESTATESRESPONSE_OK = 1,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DTCLUCOMPARESTATESRESPONSE_PROTOCOL
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DTCLUCOMPARESTATESRESPONSE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(4131e765-1aea-11d0-944b-00a0c905416e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuRecoveryInitiatedByDtcTransWork : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetLogNameSizes([out]DWORD *pcbOurLogName,[out]DWORD *pcbRemoteLogName);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetOurXln([out]DTCLUXLN *pXln,[in,out]unsigned char *pOurLogName,[in,out]unsigned char *pRemoteLogName,[out]DWORD *pdwProtocol);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT HandleConfirmationFromOurXln([in]DTCLUXLNCONFIRMATION Confirmation);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT HandleTheirXlnResponse([in]DTCLUXLN Xln,[in]unsigned char *pRemoteLogName,[in]DWORD cbRemoteLogName,[in]DWORD dwProtocol,[out]DTCLUXLNCONFIRMATION *pConfirmation);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT HandleErrorFromOurXln([in]DTCLUXLNERROR Error);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT CheckForCompareStates([out]BOOL *fCompareStates);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetOurTransIdSize([in,out]DWORD *pcbOurTransId);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetOurCompareStates([in,out]unsigned char *pOurTransId,[out]DTCLUCOMPARESTATE *pCompareState);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT HandleTheirCompareStatesResponse([in]DTCLUCOMPARESTATE CompareState,[out]DTCLUCOMPARESTATESCONFIRMATION *pConfirmation);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT HandleErrorFromOurCompareStates([in]DTCLUCOMPARESTATESERROR Error);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT ConversationLost(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetRecoverySeqNum([out]LONG *plRecoverySeqNum);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT ObsoleteRecoverySeqNum([in]LONG lNewRecoverySeqNum);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(4131e766-1aea-11d0-944b-00a0c905416e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuRecoveryInitiatedByDtcStatusWork : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT HandleCheckLuStatus([in]LONG lRecoverySeqNum);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(4131e764-1aea-11d0-944b-00a0c905416e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[local] interface IDtcLuRecoveryInitiatedByDtc : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetWork([in,out]DTCINITIATEDRECOVERYWORK *pWork,[in,out]void **ppv);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(ac2b8ad1-d6f0-11d0-b386-00a0c9083365)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuRecoveryInitiatedByLuWork : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT HandleTheirXln([in]LONG lRecoverySeqNum,[in]DTCLUXLN Xln,[in]unsigned char *pRemoteLogName,[in]DWORD cbRemoteLogName,[in]unsigned char *pOurLogName,[in]DWORD cbOurLogName,[in]DWORD dwProtocol,[out]DTCLUXLNRESPONSE *pResponse);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetOurLogNameSize([in,out]DWORD *pcbOurLogName);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetOurXln([out]DTCLUXLN *pXln,[in,out]unsigned char *pOurLogName,[out]DWORD *pdwProtocol);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT HandleConfirmationOfOurXln([in]DTCLUXLNCONFIRMATION Confirmation);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT HandleTheirCompareStates([in,out]unsigned char *pRemoteTransId,[in]DWORD cbRemoteTransId,[in]DTCLUCOMPARESTATE CompareState,[out]DTCLUCOMPARESTATESRESPONSE *pResponse,[out]DTCLUCOMPARESTATE *pCompareState);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT HandleConfirmationOfOurCompareStates([in]DTCLUCOMPARESTATESCONFIRMATION Confirmation);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT HandleErrorFromOurCompareStates([in]DTCLUCOMPARESTATESERROR Error);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT ConversationLost(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(4131e768-1aea-11d0-944b-00a0c905416e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuRecoveryInitiatedByLu : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetObjectToHandleWorkFromLu([out]IDtcLuRecoveryInitiatedByLuWork **ppWork);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(4131e769-1aea-11d0-944b-00a0c905416e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuRmEnlistment : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Unplug([in]BOOL fConversationLost);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT BackedOut(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT BackOut(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Committed(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Forget(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT RequestCommit(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(4131e770-1aea-11d0-944b-00a0c905416e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuRmEnlistmentSink : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT AckUnplug(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT TmDown(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT SessionLost(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT BackedOut(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT BackOut(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Committed(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Forget(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Prepare(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT RequestCommit(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(4131e771-1aea-11d0-944b-00a0c905416e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuRmEnlistmentFactory : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Create([in]unsigned char *pucLuPair,[in]DWORD cbLuPair,[in]ITransaction *pITransaction,[in]unsigned char *pTransId,[in]DWORD cbTransId,[in]IDtcLuRmEnlistmentSink *pRmEnlistmentSink,[in,out]IDtcLuRmEnlistment **ppRmEnlistment);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(4131e773-1aea-11d0-944b-00a0c905416e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuSubordinateDtc : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Unplug([in]BOOL fConversationLost);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT BackedOut(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT BackOut(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Committed(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Forget(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Prepare(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT RequestCommit(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(4131e774-1aea-11d0-944b-00a0c905416e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuSubordinateDtcSink : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT AckUnplug(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT TmDown(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT SessionLost(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT BackedOut(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT BackOut(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Committed(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Forget(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT RequestCommit(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(4131e775-1aea-11d0-944b-00a0c905416e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IDtcLuSubordinateDtcFactory : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Create([in]unsigned char *pucLuPair,[in]DWORD cbLuPair,[in]IUnknown *punkTransactionOuter,[in]ISOLEVEL isoLevel,[in]ULONG isoFlags,[in]ITransactionOptions *pOptions,[out]ITransaction **ppTransaction,[in]unsigned char *pTransId,[in]DWORD cbTransId,[in]IDtcLuSubordinateDtcSink *pSubordinateDtcSink,[in,out]IDtcLuSubordinateDtc **ppSubordinateDtc);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* these GUIDs were found in mingw header, but without corresponding interface definitions
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DEFINE_GUID(IID_IXAResourceManager,0x4131e751,0x1aea,0x11d0,0x94,0x4b,0x00,0xa0,0xc9,0x05,0x41,0x6e);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DEFINE_GUID(IID_IXAResourceManagerFactory,0x4131e750,0x1aea,0x11d0,0x94,0x4b,0x00,0xa0,0xc9,0x05,0x41,0x6e);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DEFINE_GUID(IID_IXATransaction,0x4131e752,0x1aea,0x11d0,0x94,0x4b,0x00,0xa0,0xc9,0x05,0x41,0x6e);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync*/