From 61b7fb99eb2140b587efd8d3eb463b97116e7a34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Sat, 25 May 2024 23:22:00 +0200 Subject: [PATCH] [PARTMGR] Filter some currently-unimplemented MountMgr MOUNTDEV notifications. CORE-17200 Helps reducing debug log noise like: ``` (drivers\storage\port\scsiport\ioctl.c:542) unknown ioctl code: 0x4D0018 ``` The other notifications are already implemented there. These are handled by the volume manager, which is currently stubbed into ReactOS' partition manager. See commit ed27d733f7 for what the deprecated versions of IOCTL_MOUNTDEV_LINK_[CREATED|DELETED] are all about. --- drivers/storage/partmgr/partition.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/storage/partmgr/partition.c b/drivers/storage/partmgr/partition.c index 9dfe1a1d460..c7763027951 100644 --- a/drivers/storage/partmgr/partition.c +++ b/drivers/storage/partmgr/partition.c @@ -980,6 +980,23 @@ PartitionHandleDeviceControl( Irp->IoStatus.Information = headerSize + uniqueId->UniqueIdLength; break; } + case IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME: + case IOCTL_MOUNTDEV_LINK_CREATED: + case IOCTL_MOUNTDEV_LINK_DELETED: +#if (NTDDI_VERSION >= NTDDI_WS03) + /* Deprecated Windows 2000/XP versions of IOCTL_MOUNTDEV_LINK_[CREATED|DELETED] + * without access protection, that were updated in Windows 2003 */ + case CTL_CODE(MOUNTDEVCONTROLTYPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS): + case CTL_CODE(MOUNTDEVCONTROLTYPE, 5, METHOD_BUFFERED, FILE_ANY_ACCESS): +#endif + case IOCTL_MOUNTDEV_QUERY_STABLE_GUID: + case IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY: + { + WARN("Ignored MountMgr notification: 0x%lX\n", + ioStack->Parameters.DeviceIoControl.IoControlCode); + status = STATUS_NOT_IMPLEMENTED; + break; + } default: return ForwardIrpAndForget(DeviceObject, Irp); }