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 |