微型端口驱动程序硬件重置

微型端口驱动程序必须向 NdisMRegisterMiniportDriver 注册 MiniportResetEx 函数。

MiniportResetEx 可以通过调用 NdisMResetComplete 以同步或异步方式完成 (请参阅下图) 。

说明重置网络接口卡过程的关系图。

MiniportResetEx 应:

  • 禁用进一步的中断。

  • 清除与正在进行的任何发送关联的数据。 例如,在用于 (DMA) 设备的总线主直接内存访问的环形缓冲区上,应清除用于发送缓冲区的指针。 反序列化和面向连接的微型端口驱动程序必须为任何排队发送请求返回NDIS_STATUS_REQUEST_ABORTED。

  • 将硬件状态和微型端口驱动程序的内部状态还原到重置操作之前存在的状态。

微型端口驱动程序负责还原设备的硬件状态,但多播地址、数据包筛选器、任务卸载设置和唤醒模式除外。 这些设置由微型端口驱动程序或 NDIS 还原。 微型端口驱动程序通过在 AddressingReset 参数中返回布尔值来确定谁负责还原这些设置。

如果微型端口驱动程序在 AddressingReset 参数中返回 FALSE,微型端口驱动程序会将其多播地址、数据包筛选器、任务卸载设置和唤醒模式还原到其初始状态。 如果微型端口驱动程序在 AddressingReset 中返回 TRUE,则 NDIS 调用无连接微型端口驱动程序的 MiniportOidRequest 函数或面向连接的微型端口驱动程序的 MiniportCoOidRequest 函数来设置以下配置设置:

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

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

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