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