_URB_SELECT_INTERFACE構造体 (usb.h)

_URB_SELECT_INTERFACE構造は、USB クライアント ドライバーがインターフェイスの代替設定を選択したり、USB デバイス上の現在の構成のパイプの最大パケット サイズを変更したりするために使用されます。

構文

struct _URB_SELECT_INTERFACE {
  struct _URB_HEADER         Hdr;
  USBD_CONFIGURATION_HANDLE  ConfigurationHandle;
  USBD_INTERFACE_INFORMATION Interface;
};

メンバー

Hdr

URB ヘッダー情報を指定する _URB_HEADER 構造体へのポインター。 Hdr.Function はURB_FUNCTION_SELECT_INTERFACEする必要があり、 Hdr.Length は URB 全体のサイズである必要があります。

ConfigurationHandle

このインターフェイスが属する構成へのハンドルを指定します。 ホスト コントローラー ドライバーは、クライアントがURB_FUNCTION_SELECT_CONFIGURATION要求を含む構成を選択すると、このハンドルを返します。

Interface

インターフェイスと、そのインターフェイスの新しい代替設定、および必要に応じて、対応するパイプの新しい最大パケット サイズを指定する可変長の USBD_INTERFACE_INFORMATION 構造体。 詳細については、「解説」を参照してください。

注釈

GET_SELECT_INTERFACE_REQUEST_SIZE マクロを使用して、 URB_FUNCTION_SELECT_INTERFACE URB のサイズを決定し、 UsbBuildSelectInterfaceRequest ルーチンを使用して URB の書式を設定できます。

USBD_INTERFACE_INFORMATION構造体には、インターフェイスとその代替設定に関する情報が含まれています。 USBD_INTERFACE_INFORMATIONPipes メンバーは、USBD_PIPE_INFORMATION構造体の配列を指します。 配列には、インターフェイスのエンドポイントに関連付けられているパイプに関する情報が格納されます。 最大パケット サイズなど、パイプの特定の既定の設定をオーバーライドできます。 最大パケット サイズを変更するには、 で USBD_PF_CHANGE_MAX_PACKET フラグを設定し、 でPipes[i].PipeFlagsPipes[i].MaximumPacketSize新しい値を指定します。

バス ドライバーは、URB_FUNCTION_SELECT_INTERFACE URB の処理を正常に完了した後、メンバー内の各パイプのハンドルの配列を Pipes[i].PipeHandle 返します。 クライアント ドライバーは、特定のパイプに I/O 要求を送信するパイプ ハンドルを格納できます。

要件

要件
Header usb.h (Usb.h を含む)

こちらもご覧ください

USB デバイスの構成

Urb

USB 構造体

USBD_INTERFACE_INFORMATION

_URB_HEADER