Share via


FILE_FS_ATTRIBUTE_INFORMATION 구조체(ntifs.h)

FILE_FS_ATTRIBUTE_INFORMATION 구조는 파일 시스템에 대한 특성 정보를 쿼리하는 데 사용됩니다.

구문

typedef struct _FILE_FS_ATTRIBUTE_INFORMATION {
  ULONG FileSystemAttributes;
  LONG  MaximumComponentNameLength;
  ULONG FileSystemNameLength;
  WCHAR FileSystemName[1];
} FILE_FS_ATTRIBUTE_INFORMATION, *PFILE_FS_ATTRIBUTE_INFORMATION;

멤버

FileSystemAttributes

다음 플래그의 호환 가능한 조합으로 지정된 파일 시스템의 특성을 지정하는 플래그의 비트 마스크입니다.

의미
FILE_CASE_SENSITIVE_SEARCH (0x00000001) 파일 시스템은 대/소문자를 구분하는 파일 이름을 지원합니다.
FILE_CASE_PRESERVED_NAMES (0x00000002) 파일 시스템은 디스크에 이름을 배치할 때 파일 이름의 대/소문자를 유지합니다.
FILE_UNICODE_ON_DISK (0x00000004) 파일 시스템은 파일 이름에서 유니코드 를 지원합니다.
FILE_PERSISTENT_ACLS (0x00000008) 파일 시스템은 ACL(액세스 제어 목록)을 유지하고 적용합니다.
FILE_FILE_COMPRESSION (0x00000010) 파일 시스템은 파일 기반 압축을 지원합니다. 이 플래그는 FILE_VOLUME_IS_COMPRESSED 플래그와 호환되지 않습니다. 이 플래그는 네트워크를 통해 데이터를 전송하는 방법에 영향을 주지 않습니다.
FILE_VOLUME_QUOTAS (0x00000020) 파일 시스템은 사용자별 할당량을 지원합니다.
FILE_SUPPORTS_SPARSE_FILES (0x00000040) 파일 시스템은 스파스 파일을 지원합니다.
FILE_SUPPORTS_REPARSE_POINTS (0x00000080) 파일 시스템은 재분석 지점을 지원합니다.
FILE_SUPPORTS_REMOTE_STORAGE (0x00000100) 파일 시스템은 원격 스토리지를 지원합니다.
FILE_RETURNS_CLEANUP_RESULT_INFO (0x00000200) 성공적인 정리 작업에서 파일 시스템은 파일 삭제와 같이 정리 중에 수행된 추가 작업을 설명하는 정보를 반환합니다. 파일 시스템 필터는 정리 후 콜백에서 이 정보를 검사할 수 있습니다.
FILE_SUPPORTS_POSIX_UNLINK_RENAME (0x00000400) 파일 시스템은 POSIX 스타일 삭제 및 이름 바꾸기 작업을 지원합니다.
FILE_VOLUME_IS_COMPRESSED (0x00008000) 지정된 볼륨은 압축된 볼륨입니다. 이 플래그는 FILE_FILE_COMPRESSION 플래그와 호환되지 않습니다. 네트워크를 통해 데이터를 전송하는 방법에는 영향을 주지 않습니다.
FILE_SUPPORTS_OBJECT_IDS (0x00010000) 파일 시스템은 개체 식별자를 지원합니다.
FILE_SUPPORTS_ENCRYPTION (0x00020000) 파일 시스템은 암호화를 지원합니다.
FILE_NAMED_STREAMS (0x00040000) 파일 시스템은 파일에 대한 명명된 데이터 스트림을 지원합니다 .
FILE_READ_ONLY_VOLUME (0x00080000) 지정된 볼륨이 읽기 전용입니다.
FILE_SEQUENTIAL_WRITE_ONCE (0x00100000) 지정된 볼륨을 한 번만 쓸 수 있습니다. 쓰기는 순차적으로 수행해야 합니다.
FILE_SUPPORTS_TRANSACTIONS (0x00200000) 파일 시스템은 트랜잭션 처리를 지원합니다.
FILE_SUPPORTS_HARD_LINKS (0x00400000) 파일 시스템은 다른 디바이스 및 파티션에 대한 직접 링크를 지원합니다.
FILE_SUPPORTS_EXTENDED_ATTRIBUTES (0x00800000) 파일 시스템은 EA(확장 특성)를 지원합니다.
FILE_SUPPORTS_OPEN_BY_FILE_ID (0x01000000) 파일 시스템은 파일 ID별로 열기를 지원합니다.
FILE_SUPPORTS_USN_JOURNAL (0x02000000) 파일 시스템은 USN(업데이트 시퀀스 번호) 저널을 지원합니다.
FILE_SUPPORTS_INTEGRITY_STREAMS (0x04000000) 파일 시스템은 무결성 스트림을 지원합니다.
FILE_SUPPORTS_BLOCK_REFCOUNTING (0x08000000) 파일 시스템은 블록 복제를 지원합니다. 즉, 동일한 볼륨의 파일 간에 논리 클러스터를 공유합니다. 파일 시스템은 쓰기를 공유 클러스터에 다시 할당합니다.
FILE_SUPPORTS_SPARSE_VDL (0x10000000) 파일 시스템은 파일의 각 클러스터에 유효한 데이터(명시적 파일 쓰기 또는 자동 0)가 포함되어 있는지 또는 잘못된 데이터(아직 기록되지 않았거나 0으로 기록되지 않음)를 추적합니다. 스파스 유효한 데이터 길이(VDL)를 사용하는 파일 시스템은 유효한 데이터 길이를 저장하지 않으며 파일 내에서 유효한 데이터를 연속할 필요가 없습니다.
FILE_DAX_VOLUME (0x20000000) 지정된 볼륨은 DAX(직접 액세스) 볼륨입니다.
FILE_SUPPORTS_GHOSTING (0x40000000) 파일 시스템은 고스팅을 지원합니다.

MaximumComponentNameLength

지정된 파일 시스템에서 지원하는 최대 파일 이름 구성 요소 길이(바이트)입니다. 파일 이름 구성 요소는 경로 구분 문자(예: 백 슬래시) 사이의 파일 이름 부분입니다.

FileSystemNameLength

파일 시스템 이름의 길이(바이트)입니다. 이 필드의 값은 0보다 커야 합니다.

FileSystemName[1]

파일 시스템의 이름을 포함하는 가변 길이 유니코드 필드입니다. 이 필드는 null로 종료되지 않으며 FileSystemNameLength 바이트의 시퀀스로 처리해야 합니다.

설명

이 정보는 다음 방법 중 하나로 쿼리할 수 있습니다.

이 정보를 쿼리하는 데 특정 액세스 권한이 필요하지 않습니다. 따라서 볼륨 자체 또는 볼륨의 파일 또는 디렉터리에 대한 열린 핸들을 통해 볼륨에 액세스하는 한 이 정보를 사용할 수 있습니다.

FileInformation 매개 변수에서 FltQueryVolumeInformation 또는 ZwQueryVolumeInformationFile에 전달된 버퍼의 크기는 적어도 sizeof(FILE_FS_ATTRIBUTE_INFORMATION)이어야 합니다. 최대 파일 시스템 이름 길이를 가정할 수 없으므로(사실상 제한은 2^31자 포인트) FileSystemNameLength 가 알려지면 이러한 루틴 중 하나에 대한 두 번째 호출이 필요합니다.

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

요구 사항

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

추가 정보

ACL

FltQueryVolumeInformation

IRP_MJ_QUERY_VOLUME_INFORMATION

ZwQueryVolumeInformationFile