UMDF での I/O ターゲットの使用
警告
UMDF 2 は UMDF の最新バージョンであり、UMDF 1 よりも優先されます。 すべての新しい UMDF ドライバーは、UMDF 2 を使用して記述する必要があります。 UMDF 1 には新機能が追加されておらず、Windows 10 の新しいバージョンでは UMDF 1 のサポートが制限されています。 ユニバーサル Windows ドライバーでは、UMDF 2 を使用する必要があります。
アーカイブされた UMDF 1 サンプルは、「Windows 11、バージョン 22H2 - 2022 年 5 月 ドライバーサンプルの更新」でご確認いただけます。
詳しくは、「UMDF の概要」をご覧ください。
ドライバーが I/O 要求を受け取ると、ドライバーが単独で要求を処理できる場合や、他のドライバーの支援が必要な場合があります。 ドライバーに支援が必要な場合は、別のドライバーにリクエストを転送するか、1 つ以上の新しいリクエストを作成して別のドライバーに送信することができます。
UMDF ベースのドライバーは、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 ターゲットを使用する必要があります。