命名管道

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

任何进程都可以访问已命名的管道,但要进行安全检查,使命名管道成为相关或无关进程之间的一种简单的通信方式。

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

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

有关详细信息,请参阅以下主题: