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,则协议驱动程序必须将 封装类型 设置为下列值之一:
值 | 含义 |
---|---|
|
指定 IEEE 802.3 封装。 指定此值后,微型端口驱动程序还应使用NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q或NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOB封装(如果适用)。 有关详细信息,请参阅 NDIS_OFFLOAD 文档。 |
|
为路由协议指定逻辑链接控制 (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,则协议驱动程序必须将 封装类型 设置为下列值之一:
值 | 含义 |
---|---|
|
指定 IEEE 802.3 封装。 指定此值后,微型端口驱动程序还应使用NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q或NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOB封装(如果适用)。 有关详细信息,请参阅 NDIS_OFFLOAD 文档。 |
|
指定路由协议的 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) |