当我执行以下代码段时,它会失败,并显示 错误代码317 。如何解决这个问题?我们为项目使用Unicode字符集
char * pszMessgeBuffer = NULL; FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, dwErrorId, 0,//默认语言(LPTSTR) ; pszMessgeBuffer, 0, NULL)解决方案>
使用错误代码查找工具 Studio,317被描述为
系统找不到消息文本消息号为0x%1的消息文件为%2。
这意味着系统中不存在上一个错误代码的消息描述。 FormatMessage 的MSDN文档,标志 FORMAT_MESSAGE_FROM_SYSTEM 说明:
不是所有基于Windows Embedded CE的设备都包含系统 message-table资源。这是Windows 嵌入式CE操作系统的一个可选部分,而且经常被删除以节省空间。
When I executed the following code piece it fails with error code 317. How can solve the issue? We are using Unicode Character Set for the project
char* pszMessgeBuffer = NULL; FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, dwErrorId, 0, // Default language (LPTSTR) &pszMessgeBuffer, 0, NULL )解决方案
Using the error code lookup tool from Visual Studio, 317 is described as
The system cannot find message text for message number 0x%1 in the message file for %2.
This means that a message description does not exist in the system for the previous error code. The MSDN documentation for FormatMessage with flag FORMAT_MESSAGE_FROM_SYSTEM states that:
Not all Windows Embedded CE–based devices will contain the system message-table resources. This is a selectable part of the Windows Embedded CE operating system and is often removed to conserve space.
更多推荐
FormatMessage失败,错误代码317
发布评论