KeRemoveDeviceQueue 関数 (wdm.h)

KeRemoveDeviceQueue ルーチンは、指定されたデバイス キューの先頭からエントリを削除します。

構文

PKDEVICE_QUEUE_ENTRY KeRemoveDeviceQueue(
  [in, out] PKDEVICE_QUEUE DeviceQueue
);

パラメーター

[in, out] DeviceQueue

呼び出し元がストレージを提供する初期化されたデバイス キュー オブジェクトへのポインター。

戻り値

デバイス キューが空で、ビジー状態に設定されている場合、 KeRemoveDeviceQueueNULL を返します。

注釈

指定されたデバイス キュー スピン ロックが取得され、デバイス キューの状態がチェックされます。 デバイス キューがビジー状態に設定され、IRP がキューに登録されている場合、このルーチンはエントリをデキューし、IRP へのポインターを返します。 デバイス キュー オブジェクトがビジー状態に設定されていても、IRP がキューに登録されていない場合に KeRemoveDeviceQueue を呼び出すと、状態の変更がビジー状態になりません。 指定されたデバイス キューのスピン ロックが解放されます。

デバイス キュー オブジェクトがビジー状態に設定されている場合、 KeRemoveDeviceQueue を呼び出すとエラーになります。

要件

要件
サポートされている最小のクライアント Windows 2000 以降で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL DISPATCH_LEVEL
DDI コンプライアンス規則 HwStorPortProhibitedDDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm)

こちらもご覧ください

KeInitializeDeviceQueue

KeInsertByKeyDeviceQueue

KeInsertDeviceQueue

KeRemoveByKeyDeviceQueue

KeRemoveEntryDeviceQueue