Функция FsRtlAllocateAePushLock (ntifs.h)
FsRtlAllocateAePushLock выделяет и инициализирует автоматическую блокировку push-уведомлений.
Синтаксис
PVOID FsRtlAllocateAePushLock(
[in] POOL_TYPE PoolType,
[in] ULONG Tag
);
Параметры
[in] PoolType
Тип памяти пула, выделяемой для автоматической блокировки принудительной отправки. Описание доступных типов памяти пула см. в POOL_TYPE. Можно изменить значение PoolType, побитово-ORing его с помощью флага POOL_RAISE_IF_ALLOCATION_FAILURE. Этот флаг вызывает исключение, если запрос на выделение не может быть удовлетворен.
[in] Tag
Тег пула, используемый для выделенной памяти. Укажите тег пула как ненулевой литерал одного до четырех символов, разделенных одними кавычками (например, Tag1). Строка обычно указывается в обратном порядке (например, 1gaT). Каждый символ ASCII в теге должен быть значением в диапазоне 0x20 (пробел) для 0x7E (тильды). Каждый путь кода выделения должен использовать уникальный тег пула, чтобы помочь отладчикам и проверятелям определить путь кода.
Возвращаемое значение
FsRtlAllocateAePushLock возвращает значение NULL, если в свободном пуле недостаточно памяти для удовлетворения запроса. В противном случае подпрограмма возвращает указатель на выделенную и инициализированную блокировку принудительного развертывания.
Замечания
FsRtlAllocateAePushLock используется для выделения памяти пула для автоматической блокировки принудительной отправки. Дополнительные сведения об автоматическом развертывании блокировок push-уведомлений см. в FSRTL_ADVANCED_FCB_HEADER.
Система связывает тег пула с выделенной памятью. Средства программирования, такие как WinDbg, могут отображать тег пула, связанный с каждым выделенным буфером. Gflags, инструмент, включенный в средства отладки для Windows, включает системную функцию, которая запрашивает выделение из специального пула для определенного тега пула. Poolmon, который входит в состав WDK, отслеживает память по тегу пула.
Вызывающий объект FsRtlAllocateAePushLock должен впоследствии вызывать FsRtlFreeAePushLock, чтобы освободить выделенную блокировку автоматического развертывания push-уведомлений.
Система автоматически задает определенные стандартные объекты событий, если объем пула (страницы или непагированные) имеет высокий или низкий уровень. Драйверы могут ждать, пока эти события будут настроены на использование пула. Дополнительные сведения см. в разделе Стандартные объекты событий.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 10 версии 20H2 |
заголовка | ntifs.h |
IRQL | <= APC_LEVEL |