Поделиться через


структура 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 Указывает, что этот том поддерживает системный том с файлами из файла формата образа Windows (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_STATEFlagMask устанавливается для всех флагов в 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 (include Ntifs.h)

См. также

FSCTL_QUERY_PERSISTENT_VOLUME_STATE

FSCTL_SET_PERSISTENT_VOLUME_STATE