DXGKARGCB_ALLOCATECONTIGUOUSMEMORY - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// d3dkmddi.h

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;
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (ns-d3dkmddi-_dxgkargcb_allocatecontiguousmemory)

DXGKARGCB_ALLOCATECONTIGUOUSMEMORY structure

Description

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

Members

NumberOfBytes [in]

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

LowestAcceptableAddress [in]

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.

HighestAcceptableAddress [in]

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.

BoundaryAddressMultiple [in]

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.

CacheType [in]

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

hMemoryHandle [out]

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

pMemory [out]

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.

See also

DXGKCB_ALLOCATECONTIGUOUSMEMORY