Функция ExAllocatePool3 (wdm.h)

Подпрограмма ExAllocatePool3 выделяет память пула указанного типа и возвращает указатель на выделенный блок. Эта подпрограмма похожа на ExAllocatePool2 , но добавляет расширенные параметры.

Синтаксис

DECLSPEC_RESTRICT PVOID ExAllocatePool3(
  POOL_FLAGS                Flags,
  SIZE_T                    NumberOfBytes,
  ULONG                     Tag,
  PCPOOL_EXTENDED_PARAMETER ExtendedParameters,
  ULONG                     ExtendedParametersCount
);

Параметры

Flags

ULONG64 типизированное значение, указывающее тип памяти пула, а также обязательные и необязательные атрибуты. Несколько значений флагов можно объединить с помощью битового ИЛИ. Возможные значения см. в POOL_FLAGS .

NumberOfBytes

Указывает ненулевое количество выделенных байтов.

Tag

Тег пула, используемый для выделенной памяти. Укажите тег пула как ненулевой символьный литерал от одного до четырех символов, разделенных одними кавычками (например, Tag1). Строка обычно указывается в обратном порядке (например, 1gaT). Каждый символ ASCII в теге должен быть значением в диапазоне 0x20 (пробел) до 0x7E (тильда). Каждый путь к коду выделения должен использовать уникальный тег пула, чтобы помочь отладчикам и проверятелям определить путь к коду.

ExtendedParameters

Указатель на массив POOL_EXTENDED_PARAMETER структур, указывающих дополнительные атрибуты для выделения.

ExtendedParametersCount

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

Возвращаемое значение

ExAllocatePool3 возвращает указатель на выделенную память.

Следующие условия приводят к тому, что функция возвращает значение NULL по умолчанию. Если указан POOL_FLAG_RAISE_ON_FAILURE , функция создает исключение.

  • Недостаточно памяти
  • Тег имеет значение 0 или указаны недопустимые POOL_FLAGS
  • Недопустимые структуры POOL_EXTENDED_PARAMETER

Комментарии

При создании драйвера, предназначенного для версий Windows до Windows 10 версии 2004, используйте ExAllocatePoolPriorityZero или ExAllocatePoolPriorityUninitialized.

Дополнительные сведения см. в примечаниях ExAllocatePool2 .

Требования

Требование Значение
Минимальная версия клиента Windows 10 версии 2004
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL (см. раздел "Примечания")
Правила соответствия DDI HwStorPortProhibitedDIS, SpNoWait, StorPortStartIo

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

ExAllocatePool2