COPY_INFORMATION 구조체(ntifs.h)

COPY_INFORMATION 구조는 NtCopyFileChunk의 복사 작업에 대한 읽기 및 쓰기 호출의 상관 관계를 지정합니다.

구문

typedef struct _COPY_INFORMATION {
  PFILE_OBJECT SourceFileObject;
  LONGLONG     SourceFileOffset;
} COPY_INFORMATION, *PCOPY_INFORMATION;

멤버

SourceFileObject

복사본의 원본 파일 개체입니다.

SourceFileOffset

복사본 원본 파일의 파일 오프셋입니다. 이 값은 쓰기 중에 대상의 파일 오프셋과 비교하여 복사본이 완전하고 충실한지 확인할 수 있습니다.

설명

복사본의 읽기 및 쓰기 작업은 해당 IRP 확장에 동일한 정보를 포함하므로 IopCopyInformationType IRP 확장이 있는 모든 쓰기에 COPY_INFORMATION 사용하여 상관 관계를 수행할 수 있습니다.

읽기 및 쓰기 작업이 상관 관계가 있고 복사된 데이터가 확인되면 기록된 대상 파일은 원본의 완전하고 충실한 복사본으로 간주될 수 있습니다. 즉, 원본 파일에서 대상으로 트러스트를 전달할 수 있습니다.

복사본은 일반적으로 청크에서 발생합니다. 전체 파일 복사본의 유효성을 검사하려면 다음을 수행합니다.

  • 각 청크( NtCopyFileChunk에 대한 각 호출)는 쓰기 작업이 이전 읽기 작업과 상관 관계가 있어야 합니다.

  • 함께 복사된 모든 청크는 파일의 전체 범위를 포함해야 합니다.

필터는 다음과 같이 쓰기의 IRP 확장에 제공된 원본 정보를 사용하여 복사된 데이터의 정확성을 확인할 수 있습니다.

  • SourceFileObject에서 일치하는 읽기가 발생했는지 확인합니다.
  • SourceFileOffset이 쓰기 작업의 파일 오프셋과 일치하는지 확인합니다.

자세한 내용은 커널 모드 파일 복사 및 복사 파일 시나리오 검색 을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 11, 버전 22H2
머리글 ntifs.h

추가 정보

FltGetCopyInformationFromCallbackData

IoCheckFileObjectOpenedAsCopySource

IoCheckFileObjectOpenedAsCopyDestination

NtCopyFileChunk

NtCreateFile