Asignar un nombre a un volumen
Una etiqueta es un nombre descriptivo que se asigna a un volumen, normalmente por un usuario final, para que sea más fácil de reconocer. Un volumen puede tener una etiqueta, una letra de unidad, ambas o ninguna. Para establecer la etiqueta de un volumen, use la función SetVolumeLabel .
Varios factores pueden dificultar la identificación de volúmenes específicos con solo letras de unidad y etiquetas. Uno es que no es necesario que un volumen tenga una letra de unidad o una etiqueta. Otro es que dos volúmenes diferentes pueden tener la misma etiqueta, lo que hace que sean indistinguibles excepto por letra de unidad. Un tercer factor es que las asignaciones de letras de unidad pueden cambiar a medida que se agregan y quitan volúmenes del equipo.
Para solucionar este problema, el sistema operativo usa rutas de acceso guid de volumen para identificar volúmenes. Estas son cadenas de este formato:
"\\?\Volume{GUID}\"
donde GUID es un identificador único global (GUID) que identifica el volumen.
A veces, una ruta de acceso GUID de volumen se conoce como un nombre de volumen único, ya que una ruta de acceso GUID de volumen solo puede hacer referencia a un volumen. Sin embargo, este término es engañoso, ya que un volumen puede tener más de una ruta de acceso GUID de volumen.
El prefijo "\\?\" deshabilita el análisis de rutas de acceso y no se considera parte de la ruta de acceso. Para obtener más información sobre el prefijo "\\?\", consulte Nomenclatura de un archivo o directorio.
Debe especificar rutas de acceso completas al usar rutas de acceso GUID de volumen con el prefijo "\\?\".
Una carpeta montada es una asociación entre una carpeta de un volumen y otro volumen, de modo que la ruta de acceso de la carpeta se pueda usar para acceder al volumen. Por ejemplo, si usa la función SetVolumeMountPoint para crear una carpeta montada que asocie el volumen "D:\" con la carpeta "C:\MountD\", puede usar cualquiera de las rutas de acceso ("D:\" o "C:\MountD\") para acceder al volumen "D:\".
Un punto de montaje de volumen es cualquier ruta de acceso en modo de usuario que se pueda usar para acceder a un volumen. Hay tres tipos de puntos de montaje de volumen:
- Una letra de unidad, por ejemplo, "C:\".
- Una ruta de acceso GUID de volumen, por ejemplo, "\\?\Volume{26a21bda-a627-11d7-9931-806e6f6e6963}\".
- Una carpeta montada, por ejemplo, "C:\MountD\".
Todas las funciones de carpeta montadas y de volumen que toman una ruta de acceso GUID de volumen como parámetro de entrada requieren la barra diagonal inversa final. Todas las funciones de carpeta montadas y de volumen que devuelven una ruta de acceso GUID de volumen proporcionan la barra diagonal inversa final, pero esto no es el caso con la función CreateFile . Para abrir un volumen, llame a CreateFile y omita la barra diagonal inversa final del nombre del volumen que especifique. CreateFile procesa una ruta de acceso GUID de volumen con una barra diagonal inversa anexada como directorio raíz del volumen.
El sistema operativo asigna una ruta de acceso GUID de volumen a un volumen cuando se instala por primera vez el volumen y cuando se da formato al volumen. Las funciones de carpeta montadas y de volumen usan rutas guid de volumen para acceder a los volúmenes. Para obtener la ruta de acceso guid de volumen de un volumen, use la función GetVolumeNameForVolumeMountPoint .
Las longitudes de ruta de acceso pueden ser un problema cuando se crea una carpeta montada que asocia un volumen que tiene un árbol de directorio profundo con un directorio en otro volumen. Esto se debe a que la ruta de acceso del volumen se concatena a la ruta de acceso del directorio. La constante definida globalmente MAX_PATH define el número máximo de caracteres que puede tener una ruta de acceso. (Para obtener más información sobre MAX_PATH, consulte Nomenclatura de un archivo o directorio). Para evitar esta restricción, realice una de las siguientes acciones:
- Consulte los volúmenes por sus rutas de acceso guid de volumen.
- Use las versiones Unicode (W) de las funciones de archivo, que admiten el prefijo \\?\\ .