IRP_MN_CANCEL_REMOVE_DEVICE
Todos los controladores PnP deben controlar este IRP.
Value
0x03
Código principal
Cuándo se envió
El administrador de PnP envía este IRP para informar a los controladores de un dispositivo que no se quitará el dispositivo.
El administrador de PnP envía este IRP en IRQL PASSIVE_LEVEL en el contexto de un subproceso del sistema.
Parámetros de entrada
Ninguno
Parámetros de salida
Ninguno
Bloque de estado de entrada/salida
Un controlador debe establecer Irp-IoStatus.Status> en STATUS_SUCCESS para este IRP. Si un controlador produce un error en este IRP, el dispositivo se deja en un estado incoherente.
Operación
Este IRP debe ser controlado primero por el controlador de bus primario para un dispositivo y, a continuación, por cada controlador superior de la pila de dispositivos.
En respuesta a este IRP, los controladores devuelven el dispositivo al estado en que estaba antes de recibir la solicitud de IRP_MN_QUERY_REMOVE_DEVICE .
Si el dispositivo ya se ha iniciado cuando el controlador recibe este IRP, el controlador simplemente establece el estado como correcto y pasa el IRP al siguiente controlador (o completa el IRP si el controlador es un controlador de autobús). Para este tipo de IRP de eliminación de cancelación, una función o un controlador de filtro no necesitan establecer una rutina de finalización. Es posible que el dispositivo no esté en estado remove-pending, porque, por ejemplo, el controlador produjo un error en el IRP_MN_QUERY_REMOVE_DEVICE anterior.
El administrador de PnP llama a las devoluciones de llamada de notificación EventCategoryTargetDeviceChange con GUID_TARGET_DEVICE_REMOVE_CANCELLED una vez completada la solicitud de IRP_MN_CANCEL_REMOVE_DEVICE . Estas devoluciones de llamada se registraron en el dispositivo mediante una llamada a IoRegisterPlugPlayNotification. El administrador de PnP también llama a los componentes en modo de usuario que se registraron para la notificación en el dispositivo mediante una llamada a RegisterDeviceNotification.
Si un sistema de archivos está montado en el dispositivo, debe deshacer las operaciones que realizó en respuesta a la notificación de eliminación de consultas.
Consulte Plug and Play para obtener información detallada sobre cómo controlar los IRP de eliminación y las reglas generales para controlar todos los IRP menores de Plug and Play.
Envío de este IRP
Reservado para uso del sistema. Los controladores no deben enviar este IRP.
Requisitos
Encabezado |
Wdm.h (incluya Wdm.h, Ntddk.h o Ntifs.h) |