Trait IMFByteStream_Impl
pub trait IMFByteStream_Impl: IUnknownImpl {
Show 15 methods
// Required methods
fn GetCapabilities(&self) -> Result<u32>;
fn GetLength(&self) -> Result<u64>;
fn SetLength(&self, qwlength: u64) -> Result<()>;
fn GetCurrentPosition(&self) -> Result<u64>;
fn SetCurrentPosition(&self, qwposition: u64) -> Result<()>;
fn IsEndOfStream(&self) -> Result<BOOL>;
fn Read(&self, pb: *mut u8, cb: u32, pcbread: *mut u32) -> Result<()>;
fn BeginRead(
&self,
pb: *mut u8,
cb: u32,
pcallback: Ref<'_, IMFAsyncCallback>,
punkstate: Ref<'_, IUnknown>,
) -> Result<()>;
fn EndRead(&self, presult: Ref<'_, IMFAsyncResult>) -> Result<u32>;
fn Write(&self, pb: *const u8, cb: u32) -> Result<u32>;
fn BeginWrite(
&self,
pb: *const u8,
cb: u32,
pcallback: Ref<'_, IMFAsyncCallback>,
punkstate: Ref<'_, IUnknown>,
) -> Result<()>;
fn EndWrite(&self, presult: Ref<'_, IMFAsyncResult>) -> Result<u32>;
fn Seek(
&self,
seekorigin: MFBYTESTREAM_SEEK_ORIGIN,
llseekoffset: i64,
dwseekflags: u32,
) -> Result<u64>;
fn Flush(&self) -> Result<()>;
fn Close(&self) -> Result<()>;
}
Required Methods§
fn GetCapabilities(&self) -> Result<u32>
fn GetLength(&self) -> Result<u64>
fn SetLength(&self, qwlength: u64) -> Result<()>
fn GetCurrentPosition(&self) -> Result<u64>
fn SetCurrentPosition(&self, qwposition: u64) -> Result<()>
fn IsEndOfStream(&self) -> Result<BOOL>
fn Read(&self, pb: *mut u8, cb: u32, pcbread: *mut u32) -> Result<()>
fn BeginRead( &self, pb: *mut u8, cb: u32, pcallback: Ref<'_, IMFAsyncCallback>, punkstate: Ref<'_, IUnknown>, ) -> Result<()>
fn EndRead(&self, presult: Ref<'_, IMFAsyncResult>) -> Result<u32>
fn Write(&self, pb: *const u8, cb: u32) -> Result<u32>
fn BeginWrite( &self, pb: *const u8, cb: u32, pcallback: Ref<'_, IMFAsyncCallback>, punkstate: Ref<'_, IUnknown>, ) -> Result<()>
fn EndWrite(&self, presult: Ref<'_, IMFAsyncResult>) -> Result<u32>
fn Seek( &self, seekorigin: MFBYTESTREAM_SEEK_ORIGIN, llseekoffset: i64, dwseekflags: u32, ) -> Result<u64>
fn Flush(&self) -> Result<()>
fn Close(&self) -> 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.