mirror of
https://github.com/reactos/reactos.git
synced 2025-02-23 08:55:19 +00:00
- When media is changed, set VolumeDevice's DO_VERIFY_VOLUME flag so it actually gets verified.
- IoVerifyVolume() actually gives two successful statuses - STATUS_SUCCESS and STATUS_WRONG_VOLUME. Respect that when processing an device ioctl. - "Inability to change CD after boot" issue is fixed. svn path=/trunk/; revision=29002
This commit is contained in:
parent
cf9e10327c
commit
108d48388e
2 changed files with 7 additions and 0 deletions
|
@ -199,6 +199,9 @@ CdfsDeviceIoControl (IN PDEVICE_OBJECT DeviceObject,
|
|||
|
||||
NewStatus = IoVerifyVolume(DeviceToVerify, FALSE);
|
||||
DPRINT1("IoVerifyVolume() returned (Status %lx)\n", NewStatus);
|
||||
|
||||
if (NewStatus == STATUS_SUCCESS || NewStatus == STATUS_WRONG_VOLUME)
|
||||
Status = STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
DPRINT("Returning Status %x\n", Status);
|
||||
|
|
|
@ -141,6 +141,10 @@ CdfsOpenFile(PDEVICE_EXTENSION DeviceExt,
|
|||
DPRINT ("Status %lx\n", Status);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
if (Status == STATUS_NO_MEDIA_IN_DEVICE || Status == STATUS_VERIFY_REQUIRED)
|
||||
{
|
||||
DeviceExt->VolumeDevice->Flags |= DO_VERIFY_VOLUME;
|
||||
}
|
||||
DPRINT1 ("Status %lx\n", Status);
|
||||
return Status;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue