From 7402ea80eb09fb141259ff7da470b6e50e028396 Mon Sep 17 00:00:00 2001 From: Hartmut Birr Date: Mon, 3 Oct 2005 18:49:44 +0000 Subject: [PATCH 1/1] Return an error instead of STATUS_SUCCESS for functions which are not implemented or supported (in ScsiPortDeviceControl). svn path=/trunk/; revision=18249 --- reactos/drivers/storage/scsiport/scsiport.c | 24 +++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/reactos/drivers/storage/scsiport/scsiport.c b/reactos/drivers/storage/scsiport/scsiport.c index 145fb6439b1..e37fa9e2b8b 100644 --- a/reactos/drivers/storage/scsiport/scsiport.c +++ b/reactos/drivers/storage/scsiport/scsiport.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #define NDEBUG @@ -1710,10 +1711,10 @@ ScsiPortDeviceControl(IN PDEVICE_OBJECT DeviceObject, { PIO_STACK_LOCATION Stack; PSCSI_PORT_DEVICE_EXTENSION DeviceExtension; + NTSTATUS Status = STATUS_SUCCESS; DPRINT("ScsiPortDeviceControl()\n"); - Irp->IoStatus.Status = STATUS_SUCCESS; Irp->IoStatus.Information = 0; @@ -1755,16 +1756,35 @@ ScsiPortDeviceControl(IN PDEVICE_OBJECT DeviceObject, DPRINT("Inquiry data size: %lu\n", Irp->IoStatus.Information); } break; + + case IOCTL_SCSI_PASS_THROUGH: + DPRINT(" IOCTL_SCSI_PASS_THROUGH\n"); + Status = STATUS_NOT_IMPLEMENTED; + break; + + case IOCTL_SCSI_PASS_THROUGH_DIRECT: + DPRINT(" IOCTL_SCSI_PASS_THROUGH_DIRECT\n"); + Status = STATUS_NOT_IMPLEMENTED; + break; + + case IOCTL_SCSI_MINIPORT: + DPRINT1(" IOCTL_SCSI_MINIPORT\n"); + DPRINT1(" Signature: %.8s\n", ((PSRB_IO_CONTROL)Irp->AssociatedIrp.SystemBuffer)->Signature); + DPRINT1(" ControlCode: 0x%lX\n", ((PSRB_IO_CONTROL)Irp->AssociatedIrp.SystemBuffer)->ControlCode); + Status = STATUS_INVALID_DEVICE_REQUEST; + break; default: DPRINT1(" unknown ioctl code: 0x%lX\n", Stack->Parameters.DeviceIoControl.IoControlCode); + Status = STATUS_INVALID_DEVICE_REQUEST; break; } + Irp->IoStatus.Status = Status; IoCompleteRequest(Irp, IO_NO_INCREMENT); - return(STATUS_SUCCESS); + return Status; } static VOID -- 2.17.1