ntoskrnl.exe: Implement removing plug and play devices.
Signed-off-by: Aric Stewart <aric@codeweavers.com> Signed-off-by: Sebastian Lackner <sebastian@fds-team.de> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
96930bdc04
commit
b8ac3d7684
|
@ -3064,6 +3064,16 @@ static void handle_bus_relations( DEVICE_OBJECT *device )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void handle_removal_relations( DEVICE_OBJECT *device )
|
||||||
|
{
|
||||||
|
TRACE_(plugplay)( "(%p)\n", device );
|
||||||
|
|
||||||
|
send_power_irp( device, PowerDeviceD3 );
|
||||||
|
send_pnp_irp( device, IRP_MN_SURPRISE_REMOVAL );
|
||||||
|
send_pnp_irp( device, IRP_MN_REMOVE_DEVICE );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* IoInvalidateDeviceRelations (NTOSKRNL.EXE.@)
|
* IoInvalidateDeviceRelations (NTOSKRNL.EXE.@)
|
||||||
*/
|
*/
|
||||||
|
@ -3076,6 +3086,9 @@ void WINAPI IoInvalidateDeviceRelations( DEVICE_OBJECT *device_object, DEVICE_RE
|
||||||
case BusRelations:
|
case BusRelations:
|
||||||
handle_bus_relations( device_object );
|
handle_bus_relations( device_object );
|
||||||
break;
|
break;
|
||||||
|
case RemovalRelations:
|
||||||
|
handle_removal_relations( device_object );
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
FIXME( "unhandled relation %i\n", type );
|
FIXME( "unhandled relation %i\n", type );
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue