USB_DESCRIPTOR_REQUEST構造体 (usbioctl.h)

USB_DESCRIPTOR_REQUEST構造体は、指定された接続インデックスに関連付けられているデバイスの 1 つ以上の記述子を取得するために、IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION I/O 制御要求と共に使用されます。 この構造のフィールドについては、「 USB ドキュメント ライブラリで使用できるユニバーサル シリアル バス 3.1 仕様」を参照してください。

構文

typedef struct _USB_DESCRIPTOR_REQUEST {
  ULONG  ConnectionIndex;
  struct {
    UCHAR  bmRequest;
    UCHAR  bRequest;
    USHORT wValue;
    USHORT wIndex;
    USHORT wLength;
  } SetupPacket;
  UCHAR  Data[0];
} USB_DESCRIPTOR_REQUEST, *PUSB_DESCRIPTOR_REQUEST;

メンバー

ConnectionIndex

記述子が取得されるポート。

SetupPacket

公式仕様に従って定義された SetupPacket 構造体のメンバー。 セクション 9.3 を参照してください。

SetupPacket.bmRequest

USB デバイス要求の種類 (標準、クラス、またはベンダー)、データ転送の方向、およびデータ受信者の種類 (デバイス、インターフェイス、またはエンドポイント)。 IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION I/O 制御要求への入力時に、USB スタックは bmRequest の値を無視し、0x80の値を挿入します。 この値は、標準の USB デバイス要求とデバイスからホストへのデータ転送を示します。

SetupPacket.bRequest

要求番号。 IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION I/O 制御要求への入力時に、USB スタックは bRequest の値を無視し、0x06の値を挿入します。 この値は、 GET_DESCRIPTORの要求を示します。

SetupPacket.wValue

IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION I/O 制御要求への入力時に、呼び出し元は、取得する記述子の種類を wValue の高バイトで指定し、記述子インデックスを下位バイトに指定する必要があります。 次の表に、使用できる記述子の種類を示します。 これらの定数型は、Windows ドライバー キットに含まれる Usbspec.h ヘッダーで定義されています。

記述子の型 意味
USB_DEVICE_DESCRIPTOR_TYPE デバイス記述子を返すように USB スタックに指示します。
USB_CONFIGURATION_DESCRIPTOR_TYPE 構成記述子と、現在の構成に関連付けられているすべてのインターフェイス、エンドポイント、クラス固有、ベンダー固有の記述子を返すように USB スタックに指示します。
USB_STRING_DESCRIPTOR_TYPE 指定された文字列記述子を返すように USB スタックに指示します。
USB_INTERFACE_DESCRIPTOR_TYPE 指定されたインターフェイス記述子を返すように USB スタックに指示します。
USB_ENDPOINT_DESCRIPTOR_TYPE 示されたエンドポイント記述子を返すように USB スタックに指示します。

SetupPacket.wIndex

取得する記述子のデバイス固有のインデックス。

SetupPacket.wLength

制御転送の第 2 フェーズ中に転送されるデータの長さ。

Data[0]

IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION I/O 制御要求からの出力時に、このメンバーには取得された記述子が含まれます。

注釈

呼び出し元が wValue メンバーで USB_CONFIGURATION_DESCRIPTOR_TYPE の値を指定する場合、出力バッファーは、現在の構成に関連付けられているすべての記述子を保持するのに十分な大きさにする必要があります。または、要求は失敗します。

要件

要件
Header usbioctl.h (Usbioctl.h を含む)

こちらもご覧ください

IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION

USB 構造体