Поделиться через


Именование тома

Метка — это понятное имя, которое присваивается томам, обычно конечным пользователем, чтобы облегчить их распознавание. Том может иметь метку, букву диска, оба или ни то, ни другое. Чтобы задать метку для тома, используйте функцию 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-806e6f6e69663}\".
  • Подключенная папка, например "C:\MountD\".

Для всех функций тома и подключенных папок, которые принимают путь GUID тома в качестве входного параметра, необходимо наличие на конце обратной косой черты. Все функции, работающие с томами и подключенными папками, которые возвращают путь, содержащий GUID тома, предоставляют завершающую обратную косую черту, но это не относится к функции CreateFile. Чтобы открыть том, вызовите CreateFile и уберите завершающий обратный слеш из имени тома. CreateFile обрабатывает путь GUID тома с добавленной обратной косой чертой в качестве корневого каталога тома.

Операционная система назначает тома путь GUID при его первоначальной установке и при форматировании. Функции тома и установленных папок используют пути GUID разделов для доступа к томам. Чтобы получить GUID путь тома, используйте функцию GetVolumeNameForVolumeMountPoint.

Длина пути может быть проблемой при создании подключенной папки, которая связывает том с глубоким деревом каталогов с каталогом на другом томе. Это связано с тем, что путь тома объединяется с путем каталога. Глобально определяемая константная MAX_PATH определяет максимальное количество символов, которые может иметь путь. (Дополнительные сведения о MAX_PATHсм. в разделе именование файла или каталога.) Это ограничение можно избежать, выполнив одно из следующих действий.

  • Обратитесь к томам по их путям GUID.
  • Используйте версии функций файлов Юникода (W), которые поддерживают префикс \\?\.