每一个命名管道都有一个唯一的名字以区分于存在于系统的命名对象列表中的其他命名管道。管道服务
器在调用CreateNamedPipe()函数创建命名管道的一个或多个实例时为其指定了名称。对于管道客户机
,则是在调用CreateFile()或CallNamedPipe()函数以连接一个命名管道实例时对管道名进行指定。
命名管道的命名规范:
\\Server\Pipe\[Path]Name
第一部分\\Server指定了服务器的名字,命名管道服务即在此服务器创建,其字串部分可表示为一个小
数点(表示本机)、星号(当前网络字段)、域名或是一个真正的服务;第二部分\Pipe是一个不可变化
的硬编码字串,以指出该文件是从属于NPFS( 命名管道文件系统);第三部分\[Path]Name则使应用程序
可以唯一定义及标识一个命名管道的名字,而且可以设置多级目录。
服务端使用函数:
CreateNamedPipe(); // 创建管道
ConnectNamedPipe(); // 阻塞,等待客户端连接
客户端使用函数:
CreateFile();
双方均可以使用的函数:
WriteFile();
ReadFile(); // 阻塞,使用方便
CloseHandle(); // 关闭管道,断开连接