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

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

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

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

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

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

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

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

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

ミニポート ドライバーは、AddressingReset パラメーターで FALSE を返す場合、ミニポート ドライバーは、そのマルチキャスト アドレス、パケット フィルター、タスク オフロード設定、および初期状態に復帰パターンを復元します。 ミニポート ドライバーが AddressingReset で TRUE を返す場合、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によって設定されたウェイクアップ パターンを 復元する必要 があります。

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

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

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