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


Чтобы установить метку тома, используйте функцию SetVolumeLabel.

Два фактора могут затруднить это дело, чтобы надежно собрать конкретный том в указанной точке монтирования тома параллельно с перезагрузкой операционной системы. Первый - это то, что два различных тома могут иметь одну и ту же метку, которая делает их неразличимыми исключая имя диска. Второй - это то, что имена дисков не обязательно остаются теми же самыми. Если администратор компьютера не использует  Администратора дисков, чтобы предписать имена дискам, то эти имена могут измениться, поскольку диски удаляются из или добавляются к системе.

Чтобы решить эту проблему, система обращается к томам, которые были установлены по уникальными именам тома (unique volume names). Это - символьные строки такой формы:

"\\?\Volume{GUID}\"

где GUID является глобально уникальным идентификатором (GUID), который идентифицирует том.

Префикс \\?\  отключает синтаксический анализ пути и путь, в соответствии с этим, не анализируется - например, "\\?\C:\myworld\private" анализируется как "C:\myworld\private". С присоединением спереди путей префиксом \\?\ , Вы можете определить пути, которые являются длиной 32 767 символов Unicode. Однако, составная часть в пути не может быть больше чем конкретное для файловой системы значение, возвращенное функцией GetVolumeInformation.

Вы должны устанавливать полные пути при использовании определения уникальных имен тома при помощи \\?\. Этот префикс может также использоваться с путями, построенными согласно универсальному соглашению об именовании (UNC), например как "\\OtherComputer\Directory\Filename.ext".

Все функции точки монтирования тома, которые получают уникальное имя тома как параметр, требуют замыкающей наклонной черты влево (обратный слэша (\)); и все функции точки монтирования тома, которые возвращают уникальное имя тома, обеспечивают замыкающий обратный слэш (\). Однако, дело обстоит не так с функцией CreateFile. Вы можете открыть том при помощи вызова CreateFile и не включить замыкающий обратный слэш ()) после имени тома, которое Вы определяете. CreateFile обрабатывает уникальное имя тома с добавленным в конец обратным слэшем (\), как корневой каталог тома.

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

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

 

Hosted by uCoz