Winapi 如何从文件句柄到客户端获取Windows管道服务器端的主机名?

Winapi 如何从文件句柄到客户端获取Windows管道服务器端的主机名?,winapi,named-pipes,Winapi,Named Pipes,我想要WinAPI的反面 最好使用WinAPI。(我试图避免与.NET对话,对Powershell进行昂贵的system()调用,或编写使用WMI/MI或COM所需的所有基础结构。) 编辑:是的,我知道如果我控制两端并且它是双工的,我可以编写逻辑让服务器告诉我它的主机名。让我们跳过这一点。反向”对您意味着什么?@IInspectable假设我有一个命名管道实例的客户端句柄,通过CreateFile(“\\\\otherhost\\pipe\\pipename”…)获得。。我如何查询该句柄,从而产

我想要WinAPI的反面

最好使用WinAPI。(我试图避免与.NET对话,对Powershell进行昂贵的system()调用,或编写使用WMI/MI或COM所需的所有基础结构。)


编辑:是的,我知道如果我控制两端并且它是双工的,我可以编写逻辑让服务器告诉我它的主机名。让我们跳过这一点。

反向”对您意味着什么?@IInspectable假设我有一个命名管道实例的客户端句柄,通过
CreateFile(“\\\\otherhost\\pipe\\pipename”…)获得。
。我如何查询该句柄,从而产生字符串
“otherhost”
?我不知道这是否有效,但请查看并查询
FileNameInfo
,以获得回复。遗憾的是,GetFileInformationByHandleEx的文档页面上说“此句柄不应该是管道句柄。”。此外,即使在其工作的文件类型上,它也只将路径的“文件”部分(在本例中为“管道名”)写入文件名信息,而不是设备部分。@KeithRussell为什么不能简单地记住您给
CreateFile()
的路径并根据需要对其进行解析?这听起来像是一个错误。你到底想完成什么?