当我执行以下代码时,它失败并显示 错误代码317 。怎么解决这个问题?我们正在为项目使用Unicode字符集
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 )
答案 0 :(得分:6)
使用Visual Studio中的错误代码查找tool,将317描述为
系统无法找到消息文本 消息中的消息号为0x%1 %2的文件。
这意味着系统中不存在先前错误代码的消息描述。带有标记FORMAT_MESSAGE_FROM_SYSTEM
的{{3}}的MSDN文档指出:
并非所有基于Windows Embedded CE的 设备将包含该系统 消息表资源。这是一个 Windows的可选部分 嵌入式CE操作系统是 经常被移除以节省空间。
答案 1 :(得分:0)
我认为错误317是使用Win32函数LsaNtStatusToWinError(87)的结果,其中winstatus 87表示'参数不正确'