mirror of
https://github.com/reactos/reactos.git
synced 2025-06-05 01:10:26 +00:00
[FASTFAT]
Now that we start to honor the storage stack (ie, without the IopParseDevice hack ;-)), we have to let FSDs forward device IOCTLs. This allows back copying files on 1st stage svn path=/trunk/; revision=65116
This commit is contained in:
parent
c9ec1555ad
commit
bedd8fa9be
2 changed files with 13 additions and 0 deletions
|
@ -99,6 +99,7 @@ DriverEntry(
|
||||||
DriverObject->MajorFunction[IRP_MJ_SET_VOLUME_INFORMATION] = VfatBuildRequest;
|
DriverObject->MajorFunction[IRP_MJ_SET_VOLUME_INFORMATION] = VfatBuildRequest;
|
||||||
DriverObject->MajorFunction[IRP_MJ_SHUTDOWN] = VfatShutdown;
|
DriverObject->MajorFunction[IRP_MJ_SHUTDOWN] = VfatShutdown;
|
||||||
DriverObject->MajorFunction[IRP_MJ_LOCK_CONTROL] = VfatBuildRequest;
|
DriverObject->MajorFunction[IRP_MJ_LOCK_CONTROL] = VfatBuildRequest;
|
||||||
|
DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = VfatBuildRequest;
|
||||||
DriverObject->MajorFunction[IRP_MJ_CLEANUP] = VfatBuildRequest;
|
DriverObject->MajorFunction[IRP_MJ_CLEANUP] = VfatBuildRequest;
|
||||||
DriverObject->MajorFunction[IRP_MJ_FLUSH_BUFFERS] = VfatBuildRequest;
|
DriverObject->MajorFunction[IRP_MJ_FLUSH_BUFFERS] = VfatBuildRequest;
|
||||||
DriverObject->MajorFunction[IRP_MJ_PNP] = VfatBuildRequest;
|
DriverObject->MajorFunction[IRP_MJ_PNP] = VfatBuildRequest;
|
||||||
|
|
|
@ -93,6 +93,16 @@ Fail:
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static
|
||||||
|
NTSTATUS
|
||||||
|
VfatDeviceControl(
|
||||||
|
IN PVFAT_IRP_CONTEXT IrpContext)
|
||||||
|
{
|
||||||
|
IoSkipCurrentIrpStackLocation(IrpContext->Irp);
|
||||||
|
|
||||||
|
return IoCallDriver(IrpContext->DeviceExt->StorageDevice, IrpContext->Irp);
|
||||||
|
}
|
||||||
|
|
||||||
static
|
static
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
VfatDispatchRequest(
|
VfatDispatchRequest(
|
||||||
|
@ -127,6 +137,8 @@ VfatDispatchRequest(
|
||||||
return VfatSetVolumeInformation(IrpContext);
|
return VfatSetVolumeInformation(IrpContext);
|
||||||
case IRP_MJ_LOCK_CONTROL:
|
case IRP_MJ_LOCK_CONTROL:
|
||||||
return VfatLockControl(IrpContext);
|
return VfatLockControl(IrpContext);
|
||||||
|
case IRP_MJ_DEVICE_CONTROL:
|
||||||
|
return VfatDeviceControl(IrpContext);
|
||||||
case IRP_MJ_CLEANUP:
|
case IRP_MJ_CLEANUP:
|
||||||
return VfatCleanup(IrpContext);
|
return VfatCleanup(IrpContext);
|
||||||
case IRP_MJ_FLUSH_BUFFERS:
|
case IRP_MJ_FLUSH_BUFFERS:
|
||||||
|
|
Loading…
Reference in a new issue