_URB_SELECT_CONFIGURATION構造体 (usb.h)

_URB_SELECT_CONFIGURATION構造体は、USB デバイスの構成を選択するためにクライアント ドライバーによって使用されます。

構文

struct _URB_SELECT_CONFIGURATION {
  struct _URB_HEADER            Hdr;
  PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor;
  USBD_CONFIGURATION_HANDLE     ConfigurationHandle;
  USBD_INTERFACE_INFORMATION    Interface;
};

メンバー

Hdr

URB ヘッダー情報を指定する _URB_HEADER 構造体へのポインター。 Hdr.Function はURB_FUNCTION_SELECT_CONFIGURATIONする必要があり、 Hdr.Length は URB 全体のサイズである必要があります。 ドライバーは、usbdlib.h で定義されているGET_SELECT_CONFIGURATION_REQUEST_SIZE マクロを使用して URB のサイズを取得できます。

ConfigurationDescriptor

デバイスで使用する構成を識別する初期化された USB 構成記述子へのポインター。 このメンバーが NULL の場合、デバイスは未構成の状態に設定されます。

ConfigurationHandle

ホスト コントローラー ドライバーからのリターン時にこの構成にアクセスするために使用されるハンドルが含まれます。 USB クライアント ドライバーは、このメンバーを不透明として扱う必要があります。

Interface

選択されている構成でサポートされるインターフェイスを記述する、 USBD_INTERFACE_INFORMATION 構造体の可変長配列を指定します。

要求がホスト コントローラー ドライバーに送信される前に、ドライバーは、そのインターフェイスのUSBD_INTERFACE_INFORMATION構造体のメンバーを設定することによって、この配列に含まれる 1 つ以上のインターフェイスの代替設定を選択できます。

ホスト コントローラー ドライバーから返された場合、このメンバーには 、その インターフェイス内のエンドポイントの機能と形式を記述するデータを含むUSBD_INTERFACE_INFORMATION構造が含まれます。

注釈

URB_FUNCTION_SELECT_CONFIGURATION URB は 、_URB_SELECT_CONFIGURATION 構造体の後に 、USBD_INTERFACE_INFORMATION 構造体の可変長配列のシーケンスで構成され、配列内の各要素は、構成内の一意のインターフェイス番号ごとに構成されます。 クライアント ドライバーは、選択したインターフェイス内のエンドポイントごとに 1 つのUSBD_PIPE_INFORMATION 構造を格納するのに十分なメモリを割り当てる必要があります。

ドライバーは、 USBD_CreateConfigurationRequestEx サービス ルーチンを使用して URB を割り当てることができます。

この構造の一部であるが、ここで説明していない他のメンバーは、不透明として扱われ、システム使用のために予約されていると見なす必要があります。

要件

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

こちらもご覧ください

Urb

USB 構造体

USBD_CreateConfigurationRequestEx

USBD_INTERFACE_INFORMATION

USBD_PIPE_INFORMATION

_URB_HEADER