Именование томов Windows
Продолжим изучать файловую систему Windows: поговорим об идентификаторах томов. Метка - это понятное имя, которое назначается тому, как правило, конечным пользователем, чтобы облегчить его распознавание. Том может иметь метку, букву диска, и то, и другое или ни то, ни другое. Чтобы задать метку, используйте функцию 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\".
Операционная система Windows назначает путь GUID тому при первой установке и при форматировании. Функции тома и подключенной папки используют пути GUID для доступа к ним. Чтобы получить путь GUID тома для тома, используйте функцию GetVolumeNameForVolumeMountPoint.
Длина пути может быть проблемой при создании подключенной папки, которая связывает том с глубоким деревом каталогов с каталогом на другом томе. Это связано с тем, что путь тома связан с путем каталога. Глобально определенная константа MAX_PATH определяет максимальное количество символов, которое может иметь путь. (Дополнительные сведения о MAX_PATH смотри в статье) Вы можете обойти это ограничение, выполнив одно из следующих действий:
- Обратитесь к томам по их путям GUID.
- Используйте Unicode (W) версии файловых функций, которые поддерживают \\?\ префикс.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Читайте также:
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.