Nommage d’un volume

Une étiquette est un nom convivial attribué à un volume, généralement par un utilisateur final, pour faciliter sa reconnaissance. Un volume peut avoir une étiquette, une lettre de lecteur, les deux, ou aucun des deux. Pour définir l’étiquette d’un volume, utilisez la fonction SetVolumeLabel .

Plusieurs facteurs peuvent rendre difficile l’identification de volumes spécifiques à l’aide uniquement de lettres de lecteur et d’étiquettes. La première est qu’un volume n’a pas besoin d’avoir une lettre de lecteur ou une étiquette. Une autre est que deux volumes différents peuvent avoir la même étiquette, ce qui les rend impossibles à différencier, sauf par lettre de lecteur. Un troisième facteur est que les affectations de lettres de lecteur peuvent changer à mesure que des volumes sont ajoutés et supprimés de l’ordinateur.

Pour résoudre ce problème, le système d’exploitation utilise des chemins GUID de volume pour identifier les volumes. Voici les chaînes de cette forme :

« \\?\Volume{GUID}\ »

GUID est un identificateur global unique (GUID) qui identifie le volume.

Un chemin d’accès GUID de volume est parfois appelé nom de volume unique, car un chemin d’accès GUID de volume ne peut faire référence qu’à un seul volume. Toutefois, ce terme est trompeur, car un volume peut avoir plusieurs chemins GUID de volume.

Le préfixe « \\?\ » désactive l’analyse du chemin d’accès et n’est pas considéré comme faisant partie du chemin. Pour plus d’informations sur le préfixe « \\?\ », consultez Nommage d’un fichier ou d’un répertoire.

Vous devez spécifier des chemins d’accès complets lorsque vous utilisez des chemins d’accès GUID de volume avec le préfixe « \\?\ ».

Un dossier monté est une association entre un dossier sur un volume et un autre volume, de sorte que le chemin d’accès au dossier peut être utilisé pour accéder au volume. Par exemple, si vous utilisez la fonction SetVolumeMountPoint pour créer un dossier monté qui associe le volume « D:\ » avec le dossier « C:\MountD\ », vous pouvez ensuite utiliser l’un des chemins (« D:\ » ou « C:\MountD\ ») pour accéder au volume « D:\ ».

Un point de montage de volume est tout chemin d’accès en mode utilisateur qui peut être utilisé pour accéder à un volume. Il existe trois types de points de montage de volume :

  • Une lettre de lecteur, par exemple, « C:\ ».
  • Chemin d’accès GUID du volume, par exemple, « \\?\Volume{26a21bda-a627-11d7-9931-806e6f6e6e6963}\ ».
  • Un dossier monté, par exemple, « C:\MountD\ ».

Toutes les fonctions de volume et de dossier monté qui prennent un chemin d’accès GUID de volume en tant que paramètre d’entrée nécessitent la barre oblique inverse de fin. Toutes les fonctions de volume et de dossier monté qui retournent un chemin d’accès GUID de volume fournissent la barre oblique inverse de fin, mais ce n’est pas le cas avec la fonction CreateFile . Vous pouvez ouvrir un volume en appelant CreateFile et en omettant la barre oblique inverse de fin du nom du volume que vous spécifiez. CreateFile traite un chemin d’accès GUID de volume avec une barre oblique inverse ajoutée comme répertoire racine du volume.

Le système d’exploitation affecte un chemin d’accès GUID de volume à un volume lorsque le volume est installé pour la première fois et lorsque le volume est mis en forme. Les fonctions de volume et de dossier monté utilisent des chemins d’accès GUID de volume pour accéder aux volumes. Pour obtenir le chemin d’accès GUID d’un volume, utilisez la fonction GetVolumeNameForVolumeMountPoint .

Les longueurs de chemin d’accès peuvent être problématiques lorsqu’un dossier monté est créé et associe un volume qui a une arborescence de répertoires profonds à un répertoire sur un autre volume. Cela est dû au fait que le chemin du volume est concaténé au chemin d’accès du répertoire. La constante définie globalement MAX_PATH définit le nombre maximal de caractères qu’un chemin d’accès peut avoir. (Pour plus d’informations sur MAX_PATH, consultez Nommage d’un fichier ou d’un répertoire.) Vous pouvez éviter cette contrainte en effectuant l’une des opérations suivantes :

  • Faire référence aux volumes par leurs chemins GUID de volume.
  • Utilisez les versions Unicode (W) des fonctions de fichier, qui prennent en charge le préfixe \\?\.