REMOTE_NDIS_PACKET_MSG

REMOTE_NDIS_PACKET_MSG hermetyzuje pakiety danych NDIS w celu utworzenia pojedynczego komunikatu danych.

Łączenie wielu elementów REMOTE_NDIS_PACKET_MSG tworzy komunikat wielopakietowy. Każdy składnik REMOTE_NDIS_PACKET_MSG jest skonstruowany zgodnie z poniższym opisem. Różnica między komunikatem o pojedynczym pakiecie polega na tym, że pole MessageLength w każdym nagłówku REMOTE_NDIS_PACKET_MSG zawiera kilka dodatkowych bajtów dopełnienia. Te dopełnienie bajtów są dołączane do wszystkich, ale ostatnich REMOTE_NDIS_PACKET_MSG, aby pomyślne REMOTE_NDIS_PACKET_MSG zaczyna się od odpowiedniej granicy bajtów. W przypadku komunikatów wysyłanych z urządzenia do hosta to wypełnienie powinno spowodować, że każda REMOTE_NDIS_PACKET_MSG zaczyna się od przesunięcia bajtów, które jest wielokrotną 8 bajtami rozpoczynającą się od początku komunikatu wielopakietowego. Gdy host wysyła do urządzenia komunikat z wieloma pakietami, będzie on zgodny z PacketAlignmentFactor, który określa urządzenie.

Format REMOTE_NDIS_PACKET_MSG jest zdefiniowany w poniższej tabeli.

Przesunięcie Rozmiar Pole Opis

0

4

Typ komunikatu

Określa typ wysyłanego komunikatu. Ustaw wartość 0x1.

4

4

MessageLength

Długość komunikatu w bajtach, w tym dołączone dane pakietu, dane OOB, dane informacji o pakiecie oraz wewnętrzne i zewnętrzne wypełnienie.

8

4

DataOffset

Określa przesunięcie w bajtach od początku pola DataOffset tego komunikatu do początku danych. Jest to liczba całkowita z 4.

12

4

DataLength

Określa liczbę bajtów w zawartości danych tego komunikatu.

16

4

OOBDataOffset

Określa przesunięcie w bajtach pierwszego rekordu danych OOB od początku pola DataOffset tego komunikatu. Ustaw wartość zero, jeśli nie ma danych OOB. W przeciwnym razie jest to liczba całkowita z 4.

20

4

OOBDataLength

Określa w bajtach łączną długość danych OOB.

24

4

NumOOBDataElements

Określa liczbę rekordów OOB w tym komunikacie.

28

4

PerPacketInfoOffset

Określa w bajtach przesunięcie od początku pola DataOffset w komunikacie REMOTE_NDIS_PACKET_MSG danych na początek pierwszego rekordu danych informacji o pakiecie. Ustaw wartość zero, jeśli nie ma danych na pakiet. W przeciwnym razie jest to liczba całkowita z 4.

32

4

PerPacketInfoLength

Określa w bajtach łączną długość informacji na pakiet zawartych w tym komunikacie.

36

4

VcHandle

Zarezerwowane dla urządzeń zorientowanych na połączenia. Ustaw wartość zero.

40

4

Zastrzeżony

Zastrzeżony. Ustaw wartość zero.

Format pojedynczego rekordu danych OOB jest wskazany w poniższej tabeli.

Przesunięcie Rozmiar Pole Opis

0

4

Rozmiar

Długość w bajtach tego nagłówka obiektu OOB i dołączonych danych OOB i dopełnienie. Jest to liczba całkowita z 4.

4

4

Typ

Brak zdefiniowany dla urządzeń 802.3.

8

4

ClassInformationOffset

Przesunięcie bajtu od początku tego rekordu danych OOB na początek danych OOB.

(N)

...

Dane OOB

Dane OOB; Aby uzyskać więcej informacji, zapoznaj się z dokumentacją zestawu Microsoft Windows Driver Development Kit (DDK).

Uwaga (N) jest równa wartości ClassInformationOffset.

W poniższej tabeli zdefiniowano format rekordu danych informacji o pakiecie.

Przesunięcie Rozmiar Pole Opis

0

4

Rozmiar

Długość w bajtach tego nagłówka na pakiet i dołączona dane na pakiet i wypełnienie. Ta wartość jest liczbą całkowitą z 4.

4

4

Typ

Ustaw jedną z wartości prawnych dla NDIS_PER_PACKET_INFO_FROM_PACKET, zgodnie z opisem w zestawie Windows 2000 Driver Development Kit (DDK).

8

4

PerPacketInformationOffset

Przesunięcie bajtu od początku tego rekordu danych informacji o pakiecie na początek danych informacji o pakiecie na początek danych informacji o pakiecie.

(N)

...

dane Per-Packet

Per-Packet dane; Aby uzyskać więcej informacji, zapoznaj się z dokumentacją zestawu DDK systemu Windows 2000.

Uwaga (N) jest równa wartości PerPacketInformationOffset.

Uwagi

Każdy REMOTE_NDIS_PACKET_MSG może zawierać co najmniej jeden rekord danych OOB. NumOOBDataElements wskazuje liczbę rekordów danych OOB w tym komunikacie. Rekordy danych OOB muszą być wyświetlane w sekwencji. Pole OOBDataLength wskazuje długość w bajtach całego bloku danych OOB. Pole OOBDataOffset wskazuje przesunięcie bajtu od początku pola DataOffset na początek bloku danych OOB. Aby uzyskać więcej informacji na temat danych pakietów OOB, zobacz specyfikację NDIS w zestawie DDK systemu Windows 2000.

Jeśli wiele bloków danych OOB jest dołączonych do komunikatu REMOTE_NDIS_PACKET_MSG, każdy kolejny rekord danych OOB musi natychmiast podążać za danymi poprzedniego rekordu OOB.

Brak informacji OOB nie jest obecnie zdefiniowany dla urządzeń 802.3.

Każdy REMOTE_NDIS_PACKET_MSG może zawierać jeden lub więcej rekordów danych na pakiet. Informacje o pakiecie są używane do przekazywania metadanych pakietów, takich jak suma kontrolna TCP. Pole PerPacketInfoOffset wskazuje przesunięcie bajtu od początku pola DataOff set na początek rekordu danych informacji o pakiecie. Pole OOBDataLength wskazuje długość bajtów rekordu danych informacji o pakiecie. Aby uzyskać więcej informacji na temat danych informacji o pakiecie, zobacz Zestaw DDK systemu Windows 2000.

Jeśli istnieje wiele bloków danych informacji o pakiecie, każdy kolejny rekord danych informacji o pakiecie musi natychmiast postępować zgodnie z poprzednimi danymi rekordu informacji o pakiecie.

Zdalne urządzenie NDIS musi wysyłać i odbierać dane za pośrednictwem pakietów danych NDIS. Magistrala używana przez urządzenie określa sposób przekazywania tych pakietów z hosta do urządzenia i urządzenia do hostowania. Może to być pamięć współdzielona lub w przypadku potoków USB, Isoch i Bulk. Pakiety NDIS mogą również zawierać dane poza pasmem (OOB), a także dane, które przechodzą przez sieć.

Zdalne urządzenie NDIS przesyła pakiety NDIS, hermetyzowane jako REMOTE_NDIS_PACKET_MSG w kanale danych. Oba urządzenia bez połączenia (takie jak 802.3) i zorientowane na połączenie (takie jak ATM) używają tej samej struktury komunikatów pakietów, aby ułatwić wspólny kod do przetwarzania pakietów. Każdy komunikat REMOTE_NDIS_PACKET_MSG zawiera informacje o pojedynczej jednostce danych sieciowych (takiej jak ramka Ethernet 802.3).

Aby uzyskać więcej informacji na temat danych pakietów poza pasmem lub danych pakietów na pakiet, zobacz sekcje NDIS zestawu DDK systemu Windows 2000.

Wymagania

Wersja

Dostępne w systemie Microsoft Windows XP i nowszych wersjach systemów operacyjnych Windows. Dostępne również w systemie Windows 2000 jako pliki binarne redystrybucyjne.

Nagłówek

Rndis.h (include Rndis.h)