是否有一种内置方法可以将HRESULT表示为Winerror.h常量,例如E_FAIL?

时间:2013-08-23 09:02:00

标签: c# .net com com-interop error-code

在我的C#代码中,我希望能够记录COMException,以便不仅输出HRESULT的十六进制表示(例如,0x80004005)而且还输出相应的WinError输出.h定义符号(例如E_FAIL)。

如果我在异常引用上调用ToString(),则只有十六进制表示。

是否有内置的方法来获取E_FAIL - 就像HRESULT对象中COMException值的人类可读常量一样?

2 个答案:

答案 0 :(得分:5)

使用COMException的{​​{1}}属性

这样的内容
HResult

答案 1 :(得分:0)

在FORMAT_MESSAGE_FROM_SYSTEM中查看此处 - http://msdn.microsoft.com/en-us/library/windows/desktop/ms679351%28v=vs.85%29.aspx。它返回有关传递的错误代码的人类可读消息。