请问在MSDN中的哪里能找到GetLastError()错误码的意思
问题点数:20、回复次数:4Top
1 楼bitfan(数字世界一凡人)回复于 2001-10-30 20:05:36 得分 10
我将GetLastError()错误码封装成了一个函数,可以在程序代码中直接调用它获取错误码的文字信息,仅供参考。
//使用方法:
//调用API函数
ShowMessage(GetAPIErrorMessage(GetLastError()));
//或
ShowMessage(GetAPIErrorMessage(89));//89为出错代码
//原型函数
AnsiString __fastcall TForm1::GetAPIErrorMessage(int ErrorID)
//将API出错代码传入此处ErrorID,可由GetLastError()读取,
//可由SetLastError()设置
{
LPVOID lpMsgBuf;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER | //指定自动分配字串缓冲区
FORMAT_MESSAGE_FROM_SYSTEM | //指定从操作系统的出错信息表中读取信息
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, //不需要自定义出错信息时可忽略
ErrorID, //出错代码
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language,也可为0
(LPTSTR) &lpMsgBuf, //内存块指针,用于存放出错信息
0, //不需要自定义出错信息时可忽略
NULL //不需要自定义出错信息时可忽略
);
AnsiString s((LPCTSTR)lpMsgBuf); //生成一个AnsiString对象返回
// Free the buffer.
LocalFree(lpMsgBuf );
return s;
}
Top
2 楼wlz47(秋水沉舟)回复于 2001-10-30 20:10:25 得分 5
选中左栏中的目录标签,然后依次打开"Platform SDK"-->"Win API"-->"Reference"--> "Error Codes" --> "Win32 Error Codes"即可。
以上是MSDN Library (July 2000)Top
3 楼westfly(左眼)回复于 2001-10-30 20:19:22 得分 5
试试这个API函数:
DWORD AMGetErrorText(
HRESULT hr, //Error Code
TCHAR *pBuffer, //返回文本
DWORD MaxLen //缓冲区长度
);//如果调用成功返回文本长度。Top
4 楼ttzzgg_80713(身无立锥地,常有四海心---老子有条命)回复于 2001-10-30 20:32:04 得分 0
f12Top




