次の方法で共有


リセット

NDIS は、ミニポート ドライバーまたは MCM ドライバーの MiniportResetEx 関数を呼び出して NIC をリセットする可能性があります。

注: リセット前にアクティブかつ有効な AF、SAP、VC ハンドルは、リセット後にアクティブかつ有効になります。

次の図は、ミニポート ドライバーにリセット要求を発行するクライアントを示しています。

Diagram showing a client issuing a reset request to a miniport driver.

次の図は、MCM ドライバーにリセット要求を発行するクライアントを示しています。

Diagram showing a client issuing a reset request to an MCM driver.

下層の接続指向ドライバーが NIC をリセットしている場合、NDIS は、プロトコルの ProtocolCoStatusEx 関数を NDIS_STATUS_RESET_START で呼び出すことで、バインドされた各プロトコルに通知します。

NDIS は、ミニポート ドライバーまたは MCM ドライバーの NIC がリセットされている間、ミニポート ドライバーまたは MCM ドライバーに対するプロトコル主導の送信と要求を受け入れません。 リセットの進行中、プロトコル ドライバーは、NdisCoSendNetBufferLists を使用してミニポート ドライバーへのパケット送信を試みたり、NdisCoOidRequest を使用してミニポート ドライバーから情報を要求したりしてはいけません。

MiniportResetEx は、NIC をリセットするために必要なすべてのデバイス依存アクションを実行します。 MiniportResetEx は同期的に完了するか、NdisMResetComplete の呼び出しで非同期的に完了できます。

  • リセットが同期的に完了した場合、NDIS はバインドされた各プロトコルの ProtocolCoStatusEx 関数を NDIS_STATUS_RESET_END で呼び出します。

  • リセットが非同期的に完了した場合、NDIS はバインドされた各プロトコルの ProtocolCoStatusEx 関数を NDIS_STATUS_RESET_END で呼び出します。