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.