问题描述
|
CString ErrorMessageFromErrorCode(DWORD错误代码)
{
void * pMsgBuf = NULL;
:: FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYstem,
空值,
错误代码,
MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT),
(LPTSTR)&pMsgBuf,
0,
空值);
CString结果;
如果(pMsgBuf)
{
结果=(LPTSTR)pMsgBuf;
LocalFree(pMsgBuf);
}
如果(result.Length()== 0)
结果= _T(\“未知错误\”);
返回结果;
}
当使用参数2调用时,此函数返回\“系统找不到指定的文件。\”。用0xC1调用时,它返回\“未知错误\”。 Microsoft错误查找实用程序针对0xC1显示此错误:\“%1不是有效的Win32应用程序。\”。因此,当错误消息包含占位符时,我的功能不起作用。
有什么通用方法可以得到与错误查找相同的结果,而无需了解错误代码?
解决方法
尝试在标志上添加“ 0”。