Author: pschweitzer Date: Mon May 25 12:55:51 2015 New Revision: 67905
URL: http://svn.reactos.org/svn/reactos?rev=67905&view=rev Log: [NTFS] Handle IRP_MJ_FILE_SYSTEM_CONTROL with the dispatch routine
Modified: trunk/reactos/drivers/filesystems/ntfs/dispatch.c trunk/reactos/drivers/filesystems/ntfs/fsctl.c trunk/reactos/drivers/filesystems/ntfs/ntfs.c trunk/reactos/drivers/filesystems/ntfs/ntfs.h
Modified: trunk/reactos/drivers/filesystems/ntfs/dispatch.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/ntfs/di... ============================================================================== --- trunk/reactos/drivers/filesystems/ntfs/dispatch.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/ntfs/dispatch.c [iso-8859-1] Mon May 25 12:55:51 2015 @@ -104,6 +104,10 @@ case IRP_MJ_CREATE: Status = NtfsCreate(IrpContext); break; + + case IRP_MJ_FILE_SYSTEM_CONTROL: + Status = NtfsFileSystemControl(IrpContext); + break; }
ASSERT((!(IrpContext->Flags & IRPCONTEXT_COMPLETE) && !(IrpContext->Flags & IRPCONTEXT_QUEUE)) ||
Modified: trunk/reactos/drivers/filesystems/ntfs/fsctl.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/ntfs/fs... ============================================================================== --- trunk/reactos/drivers/filesystems/ntfs/fsctl.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/ntfs/fsctl.c [iso-8859-1] Mon May 25 12:55:51 2015 @@ -866,20 +866,19 @@
NTSTATUS -NTAPI -NtfsFsdFileSystemControl(PDEVICE_OBJECT DeviceObject, - PIRP Irp) +NtfsFileSystemControl(PNTFS_IRP_CONTEXT IrpContext) { - PIO_STACK_LOCATION Stack; NTSTATUS Status; + PIRP Irp; + PDEVICE_OBJECT DeviceObject;
DPRINT1("NtfsFileSystemControl() called\n");
- Stack = IoGetCurrentIrpStackLocation(Irp); - + DeviceObject = IrpContext->DeviceObject; + Irp = IrpContext->Irp; Irp->IoStatus.Information = 0;
- switch (Stack->MinorFunction) + switch (IrpContext->MinorFunction) { case IRP_MN_KERNEL_CALL: DPRINT1("NTFS: IRP_MN_USER_FS_REQUEST\n"); @@ -901,14 +900,10 @@ break;
default: - DPRINT1("NTFS FSC: MinorFunction %d\n", Stack->MinorFunction); + DPRINT1("NTFS FSC: MinorFunction %d\n", IrpContext->MinorFunction); Status = STATUS_INVALID_DEVICE_REQUEST; break; } - - Irp->IoStatus.Status = Status; - - IoCompleteRequest(Irp, IO_NO_INCREMENT);
return Status; }
Modified: trunk/reactos/drivers/filesystems/ntfs/ntfs.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/ntfs/nt... ============================================================================== --- trunk/reactos/drivers/filesystems/ntfs/ntfs.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/ntfs/ntfs.c [iso-8859-1] Mon May 25 12:55:51 2015 @@ -131,7 +131,7 @@ DriverObject->MajorFunction[IRP_MJ_QUERY_VOLUME_INFORMATION] = NtfsFsdDispatch; DriverObject->MajorFunction[IRP_MJ_SET_VOLUME_INFORMATION] = NtfsFsdDispatch; DriverObject->MajorFunction[IRP_MJ_DIRECTORY_CONTROL] = NtfsFsdDispatch; - DriverObject->MajorFunction[IRP_MJ_FILE_SYSTEM_CONTROL] = NtfsFsdFileSystemControl; + DriverObject->MajorFunction[IRP_MJ_FILE_SYSTEM_CONTROL] = NtfsFsdDispatch; DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = NtfsFsdDispatch;
return;
Modified: trunk/reactos/drivers/filesystems/ntfs/ntfs.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/ntfs/nt... ============================================================================== --- trunk/reactos/drivers/filesystems/ntfs/ntfs.h [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/ntfs/ntfs.h [iso-8859-1] Mon May 25 12:55:51 2015 @@ -644,10 +644,8 @@
/* fsctl.c */
-DRIVER_DISPATCH NtfsFsdFileSystemControl; -NTSTATUS NTAPI -NtfsFsdFileSystemControl(PDEVICE_OBJECT DeviceObject, - PIRP Irp); +NTSTATUS +NtfsFileSystemControl(PNTFS_IRP_CONTEXT IrpContext);
/* mft.c */