winrt::hresult_error struct (C++/WinRT)

A type representing an HRESULT error code.

Syntax

struct hresult_error

Requirements

Minimum supported SDK: Windows SDK version 10.0.17134.0 (Windows 10, version 1803)

Namespace: winrt

Header: %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (included by default)

Constructors

Constructor Description
hresult_error::hresult_error constructor Initializes a new instance of the hresult_error struct with a copy of the input data.

Types

Constructor Description
hresult_error::from_abi_t type The type of the hresult_error::from_abi static data member.

Static data members

Function Description
hresult_error::from_abi static data member An instance of type hresult_error::from_abi_t, which can be passed to the constructor of hresult_error (or a derived type) to indicate that the constructor should try to retrieve restricted error info.

Member functions

Function Description
hresult_error::code function Retrieves the code for the error represented by the hresult_error object.
hresult_error::message function Retrieves the message for the error represented by the hresult_error object.
hresult_error::to_abi function Sets the restricted error information object for the current thread, and returns the code for the error represented by the hresult_error object.
hresult_error::try_as function Returns the requested interface, if it is supported. Returns nullptr, or false, if it is not.

Member operators

Operator Description
hresult_error::operator= (assignment operator) Assigns a value to the hresult_error object.

hresult_error::hresult_error constructor

Initializes a new instance of the hresult_error struct with a copy of the input data.

Syntax

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 Another hresult_error that initializes the hresult_error object.

code An HRESULT code that initializes the hresult_error object.

message An informative string to help developers to correct the reported error condition.

object An error object that stores extra information about the error. The error object should be apartment-agile, in-proc, and marshal-by-value across processes. It should implement ILanguageExceptionStackBackTrace and ILanguageExceptionTransform if necessary. See RoOriginateLanguageException.

hresult_error::code function

Retrieves the code for the error represented by the hresult_error object.

Syntax

winrt::hresult code() const noexcept;

Return value

A winrt::hresult error code.

hresult_error::from_abi static data member

An instance of type hresult_error::from_abi_t, which can be passed to the constructor of hresult_error (or a derived type) to indicate that the constructor should try to retrieve restricted error info.

Syntax

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

hresult_error::from_abi_t type

The type of the hresult_error::from_abi static data member.

Syntax

struct from_abi_t {};

hresult_error::message function

Retrieves the message for the error represented by the hresult_error object.

Syntax

winrt::hstring message() const noexcept;

Return value

A winrt::hstring containing the error messsage.

hresult_error::operator= (assignment operator)

Assigns a value to the hresult_error object.

Syntax

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

Parameters

other An hresult_error value to assign to the hresult_error object.

Return value

A reference to the hresult_error object.

hresult_error::to_abi function

Sets the restricted error information object for the current thread, and returns the code for the error represented by the hresult_error object.

Syntax

HRESULT to_abi() const noexcept;

Return value

An HRESULT error code.

hresult_error::try_as function

Returns the requested interface, if it is supported. Returns nullptr if it is not. This function is useful if you want to query for an interface that you don't need to pass back to your caller. For example, you can retrieve an IRestrictedErrorInfo to access the restricted error info for the error represented by the hresult_error object.

Syntax

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

Template parameters

typename To The type of the requested interface.

Parameters

to A reference to a value to receive the requested interface.

Return value

A winrt::com_ptr referencing the requested interface, or a strongly-typed smart pointer for the requested interface (either declared by C++/WinRT or by a third party), if the requested interface is supported, otherwise nullptr.

See also