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.
Sterownik protokołu TCP/IP systemu Windows nakłada zestaw wymagań dotyczących odbierania ramek Ethernet. Każdy sterownik, który inicjuje odbiór wskazań ramek Ethernet lub modyfikuje odbiór wskazań od podstawowych sterowników, musi spełniać ogólne wymagania nakładane przez protokół TCP/IP. Sterowniki te obejmują sterowniki miniportu Ethernet, sterowniki pośrednie MUX i sterowniki filtrów.
Uwaga Jeśli sterownik nie spełnia tych wymagań, wyższe poziomy sterowników (takie jak transport TCP/IP, sterowniki pośrednie MUX i sterowniki filtru) mogą działać nieprzewidywalnie.
Sterowniki, które obsługują wskazania odbioru Ethernet, muszą spełniać następujące wymagania:
Sterownik musi przydzielić NET_BUFFER_LIST strukturę dla odebranej ramki Ethernet. Każda struktura NET_BUFFER_LIST musi zawierać dane poza pasmem (OOB) zdefiniowane w elemencie NetBufferListInfoNET_BUFFER_LIST wymagane do określonego użycia.
Sterownik musi przydzielić strukturę NET_BUFFER dla ramki i połączyć ją ze strukturą NET_BUFFER_LIST. Miniport Ethernet musi przypisać dokładnie jedną strukturę NET_BUFFER do struktury NET_BUFFER_LIST podczas wskazywania odebranych danych. To ograniczenie dotyczy tylko ścieżki odbierania ethernetu. Nie ma zastosowania do innych typów nośników, takich jak natywny interfejs bezprzewodowej sieci LAN 802.11. lub ogólnie NDIS.
Począwszy od NDIS 6.1, w niektórych scenariuszach struktura NET_BUFFER może być skojarzona z wieloma listami deskryptora pamięci (MDL) dla odebranej ramki Ethernet. Mimo że struktura NET_BUFFER_LIST musi zawierać jedną strukturę NET_BUFFER , użycie wielu list MDL umożliwia sterownikowi podzielenie danych odebranych pakietów na oddzielne.
Na przykład, sterowniki Ethernet obsługujące interfejs podziału nagłówka-danych dzielą odebraną ramkę Ethernet przy użyciu połączonej listy wielu MDL skojarzonych z jedną strukturą NET_BUFFER. Aby uzyskać więcej informacji, zobacz Header-Data Split.
Ze względu na prostotę i wydajność zdecydowanie zalecamy, aby sterowniki, które nie obsługują podziału nagłówka danych, używały tylko jednego MDL dla każdej struktury NET_BUFFER.
Uwaga W wersji NDIS 6.0 dla systemu Windows Vista każda struktura NET_BUFFER musi zawierać tylko jeden MDL.
Sterowniki nie mogą dzielić odebranych ramek Ethernet w środku nagłówka IP, opcji IPv4, nagłówków IPsec, nagłówków rozszerzeń IPv6 lub nagłówków protokołu górnej warstwy, chyba że pierwszy MDL zawiera co najmniej tyle bajtów, ile NDIS określił dla rozmiaru prognozy.
Sterowniki protokołu NDIS i filtru muszą obsługiwać rozdzielone ramki Ethernet w sygnałach odbierających, jeśli takie ramki podzielone są zgodne z ograniczeniami zdefiniowanymi w poprzednim elemencie listy. Ograniczenia zapewniają, że sterowniki protokołu i filtru są zgodne z przyszłymi wersjami systemu Windows.