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