2

名前付きパイプをエラー0x0000007bで作成できません

別のマシンでサーバーとクライアントを接続しようとすると、上記のエラーが発生します。

MSDNリンクから取得したコード:http://code.msdn.microsoft.com/windowsdesktop/CppNamedPipeCommunication-7447a0bf

私はWindows7マシンを使用して通信しています。

#define FULL_PIPE_NAMEL"\\\\。\\pipe\\ SamplePipe"

別のマシンと通信するために、上記の行を次のように変更しました。

#define FULL_PIPE_NAMEL"\\\\マイマシンのIPアドレス\\pipe\\ SamplePipe"

注:同じマシン自体では、パスがL"\\\\。\\pipe\\SamplePipe"の場合にのみ機能します。同じマシンのIPアドレスを指定すると、同じエラーが発生します。

4

1 に答える 1

4

エラーコード0x0000007BはERROR_INVALID_NAME(「ファイル名、ディレクトリ名、またはボリュームラベルの構文が正しくありません」)です。 ドキュメントを読んでください。サーバーがを呼び出すときは、別のマシンでパイプを作成できないため、名前のみを使用するCreateNamedPipe()必要があります。"\\.\pipe\SamplePipe"クライアントがパイプに接続するとき、"\\ServerName\pipe\SamplePipe"リモートマシンまたはローカルマシンのパイプに接続する場合は名前を使用でき"\\.\pipe\SamplePipe"、ローカルマシンのパイプに接続する場合にのみ名前を使用できます。クライアントはサーバーのIPアドレスを使用できません。代わりに、サーバーのネットワークマシン名を使用する必要があります。

于 2013-01-24T10:50:20.043 に答える