将微型端口驱动程序移植到 NDIS 6.20 所要做出的更改摘要
本主题总结了将 NDIS 6.x 微型端口驱动程序移植到 NDIS 6.20 所需的更改。
NDIS 6.20 保留与早期 NDIS 版本的向后兼容性。 有关向后兼容性的详细信息,请参阅 NDIS 6.20 向后兼容性。
若要更新微型端口驱动程序以支持 NDIS 6.20 环境,必须修改 NDIS 6.x 微型端口驱动程序,如下所示:
生成环境
将预处理器定义NDIS60_MINIPORT_DRIVER或NDIS61_MINIPORT_DRIVER替换为NDIS620_MINIPORT_DRIVER。
将过时的接口替换为 NDIS 6.20 版本。 有关已过时接口的详细信息,请参阅 NDIS 6.20 中的过时接口。
更新以下接口以支持超过 64 个处理器:
- 接收方缩放 (RSS)
- 处理器信息设备驱动程序接口
- 资源分配
- 读取和写入锁
有关支持超过 64 个处理器的详细信息,请参阅 支持 NDIS 6.20 中超过 64 个处理器。
在传递给 NdisMRegisterMiniportDriver 函数的 NDIS_MINIPORT_DRIVER_CHARACTERISTICS 结构的 MajorNdisVersion 和 MinorNdisVersion 成员中,将 NDIS 版本设置为 6.20。
将 NDIS_MINIPORT_DRIVER_CHARACTERISTICS 结构的 MajorDriverVersion 和 MinorDriverVersion 成员中的微型端口驱动程序版本设置为适当的特定于驱动程序的值。
在 NDIS_MINIPORT_DRIVER_CHARACTERISTICS 结构中定义直接 OID 请求入口点。 对于 NDIS 6.1 驱动程序,对直接 OID 请求接口的支持是可选的,但对于 NDIS 6.20 驱动程序是必需的。 有关微型端口驱动程序直接 OID 请求接口的详细信息,请参阅 微型端口适配器 OID 请求。
使用最新版本的微型端口适配器功能播发接口。 以下接口具有更新的功能:
- 电源管理
- 接收方缩放 (RSS)
- 硬件辅助 (VMQ)
使用以下结构的更新版本:
- NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES
- NDIS_RESTART_GENERAL_ATTRIBUTES
- NDIS_RECEIVE_SCALE_PARAMETERS
- NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES
有关 NDIS 结构版本信息的信息,请参阅 指定 NDIS 版本信息。
NDIS 6.20 驱动程序在处理接收中断时必须支持接收方限制 (RST) 。 MiniportInterruptDPC 和 MiniportMessageInterruptDPC DPC 处理程序函数的 ReceiveThrottleParameters 参数指向NDIS_RECEIVE_THROTTLE_PARAMETERS结构。 在进入延迟过程调用 (DPC) 处理程序时,NDIS_RECEIVE_THROTTLE_PARAMETERS 结构的 MaxNblsToIndicate 成员指定微型端口驱动程序应在 DPC 中指示的最大 NET_BUFFER_LIST 结构数。 有关 RST 的详细信息,请参阅 NDIS 6.20 中的接收端限制。
使用 更新版本的 NET_BUFFER 结构。
(可选) (VMQ) 接口支持虚拟机队列。 有关 VMQ 的详细信息,请参阅 NDIS 6.20 中的虚拟机队列 (VMQ) 。