IObjectContext 接口通常与 COM+ 相关,用于管理 COM+ 事务、对象池和上下文等。以下是 IObjectContext 接口的定义:
// 文件: comsvcs.h

// IObjectContext 接口的定义
interface IObjectContext : IUnknown
{
public:
    virtual BOOL STDMETHODCALLTYPE IsInTransaction( void) = 0;
    virtual BOOL STDMETHODCALLTYPE IsSecurityEnabled( void) = 0;
    virtual BOOL STDMETHODCALLTYPE IsCallerInRole( 
        /* [in] */ BSTR bstrRole) = 0;
    virtual HRESULT STDMETHODCALLTYPE PerformSecurityCheck( void) = 0;
    virtual HRESULT STDMETHODCALLTYPE SetAbort( void) = 0;
    virtual HRESULT STDMETHODCALLTYPE SetComplete( void) = 0;
    virtual HRESULT STDMETHODCALLTYPE DisableCommit( void) = 0;
    virtual HRESULT STDMETHODCALLTYPE EnableCommit( void) = 0;
    virtual HRESULT STDMETHODCALLTYPE SetTransactionVote( 
        /* [in] */ BOOL bVote) = 0;
    virtual HRESULT STDMETHODCALLTYPE GetTransactionVote( 
        /* [out] */ BOOL *pbVote) = 0;
    virtual HRESULT STDMETHODCALLTYPE GetActivityId( 
        /* [out] */ GUID *pguidActivity) = 0;
};

这个接口包含了许多方法,用于查询和管理对象的上下文信息,包括事务状态、安全性检查、角色检查等。以下是其中一些方法的简要说明:

1. IsInTransaction: 判断当前对象是否处于事务中。
2. IsSecurityEnabled: 判断安全性是否已启用。
3. IsCallerInRole: 判断调用者是否属于指定的角色。
4. PerformSecurityCheck: 执行安全性检查。
5. SetAbort: 将事务状态设置为 "Abort"。
6. SetComplete: 将事务状态设置为 "Complete"。
7. DisableCommit: 禁用提交。
8. EnableCommit: 启用提交。
9. SetTransactionVote: 设置事务的投票状态。
10. GetTransactionVote: 获取事务的投票状态。
11. GetActivityId: 获取活动的唯一标识符。

要详细了解 IObjectContext 接口的使用和相关的编程概念,建议查阅 Microsoft 的官方文档,特别是 MSDN 或 Windows SDK 文档。


转载请注明出处:http://www.zyzy.cn/article/detail/25080/Win32 API/Comsvcs.h/IObjectContext