ReqNotCanceledLocal rule (kmdf)
ReqNotCanceledLocal 规则指定,如果在默认 I/O 队列回调函数中完成标记为可取消的请求,则必须在完成之前对 I/O 请求调用 WdfRequestUnmarkCancelable 方法。 I/O 请求必须完成,除非请求在调用 WdfRequestUnmarkCancelable 之前已取消。
如果通过调用 WdfRequestComplete、WdfRequestCompleteWithInformation 或 WdfRequestCompleteWithPriorityBoost) 完成 (,则必须在完成 I/O 请求之前调用 WdfRequestUnmarkCancelable 方法。 请求可以完成,除非 WdfRequestUnmarkCancelable 方法返回的状态等于 STATUS_CANCELLED。
请求的默认 I/O 队列回调函数为 EvtIoDefault、 EvtIoRead、 EvtIoWrite、 EvtIoDeviceControl、 EvtIoInternalDeviceControl。
驱动程序模型:KMDF
如何测试
编译时 |
---|
运行 静态驱动程序验证程序 并指定 ReqNotCanceledLocal 规则。 使用以下步骤运行代码分析:有关详细信息,请参阅 使用静态驱动程序验证程序查找驱动程序中的缺陷。 |
适用于
WdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestMarkCancelableWdfRequestMarkCancelableExWdfRequestUnmarkCancelable