次の方法で共有


フィルター ドライバーからの PoStartNextPowerIrp の呼び出し

Windows Vista 以降では、PoStartNextPowerIrp を呼び出す必要はなく、このルーチンを呼び出しても電源管理操作は実行されません。 ただし、Windows Server 2003、Windows XP、および Windows 2000 では、バス ドライバーは、ドライバーが受け取る IRP_MN_QUERY_POWER または IRP_MN_SET_POWER 要求ごとに PoStartNextPowerIrp を 1 回呼び出す必要があります。 次の表に示すように、呼び出しが発生するタイミングは、要求の種類と、ドライバーが失敗するか成功するかによって異なります。

要求の種類 ドライバーが要求に成功すると、呼び出しが発生します。 ドライバーが要求に成功すると、呼び出しが発生します。

IRP_MN_QUERY_POWER (デバイスの電源状態)

IoCompletion ルーチンで、戻る直前。

DispatchPower ルーチンで、IoCompleteRequest を呼び出す前。

IRP_MN_QUERY_POWER (デバイスの電源状態)

DispatchPower ルーチンで、ロックの削除を取得した後、IRP スタックの場所を設定する前。

DispatchPower ルーチンで、IoCompleteRequest を呼び出す前。

IRP_MN_SET_POWER (デバイスの電源状態)

IoCompletion ルーチンで、戻る直前。

許可されていません。

システム電源状態の IRP_MN_SET_POWER

DispatchPower ルーチンで、ロックの削除を取得した後、IRP スタックの場所を設定する前。

許可されていません。