It's up to class drivers to handle MountMgr requests. So, make it handle them, even though that's just to fail because it's not implemented.
This will stop IOCTLs to be sent down in the storage stack.

svn path=/trunk/; revision=76032
This commit is contained in:
Pierre Schweitzer 2017-10-03 06:40:08 +00:00
parent 350ede0c7f
commit b94e2d8ca0

View file

@ -8,6 +8,7 @@
#include <ntddk.h>
#include <ntdddisk.h>
#include <mountdev.h>
#include <scsi.h>
#include <include/class2.h>
#include <stdio.h>
@ -4040,6 +4041,17 @@ Return Value:
goto SetStatusAndReturn;
}
if (irpStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_MOUNTDEV_QUERY_DEVICE_NAME ||
irpStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_MOUNTDEV_QUERY_UNIQUE_ID ||
irpStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME) {
UNIMPLEMENTED;
Irp->IoStatus.Information = 0;
Irp->IoStatus.Status = STATUS_NOT_IMPLEMENTED;
IoCompleteRequest(Irp, IO_NO_INCREMENT);
status = STATUS_NOT_IMPLEMENTED;
goto SetStatusAndReturn;
}
srb = ExAllocatePool(NonPagedPool, SCSI_REQUEST_BLOCK_SIZE);
if (srb == NULL) {