通过


微型端口驱动程序中止处理程序

NDIS 微型端口驱动程序必须向 NdisMRegisterMiniportDriver 提供 MiniportHaltEx 函数。

MiniportHaltEx 应撤消 MiniportInitializeEx 所做的一切。 例如,NDIS 微型端口驱动程序可能:

下图演示了卸载微型端口驱动程序。

说明卸载微型端口驱动程序的过程的关系图。

MiniportHaltEx 应在返回之前完成必要的操作以卸载驱动程序。 如果微型端口驱动程序有任何未处理的接收指示(即,接收到已向 NDIS 指示但 NDIS 尚未返回的网络数据),则 MiniportHaltEx 函数必须在此类数据返回到微型端口驱动程序的 MiniportReturnNetBufferLists 函数后才能返回。

上图显示了一组可由 MiniportHaltEx 函数进行的调用。 这些调用只是可以进行的调用的子集。 实际调用集取决于微型端口驱动程序的先前操作。 微型端口驱动程序可以在 MiniportInitializeEx 中执行这些相同的调用(如果由于硬件问题或无法获取所需的资源)而无法成功初始化网络适配器。 在这种情况下,MiniportInitializeEx 应通过撤消其以前的操作来卸载驱动程序。 否则,MiniportHaltEx 将撤消 MiniportInitializeEx 的动作。

以下列表描述了撤消微型端口驱动程序可能执行的某些操作所需的调用:

微型端口驱动程序的适配器状态

释放 NDIS 端口

停止微型端口适配器

微型端口适配器状态和操作

微型端口驱动程序重置和停止函数