CcFastCopyWrite 함수(ntifs.h)

CcFastCopyWrite 루틴은 메모리의 버퍼에서 캐시된 파일로 빠른 복사 쓰기를 수행합니다.

구문

void CcFastCopyWrite(
  [in] PFILE_OBJECT FileObject,
  [in] ULONG        FileOffset,
  [in] ULONG        Length,
  [in] PVOID        Buffer
);

매개 변수

[in] FileObject

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

[in] FileOffset

캐시된 파일 내의 시작 바이트 오프셋을 지정하는 변수에 대한 포인터입니다.

[in] Length

쓸 데이터의 길이(바이트)입니다.

[in] Buffer

데이터를 복사할 버퍼에 대한 포인터입니다.

반환 값

없음

설명

CcFastCopyWriteCcCopyWrite의 더 빠른 버전입니다. 다음과 같은 측면에서 CcCopyWrite 와 다릅니다.

  • FileOffset 은 PLARGE_INTEGER 아닌 ULONG입니다.

  • Wait 매개 변수가 없습니다. 호출자는 모든 데이터가 복사될 때까지 대기 상태를 입력할 수 있어야 합니다.

  • CcFastCopyWrite 는 쓰기 작업이 성공했는지 여부를 나타내는 BOOLEAN을 반환하지 않습니다.

캐시된 파일의 필수 페이지가 이미 메모리에 상주하는 경우 데이터가 즉시 복사되고 차단이 발생하지 않습니다. 필요한 페이지가 상주하지 않으면 모든 필수 페이지가 상주하고 데이터를 복사할 수 있을 때까지 호출자가 대기 상태가 됩니다.

오류가 발생하면 CcFastCopyWrite는 해당 특정 오류에 대한 상태 예외를 발생합니다. 예를 들어 풀 할당 오류가 발생하면 CcFastCopyWrite에서 STATUS_INSUFFICIENT_RESOURCES 예외가 발생합니다. I/O 오류가 발생하면 CcFastCopyWrite는 I/O 오류의 상태 예외를 발생합니다. 따라서 오류가 발생하는 경우 제어하려면 드라이버는 try-except 또는 try-finally 문에서 CcFastCopyWrite에 대한 호출을 래핑해야 합니다.

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

요구 사항

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

추가 정보

CcCopyWrite

CcInitializeCacheMap