CcSetFileSizes 함수(ntifs.h)
CcSetFileSizes 루틴은 크기가 변경된 캐시된 파일의 캐시 맵 및 섹션 개체를 업데이트합니다. 오류 처리에 대한 더 나은 지침과 함께 NTSTATUS 반환 코드를 제공하므로 CcSetFileSizesEx 를 대신 사용합니다.
구문
void CcSetFileSizes(
[in] PFILE_OBJECT FileObject,
[in] PCC_FILE_SIZES FileSizes
);
매개 변수
[in] FileObject
캐시된 파일의 파일 개체에 대한 포인터입니다.
[in] FileSizes
새 파일 크기 정보를 포함하는 CC_FILE_SIZES 구조체에 대한 포인터입니다.
반환 값
없음
설명
파일 시스템은 캐시된 파일에 대해 다음 중 하나를 변경할 때마다 CcSetFileSizesEx 또는 CcSetFileSizes 를 호출하여 캐시 관리자 데이터 구조를 업데이트해야 합니다.
할당 크기가 증가합니다.
유효한 데이터 길이가 줄어듭니다.
유효한 데이터 길이는 캐시되지 않은 I/O 작업으로 증가합니다.
파일 크기가 증가하거나 감소합니다.
오류가 발생하면 CcSetFileSizes는 특정 오류에 대한 상태 예외를 발생합니다. 예를 들어 풀 할당 오류가 발생하면 CcSetFileSizes 는 STATUS_INSUFFICIENT_RESOURCES 예외를 발생합니다. 따라서 오류가 발생하는 경우 제어하려면 드라이버는 try-except 또는 try-finally 문으로 CcSetFileSizes에 대한 호출을 래핑해야 합니다.
파일 시스템은 캐시 맵이 유효하고 이 호출 기간 동안 그대로 유지되도록 해야 합니다.
파일을 캐시하려면 CcInitializeCacheMap을 사용합니다.
캐시된 파일의 크기를 얻으려면 FileObject 를 CcGetFileSizePointer에 전달합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | ntifs.h(Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기