共用方式為


packet.h) NET_PACKET_LAYOUT 結構 (

NET_PACKET_LAYOUT結構描述NET_PACKET中每個通訊協定標頭的開頭。

語法

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;

成員

Layer2HeaderLength

第 2 層標頭的位元組長度,如果第 2 層長度未知,則為零。

Layer3HeaderLength

第 3 層標頭的位元組長度,如果第 3 層長度未知,則為零。

Layer4HeaderLength

第 4 層標頭的長度,如果第 4 層長度未知,則為零。

Layer2Type

列舉,指定 來自NET_PACKET_LAYER2_TYPE的旗標。

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

Layer3Type

列舉,指定 來自NET_PACKET_LAYER3_TYPE的旗標。

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

Layer4Type

列舉,指定來自NET_PACKET_LAYER4_TYPE的旗標。

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

Reserved0

保留供系統使用。

備註

如需使用此結構的詳細資訊,請參閱 NET_PACKET的配置成員。

規格需求

需求
最低 KMDF 版本 1.29
最低UMDF版本 2.33
標頭 packet.h