Jump-start your project by learning from devs who
write Windows drivers and file systems every day.
Take an OSR seminar!

OSR is Hiring! Click here to find out more.

Upcoming OSR Seminars:
Writing WDF Drivers for Windows Lab, Palo Alto, CA 28 April-2 May, 2014
Advanced WDF Driver Lab, Palo Alto, CA 5-8 May, 2014
Developing File Systems for Windows, Boston/Waltham, MA 13-16 May, 2014
Windows Internals & Software Drivers Lab, Dulles/Sterling, VA, CA 23-27 June, 2014


Go Back   OSR Online Lists > ntdev
Welcome, Guest
You must login to post to this list
  Message 1 of 3  
23 Oct 06 07:59
Nikolay Korneev
xxxxxx@gmail.com
Join Date: 25 Jul 2005
Posts To This List: 9
HCD_GET_ROOT_HUB_NAME and USB_GET_NODE_INFORMATION functions

Online DDK stands for both of IOCTL_USB_GET_ROOT_HUB_NAME and IOCTL_USB_GET_NODE_INFORMATION that "The USB host controller FDO is the target of this request.". "User-Mode I/O Requests That USB Client Drivers Can Use" http://msdn.microsoft.com/library/default.asp?url=/library/en-us/buses_d/hh/Buses _d/usbirp_9d99ae23-ca5f-434e-a73f-ba4801049054.xml.asp Could someone explain, how USB host controller driver recognizes them, since they both have the _same_numeric_value_ of 0x00220408 ? #define HCD_GET_ROOT_HUB_NAME 258 #define USB_GET_NODE_INFORMATION 258 #define IOCTL_USB_GET_ROOT_HUB_NAME \ CTL_CODE(FILE_DEVICE_USB, HCD_GET_ROOT_HUB_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS) #define IOCTL_USB_GET_NODE_INFORMATION \ CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_INFORMATION, METHOD_BUFFERED, FILE_ANY_ACCESS) Definitions are taken from usbioctl.h and usbiodef.h --
  Message 2 of 3  
23 Oct 06 12:18
Doron Holan
xxxxxx@microsoft.com
Join Date: 08 Sep 2005
Posts To This List: 8860
RE: HCD_GET_ROOT_HUB_NAME and USB_GET_NODE_INFORMATION functions

IOCTL_USB_GET_ROOT_HUB_NAME - processed by the host controller's FDO IOCTL_USB_GET_NODE_INFORMATION - processed by the usbhub driver's FDO 2 different drivers d From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Nikolay Korneev Sent: Monday, October 23, 2006 4:59 AM To: Windows System Software Devs Interest List Subject: [ntdev] HCD_GET_ROOT_HUB_NAME and USB_GET_NODE_INFORMATION functions Online DDK stands for both of IOCTL_USB_GET_ROOT_HUB_NAME and IOCTL_USB_GET_NODE_INFORMATION that "The USB host controller FDO is the target of this request.". "User-Mode I/O Requests That USB Client Drivers Can Use" http://msdn.microsoft.com/library/default.asp?url=/library/en-us/buses_d/hh/Buses _d/usbirp_9d99ae23-ca5f-434e-a73f-ba4801049054.xml.asp Could someone explain, how USB host controller driver recognizes them, since they both have the _same_numeric_value_ of 0x00220408 ? #define HCD_GET_ROOT_HUB_NAME??? 258 #define USB_GET_NODE_INFORMATION 258 #define IOCTL_USB_GET_ROOT_HUB_NAME \ ???????? CTL_CODE(FILE_DEVICE_USB, HCD_GET_ROOT_HUB_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS) #define IOCTL_USB_GET_NODE_INFORMATION \ ???????? CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_INFORMATION, METHOD_BUFFERED, FILE_ANY_ACCESS) Definitions are taken from usbioctl.h and usbiodef.h --- Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256 To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
  Message 3 of 3  
23 Oct 06 13:10
Nikolay Korneev
xxxxxx@gmail.com
Join Date: 25 Jul 2005
Posts To This List: 9
Re: HCD_GET_ROOT_HUB_NAME and USB_GET_NODE_INFORMATION functions

Thank you Doron for clarifying this! BWT, the online DDK says the same "The USB host controller FDO is the target of this request" for *ALL* user-mode I/O requests on this page: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/buses_d/hh/Buses _d/usbirp_9d99ae23-ca5f-434e-a73f-ba4801049054.xml.asp I'm shure it's wrong for many of them. I've also found this in DDK headers: // The following IOCTLS are always sent to the HCD symbolic name IOCTL_USB_HCD_GET_STATS_1 IOCTL_USB_DIAGNOSTIC_MODE_ON IOCTL_USB_DIAGNOSTIC_MODE_OFF IOCTL_USB_GET_ROOT_HUB_NAME IOCTL_GET_HCD_DRIVERKEY_NAME IOCTL_USB_HCD_GET_STATS_2 IOCTL_USB_HCD_DISABLE_PORT IOCTL_USB_HCD_ENABLE_PORT // The following IOCTLS are always sent to symbolic names created by usbhub IOCTL_USB_GET_NODE_INFORMATION IOCTL_USB_GET_NODE_CONNECTION_INFORMATION IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION IOCTL_USB_GET_NODE_CONNECTION_NAME IOCTL_USB_DIAG_IGNORE_HUBS_ON IOCTL_USB_DIAG_IGNORE_HUBS_OFF IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME IOCTL_USB_GET_HUB_CAPABILITIES IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES IOCTL_USB_HUB_CYCLE_PORT I guess that info is also incorrect :( I've tried to send... IOCTL_USB_DIAGNOSTIC_MODE_ON IOCTL_USB_DIAGNOSTIC_MODE_OFF IOCTL_USB_DIAG_IGNORE_HUBS_ON IOCTL_USB_DIAG_IGNORE_HUBS_OFF They all have been completed successfully by HC stack, but HUB stack has failed all of them, at least on W2K. So, it seems that IOCTL_USB_DIAG_IGNORE_HUBS_XXX are *NOT* always sent to symbolic names created by usbhub. Doron, probably you could point me to some place with 100% correct information about which target the particular IOCTL is? > IOCTL_USB_GET_ROOT_HUB_NAME - processed by the host controller's FDO > IOCTL_USB_GET_NODE_INFORMATION - processed by the usbhub driver's FDO > > 2 different drivers > > d --
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 05:28.


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