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

另请参阅

KeInitializeQueue

KeRemoveQueue