共用方式為


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 結構