Udostępnij za pośrednictwem


Pojęcia i definicje dotyczące zdalnego NDIS

W tej sekcji przedstawiono omówienie wymagań dotyczących zdalnego NDIS w kontekście kanału komunikacyjnego i warstwy sterowników niższego poziomu, które są używane do komunikacji pomiędzy hostem a zdalnym urządzeniem NDIS. Przejścia stanu urządzenia i główne operacje, takie jak inicjowanie, zatrzymywanie i resetowanie, są również opisane w tej sekcji.

  • kanału sterowania

    Kanał kontrolny musi być niezawodny i zapewnić sekwencjonowane dostarczanie. Jest on używany do całej komunikacji z wyjątkiem transmisji pakietów danych sieciowych. Wszystkie wymagane komunikaty sterujące, z wyjątkiem REMOTE_NDIS_HALT_MSG i REMOTE_NDIS_INDICATE_STATUS_MSG, są wymianami żądań i odpowiedzi inicjowanych przez hosta. Urządzenie musi odpowiadać w przedziale czasu określonym dla każdej magistrali.

  • kanału danych

    Kanał danych jest używany wyłącznie do transmisji pakietów danych sieciowych. Może składać się z wielu podkanałów (na przykład o różnej jakości usług), jak określono dla odpowiedniej magistrali.

  • Inicjowanie i zakończenie

    Kanały sterowania i danych są inicjowane i konfigurowane zgodnie z określonymi wymogami dla odpowiedniej magistrali. Host wysyła komunikat REMOTE_NDIS_INITIALIZE_MSG do urządzenia zdalnego NDIS. Urządzenie Remote NDIS zawiera informacje o jego typie (bez połączenia lub zorientowanym na połączenie), obsługiwanym nośniku i wersji w komunikacie odpowiedzi REMOTE_NDIS_INITIALIZE_CMPLT.

    Host lub zdalne urządzenie NDIS może zlikwidować kanał komunikacyjny za pomocą komunikatu REMOTE_NDIS_HALT_MSG. Wszystkie zaległe żądania i pakiety są odrzucane po otrzymaniu tej wiadomości.

  • definicje stanu urządzenia

    Po zainicjowaniu na poziomie magistrali urządzenie jest podobno w stanie niezainicjowanym RNDIS. Po otrzymaniu REMOTE_NDIS_INITIALIZE_MSG i wysłaniu odpowiedzi REMOTE_NDIS_INITIALIZE_CMPLT z wynikiem RNDIS_STATUS_SUCCESS, urządzenie przechodzi w stan inicjalizacji RNDIS.

    Po otrzymaniu wiadomości REMOTE_NDIS_SET_MSG określającej wartość filtru inną niż zero dla OID_GEN_CURRENT_PACKET_FILTER, urządzenie przechodzi w stan zainicjowania danych RNDIS.

    W stanie RNDIS-data-inicjalizowanym odbiór komunikatu REMOTE_NDIS_SET_MSG określającego wartość filtra zero dla OID_GEN_CURRENT_PACKET_FILTER wymusza powrót urządzenia do stanu RNDIS-inicjalizowanego.

    Odbiór wiadomości REMOTE_NDIS_HALT_MSG, rozłączenie na poziomie magistrali lub twardy reset w dowolnym momencie wymuszają stan niezainicjowany RNDIS na urządzeniu.

  • Stój

    W dowolnym momencie, gdy urządzenie znajduje się w stanie zainicjowanym przez RNDIS lub zainicjowanym przez RNDIS-data, komputer hosta może zakończyć działanie funkcji Remote NDIS urządzenia, wysyłając do niego komunikat REMOTE_NDIS_HALT_MSG.

  • Resetowanie kanału komunikacyjnego

    Kanał komunikacyjny jest resetowany, gdy wystąpi błąd, taki jak przekroczenie limitu czasu komunikatu. Host może zainicjować resetowanie w dowolnym momencie, gdy urządzenie jest w stanie zainicjowanym przez usługę RNDIS, wysyłając komunikat REMOTE_NDIS_RESET_MSG do urządzenia, a urządzenie musi wysłać komunikat odpowiedzi po zakończeniu resetowania. Na przykład host może zainicjować resetowanie, gdy wystąpił błąd, taki jak przekroczenie limitu czasu komunikatu.

    Należy pamiętać, że jest to miękki reset w tym sensie, że wszystkie uchwyty (na przykład kanały wirtualne dla urządzeń zorientowanych na połączenie) nadal pozostają prawidłowe po resecie. Zdalne urządzenie NDIS odrzuca wszystkie zaległe żądania i pakiety w ramach procesu resetowania. Urządzenie zdalne może zresetować niektóre jego składniki sprzętowe, ale utrzymuje kanał komunikacyjny bez zmian.

    Jeśli zdalne urządzenie NDIS wykonuje ponowny rozruch, to zdarzenie jest równoważne zdarzeniu "Usuń", a następnie zdarzeniu "Dodaj" w ramach Plug and Play. Sterownik miniport NDIS hosta zostanie zatrzymany i usunięty, a nowa instancja zostanie dodana i uruchomiona. Wszystkie inicjowanie magistrali i zdalnej sieci NDIS zostanie ponownie wykonane. Zdalne urządzenie NDIS może zostać uruchomione ponownie w przypadku wystąpienia krytycznego błędu urządzenia.

  • sterowanie przepływem

    Urządzenie zdalne NDIS może wymagać kontroli przepływu, aby uniemożliwić hostowi przepełnienie jego buforów danych pakietami. Wszelkie przepisy lub wymagania dotyczące sterowania przepływem są specyficzne dla magistrali.

  • Porządkowanie liczbowe bajtów

    Wszystkie wartości liczbowe w komunikatach zdalnego NDIS muszą być kodowane w formacie mały endian (najpierw najmniej znaczący bajt).

  • Enkapsulacja komunikatów NDIS

    Nie ma specyfikacji zdalnej NDIS dla sposobu, w jaki komunikaty NDIS są hermetyzowane w rodzimych komunikatach magistrali lub prymitywach.