MemAfterReqCompletedReadA 규칙(kmdf)

MemAfterReqCompletedReadA 규칙은 EvtIoRead 콜백 함수 내에서 I/O 요청이 완료된 후 프레임워크 메모리 개체에 액세스할 수 없으므로 지정합니다.

드라이버의 EvtIoRead 콜백 함수 내에서 I/O 요청에서 WdfRequestRetrieveOutputMemory 메서드를 호출하여 검색된 프레임워크 메모리 개체는 WdfRequestComplete, WdfRequestCompleteWithInformation 또는 WdfRequestCompleteWithPriorityBoost를 호출한 후에 액세스할 수 없습니다.

이 규칙은 다음 메모리 액세스 방법을 고려합니다.

WdfMemoryGetBufferWDF_MEMORY_DESCRIPTOR_INIT_HANDLEWdfMemoryAssignBufferWdfMemoryCopyToBufferWdfMemoryCopyFromBufferWdfObjectReferenceWdfObjectDereferenceWdfObjectDelete

드라이버 모델: KMDF

테스트 방법

컴파일 시

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

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

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

적용 대상

WDF_MEMORY_DESCRIPTOR_INIT_HANDLEWdfMemoryAssignBufferWdfMemoryCopyFromBufferWdfMemoryCopyToBufferWdfMemoryGetBufferWdfObjectDeleteWdfObjectDereferenceWdfObjectReferenceWdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveOutputMemory