IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION?

Hello,

IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION sets bmRequestType to
0x80, so only works for device descriptors. How, on Windows, then, can
one send a request for an interface or class descriptor? I’ve looked all
over for this, and so far haven’t found anything that could possibly
work from user mode.

Thanks!

James

On Feb 11, 2018, at 9:16 AM, xxxxx@gmail.com wrote:
>
> IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION sets bmRequestType to 0x80, so only works for device descriptors.

Incorrect. The GET_DESCRIPTOR request is always sent with bmRequestType set to 0x80. That’s in the spec. The specific descriptor that you want is passed in the wValue field.

Also note that, in terms of requests, there is no such thing as an “interface descriptor”. Interface and class-specific descriptors are all part of the configuration descriptor. In typical operations, the only descriptor requests you every see are device descriptor, configuration descriptor, and string descriptor.

Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

For a HID report descriptor, the Recipient bits of bmRequestType must be
set to Interface (1). Fixing bmRequestType to 0x80 forces it to Device
(0). The report descriptor is not part of the configuration descriptor.

James

On 2/11/2018 10:01 PM, xxxxx@probo.com wrote:

On Feb 11, 2018, at 9:16 AM, xxxxx@gmail.com wrote:
>> IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION sets bmRequestType to 0x80, so only works for device descriptors.
> Incorrect. The GET_DESCRIPTOR request is always sent with bmRequestType set to 0x80. That’s in the spec. The specific descriptor that you want is passed in the wValue field.
>
> Also note that, in terms of requests, there is no such thing as an “interface descriptor”. Interface and class-specific descriptors are all part of the configuration descriptor. In typical operations, the only descriptor requests you every see are device descriptor, configuration descriptor, and string descriptor.
> —
> Tim Roberts, xxxxx@probo.com
> Providenza & Boekelheide, Inc.
>
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list online at: http:
>
> MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers!
> Details at http:
>
> To unsubscribe, visit the List Server section of OSR Online at http:</http:></http:></http:>