UMDF での I/O ターゲットの使用
ドライバーが I/O 要求を受信したとき、ドライバーは自身で要求を処理できる場合もあれば、他のドライバーのサポートが必要な場合もあります。ドライバーがサポートを必要とする場合、要求を別のドライバーに転送するか、または 1 つ以上の新しい要求を作成して別のドライバーに送信することができます。
UMDF ベースのドライバーで I/O 要求を別のドライバーに送信するには、"I/O ターゲット" を使用します。各 I/O ターゲットは "I/O ターゲット オブジェクト" で表されます。各 I/O ターゲット オブジェクトは主にキューです。ドライバーが要求を I/O ターゲットに送信すると、フレームワークは要求をその I/O ターゲットに送信するまでキュー内に保存します。
フレームワークは、"一般 I/O ターゲット"と "特別 I/O ターゲット" の両方をサポートします。
一般 I/O ターゲットは、すべての UMDF ドライバーで使用できますが、デバイス固有の特別なデータ形式はサポートしていません。
特別 I/O ターゲットにより、UMDF ドライバーは、特別なターゲット固有のデータ書式設定を必要とする I/O 要求を送信できます。現在、フレームワークは USB I/O ターゲットをサポートしています。
フレームワークがデバイスのデータ形式をサポートする特別 I/O ターゲットを提供する場合、ドライバーは特別 I/O ターゲットを使用する必要があります。それ以外の場合、ドライバーは一般 I/O ターゲットを使用します。