CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

请问在MSDN中的哪里能找到GetLastError()错误码的意思

楼主kmyangyl()2001-10-30 19:40:57 在 C++ Builder / 基础类 提问

问题点数: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

相关问题

  • 为什么GetlastError取不到错误码?
  • 求Winsock错误码,还有对照中文意思。
  • 请问hresult的错误码的意思,在哪里可以找到?
  • 请问出现这个错误码是什么意思,请指点!
  • oracle 错误码2134
  • 我用CBC连接一外部的LIB,但是老报以下错误码率是什么意思啊?
  • connect的返回错误码不是只有msdn中列出的错误值,这该怎么处理这样的情况
  • connect的返回错误码不是只有msdn中列出的错误值,这该怎么处理这样的情况
  • 发生不明错误。错误码=080004005
  • adsi中出现的错误码

关键词

  • 函数
  • 代码
  • 信息
  • api
  • 错误码
  • getapierrormessage
  • lpmsgbuf
  • getlasterror
  • errorid
  • 出错

得分解答快速导航

  • 帖主:kmyangyl
  • bitfan
  • wlz47
  • westfly

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo