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 设置为以下任一类型:
价值 | 意义 |
---|---|
|
指定 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 数据包中使用的以太网标头长度。 如果 “已启用” 成员未设置为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 设置为以下任一类型:
价值 | 意义 |
---|---|
|
指定 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 数据包中使用的以太网标头长度。 如果 “已启用” 成员未设置为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) |