NetAdapterCx 对象的摘要
下图显示了 NetAdapterCx 对象的默认父子关系。 父对象位于图的顶部,因此例如,默认情况下,NETADAPTER 对象是 WDFDEVICE 对象的子对象。 可以具有多个实例的对象由双框表示。
WDFDEVICE 对象是表示设备的标准 框架对象 。 NETADAPTER 对象表示网络接口,该接口是所有网络 I/O 的终结点。 每个 WDFDEVICE 可以有多个 NETADAPTER 对象,其中 WDFDEVICE 是每个 NETADAPTER 的父对象。
大多数网络接口卡 (NIC) 驱动程序的物理设备只有一个 NETADAPTER,但如果某些客户端驱动程序管理具有多个槽的服务器 NIC,则可能具有多个 NETADAPTER。 例如, 移动宽带 WDF 类扩展 (MBBCx) 客户端驱动程序可能会管理多个 NETADAPTER 对象,每个对象表示一个附加的数据包数据协议 (PDP) 上下文。
NETADAPTER 对象必须通过调用 NetAdapterInitAllocate 和 NetAdapterCreate 从客户端驱动程序的 EVT_WDF_DRIVER_DEVICE_ADD 回调函数中进行初始化和创建。 然后,必须通过调用 NetAdapterStart 从驱动程序的 EVT_WDF_DEVICE_PREPARE_HARDWARE 回调函数中启动它。 在调用 NetAdapterStart 之前,驱动程序可以选择性地设置适配器的功能,例如链接层功能、电源功能、数据路径功能、接收缩放功能和硬件卸载功能。
有关 NET_PACKET与 NET_FRAGMENT 对象之间的关系的详细信息,请参阅 数据包描述符和扩展。 有关 NET_RING 对象的详细信息,请参阅 Net Ring 简介。