ExAllocateFromNPagedLookasideList 函数 (wdm.h)

ExAllocateFromNPagedLookasideList 例程返回指向给定 lookaside 列表中的非分页项的指针,或者返回指向新分配的非分页条目的指针。

语法

PVOID ExAllocateFromNPagedLookasideList(
  [in, out] PNPAGED_LOOKASIDE_LIST Lookaside
);

参数

[in, out] Lookaside

指向 lookaside 列表的 NPAGED_LOOKASIDE_LIST 结构的指针,调用方已使用 ExInitializeNPagedLookasideList初始化该结构。

返回值

ExAllocateFromNPagedLookasideList 如果可以分配条目,则返回指向条目的指针。 否则,它将返回 NULL

言论

谨慎

从 Windows 11 版本 22H2 开始,此函数从内联更改为导出。 因此,如果生成面向最新版本 Windows 的驱动程序,它将无法在较旧的 OS 版本中加载。 若要在 Visual Studio 中更改目标 OS 版本,请选择“配置属性->驱动程序设置->常规”。

如果给定的 lookaside 列表不为空,ExAllocateFromNPagedLookasideList 从列表中删除第一个条目,并返回指向此条目的指针。 否则,ExAllocateFromNPagedLookasideList 调用在列表初始化中指定的 Allocate 例程,或 调用 exAllocatePoolWithTag 返回条目指针。

然后,调用方可以使用任何调用方确定的数据设置返回的条目。 例如,驱动程序可以使用每个固定大小的条目来设置命令块(如 SCSI SRB)到特定类型的 I/O 总线上的外围设备。 调用方应在不再使用时释放每个条目,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