MEM_ADDRESS_REQUIREMENTS structure (winnt.h)

Specifies a lowest and highest base address and alignment as part of an extended parameter to a function that manages virtual memory.

Syntax

typedef struct _MEM_ADDRESS_REQUIREMENTS {
  PVOID  LowestStartingAddress;
  PVOID  HighestEndingAddress;
  SIZE_T Alignment;
} MEM_ADDRESS_REQUIREMENTS, *PMEM_ADDRESS_REQUIREMENTS;

Members

LowestStartingAddress

Specifies the lowest acceptable address. This address must be a multiple of the allocation granularity returned by GetSystemInfo, or a multiple of the large page size returned by GetLargePageMinimum if large pages are being requested. If this member is NULL, then there is no lower limit.

HighestEndingAddress

Specifies the highest acceptable address (inclusive). This address must not exceed lpMaximumApplicationAddress returned by GetSystemInfo. If this member is NULL, then there is no upper limit.

Alignment

Specifies power-of-2 alignment. Specifying 0 aligns the returned address on the system allocation granularity.

Remarks

Specifying a MEM_ADDRESS_REQUIREMENTS structure with all fields set to 0 is the same as not specifying one at all.

Requirements

Requirement Value
Minimum supported client Windows 10 [desktop apps only]
Minimum supported server Windows Server 2016 [desktop apps only]
Header winnt.h