pub trait IDXGIOutputDuplication_Impl: Sized + IDXGIObject_Impl {
    // Required methods
    fn GetDesc(&self, pdesc: *mut DXGI_OUTDUPL_DESC);
    fn AcquireNextFrame(
        &self,
        timeoutinmilliseconds: u32,
        pframeinfo: *mut DXGI_OUTDUPL_FRAME_INFO,
        ppdesktopresource: *mut Option<IDXGIResource>,
    ) -> Result<()>;
    fn GetFrameDirtyRects(
        &self,
        dirtyrectsbuffersize: u32,
        pdirtyrectsbuffer: *mut RECT,
        pdirtyrectsbuffersizerequired: *mut u32,
    ) -> Result<()>;
    fn GetFrameMoveRects(
        &self,
        moverectsbuffersize: u32,
        pmoverectbuffer: *mut DXGI_OUTDUPL_MOVE_RECT,
        pmoverectsbuffersizerequired: *mut u32,
    ) -> Result<()>;
    fn GetFramePointerShape(
        &self,
        pointershapebuffersize: u32,
        ppointershapebuffer: *mut c_void,
        ppointershapebuffersizerequired: *mut u32,
        ppointershapeinfo: *mut DXGI_OUTDUPL_POINTER_SHAPE_INFO,
    ) -> Result<()>;
    fn MapDesktopSurface(&self) -> Result<DXGI_MAPPED_RECT>;
    fn UnMapDesktopSurface(&self) -> Result<()>;
    fn ReleaseFrame(&self) -> Result<()>;
}

Required Methods§

fn GetDesc(&self, pdesc: *mut DXGI_OUTDUPL_DESC)

fn AcquireNextFrame( &self, timeoutinmilliseconds: u32, pframeinfo: *mut DXGI_OUTDUPL_FRAME_INFO, ppdesktopresource: *mut Option<IDXGIResource>, ) -> Result<()>

fn GetFrameDirtyRects( &self, dirtyrectsbuffersize: u32, pdirtyrectsbuffer: *mut RECT, pdirtyrectsbuffersizerequired: *mut u32, ) -> Result<()>

fn GetFrameMoveRects( &self, moverectsbuffersize: u32, pmoverectbuffer: *mut DXGI_OUTDUPL_MOVE_RECT, pmoverectsbuffersizerequired: *mut u32, ) -> Result<()>

fn GetFramePointerShape( &self, pointershapebuffersize: u32, ppointershapebuffer: *mut c_void, ppointershapebuffersizerequired: *mut u32, ppointershapeinfo: *mut DXGI_OUTDUPL_POINTER_SHAPE_INFO, ) -> Result<()>

fn MapDesktopSurface(&self) -> Result<DXGI_MAPPED_RECT>

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

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

Object Safety§

This trait is not object safe.

Implementors§