NDIS_OFFLOAD_ENCAPSULATION 结构 (ndis/封装配置.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结构。 将 Header 指定的结构的 Type 成员设置为 NDIS_OBJECT_TYPE_OFFLOAD_ENCAPSULATION,将 Revision 成员设置为 NDIS_OFFLOAD_ENCAPSULATION_ REVISION _1,并将 Size 成员设置为 NDIS_SIZEOF_OFFLOAD_ENCAPSULATION_REVISION_1。

IPv4

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

IPv4.Enabled

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

IPv4.EncapsulationType

IPv4 封装类型。 如果 Enabled 成员未设置为 NDIS_OFFLOAD_SET_ON,则此成员为零。 如果 Enabled 成员设置为 NDIS_OFFLOAD_SET_ON,则协议驱动程序必须将 封装类型 设置为下列值之一:

含义
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 数据包中使用的以太网标头长度。 如果 Enabled 成员未设置为 NDIS_OFFLOAD_SET_ON,则此成员为零。 如果 Enabled 成员设置为 NDIS_OFFLOAD_SET_ON,则协议驱动程序必须将 HeaderSize 设置为它使用的以太网标头的大小。

IPv6

NDIS_OFFLOAD_ENCAPSULATION中的一个结构,它指定 IPv6 封装并包含以下成员:

IPv6.Enabled

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

IPv6.EncapsulationType

IPv6 封装类型。 如果 Enabled 成员未设置为 NDIS_OFFLOAD_SET_ON, 则封装类型 为零。 如果 Enabled 成员设置为 NDIS_OFFLOAD_SET_ON,则协议驱动程序必须将 封装类型 设置为下列值之一:

含义
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 数据包中使用的以太网标头长度。 如果 Enabled 成员未设置为 NDIS_OFFLOAD_SET_ON,则此成员为零。 如果 Enabled 成员设置为 NDIS_OFFLOAD_SET_ON,则协议驱动程序必须将 HeaderSize 设置为它使用的以太网标头的大小。

注解

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

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

要求

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

另请参阅

NDIS_OBJECT_HEADER

NDIS_OID_REQUEST

OID_OFFLOAD_ENCAPSULATION