Поделиться через


SRB_NOTIFY_IDLE_STATE

Драйвер класса отправляет этот запрос в мини-driver непосредственно перед отправкой первого открытого запроса или последнего запроса на закрытие. Мини-driver может использовать SRB_NOTIFY_IDLE_STATE в качестве уведомления для выхода из выборочной приостановки USB.

Возвращаемое значение

Этот запрос является только пакетом уведомлений; любое возвращаемое значение, предоставленное мини-накопителем, игнорируется.

Комментарии

SRB_NOTIFY_IDLE_STATE отправляется в Microsoft Windows XP с пакетом обновления 2 (SP2) и более поздних версий, но не в Microsoft Windows Server 2003.

SRB_NOTIFY_IDLE_STATE устраняет проблему выборочной приостановки USB, которая существует в драйвере класса потока (Stream.sys) в Windows XP с пакетом обновления 1 (SP1). Вы можете использовать SRB_NOTIFY_IDLE_STATE для поддержки выборочной приостановки в мини-накопителях с одним экземпляром на основе класса потока и USBCAMD2.

В Windows XP и более ранних версиях SRB_NOTIFY_IDLE_STATE не существует. В Windows XP и более ранних версиях мини-диск получает SRB_GET_DEVICE_PROPERTY для выхода из состояния простоя. Затем мини-накопитель вызывает PoRequestPowerIrp , чтобы изменить состояние устройства на D0.

В Windows XP с пакетом обновления 1 (SP1) и Windows Server 2003 SRB_GET_DEVICE_PROPERTY не отправляются в этой ситуации. Если вы используете Stream.sys с этими операционными системами, следуйте инструкциям в статье базы знаний, упомянутой ранее.

При открытии первого экземпляра устройства драйвер класса отправляет SRB_NOTIFY_IDLE_STATE непосредственно перед отправкой SRB_OPEN_DEVICE_INSTANCE.

При закрытии последнего экземпляра устройства драйвер класса отправляет SRB_NOTIFY_IDLE_STATE непосредственно перед отправкой запроса на переход устройства в состояние D3.

Когда драйвер класса потока отправляет запрос SRB_NOTIFY_IDLE_STATE, мини-драйвер получает вызов StrMiniReceiveDevicePacket.

См. также раздел

SRB_GET_DEVICE_PROPERTY

SRB_OPEN_DEVICE_INSTANCE

StrMiniReceiveDevicePacket