次の方法で共有


NDIS ウェイク理由状態表示の概要

NDIS 6.30 以降では、ミニポート ドライバーは NDIS スリープ解除理由の状態表示 (NDIS_STATUS_PM_WAKE_REASON) を発行して、システム ウェイクアップ イベントの理由について NDIS と上にあるドライバーに通知します。 ネットワーク アダプターがウェイクアップ イベントを生成する場合、ミニポート ドライバーは、ネットワーク アダプターが完全な電源状態に再開したときに、NDIS_STATUS_PM_WAKE_REASON の NDIS 状態表示を直ちに発行します。

注: NDIS ウェイク理由の状態表示のサポートは、モバイル ブロードバンド (MB) ミニポート ドライバーではオプションとなります。

ミニポート ドライバーは、オブジェクト識別子 (OID) 設定要求 OID_PM_PARAMETERS を通じてパワーマネージメント (PM) パラメーターで構成されます。 この OID 要求は、NDIS_PM_PARAMETERS 構造を介して PM パラメーターを指定します。

NDIS_PM_PARAMETERS 構造体は、次の種類のウェイクアップ イベントのパラメーターを指定します。

受信したパケット ウェイクアップ イベント
ネットワーク アダプターは、Wake-on-LAN (WOL) パターンに一致するパケットを受信すると、ウェイクアップ イベントを生成します。 WOL パターンは次のとおりです。

  • パケット ペイロード内のマジック パケットや TCP/IP データ パターンなど、メディアに依存しない WOL パターン。 たとえば、 NDIS_PM_PARAMETERS 構造体では、TCP SYN フレームの WOL パターンを指定できます。

  • EAPOL 要求識別子パケットやモバイル ブロードバンド (MB) ショート メッセージ サービス (SMS) メッセージなどのメディア固有の WOL パターン。

  • OID 設定要求 OID_GEN_CURRENT_PACKET_FILTER によって指定された受信フィルターに一致するワイルドカード パターン。

注: この種類のウェイクアップ理由状態表示には、受信したパケットをネットワーク アダプターが保存できる必要があります。 ドライバーは、ステータス表示内で受信したパケットを返す必要があります。

WOL パターンは、EnabledWoLPacketPatternsメンバー (NDIS_PM_PARAMETERS 構造体) によって指定されます。

メディア固有のウェイクアップ イベント
ネットワーク アダプターは、802.11 アクセス ポイント (AP) からの関連付け解除やモバイル ブロードバンド (MB) ショート メッセージ サービス (SMS) メッセージの受信など、メディア固有の理由によりウェイクアップ イベントを生成します。

この種類のウェイクアップ イベントは、MediaSpecificWakeUpEvents メンバー (NDIS_PM_PARAMETERS 構造体内) を通じて指定されます。

メディアに依存しないウェイクアップ イベント
ネットワーク アダプターは、メディア接続や切断などのメディアに依存しない理由により、ウェイクアップ イベントを生成します。

この種類のウェイクアップ イベントは、WakeUpFlags メンバー (NDIS_PM_PARAMETERS 構造体内) を通じて指定されます。

ミニポート ドライバーは、NDIS ウェイク理由の状態を示すこれらのガイドラインに従う必要があります。

  • ミニポート ドライバーは、ウェイク パケットの表示を発行する機能をサポートしている場合は、NDIS がドライバーのMiniportInitializeEx 関数を呼び出すときに、この機能を報告する必要があります。 詳細については、「ウェイク理由ステータス表示機能の報告」を参照してください

    注: ミニポート ドライバーは、WOL パケットの受信に関連しないイベントの NDIS ウェイク理由の状態表示を発行する機能を報告する必要はありません。

  • ミニポート ドライバーは、WOL パケットのウェイク パケットの表示を発行するときに、ウェイク アップ イベントの原因となったパケットを含める必要があります。 詳細については、「NDIS ウェイク理由状態表示の発行」を参照してください。

  • ネットワーク アダプターがウェイクアップ信号を生成した場合、ミニポート ドライバーは、NDIS_STATUS_PM_WAKE_REASON状態表示を発行する必要があります。 ドライバーは、フルパワー状態への切り替えに対する OID 設定要求 OID_PNP_SET_POWER を処理しているときにこれを行います。

  • ミニポート ドライバーは、ウェイクアップ イベントに関連する状態表示を発行する前に NDIS_STATUS_PM_WAKE_REASON 状態表示を発行する必要があります。 たとえば、ウェイクアップ イベントがメディア接続状態の変更が原因であった場合、ミニポート ドライバーは NDIS_STATUS_LINK_STATE 状態表示については、NDIS_STATUS_PM_WAKE_REASON 状態表示を発行した後に発行する必要があります。

  • ミニポート ドライバーは、NDIS_STATUS_PM_WAKE_REASON 状態表示について、OID_PM_PARAMETERSの OID 設定要求によって以前に有効にされた電源管理イベントに対してのみ発行する必要があります。

  • ミニポート ドライバーは、基になるネットワーク アダプターによって生成されたウェイクアップ イベントに対してのみ NDIS_STATUS_PM_WAKE_REASON 状態表示を発行する必要があります。