pub struct IUnknown(/* private fields */);
Expand description
Base interface for all COM interfaces.
All COM interfaces (and thus WinRT classes and interfaces) implement IUnknown under the hood to provide reference-counted lifetime management as well as the ability to query for additional interfaces that the object may implement.
Trait Implementations§
Source§impl From<&IInspectable> for &IUnknown
impl From<&IInspectable> for &IUnknown
Source§fn from(value: &IInspectable) -> &IUnknown
fn from(value: &IInspectable) -> &IUnknown
Converts to this type from the input type.
Source§impl From<IInspectable> for IUnknown
impl From<IInspectable> for IUnknown
Source§fn from(value: IInspectable) -> IUnknown
fn from(value: IInspectable) -> IUnknown
Converts to this type from the input type.
Source§impl Interface for IUnknown
impl Interface for IUnknown
Source§fn as_raw(&self) -> *mut c_void
fn as_raw(&self) -> *mut c_void
Returns the raw COM interface pointer. The resulting pointer continues to be owned by the
Interface
implementation.Source§fn into_raw(self) -> *mut c_void
fn into_raw(self) -> *mut c_void
Returns the raw COM interface pointer and releases ownership. It the caller’s responsibility to release the COM interface pointer.
Source§fn cast<T>(&self) -> Result<T, Error>where
T: Interface,
fn cast<T>(&self) -> Result<T, Error>where
T: Interface,
Attempts to cast the current interface to another interface using
QueryInterface
. Read moreSource§fn cast_to_any<T>(&self) -> Result<&(dyn Any + 'static), Error>
fn cast_to_any<T>(&self) -> Result<&(dyn Any + 'static), Error>
This casts the given COM interface to [
&dyn Any
]. Read moreSource§fn cast_object_ref<T>(&self) -> Result<&<T as ComObjectInner>::Outer, Error>
fn cast_object_ref<T>(&self) -> Result<&<T as ComObjectInner>::Outer, Error>
This casts the given COM interface to [
&dyn Any
]. It returns a reference to the “outer”
object, e.g. &MyApp_Impl
, not the inner &MyApp
object. Read moreSource§fn cast_object<T>(&self) -> Result<ComObject<T>, Error>
fn cast_object<T>(&self) -> Result<ComObject<T>, Error>
This casts the given COM interface to [
&dyn Any
]. It returns a reference to the “outer”
object, e.g. MyApp_Impl
, not the inner MyApp
object. Read moreSource§fn downgrade(&self) -> Result<Weak<Self>, Error>
fn downgrade(&self) -> Result<Weak<Self>, Error>
Attempts to create a
Weak
reference to this object.Source§unsafe fn query(&self, iid: *const GUID, interface: *mut *mut c_void) -> HRESULT
unsafe fn query(&self, iid: *const GUID, interface: *mut *mut c_void) -> HRESULT
Call
QueryInterface
on this interface Read moreSource§fn to_ref(&self) -> InterfaceRef<'_, Self>
fn to_ref(&self) -> InterfaceRef<'_, Self>
Creates an
InterfaceRef
for this reference. The InterfaceRef
tracks lifetimes statically,
and eliminates the need for dynamic reference count adjustments (AddRef/Release).impl Eq for IUnknown
Auto Trait Implementations§
impl Freeze for IUnknown
impl RefUnwindSafe for IUnknown
impl !Send for IUnknown
impl !Sync for IUnknown
impl Unpin for IUnknown
impl UnwindSafe for IUnknown
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more