HRESULT:将自定义代码与系统一个区分开

HRESULT: distinguish custom code from system one

本文关键字:一个 区分开 系统 自定义 代码 HRESULT      更新时间:2023-10-16

之前提出过类似的问题,但我在那里没有找到一些答案。

我了解,为了制作自定义Hresult代码,我创建了一个.mc文件,其中描述了代码,然后对其进行编译并获取.h文件。但是我无法理解如何防止系统重叠。

示例:

LanguageNames=(English=0x409:MSG00409)
MessageId = 0x0
Severity = Success
Facility = Application
SymbolicName = CUSTOME_CODE
Language=English
Cusome message
.

产生

#define CUSTOME_CODE                     0x00000000L

S_OK实际上是相同的。

如果我从我的方法中返回 CUSTOME_CODE,呼叫者将无法将其与 S_OK;

区分开

Wiki说,Hresult包含一些区分Microsoft/用户定义的代码属性,但我不明白如何设置它。MSDN还说,钻头只是"保留"。

如何制作无法重叠系统的代码?

描述特定接口返回代码的Hresult应包含FACILTY_ITF设施代码。但是请注意,为com定义的FACILITY_ITF代码保留0x0000和0x01ff之间的返回值。

有关更多详细信息,请参见此链接。