Функция FsRtlAllocateAePushLock (ntifs.h)

FsRtlAllocateAePushLock выделяет и инициализирует принудительная блокировка с автоматическим расширением.

Синтаксис

PVOID FsRtlAllocateAePushLock(
  [in] POOL_TYPE PoolType,
  [in] ULONG     Tag
);

Параметры

[in] PoolType

Тип памяти пула, выделяемой для блокировки push-уведомлений с автоматическим расширением. Описание доступных типов памяти пула см. в POOL_TYPE . Вы можете изменить значение PoolType , побитовой объединяя его с флагом POOL_RAISE_IF_ALLOCATION_FAILURE. Этот флаг вызывает исключение, если не удается выполнить запрос на выделение.

[in] Tag

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

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

FsRtlAllocateAePushLock возвращает значение NULL, если в свободном пуле недостаточно памяти для выполнения запроса. В противном случае подпрограмма возвращает указатель на выделенную и инициализированную принудительная блокировка с автоматическим расширением.

Комментарии

FsRtlAllocateAePushLock используется для выделения памяти пула для принудительной блокировки с автоматическим расширением. Дополнительные сведения об автоматическом развертывании принудительная блокировка см. в разделе FSRTL_ADVANCED_FCB_HEADER .

Система связывает тег пула с выделенной памятью. Средства программирования, такие как WinDbg, могут отображать тег пула, связанный с каждым выделенным буфером. Средство Gflags, входящее в состав средств отладки для Windows, включает системную функцию, которая запрашивает выделение из специального пула для определенного тега пула. Poolmon, который входит в состав WDK, отслеживает память по тегу пула.

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

Система автоматически задает определенные стандартные объекты событий, если объем пула (выгружаемого или несгружаемого) является высоким или низким. Драйверы могут ждать, пока эти события будут настроены для настройки использования пула. Дополнительные сведения см. в разделе Стандартные объекты событий.

Требования

Требование Значение
Минимальная версия клиента Windows 10 версии 20H2
Верхняя часть ntifs.h
IRQL <= APC_LEVEL

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

FSRTL_ADVANCED_FCB_HEADER

FsRtlFreeAePushLock

FsRtlSetupAdvancedHeaderEx2