Функция ExAllocateFromNPagedLookasideList (wdm.h)
Подпрограмма ExAllocateFromNPagedLookasideList возвращает указатель на непагированную запись из заданного списка просмотра или указатель на только что выделенную непагированную запись.
Синтаксис
PVOID ExAllocateFromNPagedLookasideList(
[in, out] PNPAGED_LOOKASIDE_LIST Lookaside
);
Параметры
[in, out] Lookaside
Указатель на структуру NPAGED_LOOKASIDE_LIST для списка lookaside, который вызывающий объект уже инициализировал с помощью ExInitializeNPagedLookasideList.
Возвращаемое значение
ExAllocateFromNPagedLookasideList возвращает указатель на запись, если ее можно выделить. В противном случае возвращается значение NULL.
Remarks
Внимание!
Начиная с Windows 11 версии 22H2 эта функция изменилась со встроенной на экспортируемую. В результате, если вы создаете драйвер, предназначенный для последней версии Windows, он не сможет загрузиться в более старых версиях ОС. Чтобы изменить целевую версию ОС в Visual Studio, выберите Свойства конфигурации-Параметры> драйвера-Общие>.
Если указанный список lookaside не пуст, ExAllocateFromNPagedLookasideList удаляет первую запись из списка и возвращает указатель на эту запись. В противном случае ExAllocateFromNPagedLookasideList вызывает подпрограмму Allocate , указанную при инициализации списка, или ExAllocatePoolWithTag , чтобы вернуть указатель на вход.
Затем вызывающий объект может настроить возвращенную запись с любыми данными, определяемыми вызывающим. Например, драйвер может использовать каждую такую запись фиксированного размера для настройки блоков команд, таких как SCSI SRB, для периферийных устройств в шине ввода-вывода определенного типа. Вызывающий объект должен освобождать каждую запись с ExFreeToNPagedLookasideList , когда она больше не используется.
Дополнительные сведения см. в статье Использование lookaside Списки.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 2000. |
Целевая платформа | Персональный компьютер |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
См. также раздел
ExAllocateFromPagedLookasideList