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

有关使用驱动程序管理的内部队列的详细信息,请参阅 驱动程序托管队列

要求

要求
目标平台 通用
标头 ntifs.h (包括 Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

另请参阅

KeInitializeQueue

KeRemoveQueue