NDIS 6.30 以降では、ミニポート ドライバーは NDIS ウェイク 理由の状態表示を発行します (NDIS_STATUS_PM_WAKE_REASON) システム ウェイクアップ イベントの理由について NDIS と上にあるドライバーに通知します。 ネットワーク アダプターがウェイクアップ イベントを生成する場合、ミニポート ドライバーは、ネットワーク アダプターが完全な電源状態に再開したときに、NDIS_STATUS_PM_WAKE_REASON の NDIS 状態の表示をすぐに発行します。
注: NDIS ウェイク理由の状態表示のサポートは、モバイル ブロードバンド (MB) ミニポート ドライバーではオプションとなります。
ミニポート ドライバーは、OID_PM_PARAMETERSのオブジェクト識別子 (OID) セット要求を通じて電源管理 (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_GEN_CURRENT_PACKET_FILTERの OID セット要求によって指定された受信フィルターに一致するワイルドカード パターン。
注 この種類のウェイク理由の状態を示すには、ネットワーク アダプターが受信したパケットを保存できる必要があります。 ドライバーは、状態表示内で受信したパケットを返す必要があります。
WOL パターンは、NDIS_PM_PARAMETERS 構造体のメンバー EnabledWoLPacketPatterns によって指定されます。
Media-Specific ウェイクアップイベント
ネットワーク アダプターは、802.11 アクセス ポイント (AP) からの関連付け解除やモバイル ブロードバンド (MB) ショート メッセージ サービス (SMS) メッセージの受信など、メディア固有の理由によりウェイクアップ イベントを生成します。
この型のウェイクアップ イベントは、NDIS_PM_PARAMETERS 構造体の MediaSpecificWakeUpEvents メンバーを通じて指定されます。
ウェイクアップ イベント Media-Independent
ネットワーク アダプターは、メディア接続や切断などのメディアに依存しない理由により、ウェイクアップ イベントを生成します。
この型のウェイクアップ イベントは、NDIS_PM_PARAMETERS 構造体の WakeUpFlags メンバーを通じて指定されます。
ミニポート ドライバーは、NDIS ウェイク理由の状態を示すこれらのガイドラインに従う必要があります。
ミニポート ドライバーは、ウェイク パケットの表示を発行する機能をサポートしている場合は、NDIS は、ドライバーの ミニポートInitializeEx 関数を呼び出すときに、この機能を報告する必要があります。 詳細については、「ウェイク理由状態表示機能の報告」を参照してください
注 ミニポート ドライバーは、WOL パケットの受信に関連しないイベントの NDIS ウェイク理由の状態表示を発行する機能を報告する必要はありません。
ミニポート ドライバーは、WOL パケットのウェイク パケットの表示を発行するときに、ウェイク アップ イベントの原因となったパケットを含める必要があります。 詳細については、「NDIS ウェイク理由状態表示の発行」を参照してください。
ネットワーク アダプターがウェイクアップ信号を生成した場合、ミニポート ドライバーは、NDIS_STATUS_PM_WAKE_REASON 状態の表示を発行する必要があります。 ドライバーは、完全な電源状態に移行するための OID_PNP_SET_POWER の OID セット要求を処理しているときにこれを行います。
ミニポート ドライバーは、ウェイクアップ イベントに関連する状態表示を発行する前に、NDIS_STATUS_PM_WAKE_REASON 状態の表示を発行する必要があります。 たとえば、ウェイクアップ イベントがメディア接続状態の変更が原因であった場合、ミニポート ドライバーは、NDIS_STATUS_PM_WAKE_REASON 状態表示を発行した後、NDIS_STATUS_LINK_STATE 状態表示を発行する必要があります。
ミニポート ドライバーは、NDIS_STATUS_PM_WAKE_REASON 状態表示について、OID_PM_PARAMETERSの OID 設定要求によって以前に有効にされた電源管理イベントに対してのみ発行する必要があります。
ミニポート ドライバーは、基になるネットワーク アダプターによって生成されたウェイクアップ イベントに対してのみ、NDIS_STATUS_PM_WAKE_REASON 状態表示を発行する必要があります。