初始化微型端口中间驱动程序

微型端口中间驱动程序结合了虚拟设备的微型端口驱动程序、协议驱动程序和物理设备的微型端口驱动程序。 微型端口中间驱动程序的功能类似于在微型端口驱动程序上分层的中间驱动程序。 此类驱动程序允许中间驱动程序直接与基础微型端口驱动程序通信,而不会因两个单独的驱动程序而产生性能损失。

为了注册其物理微型端口驱动程序,微型端口中间驱动程序使用适当的参数调用 NdisMRegisterMiniportDriver 函数,就像对任何微型端口驱动程序一样。 为了注册其虚拟微型端口,驱动程序再次调用 NdisMRegisterMiniportDriver ,但在 MiniportDriverCharacteristics 的结构中设置了NDIS_INTERMEDIATE_DRIVER标志。

对于微型端口中间驱动程序的每个虚拟或物理设备实例,如果 IMMiniport 注册表项设置为 DWORD:0x0000001,NDIS 将调用驱动程序为虚拟设备注册的 MiniportInitializeEx 函数。 否则,NDIS 会调用驱动程序为物理设备注册的驱动程序的 MiniportInitializeEx 函数。