次の方法で共有


デバイス Type-Specific I/O 要求

Windows Driver Kit (WDK) のデバイス固有のセクションでは、最も一般的な種類のデバイスについて、システム提供のドライバーによって処理されるデバイスの種類固有の I/O 要求に関する情報を提供します。

新しいカーネル モード ドライバーは、新しいドライバーが次のいずれかの条件を満たしている場合、システム提供のドライバーと同じ I/O 要求のセットを処理する必要があります。

  • 新しいドライバーは、同じ種類のデバイスのシステム ドライバーを置き換えます。

  • 新しいドライバーは、システムに既に存在する種類の別のデバイスをサポートします。

  • 新しいドライバーは中間 (フィルター) ドライバーで、2 つのシステム提供ドライバーの間に階層化されています。

このような新しいドライバーは、システム提供のドライバーが処理するすべての IRP_MJ_XXX 要求を処理する必要があります。 ほとんどの場合、新しいデバイス ドライバーは、対応するシステム提供ドライバーの動作をエミュレートする必要がある場合でも、IRP_MJ_DEVICE_CONTROL要求の同じIOCTL_XXX コードのセットを処理する必要があります。 そうしないと、これらの種類の要求が受け入れられると想定されるユーザー モード アプリケーションが新しいドライバーによって中断される可能性があります。

特定の要求の戻り値として、ドライバーが IRP の I/O 状態ブロックで設定できる NTSTATUS 値については、「NTSTATUS 値の使用」を参照してください。 エラー ログ パケットで指定できる NTSTATUS 値については、「エラーの ログ記録」を参照してください。 この情報を使用して、類似した種類のデバイスの新しいドライバーから返される適切な状態値を決定したり、新しい種類のデバイスに対してドライバーから返される適切な状態値を決定したりする際に役立ちます。

さまざまな種類のドライバーと、それぞれをサポートするために必要な要求の詳細については、次を参照してください。

シリアル デバイスとドライバー

System-Supplied 並列ドライバー

記憶域ドライバー

HID アーキテクチャ

USB クライアント ドライバーの I/O 要求

IEEE 1394 ドライバー スタック

PCMCIA デバイスのアクセス属性メモリ

他のすべての種類のドライバーについては、適切なドライバーの種類に関するドキュメントを参照してください。