将微型端口驱动程序移植到 NDIS 6.30 所要做出的更改摘要
若要更新 NDIS 6.x 微型端口驱动程序以支持 NDIS 6.30,必须修改它,如以下部分所述。
有关 NDIS 6.30 功能的详细信息,请参阅 NDIS 6.30 简介。
生成环境和测试
将预处理器定义NDIS60_MINIPORT、NDIS61_MINIPORT或NDIS620_MINIPORT替换为NDIS630_MINIPORT。 有关详细信息,请参阅 编译 NDIS 6.30 驱动程序
将预处理器定义 NDIS60 或 NDIS61 或 NDIS620(如果存在)替换为 NDIS630。 注意 此项仅适用于 NDIS 中间、协议和筛选器驱动程序。 大多数 NDIS 微型端口驱动程序不需要此预处理器定义。
在 NDIS 6.30 中,如果同时或在系统启动期间有两个适配器插入系统,NDIS 可以并行调用 MiniportInitializeEx 两次。 请务必在此“并行启动”条件下测试微型端口驱动程序。
常规移植要求
- 如实现 NDIS 6.30 驱动程序中所述,更新 NDIS_Xxx_DRIVER_CHARACTERISTICS 结构中的主版本号和次要 NDIS 版本号。
- 对于为 NDIS 6.30 更新的所有结构,微型端口驱动程序需要使用正确的 Revision 和 Size 值更新结构的标头成员。 有关详细信息,请参阅 使用 NDIS 6.30 数据结构。
- 所有微型端口驱动程序都应实现暂停时不暂停功能。 有关详细信息,请参阅:
Wi-Fi Direct 微型端口驱动程序
在 MiniportInitializeEx 期间,Wi-Fi支持 Direct 的微型端口驱动程序必须初始化默认的 802.11 MAC 实体。 它还必须使用 NdisMSetMiniportAttributes 函数报告其Wi-Fi Direct 和 Virtual Wi-Fi 功能。
注意 驱动程序不需要向 NDIS 注册对应于默认 MAC 实体的 NDIS 端口。
USB-Based WWAN (移动宽带) 微型端口驱动程序
对于基于 USB 的移动宽带设备,Windows 8 提供了一个类驱动程序,该驱动程序适用于符合 MBIM 规范的设备。 此模型称为移动宽带 (MB) 类驱动程序。 但是,类驱动程序不能支持 MB 设备公开的所有功能。 因此,MB 功能提供了一种定义完善的机制,可用于扩展类驱动程序功能。 有关详细信息,请参阅 MB 设备服务。
如果基于 USB 的 WWAN 微型端口驱动程序无法实现 MB 类驱动程序,则至少必须实现 NDIS 选择性挂起 功能。