Compartilhar via


estrutura NET_PACKET_LAYOUT (packet.h)

Uma estrutura NET_PACKET_LAYOUT descreve o início de cada cabeçalho de protocolo em um NET_PACKET.

Sintaxe

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;

Membros

Layer2HeaderLength

O comprimento em bytes do cabeçalho da Camada 2 ou zero se o comprimento da Camada 2 for desconhecido.

Layer3HeaderLength

O comprimento em bytes do cabeçalho da Camada 3 ou zero se o comprimento da Camada 3 for desconhecido.

Layer4HeaderLength

O comprimento do cabeçalho da Camada 4 ou zero se o comprimento da Camada 4 for desconhecido.

Layer2Type

Uma enumeração que especifica um sinalizador de NET_PACKET_LAYER2_TYPE.

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

Layer3Type

Uma enumeração que especifica um sinalizador de NET_PACKET_LAYER3_TYPE.

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

Layer4Type

Uma enumeração que especifica um sinalizador de NET_PACKET_LAYER4_TYPE.

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

Reserved0

Reservado para uso do sistema.

Comentários

Para obter mais informações sobre como usar essa estrutura, consulte o membro Layout do NET_PACKET.

Requisitos

Requisito Valor
Versão mínima do KMDF 1.29
Versão mínima do UMDF 2.33
Cabeçalho packet.h