2013-01-24 68 views
2

无法创建命名管道W /犯错0X0000007B命名管道错误:无法创建命名管道W /犯错0X0000007B

我得到上面的错误,当我尝试连接在不同的机器上的服务器和客户端。

我从MSDN链接了该代码:http://code.msdn.microsoft.com/windowsdesktop/CppNamedPipeCommunication-7447a0bf

我使用Windows 7计算机进行通信。

的#define FULL_PIPE_NAME L “\\\\ \\管\\ SamplePipe”

要使用不同的机器通信的I改变上述行来:

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

注意:在同一台机器本身,它只有在路径为:L”\\\\。\\ pipe \\ SamplePipe“ 。如果我提供同一台机器的IP地址,它会出现相同的错误。

回答

3

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