6

Меня интересует период персонажа . используется в качестве ярлыка для имени локального компьютера. Вы можете использовать его при входе в Windows 7, например, чтобы указать, что учетная запись пользователя, которую вы вводите, принадлежит локальному компьютеру, а не домену:

.\MyLocalUserAccount

И вы можете использовать его в запросе инструментария управления Windows (WMI), чтобы указать, что целью является локальный компьютер, а не удаленный компьютер. Вы также можете использовать его при работе с именованными каналами для аналогичных целей.

Однако его нельзя использовать в качестве сетевого имени UNC для компьютера, например:

\\.\MyShare

Имеет ли этот персонаж официальное имя (например, "LocalHostToken") и когда и где его можно использовать для этой цели?

1 ответ1

2

В этой статье Microsoft есть хорошее описание \\.\ :
Именование файлов, путей и пространств имен - пространства имен устройств Win32.

В статье говорится:

Префикс \\.\ Будет обращаться к пространству имен устройства Win32 вместо пространства имен файла Win32. Именно так доступ к физическим дискам и томам осуществляется напрямую, без прохождения через файловую систему, если API поддерживает этот тип доступа. Таким способом можно получить доступ ко многим устройствам, кроме дисков (например, с помощью функций CreateFile и DefineDosDevice).

Например, если вы хотите открыть последовательный порт связи системы 1, вы можете использовать "COM1" при вызове функции CreateFile. Это работает, потому что COM1-COM9 являются частью зарезервированных имен в пространстве имен NT, хотя использование префикса \\.\ Также будет работать с этими именами устройств. Для сравнения, если у вас установлена плата последовательного расширения на 100 портов и вы хотите открыть COM56, вы не можете открыть ее с помощью "COM56", потому что нет предопределенного пространства имен NT для COM56. Вам нужно будет открыть его с помощью \\.\COM56 потому что \\.\ Переходит непосредственно в пространство имен устройства, не пытаясь найти предопределенный псевдоним.

Еще один пример использования пространства имен устройства Win32 - использование функции CreateFile с \\.\PhysicalDiskX (где X - допустимое целочисленное значение) или \\.\CdRomX . Это позволяет получить доступ к этим устройствам напрямую, минуя файловую систему. Это работает, потому что эти имена устройств создаются системой при перечислении этих устройств, и некоторые драйверы также создают другие псевдонимы в системе. Например, драйвер устройства, который реализует имя «C:\», имеет свое собственное пространство имен, которое также является файловой системой.

API, которые проходят через функцию CreateFile, обычно работают с префиксом \\.\ Потому что CreateFile - это функция, используемая для открытия файлов и устройств, в зависимости от используемых вами параметров.

Если вы работаете с функциями Windows API, вы должны использовать префикс \\.\ Для доступа только к устройствам, а не к файлам.

Большинство API не поддерживают \\.\ ; распознавать его могут только те, которые предназначены для работы с пространством имен устройства. Всегда проверяйте справочную тему для каждого API, чтобы быть уверенным.

Это соглашение об адресации устройств всегда должно работать в командной строке (cmd), помимо других приложений.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .