mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 15:43:00 +00:00
[CDFS]
Queue IRP_MJ_DIRECTORY_CONTROL IRPs. svn path=/trunk/; revision=67991
This commit is contained in:
parent
ef692c9c85
commit
378407a5c8
4 changed files with 17 additions and 20 deletions
|
@ -85,8 +85,7 @@ DriverEntry(PDRIVER_OBJECT DriverObject,
|
||||||
DriverObject->MajorFunction[IRP_MJ_READ] = CdfsRead;
|
DriverObject->MajorFunction[IRP_MJ_READ] = CdfsRead;
|
||||||
DriverObject->MajorFunction[IRP_MJ_WRITE] = CdfsWrite;
|
DriverObject->MajorFunction[IRP_MJ_WRITE] = CdfsWrite;
|
||||||
DriverObject->MajorFunction[IRP_MJ_FILE_SYSTEM_CONTROL] = CdfsFsdDispatch;
|
DriverObject->MajorFunction[IRP_MJ_FILE_SYSTEM_CONTROL] = CdfsFsdDispatch;
|
||||||
DriverObject->MajorFunction[IRP_MJ_DIRECTORY_CONTROL] =
|
DriverObject->MajorFunction[IRP_MJ_DIRECTORY_CONTROL] = CdfsFsdDispatch;
|
||||||
CdfsDirectoryControl;
|
|
||||||
DriverObject->MajorFunction[IRP_MJ_QUERY_INFORMATION] = CdfsFsdDispatch;
|
DriverObject->MajorFunction[IRP_MJ_QUERY_INFORMATION] = CdfsFsdDispatch;
|
||||||
DriverObject->MajorFunction[IRP_MJ_SET_INFORMATION] = CdfsFsdDispatch;
|
DriverObject->MajorFunction[IRP_MJ_SET_INFORMATION] = CdfsFsdDispatch;
|
||||||
DriverObject->MajorFunction[IRP_MJ_QUERY_VOLUME_INFORMATION] = CdfsFsdDispatch;
|
DriverObject->MajorFunction[IRP_MJ_QUERY_VOLUME_INFORMATION] = CdfsFsdDispatch;
|
||||||
|
|
|
@ -338,12 +338,10 @@ CdfsDeviceControl(
|
||||||
|
|
||||||
/* dirctl.c */
|
/* dirctl.c */
|
||||||
|
|
||||||
DRIVER_DISPATCH CdfsDirectoryControl;
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
CdfsDirectoryControl(PDEVICE_OBJECT DeviceObject,
|
CdfsDirectoryControl(
|
||||||
PIRP Irp);
|
PCDFS_IRP_CONTEXT IrpContext);
|
||||||
|
|
||||||
/* dispatch.c */
|
/* dispatch.c */
|
||||||
|
|
||||||
|
@ -452,13 +450,9 @@ CdfsSetInformation(
|
||||||
|
|
||||||
/* fsctl.c */
|
/* fsctl.c */
|
||||||
|
|
||||||
//DRIVER_DISPATCH CdfsFileSystemControl;
|
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
NTSTATUS NTAPI
|
||||||
CdfsFileSystemControl(
|
CdfsFileSystemControl(
|
||||||
PCDFS_IRP_CONTEXT IrpContext);
|
PCDFS_IRP_CONTEXT IrpContext);
|
||||||
// PDEVICE_OBJECT DeviceObject,
|
|
||||||
// PIRP Irp);
|
|
||||||
|
|
||||||
|
|
||||||
/* misc.c */
|
/* misc.c */
|
||||||
|
|
|
@ -784,18 +784,23 @@ CdfsNotifyChangeDirectory(PDEVICE_OBJECT DeviceObject,
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
NTSTATUS NTAPI
|
||||||
CdfsDirectoryControl(PDEVICE_OBJECT DeviceObject,
|
CdfsDirectoryControl(
|
||||||
PIRP Irp)
|
PCDFS_IRP_CONTEXT IrpContext)
|
||||||
{
|
{
|
||||||
PIO_STACK_LOCATION Stack;
|
PIRP Irp;
|
||||||
|
PDEVICE_OBJECT DeviceObject;
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
|
|
||||||
DPRINT("CdfsDirectoryControl() called\n");
|
DPRINT("CdfsDirectoryControl() called\n");
|
||||||
|
|
||||||
|
ASSERT(IrpContext);
|
||||||
|
|
||||||
|
Irp = IrpContext->Irp;
|
||||||
|
DeviceObject = IrpContext->DeviceObject;
|
||||||
|
|
||||||
FsRtlEnterFileSystem();
|
FsRtlEnterFileSystem();
|
||||||
|
|
||||||
Stack = IoGetCurrentIrpStackLocation(Irp);
|
switch (IrpContext->MinorFunction)
|
||||||
|
|
||||||
switch (Stack->MinorFunction)
|
|
||||||
{
|
{
|
||||||
case IRP_MN_QUERY_DIRECTORY:
|
case IRP_MN_QUERY_DIRECTORY:
|
||||||
Status = CdfsQueryDirectory(DeviceObject,
|
Status = CdfsQueryDirectory(DeviceObject,
|
||||||
|
@ -808,7 +813,7 @@ CdfsDirectoryControl(PDEVICE_OBJECT DeviceObject,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
DPRINT1("CDFS: MinorFunction %u\n", Stack->MinorFunction);
|
DPRINT1("CDFS: MinorFunction %u\n", IrpContext->MinorFunction);
|
||||||
Status = STATUS_INVALID_DEVICE_REQUEST;
|
Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -817,7 +822,6 @@ CdfsDirectoryControl(PDEVICE_OBJECT DeviceObject,
|
||||||
{
|
{
|
||||||
Irp->IoStatus.Status = Status;
|
Irp->IoStatus.Status = Status;
|
||||||
Irp->IoStatus.Information = 0;
|
Irp->IoStatus.Information = 0;
|
||||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
|
||||||
}
|
}
|
||||||
FsRtlExitFileSystem();
|
FsRtlExitFileSystem();
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
* FILE: drivers/filesystem/cdfs/dispatch.c
|
* FILE: drivers/filesystems/cdfs/dispatch.c
|
||||||
* PURPOSE: CDROM (ISO 9660) filesystem driver
|
* PURPOSE: CDROM (ISO 9660) filesystem driver
|
||||||
* PROGRAMMER: Pierre Schweitzer
|
* PROGRAMMER: Pierre Schweitzer
|
||||||
*/
|
*/
|
||||||
|
@ -85,7 +85,7 @@ CdfsDispatch(PCDFS_IRP_CONTEXT IrpContext)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case IRP_MJ_DIRECTORY_CONTROL:
|
case IRP_MJ_DIRECTORY_CONTROL:
|
||||||
// Status = CdfsDirectoryControl(IrpContext);
|
Status = CdfsDirectoryControl(IrpContext);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case IRP_MJ_READ:
|
case IRP_MJ_READ:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue