- Inform the PnP manager that we don't support stopping devices by failing the IRP_MN_QUERY_STOP_DEVICE IRP instead of the IRP_MN_STOP_DEVICE IRP (which is not allowed)

svn path=/trunk/; revision=51928
This commit is contained in:
Cameron Gutman 2011-05-26 19:51:12 +00:00
parent 10959bf38e
commit 4363ff3a32

View file

@ -547,10 +547,6 @@ FdoPnpControl(
case IRP_MN_QUERY_REMOVE_DEVICE:
Status = STATUS_NOT_IMPLEMENTED;
break;
case IRP_MN_QUERY_STOP_DEVICE:
Status = STATUS_NOT_IMPLEMENTED;
break;
#endif
case IRP_MN_START_DEVICE:
DPRINT("IRP_MN_START_DEVICE received\n");
@ -561,12 +557,17 @@ FdoPnpControl(
Irp->IoStatus.Status = Status;
IoCompleteRequest(Irp, IO_NO_INCREMENT);
return Status;
case IRP_MN_STOP_DEVICE:
/* Currently not supported */
case IRP_MN_QUERY_STOP_DEVICE:
/* We don't support stopping yet */
Status = STATUS_UNSUCCESSFUL;
Irp->IoStatus.Status = Status;
IoCompleteRequest(Irp, IO_NO_INCREMENT);
return Status;
case IRP_MN_STOP_DEVICE:
/* We can't fail this one so we fail the QUERY_STOP request that precedes it */
break;
#if 0
case IRP_MN_SURPRISE_REMOVAL:
Status = STATUS_NOT_IMPLEMENTED;