zoukankan      html  css  js  c++  java
  • HRESULT是什么类型

    HRESULT 是一种简单的数据类型,可以判断函数执行的结果。HRESULT 常被用作COM调用的返回值。充分利用HRESULT返回信息可以帮助提高我们的代码质量,提供程序的健壮性。

    HRESULT 其实是一个类型定义:typedef LONG HRESULT ;

    1.HRESULT 返回值有哪些、及其含义:

    S_OK 操作成功 0x00000000
    S_FALSE   函数调用成功  #define S_FALSE    ((HRESULT)1L)
    E_UNEXPECTED 意外的失败 0x8000FFFF   
    E_NOTIMPL 未实现 0x80004001   
    E_OUTOFMEMORY 未能分配所需的内存 0x8007000E   
    E_INVALIDARG 一个或多个参数无效 0x80070057   
    E_NOINTERFACE 不支持此接口 0x80004002   
    E_POINTER 无效指针 0x80004003   
    E_HANDLE 无效句柄 0x80070006   
    E_ABORT 操作已中止 0x80004004   
    E_FAIL 未指定的失败 0x80004005   
    E_ACCESSDENIED 一般的访问被拒绝错误 0x80070005

    2.HRESULT使用方法:

    其中最常用的是S_OK,S_FALSE,E_FAIL.
    S_OK 操作成功,调用成功。需要用SUCCEEDED(hr) 来判断。其值为 0
    #define SUCCEEDED(hr) (((HRESULT)(hr)) >= 0)
    S_FALSE 函数调用成功,可以处理有问题。需要用(hr == S_FALSE)来判断。其值为 1
    E_FAIL 未指定的失败,一般来讲是函数调用错误。需要用(hr == E_FAIL) 来判断。
    从以上分析可以看出,FAILED 泛指一切错误。
    #define FAILED(hr) (((HRESULT)(hr)) < 0)
  • 相关阅读:
    iOS缓存
    哈希表
    查找
    基数排序
    归并排序
    快速排序
    redis 的高并发的理解
    springboot的理解
    使用maven命令安装jar包到本地仓库
    linux Centos7 安装docker步骤
  • 原文地址:https://www.cnblogs.com/mld-code-life/p/11166985.html
Copyright © 2011-2022 走看看