ITransactionContext 接口是与事务处理相关的 COM+ 接口之一。以下是该接口的定义:
#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