windows网络适配器驱动开发-移动宽带 (MBB) WDF 类扩展 (MBBCx) 从下一个版本的 Windows 10 开始Windows 驱动程序工具包 (WDK) 包括移动宽带 (MBB) WDF 类扩展可与 NetAdapterCx 配合使用。 MBB-NetAdapter客户端驱动程序首先是完全完善的 WDF 客户端驱动程序然后是 NetAdapterCx 客户端驱动程序就像其他 NIC 驱动程序一样最后是 MBB 类扩展的客户端驱动程序 (MBBCx) 提供 MBB 媒体特定的功能。 以下方块图演示了 MBBCx 体系结构MBB-NetAdapter客户端驱动程序根据其与框架的关系执行 3 类任务第一类任务调用标准 WDF API 处理通用设备任务驱动程序调用标准 WDF API 来处理所有 WDF 客户端驱动程序共通的设备管理任务主要包括即插即用PnP和电源管理。这类 API 由 WDF 框架直接提供涵盖了设备初始化、设备状态管理、I/O 队列管理、中断处理等基础功能。例如驱动程序通过 WdfDeviceCreate 创建设备对象通过注册 EvtDeviceD0Entry 事件回调在其设备进入工作状态时收到通知。这些标准 WDF API 是所有基于 WDF 的驱动程序无论何种设备类型都需要使用的基础接口。第二类任务调用 NetAdapterCx API 处理网络数据路径操作驱动程序调用 NetAdapterCx API 来进行常见的网络设备操作例如传输或接收网络数据包。这类 API 由 NetAdapter 类扩展提供专门用于网络 I/O 操作。NetAdapterCx 引入了数据路径队列datapath queues的概念允许客户端驱动程序在软件中更明确地建模其硬件功能。在网络数据传输过程中网络数据由包描述符表示通过包队列进行传输。当框架调用接收队列的 EvtPacketQueueAdvance 回调函数时NetAdapterCx 客户端驱动程序接收网络数据。第三类任务调用 MbbCx API 处理 MBB 特定的控制路径操作驱动程序调用 MbbCx API 来进行特定于 MBB 的控制路径操作例如 MBIMMobile Broadband Interface Model消息处理。这类 API 由 MBBCx 类扩展提供专门处理移动宽带设备的控制平面功能。在初始化过程中MBB 客户端驱动程序需要在其 EvtDriverDeviceAdd 回调函数中调用 NetDeviceInitConfig 和 MbbDeviceInitConfig然后调用 WdfDeviceCreate 创建设备对象最后调用 MbbDeviceInitialize 注册 MBB 设备特定的回调函数。与其他类型的 NetAdapterCx 驱动程序不同MBB 客户端驱动程序不得在 EvtDriverDeviceAdd 回调函数中直接创建 NETADAPTER 对象。相反在建立数据会话之前MBBCx 会通过调用客户端驱动程序的 EvtMbbDeviceCreateAdapter 回调函数指示客户端驱动程序创建 NETADAPTER 对象。MBBCx 将使用该 NETADAPTER 对象来表示已激活的数据会话的网络接口。

本周精选

本月热点