win API 中是否有一个函数可以用来提取 HRESULT 值的字符串表示?
Is there a function in win API which can be used to extract the string representation of HRESULT value?
问题是并非所有返回值都记录在 MSDN 中,例如 ExecuteInDefaultAppDomain() 函数没有记录为返回0x80070002 - 系统找不到指定的文件.",但是,它确实如此!所以,我想知道是否有一个函数可以在普通情况下使用.
The problem is that not all return values are documented in MSDN, for example ExecuteInDefaultAppDomain() function is not documented to return "0x80070002 - The system cannot find the file specified.", however, it does! Therefore, I was wondering whether there is a function to be used in common case.
您可以使用 _com_error:
_com_error err(hr);
LPCTSTR errMsg = err.ErrorMessage();
如果您出于任何原因不想使用 _com_error,您仍然可以查看其源代码,看看它是如何完成的.
If you don't want to use _com_error for whatever reason, you can still take a look at its source, and see how it's done.
不要忘记包含标题 comdef.h
这篇关于有没有办法使用 win API 获取 HRESULT 值的字符串表示?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
当没有异常时,C++ 异常会以何种方式减慢代码速In what ways do C++ exceptions slow down code when there are no exceptions thown?(当没有异常时,C++ 异常会以何种方式减慢代码速度?)
为什么要捕获异常作为对 const 的引用?Why catch an exception as reference-to-const?(为什么要捕获异常作为对 const 的引用?)
我应该何时以及如何使用异常处理?When and how should I use exception handling?(我应该何时以及如何使用异常处理?)
C++中异常对象的范围Scope of exception object in C++(C++中异常对象的范围)
从构造函数的初始化列表中捕获异常Catching exceptions from a constructor#39;s initializer list(从构造函数的初始化列表中捕获异常)
C++03 throw() 说明符 C++11 noexcept 之间的区别Difference between C++03 throw() specifier C++11 noexcept(C++03 throw() 说明符 C++11 noexcept 之间的区别)