美文网首页
HRESULT是什么类型

HRESULT是什么类型

作者: VAYY | 来源:发表于2017-03-01 22:23 被阅读0次

【转载】hlw3330219博客

简单地说,就是判断函数执行结果。

COM要求所有的方法都会返回一个HRESULT类型的错误号。HRESULT 其实就一个类型定义:

typedef LONG HRESULT;

HRESULT 类型的返回值反映了函数中的一些情况,其类型定义规范如下:

31 30 29 28                    16 15                                0

|-----|--|------------------------|-----------------------------------|

类别码 (30-31) 反映函数调用结果:

00 调用成功

01 包含一些信息

10 警告

11 错误

自定义标记(29) 反映结果是否为自定义标识,1 为是,0 则不是;

操作码 (16-28) 标识结果操作来源,在 Windows 平台上,其定义如下:

#define FACILITY_WINDOWS         8

#define FACILITY_STORAGE         3

#define FACILITY_RPC             1

#define FACILITY_SSPI            9

#define FACILITY_WIN32           7

#define FACILITY_CONTROL         10

#define FACILITY_NULL            0

#define FACILITY_INTERNET        12

#define FACILITY_ITF             4

#define FACILITY_DISPATCH        2

#define FACILITY_CERT            11

操作结果码(0-15) 反映操作的状态,WinError.h 定义了 Win32 函数所有可能返回结果。

以下是一些经常用到的返回值和宏定义:

S_OK            函数执行成功,其值为 0 (注意,其值与 TRUE 相反)

S_FALSE         函数执行成功,其值为 1

S_FAIL          函数执行失败,失败原因不确定

E_OUTOFMEMORY   函数执行失败,失败原因为内存分配不成功

E_NOTIMPL       函数执行失败,成员函数没有被实现

E_NOTINTERFACE 函数执行失败,组件没有实现指定的接口

不能简单地把返回值与 S_OK 和 S_FALSE 比较,而要用 SECCEEDED 和 FAILED 宏进行判断。

相关文章

  • HRESULT是什么类型

    【转载】hlw3330219博客 简单地说,就是判断函数执行结果。 COM要求所有的方法都会返回一个HRESULT...

  • HRESULT:0x80070057(E_INVALIDARG)

    HRESULT:0x80070057(E_INVALIDARG)的异常; 总结网上的有以下解决方案 使用Entit...

  • 【解决】windows2008计划任务中 该任务映像已损坏或已篡

    问题: 该任务映像已损坏或已篡改。(异常来自HRESULT:0x80041321) 解决办法: 1. 以管理员身份...

  • EntityFramework HRESULT:0x800700

    Vs2017中使用Entity Framewok Power tool 时,无法正确生成实体,而是弹出 HRESU...

  • Swift学习

    ---值类型与引用类型 主要介绍什么: 1. 值类型指的是什么呢 什么情景下使用值类型 2引用类型是什么 什么情...

  • TS基础

    类型注解 代码中的number就是类型注解 作用为变量添加类型约束(约定什么类型就是什么类型) 原始类型 原始类型...

  • java笔试题

    在基本JAVA类型中,如果不明确指定,整数型的默认是什么类型?带小数的默认是什么类型?(int double) 下...

  • 类型注解和类型推断

    类型注解 type annotation, 就是我们来告诉TS变量是什么类型 type inference 类型推...

  • Dart新特性-Mixins

    注意: Mixsins类型是什么?

  • 高性能js+页面加载速度

    代码运行速度 不要类型转换 即开始是什么类型的变量,就让他是什么类型,字符串转数字最好用parseInt. 不要重...

网友评论

      本文标题:HRESULT是什么类型

      本文链接:https://www.haomeiwen.com/subject/juwcgttx.html