Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Transport TCP/IP systemu Windows obsługuje zestaw wymagań dotyczących wysyłania ramek Ethernet. Każdy sterownik (na przykład sterownik pośredni MUX lub sterownik filtru), który rozpoczyna wysyłanie żądań lub modyfikuje żądania wysyłania sterowników wyższej warstwy, musi obsługiwać wymagania, które implementuje transport TCP/IP.
Uwaga Jeśli jakikolwiek sterownik w stosie sterowników nie spełnia tych wymagań, podstawowe sterowniki miniportu, sterowniki pośrednie MUX i sterowniki filtru mogą zachowywać się nieprzewidywalnie.
W przypadku żądań wysyłania sieci Ethernet sterowniki muszą spełniać następujące wymagania:
Jeśli sterownik inicjuje żądanie wysyłania, powinien przydzielić strukturę NET_BUFFER_LIST dla ramek Ethernet. Element członkowski NetBufferListInfo w każdej strukturze NET_BUFFER_LIST musi zawierać dane poza pasmem (OOB), które są wymagane do określonego zastosowania. Dane OOB dotyczą wszystkich struktur NET_BUFFER skojarzonych ze strukturą NET_BUFFER_LIST.
Jeśli sterownik inicjuje żądanie wysyłania, powinien przydzielić jedną lub więcej struktur NET_BUFFER dla ramek Ethernet i połączyć te struktury ze strukturą NET_BUFFER_LIST. Każda struktura NET_BUFFER połączona z strukturą NET_BUFFER_LIST opisuje jedną ramkę Ethernet. Sterownik może łączyć wiele struktur NET_BUFFER_LIST w żądaniu wysyłania.
Wszystkie struktury NET_BUFFER skojarzone ze strukturą NET_BUFFER_LIST muszą mieć ten sam typ ramki Ethernet i wersję protokołu IP (IPv4 lub IPv6).
Wszystkie struktury NET_BUFFER skojarzone ze strukturą NET_BUFFER_LIST muszą mieć te same źródłowe i docelowe adresy MAC.
Jeśli sterownik wysyła ramki TCP lub UDP, wszystkie struktury NET_BUFFER skojarzone ze strukturą NET_BUFFER_LIST muszą być skojarzone z tym samym połączeniem TCP lub UDP. Uwaga Pod warunkiem spełnienia następujących wymagań, można rozdzielić przesyłane ramki Ethernet. Oznacza to, że wiele list deskryptora pamięci (MDL) może być skojarzonych ze strukturą NET_BUFFER w żądaniu wysyłki.
Nie należy dzielić nagłówka MAC ramki transmisyjnej Ethernet na wiele list MDL. Traktuj flagę Virtual LAN (VLAN) (lub Priorytet) jako część nagłówka MAC, jeśli jest obecna. W związku z tym ta flaga musi znajdować się w tym samym MDL co pozostała część nagłówka MAC.
Jeśli sterownik zmieni łącza w łańcuchu MDL w strukturze NET_BUFFER lub łańcuch NET_BUFFER w strukturze NET_BUFFER_LIST, sterownik musi przywrócić łącza do oryginalnej konfiguracji, zanim zwróci własność NET_BUFFER_LIST do nadrzędnego sterownika. Sterowniki nie są jednak wymagane do przywrócenia połączeń między strukturami NET_BUFFER_LIST.