--- 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(