Freigeben über


NET_FRAGMENT Struktur (fragment.h)

Stellt einen zusammenhängenden Puffer im Arbeitsspeicher dar.

Syntax

typedef struct _NET_FRAGMENT {
  UINT64 ValidLength : 26;
  UINT64 Capacity : 26;
  UINT64 Offset : 10;
  UINT64 Scratch : 1;
  UINT64 OsReserved_Bounced : 1;
} NET_FRAGMENT;

Angehörige

ValidLength

Enthält die Länge der Paketnutzlast. Dieser Wert ist kleiner oder gleich dem Wert von Capacity.

Bei Übertragungswarteschlangen ist dieser Wert schreibgeschützt.

Capacity

Enthält die Gesamtlänge des Paketpuffers.

Bei Übertragungswarteschlangen ist dieser Wert schreibgeschützt.

Offset

Enthält den Offset vom Anfang des VirtualAddress- und DmaLogicalAddress- bis zum Anfang der gültigen Paketnutzlast. Dieser Wert ist kleiner oder gleich dem Wert von Capacity.

Rufen Sie NetExtensionGetFragmentVirtualAddressauf, um die virtuelle Adresse für dieses Fragment abzurufen.

Rufen Sie NetExtensionGetFragmentLogicalAddressauf, um die logische DMA-Adresse für dieses Fragment abzurufen.

Bei Übertragungswarteschlangen ist dieser Wert schreibgeschützt.

Scratch

Ein Bitfeldwert, den der Client für beliebige Zwecke verwenden kann. Wenn die NET_PACKET, zu der dieses Fragment gehört, wiederverwendet wird, wird dieser Wert auf Null zurückgesetzt.

OsReserved_Bounced

Reserviert. Clienttreiber dürfen diesen Wert nicht lesen oder schreiben.

Bemerkungen

Eine einzelne NET_PACKET Struktur enthält Verweise auf eine oder mehrere NET_FRAGMENT Strukturen.

Während jedes Fragment ein nahezu zusammenhängender Speicherpuffer ist, ist ein Paket, das mehr als ein Fragment enthält, praktisch nicht zusammenhängend.

Anforderungen

Anforderung Wert
Minimale KMDF-Version 1.29
Header- fragment.h