Udostępnij przez


Wstrzymanie adaptera

Usługa NDIS wywołuje funkcję MiniportPause sterownika miniportu w celu zainicjowania operacji wstrzymania. Adapter pozostaje w stanie Wstrzymania do momentu zakończenia operacji wstrzymania.

Podczas wstrzymywania sterownik miniportu musi zakończyć niewykonane operacje odbioru. Sterownik musi również wykonać wszystkie zaległe operacje wysyłania i powinien odrzucić wszelkie nowe żądania wysyłania.

Aby ukończyć operacje odbierania, sterownik czeka, aż wszystkie wywołania funkcji NdisMIndicateReceiveNetBufferLists zakończyły się, a NDIS musi zwrócić wszystkie pozostające struktury NET_BUFFER_LIST do funkcji MiniportReturnNetBufferLists sterownika miniportu.

Aby ukończyć niewykonane operacje wysyłania, sterownik miniportu powinien wywołać funkcję NdisMSendNetBufferListsComplete dla wszystkich niewykonanych struktur NET_BUFFER_LIST. Sterownik powinien natychmiast odrzucić wszystkie nowe żądania wysyłania wysłane do funkcji MiniportSendNetBufferLists .

Po zakończeniu wszystkich zaległych operacji wysyłania i odbierania sterownik miniportu musi zrealizować żądanie wstrzymania, działając synchronicznie lub asynchronicznie. Jeśli operacja wstrzymania zostanie ukończona asynchronicznie, sterownik wywołuje polecenie NdisMPauseComplete , aby ukończyć żądanie wstrzymania. Po zakończeniu żądania wstrzymania sterownik miniportu jest w stanie zapauzowanym/wyłączonym.

NDIS nie inicjuje innych operacji Plug and Play, takich jak zatrzymanie, inicjalizacja, zmiana zasilania lub ponowne uruchomienie, podczas gdy sterownik miniportu jest w stanie Wstrzymanie. NDIS może zainicjować te operacje Plug and Play po tym, jak sterownik miniportu zostanie wstrzymany.