winrt::hresult_error结构 (C++/WinRT)

表示 HRESULT 错误代码的类型。

语法

struct hresult_error

要求

支持的最低 SDK:Windows SDK 版本 10.0.17134.0 (Windows 10版本 1803)

命名空间: winrt

标头: %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (默认包含)

构造函数

构造函数 说明
hresult_error::hresult_error 构造函数 使用输入数据的副本初始化 hresult_error 结构的新实例。

类型

构造函数 说明
hresult_error::from_abi_t 类型 hresult_error::from_abi静态数据成员的类型。

静态数据成员

函数 说明
hresult_error::from_abi静态数据成员 类型 为 hresult_error::from_abi_t 的实例,该实例可以传递给 hresult_error ( 的构造函数或派生类型) ,以指示构造函数应尝试检索受限的错误信息。

成员函数

函数 说明
hresult_error::code 函数 检索 由hresult_error 对象表示的错误的代码。
hresult_error::message 函数 检索 由hresult_error 对象表示的错误的消息。
hresult_error::to_abi 函数 设置当前线程的受限错误信息对象,并返回 由hresult_error 对象表示的错误的代码。
hresult_error::try_as 函数 如果支持,则返回请求的接口。 返回 nullptr,或者 false,如果不是。

成员运算符

操作员 说明
hresult_error::operator= (赋值运算符) 将值分配给 hresult_error 对象。

hresult_error::hresult_error 构造函数

使用输入数据的副本初始化 hresult_error 结构的新实例。

语法

hresult_error() noexcept;
hresult_error(hresult_error&&);
hresult_error(hresult_error const& other);
explicit hresult_error(HRESULT const code) noexcept;
hresult_error(HRESULT const code, winrt::hstring const& message, ::IUnknown* object = nullptr) noexcept;
hresult_error(HRESULT const code, winrt::hresult_error::from_abi_t) noexcept;

parameters

other另一个初始化hresult_error对象的hresult_error

code 用于初始化 hresult_error 对象的 HRESULT 代码。

message 一个信息性字符串,可帮助开发人员更正报告的错误条件。

object 一个错误对象,用于存储有关错误的额外信息。 错误对象应是跨流程的单元敏捷、进程内和封送值封送对象。 它应在必要时实现 ILanguageExceptionStackBackTraceILanguageExceptionTransform 。 请参阅 RoOriginateLanguageException

hresult_error::code 函数

检索 由hresult_error 对象表示的错误的代码。

语法

winrt::hresult code() const noexcept;

返回值

winrt::hresult 错误代码。

hresult_error::from_abi静态数据成员

类型 为 hresult_error::from_abi_t 的实例,该实例可以传递给 hresult_error ( 的构造函数或派生类型) ,以指示构造函数应尝试检索受限的错误信息。

语法

static constexpr winrt::hresult_error::from_abi_t from_abi{};

hresult_error::from_abi_t 类型

hresult_error::from_abi静态数据成员的类型。

语法

struct from_abi_t {};

hresult_error::message 函数

检索 由hresult_error 对象表示的错误的消息。

语法

winrt::hstring message() const noexcept;

返回值

包含错误混乱的 winrt::hstring

hresult_error::operator= (赋值运算符)

将值分配给 hresult_error 对象。

语法

winrt::hresult_error& operator=(winrt::hresult_error&&);
winrt::hresult_error& operator=(winrt::hresult_error const& other) noexcept;

parameters

other要分配给hresult_error对象的hresult_error值。

返回值

hresult_error 对象的引用。

hresult_error::to_abi 函数

设置当前线程的受限错误信息对象,并返回 由hresult_error 对象表示的错误的代码。

语法

HRESULT to_abi() const noexcept;

返回值

HRESULT 错误代码。

hresult_error::try_as 函数

如果支持,则返回请求的接口。 如果不是,则 nullptr 返回。 如果要查询不需要传回调用方接口,则此函数非常有用。 例如,可以检索 IRestrictedErrorInfo 来访问 由hresult_error 对象表示的错误的受限错误信息。

语法

template <typename To> auto try_as() const noexcept;

模板参数

typename To 请求的接口的类型。

parameters

to 对接收请求接口的值的引用。

返回值

winrt::com_ptr引用请求的接口,或由 C++/WinRT 声明或第三方) 所请求接口的强类型智能指针,否则nullptr为请求的 (接口。

请参阅