Regla invalidReqAccessLocal (kmdf)

La regla InvalidReqAccessLocal especifica que no se tiene acceso a las solicitudes creadas localmente una vez completadas o canceladas. Esta regla puede superponerse con otras reglas, como reglas que comprueban la finalización doble o las reglas que comprueban si hay solicitudes se han marcado como cancelables dos veces.

Una solicitud se considera no válida si se completa, se marca como cancelable o cancelada después de enviarla. Una vez que la solicitud se considera no válida, la solicitud no se puede pasar a las funciones WdfRequestXxx , excepto cuando el controlador llama a WdfRequestUnmarkCancelable si la solicitud se marcó previamente como cancelable.

Esta regla es similar a la regla InvalidReqAccess ; sin embargo, la regla InvalidReqAccessLocal solo se realiza dentro de las funciones de devolución de llamada de cola de E/S predeterminadas.

Modelo de controlador: KMDF

Cómo probar

En tiempo de compilación

Ejecute el Comprobador de controladores estáticos y especifique la regla InvalidReqAccessLocal .

Usa los pasos siguientes para ejecutar un análisis de tu código:
  1. Prepara el código (usa declaraciones de tipos de rol).
  2. Ejecuta el comprobador de controlador estático.
  3. Consulta y analiza los resultados.

Para obtener más información, consulte Uso del comprobador de controladores estáticos para buscar defectos en controladores.

Se aplica 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