我想知道是否有一种标准方法可以在Windows上发布命名管道的名称。
在Unix系统上,程序可以使用本地套接字,并将“套接字文件”放在/run
或/var/run
下。然后,只需使用ls
查找套接字即可。例如,可以在/run/cups/cups.sock
下找到杯子插座。
但是,在Windows上,无法浏览命名管道。
或更确切地说,可以使用NtQueryDirectoryFile()
,但是这种用法没有记录。还有命名管道的文档说明:
管道客户端从某个持久源中发现管道名称, 例如注册表项,文件或其他应用程序。除此以外, 客户必须在编译时知道管道名称。
因此,命名管道服务器似乎应该在注册表或文件中的某个位置发布管道名称。然后,客户端不应使用NtQueryDirectoryFile()
,而应在注册表或文件中查找名称。
所以我的问题是:这样的注册表项或文件是否有记录/标准的位置?
奖金问题:现在Windows支持Unix本地套接字,文件系统中是否存在放置这些套接字的标准位置(类似于Unix上的/run
)?