Freigeben über


NET_PACKET_LAYOUT-Struktur (packet.h)

Eine NET_PACKET_LAYOUT-Struktur beschreibt den Anfang jedes Protokollheaders in einem NET_PACKET.

Syntax

typedef struct _NET_PACKET_LAYOUT {
  UINT16 Layer2HeaderLength : 7;
  UINT16 Layer3HeaderLength : 9;
  UINT8  Layer4HeaderLength : 8;
  UINT8  Layer2Type : 4;
  UINT8  Layer3Type : 4;
  UINT8  Layer4Type : 4;
  UINT8  Reserved0 : 4;
} NET_PACKET_LAYOUT;

Member

Layer2HeaderLength

Die Länge des Layer-2-Headers in Byte oder null, wenn die Länge der Ebene 2 unbekannt ist.

Layer3HeaderLength

Die Länge des Layer 3-Headers in Byte oder null, wenn die Länge der Ebene 3 unbekannt ist.

Layer4HeaderLength

Die Länge des Layer 4-Headers oder null, wenn die Länge der Ebene 4 unbekannt ist.

Layer2Type

Eine Enumeration, die ein Flag aus NET_PACKET_LAYER2_TYPE angibt.

typedef enum _NET_PACKET_LAYER2_TYPE
{
    NetPacketLayer2TypeUnspecified,
    NetPacketLayer2TypeNull,
    NetPacketLayer2TypeEthernet,
} NET_PACKET_LAYER2_TYPE;

Layer3Type

Eine Enumeration, die ein Flag aus NET_PACKET_LAYER3_TYPE angibt.

typedef enum _NET_PACKET_LAYER3_TYPE
{
    NetPacketLayer3TypeUnspecified,
    NetPacketLayer3TypeIPv4UnspecifiedOptions,
    NetPacketLayer3TypeIPv4WithOptions,
    NetPacketLayer3TypeIPv4NoOptions,
    NetPacketLayer3TypeIPv6UnspecifiedExtensions,
    NetPacketLayer3TypeIPv6WithExtensions,
    NetPacketLayer3TypeIPv6NoExtensions,
} NET_PACKET_LAYER3_TYPE;

Layer4Type

Eine Enumeration, die ein Flag aus NET_PACKET_LAYER4_TYPE angibt.

typedef enum _NET_PACKET_LAYER4_TYPE
{
    NetPacketLayer4TypeUnspecified,
    NetPacketLayer4TypeTcp,
    NetPacketLayer4TypeUdp,
    NetPacketLayer4TypeIPFragment,
    NetPacketLayer4TypeIPNotFragment,
} NET_PACKET_LAYER4_TYPE;

Reserved0

Ist für das System reserviert.

Hinweise

Weitere Informationen zur Verwendung dieser Struktur finden Sie im Layout-Element von NET_PACKET.

Anforderungen

Anforderung Wert
KMDF-Mindestversion 1.29
UMDF-Mindestversion 2.33
Kopfzeile packet.h