Windows错误信息

米歇尔·费恩斯坦

我正在使用HIDAPI开发用于USB通信的程序,似乎API函数hid_error()直接从Windows返回最后一条错误消息,而不是由API本身生成的消息。在哪里可以找到所有可能的错误消息的列表,以便对错误做出更准确的反应?

lpapp

我相信您除了在Windows上的常规错误代码外,还在寻找以下两个功能,该文件的文档似乎是Google上的第一个结果。

第一个功能将允许您对照系统错误代码检查错误代码,并根据您的意愿(尽管您尚未共享需要进行任何自定义的原因),您可以显示自定义错误消息,也可以只使用第二个功能是在可行时保持该功能。当然,您也可以保留hid_error输出,因为这是等效的。

1)获取错误代码本身。

GetLastError函数

检索调用线程的最后一个错误代码值。最后错误代码基于每个线程进行维护。多个线程不会覆盖彼此的最后错误代码。

2)从错误代码中获取字符串。

FormatMessage函数

格式化消息字符串。该功能需要消息定义作为输入。消息定义可以来自传递给函数的缓冲区。它可以来自已加载模块中的消息表资源。或者,调用者可以要求函数在系统的消息表资源中搜索消息定义。该函数根据消息标识符和语言标识符在消息表资源中找到消息定义。该函数将格式化的消息文本复制到输出缓冲区,如果需要,则处理所有嵌入的插入序列。

Qt例如,应用程序中,这将是处理自定义问题的更自然的方式:

QString QtWin :: errorStringFromHresult(HRESULT hresult)

返回指定的hresult错误ID的代码名称(通常是WinAPI宏的名称),如果消息未知,则返回空字符串。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章