Trait windows::Win32::System::Com::Marshal::IMarshal_Impl

pub trait IMarshal_Impl: Sized {
    // 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: Option<&IStream>,
        riid: *const GUID,
        pv: *const c_void,
        dwdestcontext: u32,
        pvdestcontext: *const c_void,
        mshlflags: u32
    ) -> Result<()>;
    fn UnmarshalInterface(
        &self,
        pstm: Option<&IStream>,
        riid: *const GUID,
        ppv: *mut *mut c_void
    ) -> Result<()>;
    fn ReleaseMarshalData(&self, pstm: Option<&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: Option<&IStream>, riid: *const GUID, pv: *const c_void, dwdestcontext: u32, pvdestcontext: *const c_void, mshlflags: u32 ) -> Result<()>

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

fn ReleaseMarshalData(&self, pstm: Option<&IStream>) -> Result<()>

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

Object Safety§

This trait is not object safe.

Implementors§