InvalidReqAccessLocal 规则指定在完成或取消本地创建的请求后,不会访问这些请求。 此规则可能与其他规则重叠,例如检查双完成的规则,或为请求检查的规则已标记为可取消两次。
如果请求已完成、标记为可取消或在发送后已取消,则会将其视为无效。 请求被视为无效后,无法将请求传递到 WdfRequestXxx 函数,除非驱动程序调用 WdfRequestUnmarkCancelable (如果请求以前标记为可取消)。
此规则类似于 InvalidReqAccess 规则;但是, InvalidReqAccessLocal 规则仅在默认 I/O 队列回调函数中执行。
驱动程序模型:KMDF
如何测试
| 编译时 | 
|---|
| 运行 静态驱动程序验证程序 并指定 InvalidReqAccessLocal 规则。使用以下步骤运行代码分析: 有关详细信息,请参阅 使用静态驱动程序验证程序查找驱动程序中的缺陷。 | 
适用于
              
              WdfObjectDelete
              
              WdfRequestAllocateTimer
              
              WdfRequestCancelSentRequest
              
              WdfRequestChangeTarget
              
              WdfRequestCreate
              
              WdfRequestFormatRequestUsingCurrentType
              
              WdfRequestForwardToIoQueue
              
              WdfRequestGetCompletionParams
              
              WdfRequestGetFileObject
              
              WdfRequestGetInformation
              
              WdfRequestGetIoQueue
              
              WdfRequestGetParameters
              
              WdfRequestGetRequestorMode
              
              WdfRequestIsFrom32BitProcess
              
              WdfRequestMarkCancelable
              
              WdfRequestMarkCancelableEx
              
              WdfRequestProbeAndLockUserBufferForRead
              
              WdfRequestProbeAndLockUserBufferForWrite
              
              WdfRequestRequeue
              
              WdfRequestRetrieveInputBuffer
              
              WdfRequestRetrieveInputMemory
              
              WdfRequestRetrieveInputWdmMdl
              
              WdfRequestRetrieveOutputBuffer
              
              WdfRequestRetrieveOutputMemory
              
              WdfRequestRetrieveOutputWdmMdl
              
              WdfRequestRetrieveUnsafeUserInputBuffer
              
              WdfRequestRetrieveUnsafeUserOutputBuffer
              
              WdfRequestReuse
              
              WdfRequestSend
              
              WdfRequestSetCompletionRoutine
              
              WdfRequestSetInformation
              
              WdfRequestUnmarkCancelable
              
              WdfRequestWdmFormatUsingStackLocation
              
              WdfRequestWdmGetIrp
              
              RemoveHeadList