CcDeferWrite 함수(ntifs.h)

CcDeferWrite 루틴은 캐시된 파일에 쓰기를 지연합니다. 제공된 게시물 루틴은 쓰기 작업을 수용할 수 있을 때 캐시 관리자가 호출합니다.

구문

void CcDeferWrite(
  [in] PFILE_OBJECT            FileObject,
  [in] PCC_POST_DEFERRED_WRITE PostRoutine,
  [in] PVOID                   Context1,
  [in] PVOID                   Context2,
  [in] ULONG                   BytesToWrite,
  [in] BOOLEAN                 Retrying
);

매개 변수

[in] FileObject

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

[in] PostRoutine

캐시된 파일에 쓰기 위해 캐시 관리자가 호출할 루틴의 주소입니다. CcCanIWrite에서 FALSE 를 방금 반환한 경우에도 이 루틴이 즉시 호출될 수 있습니다.

post 루틴은 다음과 같이 ntifs.h로 정의됩니다.

typedef
VOID (*PCC_POST_DEFERRED_WRITE) (
    _In_ PVOID Context1,
    _In_ PVOID Context2
    );

[in] Context1

PostRoutine의 post 루틴에 대한 첫 번째 매개 변수입니다.

[in] Context2

PostRoutine의 post 루틴에 대한 두 번째 매개 변수입니다.

[in] BytesToWrite

쓸 데이터의 바이트 수입니다.

[in] Retrying

요청이 처음으로 게시되는 경우 FALSE 로 설정하고, 그렇지 않으면 TRUE 로 설정합니다.

반환 값

없음

설명

일반적으로 파일 시스템은 CcCanIWrite 에서 FALSE 의 반환 값을 받은 후 CcDeferWrite를 호출합니다.

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

PostRoutine에 전달되는 컨텍스트 매개 변수는 일반적으로 I/O 요청 및 관련 컨텍스트 데이터입니다.

요구 사항

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

추가 정보

CcCanIWrite

CcInitializeCacheMap

CcSetDirtyPageThreshold