다음을 통해 공유


FILE_VALID_DATA_LENGTH_INFORMATION 구조체(ntddk.h)

FILE_VALID_DATA_LENGTH_INFORMATION 구조체는 ZwSetInformationFile에 대한 인수로 사용됩니다.

구문

typedef struct _FILE_VALID_DATA_LENGTH_INFORMATION {
  LARGE_INTEGER ValidDataLength;
} FILE_VALID_DATA_LENGTH_INFORMATION, *PFILE_VALID_DATA_LENGTH_INFORMATION;

멤버

ValidDataLength

파일에 유효한 새 데이터 길이를 지정합니다. 이 매개 변수는 현재 유효한 데이터 길이보다 크지만 현재 파일 크기보다 작거나 같은 양수 값이어야 합니다.

설명

FILE_VALID_DATA_LENGTH_INFORMATION 구조체는 NTFS 볼륨의 파일에 대해 유효한 새 데이터 길이를 설정하는 데 사용됩니다. 파일의 유효한 데이터 길이 는 파일에 기록된 데이터의 길이(바이트)입니다. 이 유효한 데이터는 파일의 시작 부분에서 0이 되지 않았거나 초기화되지 않은 파일의 마지막 바이트까지 확장됩니다.

이 정보를 설정하려면 파일에 FILE_WRITE_DATA 액세스해야 합니다. 또한 비관리자 및 원격 사용자에게는 파일이 있는 볼륨에 대한 SeManageVolumePrivilege (SE_MANAGE_VOLUME_PRIVILEGE)가 있어야 합니다.

파일 시스템 필터 드라이버는 다음 시나리오에서 유효한 데이터 길이를 설정하는 것이 유용할 수 있습니다.

  • 원시 클러스터를 하드웨어 채널을 통해 디스크에 직접 쓸 때 이렇게 하면 필터 드라이버가 이 범위에 사용자에게 반환할 수 있는 유효한 데이터가 포함되어 있음을 파일 시스템에 알릴 수 있습니다.
  • 성능이 문제가 되는 대용량 파일을 만들 때 이렇게 하면 파일을 만들거나 확장할 때 파일을 0으로 채우는 데 걸리는 시간이 방지됩니다.
  • 파일을 원격으로 확장하고 제공된 메타데이터 클러스터 파일 시스템의 디스크에 쓰는 경우
ZwSetInformationFile에 전달된 FileInformation 버퍼의 크기는 sizeof(FILE_VALID_DATA_LENGTH_INFORMATION) 이상이어야 합니다.

이 구조체는 LONGLONG(8 바이트) 경계에 맞춰야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Microsoft Windows XP 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
머리글 ntddk.h(Ntddk.h 포함)

추가 정보

ZwSetInformationFile