структура 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

Параметры постоянного состояния для тома файловой системы. Это значение представляет собой побитовую или комбинацию следующего.

Значение Значение
PERSISTENT_VOLUME_STATE_SHORT_NAME_CREATION_DISABLED 0x00000001 Значение 0 для этого бита указывает, что создание коротких имен 8,3 включено, а значение 1 указывает, что создание коротких имен отключено. 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 Для многоуровневого тома включено локальное наказание без обращения. Допустимо, начиная с Windows 8.1.
PERSISTENT_VOLUME_STATE_NO_HEAT_GATHERING 0x00000010 Если задано значение , сбор тепла для многоуровневого тома не включен. Допустимо, начиная с Windows 8.1.
PERSISTENT_VOLUME_STATE_CONTAINS_BACKING_WIM 0x00000020 Указывает, что этот том поддерживает системный том файлами из WIM-файла. Допустимо, начиная с Windows 8.1 с обновлением.
PERSISTENT_VOLUME_STATE_BACKED_BY_WIM 0x00000040 Указывает, что этот том зависит от другого тома для предоставления критически важных системных загрузочных файлов. Другой том содержит WIM-файл, который поддерживает файлы на этом томе. Этот флаг доступен только для чтения. Допустимо, начиная с Windows 8.1 с обновлением.
PERSISTENT_VOLUME_STATE_DEV_VOLUME 0x00002000 Указывает, что этот том имеет формат тома разработчика. Он может использоваться файловой системой и другими системными компонентами для обеспечения оптимизации, которая не требует, чтобы администратор доверял тому на данном компьютере. Действителен начиная с Windows 11 версии 22H2 с обновлением за сентябрь.
PERSISTENT_VOLUME_STATE_TRUSTED_VOLUME 0x00004000 Указывает, что администратор на данном компьютере доверяет этому тому и хочет включить оптимизацию, например, не подключать к нему антивирусные фильтры. Эти сведения сохраняются в реестре на заданном компьютере. Он может использоваться файловой системой и другими системными компонентами для оптимизации, требующей от администратора доверия тому на данном компьютере. Действителен начиная с Windows 11 версии 22H2 с обновлением за сентябрь.

FlagMask

Значение маски для допустимых флагов, которые могут отображаться в VolumeFlags. Это побитовое или сочетание требуемых флагов, описанных для VolumeFlags.

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 );

Для элемента Version необходимо задать текущую версию 1 как для запроса, так и для запроса набора.

Требования

Требование Значение
Минимальная версия клиента Windows 7
Верхняя часть ntifs.h (включая Ntifs.h)

См. также раздел

FSCTL_QUERY_PERSISTENT_VOLUME_STATE

FSCTL_SET_PERSISTENT_VOLUME_STATE