Поделиться через


структура MEM_EXTENDED_PARAMETER (winnt.h)

Представляет расширенный параметр для функции, которая управляет виртуальной памятью.

Синтаксис

typedef struct MEM_EXTENDED_PARAMETER {
  struct {
    DWORD64 Type : MEM_EXTENDED_PARAMETER_TYPE_BITS;
    DWORD64 Reserved : 64 - MEM_EXTENDED_PARAMETER_TYPE_BITS;
  } DUMMYSTRUCTNAME;
  union {
    DWORD64 ULong64;
    PVOID   Pointer;
    SIZE_T  Size;
    HANDLE  Handle;
    DWORD   ULong;
  } DUMMYUNIONNAME;
} MEM_EXTENDED_PARAMETER, *PMEM_EXTENDED_PARAMETER;

Члены

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.Type

Значение MEM_EXTENDED_PARAMETER_TYPE, указывающее тип параметра.

Если типа задано значение MemExtendedParameterAddressRequirements, то указатель должен быть указателем на структуру, выделенную вызывающим объектом MEM_ADDRESS_REQUIREMENTS, которая задает самый низкий и самый высокий базовый адрес и выравнивание.

Если для type задано значение MemExtendedParameterNumaNode, то для ULong64 необходимо задать нужный номер узла.

Если типа задано значение MemExtendedParameterAttributeFlags, ULong64 необходимо задать значение, содержащее нужные флаги:

Флаг Ценность Значение
MEM_EXTENDED_PARAMETER_NONPAGED 0x02 Выделение является нестранимым.
MEM_EXTENDED_PARAMETER_NONPAGED_LARGE 0x08 Выделение сопоставляется с помощью больших страниц.
MEM_EXTENDED_PARAMETER_NONPAGED_HUGE 0x10 Выделение сопоставляется с помощью огромных страниц.
MEM_EXTENDED_PARAMETER_EC_CODE 0x40 Выделение будет содержать код, совместимый с эмуляцией (EC).

DUMMYSTRUCTNAME.Reserved

Скрытный.

DUMMYUNIONNAME

DUMMYUNIONNAME.ULong64

Если для type задано значение MemExtendedParameterNumaNode, то для ULong64 необходимо задать нужный номер узла.

DUMMYUNIONNAME.Pointer

Если типа задано значение MemExtendedParameterAddressRequirements, то указатель должен быть указателем на структуру, выделенную вызывающим объектом MEM_ADDRESS_REQUIREMENTS, которая задает самый низкий и самый высокий базовый адрес и выравнивание.

DUMMYUNIONNAME.Size

DUMMYUNIONNAME.Handle

DUMMYUNIONNAME.ULong

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10 [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2016 [только классические приложения]
заголовка winnt.h