初始化虚拟微型端口

若要启动虚拟微型端口的初始化,中间驱动程序调用 NdisIMInitializeDeviceInstanceEx 函数。 中间驱动程序通常从其 ProtocolBindAdapterEx 函数发出此调用。 中间驱动程序调用 NdisIMInitializeDeviceInstanceEx,即插即用管理器请求 NDIS 启动虚拟设备后,NDIS 调用驱动程序的 MiniportInitializeEx 函数。

如果即插即用管理器在 NdisIMInitializeDeviceInstanceEx 返回之前启动虚拟设备,则可以在 NdisIMInitializeDeviceInstanceEx 的上下文中调用 MiniportInitializeEx 如果中间驱动程序提供多个虚拟微型端口,驱动程序必须针对它提供的每个虚拟微型端口调用 NdisIMInitializeDeviceInstanceEx

NDIS 在 MiniportInitParameters 的NDIS_MINIPORT_INIT_PARAMETERS结构中将初始化参数传递给 MiniportInitializeEx 结构的 IMDeviceInstanceContext 成员指定指向虚拟设备的上下文区域的指针。 驱动程序将此指针传递给 DeviceContext 参数处 NdisIMInitializeDeviceInstanceEx 函数。

MiniportInitializeEx 中,中间驱动程序执行初始化虚拟微型端口所需的操作。 此初始化类似于任何其他微型端口适配器的初始化。