NET_PACKET_LAYOUT構造体 (packet.h)

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 の長さが不明な場合は 0。

Layer3HeaderLength

レイヤー 3 ヘッダーの長さ (バイト単位)、またはレイヤー 3 の長さが不明な場合は 0。

Layer4HeaderLength

レイヤー 4 ヘッダーの長さ。レイヤー 4 の長さが不明な場合は 0。

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の Layout メンバーに関 するページを参照してください。

要件

要件
最小 KMDF バージョン 1.29
Header packet.h