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 の
KeRemoveDeviceQueue の