CcMdlWriteComplete 함수(ntifs.h)
CcMdlWriteComplete 루틴은 캐시된 파일에 대해 CcPrepareMdlWrite 만든 MDL(메모리 설명자 목록)을 해제합니다.
통사론
void CcMdlWriteComplete(
[in] PFILE_OBJECT FileObject,
[in] PLARGE_INTEGER FileOffset,
[in] PMDL MdlChain
);
매개 변수
[in] FileObject
CcPrepareMdlWrite전달된 파일 개체 포인터입니다.
[in] FileOffset
CcPrepareMdlWrite전달된 FileOffset 값입니다.
[in] MdlChain
CcPrepareMdlWrite반환된 MDL 체인의 주소입니다.
반환 값
없음
발언
파일 시스템은 CcMdlWriteComplete 호출하여 캐시된 파일에 대해 CcPrepareMdlWrite 만든 MDL(메모리 설명자 목록)을 해제하고 지정된 바이트 범위를 쓰기 위해 표시합니다. 잠긴 모든 물리적 페이지가 잠금 해제됩니다. 매핑된 모든 페이지는 매핑되지 않습니다.
FileObject 매개 변수가 가리키는 파일 개체에 FO_WRITE_THROUGH 플래그를 설정하면 파일 데이터가 즉시 디스크로 플러시됩니다. 이 플러시 작업은 파일 시스템에 다시 들어가고 CcMdlWriteComplete 플러시 작업이 실패할 경우 예외를 발생시킬 수 있습니다. 이 경우 MDL이 해제되지 않았으며 호출자가 작업을 다시 시도할 수 있습니다.
IRP_MN_COMPLETE 작업에 대해
CcMdlWriteComplete사용하기 전에 파일 시스템 개발자는 FASTFAT 샘플에서 이 루틴이 사용되는 방식을 연구하는 것이 좋습니다.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 보편적 |
헤더 | ntifs.h(Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL |
PASSIVE_LEVEL |
참고 항목
CcMdlWriteAbort
ccPrepareMdlWrite