// 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 referenceNo description available.
The DXGKARGCB_ALLOCATECONTIGUOUSMEMORY structure contains the arguments used in the DXGKCB_ALLOCATECONTIGUOUSMEMORY callback function, to allocate contiguous memory.
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.
See IOMMU-based GPU isolation for more information.
DXGKCB_ALLOCATECONTIGUOUSMEMORY