Driver Problems? Questions? Issues?
Put OSR's experience to work for you! Contact us for assistance with:
  • Creating the right design for your requirements
  • Reviewing your existing driver code
  • Analyzing driver reliability/performance issues
  • Custom training mixed with consulting and focused directly on your specific areas of interest/concern.
Check us out. OSR, the Windows driver experts.

OSR Seminars


Go Back   OSR Online Lists > ntdev
Welcome, Guest
You must login to post to this list
  Message 1 of 3  
11 Feb 18 12:17
James Bellinger
xxxxxx@gmail.com
Join Date: 29 Nov 2011
Posts To This List: 49
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
  Message 2 of 3  
11 Feb 18 22:01
Tim Roberts
xxxxxx@probo.com
Join Date: 28 Jan 2005
Posts To This List: 12028
IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION?

On Feb 11, 2018, at 9:16 AM, xxxxx@gmail.com <xxxxx@lists.osr.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.
  Message 3 of 3  
17 Feb 18 09:12
James Bellinger
xxxxxx@gmail.com
Join Date: 29 Nov 2011
Posts To This List: 49
IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION?

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 <xxxxx@lists.osr.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. > > <...excess quoted lines suppressed...>
Posting Rules  
You may not post new threads
You may not post replies
You may not post attachments
You must login to OSR Online AND be a member of the ntdev list to be able to post.

All times are GMT -5. The time now is 13:01.


Copyright ©2015, OSR Open Systems Resources, Inc.
Based on vBulletin Copyright ©2000 - 2005, Jelsoft Enterprises Ltd.
Modified under license