SRB_NOTIFY_IDLE_STATE

类驱动程序在发送第一个打开请求或最后一个关闭请求之前,立即将此请求发送到微型驱动程序。 微型驱动程序可以使用 SRB_NOTIFY_IDLE_STATE 作为从 USB 选择性挂起中唤醒的通知。

返回值

此请求仅为通知数据包;忽略任何微型驱动程序提供的返回值。

注解

SRB_NOTIFY_IDLE_STATE在 Microsoft Windows XP service Pack 2 (SP2) 及更高版本中发送,但在 Microsoft Windows Server 2003 中不会发送。

SRB_NOTIFY_IDLE_STATE修复了 Windows XP SP1 中流类驱动程序 (Stream.sys) 中存在的 USB 选择性挂起问题。 可以使用 SRB_NOTIFY_IDLE_STATE 支持基于 流类USBCAMD2的单个实例微型驱动程序中的选择性挂起。

在 Windows XP 及更早版本中,SRB_NOTIFY_IDLE_STATE不存在。 对于 Windows XP 及更早版本,微型驱动程序接收从空闲状态唤醒 SRB_GET_DEVICE_PROPERTY 。 然后,微型驱动程序调用 PoRequestPowerIrp 将设备状态更改为 D0。

在带有 SP1 和 Windows Server 2003 的 Windows XP 中,在这种情况下不会发送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