首页 > 编程知识 正文

HRESULT是什么类型

时间:2023-05-04 13:27:23 阅读:229015 作者:4509

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)

 

转载于:https://www.cnblogs.com/mld-code-life/p/11166985.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。