ExFreeToNPagedLookasideList 函数 (wdm.h)

ExFreeToNPagedLookasideList 例程将非分页条目返回到给定的 lookaside 列表或非分页池。

语法

void ExFreeToNPagedLookasideList(
  [in, out] PNPAGED_LOOKASIDE_LIST Lookaside,
  [in]      PVOID                  Entry
);

参数

[in, out] Lookaside

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

[in] Entry

指向要释放的条目的指针。 调用方从前面的调用中获取此指针,ExAllocateFromNPagedLookasideList

返回值

没有

言论

谨慎

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

ExFreeToNPagedLookasideListExAllocateFromNPagedLookasideList的互惠。 当该条目不再使用时,它将调用方分配的条目释放回调用方的外观列表或非分页池。

同一项可以重新分配,也可以分配另一个条目,稍后通过后续调用 ExAllocateFromNPagedLookasideList。 lookaside 列表的用户可以根据需要动态分配和释放此类条目,直到调用 ExDeleteNPagedLookasideList,该列表会释放列表中所有未完成的条目,然后清除给定的看边列表的系统状态并返回控件。

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

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

要求

要求 价值
最低支持的客户端 从 Windows 2000 开始可用。
目标平台 桌面
标头 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
DDI 符合性规则 SpIrql(storport)

另请参阅

ExAllocateFromNPagedLookasideList

ExDeleteNPagedLookasideList

ExInitializeNPagedLookasideList

NPAGED_LOOKASIDE_LIST