Zebediah Figura : ntoskrnl: Factor out remove_device().

Alexandre Julliard julliard at winehq.org
Mon Aug 23 16:24:13 CDT 2021


Module: wine
Branch: master
Commit: 4970266a70e7e2e3a6c18d1e0409e5c08658e569
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=4970266a70e7e2e3a6c18d1e0409e5c08658e569

Author: Zebediah Figura <zfigura at codeweavers.com>
Date:   Fri Aug 20 19:01:25 2021 -0500

ntoskrnl: Factor out remove_device().

Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ntoskrnl.exe/pnp.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/dlls/ntoskrnl.exe/pnp.c b/dlls/ntoskrnl.exe/pnp.c
index d8eb62bc17a..6d53d79267e 100644
--- a/dlls/ntoskrnl.exe/pnp.c
+++ b/dlls/ntoskrnl.exe/pnp.c
@@ -366,6 +366,12 @@ static void send_remove_device_irp( DEVICE_OBJECT *device, UCHAR code )
     send_pnp_irp( device, code );
 }
 
+static void remove_device( DEVICE_OBJECT *device )
+{
+    send_remove_device_irp( device, IRP_MN_SURPRISE_REMOVAL );
+    send_remove_device_irp( device, IRP_MN_REMOVE_DEVICE );
+}
+
 static BOOL device_in_list( const DEVICE_RELATIONS *list, const DEVICE_OBJECT *device )
 {
     ULONG i;
@@ -440,8 +446,7 @@ static void handle_bus_relations( DEVICE_OBJECT *parent )
             if (!device_in_list( relations, child ))
             {
                 TRACE("Removing device %p.\n", child);
-                send_remove_device_irp( child, IRP_MN_SURPRISE_REMOVAL );
-                send_remove_device_irp( child, IRP_MN_REMOVE_DEVICE );
+                remove_device( child );
             }
             ObDereferenceObject( child );
         }
@@ -1105,10 +1110,7 @@ void pnp_manager_stop_driver( struct wine_driver *driver )
     struct root_pnp_device *device, *next;
 
     LIST_FOR_EACH_ENTRY_SAFE( device, next, &driver->root_pnp_devices, struct root_pnp_device, entry )
-    {
-        send_remove_device_irp( device->device, IRP_MN_SURPRISE_REMOVAL );
-        send_remove_device_irp( device->device, IRP_MN_REMOVE_DEVICE );
-    }
+        remove_device( device->device );
 }
 
 void pnp_manager_stop(void)
@@ -1181,9 +1183,7 @@ void CDECL wine_enumerate_root_devices( const WCHAR *driver_name )
     LIST_FOR_EACH_ENTRY_SAFE( pnp_device, next, &driver->root_pnp_devices, struct root_pnp_device, entry )
     {
         TRACE("Removing device %s.\n", debugstr_w(pnp_device->id));
-
-        send_remove_device_irp( pnp_device->device, IRP_MN_SURPRISE_REMOVAL );
-        send_remove_device_irp( pnp_device->device, IRP_MN_REMOVE_DEVICE );
+        remove_device( pnp_device->device );
     }
 
     list_move_head( &driver->root_pnp_devices, &new_list );




More information about the wine-cvs mailing list