[][src]Struct com::interfaces::IUnknown

#[repr(transparent)]pub struct IUnknown { /* fields omitted */ }

IUnknown COM interface

Implementations

impl IUnknown[src]

pub unsafe fn QueryInterface<'a, __0: Into<Param<'a, *const GUID>>, __1: Into<Param<'a, *mut *mut c_void>>>(
    &self,
    riid: __0,
    ppv: __1
) -> HRESULT
[src]

The COM QueryInterface Method

This method normally should not be called directly. Interfaces that implement IUnknown also implement IUnknown::query_interface which is a safe wrapper around IUnknown::QueryInterface.

pub unsafe fn AddRef(&self) -> u32[src]

The COM AddRef Method

This method normally should not be called directly. This method is used by ComPtr to implement the reference counting mechanism.

pub unsafe fn Release(&self) -> u32[src]

The COM Release Method

This method normally should not be called directly. This method is used by ComPtr to implement the reference counting mechanism.

impl IUnknown[src]

pub fn query_interface<I: Interface>(&self) -> Option<I>[src]

A safe version of QueryInterface.

If the backing class implements the interface I then a Some containing an ComPtr pointing to that interface will be returned otherwise None will be returned.

Trait Implementations

impl Clone for IUnknown[src]

impl Debug for IUnknown[src]

impl Drop for IUnknown[src]

impl<'a> From<&'a IClassFactory> for &'a IUnknown[src]

impl From<IClassFactory> for IUnknown[src]

impl Interface for IUnknown[src]

type VTable = IUnknownVTable

A COM compatible V-Table

type Super = IUnknown

The interface that this interface inherits from

Auto Trait Implementations

impl RefUnwindSafe for IUnknown

impl !Send for IUnknown

impl !Sync for IUnknown

impl Unpin for IUnknown

impl UnwindSafe for IUnknown

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.