惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
爱范儿
爱范儿
博客园_首页
博客园 - 【当耐特】
V
Visual Studio Blog
博客园 - 叶小钗
月光博客
月光博客
美团技术团队
J
Java Code Geeks
小众软件
小众软件
Y
Y Combinator Blog
博客园 - Franky
Martin Fowler
Martin Fowler
博客园 - 聂微东
Microsoft Azure Blog
Microsoft Azure Blog
IT之家
IT之家
MyScale Blog
MyScale Blog
人人都是产品经理
人人都是产品经理
Microsoft Security Blog
Microsoft Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
阮一峰的网络日志
阮一峰的网络日志
酷 壳 – CoolShell
酷 壳 – CoolShell
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
云风的 BLOG
云风的 BLOG

博客园 - 飞天舞者

微服务学习之旅 - 构建一个helloworld的Micro service. Windows Azure上的大数据服务: HDInsight的介绍 介绍Windows Azure HDInsight服务的Hadoop Storm的视频 Windows Azure Service Bus Topics实现系统松散耦合 Windows Azure Service Bus Notification Hub推送通知 使用Microsoft Azure云平台中的Service Bus 中继 Intanet环境下的WCF服务。 SharePoint 2013的REST编程基础 什么是SharePoint? Windows的SEH机理简要介绍 如何调试由于heap corruption导致的程序崩溃的简单示例 利用定制行为扩展WCF之-利用MessageInsepctor behaviourExtension扩展WCF行为(自定义消息头) (转载)如何在WCF实现impersonnate客户端的功能 关于COM的Reg-Free(免注册)技术简介及实例讲解。 如何实现DCOM或者COM+的远程调用 转载推荐:COM中不同字符类型相互转换,例如char*, BSTR, CString等等 一种强行指定dll assembly读取其相应*.dll.config配置文件的方法(又名:如何创建.net 的DCOM) [软件调试学习笔记]防止栈缓冲区溢出的基于Cookie的安全检查机制 [软件调试学习笔记]WinDbg演示IA-32 CPU下的Windows 分页机制下的地址转换过程 Debug入门之旅-StackoverFlow exception的调试
COM中的error handling机制及示例(ISupportEfforInfo,ICreat...
飞天舞者 · 2009-06-06 · via 博客园 - 飞天舞者

COM采取通过返回HRESULT code的方式来获取COM调用的结果。但是往往返回的HRESULT非常抽象。为了使返回的Error information 更加具有可读性,COM支持ISupportErrorInfo interface来对Error information进行具体描述。

在COM service中返回一个具体的Error information过程如下所示:

参阅文章:http://msdn.microsoft.com/en-us/library/ms221062.aspx

在COM client 中检索error information的过程如下所示:

参阅文章:http://msdn.microsoft.com/en-us/library/ms221026.aspx

如何实现这种基于IErrorInfo的错误处理机制,可以参阅Microsoft Support KB:http://support.microsoft.com/kb/139073/en-us

下面的demo演示了通过ISupportErrorInfo interface, ICreateErrorInfo interface, IErrorInfo interface,以及CreateErrorInfo() API, SetErrorInfo() API和smart pointer来实现Error Handling .

COM service side:

=========
COM IDL File

Code

 SimpleClass Header File:

Code

SimpleClass Implementation:

Code

COM Client:

============
Client code:

Code

关于此demo的source code,点击此处下载