在 Win32 API 中,IObjectContextInfo 接口通常与 COM+ 相关,用于获取有关 COM+ 上下文的信息。以下是 IObjectContextInfo 接口的定义:
// 文件: comsvcs.h

// IObjectContextInfo 接口的定义
interface IObjectContextInfo : IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE GetObjectName( 
        /* [out] */ BSTR *pbstrName) = 0;
    virtual HRESULT STDMETHODCALLTYPE GetActivityId( 
        /* [out] */ GUID *pguidActivity) = 0;
    virtual HRESULT STDMETHODCALLTYPE IsInTransaction( void) = 0;
    virtual HRESULT STDMETHODCALLTYPE IsSecurityEnabled( void) = 0;
    virtual HRESULT STDMETHODCALLTYPE IsCallerInRole( 
        /* [in] */ BSTR bstrRole,
        /* [out] */ BOOL *pbRoleMember) = 0;
    virtual HRESULT STDMETHODCALLTYPE IsUserInRole( 
        /* [in] */ BSTR bstrRole,
        /* [in] */ BSTR bstrUser,
        /* [out] */ BOOL *pbRoleMember) = 0;
    virtual HRESULT STDMETHODCALLTYPE IsCallerInRoleAtActivity( 
        /* [in] */ BSTR bstrRole,
        /* [out] */ BOOL *pbRoleMember) = 0;
    virtual HRESULT STDMETHODCALLTYPE IsUserInRoleAtActivity( 
        /* [in] */ BSTR bstrRole,
        /* [in] */ BSTR bstrUser,
        /* [out] */ BOOL *pbRoleMember) = 0;
};

这个接口包含了一些方法,用于获取与 COM+ 上下文相关的信息,例如对象名称、活动标识、事务状态、安全性信息以及角色成员关系等。

以下是其中一些方法的简要说明:

1. GetObjectName: 获取对象的名称。
2. GetActivityId: 获取活动的唯一标识符。
3. IsInTransaction: 判断当前对象是否处于事务中。
4. IsSecurityEnabled: 判断安全性是否已启用。
5. IsCallerInRole: 判断调用者是否属于指定的角色。
6. IsUserInRole: 判断指定用户是否属于指定的角色。
7. IsCallerInRoleAtActivity: 在指定活动中判断调用者是否属于指定的角色。
8. IsUserInRoleAtActivity: 在指定活动中判断指定用户是否属于指定的角色。

这些方法允许对象查询有关其运行上下文的信息。

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


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