Udostępnij przez


Ponowne uruchamianie wiązania

Aby ponownie uruchomić powiązanie, które zostało wstrzymane, NDIS wysyła sterownikowi protokołu powiadomienie o zdarzeniu ponownego uruchomienia Plug and Play (PnP). Gdy sterownik protokołu otrzyma powiadomienie o ponownym uruchomieniu, powiązanie, którego dotyczy problem, wchodzi w stan Ponowne uruchamianie.

Aby wysłać powiadomienie o ponownym uruchomieniu, usługa NDIS wywołuje funkcję ProtocolNetPnPEvent sterownika protokołu. Struktura NET_PNP_EVENT_NOTIFICATION, którą NDIS przekazuje do ProtocolNetPnPEvent, określa NetEventRestart w polu NetEvent, a pole Buffer zawiera wskaźnik na strukturę NDIS_PROTOCOL_RESTART_PARAMETERS. NDIS zapewnia wskaźnik do struktury NDIS_RESTART_ATTRIBUTES w elemencie RestartAttributes struktury NDIS_PROTOCOL_RESTART_PARAMETERS.

Uwaga Podczas wstrzymania powiązania usługa NDIS mogła ponownie skonfigurować stos sterowników. Nowa konfiguracja stosu może obsługiwać inny zestaw funkcji dla podstawowego adaptera. Te nowe funkcje mogą wpływać na sposób, w jaki sterownik protokołu komunikuje się z powiązaniem.

Sterownik protokołu powinien używać informacji w strukturze NDIS_PROTOCOL_RESTART_PARAMETERS, aby uniknąć niepotrzebnych żądań OID.

W stanie ponownego uruchamiania ten sterownik protokołu może:

  • Użyj żądań OID, aby wysłać zapytanie do stosu sterowników. Na przykład sterownik może dowiedzieć się więcej o obsłudze skalowania po stronie odbierającej przy użyciu OID_GEN_RECEIVE_SCALE_CAPABILITIES.

  • W razie potrzeby przydziel ponownie pule NET_BUFFER i NET_BUFFER_LIST.

  • Wylicza listę podstawowych modułów filtru.

  • Użyj żądań OID, aby wyświetlić nowe możliwości adaptera.

Gdy sterownik jest gotowy do wznowienia operacji wysyłania i odbierania dla powiązania, powiązanie wchodzi w stan działania.