mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-01 04:13:35 +00:00
- Implement IRP_MN_QUERY_DEVICE_TEXT/BUS_INFORMATION/CAPABILITIES for FDOs (just forward to the attached device).
- Implement IRP_MN_QUERY_RESOURCES/RESOURCE_REQUIREMENTS for FDOs and PDOs (immediately complete the IRP and exit). - We now get to RamdiskDeviceControl -- the kernel is attempting to create the ramdisk. svn path=/trunk/; revision=34452
This commit is contained in:
@@ -379,13 +379,19 @@ RamdiskPnp(IN PDEVICE_OBJECT DeviceObject,
|
||||
{
|
||||
DPRINT1("PnP IRP: %lx\n", Minor);
|
||||
while (TRUE);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case IRP_MN_QUERY_BUS_INFORMATION:
|
||||
|
||||
DPRINT1("PnP IRP: %lx\n", Minor);
|
||||
while (TRUE);
|
||||
//
|
||||
// Are we a PDO?
|
||||
//
|
||||
if (DeviceExtension->Type == RamdiskPdo)
|
||||
{
|
||||
DPRINT1("PnP IRP: %lx\n", Minor);
|
||||
while (TRUE);
|
||||
}
|
||||
break;
|
||||
|
||||
case IRP_MN_EJECT:
|
||||
@@ -396,8 +402,14 @@ RamdiskPnp(IN PDEVICE_OBJECT DeviceObject,
|
||||
|
||||
case IRP_MN_QUERY_DEVICE_TEXT:
|
||||
|
||||
DPRINT1("PnP IRP: %lx\n", Minor);
|
||||
while (TRUE);
|
||||
//
|
||||
// Are we a PDO?
|
||||
//
|
||||
if (DeviceExtension->Type == RamdiskPdo)
|
||||
{
|
||||
DPRINT1("PnP IRP: %lx\n", Minor);
|
||||
while (TRUE);
|
||||
}
|
||||
break;
|
||||
|
||||
case IRP_MN_QUERY_DEVICE_RELATIONS:
|
||||
@@ -408,10 +420,25 @@ RamdiskPnp(IN PDEVICE_OBJECT DeviceObject,
|
||||
|
||||
case IRP_MN_QUERY_CAPABILITIES:
|
||||
|
||||
DPRINT1("PnP IRP: %lx\n", Minor);
|
||||
while (TRUE);
|
||||
//
|
||||
// Are we a PDO?
|
||||
//
|
||||
if (DeviceExtension->Type == RamdiskPdo)
|
||||
{
|
||||
DPRINT1("PnP IRP: %lx\n", Minor);
|
||||
while (TRUE);
|
||||
}
|
||||
break;
|
||||
|
||||
case IRP_MN_QUERY_RESOURCES:
|
||||
case IRP_MN_QUERY_RESOURCE_REQUIREMENTS:
|
||||
|
||||
//
|
||||
// Complete immediately without touching it
|
||||
//
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
goto ReleaseAndReturn;
|
||||
|
||||
default:
|
||||
|
||||
DPRINT1("Illegal IRP: %lx\n", Minor);
|
||||
@@ -439,6 +466,7 @@ RamdiskPnp(IN PDEVICE_OBJECT DeviceObject,
|
||||
//
|
||||
// Release the lock and return status
|
||||
//
|
||||
ReleaseAndReturn:
|
||||
IoReleaseRemoveLock(&DeviceExtension->RemoveLock, Irp);
|
||||
return Status;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user