命名管道错误:无法创建命名管道w / err 0x0000007b

时间:2013-01-24 07:20:14

标签: c++

无法创建命名管道w / err 0x0000007b

当我尝试在不同的计算机上连接服务器和客户端时,我收到上述错误。

我从MSDN Link获得的代码:http://code.msdn.microsoft.com/windowsdesktop/CppNamedPipeCommunication-7447a0bf

我正在使用Windows 7机器进行通信。

#define FULL_PIPE_NAME L“\\\\。\\ pipe \\ SamplePipe”

为了与不同的机器通信,我将上面的一行更改为:

#define FULL_PIPE_NAME L“\\\\我的机器的IP地址\\ pipe \\ SamplePipe”

注意:在同一台机器上,只有当路径为:L“\\\\。\\ pipe \\ SamplePipe”时才会起作用。如果我提供相同机器的IP地址,它将给出相同的错误。

1 个答案:

答案 0 :(得分:3)

错误代码0x0000007B为ERROR_INVALID_NAME(“文件名,目录名称或卷标语法不正确”)。 Read the documentation。当服务器调用CreateNamedPipe()时,必须仅使用"\\.\pipe\SamplePipe"名称,因为它无法在另一台计算机上创建管道。当客户端连接到管道时,如果连接到远程或本地计算机上的管道,则可以使用"\\ServerName\pipe\SamplePipe"名称;如果连接到本地计算机上的管道,则可以使用"\\.\pipe\SamplePipe"名称。客户端无法使用服务器的IP地址,而是必须使用服务器的网络计算机名称。