共用方式為


USB_DESCRIPTOR_REQUEST結構 (usbioctl.h)

USB_DESCRIPTOR_REQUEST 結構會與 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

在控件傳輸的第二個階段傳輸的數據長度。

Data[0]

IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION I/O 控制件要求的輸出上,這個成員包含擷取的描述項。

言論

如果呼叫端在 wValue 成員中指定USB_CONFIGURATION_DESCRIPTOR_TYPE值,輸出緩衝區必須夠大,才能保存與目前組態相關聯的所有描述項,否則要求將會失敗。

要求

要求 價值
標頭 usbioctl.h (包括 Usbioctl.h)

另請參閱

IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION

USB 結構