Balises de point d’analyse
Chaque point d’analyse a une balise d’identificateur pour vous permettre de différencier efficacement les différents types de points d’analyse, sans avoir à examiner les données définies par l’utilisateur dans le point d’analyse. Le système utilise un ensemble de balises prédéfinies et une plage de balises réservées à Microsoft. Si vous utilisez l’une des balises réservées lors de la définition d’un point d’analyse, l’opération échoue. Les balises non incluses dans ces plages ne sont pas réservées et sont disponibles pour votre application.
Lorsque vous définissez un point d’analyse, vous devez étiqueter les données à placer dans le point d’analyse. Une fois le point d’analyse établi, une nouvelle opération de jeu échoue si la balise pour les nouvelles données ne correspond pas à la balise pour les données existantes. Si les balises correspondent, l’opération set remplace le point d’analyse existant.
Pour récupérer la balise de point d’analyse, utilisez la fonction FindFirstFile. Si le membre dwFileAttributes inclut l’attribut FILE_ATTRIBUTE_REPARSE_POINT, le membre dwReserved0 spécifie le point d’analyse.
Contenu des étiquettes
Les balises d’analyse sont stockées sous forme de valeurs de DWORD. Les bits définissent certains attributs, comme illustré dans le diagramme suivant.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
+-+-+-+-+-----------------------+-------------------------------+
|M|R|N|R| Reserved bits | Reparse tag value |
+-+-+-+-+-----------------------+-------------------------------+
Les 16 bits faibles déterminent le type de point d’analyse. Les 16 bits élevés ont 12 bits réservés pour une utilisation future et 4 bits qui indiquent des attributs spécifiques des balises et les données représentées par le point d’analyse. Le tableau suivant décrit ces bits.
Mors | Description |
---|---|
M | Microsoft bit. Si ce bit est défini, la balise appartient à Microsoft. Toutes les autres balises doivent utiliser zéro pour ce bit. |
R | Réservé; doit être égal à zéro pour toutes les balises non-Microsoft. |
N | Nommez le bit de substitution. Si ce bit est défini, le fichier ou le répertoire représente une autre entité nommée dans le système. |
Les macros suivantes existent pour faciliter le test des balises :
Chaque macro retourne une valeur différente de zéro si le bit associé est défini.
Voici les valeurs de balise d’analyse prédéfinies de Microsoft ; ils sont définis dans WinNT.h :
- IO_REPARSE_TAG_AF_UNIX
- IO_REPARSE_TAG_APPEXECLINK
- IO_REPARSE_TAG_CLOUD
- IO_REPARSE_TAG_CLOUD_1
- IO_REPARSE_TAG_CLOUD_2
- IO_REPARSE_TAG_CLOUD_3
- IO_REPARSE_TAG_CLOUD_4
- IO_REPARSE_TAG_CLOUD_5
- IO_REPARSE_TAG_CLOUD_6
- IO_REPARSE_TAG_CLOUD_7
- IO_REPARSE_TAG_CLOUD_8
- IO_REPARSE_TAG_CLOUD_9
- IO_REPARSE_TAG_CLOUD_A
- IO_REPARSE_TAG_CLOUD_B
- IO_REPARSE_TAG_CLOUD_C
- IO_REPARSE_TAG_CLOUD_D
- IO_REPARSE_TAG_CLOUD_E
- IO_REPARSE_TAG_CLOUD_F
- IO_REPARSE_TAG_CLOUD_MASK
- IO_REPARSE_TAG_CSV
- IO_REPARSE_TAG_DEDUP
- IO_REPARSE_TAG_DFS
- IO_REPARSE_TAG_DFSR
- IO_REPARSE_TAG_FILE_PLACEHOLDER
- IO_REPARSE_TAG_GLOBAL_REPARSE
- IO_REPARSE_TAG_HSM
- IO_REPARSE_TAG_HSM2
- IO_REPARSE_TAG_MOUNT_POINT
- IO_REPARSE_TAG_NFS
- IO_REPARSE_TAG_ONEDRIVE
- IO_REPARSE_TAG_PROJFS
- IO_REPARSE_TAG_PROJFS_TOMBSTONE
- IO_REPARSE_TAG_SIS
- IO_REPARSE_TAG_STORAGE_SYNC
- IO_REPARSE_TAG_SYMLINK
- IO_REPARSE_TAG_UNHANDLED
- IO_REPARSE_TAG_WCI
- IO_REPARSE_TAG_WCI_1
- IO_REPARSE_TAG_WCI_LINK
- IO_REPARSE_TAG_WCI_LINK_1
- IO_REPARSE_TAG_WCI_TOMBSTONE
- IO_REPARSE_TAG_WIM
- IO_REPARSE_TAG_WOF
Pour garantir l’unicité des étiquettes, Microsoft fournit un mécanisme de distribution de nouvelles balises. Pour plus d’informations, consultez kit IFS (Installable File System) kit.