MdlAfterReqCompletedReadA 규칙(kmdf)
MdlAfterReqCompletedReadA 규칙은 EvtIoRead 콜백 함수 내에서 I/O 요청이 완료된 후 검색된 MDL(메모리 설명자 목록) 개체에 액세스할 수 없음을 지정합니다.
드라이버의 EvtIoRead 콜백 함수 내에서 I/O 요청에서 WdfRequestRetrieveOutputWdmmdl 메서드를 호출하여 검색된 요청 버퍼는 WdfRequestComplete, WdfRequestCompleteWithInformation 또는 WdfRequestCompleteWithPriorityBoost를 호출한 후에 액세스할 수 없습니다.
이 규칙은 다음 함수를 고려합니다.
WDF_MEMORY_DESCRIPTOR_INIT_MDLMmGetMdlByteCountMmGetSystemAddressForMdlSafeMmGetMdlVirtualAddressIoBuildPartialMdl (첫 번째 및 두 번째 매개 변수) KeFlushIoBuffersMmGetMdlPfnArrayMmGetMdlByteOffsetMmPrepareMdlForReuseWdfDmaTransactionInitialize
드라이버 모델: KMDF
테스트 방법
컴파일 시 |
---|
정적 드라이버 검증 도구 를 실행하고 MdlAfterReqCompletedReadA 규칙을 지정합니다. 다음 단계를 사용하여 코드 분석을 실행합니다.자세한 내용은 정적 드라이버 검증 도구로 드라이버에서 결함 찾기를 참조하세요. |
적용 대상
WDF_MEMORY_DESCRIPTOR_INIT_MDLWdfDmaTransactionInitializeWdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveOutputWdmMdlIoBuildPartialMdlKeFlushIoBuffersMmGetMdlByteCountMmGetMdlByteOffsetMmGetMdlPfnArrayMmGetMdlVirtualAddressMmGetSystemAddressForMdlSafeMmPrepareMdlForReuse