pub trait IVMRSurfaceAllocator9_Impl: Sized {
    // Required methods
    fn InitializeDevice(
        &self,
        dwuserid: usize,
        lpallocinfo: *const VMR9AllocationInfo,
        lpnumbuffers: *mut u32
    ) -> Result<()>;
    fn TerminateDevice(&self, dwid: usize) -> Result<()>;
    fn GetSurface(
        &self,
        dwuserid: usize,
        surfaceindex: u32,
        surfaceflags: u32
    ) -> Result<IDirect3DSurface9>;
    fn AdviseNotify(
        &self,
        lpivmrsurfallocnotify: Option<&IVMRSurfaceAllocatorNotify9>
    ) -> Result<()>;
}

Required Methods§

fn InitializeDevice( &self, dwuserid: usize, lpallocinfo: *const VMR9AllocationInfo, lpnumbuffers: *mut u32 ) -> Result<()>

fn TerminateDevice(&self, dwid: usize) -> Result<()>

fn GetSurface( &self, dwuserid: usize, surfaceindex: u32, surfaceflags: u32 ) -> Result<IDirect3DSurface9>

fn AdviseNotify( &self, lpivmrsurfallocnotify: Option<&IVMRSurfaceAllocatorNotify9> ) -> Result<()>

Object Safety§

This trait is not object safe.

Implementors§