KeRundownQueue 函数 (ntifs.h)
KeRundownQueue 例程清理队列对象,刷新所有排队条目。
语法
PLIST_ENTRY KeRundownQueue(
[in, out] PRKQUEUE Queue
);
参数
[in, out] Queue
指向调用方在非分页池中提供常驻存储的初始化队列对象的指针。
返回值
如果队列为空,则 KeRundownQueue 返回 null;否则,它将返回队列中第一个条目的地址。
言论
文件系统调用 KeRundownQueue 在释放或重用队列对象之前放弃队列中的所有条目。
如果要重用队列对象,调用方必须在调用 KeRundownQueue后调用 KeInitializeQueue,才能重新初始化队列对象,然后再重用该队列对象。
KeRundownQueue 不返回有关丢弃多少个排队条目的信息。
从 Windows 7 开始,KeRundownQueue 唤醒当前正在等待队列对象且具有STATUS_ABANDONED的任何线程。 从此函数返回后,尝试在此队列上等待的任何未来线程都将立即失败,并STATUS_ABANDONED。
在 Windows 7 之前,KeRundownQueue 在队列运行时未唤醒等待线程。 为了避免让线程永远等待在这些 OS 版本上,如果任何线程正在等待队列对象,则不应为队列调用 KeRundownQueue。
有关使用驱动程序管理的内部队列的详细信息,请参阅 Driver-Managed 队列。
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
标头 | ntifs.h (include Ntifs.h) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |