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

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

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

diagram illustrating resetting a network interface card.

MiniportResetEx 应:

  • 禁用进一步中断。

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

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

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

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

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

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

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