다음을 통해 공유


FILE_ALLOCATION_INFORMATION 구조체(ntifs.h)

FILE_ALLOCATION_INFORMATION 구조체는 파일의 할당 크기를 설정하는 데 사용됩니다.

구문

typedef struct _FILE_ALLOCATION_INFORMATION {
  LARGE_INTEGER AllocationSize;
} FILE_ALLOCATION_INFORMATION, *PFILE_ALLOCATION_INFORMATION;

멤버

AllocationSize

파일 할당 크기(바이트)입니다. 일반적으로 이 값은 기본 물리적 디바이스의 섹터 또는 클러스터 크기의 배수입니다.

설명

이 작업은 다음 방법 중 하나로 수행할 수 있습니다.

  • FltSetInformationFile 또는 ZwSetInformationFile을 호출하여 FileAllocationInformationInformation을 FileInformationClass 값으로 전달하고 호출자가 할당한 FILE_ALLOCATION_INFORMATION 구조화된 버퍼를 FileInformation 값으로 전달합니다. FileHandle 매개 변수는 할당 크기를 설정할 파일을 지정합니다.

  • 주 함수 코드 IRP_MJ_SET_INFORMATION 사용하여 IRP를 만듭니다.

이 작업은 파일에만 유효합니다. 디렉터리에 대해 정의되지 않았습니다.

파일 시스템 미니필터는 파일의 할당 크기를 설정하려면 ZwSetInformationFile이 아닌 FltSetInformationFile을 사용해야 합니다.

이 정보를 설정하려면 FILE_WRITE_DATA 액세스가 필요합니다.

파일의 할당 크기 및 파일 끝 위치는 서로 독립적입니다. 다음 예외: 파일 끝 위치는 항상 할당 크기보다 작거나 같아야 합니다. 할당 크기를 파일 끝 위치보다 작은 값으로 설정하면 파일 끝 위치가 할당 크기와 일치하도록 자동으로 조정됩니다.

FltSetInformationFile 또는 ZwSetInformationFile에 전달된 FileInformation 버퍼의 크기는 = sizeof(FILE_ALLOCATION_INFORMATION)이어야 >합니다.

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

요구 사항

요구 사항
헤더 ntifs.h(Ntifs.h, Fltkernel.h 포함)

추가 정보

FILE_END_OF_FILE_INFORMATION

FltSetInformationFile

IRP_MJ_SET_INFORMATION

ZwSetInformationFile