Trait ISupportErrorInfo

Source
pub trait ISupportErrorInfo: IUnknown {
    // Required method
    fn interface_supports_error_info(&self, riid: REFIID) -> HRESULT;
}
Expand description

The ISupportErrorInfo COM interface.

The ISupportErrorInfo is part of COM error handling concept. As the methods are traditionally limited to HRESULT return values, they may make more detailed IErrorInfo data available through the error info APIs.

The ISupportErrorInfo interface communicates which interfaces that an object implements support detailed error info. When a COM client receives an error-HRESULT, it may query for error info support through this interface. If the interface returns an S_OK as opposed to S_FALSE return value, the client can then use separate error info APIs to retrieve a detailed IErrorInfo object that contains more details about the error, such as the error message.

Intercom COM classes support the detailed error info for all user specified interfaces automatically. Only methods that return a two-parameter Result<S,E> value will store the detailed IErrorInfo. Other methods will set a null IErrorInfo value.

Required Methods§

Source

fn interface_supports_error_info(&self, riid: REFIID) -> HRESULT

Informs the current COM class supports IErrorInfo for a specific interface.

  • riid - The IID of the interface to query.

Returns S_OK if the object supports IErrorInfo for the interface specified by the riid parameter. Otherwise returns S_FALSE - even in the case the object doesn’t implement riid at all.

§Description

If the object returns S_OK for an interface, then any methods the object implements for that interface must store the IErrorInfo on failure.

Intercom will implement the support for IErrorInfo automatically for all custom interfaces the user defines. This includes returning S_OK from this method.

Trait Implementations§

Source§

impl ComClassInterface<dyn ISupportErrorInfo, AutomationTypeSystem> for Allocator

Source§

fn offset() -> usize

Source§

unsafe fn get_box<'a>(vtable: RawComPtr) -> &'a mut ComBoxData<Self>

Safety Read more
Source§

impl ComClassInterface<dyn ISupportErrorInfo, AutomationTypeSystem> for CoClass

Source§

fn offset() -> usize

Source§

unsafe fn get_box<'a>(vtable: RawComPtr) -> &'a mut ComBoxData<Self>

Safety Read more
Source§

impl ComClassInterface<dyn ISupportErrorInfo, AutomationTypeSystem> for ErrorInfo

Source§

fn offset() -> usize

Source§

unsafe fn get_box<'a>(vtable: RawComPtr) -> &'a mut ComBoxData<Self>

Safety Read more
Source§

impl ComClassInterface<dyn ISupportErrorInfo, AutomationTypeSystem> for ErrorStore

Source§

fn offset() -> usize

Source§

unsafe fn get_box<'a>(vtable: RawComPtr) -> &'a mut ComBoxData<Self>

Safety Read more
Source§

impl ComClassInterface<dyn ISupportErrorInfo, AutomationTypeSystem> for Interface

Source§

fn offset() -> usize

Source§

unsafe fn get_box<'a>(vtable: RawComPtr) -> &'a mut ComBoxData<Self>

Safety Read more
Source§

impl ComClassInterface<dyn ISupportErrorInfo, AutomationTypeSystem> for InterfaceVariant

Source§

fn offset() -> usize

Source§

unsafe fn get_box<'a>(vtable: RawComPtr) -> &'a mut ComBoxData<Self>

Safety Read more
Source§

impl ComClassInterface<dyn ISupportErrorInfo, AutomationTypeSystem> for Method

Source§

fn offset() -> usize

Source§

unsafe fn get_box<'a>(vtable: RawComPtr) -> &'a mut ComBoxData<Self>

Safety Read more
Source§

impl ComClassInterface<dyn ISupportErrorInfo, AutomationTypeSystem> for TypeLib

Source§

fn offset() -> usize

Source§

unsafe fn get_box<'a>(vtable: RawComPtr) -> &'a mut ComBoxData<Self>

Safety Read more
Source§

impl ComInterface for dyn ISupportErrorInfo

Source§

fn iid_ts<TS: TypeSystem>() -> &'static IID
where Self: ComInterfaceVariant<TS>,

Returns the IID of the requested interface.

Source§

type TSelf = dyn ISupportErrorInfo

The current interface. Read more
Source§

fn iid(ts: TypeSystemName) -> Option<&'static IID>

IID of the COM interface.
Source§

fn deref( com_itf: &ComItf<dyn ISupportErrorInfo>, ) -> &(dyn ISupportErrorInfo + 'static)

Dereferences a ComItf<T> into a &T. Read more
Source§

impl ComInterfaceTypeInfo for dyn ISupportErrorInfo

Source§

impl<I, S> ComInterfaceVTableFor<I, S, AutomationTypeSystem> for dyn ISupportErrorInfo

Source§

const VTABLE: __ISupportErrorInfoAutomationVTable

Source§

impl<I, S> ComInterfaceVTableFor<I, S, RawTypeSystem> for dyn ISupportErrorInfo

Source§

const VTABLE: __ISupportErrorInfoRawVTable

Source§

impl ForeignType for dyn ISupportErrorInfo

Source§

fn type_name() -> &'static str

The name of the type.

Source§

fn indirection_level() -> u32

Implementors§