На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Именование томов 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\".
Для всех функций тома и подключенной папки, которые принимают путь GUID в качестве входного параметра, требуется обратная косая черта. Все функции тома и смонтированной папки, возвращающие путь GUID, предоставляют конечную обратную косую черту, но это не относится к функции CreateFile. Вы можете открыть том, вызвав CreateFile и опустить конечную обратную косую черту из указанного имени тома. CreateFile обрабатывает путь GUID тома с добавленной обратной косой чертой в качестве корневого каталога тома.

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

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

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





тегистатьи IT, windows, файл, теория, файловая система

Читайте также:




График функции на C++ в GUI с анимацией
Внешний вид radiobutton


© upread.ru 2013-2019
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.