IRP_MN_STOP_DEVICE

Todos los controladores PnP deben controlar este IRP.

Value

0x04

Código principal

IRP_MJ_PNP

Cuándo se envió

El administrador de PnP envía este IRP para detener un dispositivo para que pueda volver a configurar los recursos de hardware del dispositivo.

En los sistemas Windows 2000 y versiones posteriores, el administrador de PnP envía este IRP solo si un IRP_MN_QUERY_STOP_DEVICE anterior se completó correctamente.

En Windows 98/Me, el administrador de PnP también envía este IRP cuando se deshabilita un dispositivo y cuando una pila de dispositivos ha producido un error en una solicitud de IRP_MN_START_DEVICE . En los casos de inicio erróneo, el administrador de PnP envía este IRP sin una solicitud de IRP_MN_QUERY_STOP_DEVICE anterior.

El administrador de PnP envía este IRP a 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.

Operación

Este IRP se controla primero por el controlador en la parte superior de la pila del dispositivo y, a continuación, se pasa a cada controlador inferior de la pila.

En respuesta a este IRP, los controladores de Windows 2000 y versiones posteriores detienen el dispositivo y liberan los recursos de hardware que usa el dispositivo, como puertos de E/S e interrupciones.

En Windows 2000 y versiones posteriores, un IRP de detención se usa únicamente para liberar los recursos de hardware de un dispositivo para que se puedan volver a configurar. Una vez que se vuelven a configurar los recursos, se reinicia el dispositivo. Un IRP de detención no es un precursor de un IRP de eliminación. Consulte Plug and Play para obtener más información sobre el orden en el que se envían IRP PnP a los dispositivos.

En Windows 98/Me, también se usa un IRP de detención después de un inicio erróneo y cuando se deshabilita un dispositivo. Los controladores WDM que se ejecutan en estos sistemas operativos deben detener el dispositivo, producir un error en cualquier E/S entrante y deshabilitar y anular el registro de las interfaces en modo de usuario.

Un controlador no debe producir un error en este IRP. Si un controlador no puede liberar los recursos de hardware del dispositivo, debe producir un error en el IRP de detención de consulta anterior.

Consulte Detener un dispositivo para obtener información detallada sobre cómo controlar irP de detención.

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

IRP_MN_QUERY_STOP_DEVICE

IRP_MN_START_DEVICE

IoSetDeviceInterfaceState

IoRegisterDeviceInterface