首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建自己的HRESULT?

创建自己的HRESULT?
EN

Stack Overflow用户
提问于 2009-10-05 23:04:26
回答 1查看 4.5K关注 0票数 17

我已经有一个项目使用了大量的COM和HRESULTS。无论如何,我想知道是否有可能定义您自己的HRESULT,并且能够为我们自己的HRESULT使用FormatMessage()?

我到处翻找,什么也找不到。有什么想法吗?

编辑

基本上,我想定义一组我自己的HRESULT,而不仅仅是返回E_FAIL。或者是其他普通的。比如E_FAIL就可以了。但是假设我想指出的是,例如,地理处理子系统崩溃或文件是无效的Raster Image。应用程序自始至终都在使用COM。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-10-05 23:16:49

当然可以。通常,您会创建一个.mc file并将其包含在项目中。指示mc compiler构建它-这将创建一个头文件和一个.rc文件。HRESULTS在头文件中定义。您可以照常将.rc文件包含在项目中,以便资源编译器进行编译-这会将消息定义放入最终模块中。然后,您可以使用常规的FormatMessage函数来格式化使用HRESULTS的消息,并生成错误信息和其他内容。

下面是我的一个.mc文件的命令行:

代码语言:javascript
复制
mc   -h "../include" -r "../include" "..\include\errors.mc"

这将在include目录中创建errors.rc和errors.h。然后我做到了:

代码语言:javascript
复制
#include "errors.rc"

在项目的主.rc文件中。

.mc文件看起来有点像这样:

代码语言:javascript
复制
LanguageNames=(English=0x409:MSG00409)

MessageId=0x1
SymbolicName=SOME_CATEGORY
Language=English
Some Category
.

MessageID=
Severity=Error
SymbolicName=ERROR_INVALID_PROP_INDEX

Language=English
Invalid property index %1
.

定义了很多错误号。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1522853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档