Regra InvalidReqAccess (kmdf)

A regra InvalidReqAccess especifica que as solicitações não são acessadas depois que são concluídas ou canceladas. Essa regra pode se sobrepor a outras regras, como regras que verificam a conclusão dupla ou as regras que verificam 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 enviada. Depois que a solicitação for considerada inválida, a solicitação não poderá ser passada para as funções WdfRequestXxx, exceto quando o driver chamar WdfRequestUnixCancelable 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 padrão de retorno de chamada da fila de E/S.

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 seu código:
  1. Prepare seu código (use declarações de tipo de função).
  2. Execute o Verificador de Driver Estático.
  3. Exibir e analisar os resultados.

Para obter mais informações, consulte Usando o verificador de driver estático para encontrar 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