首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

C++ Component
C++组件

这个COM示例是由C++ 和动态模板库(Active Template Library/ATL)实现的。代码段4-13里面是接口ICOMDemo的GetContextID方法的实现。在COM中,你可以通过名为GetObjectContext的API来得到对象所在的上下文,这个方法会返回一个指向IObjectContext的指针。这个上下文对象除了IObjectContext以外还实现了其他几个接口。而为了访问上下文标识,你还需要使用IObjectContextInfo接口。这个接口定义了方法GetContextId,它可以被用于返回上下文标识。

代码段4-13  C++ COM对象的方法——返回上下文ID

STDMETHODIMP CCOMDemo::GetContextID(GUID* context)

{

   HRESULT hr;

 

   IObjectContext* pContext;

   hr = GetObjectContext(&pContext);

 

   if (hr != S_OK)

   {

   return hr;

   }

   if (hr == S_OK)

   {

   IObjectContextInfo* pContextInfo;

   pContext->QueryInterface(&pContextInfo);

   pContext->Release();

 

   hr = pContextInfo->GetContextId(context);

 

   pContextInfo->Release();

   }

 

   return hr;

}

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论