次の方法で共有


KeInsertDeviceQueue 関数 (wdm.h)

KeInsertDeviceQueue ルーチンは、指定したデバイス キュー オブジェクトのスピン ロックを取得し、デバイス キューがビジー状態に設定されている場合は、指定したエントリをキューに入れます。

構文

BOOLEAN KeInsertDeviceQueue(
  [in, out] PKDEVICE_QUEUE       DeviceQueue,
  [in, out] PKDEVICE_QUEUE_ENTRY DeviceQueueEntry
);

パラメーター

[in, out] DeviceQueue

呼び出し元がストレージを提供するデバイス キュー型のコントロール オブジェクトへのポインター。

[in, out] DeviceQueueEntry

挿入するデバイス キュー エントリへのポインター。

戻り値

デバイス キューが空の場合、FALSE が返され、DeviceQueueEntry はデバイス キューに挿入されません。

備考

デバイス キューがビジー状態に設定されている場合は、指定された DeviceQueueEntry がデバイス キューの末尾に挿入され、デバイス キューのスピン ロックが解放されます。

KeInsertDeviceQueue が FALSE 返した場合、エントリはキューに入れられなかったので、呼び出し元は IRP の処理を開始する必要があります。 キュー が空のときに KeInsertDeviceQueue または KeInsertByKeyDeviceQueue を呼び出すと、デバイス キューがビジー状態からビジー状態に変わります。

このルーチンは、デバイス ドライバーに I/O 要求をキューに入れるコード用です。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 以降で使用できます。
ターゲット プラットフォーム 万国
ヘッダー wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL DISPATCH_LEVEL
DDI コンプライアンス規則 する HwStorPortProhibitedDDDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm), MarkingQueuedIrps(wdm)

関連項目

KeInitializeDeviceQueue

KeInsertByKeyDeviceQueue

KeRemoveDeviceQueue

KeRemoveEntryDeviceQueue