Regra InvalidReqAccess (kmdf)

A regra InvalidReqAccess especifica que as solicitações não são acessadas depois de concluídas ou canceladas. Essa regra pode se sobrepor a outras regras, como regras que marcar para conclusão dupla ou regras que marcar para solicitações foram marcadas como canceláveis duas vezes.

Uma solicitação será considerada inválida se for concluída, marcada como cancelável ou cancelada depois de ser enviada. Depois que a solicitação for considerada inválida, a solicitação não poderá ser passada para funções WdfRequestXxx , exceto quando o driver chamar WdfRequestUnmarkCancelable se a solicitação tiver sido marcada anteriormente como cancelável.

Essa regra é semelhante à regra InvalidReqAccessLocal ; no entanto, a regra InvalidReqAccessLocal só é executada dentro das funções de retorno de chamada de fila de E/S padrão.

Modelo de driver: KMDF

Como testar

Em tempo de compilação

Execute o Verificador de Driver Estático e especifique a regra InvalidReqAccess .

Use as seguintes etapas para executar uma análise do código:
  1. Prepare seu código (use declarações de tipo de função).
  2. Execute o Verificador de Driver Estático.
  3. Exiba e analise os resultados.

Para obter mais informações, consulte Usando o Verificador de Driver Estático para localizar defeitos em drivers.

Aplica-se a

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