#include <comsvcs.h>
// ITransactionContext 接口的 GUID
EXTERN_C const IID IID_ITransactionContext;
// ITransactionContext 接口的定义
MIDL_INTERFACE("7999FCF2-0A3B-11D1-A37D-000000000000")
ITransactionContext : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE CreateInstance(
/* [in] */ LPCOLESTR pszProgID,
/* [in] */ IUnknown __RPC_FAR* pUnkOuter,
/* [in] */ DWORD dwClsContext,
/* [in] */ REFIID riid,
/* [out] */ void __RPC_FAR* __RPC_FAR* ppvObj) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateInstanceLic(
/* [in] */ LPCOLESTR pszProgID,
/* [in] */ IUnknown __RPC_FAR* pUnkOuter,
/* [in] */ DWORD dwClsContext,
/* [in] */ REFIID riid,
/* [in] */ BSTR bstrKey,
/* [out] */ void __RPC_FAR* __RPC_FAR* ppvObj) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateInstanceLicServer(
/* [in] */ LPCOLESTR pszProgID,
/* [in] */ IUnknown __RPC_FAR* pUnkOuter,
/* [in] */ DWORD dwClsContext,
/* [in] */ REFIID riid,
/* [in] */ BSTR bstrKey,
/* [in] */ BSTR bstrServer,
/* [out] */ void __RPC_FAR* __RPC_FAR* ppvObj) = 0;
virtual HRESULT STDMETHODCALLTYPE IsCallerInTransaction(
/* [out] */ BOOL __RPC_FAR* pfCallerInTransaction) = 0;
virtual HRESULT STDMETHODCALLTYPE PerformWork(
/* [in] */ BOOL fCallerInTransaction) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPartitionID(
/* [in] */ GUID guidPartitionID) = 0;
};
这个接口提供了在事务上下文中执行工作、创建实例等功能。如果你在开发需要与 COM+ 事务相关的应用程序,可能会用到这个接口。记得在使用接口前,需要初始化 COM(CoInitialize 或 CoInitializeEx)。
如有需要,你也可以查阅最新的 Comsvcs.h 头文件或相关的 SDK 文档,以获取最新的信息。
转载请注明出处:http://www.zyzy.cn/article/detail/25094/Win32 API/Comsvcs.h/ITransactionContext