⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 txdtc.h

📁 sql2000 DEVTOOLS INCLUDE
💻 H
📖 第 1 页 / 共 2 页
字号:


// @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 + -