Author: ekohl
Date: Mon Jun 1 15:04:50 2015
New Revision: 67991
URL:
http://svn.reactos.org/svn/reactos?rev=67991&view=rev
Log:
[CDFS]
Queue IRP_MJ_DIRECTORY_CONTROL IRPs.
Modified:
trunk/reactos/drivers/filesystems/cdfs/cdfs.c
trunk/reactos/drivers/filesystems/cdfs/cdfs.h
trunk/reactos/drivers/filesystems/cdfs/dirctl.c
trunk/reactos/drivers/filesystems/cdfs/dispatch.c
Modified: trunk/reactos/drivers/filesystems/cdfs/cdfs.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/cdfs/c…
==============================================================================
--- trunk/reactos/drivers/filesystems/cdfs/cdfs.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/filesystems/cdfs/cdfs.c [iso-8859-1] Mon Jun 1 15:04:50 2015
@@ -85,8 +85,7 @@
DriverObject->MajorFunction[IRP_MJ_READ] = CdfsRead;
DriverObject->MajorFunction[IRP_MJ_WRITE] = CdfsWrite;
DriverObject->MajorFunction[IRP_MJ_FILE_SYSTEM_CONTROL] = CdfsFsdDispatch;
- DriverObject->MajorFunction[IRP_MJ_DIRECTORY_CONTROL] =
- CdfsDirectoryControl;
+ DriverObject->MajorFunction[IRP_MJ_DIRECTORY_CONTROL] = CdfsFsdDispatch;
DriverObject->MajorFunction[IRP_MJ_QUERY_INFORMATION] = CdfsFsdDispatch;
DriverObject->MajorFunction[IRP_MJ_SET_INFORMATION] = CdfsFsdDispatch;
DriverObject->MajorFunction[IRP_MJ_QUERY_VOLUME_INFORMATION] = CdfsFsdDispatch;
Modified: trunk/reactos/drivers/filesystems/cdfs/cdfs.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/cdfs/c…
==============================================================================
--- trunk/reactos/drivers/filesystems/cdfs/cdfs.h [iso-8859-1] (original)
+++ trunk/reactos/drivers/filesystems/cdfs/cdfs.h [iso-8859-1] Mon Jun 1 15:04:50 2015
@@ -338,12 +338,10 @@
/* dirctl.c */
-DRIVER_DISPATCH CdfsDirectoryControl;
-
-NTSTATUS
-NTAPI
-CdfsDirectoryControl(PDEVICE_OBJECT DeviceObject,
- PIRP Irp);
+NTSTATUS
+NTAPI
+CdfsDirectoryControl(
+ PCDFS_IRP_CONTEXT IrpContext);
/* dispatch.c */
@@ -452,13 +450,9 @@
/* fsctl.c */
-//DRIVER_DISPATCH CdfsFileSystemControl;
-
NTSTATUS NTAPI
CdfsFileSystemControl(
PCDFS_IRP_CONTEXT IrpContext);
-// PDEVICE_OBJECT DeviceObject,
-// PIRP Irp);
/* misc.c */
Modified: trunk/reactos/drivers/filesystems/cdfs/dirctl.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/cdfs/d…
==============================================================================
--- trunk/reactos/drivers/filesystems/cdfs/dirctl.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/filesystems/cdfs/dirctl.c [iso-8859-1] Mon Jun 1 15:04:50 2015
@@ -784,18 +784,23 @@
NTSTATUS NTAPI
-CdfsDirectoryControl(PDEVICE_OBJECT DeviceObject,
- PIRP Irp)
+CdfsDirectoryControl(
+ PCDFS_IRP_CONTEXT IrpContext)
{
- PIO_STACK_LOCATION Stack;
+ PIRP Irp;
+ PDEVICE_OBJECT DeviceObject;
NTSTATUS Status;
DPRINT("CdfsDirectoryControl() called\n");
+
+ ASSERT(IrpContext);
+
+ Irp = IrpContext->Irp;
+ DeviceObject = IrpContext->DeviceObject;
+
FsRtlEnterFileSystem();
- Stack = IoGetCurrentIrpStackLocation(Irp);
-
- switch (Stack->MinorFunction)
+ switch (IrpContext->MinorFunction)
{
case IRP_MN_QUERY_DIRECTORY:
Status = CdfsQueryDirectory(DeviceObject,
@@ -808,7 +813,7 @@
break;
default:
- DPRINT1("CDFS: MinorFunction %u\n", Stack->MinorFunction);
+ DPRINT1("CDFS: MinorFunction %u\n", IrpContext->MinorFunction);
Status = STATUS_INVALID_DEVICE_REQUEST;
break;
}
@@ -817,7 +822,6 @@
{
Irp->IoStatus.Status = Status;
Irp->IoStatus.Information = 0;
- IoCompleteRequest(Irp, IO_NO_INCREMENT);
}
FsRtlExitFileSystem();
Modified: trunk/reactos/drivers/filesystems/cdfs/dispatch.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/cdfs/d…
==============================================================================
--- trunk/reactos/drivers/filesystems/cdfs/dispatch.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/filesystems/cdfs/dispatch.c [iso-8859-1] Mon Jun 1 15:04:50
2015
@@ -18,7 +18,7 @@
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
- * FILE: drivers/filesystem/cdfs/dispatch.c
+ * FILE: drivers/filesystems/cdfs/dispatch.c
* PURPOSE: CDROM (ISO 9660) filesystem driver
* PROGRAMMER: Pierre Schweitzer
*/
@@ -85,7 +85,7 @@
break;
case IRP_MJ_DIRECTORY_CONTROL:
-// Status = CdfsDirectoryControl(IrpContext);
+ Status = CdfsDirectoryControl(IrpContext);
break;
case IRP_MJ_READ: