ミニポート ドライバー ハードウェア リセット
ミニポート ドライバーは、MiniportResetEx 関数をNdisMRegisterMiniportDriverに登録する必要があります。
MiniportResetEx は、NdisMResetComplete の呼び出しで同期的または非同期的に完了できます (次の図を参照してください)。
MiniportResetEx は次の必要があります:
その他の割り込みを無効にする。
進行中の送信に関連付けられているデータをクリアする。 たとえば、バス マスター ダイレクト メモリ アクセス (DMA) デバイスのリング バッファーでは、バッファーを送信するポインターをクリアする必要があります。 逆シリアル化された接続指向ミニポート ドライバーは、キューに入っている送信要求の NDIS_STATUS_REQUEST_ABORTED を返す必要があります。
リセット操作の前に存在していた状態にハードウェアの状態とミニポート ドライバーの内部状態を復元する。
ミニポート ドライバーは、マルチキャスト アドレス、パケット フィルター、タスク オフロード設定、およびウェイク アップ パターンを除き、デバイスのハードウェアの状態を復元する役割を担います。 これらの設定は、ミニポート ドライバーまたは NDIS によって復元されます。 ミニポート ドライバーは、AddressingReset パラメーターでブール値を返すことによって、これらの設定を復元するユーザーを決定します。
ミニポート ドライバーが AddressingReset パラメーターで FALSE を返す場合、ミニポート ドライバーは、そのマルチキャスト アドレス、パケット フィルター、タスク オフロード設定、およびウェイク アップ パターンを初期状態に復元します。 ミニポート ドライバーが AddressingReset で TRUE を 返す場合、NDIS はコネクションレス型ミニポート ドライバーの MiniportOidRequest 関数またはコネクション型ミニポート ドライバーの MiniportCoOidRequest 関数を呼び出して以下の設定を設定します:
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 を介して設定されたウェイクアップパターンをミニポート ドライバーが復元する必要があります。