InvalidReqAccess 規則 (kmdf)

InvalidReqAccess規則指定當要求完成或取消之後,就不會存取這些要求。 此規則可能與其他規則重迭,例如檢查雙完成的規則,或檢查要求的規則是否已標示為可取消兩次。

如果要求已完成、標示為可取消,或在傳送後取消,則會被視為不正確要求。 將要求視為無效之後,如果要求先前標示為可取消,則無法將要求傳遞至 WdfRequestXxx 函式,除非驅動程式呼叫 WdfRequestUnmarkCancelable

此規則類似于 InvalidReqAccessLocal 規則;不過, InvalidReqAccessLocal 規則只會在預設 i/o 佇列回呼函式中執行。

驅動程式模型: KMDF

測試方法

在編譯時期

執行 靜態驅動程式驗證 器,並指定 InvalidReqAccess 規則。

使用下列步驟來執行程式碼分析:
  1. 準備您的程式碼, (使用) 的角色類型聲明。
  2. 執行靜態驅動程式驗證器。
  3. 查看及分析結果。

如需詳細資訊,請參閱 使用靜態驅動程式驗證器找出驅動程式中的瑕疵

適用於

WdfRequestAllocateTimer
WdfRequestCancelSentRequest
WdfRequestChangeTarget
WdfRequestComplete
WdfRequestCompleteWithInformation
WdfRequestCompleteWithPriorityBoost
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