FILE_FS_PERSISTENT_VOLUME_INFORMATION 구조체(ntifs.h)
FILE_FS_PERSISTENT_VOLUME_INFORMATION 구조체는 파일 시스템 볼륨에 대한 영구 설정을 제어하는 데 사용됩니다. 영구 설정은 컴퓨터를 다시 부팅하는 사이에 파일 시스템 볼륨에서 유지됩니다.
구문
typedef struct _FILE_FS_PERSISTENT_VOLUME_INFORMATION {
ULONG VolumeFlags;
ULONG FlagMask;
ULONG Version;
ULONG Reserved;
} FILE_FS_PERSISTENT_VOLUME_INFORMATION, *PFILE_FS_PERSISTENT_VOLUME_INFORMATION;
멤버
VolumeFlags
파일 시스템 볼륨에 대한 영구 상태 설정입니다. 이 값은 다음의 비트 OR 조합입니다.
값 | 의미 |
---|---|
PERSISTENT_VOLUME_STATE_SHORT_NAME_CREATION_DISABLED 0x00000001 | 이 비트의 0은 8.3의 짧은 이름을 만들 수 있음을 나타내고, 1은 짧은 이름 만들기를 사용할 수 없음을 나타냅니다. 8.3 짧은 파일 이름에는 최대 8자, 마침표 "." 및 최대 3자의 파일 이름 확장명이 있습니다. |
PERSISTENT_VOLUME_STATE_VOLUME_SCRUB_DISABLED 0x00000002 | 설정하면 이 플래그는 볼륨에 대해 볼륨 스크럽이 비활성화되었음을 나타냅니다. Windows 8 시작하는 것이 유효합니다. |
PERSISTENT_VOLUME_STATE_GLOBAL_METADATA_NO_SEEK_PENALTY 0x00000004 | 계층화된 볼륨에 대해 전역 검색 페널티가 사용하도록 설정되지 않습니다. Windows 8.1 시작하는 것이 유효합니다. |
PERSISTENT_VOLUME_STATE_LOCAL_METADATA_NO_SEEK_PENALTY 0x00000008 | 계층화된 볼륨에 대해 로컬 no seek penalty가 사용하도록 설정되어 있지 않습니다. Windows 8.1 시작하는 것이 유효합니다. |
PERSISTENT_VOLUME_STATE_NO_HEAT_GATHERING 0x00000010 | 설정되면 계층화된 볼륨에 대해 열 수집을 사용할 수 없습니다. Windows 8.1 시작하는 것이 유효합니다. |
PERSISTENT_VOLUME_STATE_CONTAINS_BACKING_WIM 0x00000020 | 이 볼륨이 WIM(Windows 이미지 형식) 파일의 파일로 시스템 볼륨을 백업하고 있음을 나타냅니다. Windows 8.1 Update 시작하는 것이 유효합니다. |
PERSISTENT_VOLUME_STATE_BACKED_BY_WIM 0x00000040 | 이 볼륨이 시스템 중요 부팅 파일을 제공하기 위해 다른 볼륨에 종속됨을 나타냅니다. 다른 볼륨에는 이 볼륨의 파일을 백업하는 WIM 파일이 포함되어 있습니다. 이 플래그는 읽기 전용입니다. Windows 8.1 Update 시작하는 것이 유효합니다. |
PERSISTENT_VOLUME_STATE_DEV_VOLUME 0x00002000 | 이 볼륨의 형식이 개발자 볼륨임을 나타냅니다. 이는 파일 시스템 및 기타 시스템 구성 요소에서 관리자가 지정된 컴퓨터에서 볼륨을 신뢰할 필요가 없는 최적화를 사용하도록 설정하는 데 사용할 수 있습니다. Windows 11 버전 22H2 9월 업데이트부터 유효합니다. |
PERSISTENT_VOLUME_STATE_TRUSTED_VOLUME 0x00004000 | 지정된 컴퓨터의 관리자가 이 볼륨을 신뢰했으며 바이러스 백신 필터를 볼륨에 연결하지 않는 것과 같은 최적화를 사용할 의향이 있음을 나타냅니다. 이 정보는 지정된 컴퓨터의 레지스트리에 유지됩니다. 이는 파일 시스템 및 기타 시스템 구성 요소에서 관리자가 지정된 컴퓨터에서 볼륨을 신뢰해야 하는 최적화를 사용하도록 설정하는 데 사용할 수 있습니다. Windows 11 버전 22H2 9월 업데이트부터 유효합니다. |
FlagMask
VolumeFlags에 표시할 수 있는 유효한 플래그에 대한 마스크 값입니다. VolumeFlags에 대해 설명된 원하는 플래그의 비트 OR 조합입니다.
Version
이 구조체의 버전 번호입니다. 1로 설정됩니다.
Reserved
예약되어 있습니다. 를 0으로 설정합니다.
설명
FILE_FS_PERSISTENT_VOLUME_INFORMATION 구조체는 FSCTL_SET_PERSISTENT_VOLUME_STATE 및 FSCTL_QUERY_PERSISTENT_VOLUME_STATE 제어 코드와 함께 사용됩니다.
상태 플래그를 쿼리하기 위해 FlagMask는 검사 플래그 조합으로 설정됩니다. 예를 들어 검색 페널티 플래그만 관심 있는 경우 FlagMask = PERSISTENT_VOLUME_STATE_GLOBAL_METADATA_NO_SEEK_PENALTY | PERSISTENT_VOLUME_STATE_LOCAL_METADATA_NO_SEEK_PENALTY. 또한 짧은 이름 지원만 쿼리하는 경우 FlagMask = PERSISTENT_VOLUME_STATE_SHORT_NAME_CREATION_DISABLED 설정합니다.
영구 볼륨 상태 플래그를 설정하거나 지우는 경우 FSCTL_SET_PERSISTENT_VOLUME_STATE 사용하여 FlagMask는 볼륨에 영향을 받는 VolumeFlags의 모든 플래그로 설정됩니다. VolumeFlags에는 볼륨에 대해 설정할 실제 영구 상태 플래그가 포함됩니다. 다음 예제에서는 볼륨에 대해 짧은 이름 만들기를 사용하도록 FILE_FS_PERSISTENT_VOLUME_INFORMATION 멤버를 설정하는 방법을 보여 줍니다.
IO_STATUS_BLOCK IoStatus;
FILE_FS_PERSISTENT_VOLUME_INFORMATION PersistVolInfo;
NTSTATUS status;
PersistVolInfo.VolumeFlags = 0; // enable shortname creation on this volume
PersistVolInfo.FlagMask = PERSISTENT_VOLUME_STATE_SHORT_NAME_CREATION_DISABLED;
PersistVolInfo.Version = 1;
PersistVolInfo.Reserved = 0;
// issue the request to the file system to set the enable state
//
status = ZwFsControlFile( VolumeHandle,
NULL,
NULL,
NULL,
&IoStatus,
FSCTL_SET_PERSISTENT_VOLUME_STATE,
&PersistVolInfo,
sizeof(FILE_FS_PERSISTENT_VOLUME_INFORMATION),
NULL,
0 );
버전 멤버는 쿼리 및 집합 요청 모두에 대해 현재 버전 1로 설정해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7 |
머리글 | ntifs.h(Ntifs.h 포함) |