Partager via


structure FILE_FS_PERSISTENT_VOLUME_INFORMATION (ntifs.h)

La structure FILE_FS_PERSISTENT_VOLUME_INFORMATION est utilisée pour contrôler les paramètres persistants d’un volume de système de fichiers. Les paramètres persistants persistent sur un volume de système de fichiers entre les redémarrages de l’ordinateur.

Syntaxe

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;

Membres

VolumeFlags

Paramètres d’état persistant pour un volume de système de fichiers. Cette valeur est une combinaison OR au niveau du bit des éléments suivants.

Valeur Signification
PERSISTENT_VOLUME_STATE_SHORT_NAME_CREATION_DISABLED 0x00000001 La valeur 0 pour ce bit indique que la création de noms courts 8.3 est activée, et la valeur 1 indique que la création de noms courts est désactivée. 8.3 les noms de fichiers courts ont au maximum huit caractères, suivis d’un point « » et d’une extension de nom de fichier d’au plus trois caractères.
PERSISTENT_VOLUME_STATE_VOLUME_SCRUB_DISABLED 0x00000002 Lorsqu’il est défini, cet indicateur indique que le nettoyage du volume est désactivé pour le volume. Valide à partir de Windows 8.
PERSISTENT_VOLUME_STATE_GLOBAL_METADATA_NO_SEEK_PENALTY 0x00000004 La pénalité globale sans recherche est activée pour un volume hiérarchisé. Valide à partir de Windows 8.1.
PERSISTENT_VOLUME_STATE_LOCAL_METADATA_NO_SEEK_PENALTY 0x00000008 La pénalité locale sans recherche est activée pour un volume hiérarchisé. Valide à partir de Windows 8.1.
PERSISTENT_VOLUME_STATE_NO_HEAT_GATHERING 0x00000010 Lorsqu’elle est définie, la collecte de chaleur n’est pas activée pour le volume hiérarchisé. Valide à partir de Windows 8.1.
PERSISTENT_VOLUME_STATE_CONTAINS_BACKING_WIM 0x00000020 Indique que ce volume sauvegarde le volume système avec des fichiers d’un fichier WIM (Windows Image Format). Valide à partir de Mise à jour Windows 8.1.
PERSISTENT_VOLUME_STATE_BACKED_BY_WIM 0x00000040 Indique que ce volume dépend d’un autre volume pour fournir des fichiers de démarrage critiques pour le système. L’autre volume contient un fichier WIM qui sauvegarde les fichiers sur ce volume. Cet indicateur est en lecture seule. Valide à partir de Mise à jour Windows 8.1.
PERSISTENT_VOLUME_STATE_DEV_VOLUME 0x00002000 Indique que ce volume est mis en forme en tant que volume développeur. Cela peut être utilisé par le système de fichiers et d’autres composants système pour permettre des optimisations qui ne nécessitent pas qu’un administrateur approuve le volume sur une machine donnée. Valide à partir de Windows 11, version 22H2 Mise à jour de septembre.
PERSISTENT_VOLUME_STATE_TRUSTED_VOLUME 0x00004000 Indique qu’un administrateur sur une machine donnée a approuvé ce volume et qu’il est prêt à activer des optimisations telles que l’attachement de filtres antivirus au volume. Ces informations sont conservées dans le Registre sur une machine donnée. Cela peut être utilisé par le système de fichiers et d’autres composants système pour permettre des optimisations qui nécessitent qu’un administrateur approuve le volume sur une machine donnée. Valide à partir de Windows 11, version 22H2 Mise à jour de septembre.

FlagMask

Valeur de masque pour les indicateurs valides qui peuvent apparaître dans VolumeFlags. Il s’agit d’une combinaison OR au niveau du bit des indicateurs souhaités décrits pour VolumeFlags.

Version

Numéro de version de cette structure. défini sur 1.

Reserved

Réservé. Défini sur 0 ;

Remarques

La structure FILE_FS_PERSISTENT_VOLUME_INFORMATION est utilisée avec les codes de contrôle FSCTL_SET_PERSISTENT_VOLUME_STATE et FSCTL_QUERY_PERSISTENT_VOLUME_STATE .

Pour interroger les indicateurs d’état, FlagMask est défini sur une combinaison d’indicateurs à case activée. Par exemple, si les seuls indicateurs de pénalité recherchés sont intéressants, FlagMask = PERSISTENT_VOLUME_STATE_GLOBAL_METADATA_NO_SEEK_PENALTY | PERSISTENT_VOLUME_STATE_LOCAL_METADATA_NO_SEEK_PENALTY. En outre, si seule la prise en charge des noms courts est interrogée, définissez FlagMask = PERSISTENT_VOLUME_STATE_SHORT_NAME_CREATION_DISABLED.

Lors de la définition ou de l’effacement des indicateurs d’état du volume persistants, à l’aide de FSCTL_SET_PERSISTENT_VOLUME_STATE, FlagMask est défini sur tous les indicateurs dans VolumeFlags qui seront affectés pour le volume. VolumeFlags contient les indicateurs d’état persistants réels à définir pour le volume. L’exemple suivant montre comment définir les membres de FILE_FS_PERSISTENT_VOLUME_INFORMATION pour activer la création de noms courts pour un volume.

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

Le membre Version doit être défini sur la version actuelle de 1 pour une requête et une demande de jeu.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7
En-tête ntifs.h (inclure Ntifs.h)

Voir aussi

FSCTL_QUERY_PERSISTENT_VOLUME_STATE

FSCTL_SET_PERSISTENT_VOLUME_STATE