// d3dkmddi.h
DXGKCB_PINFRAMEBUFFERFORSAVE2 DxgkcbPinframebufferforsave2;
NTSTATUS DxgkcbPinframebufferforsave2(
[in] IN_CONST_HANDLE hAdapter,
[in/out] INOUT_PDXGKARGCB_PINFRAMEBUFFERFORSAVE2 pPinFrameBufferForSave2
)
{...}
View the official Windows Driver Kit DDI referenceNo description available.
A kernel-mode display miniport driver calls DXGKCB_PINFRAMEBUFFERFORSAVE2 to pin an entire frame buffer at once.
hAdapter [in]A handle to a display adapter. The driver provides this handle for the main/lead device in the linked display adapter (LDA) chain.
pPinFrameBufferForSave2 [in/out]Pointer to a DXGKARGCB_PINFRAMEBUFFERFORSAVE2 structure that contains information about the frame buffer to save.
DXGKCB_PINFRAMEBUFFERFORSAVE2 returns STATUS_SUCCESS if the operation succeeds. Otherwise, returns an appropriate NTSTATUS error code.
The original WDDM 2.4 IOMMU implementation included a pair of callback functions to query memory needed to save the frame buffer. The frame buffer save area was created as a section object during initialization, and the driver used these callbacks to obtain an IOMMU mapped region when needed.
Drivers that use address descriptor lists (ADLs) to support logical DMA remapping implement DXGKCB_PINFRAMEBUFFERFORSAVE2 instead of DXGKARGCB_PINFRAMEBUFFERFORSAVE.
The memory pinned using DXGKCB_PINFRAMEBUFFERFORSAVE2 can be unpinned using the original DXGKCB_UNPINFRAMEBUFFERFORSAVE callback.
See IOMMU DMA remapping for more information.
DXGKCB_XXX functions are implemented by Dxgkrnl. To use this callback function, set the appropriate members of DXGKARGCB_PINFRAMEBUFFERFORSAVE2 and then call DxgkCbPinFrameBufferForSave2 via the DXGKRNL_INTERFACE.
DXGKARGCB_PINFRAMEBUFFERFORSAVE2
DXGKARGCB_PINFRAMEBUFFERFORSAVE
DXGKCB_UNPINFRAMEBUFFERFORSAVE