Regra InvalidReqAccessLocal (KMDF)

A regra InvalidReqAccessLocal especifica que as solicitações criadas localmente não são acessadas após serem concluídas ou canceladas. Essa regra pode se sobrepor a outras regras, como regras que verificam a conclusão dupla ou regras que verificam se há solicitações foram marcadas como cancelable 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 WdfRequestUnmarkCancelable se a solicitação tiver sido previamente marcada como cancelável.

Essa regra é semelhante à regra InvalidReqAccess ; no entanto, a regra InvalidReqAccessLocal é executada somente 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 InvalidReqAccessLocal .

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. Exiba e analise os resultados.

Para obter mais informações, consulte usando o verificador de driver estático para encontrar defeitos nos drivers.

Aplica-se a

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