DrvAckIoStop 规则 (kmdf)

DrvAckIoStop 规则验证驱动程序在电源管理的队列关闭时是否知道挂起的请求,并且驱动程序会相应地确认、完成或取消挂起的请求。 对于自托管 I/O 请求,驱动程序还应正确处理来自其 EvtDeviceSelfManagedIoSuspend 函数的 这些请求。 在关机期间无法处理这些请求的驱动程序将导致 bug 检查0x9F:DRIVER_POWER_STATE_FAILURE

在某些情况下,可能适合禁止显示此警告。 如果驱动程序不保留请求,或未将其转发给其他驱动程序,并且驱动程序直接在队列的处理程序中完成请求,则可以使用 __analysis_assume 函数来禁止显示警告。 有关详细信息,请参阅 使用 _analysis_assume 函数禁止错误缺陷如何:使用 __analysis_assume 指定其他代码信息

驱动程序模型:KMDF

通过以下规则找到 bug 检查 () Bug 检查0x9F:DRIVER_POWER_STATE_FAILURE

如何测试

编译时

运行 静态驱动程序验证程序 并指定 DrvAckIoStop 规则。

使用以下步骤运行代码分析:
  1. 准备代码 (使用角色类型声明) 。
  2. 运行静态驱动程序验证程序。
  3. 查看和分析结果。

有关详细信息,请参阅 使用静态驱动程序验证程序查找驱动程序中的缺陷

适用于

WdfDeviceInitSetPnpPowerEventCallbacksWdfFdoInitSetFilterWdfIoQueueCreate