pub struct ComObject<T> { /* private fields */ }Expand description
One interface of a Rust-implemented COM object as native code sees it (a
“COM callable wrapper” of the MicroCom runtime): the first word is the
vtable pointer, so a *mut ComObject<T> is the interface pointer; the
second leads to the object the wrapper belongs to.
An object has one wrapper per interface it was made with, as the shadow
of an object has in the MicroCom runtime. They share the reference count
and the value, and QueryInterface on any of them answers with the
wrapper of the interface asked for.
Implementations§
Auto Trait Implementations§
impl<T> !Send for ComObject<T>
impl<T> !Sync for ComObject<T>
impl<T> Freeze for ComObject<T>
impl<T> RefUnwindSafe for ComObject<T>where
*const Shadow<T>: RefUnwindSafe,
impl<T> Unpin for ComObject<T>
impl<T> UnsafeUnpin for ComObject<T>where
*const Shadow<T>: UnsafeUnpin,
impl<T> UnwindSafe for ComObject<T>where
*const Shadow<T>: UnwindSafe,
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