Compartir a través de


IRP_MN_CANCEL_REMOVE_DEVICE

Todos los controladores PnP deben controlar este IRP.

Value

0x03

Código principal

IRP_MJ_PNP

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)

Consulte también

IoRegisterPlugPlayNotification

IRP_MN_QUERY_REMOVE_DEVICE