// d3dkmddi.h
typedef struct _DXGKARGCB_PINFRAMEBUFFERFORSAVE2 {
[in] UINT PhysicalAdapterIndex;
[in] SIZE_T CommitSize;
union {
struct {
UINT PreferContiguous : 1;
UINT Reserved : 31;
};
UINT Value;
} Flags;
[out] DXGK_ADL *pAdl;
} DXGKARGCB_PINFRAMEBUFFERFORSAVE2;
View the official Windows Driver Kit DDI referenceNo description available.
The DXGKARGCB_PINFRAMEBUFFERFORSAVE2 structure contains the information used by the DXGKCB_PINFRAMEBUFFERFORSAVE2 callback function to pin an entire frame buffer at once.
PhysicalAdapterIndex [in]The index of the physical adapter.
CommitSize [in]The size, in bytes, that the driver requires to pin. This size must be a multiple of PAGE_SIZE and must be less than or equal to the maximum size specified by the driver in the DXGK_FRAMEBUFFERSAVEAREA structure when the driver's DxgkDdiQueryAdapterInfo callback is called with DXGKQAITYPE_FRAMEBUFFERSAVESIZE during driver initialization.
FlagsFlags.PreferContiguousIndicates that the driver can use a contiguous address descriptor list (ADL) in this path and is preferable to a page array. When logical remapping is enabled, this may save a large amount of memory when allocating the ADL based on CommitSize. This flag behaves identically to the same-named flag in DXGKARGCB_ALLOCATE_ADL when allocating an ADL.
Flags.ReservedReserved; must be set to zero.
Flags.ValueAn alternative way to access the Flags bits.
pAdl [out]On a successful call to DXGKCB_PINFRAMEBUFFERFORSAVE2, points to the DXGK_ADL structure with a list of pages of the frame buffer save area. These pages are guaranteed to be mapped to the IoMmu.
See IOMMU DMA remapping for more information.