Wake On LAN 用の省電力
Wake on LAN (WOL) 機能は、ネットワーク アダプターが WOL イベントを検出すると、コンピューターを低電力状態からウェイクさせます。
ミニポート ドライバーは、初期化中にネットワーク アダプターの WOL 機能を報告します。 WOL 機能の報告の詳細については、「電源管理機能の報告」を参照してください。
リンク状態が外部に循環したとき (つまりスイッチがオフおよびオンになるとき) にコンピュータのウェイクを防ぐために、コンピュータがスリープ状態になると、メディア切断時低電力 (切断時 D3) がキャンセルされることに注意してください。 切断時 D3 の詳細については、「メディア切断時低電力」を参照してください。
次の図は、ネットワーク アダプターを低電力状態に設定するために発生するイベントのシーケンスを示しています。
NDIS がネットワーク アダプターを低電力状態にすると、次のシーケンスが発生します。
NDIS は、OID_PM_PARAMETERS を使用し、Wake on LAN の有効化と、メディア接続時ウェイクの無効化を行います。 NDIS_PM_WAKE_ON_LINK_CHANGE_ENABLED は WakeUpFlags メンバーでクリアされます。
NDIS は OID_PNP_SET_POWER を使い、新しい電力状態 (D3) のミニポート ドライバーに通知します。
ミニポート ドライバーは、NDIS_STATUS_LINK_STATE の状態表示を使用して不明なメディア接続状態を示す場合があります。 MediaConnectStateUnknown 値は、MediaConnectState メンバー (NDIS_LINK_STATE 構造体内) で設定されます。 詳細については、『NDIS_STATUS_LINK_STATE』を参照してください。
NDIS は、PCI Express (PCIe) バスに IRP_MN_WAIT_WAKE IRP を送信して、WOL イベントを待機します。
NDIS は、D3 状態にバスを設定するため、PCIe バスを IRP_MN_SET_POWER IRP に送信します。
次の図は、WOL イベントの後にネットワーク アダプターにフルパワーを回復するために発生するイベントのシーケンスを示しています。
ネットワーク アダプターがコンピューターをウェイクすると、次のシーケンスが発生します。
ネットワーク アダプターは、PCIe バスでの WAKE# のアサートか、PCI バスでの PME# のアサートによりシステムをウェイクします。
バスは保留中の IRP_MN_WAIT_WAKE IRP を完了します。 IRP は、電源を切るシーケンスの最後の手順から完了を保留しています。
NDIS は、IRP_MN_SET_POWER IRP を使用して、バスをフルパワー (D0) に設定します。
NDIS は OID 設定要求 により、ネットワーク アダプターがフルパワー (D0) であることをミニポート ドライバーに通知します。
ネットワーク アダプターは、NDIS_STATUS_LINK_STATE 状態表示でメディア接続イベントを NDIS に通知します。 MediaConnectStateConnected 値は、MediaConnectState メンバー (NDIS_LINK_STATE 構造体内) で設定されます。
NDIS 6.30 以降、ミニポート ドライバーが NDIS_STATUS_PM_WAKE_REASON 状態表示をサポートする場合、ネットワーク アダプターがシステムをウェイクするのであれば、この状態通知を発行する必要があります。 ドライバーは、フルパワー (D0) 状態への切り替えのための OID 設定要求 OID_PNP_SET_POWER を処理しているときに、この状態通知を発行します。
詳細については、「NDIS ウェイク理由状態表示」を参照してください。