windows::Win32::Media::DirectShow

Trait IAsyncReader_Impl

pub trait IAsyncReader_Impl: IUnknownImpl {
    // Required methods
    fn RequestAllocator(
        &self,
        ppreferred: Ref<'_, IMemAllocator>,
        pprops: *const ALLOCATOR_PROPERTIES,
    ) -> Result<IMemAllocator>;
    fn Request(
        &self,
        psample: Ref<'_, IMediaSample>,
        dwuser: usize,
    ) -> Result<()>;
    fn WaitForNext(
        &self,
        dwtimeout: u32,
        ppsample: OutRef<'_, IMediaSample>,
        pdwuser: *mut usize,
    ) -> Result<()>;
    fn SyncReadAligned(&self, psample: Ref<'_, IMediaSample>) -> Result<()>;
    fn SyncRead(
        &self,
        llposition: i64,
        llength: i32,
        pbuffer: *mut u8,
    ) -> Result<()>;
    fn Length(&self, ptotal: *mut i64, pavailable: *mut i64) -> Result<()>;
    fn BeginFlush(&self) -> Result<()>;
    fn EndFlush(&self) -> Result<()>;
}

Required Methods§

fn RequestAllocator( &self, ppreferred: Ref<'_, IMemAllocator>, pprops: *const ALLOCATOR_PROPERTIES, ) -> Result<IMemAllocator>

fn Request(&self, psample: Ref<'_, IMediaSample>, dwuser: usize) -> Result<()>

fn WaitForNext( &self, dwtimeout: u32, ppsample: OutRef<'_, IMediaSample>, pdwuser: *mut usize, ) -> Result<()>

fn SyncReadAligned(&self, psample: Ref<'_, IMediaSample>) -> Result<()>

fn SyncRead( &self, llposition: i64, llength: i32, pbuffer: *mut u8, ) -> Result<()>

fn Length(&self, ptotal: *mut i64, pavailable: *mut i64) -> Result<()>

fn BeginFlush(&self) -> Result<()>

fn EndFlush(&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.

Implementors§