USB 固有の UMDF 1.x インターフェイス
警告
UMDF 2 は UMDF の最新バージョンであり、UMDF 1 よりも優先されます。 すべての新しい UMDF ドライバーは、UMDF 2 を使用して作成する必要があります。 UMDF 1 には新機能が追加されておらず、Windows 10 の新しいバージョンでは UMDF 1 のサポートが制限されています。 ユニバーサル Windows ドライバーでは、UMDF 2 を使用する必要があります。
アーカイブされた UMDF 1 サンプルは「Windows 11, version 22H2 - May 2022 Driver Samples Update」にあります。
詳しくは、「UMDF の概要」をご覧ください。
USB デバイスには、1 つ以上の構成を含めることができます。 各構成には複数のインターフェイス管理者を置くことができます。 各インターフェイスは 1 つ以上の代替設定に関連付けられ、各代替設定は 1 つ以上のエンドポイントを定義します。 エンドポイントは、デバイス ハードウェア上のバッファーを表します。
パイプは、現在の代替設定のホスト コントローラーとエンドポイント間の接続のソフトウェア抽象化です。 パイプは I/O のターゲットにすることができ、IWDFUsbTargetPipe インターフェイスによって UMDF で公開されます。
USB 固有の UMDF インターフェイスは、WinUSB アーキテクチャの上に構築されています。 設計上、WinUSB では、複数の構成デバイスの最初の構成にのみアクセスできます。 したがって、WinUSB インターフェイスでは、選択構成要求を送信する機能は公開されません。 そのため、UMDF の I/O ターゲット機能では、最初のデバイス構成以外のデバイス構成の選択はサポートされません。
USB 固有の UMDF インターフェイスには、一般的な USB モデルと同様のオブジェクト階層があります。 UMDF ドライバーは、IWDFUsbTargetDevice インターフェイスによって公開されるターゲット デバイス オブジェクトを作成します。 その後、ドライバーは IWDFUsbTargetDevice のメソッドを使用して、IWDFUsbInterface のインスタンスによって公開される USB インターフェイスにアクセスできます。 ドライバーは、設定とエンドポイントを操作する IWDFUsbInterface メソッドを呼び出すことができます。
USB 固有の UMDF インターフェイス階層を次の表に示します。
USD 固有の UMDF インターフェイス | 派生元 |
---|---|
IWDFUsbTargetDevice | IWDFIoTarget |
IWDFUsbInterface | IWDFObject |
IWDFUsbTargetPipe | IWDFIoTarget |
IWDFUsbTargetDevice インターフェイスと IWDFUsbTargetPipe インターフェイスは IWDFIoTarget インターフェイスから派生するため、I/O ターゲット オブジェクトを公開します。 IWDFUsbInterface インターフェイスは IWDFIoTarget (IWDFUsbInterface は IWDFObject インターフェイスから派生) から派生しないため、I/O ターゲット オブジェクトは公開されません。 インターフェイスの詳細を検出および操作するために送信されたすべての I/O は、ターゲット デバイスに送信されます。
簡単な UMDF ベースの USB クライアント ドライバーを記述する手順については、「最初の USB クライアント ドライバー (UMDF)を記述する方法」をご参照ください。
UMDF ベースの USB クライアント ドライバーに必要なソース コードについては、「USB クライアント ドライバーのコード構造 (UMDF) について」を参照してください。