include: Add txdtc.idl and txcoord.idl.
This commit is contained in:
parent
e60e09e2d1
commit
7cb98146c6
|
@ -247,6 +247,8 @@ include/textstor.h
|
|||
include/tlogstg.h
|
||||
include/tom.h
|
||||
include/transact.h
|
||||
include/txcoord.h
|
||||
include/txdtc.h
|
||||
include/uiautomationclient.h
|
||||
include/uiautomationcore.h
|
||||
include/unknwn.h
|
||||
|
|
|
@ -99,6 +99,8 @@ PUBLIC_IDL_H_SRCS = \
|
|||
tlogstg.idl \
|
||||
tom.idl \
|
||||
transact.idl \
|
||||
txcoord.idl \
|
||||
txdtc.idl \
|
||||
uiautomationclient.idl \
|
||||
uiautomationcore.idl \
|
||||
unknwn.idl \
|
||||
|
|
|
@ -0,0 +1,181 @@
|
|||
/*
|
||||
* Copyright (C) 2013 Daniel Jeliński
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
import "transact.idl";
|
||||
import "objidl.idl";
|
||||
|
||||
interface ITransactionResourceAsync;
|
||||
interface ITransactionLastResourceAsync;
|
||||
interface ITransactionResource;
|
||||
interface ITransactionEnlistmentAsync;
|
||||
interface ITransactionLastEnlistmentAsync;
|
||||
interface ITransactionExportFactory;
|
||||
interface ITransactionImportWhereabouts;
|
||||
interface ITransactionExport;
|
||||
interface ITransactionImport;
|
||||
interface ITipTransaction;
|
||||
interface ITipHelper;
|
||||
interface ITipPullSink;
|
||||
interface IDtcNetworkAccessConfig;
|
||||
interface IDtcNetworkAccessConfig2;
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(69e971f0-23ce-11cf-ad60-00aa00a74ccd)
|
||||
]
|
||||
interface ITransactionResourceAsync : IUnknown {
|
||||
HRESULT PrepareRequest([in]BOOL fRetaining,[in]DWORD grfRM,[in]BOOL fWantMoniker,[in]BOOL fSinglePhase);
|
||||
HRESULT CommitRequest([in]DWORD grfRM,[in]XACTUOW *pNewUOW);
|
||||
HRESULT AbortRequest([in]BOID *pboidReason,[in]BOOL fRetaining,[in]XACTUOW *pNewUOW);
|
||||
HRESULT TMDown(void);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(c82bd532-5b30-11d3-8a91-00c04f79eb6d)
|
||||
]
|
||||
interface ITransactionLastResourceAsync : IUnknown {
|
||||
HRESULT DelegateCommit([in]DWORD grfRM);
|
||||
HRESULT ForgetRequest([in]XACTUOW *pNewUOW);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(ee5ff7b3-4572-11d0-9452-00a0c905416e)
|
||||
]
|
||||
interface ITransactionResource : IUnknown {
|
||||
HRESULT PrepareRequest([in]BOOL fRetaining,[in]DWORD grfRM,[in]BOOL fWantMoniker,[in]BOOL fSinglePhase);
|
||||
HRESULT CommitRequest([in]DWORD grfRM,[in]XACTUOW *pNewUOW);
|
||||
HRESULT AbortRequest([in]BOID *pboidReason,[in]BOOL fRetaining,[in]XACTUOW *pNewUOW);
|
||||
HRESULT TMDown(void);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(0fb15081-af41-11ce-bd2b-204c4f4f5020)
|
||||
]
|
||||
interface ITransactionEnlistmentAsync : IUnknown {
|
||||
HRESULT PrepareRequestDone([in]HRESULT hr,[in]IMoniker *pmk,[in]BOID *pboidReason);
|
||||
HRESULT CommitRequestDone([in]HRESULT hr);
|
||||
HRESULT AbortRequestDone([in]HRESULT hr);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(c82bd533-5b30-11d3-8a91-00c04f79eb6d)
|
||||
]
|
||||
interface ITransactionLastEnlistmentAsync : IUnknown {
|
||||
HRESULT TransactionOutcome([in]XACTSTAT XactStat,[in]BOID *pboidReason);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(e1cf9b53-8745-11ce-a9ba-00aa006c3706)
|
||||
]
|
||||
interface ITransactionExportFactory : IUnknown {
|
||||
HRESULT GetRemoteClassId([in]CLSID *pclsid);
|
||||
HRESULT Create([in]ULONG cbWhereabouts,[in]byte *rgbWhereabouts,[out]ITransactionExport **ppExport);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(0141fda4-8fc0-11ce-bd18-204c4f4f5020)
|
||||
]
|
||||
interface ITransactionImportWhereabouts : IUnknown {
|
||||
HRESULT GetWhereaboutsSize([out]ULONG *pcbWhereabouts);
|
||||
HRESULT GetWhereabouts([in]ULONG cbWhereabouts,[out]byte *rgbWhereabouts,[out]ULONG *pcbUsed);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(0141fda5-8fc0-11ce-bd18-204c4f4f5020)
|
||||
]
|
||||
interface ITransactionExport : IUnknown {
|
||||
HRESULT Export([in]IUnknown *punkTransaction,[out]ULONG *pcbTransactionCookie);
|
||||
HRESULT GetTransactionCookie([in]IUnknown *punkTransaction,[in]ULONG cbTransactionCookie,[out]byte *rgbTransactionCookie,[out]ULONG *pcbUsed);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(e1cf9b5a-8745-11ce-a9ba-00aa006c3706)
|
||||
]
|
||||
interface ITransactionImport : IUnknown {
|
||||
HRESULT Import([in]ULONG cbTransactionCookie,[in]byte *rgbTransactionCookie,[in]IID *piid,[out,iid_is(piid)]void **ppvTransaction);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(17cf72d0-bac5-11d1-b1bf-00c04fc2f3ef)
|
||||
]
|
||||
interface ITipTransaction : IUnknown {
|
||||
HRESULT Push([in]char *i_pszRemoteTmUrl,[out]char **o_ppszRemoteTxUrl);
|
||||
HRESULT GetTransactionUrl([out]char **o_ppszLocalTxUrl);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(17cf72d1-bac5-11d1-b1bf-00c04fc2f3ef)
|
||||
]
|
||||
interface ITipHelper : IUnknown {
|
||||
HRESULT Pull([in]char *i_pszTxUrl,[out]ITransaction **o_ppITransaction);
|
||||
HRESULT PullAsync([in]char *i_pszTxUrl,[in]ITipPullSink *i_pTipPullSink,[out]ITransaction **o_ppITransaction);
|
||||
HRESULT GetLocalTmUrl([out]char **o_ppszLocalTmUrl);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(17cf72d2-bac5-11d1-b1bf-00c04fc2f3ef)
|
||||
]
|
||||
interface ITipPullSink : IUnknown {
|
||||
HRESULT PullComplete([in]HRESULT i_hrPull);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(9797c15d-a428-4291-87b6-0995031a678d)
|
||||
]
|
||||
interface IDtcNetworkAccessConfig : IUnknown {
|
||||
HRESULT GetAnyNetworkAccess([out]BOOL *pbAnyNetworkAccess);
|
||||
HRESULT SetAnyNetworkAccess([in]BOOL bAnyNetworkAccess);
|
||||
HRESULT GetNetworkAdministrationAccess([out]BOOL *pbNetworkAdministrationAccess);
|
||||
HRESULT SetNetworkAdministrationAccess([in]BOOL bNetworkAdministrationAccess);
|
||||
HRESULT GetNetworkTransactionAccess([out]BOOL *pbNetworkTransactionAccess);
|
||||
HRESULT SetNetworkTransactionAccess([in]BOOL bNetworkTransactionAccess);
|
||||
HRESULT GetNetworkClientAccess([out]BOOL *pbNetworkClientAccess);
|
||||
HRESULT SetNetworkClientAccess([in]BOOL bNetworkClientAccess);
|
||||
HRESULT GetNetworkTIPAccess([out]BOOL *pbNetworkTIPAccess);
|
||||
HRESULT SetNetworkTIPAccess([in]BOOL bNetworkTIPAccess);
|
||||
HRESULT GetXAAccess([out]BOOL *pbXAAccess);
|
||||
HRESULT SetXAAccess([in]BOOL bXAAccess);
|
||||
HRESULT RestartDtcService(void);
|
||||
};
|
||||
|
||||
typedef enum AUTHENTICATION_LEVEL {
|
||||
NO_AUTHENTICATION_REQUIRED,
|
||||
INCOMING_AUTHENTICATION_REQUIRED,
|
||||
MUTUAL_AUTHENTICATION_REQUIRED
|
||||
} AUTHENTICATION_LEVEL;
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(a7aa013b-eb7d-4f42-b41c-b2dec09ae034)
|
||||
]
|
||||
interface IDtcNetworkAccessConfig2 : IDtcNetworkAccessConfig {
|
||||
HRESULT GetNetworkInboundAccess([out]BOOL *pbInbound);
|
||||
HRESULT GetNetworkOutboundAccess([out]BOOL *pbOutbound);
|
||||
HRESULT SetNetworkInboundAccess([in]BOOL bInbound);
|
||||
HRESULT SetNetworkOutboundAccess([in]BOOL bOutbound);
|
||||
HRESULT GetAuthenticationLevel([out]AUTHENTICATION_LEVEL *pAuthLevel);
|
||||
HRESULT SetAuthenticationLevel([in]AUTHENTICATION_LEVEL AuthLevel);
|
||||
};
|
|
@ -0,0 +1,515 @@
|
|||
/*
|
||||
* Copyright (C) 2013 Daniel Jeliński
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
import "txcoord.idl";
|
||||
|
||||
interface IXATransLookup;
|
||||
interface IXATransLookup2;
|
||||
interface IResourceManagerSink;
|
||||
interface IResourceManager;
|
||||
interface ILastResourceManager;
|
||||
interface IResourceManager2;
|
||||
interface IXAConfig;
|
||||
/*interface IRMHelper;
|
||||
interface IXAObtainRMInfo;*/
|
||||
interface IResourceManagerFactory;
|
||||
interface IResourceManagerFactory2;
|
||||
interface IPrepareInfo;
|
||||
interface IPrepareInfo2;
|
||||
interface IGetDispenser;
|
||||
interface ITransactionVoterBallotAsync2;
|
||||
interface ITransactionVoterNotifyAsync2;
|
||||
interface ITransactionVoterFactory2;
|
||||
interface ITransactionPhase0EnlistmentAsync;
|
||||
interface ITransactionPhase0NotifyAsync;
|
||||
interface ITransactionPhase0Factory;
|
||||
interface ITransactionTransmitter;
|
||||
interface ITransactionTransmitterFactory;
|
||||
interface ITransactionReceiver;
|
||||
interface ITransactionReceiverFactory;
|
||||
interface IDtcLuConfigure;
|
||||
interface IDtcLuRecovery;
|
||||
interface IDtcLuRecoveryFactory;
|
||||
interface IDtcLuRecoveryInitiatedByDtcTransWork;
|
||||
interface IDtcLuRecoveryInitiatedByDtcStatusWork;
|
||||
interface IDtcLuRecoveryInitiatedByDtc;
|
||||
interface IDtcLuRecoveryInitiatedByLuWork;
|
||||
interface IDtcLuRecoveryInitiatedByLu;
|
||||
interface IDtcLuRmEnlistment;
|
||||
interface IDtcLuRmEnlistmentSink;
|
||||
interface IDtcLuRmEnlistmentFactory;
|
||||
interface IDtcLuSubordinateDtc;
|
||||
interface IDtcLuSubordinateDtcSink;
|
||||
interface IDtcLuSubordinateDtcFactory;
|
||||
|
||||
cpp_quote("#define XACTTOMSG(dwXact) (dwXact-0x00040000+0x40000000)")
|
||||
typedef enum XACT_DTC_CONSTANTS {
|
||||
XACT_E_CONNECTION_REQUEST_DENIED = 0x8004d100,
|
||||
XACT_E_TOOMANY_ENLISTMENTS = 0x8004d101,
|
||||
XACT_E_DUPLICATE_GUID = 0x8004d102,
|
||||
XACT_E_NOTSINGLEPHASE = 0x8004d103,
|
||||
XACT_E_RECOVERYALREADYDONE = 0x8004d104,
|
||||
XACT_E_PROTOCOL = 0x8004d105,
|
||||
XACT_E_RM_FAILURE = 0x8004d106,
|
||||
XACT_E_RECOVERY_FAILED = 0x8004d107,
|
||||
XACT_E_LU_NOT_FOUND = 0x8004d108,
|
||||
XACT_E_DUPLICATE_LU = 0x8004d109,
|
||||
XACT_E_LU_NOT_CONNECTED = 0x8004d10a,
|
||||
XACT_E_DUPLICATE_TRANSID = 0x8004d10b,
|
||||
XACT_E_LU_BUSY = 0x8004d10c,
|
||||
XACT_E_LU_NO_RECOVERY_PROCESS = 0x8004d10d,
|
||||
XACT_E_LU_DOWN = 0x8004d10e,
|
||||
XACT_E_LU_RECOVERING = 0x8004d10f,
|
||||
XACT_E_LU_RECOVERY_MISMATCH = 0x8004d110,
|
||||
XACT_E_RM_UNAVAILABLE = 0x8004d111,
|
||||
XACT_E_LRMRECOVERYALREADYDONE = 0x8004d112,
|
||||
XACT_E_NOLASTRESOURCEINTERFACE = 0x8004d113,
|
||||
XACT_S_NONOTIFY = 0x4d100,
|
||||
XACT_OK_NONOTIFY = 0x4d101,
|
||||
dwUSER_MS_SQLSERVER = 0xffff
|
||||
} XACT_DTC_CONSTANTS;
|
||||
|
||||
cpp_quote("#ifndef _XID_T_DEFINED")
|
||||
cpp_quote("#define _XID_T_DEFINED")
|
||||
typedef struct xid_t {
|
||||
LONG32 formatID;
|
||||
LONG32 gtrid_length;
|
||||
LONG32 bqual_length;
|
||||
char data[128 ];
|
||||
} XID;
|
||||
cpp_quote("#endif")
|
||||
/* idl doesn't like this type
|
||||
cpp_quote("#ifndef _XA_SWITCH_T_DEFINED")
|
||||
cpp_quote("#define _XA_SWITCH_T_DEFINED")
|
||||
typedef struct xa_switch_t {
|
||||
char name[32 ];
|
||||
LONG32 flags;
|
||||
LONG32 version;
|
||||
int (__cdecl *xa_open_entry)(char *__MIDL_0004,int __MIDL_0005,LONG32 __MIDL_0006);
|
||||
int (__cdecl *xa_close_entry)(char *__MIDL_0008,int __MIDL_0009,LONG32 __MIDL_0010);
|
||||
int (__cdecl *xa_start_entry)(XID *__MIDL_0012,int __MIDL_0013,LONG32 __MIDL_0014);
|
||||
int (__cdecl *xa_end_entry)(XID *__MIDL_0016,int __MIDL_0017,LONG32 __MIDL_0018);
|
||||
int (__cdecl *xa_rollback_entry)(XID *__MIDL_0020,int __MIDL_0021,LONG32 __MIDL_0022);
|
||||
int (__cdecl *xa_prepare_entry)(XID *__MIDL_0024,int __MIDL_0025,LONG32 __MIDL_0026);
|
||||
int (__cdecl *xa_commit_entry)(XID *__MIDL_0028,int __MIDL_0029,LONG32 __MIDL_0030);
|
||||
int (__cdecl *xa_recover_entry)(XID *__MIDL_0032,LONG32 __MIDL_0033,int __MIDL_0034,LONG32 __MIDL_0035);
|
||||
int (__cdecl *xa_forget_entry)(XID *__MIDL_0037,int __MIDL_0038,LONG32 __MIDL_0039);
|
||||
int (__cdecl *xa_complete_entry)(int *__MIDL_0041,int *__MIDL_0042,int __MIDL_0043,LONG32 __MIDL_0044);
|
||||
} xa_switch_t;
|
||||
cpp_quote("#endif")
|
||||
*/
|
||||
[
|
||||
object,
|
||||
uuid(f3b1f131-eeda-11ce-aed4-00aa0051e2c4)
|
||||
]
|
||||
interface IXATransLookup : IUnknown {
|
||||
HRESULT Lookup([out]ITransaction **ppTransaction);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(bf193c85-0d1a-4290-b88f-d2cb8873d1e7)
|
||||
]
|
||||
interface IXATransLookup2 : IUnknown {
|
||||
HRESULT Lookup([in]XID *pXID,[out]ITransaction **ppTransaction);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(0d563181-defb-11ce-aed1-00aa0051e2c4)
|
||||
]
|
||||
interface IResourceManagerSink : IUnknown {
|
||||
HRESULT TMDown(void);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(13741d21-87eb-11ce-8081-0080c758527e)
|
||||
]
|
||||
interface IResourceManager : IUnknown {
|
||||
HRESULT Enlist([in]ITransaction *pTransaction,[in]ITransactionResourceAsync *pRes,[out]XACTUOW *pUOW,[out]LONG *pisoLevel,[out]ITransactionEnlistmentAsync **ppEnlist);
|
||||
HRESULT Reenlist([in]byte *pPrepInfo,[in]ULONG cbPrepInfo,[in]DWORD lTimeout,[out]XACTSTAT *pXactStat);
|
||||
HRESULT ReenlistmentComplete(void);
|
||||
HRESULT GetDistributedTransactionManager([in]REFIID iid,[out,iid_is(iid)]void **ppvObject);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(4d964ad4-5b33-11d3-8a91-00c04f79eb6d)
|
||||
]
|
||||
interface ILastResourceManager : IUnknown {
|
||||
HRESULT TransactionCommitted([in]byte *pPrepInfo,[in]ULONG cbPrepInfo);
|
||||
HRESULT RecoveryDone(void);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(d136c69a-f749-11d1-8f47-00c04f8ee57d)
|
||||
]
|
||||
interface IResourceManager2 : IResourceManager {
|
||||
HRESULT Enlist2([in]ITransaction *pTransaction,[in]ITransactionResourceAsync *pResAsync,[out]XACTUOW *pUOW,[out]LONG *pisoLevel,[out]XID *pXid,[out]ITransactionEnlistmentAsync **ppEnlist);
|
||||
HRESULT Reenlist2([in]XID *pXid,[in]DWORD dwTimeout,[out]XACTSTAT *pXactStat);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(c8a6e3a1-9a8c-11cf-a308-00a0c905416e)
|
||||
]
|
||||
interface IXAConfig : IUnknown {
|
||||
HRESULT Initialize([in]GUID clsidHelperDll);
|
||||
HRESULT Terminate(void);
|
||||
};
|
||||
/* commented out because idl doesn't accept xa_switch_t type
|
||||
[
|
||||
object,
|
||||
uuid(E793F6D1-F53D-11cf-A60D-00A0C905416E)
|
||||
]
|
||||
interface IRMHelper : IUnknown {
|
||||
HRESULT RMCount([in]DWORD dwcTotalNumberOfRMs);
|
||||
HRESULT RMInfo([in]xa_switch_t *pXa_Switch,[in]BOOL fCDeclCallingConv,[in]char *pszOpenString,[in]char *pszCloseString,[in]GUID guidRMRecovery);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(E793F6D2-F53D-11cf-A60D-00A0C905416E)
|
||||
]
|
||||
interface IXAObtainRMInfo : IUnknown {
|
||||
HRESULT ObtainRMInfo([in]IRMHelper *pIRMHelper);
|
||||
};*/
|
||||
[
|
||||
object,
|
||||
uuid(13741d20-87eb-11ce-8081-0080c758527e)
|
||||
]
|
||||
interface IResourceManagerFactory : IUnknown {
|
||||
HRESULT Create([in]GUID *pguidRM,[in]CHAR *pszRMName,[in]IResourceManagerSink *pIResMgrSink,[out]IResourceManager **ppResMgr);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(6b369c21-fbd2-11d1-8f47-00c04f8ee57d)
|
||||
]
|
||||
interface IResourceManagerFactory2 : IResourceManagerFactory {
|
||||
HRESULT CreateEx([in]GUID *pguidRM,[in]CHAR *pszRMName,[in]IResourceManagerSink *pIResMgrSink,[in]REFIID riidRequested,[out, iid_is(riidRequested)]void **ppvResMgr);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(80c7bfd0-87ee-11ce-8081-0080c758527e)
|
||||
]
|
||||
interface IPrepareInfo : IUnknown {
|
||||
HRESULT GetPrepareInfoSize([out]ULONG *pcbPrepInfo);
|
||||
HRESULT GetPrepareInfo([out]byte *pPrepInfo);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(5fab2547-9779-11d1-b886-00c04fb9618a)
|
||||
]
|
||||
interface IPrepareInfo2 : IUnknown {
|
||||
HRESULT GetPrepareInfoSize([out]ULONG *pcbPrepInfo);
|
||||
HRESULT GetPrepareInfo([in]ULONG cbPrepareInfo,[out]byte *pPrepInfo);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(c23cc370-87ef-11ce-8081-0080c758527e)
|
||||
]
|
||||
interface IGetDispenser : IUnknown {
|
||||
HRESULT GetDispenser([in]REFIID iid,[out,iid_is(iid)]void **ppvObject);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(5433376c-414d-11d3-b206-00c04fc2f3ef)
|
||||
]
|
||||
interface ITransactionVoterBallotAsync2 : IUnknown {
|
||||
HRESULT VoteRequestDone([in]HRESULT hr,[in]BOID *pboidReason);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(5433376b-414d-11d3-b206-00c04fc2f3ef)
|
||||
]
|
||||
interface ITransactionVoterNotifyAsync2 : ITransactionOutcomeEvents {
|
||||
HRESULT VoteRequest(void);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(5433376a-414d-11d3-b206-00c04fc2f3ef)
|
||||
]
|
||||
interface ITransactionVoterFactory2 : IUnknown {
|
||||
HRESULT Create([in]ITransaction *pTransaction,[in]ITransactionVoterNotifyAsync2 *pVoterNotify,[out]ITransactionVoterBallotAsync2 **ppVoterBallot);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(82dc88e1-a954-11d1-8f88-00600895e7d5)
|
||||
]
|
||||
interface ITransactionPhase0EnlistmentAsync : IUnknown {
|
||||
HRESULT Enable(void);
|
||||
HRESULT WaitForEnlistment(void);
|
||||
HRESULT Phase0Done(void);
|
||||
HRESULT Unenlist(void);
|
||||
HRESULT GetTransaction([out]ITransaction **ppITransaction);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(ef081809-0c76-11d2-87a6-00c04f990f34)
|
||||
]
|
||||
interface ITransactionPhase0NotifyAsync : IUnknown {
|
||||
HRESULT Phase0Request([in]BOOL fAbortingHint);
|
||||
HRESULT EnlistCompleted([in]HRESULT status);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(82dc88e0-a954-11d1-8f88-00600895e7d5)
|
||||
]
|
||||
interface ITransactionPhase0Factory : IUnknown {
|
||||
HRESULT Create([in]ITransactionPhase0NotifyAsync *pPhase0Notify,[out]ITransactionPhase0EnlistmentAsync **ppPhase0Enlistment);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(59313e01-b36c-11cf-a539-00aa006887c3)
|
||||
]
|
||||
interface ITransactionTransmitter : IUnknown {
|
||||
HRESULT Set([in]ITransaction *pTransaction);
|
||||
HRESULT GetPropagationTokenSize([out]ULONG *pcbToken);
|
||||
HRESULT MarshalPropagationToken([in]ULONG cbToken,[out]byte *rgbToken,[out]ULONG *pcbUsed);
|
||||
HRESULT UnmarshalReturnToken([in]ULONG cbReturnToken,[in]byte *rgbReturnToken);
|
||||
HRESULT Reset(void);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(59313e00-b36c-11cf-a539-00aa006887c3)
|
||||
]
|
||||
interface ITransactionTransmitterFactory : IUnknown {
|
||||
HRESULT Create([out]ITransactionTransmitter **ppTransmitter);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(59313e03-b36c-11cf-a539-00aa006887c3)
|
||||
]
|
||||
interface ITransactionReceiver : IUnknown {
|
||||
HRESULT UnmarshalPropagationToken([in]ULONG cbToken,[in]byte *rgbToken,[out]ITransaction **ppTransaction);
|
||||
HRESULT GetReturnTokenSize([out]ULONG *pcbReturnToken);
|
||||
HRESULT MarshalReturnToken([in]ULONG cbReturnToken,[out]byte *rgbReturnToken,[out]ULONG *pcbUsed);
|
||||
HRESULT Reset(void);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(59313e02-b36c-11cf-a539-00aa006887c3)
|
||||
]
|
||||
interface ITransactionReceiverFactory : IUnknown {
|
||||
HRESULT Create([out]ITransactionReceiver **ppReceiver);
|
||||
};
|
||||
|
||||
typedef struct _ProxyConfigParams {
|
||||
WORD wcThreadsMax;
|
||||
} PROXY_CONFIG_PARAMS;
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(4131e760-1aea-11d0-944b-00a0c905416e)
|
||||
]
|
||||
interface IDtcLuConfigure : IUnknown {
|
||||
HRESULT Add([in]byte *pucLuPair,[in]DWORD cbLuPair);
|
||||
HRESULT Delete([in]byte *pucLuPair,[in]DWORD cbLuPair);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(ac2b8ad2-d6f0-11d0-b386-00a0c9083365)
|
||||
]
|
||||
interface IDtcLuRecovery : IUnknown {
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(4131e762-1aea-11d0-944b-00a0c905416e)
|
||||
]
|
||||
interface IDtcLuRecoveryFactory : IUnknown {
|
||||
HRESULT Create([in]byte *pucLuPair,[in]DWORD cbLuPair,[out]IDtcLuRecovery **ppRecovery);
|
||||
};
|
||||
|
||||
typedef enum _DtcLu_LocalRecovery_Work {
|
||||
DTCINITIATEDRECOVERYWORK_CHECKLUSTATUS = 1,
|
||||
DTCINITIATEDRECOVERYWORK_TRANS,
|
||||
DTCINITIATEDRECOVERYWORK_TMDOWN
|
||||
} DTCINITIATEDRECOVERYWORK;
|
||||
|
||||
typedef enum _DtcLu_Xln {
|
||||
DTCLUXLN_COLD = 1,
|
||||
DTCLUXLN_WARM
|
||||
} DTCLUXLN;
|
||||
|
||||
typedef enum _DtcLu_Xln_Confirmation {
|
||||
DTCLUXLNCONFIRMATION_CONFIRM = 1,
|
||||
DTCLUXLNCONFIRMATION_LOGNAMEMISMATCH,
|
||||
DTCLUXLNCONFIRMATION_COLDWARMMISMATCH,
|
||||
DTCLUXLNCONFIRMATION_OBSOLETE
|
||||
} DTCLUXLNCONFIRMATION;
|
||||
|
||||
typedef enum _DtcLu_Xln_Response {
|
||||
DTCLUXLNRESPONSE_OK_SENDOURXLNBACK = 1,
|
||||
DTCLUXLNRESPONSE_OK_SENDCONFIRMATION,
|
||||
DTCLUXLNRESPONSE_LOGNAMEMISMATCH,
|
||||
DTCLUXLNRESPONSE_COLDWARMMISMATCH
|
||||
} DTCLUXLNRESPONSE;
|
||||
|
||||
typedef enum _DtcLu_Xln_Error {
|
||||
DTCLUXLNERROR_PROTOCOL = 1,
|
||||
DTCLUXLNERROR_LOGNAMEMISMATCH,
|
||||
DTCLUXLNERROR_COLDWARMMISMATCH
|
||||
} DTCLUXLNERROR;
|
||||
|
||||
typedef enum _DtcLu_CompareState {
|
||||
DTCLUCOMPARESTATE_COMMITTED = 1,
|
||||
DTCLUCOMPARESTATE_HEURISTICCOMMITTED,
|
||||
DTCLUCOMPARESTATE_HEURISTICMIXED,
|
||||
DTCLUCOMPARESTATE_HEURISTICRESET,
|
||||
DTCLUCOMPARESTATE_INDOUBT,
|
||||
DTCLUCOMPARESTATE_RESET
|
||||
} DTCLUCOMPARESTATE;
|
||||
|
||||
typedef enum _DtcLu_CompareStates_Confirmation {
|
||||
DTCLUCOMPARESTATESCONFIRMATION_CONFIRM = 1,
|
||||
DTCLUCOMPARESTATESCONFIRMATION_PROTOCOL
|
||||
} DTCLUCOMPARESTATESCONFIRMATION;
|
||||
|
||||
typedef enum _DtcLu_CompareStates_Error {
|
||||
DTCLUCOMPARESTATESERROR_PROTOCOL = 1
|
||||
} DTCLUCOMPARESTATESERROR;
|
||||
|
||||
typedef enum _DtcLu_CompareStates_Response {
|
||||
DTCLUCOMPARESTATESRESPONSE_OK = 1,
|
||||
DTCLUCOMPARESTATESRESPONSE_PROTOCOL
|
||||
} DTCLUCOMPARESTATESRESPONSE;
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(4131e765-1aea-11d0-944b-00a0c905416e)
|
||||
]
|
||||
interface IDtcLuRecoveryInitiatedByDtcTransWork : IUnknown {
|
||||
HRESULT GetLogNameSizes([out]DWORD *pcbOurLogName,[out]DWORD *pcbRemoteLogName);
|
||||
HRESULT GetOurXln([out]DTCLUXLN *pXln,[in,out]unsigned char *pOurLogName,[in,out]unsigned char *pRemoteLogName,[out]DWORD *pdwProtocol);
|
||||
HRESULT HandleConfirmationFromOurXln([in]DTCLUXLNCONFIRMATION Confirmation);
|
||||
HRESULT HandleTheirXlnResponse([in]DTCLUXLN Xln,[in]unsigned char *pRemoteLogName,[in]DWORD cbRemoteLogName,[in]DWORD dwProtocol,[out]DTCLUXLNCONFIRMATION *pConfirmation);
|
||||
HRESULT HandleErrorFromOurXln([in]DTCLUXLNERROR Error);
|
||||
HRESULT CheckForCompareStates([out]BOOL *fCompareStates);
|
||||
HRESULT GetOurTransIdSize([in,out]DWORD *pcbOurTransId);
|
||||
HRESULT GetOurCompareStates([in,out]unsigned char *pOurTransId,[out]DTCLUCOMPARESTATE *pCompareState);
|
||||
HRESULT HandleTheirCompareStatesResponse([in]DTCLUCOMPARESTATE CompareState,[out]DTCLUCOMPARESTATESCONFIRMATION *pConfirmation);
|
||||
HRESULT HandleErrorFromOurCompareStates([in]DTCLUCOMPARESTATESERROR Error);
|
||||
HRESULT ConversationLost(void);
|
||||
HRESULT GetRecoverySeqNum([out]LONG *plRecoverySeqNum);
|
||||
HRESULT ObsoleteRecoverySeqNum([in]LONG lNewRecoverySeqNum);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(4131e766-1aea-11d0-944b-00a0c905416e)
|
||||
]
|
||||
interface IDtcLuRecoveryInitiatedByDtcStatusWork : IUnknown {
|
||||
HRESULT HandleCheckLuStatus([in]LONG lRecoverySeqNum);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(4131e764-1aea-11d0-944b-00a0c905416e)
|
||||
]
|
||||
[local] interface IDtcLuRecoveryInitiatedByDtc : IUnknown {
|
||||
HRESULT GetWork([in,out]DTCINITIATEDRECOVERYWORK *pWork,[in,out]void **ppv);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(ac2b8ad1-d6f0-11d0-b386-00a0c9083365)
|
||||
]
|
||||
interface IDtcLuRecoveryInitiatedByLuWork : IUnknown {
|
||||
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);
|
||||
HRESULT GetOurLogNameSize([in,out]DWORD *pcbOurLogName);
|
||||
HRESULT GetOurXln([out]DTCLUXLN *pXln,[in,out]unsigned char *pOurLogName,[out]DWORD *pdwProtocol);
|
||||
HRESULT HandleConfirmationOfOurXln([in]DTCLUXLNCONFIRMATION Confirmation);
|
||||
HRESULT HandleTheirCompareStates([in,out]unsigned char *pRemoteTransId,[in]DWORD cbRemoteTransId,[in]DTCLUCOMPARESTATE CompareState,[out]DTCLUCOMPARESTATESRESPONSE *pResponse,[out]DTCLUCOMPARESTATE *pCompareState);
|
||||
HRESULT HandleConfirmationOfOurCompareStates([in]DTCLUCOMPARESTATESCONFIRMATION Confirmation);
|
||||
HRESULT HandleErrorFromOurCompareStates([in]DTCLUCOMPARESTATESERROR Error);
|
||||
HRESULT ConversationLost(void);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(4131e768-1aea-11d0-944b-00a0c905416e)
|
||||
]
|
||||
interface IDtcLuRecoveryInitiatedByLu : IUnknown {
|
||||
HRESULT GetObjectToHandleWorkFromLu([out]IDtcLuRecoveryInitiatedByLuWork **ppWork);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(4131e769-1aea-11d0-944b-00a0c905416e)
|
||||
]
|
||||
interface IDtcLuRmEnlistment : IUnknown {
|
||||
HRESULT Unplug([in]BOOL fConversationLost);
|
||||
HRESULT BackedOut(void);
|
||||
HRESULT BackOut(void);
|
||||
HRESULT Committed(void);
|
||||
HRESULT Forget(void);
|
||||
HRESULT RequestCommit(void);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(4131e770-1aea-11d0-944b-00a0c905416e)
|
||||
]
|
||||
interface IDtcLuRmEnlistmentSink : IUnknown {
|
||||
HRESULT AckUnplug(void);
|
||||
HRESULT TmDown(void);
|
||||
HRESULT SessionLost(void);
|
||||
HRESULT BackedOut(void);
|
||||
HRESULT BackOut(void);
|
||||
HRESULT Committed(void);
|
||||
HRESULT Forget(void);
|
||||
HRESULT Prepare(void);
|
||||
HRESULT RequestCommit(void);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(4131e771-1aea-11d0-944b-00a0c905416e)
|
||||
]
|
||||
interface IDtcLuRmEnlistmentFactory : IUnknown {
|
||||
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);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(4131e773-1aea-11d0-944b-00a0c905416e)
|
||||
]
|
||||
interface IDtcLuSubordinateDtc : IUnknown {
|
||||
HRESULT Unplug([in]BOOL fConversationLost);
|
||||
HRESULT BackedOut(void);
|
||||
HRESULT BackOut(void);
|
||||
HRESULT Committed(void);
|
||||
HRESULT Forget(void);
|
||||
HRESULT Prepare(void);
|
||||
HRESULT RequestCommit(void);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(4131e774-1aea-11d0-944b-00a0c905416e)
|
||||
]
|
||||
interface IDtcLuSubordinateDtcSink : IUnknown {
|
||||
HRESULT AckUnplug(void);
|
||||
HRESULT TmDown(void);
|
||||
HRESULT SessionLost(void);
|
||||
HRESULT BackedOut(void);
|
||||
HRESULT BackOut(void);
|
||||
HRESULT Committed(void);
|
||||
HRESULT Forget(void);
|
||||
HRESULT RequestCommit(void);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(4131e775-1aea-11d0-944b-00a0c905416e)
|
||||
]
|
||||
interface IDtcLuSubordinateDtcFactory : IUnknown {
|
||||
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);
|
||||
};
|
||||
|
||||
/* these GUIDs were found in mingw header, but without corresponding interface definitions
|
||||
DEFINE_GUID(IID_IXAResourceManager,0x4131e751,0x1aea,0x11d0,0x94,0x4b,0x00,0xa0,0xc9,0x05,0x41,0x6e);
|
||||
DEFINE_GUID(IID_IXAResourceManagerFactory,0x4131e750,0x1aea,0x11d0,0x94,0x4b,0x00,0xa0,0xc9,0x05,0x41,0x6e);
|
||||
DEFINE_GUID(IID_IXATransaction,0x4131e752,0x1aea,0x11d0,0x94,0x4b,0x00,0xa0,0xc9,0x05,0x41,0x6e);
|
||||
*/
|
Loading…
Reference in New Issue