Partilhar via


Regra InvalidReqAccessLocal (kmdf)

A regra InvalidReqAccessLocal especifica que as solicitações criadas localmente 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 InvalidReqAccess ; 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 InvalidReqAccessLocal .

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

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