Именование тома
Метка — это понятное имя, которое назначается тому, как правило, конечным пользователем, чтобы упростить распознавание. Том может иметь метку, букву диска, и то, и другое. Чтобы задать метку для тома, используйте функцию SetVolumeLabel .
Несколько факторов могут затруднить идентификацию конкретных томов с помощью только букв и меток диска. Одна из них заключается в томе, что для тома не требуется буква диска или метка. Другой заключается в том, что два разных тома могут иметь одну и ту же метку, что делает их неотличимыми, за исключением буквы диска. Третий фактор заключается в том, что назначения букв диска могут изменяться по мере добавления томов к компьютеру и удаления с него.
Чтобы решить эту проблему, операционная система использует пути GUID тома для идентификации томов. Ниже приведены строки такого вида:
"\\?\Volume{GUID}\"
где GUID — это глобальный уникальный идентификатор (GUID), который идентифицирует том.
Путь GUID тома иногда называют уникальным именем тома, так как путь GUID тома может ссылаться только на один том. Однако этот термин вводит в заблуждение, так как том может иметь несколько путей GUID тома.
Префикс \\?\" отключает синтаксический анализ пути и не считается частью пути. Дополнительные сведения о префиксе "\\?\" см. в разделе Именование файла или каталога.
При использовании путей GUID тома с префиксом "\?\" необходимо указать полные пути.
Подключенная папка — это связь между папкой на одном томе и другом томе, что позволяет использовать путь к папке для доступа к тому. Например, если вы используете функцию SetVolumeMountPoint для создания подключенной папки, которая связывает том "D:\" с папкой "C:\MountD\", вы можете использовать любой путь ("D:\" или "C:\MountD\") для доступа к тому "D:\".
Точка подключения тома — это любой путь в пользовательском режиме, который можно использовать для доступа к тому. Существует три типа точек подключения томов:
- Буква диска, например "C:\".
- Путь GUID тома, например "\\?\Volume{26a21bda-a627-11d7-9931-806e6f6e6963}\".
- Подключенная папка, например "C:\MountD\".
Для всех функций томов и подключенных папок, которые принимают путь GUID тома в качестве входного параметра, требуется обратная косая черта в конце. Все функции томов и подключенных папок, возвращающие путь GUID тома, предоставляют обратную косую черту в конце, но это не относится к функции CreateFile . Вы можете открыть том, вызвав CreateFile и опустив обратную косую черту в конце указанного имени тома. CreateFile обрабатывает путь GUID тома с добавленной обратной косой чертой в качестве корневого каталога тома.
Операционная система назначает путь GUID тома к тому при первой установке тома и при форматировании тома. Функции томов и подключенных папок используют пути GUID тома для доступа к томам. Чтобы получить путь GUID тома, используйте функцию GetVolumeNameForVolumeMountPoint .
Длина пути может быть проблемой при создании подключенной папки, которая связывает том с глубоким деревом каталогов с каталогом на другом томе. Это связано с тем, что путь к тому объединяется с путем каталога. Глобально определенная константная MAX_PATH определяет максимальное количество символов, которые может иметь путь. (Дополнительные сведения о MAX_PATH см. в разделе Именование файла или каталога.) Это ограничение можно избежать, выполнив одно из следующих действий:
- Ссылаться на тома по путям GUID тома.
- Используйте версии файловых функций в Юникоде (W), которые поддерживают префикс \\?\.