Функция 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

ExFreeToNPagedLookasideList

ExInitializeNPagedLookasideList

NPAGED_LOOKASIDE_LIST