NET_PACKET_LAYOUT structure (packet.h)

Une structure NET_PACKET_LAYOUT décrit le début de chaque en-tête de protocole dans un NET_PACKET.

Syntaxe

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;

Membres

Layer2HeaderLength

Longueur en octets de l’en-tête de couche 2, ou zéro si la longueur de couche 2 est inconnue.

Layer3HeaderLength

Longueur en octets de l’en-tête de couche 3, ou zéro si la longueur de couche 3 est inconnue.

Layer4HeaderLength

Longueur de l’en-tête de couche 4, ou zéro si la longueur de couche 4 est inconnue.

Layer2Type

Énumération qui spécifie un indicateur de NET_PACKET_LAYER2_TYPE.

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

Layer3Type

Énumération qui spécifie un indicateur de NET_PACKET_LAYER3_TYPE.

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

Layer4Type

Énumération qui spécifie un indicateur de NET_PACKET_LAYER4_TYPE.

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

Reserved0

Réservé pour le système.

Remarques

Pour plus d’informations sur l’utilisation de cette structure, consultez le membre Layout de NET_PACKET.

Configuration requise

Condition requise Valeur
Version KMDF minimale 1.29
En-tête packet.h