CcCanIWrite 함수(ntifs.h)

CcCanIWrite 루틴은 호출자가 캐시된 파일에 쓸 수 있는지 여부를 결정합니다.

구문

BOOLEAN CcCanIWrite(
  [in] PFILE_OBJECT FileObject,
  [in] ULONG        BytesToWrite,
  [in] BOOLEAN      Wait,
  [in] UCHAR        Retrying
);

매개 변수

[in] FileObject

캐시된 파일의 파일 개체에 대한 포인터입니다.

[in] BytesToWrite

쓸 바이트 수입니다.

[in] Wait

호출자가 캐시된 파일에 쓸 수 있을 때까지 대기 상태로 전환할 수 있으면 TRUE로 설정하고, 그렇지 않으면 FALSE로 설정합니다.

[in] Retrying

이 쓰기 요청에 대해 CcCanIWrite 를 처음 호출하는 경우 FALSE로 설정하고, 그렇지 않으면 TRUE로 설정합니다.

반환 값

CcCanIWrite 는 캐시 관리자가 쓰기 요청을 수락할 수 있으면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.

설명

CcCopyWrite 또는 CcFastCopyWrite를 호출하기 전에 CcCanIWrite를 호출해야 합니다.

CcCanIWrite가 TRUE를 반환하는 경우 호출자는 즉시 CcCopyWrite 또는 CcFastCopyWrite를 호출할 수 있습니다.

CcCanIWrite가 FALSE를 반환하는 경우 호출자는 대신 CcDeferWrite를 호출하여 쓰기 요청을 연기해야 합니다.

일반적으로 캐시 관리자는 다음 조건이 해당하는 경우 쓰기 요청을 수락할 수 있습니다.

  • 쓸 데이터의 양이 너무 크지 않습니다.

  • 쓰기 작업을 수행하기에 충분한 메모리가 있습니다.

  • 시스템 캐시의 더티 페이지 수가 더티 페이지 임계값(CcDirtyPageThreshold)을 초과하지 않습니다.

  • 이 파일에 대한 파일별 더티 페이지 임계값이 있는 경우 시스템 캐시에서 이 파일에 대한 더티 페이지 수를 초과하지 않습니다.

파일을 캐시하려면 CcInitializeCacheMap을 사용합니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 ntifs.h(Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe

추가 정보

CcCopyWrite

CcDeferWrite

CcFastCopyWrite

CcInitializeCacheMap

CcSetDirtyPageThreshold