Queue IRP_MJ_DIRECTORY_CONTROL IRPs.
svn path=/trunk/; revision=67991
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;
/* dirctl.c */
-DRIVER_DISPATCH CdfsDirectoryControl;
-
NTSTATUS
NTAPI
-CdfsDirectoryControl(PDEVICE_OBJECT DeviceObject,
- PIRP Irp);
+CdfsDirectoryControl(
+ PCDFS_IRP_CONTEXT IrpContext);
/* dispatch.c */
/* fsctl.c */
-//DRIVER_DISPATCH CdfsFileSystemControl;
-
NTSTATUS NTAPI
CdfsFileSystemControl(
PCDFS_IRP_CONTEXT IrpContext);
-// PDEVICE_OBJECT DeviceObject,
-// PIRP Irp);
/* misc.c */
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");
- FsRtlEnterFileSystem();
- Stack = IoGetCurrentIrpStackLocation(Irp);
+ ASSERT(IrpContext);
+
+ Irp = IrpContext->Irp;
+ DeviceObject = IrpContext->DeviceObject;
+
+ FsRtlEnterFileSystem();
- switch (Stack->MinorFunction)
+ switch (IrpContext->MinorFunction)
{
case IRP_MN_QUERY_DIRECTORY:
Status = CdfsQueryDirectory(DeviceObject,
break;
default:
- DPRINT1("CDFS: MinorFunction %u\n", Stack->MinorFunction);
+ DPRINT1("CDFS: MinorFunction %u\n", IrpContext->MinorFunction);
Status = STATUS_INVALID_DEVICE_REQUEST;
break;
}
{
Irp->IoStatus.Status = Status;
Irp->IoStatus.Information = 0;
- IoCompleteRequest(Irp, IO_NO_INCREMENT);
}
FsRtlExitFileSystem();
*
* 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
*/
break;
case IRP_MJ_DIRECTORY_CONTROL:
-// Status = CdfsDirectoryControl(IrpContext);
+ Status = CdfsDirectoryControl(IrpContext);
break;
case IRP_MJ_READ: