Windows命名管道注意事项

·

  1. CreateNamedPipeConnectNamedPipe函数之间,如果有客户端连接管道,是可以建立有效连接的,但是ConnectNamedPipe的返回值为FALSE,并且GetLastError返回ERROR_PIPE_CONNECTED。这个连接和正常用ConnectNamedPipe接收到的连接是一样的(MSDN上说的很清楚)。
  2. 客户端在使用TransactNamedPipe函数的时候,如果管道没有准备好,会返回错误,解决方法是使用SetNamedPipeHandleState函数将客户端管道改为PIPE_READMODE_MESSAGE模式。CallNamedPipe函数没有这个问题。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注