Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ExCreatePool создает экземпляр пула запрошенного типа.
Синтаксис
NTSTATUS ExCreatePool(
ULONG Flags,
ULONG_PTR Tag,
POOL_CREATE_EXTENDED_PARAMS *Params,
HANDLE *PoolHandle
);
Параметры
Flags
[in] Битовая маска, указывающая тип пула и необязательные параметры создания. Необходимо указать ровно один флаг типа пула. Следующие значения являются взаимоисключающими:
| Ценность | Описание |
|---|---|
| POOL_CREATE_FLG_SECURE_POOL | Создает экземпляр защищенного пула. Имя пула не должно быть указано при использовании этого флага. |
| POOL_CREATE_FLG_PAGED_POOL | Создает экземпляр частного пула страниц. Имя пула должно быть предоставлено через расширенный параметр. Выделение может находиться в памяти, доступной для страниц. |
| POOL_CREATE_FLG_NONPAGED_POOL | Создает частный экземпляр непагированного пула. Имя пула должно быть предоставлено через расширенный параметр. Выделения остаются резидентными в нераспакованной памяти. |
Tag
[in] Тег (четырехзначное значение, хранящееся в маленькой форме) для связывания с пулом.
Params
[in, необязательный] Указатель на структуру POOL_CREATE_EXTENDED_PARAMS , которая предоставляет расширенные параметры создания для заданного типа пула. Этот параметр может иметь значение NULL. Параметр имени может быть предоставлен в соответствии с этими правилами: требуется для страничных и непагированных пулов; не разрешено для безопасных пулов; разрешен только один параметр имени; Неподдерживаемые типы параметров отклоняются.
PoolHandle
[out] Получает непрозрачный дескриптор для только что созданного пула при успешном выполнении.
Возвращаемое значение
Возвращает значение NTSTATUS, например одно из следующих значений.
| Код возврата | Описание |
|---|---|
| STATUS_SUCCESS | Пул успешно создан, а PoolHandle действителен. |
| STATUS_INVALID_PARAMETER_1 | Спецификация типа пула в Flags недействительна. |
| STATUS_INVALID_PARAMETER_3 | Расширенные параметры недопустимы (отсутствует обязательное имя, запрещенное имя, повторяющееся имя или неподдерживаемый тип параметра). |
| Другие коды состояния | Произошла ошибка во время создания. |
Замечания
ExCreatePool создает экземпляр пула запрошенного типа (безопасный, страничный или непагированный) и возвращает непрозрачный дескриптор, который можно использовать с подпрограммами управления пулом. Вызывающий объект задает тип пула с помощью флагов и может предоставлять необязательные расширенные параметры.
В флагах должен присутствовать ровно один флаг типа пула. Имя пула требуется для страничных и непагированных пулов и должно быть опущено для безопасных пулов.
Расширенные параметры необязательны, если имя не требуется выбранному типу пула. Возвращенный дескриптор должен быть освобожден с помощью соответствующей процедуры управления пулом, если она больше не нужна.
Выделение пула выполняется путем вызова ExAllocatePool2.
Требования
| Требование | Ценность |
|---|---|
| минимальный поддерживаемый сервер | Windows Server 2022 |
| заголовка | wdm.h (include Wdm.h) |
| IRQL | пассивный уровень |
См. также
POOL_CREATE_EXTENDED_PARAMS