ExAllocateFromPagedLookasideList 函数 (wdm.h)

ExAllocateFromPagedLookasideList 例程返回指向给定外观列表中的分页条目的指针,或者返回指向新分配的分页条目的指针。

语法

PVOID ExAllocateFromPagedLookasideList(
  [in, out] PPAGED_LOOKASIDE_LIST Lookaside
);

参数

[in, out] Lookaside

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

返回值

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

注解

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

然后,调用方可以使用任何调用方确定的数据设置返回的条目。 调用方应在不再使用 ExFreeToPagedLookasideList 时释放每个条目。

由于分页外观列表中的条目是从可分页内存中分配的,因此不能在 IRQL >= DISPATCH_LEVEL访问它们。 可以使用 ExAllocateFromNPagedLookasideList 创建具有不可分页条目的 lookaside 列表。

在 Windows 2000 上,驱动程序必须使用 -D_WIN2K_COMPAT_SLIST_USAGE 开关成功链接使用 ExAllocateFromPagedLookasideList 的代码。

有关详细信息,请参阅 使用 Lookaside 列表

要求

   
最低受支持的客户端 从 Windows 2000 开始可用。
目标平台 通用
标头 wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

另请参阅

ExAllocateFromNPagedLookasideList

ExFreeToPagedLookasideList

ExInitializePagedLookasideList

PAGED_LOOKASIDE_LIST