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 版本,请选择“配置属性”->“驱动程序设置”->“常规”。
ExFreeToNPagedLookasideList 是 ExAllocateFromNPagedLookasideList 的倒数。 当调用方分配的条目不再使用时,它会将调用方分配的条目释放回调用方旁观列表或非分页池。
可以重新分配同一条目,也可以在以后通过对 ExAllocateFromNPagedLookasideList 的后续调用来分配另一个条目。 lookaside list 的用户可以根据需要动态分配和释放此类条目,直到它调用 ExDeleteNPagedLookasideList,该列表在清除给定的 lookaside 列表的系统状态并返回控件之前释放列表中任何未完成的条目。
如果指定的 lookaside 列表尚未达到系统确定的最大条目数, ExFreeToNPagedLookasideList 会将给定条目插入列表的前面。 否则, Entry 处的缓冲区将使用调用方提供 的免费 例程(如果有)发布到非分页池(如果有),该例程是在初始化 lookaside 列表时设置的或 ExFreePool。
有关详细信息,请参阅使用 Lookaside Lists。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows 2000 开始可用。 |
目标平台 | 桌面 |
标头 | wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
DDI 符合性规则 | SpIrql (storport) |
另请参阅
ExAllocateFromNPagedLookasideList