NET_PACKET-Struktur (packet.h)
Stellt ein einzelnes Netzwerkpaket dar.
Syntax
typedef struct _NET_PACKET {
UINT32 FragmentIndex;
UINT16 FragmentCount;
NET_PACKET_LAYOUT Layout;
UINT8 Ignore : 1;
UINT8 Scratch : 1;
UINT8 Reserved1 : 6;
} NET_PACKET;
Member
FragmentIndex
Der Index im Fragmentring des ersten NET_FRAGMENT Struktur in der Nutzlast dieses Pakets.
FragmentCount
Die Anzahl der NET_FRAGMENT Strukturen, die zu diesem Paket gehören.
Layout
Eine NET_PACKET_LAYOUT-Struktur .
Wenn der Hoststapel für Übertragungswarteschlangen eine Aufgabenauslagerung aktiviert hat, die einen Protokollheader verwendet, gibt einen schreibgeschützten Offset für jedes Protokollfeld an. Wenn beispielsweise die TCP-Prüfsummenauslagerung aktiviert ist, gibt dieses Element den Offset zum TCP-Header an. Andernfalls ist dieser Member leer.
Wenn der Hoststapel für Empfangswarteschlangen eine Aufgabenauslagerung aktiviert hat, die einen Protokollheader verwendet, legen Sie die Flags Layer2Type, Layer3Type und Layer4Type fest. Wenn keine Aufgabe ausgeladen wird, ist dieser Member leer.
Ignore
Für Empfangswarteschlangen legt der Client dieses Feld fest, um zu verhindern, dass das Paket für den Host angezeigt wird. Wenn beispielsweise bei der Hardware beim Schreiben von Bytes in diesen Datenpuffer für die Fragmente dieses Pakets ein DMA-Fehler aufgetreten ist, kann der Client dieses Feld so festlegen, dass das Teilpaket gelöscht wird.
Für Übertragungswarteschlangen ist dieses Feld schreibgeschützt. Wenn festgelegt, bedeutet dies, dass der Client das Paket nicht übertragen soll.
Scratch
Ein Bitfeldwert, den der Client für jeden Zweck verwenden kann. Wenn der NET_PACKET wiederverwendet wird, wird dieser Wert auf Null zurückgesetzt.
Reserved1
Reserviert. Clienttreiber dürfen diesen Wert nicht lesen oder schreiben.
Hinweise
Jede NET_PACKET-Struktur stellt einen einzelnen Netzwerkframe dar und enthält grundlegende Metadaten, die für alle Pakete gelten, z. B. das Rahmenlayout. Eine NET_PACKET enthält mindestens eine NET_FRAGMENT , die den Speicherort im Systemspeicher beschreibt, an dem sich die Paketdaten befinden.
Die NET_PACKET-Struktur kann ein Element in einer NET_RING-Struktur sein.
Anforderungen
Anforderung | Wert |
---|---|
KMDF-Mindestversion | 1.29 |
UMDF-Mindestversion | 2.33 |
Kopfzeile | packet.h |