StartIoCancel 规则 (wdm)
StartIoCancel 规则指定,在使用非 NULLCancel 例程调用 IoSetCancelRoutine 之前,驱动程序不得调用 NonCanable 参数设置为 FALSE 的 IoSetStartIoAttries。
在注册 Cancel 例程之前将 NonCancelable 参数设置为 FALSE 可能会导致取消争用条件。
由于驱动程序的 Cancel 例程必须包括对 IoReleaseCancelSpinLock (的调用,以释放 I/O 管理器在调用 取消 例程) 之前获取的旋转锁,因此请考虑使用 StartIoCancel 规则和 CancelSpinLock 规则验证驱动程序。
驱动程序模型:WDM
如何测试
编译时 |
---|
运行 静态驱动程序验证程序 并指定 StartIoCancel 规则。 使用以下步骤运行代码分析:有关详细信息,请参阅 使用静态驱动程序验证程序查找驱动程序中的缺陷。 |
适用于
IoSetCancelRoutineIoSetStartIoAttributes
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈