InvalidReqAccessLocal 규칙(kmdf)

InvalidReqAccessLocal 규칙은 로컬로 만든 요청이 완료되거나 취소된 후에 액세스되지 않도록 지정합니다. 이 규칙은 이중 완성을 위해 검사 규칙이나 요청에 대한 검사 취소 가능한 것으로 두 번 표시된 규칙과 같은 다른 규칙과 겹칠 수 있습니다.

요청이 완료되거나, 취소 가능으로 표시되거나, 전송된 후 취소된 경우 잘못된 것으로 간주됩니다. 요청이 잘못된 것으로 간주되면 요청이 이전에 취소 가능으로 표시된 경우 드라이버가 WdfRequestUnmarkCancelable을 호출하는 경우를 제외하고 WdfRequestXxx 함수에 요청을 전달할 수 없습니다.

이 규칙은 InvalidReqAccess 규칙과 유사합니다. 그러나 InvalidReqAccessLocal 규칙은 기본 I/O 큐 콜백 함수 내에서만 수행됩니다.

드라이버 모델: KMDF

테스트 방법

컴파일 시

정적 드라이버 검증 도구 를 실행하고 InvalidReqAccessLocal 규칙을 지정합니다.

다음 단계를 사용하여 코드 분석을 실행합니다.
  1. 코드를 준비합니다(역할 형식 선언 사용).
  2. 정적 드라이버 검증 도구 실행
  3. 결과를 보고 분석합니다.

자세한 내용은 정적 드라이버 검증 도구로 드라이버에서 결함 찾기를 참조하세요.

적용 대상

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