StartIoCancel 规则 (wdm)
StartIoCancel 规则指定,在使用非 NULLCancel 例程调用 IoSetCancelRoutine 之前,驱动程序不得调用 NonCanable 参数设置为 FALSE 的 IoSetStartIoAttries。
在注册 Cancel 例程之前将 NonCancelable 参数设置为 FALSE 可能会导致取消争用条件。
由于驱动程序的 Cancel 例程必须包括对 IoReleaseCancelSpinLock (的调用,以释放 I/O 管理器在调用 取消 例程) 之前获取的旋转锁,因此请考虑使用 StartIoCancel 规则和 CancelSpinLock 规则验证驱动程序。
驱动程序模型:WDM
如何测试
编译时 |
---|
运行 静态驱动程序验证程序 并指定 StartIoCancel 规则。 使用以下步骤运行代码分析:有关详细信息,请参阅 使用静态驱动程序验证程序查找驱动程序中的缺陷。 |
适用于
IoSetCancelRoutineIoSetStartIoAttributes