mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 18:33:10 +00:00
[NTFS]
Handle IRP_MJ_DEVICE_CONTROL with the dispatch routine svn path=/trunk/; revision=67670
This commit is contained in:
parent
07a731ed1c
commit
7f03ff50e9
4 changed files with 13 additions and 9 deletions
|
@ -33,14 +33,16 @@
|
||||||
/* FUNCTIONS ****************************************************************/
|
/* FUNCTIONS ****************************************************************/
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NtfsDeviceControl(PNTFS_IRP_CONTEXT IrpContext)
|
||||||
NtfsFsdDeviceControl(PDEVICE_OBJECT DeviceObject,
|
|
||||||
PIRP Irp)
|
|
||||||
{
|
{
|
||||||
PDEVICE_EXTENSION DeviceExt;
|
PDEVICE_EXTENSION DeviceExt;
|
||||||
|
PIRP Irp = IrpContext->Irp;
|
||||||
|
|
||||||
DeviceExt = DeviceObject->DeviceExtension;
|
DeviceExt = IrpContext->DeviceObject->DeviceExtension;
|
||||||
IoSkipCurrentIrpStackLocation(Irp);
|
IoSkipCurrentIrpStackLocation(Irp);
|
||||||
|
|
||||||
|
/* Lower driver will complete - we don't have to */
|
||||||
|
IrpContext->Flags &= ~IRPCONTEXT_COMPLETE;
|
||||||
|
|
||||||
return IoCallDriver(DeviceExt->StorageDevice, Irp);
|
return IoCallDriver(DeviceExt->StorageDevice, Irp);
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,6 +80,10 @@ NtfsFsdDispatch(PDEVICE_OBJECT DeviceObject,
|
||||||
case IRP_MJ_READ:
|
case IRP_MJ_READ:
|
||||||
Status = NtfsRead(IrpContext);
|
Status = NtfsRead(IrpContext);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case IRP_MJ_DEVICE_CONTROL:
|
||||||
|
Status = NtfsDeviceControl(IrpContext);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -128,7 +128,7 @@ NtfsInitializeFunctionPointers(PDRIVER_OBJECT DriverObject)
|
||||||
DriverObject->MajorFunction[IRP_MJ_SET_VOLUME_INFORMATION] = NtfsFsdDispatch;
|
DriverObject->MajorFunction[IRP_MJ_SET_VOLUME_INFORMATION] = NtfsFsdDispatch;
|
||||||
DriverObject->MajorFunction[IRP_MJ_DIRECTORY_CONTROL] = NtfsFsdDispatch;
|
DriverObject->MajorFunction[IRP_MJ_DIRECTORY_CONTROL] = NtfsFsdDispatch;
|
||||||
DriverObject->MajorFunction[IRP_MJ_FILE_SYSTEM_CONTROL] = NtfsFsdFileSystemControl;
|
DriverObject->MajorFunction[IRP_MJ_FILE_SYSTEM_CONTROL] = NtfsFsdFileSystemControl;
|
||||||
DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = NtfsFsdDeviceControl;
|
DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = NtfsFsdDispatch;
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -536,10 +536,8 @@ NtfsFsdCreate(PDEVICE_OBJECT DeviceObject,
|
||||||
|
|
||||||
/* devctl.c */
|
/* devctl.c */
|
||||||
|
|
||||||
DRIVER_DISPATCH NtfsFsdDeviceControl;
|
NTSTATUS
|
||||||
NTSTATUS NTAPI
|
NtfsDeviceControl(PNTFS_IRP_CONTEXT IrpContext);
|
||||||
NtfsFsdDeviceControl(PDEVICE_OBJECT DeviceObject,
|
|
||||||
PIRP Irp);
|
|
||||||
|
|
||||||
|
|
||||||
/* dirctl.c */
|
/* dirctl.c */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue