次の方法で共有


ミニポート ドライバーハードウェアのリセット

ミニポート ドライバーは、NdisMRegisterMiniportDriverにミニポートResetEx 関数を登録する必要があります。

ミニポートResetEx は、 NdisMResetComplete の呼び出しで同期的または非同期的に完了できます (次の図を参照してください)。

ネットワーク インターフェイス カードをリセットするプロセスを示す図。

ミニポートResetEx は、次のことを行うべきです。

  • その他の割り込みを無効にします。

  • 進行中の送信に関連付けられているデータをクリアします。 たとえば、バス マスター ダイレクト メモリ アクセス (DMA) デバイスのリング バッファーでは、バッファーを送信するポインターをクリアする必要があります。 デシリアライズされた接続指向のミニポート ドライバーは、待機中の送信要求に対して、NDIS_STATUS_REQUEST_ABORTEDを返す必要があります。

  • リセット操作の前に存在していた状態にハードウェアの状態とミニポート ドライバーの内部状態を復元します。

ミニポート ドライバーは、マルチキャスト アドレス、パケット フィルター、タスク オフロード設定、およびウェイク アップ パターンを除き、デバイスのハードウェアの状態を復元する役割を担います。 これらの設定は、ミニポート ドライバーまたは NDIS によって復元されます。 ミニポート ドライバーは、 AddressingReset パラメーターでブール値を返すことによって、これらの設定を復元するユーザーを決定します。

ミニポート ドライバーは、AddressingReset パラメーターで FALSE を返す場合、ミニポート ドライバーは、そのマルチキャスト アドレス、パケット フィルター、タスク オフロード設定、および初期状態に復帰パターンを復元します。 ミニポート ドライバーが AddressingResetTRUE を返す場合、NDIS は、接続なしのミニポート ドライバーのミニポートOidRequest 関数または接続指向ミニポート ドライバーのミニポートCoOidRequest 関数を呼び出して、次の構成設定を設定します。

  • OID_GEN_CURRENT_PACKET_FILTERのセット要求によるネットワーク パケット フィルター。

  • OID_802_3_MULTICAST_LISTのセット要求を介したマルチキャスト アドレス一覧。

  • タスクは、OID_OFFLOAD_ENCAPSULATIONのセット要求を通じてカプセル化設定 をオフロードします

  • OID_PNP_ADD_WAKE_UP_PATTERNの一連の要求による電源管理ウェイクアップ パターン。 手記 NDIS 6.20 以降では、ミニポート ドライバーによってOID_PM_ADD_WOL_PATTERNによって設定されたウェイクアップ パターンを 復元する必要 があります。

ミニポート ドライバー のアダプターの状態を

ミニポート アダプターの状態と操作

ミニポート ドライバーのリセットと停止機能