NDIS_OFFLOAD_ENCAPSULATION结构(ndis/encapsulationconfig.h)

当NDIS_OFFLOAD_ENCAPSULATION结构与 OID_OFFLOAD_ENCAPSULATION OID 一起使用时,它指定封装设置。

语法

typedef struct _NDIS_OFFLOAD_ENCAPSULATION {
  NDIS_OBJECT_HEADER Header;
  struct {
    ULONG Enabled;
    ULONG EncapsulationType;
    ULONG HeaderSize;
  } IPv4;
  struct {
    ULONG Enabled;
    ULONG EncapsulationType;
    ULONG HeaderSize;
  } IPv6;
} NDIS_OFFLOAD_ENCAPSULATION, *PNDIS_OFFLOAD_ENCAPSULATION;

成员

Header

NDIS_OFFLOAD_ENCAPSULATION结构的 NDIS_OBJECT_HEADER 结构。 将 标头 指定为 NDIS_OBJECT_TYPE_OFFLOAD_ENCAPSULATION、Revision 成员NDIS_OFFLOAD_ENCAPSULATION_ REVISION _1 以及 大小 成员NDIS_SIZEOF_OFFLOAD_ENCAPSULATION_REVISION_1的结构 类型 成员。

IPv4

NDIS_OFFLOAD_ENCAPSULATION中指定 IPv4 封装且包含以下成员的结构:

IPv4.Enabled

启用 IPv4 封装的 ULONG 值。 如果协议驱动程序启用 IPv4 大型发送卸载版本 1(LSOV1)、大型发送卸载版本 2(LSOV2)或校验和卸载,则协议驱动程序将 启用 设置为NDIS_OFFLOAD_SET_ON。 如果协议驱动程序正在停用所有卸载,则会将“启用” 设置为NDIS_OFFLOAD_SET_OFF。 否则,协议驱动程序会将 已启用 设置为NDIS_OFFLOAD_SET_NO_CHANGE。

IPv4.EncapsulationType

IPv4 封装类型。 如果 “已启用” 成员未设置为NDIS_OFFLOAD_SET_ON,则此成员为零。 如果 已启用 成员设置为NDIS_OFFLOAD_SET_ON,协议驱动程序必须将 EncapsulationType 设置为以下任一类型:

价值 意义
NDIS_ENCAPSULATION_IEEE_802_3
指定 IEEE 802.3 封装。 指定此值后,微型端口驱动程序还应使用NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q或NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOB封装(如果适用)。 有关详细信息,请参阅 NDIS_OFFLOAD 的文档。
NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED
指定路由协议的逻辑链接控制(LLC)封装,如 RFC 1483 中所述。此标志还用于指示以太网 LLC/SNAP 封装。

IPv4.HeaderSize

IPv4 数据包中使用的以太网标头长度。 如果 “已启用” 成员未设置为NDIS_OFFLOAD_SET_ON,则此成员为零。 如果 已启用 成员设置为NDIS_OFFLOAD_SET_ON,协议驱动程序必须将 HeaderSize 设置为其使用的以太网标头的大小。

IPv6

NDIS_OFFLOAD_ENCAPSULATION中指定 IPv6 封装且包含以下成员的结构:

IPv6.Enabled

启用 IPv6 封装的 ULONG 值。 如果协议驱动程序启用 IPv6 LSOV1、LSOV2 或校验和卸载,则 已启用 设置为NDIS_OFFLOAD_SET_ON。 如果协议驱动程序正在停用所有卸载,则会将“启用” 设置为NDIS_OFFLOAD_SET_OFF。 否则,协议驱动程序会将 已启用 设置为NDIS_OFFLOAD_SET_NO_CHANGE。

IPv6.EncapsulationType

IPv6 封装类型。 如果未 将“已启用”成员设置为NDIS_OFFLOAD_SET_ON,则 EncapsulationType 为零。 如果 已启用 成员设置为NDIS_OFFLOAD_SET_ON,协议驱动程序必须将 EncapsulationType 设置为以下任一类型:

价值 意义
NDIS_ENCAPSULATION_IEEE_802_3
指定 IEEE 802.3 封装。 指定此值后,微型端口驱动程序还应使用NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q或NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOB封装(如果适用)。 有关详细信息,请参阅 NDIS_OFFLOAD 的文档。
NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED
指定路由协议的 LLC 封装,如 RFC 1483 中所述。 此标志还用于指示以太网 LLC/SNAP 封装。

IPv6.HeaderSize

IPv6 数据包中使用的以太网标头长度。 如果 “已启用” 成员未设置为NDIS_OFFLOAD_SET_ON,则此成员为零。 如果 已启用 成员设置为NDIS_OFFLOAD_SET_ON,协议驱动程序必须将 HeaderSize 设置为其使用的以太网标头的大小。

言论

NDIS_OFFLOAD_ENCAPSULATION结构指定微型端口适配器应用于任务卸载服务的请求封装设置。

在一组 OID_OFFLOAD_ENCAPSULATION中,协议驱动程序指定 NDIS_OID_REQUEST 结构的 InformationBuffer 成员中的NDIS_OFFLOAD_ENCAPSULATION结构。

要求

要求 价值
最低支持的客户端 NDIS 6.0 及更高版本中受支持。
标头 ndis/encapsulationconfig.h (include ndis.h)

另请参阅

NDIS_OBJECT_HEADER

NDIS_OID_REQUEST

OID_OFFLOAD_ENCAPSULATION