注
ATA ポート ドライバーと ATA ミニポート ドライバー モデルは、今後変更または使用できない可能性があります。 代わりに、Storport ドライバー を使用し、Storport ミニポート ドライバー モデル することをお勧めします。
WINDOWS オペレーティング システムの Windows Vista 以降のバージョンでは、 SCSI ポート ドライバー と Storport ドライバーに加えて、ATA ポート ドライバー (Ataport.sys) が提供されます。これは、IDE コントローラーでの使用に特に適した記憶域ポート ドライバーです。
ATA ポート ドライバーと他のシステム提供の記憶域ポート ドライバーの最も大きな違いは、ATA ポート ドライバーが他のドライバーとの通信に使用するプロトコルです。 他のすべてのシステム提供記憶域ポート ドライバーは、SCSI 要求ブロック (SRB) を使用して、記憶域クラス ドライバーなどの上位レベルのドライバーとミニポート ドライバーの両方と通信します。 ATA ポート ドライバーは、SRB を使用して上位レベルのドライバーとのみ通信します。 ミニポート ドライバーと通信するために、ATA ポートは、 IDE_REQUEST_BLOCK構造体によって 定義されている IDE 要求ブロック (IRB) と呼ばれるパケットを使用します。 IRB は、ATA デバイスの特性に合わせて SLB よりも優れた設計が行われます。
ATA ポート ドライバーと他のシステム提供の記憶域ドライバーのもう 1 つの違いは、ATA ポート ドライバーが SCSI 標準で定義されている特定の要件から ATA ミニポート ドライバーをシールドすることです。 たとえば、ATA ポート ドライバーでは、ATA コマンドを使用して、ATA ミニポート ドライバーから同等の SCSI センサー データを収集し、SCSI センサー データ形式に準拠するようにデータを変換し、SCSI センサー データであるかのように上位レベルのドライバーにデータを渡します。 したがって、ATA ミニポート ドライバーは、SCSI センサー データの上位レベルのドライバーからの要求に直接応答する必要はありません。
ATA ミニポート ドライバー インターフェイスは、SCSI ポート ドライバー インターフェイスによく似ています。 したがって、SCSI ミニポート ドライバーを既に記述している場合は、ATA ミニポート ドライバーを記述する方法を簡単に学習できる必要があります。 シリアル ATA (SATA) などの現在の ATA/ATAPI テクノロジのドライバーは、より高いパフォーマンスの Storport ミニポート インターフェイスを使用する必要があります。
ATA ポート ドライバーと共に、オペレーティング システムは既定の ATA ミニポート ドライバーと既定のコントローラー ミニドライバーを提供します。 システムが提供する既定のドライバーは、ほとんどのコントローラー ハードウェアで動作し、可能な限り既定のミニドライバーを使用することを強くお勧めします。