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结构。 设置 Header 指定要NDIS_OBJECT_TYPE_OFFLOAD_ENCAPSULATION的结构的 Type 成员、要NDIS_OFFLOAD_ENCAPSULATION_ REVISION _1 的 Revision 成员,并将 Size 成员设置为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 及更高版本中受支持。
Header ndis/encapsulationconfig.h (包括 ndis.h)

另请参阅

NDIS_OBJECT_HEADER

NDIS_OID_REQUEST

OID_OFFLOAD_ENCAPSULATION