StartIo ルーチンの記述
その名前が示すように、 StartIo ルーチンは物理デバイスで I/O 操作を開始する役割を担います。
ほとんどの最下位レベルのドライバーは、 StartIo ルーチンを提供し、I/O マネージャーに依存して、システム提供のデバイス キューに IRP を入れます。 一部の最下位レベルのドライバーは、独自の補助 IRP キューを設定および管理するように設計されていますが、通常は StartIo ルーチンも提供します。 (補足キューの詳細については、 「デバイス キューの設定と使用」 と 「デバイス キューの管理」 を参照してください。)
FSD、PnP 関数、フィルター ドライバーなど、上位レベルのドライバーでは、パフォーマンスが低下する可能性があるため、 StartIo ルーチンを使用することはめったにありません。 代わりに、ほとんどのファイル システム ドライバーは、IRP の内部キューを設定して維持します。 他の上位レベルのドライバーには、IRP の内部キューがあるか、ディスパッチ ルーチンから下位ドライバーに IRP を渡すだけです。 詳細については、 「ドライバーによって管理される IRP キュー」 を参照してください。
IoSetStartIoAttributes ルーチンを使用して、ドライバーの StartIo 処理を変更する属性を設定できます。
このセクションでは、以下のトピックについて説明します: