卸载中间驱动程序

NDIS 调用 MiniportDriverUnload 函数来卸载中间驱动程序。 中间驱动程序必须在 MiniportDriverUnload 中执行与其他微型端口驱动程序相同的操作。 除了调用 NdisMDeregisterMiniportDriver 函数外,中间驱动程序还调用 NdisDeregisterProtocolDriverMiniportDriverUnload 还应执行任何必要的清理操作,例如解除分配任何协议驱动程序资源。

若要在卸载中间驱动程序之前执行清理操作,中间驱动程序可以注册 ProtocolUninstall 函数。 例如,中间驱动程序的协议下边缘可能需要 ProtocolUninstall 函数。 在 NDIS 调用其 MiniportDriverUnload 函数之前,中间驱动程序可以在 ProtocolUninstall 中释放其协议边缘资源。

微型端口中间驱动程序调用 NdisMDeregisterMiniportDriver 两次,一次调用其物理设备接口,一次调用虚拟设备接口。