共用方式為


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