Caractere de ponto usado para o nome do computador local


6

Eu estou pensando sobre o caractere de ponto .usado como um atalho para o nome do computador local. Você pode usá-lo ao fazer login no Windows 7, por exemplo, para especificar que a conta de usuário inserida pertence ao computador local e não a um domínio:

.\MyLocalUserAccount

E você pode usá-lo em uma consulta WMI (Instrumentação de Gerenciamento do Windows) para indicar que o destino é o computador local e não um computador remoto. Você também pode usá-lo ao trabalhar com pipes nomeados para fins semelhantes.

No entanto, você não pode usá-lo como o nome da rede UNC do computador, assim:

\\.\MyShare

Esse personagem tem um nome oficial (por exemplo, "LocalHostToken") e quando e onde pode ser usado para esse fim?


@random - Como essa pergunta está procurando uma recomendação de software? Não é disso que estou procurando.
R24.12

11
Você está solicitando um documento de referência, é por isso que está fora do escopo
aleatório

@ random - Eu atualizei minha pergunta para torná-la mais esperançosamente no tópico.
Roger.ap #

Respostas:


3

Este artigo da Microsoft tem uma boa descrição de \\.\:
Nomeando arquivos, caminhos e espaços para nome - espaços para nome do dispositivo Win32 .

O artigo diz:

O \\.\prefixo acessará o espaço para nome do dispositivo Win32 em vez do espaço para nome do arquivo Win32 . É assim que o acesso a discos e volumes físicos é realizado diretamente, sem passar pelo sistema de arquivos, se a API suportar esse tipo de acesso. Você pode acessar muitos dispositivos que não sejam discos dessa maneira (usando as funções CreateFile e DefineDosDevice, por exemplo).

Por exemplo, se você deseja abrir a porta de comunicação serial 1 do sistema, pode usar "COM1" na chamada para a função CreateFile. Isso funciona porque COM1 – COM9 faz parte dos nomes reservados no espaço para nome do NT, embora o uso do \\.\prefixo também funcione com esses nomes de dispositivo. Por comparação, se você possui uma placa de expansão serial de 100 portas instalada e deseja abrir o COM56, não é possível abri-lo usando "COM56" porque não há espaço para nome predefinido do NT para o COM56. Você precisará abri-lo usando, \\.\COM56porque \\.\vai diretamente para o namespace do dispositivo sem tentar localizar um alias predefinido.

Outro exemplo de uso do espaço para nome do dispositivo Win32 está usando a função CreateFile com \\.\PhysicalDiskX(onde X é um valor inteiro válido) ou \\.\CdRomX. Isso permite que você acesse esses dispositivos diretamente, ignorando o sistema de arquivos. Isso funciona porque esses nomes de dispositivos são criados pelo sistema à medida que esses dispositivos são enumerados e alguns drivers também criarão outros aliases no sistema. Por exemplo, o driver de dispositivo que implementa o nome "C: \" possui seu próprio espaço para nome, que também é o sistema de arquivos.

As APIs que passam pela função CreateFile geralmente funcionam com o \\.\prefixo, porque CreateFile é a função usada para abrir arquivos e dispositivos, dependendo dos parâmetros usados.

Se você estiver trabalhando com funções da API do Windows, use o \\.\prefixo para acessar apenas dispositivos e não arquivos .

A maioria das APIs não suporta \\.\; somente aqueles projetados para trabalhar com o espaço para nome do dispositivo o reconhecerão. Sempre verifique o tópico de referência para cada API para ter certeza.

Essa convenção de endereçamento de dispositivo deve sempre funcionar no prompt de comando (cmd), ao lado de outros aplicativos.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.