mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 09:25:10 +00:00
A free Windows-compatible Operating System - mirrored from GitHub
![]() - Massive rework of device removal - IRP_MN_QUERY_REMOVE_DEVICE is sent to all devices that will be removed in response to a removal/ejection - If any of the IRP_MN_QUERY_REMOVE_DEVICE requests fail, all devices which received a IRP_MN_QUERY_REMOVE_DEVICE will receive IRP_MN_CANCEL_REMOVE_DEVICE - If everything approves the remove request, IRP_MN_REMOVE_DEVICE will be sent to children, ejection and/or removal relations, and finally the device itself - Handle removal relations for all devices not just 1st level devices - Remove child devices before removing the parent - Move GUID_DEVICE_REMOVE_PENDING and GUID_DEVICE_REMOVAL_VETOED notifications to IopQueryRemoveDevice - Implement IopCancelRemoveDevice which sends IRP_MN_CANCEL_REMOVE_DEVICE to the driver stack and sends GUID_TARGET_DEVICE_REMOVE_CANCELLED to any drivers waiting on target device change - Use the IopRemoveDevice function to remove devices instead of calling IopQueryRemoveDevice and IopSendRemoveDevice manually so removal and/or ejection relations and children are processed - IRPs and PnP notifications sent upon device removal (surprise and safe) should now be compatible with XP/Vista/7 svn path=/trunk/; revision=52046 |
||
---|---|---|
reactos | ||
rosapps | ||
rostests | ||
wallpaper |