DXGKARGCB_PINFRAMEBUFFERFORSAVE2 structure (d3dkmddi.h)

The DXGKARGCB_PINFRAMEBUFFERFORSAVE2 structure contains the information used by the DXGKCB_PINFRAMEBUFFERFORSAVE2 callback function to pin an entire frame buffer at once.

Syntax

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;

Members

[in] PhysicalAdapterIndex

The index of the physical adapter.

[in] CommitSize

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.

Flags

Flags.PreferContiguous

Indicates 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.Reserved

Reserved; must be set to zero.

Flags.Value

An alternative way to access the Flags bits.

[out] pAdl

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.

Remarks

See IOMMU DMA remapping for more information.

Requirements

Requirement Value
Minimum supported server Windows Server 2022 (WDDM 2.9)
Header d3dkmddi.h

See also

DXGK_ADL

DXGK_FRAMEBUFFERSAVEAREA

DXGKCB_PINFRAMEBUFFERFORSAVE2

DxgkDdiQueryAdapterInfo