Windows核心编程001-错误处理

Windows核心编程:第一章 错误处理
1.1 Windows函数使用的返回值的数据类型
  ->VOID:当一个函数的返回值类型是VOID,那么这个函数是不肯能失败的,
                   只有极少数的Windows函数的返回值类型为VOID。
  ->BOOL:函数失败返回0,函数成功返回非0。
  ->HANDLE: 函数失败返回NULL,函数成功返回一个可以操作的对象,有些
                       函数失败会返回INVALID_HANDLE_VALUE(-1),具体失败返回值
                       需要查看SDK。
  ->PVOID:函数失败返回NULL,函数成功将标识一个数据块的内存地址。
  ->LONG/DWORD:函数失败通常返回0或-1。
  注意:Windows函数失败后可以马上调用GetLastError()获取错误代码,
        要想知道具体的文本描述需要用FormatMessage()函数
  函数原型:DWORD FormatMessage(
                DWORD dwFlags,
                LPCVOID pSource,
                DWORD dwMessageId,
                DWORD dwLanguageId,
                PTSTR pszBuffer,
                DWORD nSize,
                va_list *Arguments);
  FormatMessage的pSource可以是一个DLL的句柄,具体做法是用MC.exe创
  建资源并将其添加到DLL(或exe)模块中。


1.2 定义自己的错误代码
  ->VOID SetLastError(DWORD dwErrCode);dwErrCode可以是WinError.h中的
    的一个错误代码,也可以是自己定义的错误代码:
    自定义错误代码格式:
    位     31-30                 29                    28                  27-16                                   15-0
    内容  严重性    Microsoft/客户         保留            Facility代码                       异常代码
    含义  0=成功    0 = Microsoft定义  必须为0     前256个值由Microsoft Microsoft/客户定义
          1=信息        的代码                     保留                 的代码
          2=警告    1 = 客户定义的代码
          3=错误
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值