DXGKARGCB_ALLOCATEPAGESFORMDL structure (d3dkmddi.h)

The DXGKARGCB_ALLOCATEPAGESFORMDL structure contains the arguments used in the DXGKCB_ALLOCATEPAGESFORMDL callback function, to allocate pages for a memory descriptor list (MDL).

Syntax

typedef struct _DXGKARGCB_ALLOCATEPAGESFORMDL {
  [in]  PHYSICAL_ADDRESS         LowAddress;
  [in]  PHYSICAL_ADDRESS         HighAddress;
  [in]  PHYSICAL_ADDRESS         SkipBytes;
  [in]  SIZE_T                   TotalBytes;
  [in]  DXGK_MEMORY_CACHING_TYPE CacheType;
  [in]  ULONG                    Flags;
  [out] HANDLE                   hMemoryHandle;
  [out] PMDL                     pMdl;
} DXGKARGCB_ALLOCATEPAGESFORMDL;

Members

[in] LowAddress

Specifies the physical address of the start of the first address range from which the allocated pages can come.

[in] HighAddress

Specifies the physical address of the end of the first address range from which the allocated pages can come.

[in] SkipBytes

Specifies the number of bytes to skip from the start of the previous address range from which the allocated pages can come. SkipBytes must be an integer multiple of the virtual memory page size, in bytes.

[in] TotalBytes

Specifies the total number of bytes to allocate for the MDL.

[in] CacheType

Indicates the type of caching that is allowed for the requested memory.

[in] Flags

Specifies the flags for this operation. For more information, see MmAllocatePagesForMdlEx function.

[out] hMemoryHandle

A Dxgkrnl tracking handle for the allocation. This value should be passed to the corresponding DGXKCB_FREEPAGESFROMMDL callback function.

[out] pMdl

An MDL of non-paged memory guaranteed to be mapped to the IOMMU for its lifetime.

Remarks

See IOMMU-based GPU isolation for more information.

Requirements

Requirement Value
Minimum supported client Windows 10, version 1803 (WDDM 2.4)
Header d3dkmddi.h

See also

DXGKCB_ALLOCATEPAGESFORMDL