Udostępnij przez


Wstrzymanie powiązania

Po tym jak NDIS wyśle sterownikowi protokołu powiadomienie o sieci Plug and Play (PnP) dotyczącym pauzowania wiązania, wiązanie wchodzi w stan pauzowania.

Aby powiadomić sterownik protokołu o zdarzeniu wstrzymania PnP, NDIS wywołuje funkcję ProtocolNetPnPEvent, przy czym człon NetEvent struktury NET_PNP_EVENT_NOTIFICATION jest ustawiony na NetEventPause. Element członkowski buforu zawiera strukturę NDIS_PROTOCOL_PAUSE_PARAMETERS.

W przypadku, gdy powiązanie jest w stanie wstrzymania, sterownik protokołu:

  • Nie należy inicjować żadnych nowych żądań wysyłania.

  • Musi czekać na ukończenie zaległych żądań wysyłania. Operacja wstrzymania nie zostanie ukończona, dopóki NDIS nie wywoła funkcji ProtocolSendNetBufferListsComplete dla wszystkich zaległych żądań wysyłania sterownika.

  • Należy obsługiwać odbieranie sygnałów jak zwykle. Podstawowy sterownik miniportu czeka na zaległe dane odbioru, które mają zostać zwrócone przed ukończeniem operacji wstrzymania. Gwarantuje to, że nie ma bieżących operacji odbierania w stosie sterowników po wstrzymaniu sterownika miniportu.

  • Należy natychmiast zwrócić nowe wskaźniki odbioru do NDIS. W razie potrzeby sterownik może skopiować takie wskazania, zanim je zwróci.

Aby uzyskać więcej informacji na temat operacji wysyłania i odbierania sterownika protokołu, zobacz Operacje wysyłania i odbierania sterownika protokołu.

Powiązanie przechodzi w stan Wstrzymania po tym, jak sterownik protokołu zakończy zwracanie zaległych wskazań odbioru dla tego powiązania, a NDIS zakończy wszystkie zaległe żądania wysyłania dla tego powiązania.

W przypadku powiązania w stanie pauzy sterownik protokołu:

  • Nie może wysyłać żadnych żądań.

  • Powinien otrzymać sygnały natychmiast. W razie potrzeby sterownik może skopiować takie wskazania odbioru, zanim je zwróci.