次の方法で共有


NDIS がアイドル状態のネットワーク アダプターを検出する方法

ミニポート ドライバーは、NDIS 選択的な中断を有効にし、そのハンドラー関数を登録した後、NDIS は、次の方法でネットワーク アダプターの I/O アクティビティを監視します。

  • NDIS は、ミニポート ドライバーが NDIS_MINIPORT_DRIVER_CHARACTERISTICS および NDIS_MINIPORT_PNP_CHARACTERISTICS 構造体を通じて登録する I/O ハンドラー関数の呼び出しを監視します。 例えば、NDISはミニポートドライバの MiniportSendNetBufferLists または MiniportReturnNetBufferLists への呼び出しを監視し、ドライバがパケットI/Oアクティビティに関与しているかどうかを判断する。

  • NDIS は、上にあるプロトコル ドライバーによって行われた NdisOidRequestNdisDirectOidRequest の呼び出しも監視します。

    NDIS は、NDIS によって直接処理されない基になるミニポート ドライバーに対するオブジェクト識別子 (OID) 要求のみを監視します。

NDIS は、アイドルタイムアウト期間、アダプター上のアクティビティを検出しない場合、ネットワーク アダプターがアイドル状態であることを判断します。 このタイムアウト期間の長さは、標準化された INF キーワード *SSIdleTimeout の値によって指定されます。 この INF キーワードの詳細については、「NDIS 選択的中断の標準化された INF キーワード」を参照してください。

ネットワーク アダプターがアイドル状態になると、NDIS は選択的な中断操作を開始します。 この操作により、ネットワーク アダプターは低電力状態に遷移することによって中断されます。

NDIS は、ミニポート ドライバーにアイドル状態の通知を発行することによって、この選択的な中断操作を開始します。 NDIS は、ドライバーの MiniportIdleNotification ハンドラー関数を呼び出すことによってこれを行います。 ミニポート ドライバーがこの通知を処理する方法の詳細については、 NDIS 選択的中断アイドル通知の処理 を参照してください。

ネットワーク アダプターへの I/O 要求がオーバーレイ ドライバーから発行されたことを NDIS が検出した場合、またはアダプターがウェイクアップ イベントを通知する場合、NDIS はアイドル状態の通知をキャンセルします。 NDIS は、ミニポート ドライバーの MiniportCancelIdleNotification ハンドラー関数を呼び出すことによってこれを行います。

NDIS がアイドル状態の通知を取り消す方法の詳細については、「NDIS 選択的中断アイドル通知の取り消し」を参照してください。

ミニポート ドライバーがアイドル状態の通知を完了する方法の詳細については、 「NDIS 選択的中断アイドル通知を完了する」を参照してください。