Cria um link simbólico para um pipe nomeado

2

Digamos que algum aplicativo exponha um pipe nomeado com o nome "Pipe1". Se eu quiser expressar o pipe nomeado como um caminho de arquivo que pode ser usado para gravação ou leitura, o caminho \.\pipe\Pipe1 ou \?\pipe\Pipe1 é válido e aponta para o pipe nomeado.

Agora, para facilitar a validação do caminho (alguns aplicativos podem não gostar do \.\ ), pensei que talvez um link simbólico pudesse ser usado para apontar para o dispositivo de pipe nomeado. Eu tentei criar o link via mklink link \.\pipe\Pipe1 , mklink link \?\pipe\Pipe1 e também mklink link \?\GlobalRoot\Device\NamedPipe\Pipe1 , mas todos eles falham ao tentar abrir o link, com o seguinte erro:

The data present in the reparse point buffer is invalid

Faz sentido o que estou tentando fazer? Um link simbólico pode apontar para qualquer caminho e não apenas para o sistema de arquivos? Existe uma maneira melhor de realizar o que estou tentando fazer?

Estranhamente, lembro que estava tentando resolver esse problema antes, e o link simbólico funcionava assim, mais ou menos. Além disso, um link simbólico é o único tipo utilizável, criando um link físico com falha (porque o pipe não está em uma partição NTFS) e um link de diretório ou uma junção não pode ser usado para i / o.

    
por IllidanS4 05.11.2017 / 02:39

0 respostas