NDIS 6.80 简介
本主题介绍 NDIS) 6.80 (网络驱动程序接口规范,并介绍其主要设计新增功能。 NDIS 6.80 包含在 Windows 10 版本 1709 中。
NDIS 6.80 是适用于微型端口、协议、筛选器和中间驱动程序的 NDIS 6.70 次要版本更新。 有关将 NDIS 6.x 驱动程序移植到 NDIS 6.80 的详细信息,请参阅 将 NDIS 6.x 驱动程序移植到 NDIS 6.80。
对于 NIC 驱动程序,NetAdapter 类扩展 (NetAdapterCx) 已在 Windows 10 版本 1709 中从版本 1.0 更新到版本 1.1。
功能更新
同步 OID 请求
NDIS 6.80 为 OID(同步 OID 请求)引入了一项新功能。 与常规 OID 请求相比,同步 OID 调用具有低延迟、非阻塞性、可缩放性和可靠性。 有关详细信息,请参阅 NDIS 6.80 中的同步 OID 请求接口。
RSSv2
在 NDIS 6.80 中, 接收方缩放 (RSS) 已升级到 RSS 版本 2 (RSSv2) 。 RSSv2 通过提供按 VPort 分布来改进 RSSv2。 有关详细信息,请参阅 NDIS 6.80 中的接收方缩放版本 2 (RSSv2) 。
RSSv2 仅在 Windows 10 版本 1709 中提供预览版。
其他新的网络功能
NDIS 构成了 Windows 上的网络驱动程序平台的核心基础。 有关与 NDIS 6.80 同时更新的其他网络驱动程序功能的列表,请参阅Windows 10版本 1709 部分,了解驱动程序开发中的新增功能中的网络。
实现 NDIS 6.80 驱动程序
NDIS 6.80 驱动程序必须遵循 实现 NDIS 6.30 驱动程序中定义的要求。
此外,NDIS 6.80 驱动程序必须符合以下要求:
NDIS 6.80 驱动程序在向 NDIS 注册时必须报告正确的 NDIS 版本。
必须更新 NDIS_Xxx_DRIVER_CHARACTERISTICS 结构中的主 NDIS 和次要 NDIS 版本号以支持 NDIS 6.80。 MajorNdisVersion 成员必须包含 6,MinorNdisVersion 成员必须包含 80。 此要求适用于微型端口、协议和筛选器驱动程序。
还必须更新编译器的版本信息 (请参阅 编译 NDIS 6.80 驱动程序) 。
微型端口驱动程序必须设置 NDIS_MINIPORT_DRIVER_CHARACTERISTICS 的 Header 成员:将 Revision 设置为 NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3,将 Size 设置为 NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3。
筛选器驱动程序必须将标头 成员设置为NDIS_FILTER_DRIVER_CHARACTERISTICS:将 Revision 设置为 NDIS_FILTER_CHARACTERISTICS_REVISION_3, 将 Size 设置为 NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_3。
协议驱动程序必须设置 NDIS_PROTOCOL_DRIVER_CHARACTERISTICS 的 Header 成员:将 Revision 设置为 NDIS_PROTOCOL_CHARACTERISTICS_REVISION_2,将 Size 设置为 NDIS_SIZEOF_PROTOCOL _DRIVER_CHARACTERISTICS_REVISION_2。
编译 NDIS 6.80 驱动程序
NIC 驱动程序
有关使用 NetAdapterCx 编译 NIC 驱动程序的详细信息,请参阅 将 NDIS 微型端口驱动程序移植到 NetAdapterCx (编译设置) 。
微型端口、协议和筛选器驱动程序
Windows 10版本 1709 的 WDK 支持标头版本控制。 标头版本控制可确保 NDIS 6.80 驱动程序在编译时使用适当的 NDIS 6.80 数据结构。
将以下编译器设置添加到驱动程序的 Visual Studio 项目:
- 对于微型端口驱动程序,请添加
NDIS680_MINIPORT=1
。 - 对于筛选器或协议驱动程序,请添加
NDIS680=1
。
有关使用 WDK Windows 10版本 1709 生成驱动程序的信息,请参阅生成驱动程序。
API 和数据结构更改
新的 API 和数据结构
以下 API 和数据结构是 NDIS 6.80 中的新增功能。
- MINIPORT_SYNCHRONOUS_OID_REQUEST
- FILTER_SYNCHRONOUS_OID_REQUEST
- FILTER_SYNCHRONOUS_OID_REQUEST_COMPLETE
- NdisFSynchronousOidRequest
- NdisSynchronousOidRequest
- OID_GEN_RECEIVE_SCALE_PARAMETERS_V2
- OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES
- NDIS_RECEIVE_SCALE_PARAMETERS_V2
- NDIS_RSS_SET_INDIRECTION_ENTRIES
- NDIS_RSS_SET_INDIRECTION_ENTRY
更新了 API 和数据结构
NDIS 6.80 中更新了以下 API 和数据结构。