获取Windows系统GetLastError()错误文字信息的方法
/*----------------------------
功能:获取Windows系统GetLastError()错误的本地化文字信息
参数:errorCode: 由GetLastError()函数返回的错误码
返回:对应错误码的文字信息字符串
使用:若获取失败,函数返回NULL;若获取成功,应由调用处使用LocalFree()函数主动释放该块内存
------------------------------*/
HLOCAL GetSystemErrorMessageW(DWORD errorCode)
{
HLOCAL hlocal = NULL;
DWORD systemLocal = MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL);
BOOL fOk = FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS |
FORMAT_MESSAGE_ALLOCATE_BUFFER,
NULL,
errorCode,
systemLocal,
(LPWSTR) &hlocal,
0,
NULL);
if (!fOk)
{
hlocal = NULL;
}
return hlocal;
}