Udostępnij przez


Operacje resetowania sterowników pośrednich

Sterownik pośredni musi być przygotowany do obsługi sytuacji, w której jego oczekujące transmisje na połączeniu z podstawowym sterownikiem mogą zostać porzucone, ponieważ podstawowa karta sieciowa jest resetowana.

Podstawowy sterownik zazwyczaj resetuje kartę sieciową, ponieważ usługa NDIS wywołuje funkcję Miniport Driver MiniportResetEx , gdy funkcja NDIS przekroczyła limit czasu wysyłania w kolejce lub żądań powiązanych z kartą sieciową. Jeśli podstawowa karta sieciowa jest resetowana, funkcja NDIS wywołuje funkcję ProtocolStatusEx(lub ProtocolCoStatusEx) każdego powiązanego protokołu i sterownika pośredniego ze stanem NDIS_STATUS_RESET_START. Gdy sterownik miniportu zakończy resetowanie, NDIS ponownie wywołuje parametr ProtocolStatusEx(lub ProtocolCoStatusEx) ze stanem NDIS_STATUS_RESET_END.

Po zresetowaniu karty sieciowej, jeśli powiązany sterownik pośredni ma jakiekolwiek dane sieciowe do przesłania, które oczekują na tę kartę, NDIS przekazuje te dane z powrotem do sterownika pośredniego, podając odpowiedni status. Sterownik pośredni musi ponownie przesłać te dane sieciowe po zakończeniu resetowania.

Gdy sterownik pośredni otrzyma kod statusu NDIS_STATUS_RESET_START, powinien:

  • Przechowuj dane sieciowe gotowe do przesłania, dopóki ProtocolStatusEx lub ProtocolCoStatusEx nie otrzyma powiadomienia o NDIS_STATUS_RESET_END.

  • Przytrzymaj wszystkie odebrane dane sieciowe, które są gotowe do przekazania wyższemu sterownikowi, dopóki ProtocolStatusEx(lub ProtocolCoStatusEx) nie otrzyma powiadomienia NDIS_STATUS_RESET_END.

  • Wyczyść wszelki stan wewnętrzny, który utrzymuje dla trwających operacji oraz statusu karty sieciowej (NIC).

Gdy funkcja ProtocolStatusEx (lub ProtocolCoStatusEx) otrzyma NDIS_STATUS_RESET_END, sterownik pośredni może wznowić wysyłanie danych sieciowych, wysyłanie żądań oraz przekazywanie wskazań do sterowników wyższego poziomu.

Sterownik pośredni nie udostępnia funkcji MiniportResetEx .