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 。
如需使用驅動程式管理的內部佇列的詳細資訊,請參閱 驅動程式管理的佇列。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | ntifs.h (包含 Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |