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 |