DXGKARGCB_ALLOCATECONTIGUOUSMEMORY structure (d3dkmddi.h)

Arguments used in the DXGKCB_ALLOCATECONTIGUOUSMEMORY callback function, to allocate contiguous memory.

Syntax

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

Members

NumberOfBytes

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

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.

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.

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.

CacheType

The cache type of the pages to allocate. Valid values include non-cached, cached, or writecombined.

hMemoryHandle

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

pMemory

A contiguous chunk of non-paged physical memory guaranteed to be mapped to the IoMmu for its lifetime.

Requirements

   
Header d3dkmddi.h

See also

DXGKCB_ALLOCATECONTIGUOUSMEMORY