mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 02:25:40 +00:00
- Fix the parameters we were sending to IoCreateDevice for our drive FDO.
- Now the kernel attempts to mount us through CDFS! - Start stubbing the work we'll need to do in RamdiskDeviceControl -- this is where the emulation magic will happen. svn path=/trunk/; revision=34604
This commit is contained in:
parent
3a6f964385
commit
7158e5bfa9
1 changed files with 40 additions and 4 deletions
|
@ -11,6 +11,7 @@
|
||||||
#include <initguid.h>
|
#include <initguid.h>
|
||||||
#include <ntddk.h>
|
#include <ntddk.h>
|
||||||
#include <ntdddisk.h>
|
#include <ntdddisk.h>
|
||||||
|
#include <ntddcdrm.h>
|
||||||
#include <scsi.h>
|
#include <scsi.h>
|
||||||
#include <ntddscsi.h>
|
#include <ntddscsi.h>
|
||||||
#include <mountdev.h>
|
#include <mountdev.h>
|
||||||
|
@ -371,8 +372,8 @@ RamdiskCreateDiskDevice(IN PRAMDISK_BUS_EXTENSION DeviceExtension,
|
||||||
Status = IoCreateDevice(DeviceExtension->DeviceObject->DriverObject,
|
Status = IoCreateDevice(DeviceExtension->DeviceObject->DriverObject,
|
||||||
sizeof(RAMDISK_DRIVE_EXTENSION),
|
sizeof(RAMDISK_DRIVE_EXTENSION),
|
||||||
&DeviceName,
|
&DeviceName,
|
||||||
FILE_DEVICE_DISK_FILE_SYSTEM, // FIXME: DISK
|
FILE_DEVICE_CD_ROM,
|
||||||
FILE_READ_ONLY_DEVICE, // FIXME: Not always
|
0,
|
||||||
0,
|
0,
|
||||||
&DeviceObject);
|
&DeviceObject);
|
||||||
if (!NT_SUCCESS(Status)) goto FailCreate;
|
if (!NT_SUCCESS(Status)) goto FailCreate;
|
||||||
|
@ -905,10 +906,45 @@ RamdiskDeviceControl(IN PDEVICE_OBJECT DeviceObject,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
//
|
||||||
|
// Check what the request is
|
||||||
|
//
|
||||||
|
switch (IoStackLocation->Parameters.DeviceIoControl.IoControlCode)
|
||||||
|
{
|
||||||
|
case IOCTL_CDROM_CHECK_VERIFY:
|
||||||
|
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
while (TRUE);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case IOCTL_CDROM_GET_DRIVE_GEOMETRY:
|
||||||
|
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
while (TRUE);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case IOCTL_CDROM_READ_TOC:
|
||||||
|
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
while (TRUE);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
|
||||||
//
|
//
|
||||||
// Drive code not yet done
|
// Drive code not yet done
|
||||||
//
|
//
|
||||||
ASSERT(FALSE);
|
DPRINT1("IOCTL: %lx\n", IoStackLocation->Parameters.DeviceIoControl.IoControlCode);
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
while (TRUE);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Cleanup/complete
|
||||||
|
//
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
while (TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue