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_STATEFSCTL_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 포함)

추가 정보

FSCTL_QUERY_PERSISTENT_VOLUME_STATE

FSCTL_SET_PERSISTENT_VOLUME_STATE