структура POOL_EXTENDED_PARAMETER (wdm.h)

Указывает расширенные сведения о параметрах, которые драйвер предоставляет при вызове ExAllocatePool3.

Синтаксис

typedef struct _POOL_EXTENDED_PARAMETER {
  struct {
    ULONG64 Type : POOL_EXTENDED_PARAMETER_TYPE_BITS;
    ULONG64 Optional : POOL_EXTENDED_PARAMETER_REQUIRED_FIELD_BITS;
    ULONG64 Reserved : POOL_EXTENDED_PARAMETER_RESERVED_BITS;
  } DUMMYSTRUCTNAME;
  union {
    ULONG64                          Reserved2;
    PVOID                            Reserved3;
    EX_POOL_PRIORITY                 Priority;
    POOL_EXTENDED_PARAMS_SECURE_POOL *SecurePoolParams;
    POOL_NODE_REQUIREMENT            PreferredNode;
  } DUMMYUNIONNAME;
} POOL_EXTENDED_PARAMETER, *PPOOL_EXTENDED_PARAMETER;

Члены

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.Type

Значение перечисления POOL_EXTENDED_PARAMETER_TYPE , указывающее тип параметра.

Если для этого значения задано значение PoolExtendedParameterPriority, то элементом Priority этой структуры должно быть EX_POOL_PRIORITY значение, указывающее приоритет выделения пула. Если для указанного приоритета недостаточно места, выделение завершается сбоем.

DUMMYSTRUCTNAME.Optional

Если для этого поля задано значение 1, расширенный параметр является необязательным. Если Тип не является допустимым значением перечисления, оно игнорируется. Если перечисление Type является допустимым, оно по-прежнему может быть проигнорировано, например, если оно несовместимо с другими указанными флагами.

Если для этого поля задано значение 0, тип должен быть распознано распределителем пула, иначе выделение завершается ошибкой.

DUMMYSTRUCTNAME.Reserved

Зарезервировано для последующего использования.

DUMMYUNIONNAME

DUMMYUNIONNAME.Reserved2

DUMMYUNIONNAME.Reserved3

DUMMYUNIONNAME.Priority

Если для параметра Typeзадано значение PoolExtendedParameterPriority, это поле должно содержать допустимое значение EX_POOL_PRIORITY .

DUMMYUNIONNAME.SecurePoolParams

DUMMYUNIONNAME.PreferredNode

Если для параметра Typeзадано значение PoolExtendedParameterNumaNode , это поле должно содержать допустимый индекс узла NUMA, нумерованный от 0 до N-1. Если поле также содержит MM_ANY_NODE_OK, вызов предпочитает указанный узел NUMA, но пытается выполнить другие попытки, если он недоступен. Если MM_ANY_NODE_OK не задано, вызов завершается ошибкой, если запрошенный узел NUMA не может удовлетворить выделение. Этот параметр действителен только для выделений, выполненных с помощью POOL_FLAG_NON_PAGED пула.

Требования

Требование Значение
Минимальная версия клиента Windows 10 версии 2004
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)

См. также раздел

POOL_EXTENDED_PARAMETER_TYPE

ExAllocatePool3