USB インターフェイスの使用

フレームワークは、各 USB インターフェイスをフレームワーク USB インターフェイス オブジェクトとして表します。 ドライバーがフレームワーク USB デバイス オブジェクトを作成すると、フレームワークは、デバイスの最初の USB 構成に含まれる各 USB インターフェイスのフレームワーク USB インターフェイス オブジェクトを作成します。

ほとんどの USB デバイスにはインターフェイスが 1 つだけあり、インターフェイスの代替設定は 1 つだけです。 このようなデバイスのドライバーは、通常、フレームワークの USB インターフェイス オブジェクトが定義するオブジェクト メソッドを使用する必要はありません。

ドライバーが複数のインターフェイスまたは代替設定を提供する USB デバイスをサポートしている場合、インターフェイス オブジェクト メソッドを使用すると、ドライバーは次の操作を実行できます。

インターフェイス情報の取得

ドライバーが WdfUsbTargetDeviceCreateWithParameters を呼び出した後、WdfUsbTargetDeviceGetInterface を呼び出して、デバイスの USB インターフェイスのいずれかを表すフレームワーク USB インターフェイス オブジェクトへのハンドルを取得できます。 その後、ドライバーは、各 USB インターフェイス オブジェクトが USB インターフェイスに関する情報を取得するために定義するいくつかのメソッドを呼び出すことができます。

ドライバーは、WdfUsbTargetDeviceCreateWithParameters を呼び出した後、いつでも次のメソッドを呼び出すことができます。

WdfUsbInterfaceGetInterfaceNumber
USB インターフェース オブジェクトに関連付けられている USB インターフェイス番号を返します。

WdfUsbInterfaceGetDescriptor
USB インターフェイスの代替設定のいずれかに関連付けられている USB インターフェイス記述子を再度取得します。

WdfUsbInterfaceGetNumEndpoints
USB インターフェイスの代替設定のいずれかに関連付けられているエンドポイントの数を返します。

WdfUsbInterfaceGetEndpointInformation
エンドポイントとそれに関連付けられているパイプに関する情報を取得します。

ドライバーは、WdfUsbTargetDeviceSelectConfig を呼び出した後、いつでも次のメソッドを呼び出すことができます。

WdfUsbInterfaceGetConfiguredSettingIndex
USB インターフェイス用に現在選択されている代替設定を識別するインデックス値を返します。

WdfUsbInterfaceGetNumConfiguredPipes
指定された USB デバイス インターフェイス用に構成されているパイプの数を返します。

WdfUsbInterfaceGetConfiguredPipe
指定された USB デバイス インターフェイスとパイプ インデックスに関連付けられているフレームワーク パイプ オブジェクトへのハンドルを返します。

UMDF-USB インターフェイスの代替設定を選択します。

ドライバーが WdfUsbTargetDeviceCreateWithParameters を呼び出した後、ドライバーは WdfUsbInterfaceGetNumSettings USB インターフェイスがサポートする代替設定の数を取得できます。

ドライバーが WdfUsbTargetDeviceSelectConfig を呼び出して USB デバイスの構成を選択した後、ドライバーは WdfUsbInterfaceSelectSetting を呼び出して、構成の USB インターフェイスのいずれかの代替設定を選択できます。

デバイスの代替設定には、0 から始まる連続した番号を付ける必要があります。

関連情報については、「USBインターフェイス で代替設定を選択する方法」を ご参照ください。