共用方式為


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

另請參閱

KeInitializeQueue

KeRemoveQueue