可以通过配置查看窗口来始终显示该线程的最终错误代码号,以及对应于该错误的英文文本描述。通过在查看窗口中选择一行,然后键入“@err,hr”就能实现该功能。
如果在编写的应用程序中发现一个错误,可能需要把文本描述的错误信息显示给用户。微软提供了一个函数,将错误代码转换为其文本描述。该函数FormatMessage。
DWORD FormatMessage(
DWORD dwFlags, // source and processing options
LPCVOID lpSource, // pointer to message source
DWORD dwMessageId, // requested message identifier
DWORD dwLanguageId, // language identifier for requested message
LPTSTR lpBuffer, // pointer to message buffer
DWORD nSize, // maximum size of message buffer
va_list *Arguments // pointer to array of message inserts
);
若要指明函数运行失败,只需要设定线程的最后的错误代码,然后让你的函数返回FA L S E 、I N VA L I D _ H A N D L E _ VA L U E 、N U L L 或者返回任何合适的信息。若要设定线程的最后错误代码,只需调用下面的代码:
请将你认为合适的任何3 2 位号码传递给该函数。尝试使用Wi n E r r o r. h 中已经存在的代码,
VOID SetLastError(DWORD dwErrCode);
表1-2 错误代码的域
位 | 3 1 ~30 | 29 | 28 | 27~16 | 15~0 |
内容 | 严重性 | M i c r o s o f t/客户 | 保留 | 设备代码 | 异常代码 |
含义 | 0 =成功 | 0 =M i c r o s o f t公司定义的代码 | 必须是0 | 由M i c r o s o f t公司定义 | 由Microsoft/客户定义 |
1 =供参考 | 1 =客户定义的代码 | ||||
2 =警告 | |||||
3 =错误 |