DXGKARGCB_ALLOCATECONTIGUOUSMEMORY structure (d3dkmddi.h)

The DXGKARGCB_ALLOCATECONTIGUOUSMEMORY structure contains the arguments used in the DXGKCB_ALLOCATECONTIGUOUSMEMORY callback function, to allocate contiguous memory.

Syntax

typedef struct _DXGKARGCB_ALLOCATECONTIGUOUSMEMORY {
  [in]  SIZE_T                   NumberOfBytes;
  [in]  PHYSICAL_ADDRESS         LowestAcceptableAddress;
  [in]  PHYSICAL_ADDRESS         HighestAcceptableAddress;
  [in]  PHYSICAL_ADDRESS         BoundaryAddressMultiple;
  [in]  DXGK_MEMORY_CACHING_TYPE CacheType;
  [out] HANDLE                   hMemoryHandle;
  [out] PVOID                    pMemory;
} DXGKARGCB_ALLOCATECONTIGUOUSMEMORY;

Members

[in] NumberOfBytes

The size, in bytes, of the block of contiguous memory to allocate.

[in] LowestAcceptableAddress

The lowest valid physical address the caller can use. For example, if a device can address only locations above the first 8 megabytes of the processor's physical memory address range, the driver for this device should set LowestAcceptableAddress to 0x0000000000800000.

[in] HighestAcceptableAddress

The highest valid physical address the caller can use. For example, if a device can address only locations in the first 16 megabytes of the processor's physical memory address range, the driver for this device should set HighestAcceptableAddress to 0x0000000000FFFFFF.

[in] BoundaryAddressMultiple

The physical address multiple that the allocated buffer must not cross. A physical address multiple must always be a power of two. This parameter is optional and can be specified as zero to indicate that the device has no special memory boundary restrictions.

[in] CacheType

A DXGK_MEMORY_CACHING_TYPE value that specifies the cache type of the pages to allocate.

[out] hMemoryHandle

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

[out] pMemory

A contiguous chunk of non-paged physical 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_ALLOCATECONTIGUOUSMEMORY