Beispiel #1
0
        public virtual int GetDisplaySurfaceData1(
            IDXGIResource pDestination
            )
        {
            var fp = GetFunctionPointer(21);

            if (m_GetDisplaySurfaceData1Func == null)
            {
                m_GetDisplaySurfaceData1Func = (GetDisplaySurfaceData1Func)Marshal.GetDelegateForFunctionPointer(fp, typeof(GetDisplaySurfaceData1Func));
            }

            return(m_GetDisplaySurfaceData1Func(m_ptr, pDestination != null ? pDestination.Ptr : IntPtr.Zero));
        }
Beispiel #2
0
        public virtual int AcquireNextFrame(
            uint TimeoutInMilliseconds,
            out DXGI_OUTDUPL_FRAME_INFO pFrameInfo,
            out IDXGIResource ppDesktopResource
            )
        {
            var fp = GetFunctionPointer(8);

            if (m_AcquireNextFrameFunc == null)
            {
                m_AcquireNextFrameFunc = (AcquireNextFrameFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(AcquireNextFrameFunc));
            }
            ppDesktopResource = new IDXGIResource();
            return(m_AcquireNextFrameFunc(m_ptr, TimeoutInMilliseconds, out pFrameInfo, out ppDesktopResource.PtrForNew));
        }
Beispiel #3
0
        public virtual int CreateDecodeSwapChainForCompositionSurfaceHandle(
            IUnknown pDevice,
            IntPtr hSurface,
            out DXGI_DECODE_SWAP_CHAIN_DESC pDesc,
            IDXGIResource pYuvDecodeBuffers,
            IDXGIOutput pRestrictToOutput,
            out IDXGIDecodeSwapChain ppSwapChain
            )
        {
            var fp = GetFunctionPointer(4);

            if (m_CreateDecodeSwapChainForCompositionSurfaceHandleFunc == null)
            {
                m_CreateDecodeSwapChainForCompositionSurfaceHandleFunc = (CreateDecodeSwapChainForCompositionSurfaceHandleFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(CreateDecodeSwapChainForCompositionSurfaceHandleFunc));
            }
            ppSwapChain = new IDXGIDecodeSwapChain();
            return(m_CreateDecodeSwapChainForCompositionSurfaceHandleFunc(m_ptr, pDevice != null ? pDevice.Ptr : IntPtr.Zero, hSurface, out pDesc, pYuvDecodeBuffers != null ? pYuvDecodeBuffers.Ptr : IntPtr.Zero, pRestrictToOutput != null ? pRestrictToOutput.Ptr : IntPtr.Zero, out ppSwapChain.PtrForNew));
        }