pub trait IVMRSurfaceAllocator_Impl: Sized {
    // Required methods
    fn AllocateSurface(
        &self,
        dwuserid: usize,
        lpallocinfo: *const VMRALLOCATIONINFO,
        lpdwactualbuffers: *mut u32,
        lplpsurface: *mut Option<IDirectDrawSurface7>
    ) -> Result<()>;
    fn FreeSurface(&self, dwid: usize) -> Result<()>;
    fn PrepareSurface(
        &self,
        dwuserid: usize,
        lpsurface: Option<&IDirectDrawSurface7>,
        dwsurfaceflags: u32
    ) -> Result<()>;
    fn AdviseNotify(
        &self,
        lpivmrsurfallocnotify: Option<&IVMRSurfaceAllocatorNotify>
    ) -> Result<()>;
}

Required Methods§

fn AllocateSurface( &self, dwuserid: usize, lpallocinfo: *const VMRALLOCATIONINFO, lpdwactualbuffers: *mut u32, lplpsurface: *mut Option<IDirectDrawSurface7> ) -> Result<()>

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

fn PrepareSurface( &self, dwuserid: usize, lpsurface: Option<&IDirectDrawSurface7>, dwsurfaceflags: u32 ) -> Result<()>

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

Object Safety§

This trait is not object safe.

Implementors§