Adding symbolic link to USBFDO. Modified: trunk/reactos/drivers/usb/cromwell/uhci/uhci_main.c _____
Modified: trunk/reactos/drivers/usb/cromwell/uhci/uhci_main.c --- trunk/reactos/drivers/usb/cromwell/uhci/uhci_main.c 2005-06-05 14:03:55 UTC (rev 15806) +++ trunk/reactos/drivers/usb/cromwell/uhci/uhci_main.c 2005-06-05 15:50:55 UTC (rev 15807) @@ -37,6 +37,8 @@
NTSTATUS Status; WCHAR DeviceBuffer[20]; UNICODE_STRING DeviceName; + WCHAR LinkDeviceBuffer[20]; + UNICODE_STRING LinkDeviceName; POHCI_DRIVER_EXTENSION DriverExtension; POHCI_DEVICE_EXTENSION DeviceExtension; ULONG Size, DeviceNumber; @@ -62,7 +64,7 @@
// Create a unicode device name DeviceNumber = 0; //TODO: Allocate new device number every time - swprintf(DeviceBuffer, L"\Device\USBPDO-%lu", DeviceNumber); + swprintf(DeviceBuffer, L"\Device\USBFDO-%lu", DeviceNumber); RtlInitUnicodeString(&DeviceName, DeviceBuffer);
Status = IoCreateDevice(DriverObject, @@ -93,6 +95,16 @@ DeviceExtension->FunctionalDeviceObject = fdo; DeviceExtension->DriverExtension = DriverExtension;
+ swprintf(LinkDeviceBuffer, L"\??\HCD%lu", DeviceNumber); + RtlInitUnicodeString(&LinkDeviceName, LinkDeviceBuffer); + Status = IoCreateSymbolicLink(&LinkDeviceName, &DeviceName); + + if (!NT_SUCCESS(Status)) + { + DPRINT1("IoCreateSymbolicLink call failed with status 0x%08x\n", Status); + return Status; + } + /* Get bus number from the upper level bus driver. */ Size = sizeof(ULONG); /* Status = IoGetDeviceProperty(