次の方法で共有


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 (Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

関連項目

KeInitializeQueue

KeRemoveQueue