Constantes d'attributs de fichier

Les attributs de fichier sont des valeurs de métadonnées stockées par le système de fichiers sur le disque et sont utilisées par le système et sont disponibles pour les développeurs via diverses API d’E/S de fichier. Pour obtenir la liste des API et rubriques associées, consultez la section Voir aussi .

Exemple

FILE_BASIC_INFO basicInfo;
    BOOL result;

    result = GetFileInformationByHandleEx( hFile,
                                               FileBasicInfo,
                                               &basicInfo,
                                               sizeof(basicInfo));

\\...

printf("  File Attributes: ");
    PrintFileAttributes(basicInfo.FileAttributes);

\\...
VOID
PrintFileAttributes(
    ULONG FileAttributes
    )
{
    
    if (FileAttributes & FILE_ATTRIBUTE_ARCHIVE) {
        printf("Archive ");
    }
    if (FileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
        printf("Directory ");
    }
    if (FileAttributes & FILE_ATTRIBUTE_READONLY) {
        printf("Read-Only ");
    }
}

Exemple tiré d’un exemple Windows Classic sur GitHub.

Constante/valeur Description
FILE_ATTRIBUTE_READONLY
1 (0x00000001)
Fichier en lecture seule. Les applications peuvent lire le fichier, mais ne peuvent pas y écrire ou le supprimer. Cet attribut n’est pas respecté sur les répertoires. Pour plus d’informations, consultez Vous ne pouvez pas afficher ou modifier les attributs en lecture seule ou les attributs système des dossiers dans Windows Server 2003, windows XP, Windows Vista ou Windows 7.
FILE_ATTRIBUTE_HIDDEN
2 (0x00000002)
Le fichier ou le répertoire est masqué. Il n’est pas inclus dans une liste d’annuaires ordinaire.
FILE_ATTRIBUTE_SYSTEM
4 (0x00000004)
Fichier ou répertoire dont le système d’exploitation utilise une partie ou utilise exclusivement.
FILE_ATTRIBUTE_DIRECTORY
16 (0x00000010)
Handle qui identifie un répertoire.
FILE_ATTRIBUTE_ARCHIVE
32 (0x00000020)
Fichier ou répertoire qui est un fichier ou un répertoire d’archive. Les applications utilisent généralement cet attribut pour marquer les fichiers à des fins de sauvegarde ou de suppression.
FILE_ATTRIBUTE_DEVICE
64 (0x00000040)
Cette valeur est réservée à l’utilisation du système.
FILE_ATTRIBUTE_NORMAL
128 (0x00000080)
Fichier qui n’a pas d’autres attributs définis. Cet attribut est valide uniquement lorsqu’il est utilisé seul.
FILE_ATTRIBUTE_TEMPORARY
256 (0x00000100)
Fichier utilisé pour le stockage temporaire. Les systèmes de fichiers évitent d’écrire des données dans le stockage de masse si la mémoire cache est suffisante, car en règle générale, une application supprime un fichier temporaire après la fermeture du handle. Dans ce scénario, le système peut complètement éviter d’écrire les données. Sinon, les données sont écrites après la fermeture du handle.
FILE_ATTRIBUTE_SPARSE_FILE
512 (0x00000200)
Fichier qui est un fichier partiellement alloué.
FILE_ATTRIBUTE_REPARSE_POINT
1024 (0x00000400)
Fichier ou répertoire associé à un point d’analyse, ou fichier qui est un lien symbolique.
FILE_ATTRIBUTE_COMPRESSED
2048 (0x00000800)
Fichier ou répertoire compressé. Pour un fichier, toutes les données du fichier sont compressées. Pour un répertoire, la compression est la valeur par défaut pour les fichiers et sous-répertoires nouvellement créés.
FILE_ATTRIBUTE_OFFLINE
4096 (0x00001000)
Les données d’un fichier ne sont pas disponibles immédiatement. Cet attribut indique que les données du fichier sont physiquement déplacées vers le stockage hors connexion. Cet attribut est utilisé par le stockage à distance, qui est le logiciel de gestion du stockage hiérarchique. Les applications ne doivent pas modifier arbitrairement cet attribut.
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
8192 (0x00002000)
Le fichier ou le répertoire ne doit pas être indexé par le service d’indexation de contenu.
FILE_ATTRIBUTE_ENCRYPTED
16384 (0x00004000)
Fichier ou répertoire chiffré. Pour un fichier, tous les flux de données du fichier sont chiffrés. Pour un répertoire, le chiffrement est la valeur par défaut pour les fichiers et sous-répertoires nouvellement créés.
FILE_ATTRIBUTE_INTEGRITY_STREAM
32768 (0x00008000)
Le répertoire ou le flux de données utilisateur est configuré avec intégrité (pris en charge uniquement sur les volumes ReFS). Il n’est pas inclus dans une liste d’annuaires ordinaire. Le paramètre d’intégrité persiste avec le fichier s’il est renommé. Si un fichier est copié, l’intégrité du fichier de destination est définie si le fichier source ou le répertoire de destination ont l’intégrité définie.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cet indicateur n’est pas pris en charge tant que Windows Server 2012.
FILE_ATTRIBUTE_VIRTUAL
65536 (0x00010000)
Cette valeur est réservée à l’utilisation du système.
FILE_ATTRIBUTE_NO_SCRUB_DATA
131072 (0x00020000)
Le flux de données utilisateur ne doit pas être lu par le scanneur d’intégrité des données d’arrière-plan (AKA scrubber). Lorsqu’il est défini sur un répertoire, il fournit uniquement l’héritage. Cet indicateur est uniquement pris en charge sur les volumes espaces de stockage et ReFS. Il n’est pas inclus dans une liste d’annuaires ordinaire.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cet indicateur n’est pas pris en charge tant qu’Windows 8 et Windows Server 2012.
FILE_ATTRIBUTE_EA
262144 (0x00040000)
Fichier ou répertoire avec des attributs étendus.

IMPORTANT: Cette constante est destinée à un usage interne uniquement.
FILE_ATTRIBUTE_PINNED
524288 (0x00080000)
Cet attribut indique que l’utilisateur a l’intention de conserver le fichier ou le répertoire entièrement présent localement même lorsqu’il n’est pas activement consulté. Cet attribut est destiné à être utilisé avec un logiciel de gestion du stockage hiérarchique.
FILE_ATTRIBUTE_UNPINNED
1048576 (0x00100000)
Cet attribut indique que le fichier ou le répertoire ne doit pas être entièrement présent localement, sauf lors d’un accès actif. Cet attribut est destiné à être utilisé avec un logiciel de gestion du stockage hiérarchique.
FILE_ATTRIBUTE_RECALL_ON_OPEN
262144 (0x00040000)
Cet attribut apparaît uniquement dans les classes d’énumération d’annuaires (FILE_DIRECTORY_INFORMATION, FILE_BOTH_DIR_INFORMATION, etc.). Lorsque cet attribut est défini, cela signifie que le fichier ou le répertoire n’a pas de représentation physique sur le système local ; l’élément est virtuel. L’ouverture de l’élément sera plus coûteuse que d’habitude, par exemple, elle entraînera au moins une partie de celui-ci à être récupérée à partir d’un magasin distant.
FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS
4194304 (0x00400000)
Lorsque cet attribut est défini, cela signifie que le fichier ou le répertoire n’est pas entièrement présent localement. Pour un fichier qui signifie que toutes ses données ne sont pas sur le stockage local (par exemple, il peut être partiellement alloué avec certaines données encore dans le stockage distant). Pour un répertoire, cela signifie qu’une partie du contenu du répertoire est en cours de virtualisation à partir d’un autre emplacement. La lecture du fichier/ l’énumération du répertoire sera plus coûteuse que d’habitude, par exemple, cela entraînera l’extraction d’au moins une partie du contenu du fichier/répertoire à partir d’un magasin distant. Seuls les appelants en mode noyau peuvent définir ce bit.

Les mini filtres du système de fichiers situés sous la plage d’altitude 180000 – 189999 (groupe d’ordres de charge HSM FSFilter) ne doivent pas émettre de lectures ou d’écritures mises en cache ciblées dans les fichiers dont cet attribut est défini. Cela peut entraîner une pollution du cache et une altération potentielle des fichiers. Pour plus d’informations, consultez Gestion des espaces réservés.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête WinNT.h (inclure Windows.h)

Voir aussi

Attribut de compression

Création et ouverture de fichiers

CreateFile

CreateFileTransacted

GetFileAttributes

GetFileAttributesEx

GetFileAttributesTransacted

GetFileInformationByHandle

GetFileInformationByHandleEx

SetFileAttributes

SetFileAttributesTransacted

SetFileInformationByHandle