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 |