SRB_NOTIFY_IDLE_STATE

クラス ドライバーは、最初に開いた要求または最後に閉じた要求を送信する直前に、ミニドライバーにこの要求を送信します。 ミニドライバーは、USB のセレクティブ サスペンドから復帰する通知として SRB_NOTIFY_IDLE_STATE を使用できます。

戻り値

この要求は通知パケットのみです。ミニドライバーが指定した戻り値は無視されます。

解説

SRB_NOTIFY_IDLE_STATE は、Microsoft Windows XP with Service Pack 2 (SP2) 以降で送信されますが、Microsoft Windows Server 2003 では送信されません。

SRB_NOTIFY_IDLE_STATE は、Windows XP with SP1 のストリーム クラス ドライバー (Stream.sys) に存在する USB セレクティブ サスペンドの問題を修正します。 SRB_NOTIFY_IDLE_STATE を使用すると、ストリーム クラスUSBCAMD2 に基づいて、1 つのインスタンス ミニドライバー内でセレクティブ サスペンドをサポートできます。

Windows XP 以前では、SRB_NOTIFY_IDLE_STATE は存在しません。 Windows XP 以前の場合、ミニドライバーは SRB_GET_DEVICE_PROPERTY を受け取り、アイドル状態から復帰します。 その後、ミニドライバーは PoRequestPowerIrp を呼び出して、デバイスの状態を D0 に変更します。

Windows XP with SP1 および Windows Server 2003 では、この状況で SRB_GET_DEVICE_PROPERTY は送信されません。 これらのオペレーティング システムで Stream.sys を使用している場合は、前述のナレッジ ベース記事の指示に従ってください。

デバイスの最初のインスタンスを開くと、クラス ドライバーは、SRB_OPEN_DEVICE_INSTANCE を送信する直前に SRB_NOTIFY_IDLE_STATE を送信します。

デバイスの最後のインスタンスを閉じると、クラス ドライバーは、デバイスを状態 D3 に遷移させる要求を送信する直前に SRB_NOTIFY_IDLE_STATE を送信します。

ストリーム クラス ドライバーが SRB_NOTIFY_IDLE_STATE 要求を送信すると、ミニドライバーは StrMiniReceiveDevicePacket の呼び出しを受け取ります。

関連項目

SRB_GET_DEVICE_PROPERTY

SRB_OPEN_DEVICE_INSTANCE

StrMiniReceiveDevicePacket