我正在开发一个使用HIDAPI进行USB通信的程序,看来API函数hid_error()直接从windows返回最后一条错误消息,而不是API本身生成的消息。在哪里可以找到所有可能错误消息的列表,以便我能更准确地对错误做出反应?
答案 0 :(得分:2)
我相信除了Windows上的常规错误代码之外,您还在寻找以下两个功能,其中的文档似乎是Google上的第一个结果。
第一个函数将允许您根据system error codes检查错误代码,并根据您的需要(尽管您尚未分享为什么需要任何自定义),您可以显示自定义错误消息,或者您可以使用第二个功能在可行时保留该功能。当然,您也可以保留hid_error输出,因为这是等效的。
1)获取错误代码本身。
检索调用线程的最后错误代码值。最后一个错误代码是基于每个线程维护的。多个线程不会覆盖彼此的最后一个错误代码。
2)从错误代码中获取字符串。
格式化消息字符串。该函数需要消息定义作为输入。消息定义可以来自传递给函数的缓冲区。它可以来自已加载模块中的消息表资源。或者调用者可以要求函数在系统的消息表资源中搜索消息定义。该函数基于消息标识符和语言标识符在消息表资源中查找消息定义。该函数将格式化的消息文本复制到输出缓冲区,处理任何嵌入的插入序列(如果请求)。
例如,在Qt
应用程序中,这甚至是处理自定义问题的更自然的方式:
QString QtWin::errorStringFromHresult(HRESULT hresult)
返回指定的hresult错误id的代码名称(通常是WinAPI宏的名称),如果消息未知,则返回空字符串。
答案 1 :(得分:1)
您可以查看System Error Codes。