NDIS セレクティブ サスペンド機能のレポート

NDIS 6.30 以降、ミニポート ドライバーは、ドライバーが NDIS セレクティブ サスペンドのサポートを有効にしているかどうかを報告する必要があります。 NDIS セレクティブ サスペンドのサポートは、*SelectiveSuspend 標準化 INF キーワード設定によって有効または無効になります。 この INF キーワードの詳細については、「NDIS セレクティブ サスペンドの標準化された INF キーワード」を参照してください。

NDIS がドライバーの MiniportInitializeEx 関数を呼び出すと、ミニポート ドライバーは、次の手順に従って NDIS セレクティブ サスペンドのサポートを報告します。

  1. ドライバーは、下層ハードウェアの電源管理機能を使用して NDIS_PM_CAPABILITIES 構造体を初期化します。

    ドライバーが NDIS セレクティブ サスペンドのサポートを有効にする場合は、次のように NDIS_PM_CAPABILITIES 構造体のメンバーを設定する必要があります。

    • ミニポート ドライバーは、構造体の Header メンバー内の NDIS_PM_CAPABILITIES 構造体のリビジョンと長さに対して、NDIS_PM_CAPABILITIES_REVISION_2 と NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_2 を指定する必要があります。
    • *SelectiveSuspend キーワードの値が 1 の場合、ミニポート ドライバーによる NDIS セレクティブ サスペンド サポートが有効になります。 ミニポート ドライバーは、この構造体の Flags メンバー内で NDIS_PM_SELECTIVE_SUSPEND_SUPPORTED フラグを設定して、これを報告します。
  2. NDIS_PM_CAPABILITIES 構造体を初期化すると、ミニポート ドライバーは、初期化された NDIS_PM_CAPABILITIES 構造体を指す NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES 構造体の PowerManagementCapabilitiesEx メンバーを設定します。 ミニポート ドライバーは、ドライバーが NdisMSetMiniportAttributes 関数を呼び出すときに、MiniportAttributes パラメーター内の NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES 構造体へのポインターを渡します。

NDIS セレクティブ サスペンドのサポート ステータスを報告するためにミニポート ドライバーによって使用されるメソッドは、電源管理機能を報告するための NDIS 6.20 メソッドに基づいています。 このメソッドの詳細については、「電源管理機能のレポート」を参照してください。

アダプターの初期化プロセスの詳細については、「ミニポート アダプターの初期化」を参照してください。