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 ターゲットを使用する必要があります。