初始化包含 WDM 下边缘的微型端口驱动程序

操作系统加载微型端口驱动程序后,NDIS 调用微型端口驱动程序的 MiniportInitializeEx 函数来初始化微型端口驱动程序管理的微型端口实例。 若要通过具有 WDM 下边缘的微型端口实例进行通信,微型端口驱动程序必须检索特定信息来设置其通信。

初始化此微型端口实例期间,微型端口驱动程序必须调用 NdisMGetDeviceProperty 函数,以检索通过 WDM 接口设置与微型端口实例通信所需的设备对象。 在此调用中,微型端口驱动程序将句柄传递到 MiniportAdapterHandle 参数中的微型端口 实例,以及接收指向 DEVICE_OBJECT 结构的指针的缓冲区。 微型端口驱动程序使用检索到下一个设备对象的指针 ( NextDeviceObject 参数) 来创建和提交 IRP。 有关详细信息,请参阅 处理 IRP

具有 WDM 下边缘的微型端口驱动程序必须是反序列化的微型端口驱动程序。 反序列化微型端口驱动程序在没有足够的资源立即处理这些请求时,会在内部管理自己的发送和接收请求队列;如果微型端口驱动程序未反序列化,则 NDIS 将管理此队列。 NDIS-WDM 微型端口驱动程序必须反序列化,因为它在 NDIS 调用的上下文之外发送和接收数据包。 在初始化微型端口实例期间,NDIS-WDM 微型端口驱动程序必须指定反序列化功能。 所有 NDIS 6.0 及更高版本的微型端口驱动程序都已反序列化。

请注意,NDIS-WDM 微型端口驱动程序不能是中间驱动程序, (在顶部公开微型端口驱动程序接口的驱动程序,在底部) 为协议驱动程序接口。