Ara Sürücü Sıfırlama İşlemleri

Bir ara sürücü, temel alınan NIC sıfırlandığında, temel alınan bir sürücüye bağlama üzerinden gönderdiği bekleyen gönderimlerin düşürülebileceği durumunu yönetmeye hazır olmalıdır.

NDIS kuyruğa alınmış göndermeleri veya NIC'ye bağlı istekleri zaman aşımına uğradıklarında, NDIS, miniport sürücüsünün MiniportResetEx işlevini çağırdığında, altyapı sürücüsü genellikle bir NIC'yi sıfırlar. Altta yatan bir NIC sıfırlanırsa, NDIS, bağlı her protokol ve ara sürücünün NDIS_STATUS_RESET_START durumuyla ProtocolStatusEx(ya da ProtocolCoStatusEx) işlevini çağırır. Miniport sürücüsü sıfırlamayı tamamladığında, NDIS ProtocolStatusEx(veya ProtocolCoStatusEx) NDIS_STATUS_RESET_END durumuyla yeniden çağırır.

Bir NIC sıfırlandığında, bağlı bir ara sürücüde bu NIC'ye bekleyen herhangi bir aktarım ağ verisi varsa, NDIS bu ağ verilerini uygun bir durumla ara sürücüye geri tamamlar. Sıfırlama tamamlandığında ara sürücünün bu ağ verilerini yeniden göndermesi gerekir.

Ara sürücü NDIS_STATUS_RESET_START durumunu aldığında, şu adımları izlemesi gerekir:

  • ProtocolStatusEx veya ProtocolCoStatusEx bir NDIS_STATUS_RESET_END bildirimi alıncaya kadar ağ verilerini iletim için hazır bekletin.

  • Bir NDIS_STATUS_RESET_END bildirimi alıncaya kadar, bir sonraki üst sürücüye belirtilmeye hazır olan alınmış ağ verilerini tutun: ProtocolStatusEx(veya ProtocolCoStatusEx).

  • Devam eden işlemler ve NIC durumu için koruduğu tüm iç durumları temizleyin.

ProtocolStatusEx(veya ProtocolCoStatusEx) NDIS_STATUS_RESET_END aldıktan sonra, ara sürücü ağ verilerini göndermeye devam edebilir, istekte bulunabilir ve üst düzey sürücülere göstergeler yapabilir.

Ara sürücü bir MiniportResetEx işlevi sağlamaz.