Trait windows::core::Vtable

pub unsafe trait Vtable: Sized {
    type Vtable;

    fn as_raw(&self) -> *mut c_void { ... }
    fn into_raw(self) -> *mut c_void { ... }
    unsafe fn from_raw(raw: *mut c_void) -> Self { ... }
    unsafe fn from_raw_borrowed(raw: &*mut c_void) -> &Self { ... }
}
Expand description

Provides low-level access to an interface vtable.

This trait is automatically implemented by the generated bindings and should not be implemented manually.

Safety

Required Associated Types§

Provided Methods§

Returns the raw COM interface pointer. The resulting pointer continues to be owned by the Interface implementation.

Returns the raw COM interface pointer and releases ownership. It the caller’s responsibility to release the COM interface pointer.

Creates an Interface by taking ownership of the raw COM interface pointer.

Safety

The raw pointer must be owned by the caller and represent a valid COM interface pointer. In other words, it must point to a vtable beginning with the IUnknown function pointers and match the vtable of Interface.

Creates an Interface that is valid so long as the raw COM interface pointer is valid.

Safety

The raw pointer must be a valid COM interface pointer. In other words, it must point to a vtable beginning with the IUnknown function pointers and match the vtable of Interface.

Implementors§