SRB_NOTIFY_IDLE_STATE
El controlador de clase envía esta solicitud al minidriver inmediatamente antes de enviar la primera solicitud abierta o la última solicitud de cierre. El minidriver puede usar SRB_NOTIFY_IDLE_STATE como una notificación para reactivarse desde la suspensión selectiva usb.
Valor devuelto
Esta solicitud es solo un paquete de notificación; se omite cualquier valor devuelto proporcionado por minidriver.
Comentarios
SRB_NOTIFY_IDLE_STATE se envía en Microsoft Windows XP con Service Pack 2 (SP2) y versiones posteriores, pero no en Microsoft Windows Server 2003.
SRB_NOTIFY_IDLE_STATE corrige el problema de suspensión selectiva usb que existe en el controlador de clase de secuencia (Stream.sys) en Windows XP con SP1. Puede usar SRB_NOTIFY_IDLE_STATE para admitir la suspensión selectiva en minidrivers de instancia única en función de la clase de secuencia y USBCAMD2.
En Windows XP y versiones anteriores, SRB_NOTIFY_IDLE_STATE no existe. Para Windows XP y versiones anteriores, el minidriver recibe SRB_GET_DEVICE_PROPERTY para reactivarse desde un estado inactivo. A continuación, el minidriver llama a PoRequestPowerIrp para cambiar el estado del dispositivo a D0.
En Windows XP con SP1 y Windows Server 2003, no se envía SRB_GET_DEVICE_PROPERTY en esta situación. Si usa Stream.sys con estos sistemas operativos, siga las instrucciones del artículo de Knowledge Base mencionado anteriormente.
Al abrir la primera instancia del dispositivo, el controlador de clase envía SRB_NOTIFY_IDLE_STATE inmediatamente antes de enviar SRB_OPEN_DEVICE_INSTANCE.
Al cerrar la última instancia del dispositivo, el controlador de clase envía SRB_NOTIFY_IDLE_STATE inmediatamente antes de enviar la solicitud para que el dispositivo pase al estado D3.
Cuando el controlador de clase de secuencia envía una solicitud de SRB_NOTIFY_IDLE_STATE, el minidriver recibe una llamada a StrMiniReceiveDevicePacket.