exFreeToPagedLookasideList 函数 (wdm.h)

ExFreeToPagedLookasideList 例程将可分页条目返回到给定的旁视列表或分页池。

语法

void ExFreeToPagedLookasideList(
  [in, out] PPAGED_LOOKASIDE_LIST Lookaside,
  [in]      PVOID                 Entry
);

参数

[in, out] Lookaside

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

[in] Entry

指向要释放的条目的指针。 调用方从对 ExAllocateFromPagedLookasideList 的先前调用中获取了此指针。

返回值

备注

注意

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

ExFreeToPagedLookasideListExAllocateFromPagedLookasideList 的倒数。 当调用方分配的条目不再使用时,它会将调用方分配的条目释放回调用方旁视列表或分页池。

可以重新分配同一条目,也可以稍后通过后续调用 ExAllocateFromPagedLookasideList 来分配另一个条目。 查看列表的用户可根据需要动态分配和释放此类条目,直到调用 ExDeletePagedLookasideListExDeletePagedLookasideList 在清除给定的旁视列表的系统状态并返回控件之前,会释放列表中所有未完成的条目。

如果指定的查看列表尚未达到系统确定的最大条目数, ExFreeToPagedLookasideList 会将给定条目插入列表的前面。 否则, Entry 处的缓冲区将使用调用方提供的 Free 例程(如果有)释放回分页池,该例程是在初始化 lookaside 列表或 ExFreePool 时设置的。

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

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

要求

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

另请参阅

ExAllocateFromPagedLookasideList

ExDeletePagedLookasideList

ExInitializePagedLookasideList

PAGED_LOOKASIDE_LIST