命名管道

命名管道是用于管道服务器与一个或多个管道客户端之间通信的命名、单向或双工管道。 命名管道的所有实例共享相同的管道名称,但每个实例都有自己的缓冲区和句柄,并为客户端/服务器通信提供单独的管道。 通过使用实例,多个管道客户端可以同时使用同一个命名管道。

任何进程都可以访问命名管道,受到安全检查,使命名管道成为相关或不相关进程之间通信的简单形式。

任何进程都可以充当服务器和客户端,使对等通信成为可能。 在此处使用,术语管道服务器是指创建命名管道的进程,术语管道客户端是指连接到命名管道实例的进程。 用于实例化命名管道的服务器端函数是 CreateNamedPipe。 用于接受连接的服务器端函数是 ConnectNamedPipe。 客户端进程使用 CreateFileCallNamedPipe 函数连接到命名管道。

命名管道可用于在同一台计算机上的进程之间或网络上不同计算机上的进程之间提供通信。 如果服务器服务正在运行,则所有命名管道都可以远程访问。 如果打算仅在本地使用命名管道,请拒绝对 NT AUTHORITY\NETWORK 的访问或切换到本地 RPC。

有关详情,请参阅以下主题: