Apagar un dispositivo
A menos que un dispositivo esté habilitado para reactivación, sus controladores lo apagan cuando el sistema se apaga. Los dispositivos siempre deben apagarse tras la eliminación o la eliminación sorpresa.
Cuando se quita un dispositivo, el administrador de Plug and Play envía una solicitud de IRP_MN_REMOVE_DEVICE a la pila de dispositivos. En respuesta a este IRP, los controladores del dispositivo deben asegurarse de que el dispositivo se apaga. Apagar el dispositivo es una parte implícita del control de eliminación; No es necesario que el propietario de la directiva de energía del dispositivo envíe un IRP_MN_SET_POWER para PowerDeviceD3.
A medida que los controladores controlan la solicitud de IRP_MN_REMOVE_DEVICE , esperan a que se complete la E/S pendiente, realice cualquier procesamiento de eliminación necesario, llame a PoSetPowerState para notificar al administrador de energía que el dispositivo está en estado D3 y elimine los objetos de dispositivo que crearon para este dispositivo. Normalmente, el controlador de autobús apaga la alimentación en el dispositivo.
Si un dispositivo se quita inesperadamente de un sistema operativo Windows 2000 o posterior, el administrador de Plug and Play envía una solicitud de IRP_MN_SURPRISE_REMOVAL a la parte superior de la pila de dispositivos correspondiente. En respuesta a este IRP, los controladores del dispositivo deben realizar un procesamiento de eliminación sorpresa, como se describe en Control de una solicitud de IRP_MN_SURPRISE_REMOVAL.
Al apagar el sistema, el administrador de energía envía un IRP_MN_SET_POWER para un estado de alimentación del sistema (S4 o S5). Cuando el propietario de la directiva de energía del dispositivo recibe este IRP, debe enviar un IRP_MN_SET_POWER para PowerDeviceD3 para que los controladores inferiores puedan finalizar su trabajo y apagar el dispositivo.
Opcionalmente, un controlador puede realizar la detección de inactividad para su dispositivo o puede solicitar que el administrador de energía realice la detección de inactividad, de modo que el dispositivo pueda apagarse cuando no esté en uso. Para obtener más información, consulte Detección de un dispositivo inactivo.