windows::Win32::System::Com::Marshal

Trait IMarshal_Impl

pub trait IMarshal_Impl: IUnknownImpl {
    // Required methods
    fn GetUnmarshalClass(
        &self,
        riid: *const GUID,
        pv: *const c_void,
        dwdestcontext: u32,
        pvdestcontext: *const c_void,
        mshlflags: u32,
    ) -> Result<GUID>;
    fn GetMarshalSizeMax(
        &self,
        riid: *const GUID,
        pv: *const c_void,
        dwdestcontext: u32,
        pvdestcontext: *const c_void,
        mshlflags: u32,
    ) -> Result<u32>;
    fn MarshalInterface(
        &self,
        pstm: Ref<'_, IStream>,
        riid: *const GUID,
        pv: *const c_void,
        dwdestcontext: u32,
        pvdestcontext: *const c_void,
        mshlflags: u32,
    ) -> Result<()>;
    fn UnmarshalInterface(
        &self,
        pstm: Ref<'_, IStream>,
        riid: *const GUID,
        ppv: *mut *mut c_void,
    ) -> Result<()>;
    fn ReleaseMarshalData(&self, pstm: Ref<'_, IStream>) -> Result<()>;
    fn DisconnectObject(&self, dwreserved: u32) -> Result<()>;
}

Required Methods§

fn GetUnmarshalClass( &self, riid: *const GUID, pv: *const c_void, dwdestcontext: u32, pvdestcontext: *const c_void, mshlflags: u32, ) -> Result<GUID>

fn GetMarshalSizeMax( &self, riid: *const GUID, pv: *const c_void, dwdestcontext: u32, pvdestcontext: *const c_void, mshlflags: u32, ) -> Result<u32>

fn MarshalInterface( &self, pstm: Ref<'_, IStream>, riid: *const GUID, pv: *const c_void, dwdestcontext: u32, pvdestcontext: *const c_void, mshlflags: u32, ) -> Result<()>

fn UnmarshalInterface( &self, pstm: Ref<'_, IStream>, riid: *const GUID, ppv: *mut *mut c_void, ) -> Result<()>

fn ReleaseMarshalData(&self, pstm: Ref<'_, IStream>) -> Result<()>

fn DisconnectObject(&self, dwreserved: u32) -> Result<()>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§