📄 txdtc.h
字号:
// @interface IXAResourceManager
/* ----------------------------------------------------------------------------
@class IXAResourceManager | XA RM support.<nl>
-------------------------------------------------------------------------------
@rev 0 | 09/30/96 |gaganc | created
---------------------------------------------------------------------------- */
#undef INTERFACE
#define INTERFACE IXAResourceManager
DECLARE_INTERFACE_ (IXAResourceManager, IUnknown)
{
// IUnknown interface methods:
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID * ppv) PURE;
STDMETHOD_ (ULONG, AddRef) (THIS) PURE;
STDMETHOD_ (ULONG, Release) (THIS) PURE;
}; //end interface IXAResourceManager
// @interface IXAResourceManagerFactory
/* ----------------------------------------------------------------------------
@class IXAResourceManagerFactory | XA RM support.<nl>
-------------------------------------------------------------------------------
@rev 0 | 09/30/96 |gaganc | created
---------------------------------------------------------------------------- */
#undef INTERFACE
#define INTERFACE IXAResourceManagerFactory
DECLARE_INTERFACE_ (IXAResourceManagerFactory, IUnknown)
{
// IUnknown interface methods:
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID * ppv) PURE;
STDMETHOD_ (ULONG, AddRef) (THIS) PURE;
STDMETHOD_ (ULONG, Release) (THIS) PURE;
STDMETHOD (Create) (
/*[in] */ char * pszDSN,
/*[in] */ CLSID pclsidRMHelper,
/*[out] */ IXAResourceManager ** ppIXaResMgr
) PURE;
}; //end interface IXAResourceManagerFactory
// @interface IXATransaction
/* ----------------------------------------------------------------------------
@class IXATransaction | XA RM support.<nl>
-------------------------------------------------------------------------------
@rev 0 | 09/30/96 |gaganc | created
---------------------------------------------------------------------------- */
#undef INTERFACE
#define INTERFACE IXATransaction
DECLARE_INTERFACE_ (IXATransaction, ITransaction)
{
// IUnknown interface methods:
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID * ppv) PURE;
STDMETHOD_ (ULONG, AddRef) (THIS) PURE;
STDMETHOD_ (ULONG, Release) (THIS) PURE;
//methods from ITransaction
STDMETHOD (Commit)
(
/*[in]*/ BOOL fRetaining,
/*[in]*/ DWORD grfTC,
/*[in]*/ DWORD grfRM
) PURE;
STDMETHOD (Abort)
(
/*[in]*/ BOID* pboidReason,
/*[in]*/ BOOL fRetaining,
/*[in]*/ BOOL fAsync
)PURE;
STDMETHOD (GetTransactionInfo)
(
/* [out] */ XACTTRANSINFO* pinfo
) PURE;
//additional methods
STDMETHOD (Join)
(
/*[in]*/ IXAResourceManager * pIXAResourceManager
) PURE;
STDMETHOD (UnJoin)
(
void
) PURE;
}; //end interface IXATransaction
// @interface IResourceManagerFactory | See class <c IResourceManagerFactory>.
// -----------------------------------------------------------------------
// @class IResourceManagerFactory | Creates <c IResourceManager> instances.<nl>
// Description:<nl>
// Usage:<nl>
// Notes:<nl>
// UNDONE:
// .
// -----------------------------------------------------------------------
// @rev 0 | 05/06/95 |mohsena | created
// -----------------------------------------------------------------------
DECLARE_INTERFACE_ (IResourceManagerFactory, IUnknown) // @base public | IUnknown
{
// IUnknown interface methods:
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID * ppv) PURE;
STDMETHOD_ (ULONG, AddRef) (THIS) PURE;
STDMETHOD_ (ULONG, Release) (THIS) PURE;
// IResourceManagerFactory interface methods
STDMETHOD (Create) (
THIS_
GUID __RPC_FAR *pguidRM,
TCHAR __RPC_FAR *pszRMName,
IResourceManagerSink * pIResMgrSink,
IResourceManager __RPC_FAR *__RPC_FAR *ppResMgr
) PURE;
};
// @interface IPrepareInfo | See class <c IPrepareInfo>.
// -----------------------------------------------------------------------
// @class IPrepareInfo | Defines <i IPrepareInfo>.<nl>
// Description:<nl>
// Usage:<nl>
// Notes:<nl>
// UNDONE:
// .
// -----------------------------------------------------------------------
// @rev 0 | 03/28/95 |gaganc | created
// -----------------------------------------------------------------------
DECLARE_INTERFACE_ (IPrepareInfo, IUnknown) // @base public | IUnknown
{
// IUnknown interface methods:
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID * ppv) PURE;
STDMETHOD_ (ULONG, AddRef) (THIS) PURE;
STDMETHOD_ (ULONG, Release) (THIS) PURE;
// IPrepareInfo methods
STDMETHOD (GetPrepareInfoSize) (THIS_
/*[out]*/ ULONG __RPC_FAR *pcbPrepInfo) PURE;
STDMETHOD (GetPrepareInfo) (THIS_
/*[in/out]*/ unsigned char __RPC_FAR *pPrepInfo) PURE;
};
// @interface IGetDispenser | See class <c IGetDispenser>.
// -----------------------------------------------------------------------
// @class IGetDispenser | Defines <i IGetDispenser>.<nl>
// Description:<nl>
// Usage:<nl>
// Notes:<nl>
// UNDONE:
// .
// -----------------------------------------------------------------------
// @rev 0 | 03/28/95 |gaganc | created
// -----------------------------------------------------------------------
DECLARE_INTERFACE_ (IGetDispenser, IUnknown) // @base public | IUnknown
{
// IUnknown interface methods:
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID * ppv) PURE;
STDMETHOD_ (ULONG, AddRef) (THIS) PURE;
STDMETHOD_ (ULONG, Release) (THIS) PURE;
// IGetDispenser methods
STDMETHOD (GetDispenser) (THIS_
/*[in]*/ REFIID rid,
/*[in/out]*/ void** ppvObject) PURE;
};
// @interface ITransactionVoterNotifyAsync | <nl>.
// -----------------------------------------------------------------------
// @class ITransactionVoterNotifyAsync | Defines <i ITransactionVoterNotifyAsync>.<nl>
// Description: This interface is implemented by a voters object.<nl>
// Usage: Register an object supporting this interface with the DTC proxy
// using the ITransactionVoterFactory::Create <nl>
// Notes:<nl>
// UNDONE:
// .
// -----------------------------------------------------------------------
// @rev 0 | 05/01/95 | shaiwals | created
// -----------------------------------------------------------------------
DECLARE_INTERFACE_ (ITransactionVoterNotifyAsync, ITransactionOutcomeEvents)
// @base public | ITransactionOutcomeEvents
{
// IUnknown interface methods:
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID * ppv) PURE;
STDMETHOD_ (ULONG, AddRef) (THIS) PURE;
STDMETHOD_ (ULONG, Release) (THIS) PURE;
// ITransactionOutcomeEvents methods
STDMETHOD (Committed) (THIS_
/*[in]*/ BOOL fRetaining,
/*[in]*/ XACTUOW __RPC_FAR *pNewUOW,
/*[in]*/ HRESULT hr) PURE;
STDMETHOD (Aborted) (THIS_
/*[in]*/ BOID __RPC_FAR *pboidReason,
/*[in]*/ BOOL fRetaining,
/*[in]*/ XACTUOW __RPC_FAR *pNewUOW,
/*[in]*/ HRESULT hr) PURE;
STDMETHOD (HeuristicDecision) (THIS_
/*[in]*/ DWORD dwDecision,
/*[in]*/ BOID __RPC_FAR *pboidReason,
/*[in]*/ HRESULT hr) PURE;
STDMETHOD (Indoubt) (THIS) PURE;
// ITransactionVoterNotifyAsync methods
STDMETHOD (VoteRequest) (THIS) PURE;
};
// @interface ITransactionVoterBallotAsync | See class <c CImpTxVoterBallotAsync>.
// -----------------------------------------------------------------------
// @class ITransactionVoterBallotAsync | Defines <i ITransactionVoterBallotAsync>.<nl>
// Description:<nl>
// Usage:<nl>
// Notes:<nl>
// UNDONE:
// .
// -----------------------------------------------------------------------
// @rev 0 | 05/01/95 | shaiwals | created
// -----------------------------------------------------------------------
DECLARE_INTERFACE_ (ITransactionVoterBallotAsync, IUnknown) // @base public | IUnknown
{
// IUnknown interface methods:
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID * ppv) PURE;
STDMETHOD_ (ULONG, AddRef) (THIS) PURE;
STDMETHOD_ (ULONG, Release) (THIS) PURE;
// ITransactionVoterBallotAsync methods
STDMETHOD (VoteRequestDone) (THIS_
/*[in]*/ HRESULT hr,
/*[in]*/ BOID * pboidReason
) PURE;
};
// @interface ITransactionVoterFactory | See class <c CImpTxVoterFactory>.
// -----------------------------------------------------------------------
// @class ITransactionVoterFactory | Defines <i ITransactionVoterFactory>.<nl>
// Description:<nl>
// Usage:<nl>
// Notes:<nl>
// UNDONE:
// .
// -----------------------------------------------------------------------
// @rev 0 | 05/01/95 | shaiwals | created
// -----------------------------------------------------------------------
DECLARE_INTERFACE_ (ITransactionVoterFactory, IUnknown) // @base public | IUnknown
{
// IUnknown interface methods:
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID * ppv) PURE;
STDMETHOD_ (ULONG, AddRef) (THIS) PURE;
STDMETHOD_ (ULONG, Release) (THIS) PURE;
// ITransactionVoterFactory methods
STDMETHOD (Create) (THIS_
/*[in]*/ ITransaction * pTransaction,
/*[in]*/ ITransactionVoterNotifyAsync * pVoterNotify,
/*[in/out]*/ ITransactionVoterBallotAsync ** ppVoterBallot
) PURE;
};
// @interface ITransactionTransmitter | See class <c CImpTxTransmitter>.
// -----------------------------------------------------------------------
// @class ITransactionTransmitter | Defines <i ITransactionTransmitter>.<nl>
// Description:<nl>
// Usage:<nl>
// Notes:<nl>
// UNDONE:
// .
// -----------------------------------------------------------------------
// @rev 0 | 05/01/95 | shaiwals | created
// -----------------------------------------------------------------------
DECLARE_INTERFACE_ (ITransactionTransmitter, IUnknown) // @base public | IUnknown
{
// IUnknown interface methods:
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID * ppv) PURE;
STDMETHOD_ (ULONG, AddRef) (THIS) PURE;
STDMETHOD_ (ULONG, Release) (THIS) PURE;
// ITransactionTransmitter methods
STDMETHOD (Set) (THIS_
/*[in]*/ ITransaction * pTransaction
) PURE;
STDMETHOD (GetPropagationTokenSize)(THIS_
/*[in/out]*/ ULONG *pcbToken
) PURE;
STDMETHOD (MarshalPropagationToken)(THIS_
/*[in]*/ ULONG pcbToken,
/*[in/out]*/ BYTE *rgbToken,
/*[in/out]*/ ULONG *pcbUsed
) PURE;
STDMETHOD (UnmarshalReturnToken)(THIS_
/*[in]*/ ULONG pcbReturnToken,
/*[in]*/ BYTE *rgbReturnToken
) PURE;
STDMETHOD (Reset) (THIS) PURE;
};
// @interface ITransactionTransmitterFactory | See class <c CImpTxTransmitterFactory>.
// -----------------------------------------------------------------------
// @class ITransactionTransmitterFactory | Defines <i ITransactionTransmitterFactory>.<nl>
// Description:<nl>
// Usage:<nl>
// Notes:<nl>
// UNDONE:
// .
// -----------------------------------------------------------------------
// @rev 0 | 05/01/95 | shaiwals | created
// -----------------------------------------------------------------------
DECLARE_INTERFACE_ (ITransactionTransmitterFactory, IUnknown) // @base public | IUnknown
{
// IUnknown interface methods:
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID * ppv) PURE;
STDMETHOD_ (ULONG, AddRef) (THIS) PURE;
STDMETHOD_ (ULONG, Release) (THIS) PURE;
// ITransactionTransmitterFactory methods
STDMETHOD (Create) ( THIS_
/*[in/out]*/ ITransactionTransmitter ** ppTransmitter
) PURE;
};
// @interface ITransactionReceiver | See class <c CImpTxReceiver>.
// -----------------------------------------------------------------------
// @class ITransactionReceiver | Defines <i ITransactionReceiver>.<nl>
// Description:<nl>
// Usage:<nl>
// Notes:<nl>
// UNDONE:
// .
// -----------------------------------------------------------------------
// @rev 0 | 05/01/95 | shaiwals | created
// -----------------------------------------------------------------------
DECLARE_INTERFACE_ (ITransactionReceiver, IUnknown) // @base public | IUnknown
{
// IUnknown interface methods:
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID * ppv) PURE;
STDMETHOD_ (ULONG, AddRef) (THIS) PURE;
STDMETHOD_ (ULONG, Release) (THIS) PURE;
// ITransactionReceiver methods
STDMETHOD (UnmarshalPropagationToken)(THIS_
/*[in]*/ ULONG pcbToken,
/*[in]*/ BYTE *rgbToken,
/*[in/out]*/ ITransaction ** ppTransaction
) PURE;
STDMETHOD (GetReturnTokenSize)(THIS_
/*[in/out]*/ ULONG *pcbReturnToken
) PURE;
STDMETHOD (MarshalReturnToken)(THIS_
/*[in]*/ ULONG pcbReturnToken,
/*[in\out]*/ BYTE *rgbReturnToken,
/*[in\out]*/ ULONG *pcbUsed
) PURE;
STDMETHOD (Reset) (THIS) PURE;
};
// @interface ITransactionReceiverFactory | See class <c CImpTxReceiverFactory>.
// -----------------------------------------------------------------------
// @class ITransactionReceiverFactory | Defines <i ITransactionReceiverFactory>.<nl>
// Description:<nl>
// Usage:<nl>
// Notes:<nl>
// UNDONE:
// .
// -----------------------------------------------------------------------
// @rev 0 | 05/01/95 | shaiwals | created
// -----------------------------------------------------------------------
DECLARE_INTERFACE_ (ITransactionReceiverFactory, IUnknown) // @base public | IUnknown
{
// IUnknown interface methods:
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID * ppv) PURE;
STDMETHOD_ (ULONG, AddRef) (THIS) PURE;
STDMETHOD_ (ULONG, Release) (THIS) PURE;
// ITransactionReceiverFactory methods
STDMETHOD (Create) (THIS_
/*[in/out]*/ ITransactionReceiver ** ppReceiver
) PURE;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -