Mombu the Microsoft Forum sponsored links

Go Back   Mombu the Microsoft Forum > Microsoft > NETWORKING AND REMOTE ACCESS SERVICES (RAS) (TECHNET) > .HCD0 IOCTL_USB_GET_ROOT_HUB_NAME not working for EHCI control
User Name
Password
REGISTER NOW! Mark Forums Read

sponsored links


Reply
 
1 3rd March 08:31
winddklearner
External User
 
Posts: 1
Default \\.\HCD0, IOCTL_USB_GET_ROOT_HUB_NAME not working for EHCI control


Hi,
I'm using \\.\HCDn for getting the file descriptor of USB EHCI Root hub. I
call CreateFile on this and get the handle. This handle I pass to
DeviceIOControl with the IOCTL code set to IOCTL_GET_HCD_DRIVERKEY_NAME and
IOCTL_USB_GET_ROOT_HUB_NAME. This gives me EHCI Root Hub's descriptor as
USB#ROOT_HUB#4&14329df0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8} for UHCI
Controllers.
However, on Windows 2000, the CreateFile on \\.\HCDn path fails with error
number 2 (== The system cannot find the file specified.).
I'm compiling my program in VS6.0 with Win DDK 2003.
This same code works fine on UCHI, OHCI USB Controllers on Win2k. Also, it
works for EHCI Controller on Win2k3 and WinXP.
Then, why it is not working only on Windows 2000?
I have taken this code from usbiew utility source code present in NTDDK 2000.
Please guide. Thanks in advance.
  Reply With Quote


  sponsored links


2 6th March 02:56
martinbo@online.microsoft.com (martin borve
External User
 
Posts: 1
Default \\.\HCD0, IOCTL_USB_GET_ROOT_HUB_NAME not working for EHCI control


On Win2K there are two parallel USB driver stacks; the old Win2K stack is
loaded for USB 1.1 controllers, and the new XP stack is loaded for EHCI
controllers. Both stacks create symbolic links of the form HCD0, HCD1,
etc. As the old Win2K stack will be first create a symbolic link for
"HCD0", the XP stack will fail to create a symbolic link because it tries
to use the same link name.

The latest version of USBVIEW (Windows Server 2003 DDK) works around this
by using a GUID-based method of enumerating host controllers that supported
by the XP stack, in addition to using the symbolic link method. It then
insures it has no duplicates between the two methods.

Martin Borve
Windows DDK Support
This posting is provided "AS IS" with no warranties, and confers no rights.
  Reply With Quote
3 7th March 01:48
winddklearner
External User
 
Posts: 1
Default \\.\HCD0, IOCTL_USB_GET_ROOT_HUB_NAME not working for EHCI con


Hi,
I compiled my code using Win DDK 2003 and ran it on Win 2k. Still it failed.
Do I need to use different version of DDK - other than DDK 2000 or DDK 2003?


Where can I find this latest version of USBView, which has this work around?
I would like to implement that work around in my source code.
Thanks.
  Reply With Quote
4 11th March 04:52
winddklearner
External User
 
Posts: 1
Default \\.\HCD0, IOCTL_USB_GET_ROOT_HUB_NAME not working for EHCI con


Dear Sir,
I checked in USBView.exe compiled in Win DDK 2003 (build 3790), but it also
has the same problem. Also, its version is same as that of Win DDK 2000.

Which version USBView in DDK carries this work around? Please guide.
Thanks.
  Reply With Quote
5 12th March 02:46
martinbo@online.microsoft.com (martin borve
External User
 
Posts: 1
Default \\.\HCD0, IOCTL_USB_GET_ROOT_HUB_NAME not working for EHCI con


You need the Windows Server 2003 SP1 DDK. Earlier DDKs don't have the fix.

Martin Borve
Windows DDK Support
This posting is provided "AS IS" with no warranties, and confers no rights.
  Reply With Quote


  sponsored links


Reply


Thread Tools
Display Modes




Copyright 2006 SmartyDevil.com - Dies Mies Jeschet Boenedoesef Douvema Enitemaus -
666