以编程方式将LAN计算机名称解析为完全限定名称

Programmatically resolve LAN computer name to fully qualified name?

本文关键字:定名称 方式 编程 LAN 计算机名      更新时间:2023-10-16

我正在编写一个C++应用程序,它从外部世界接收LAN计算机名称作为输入(例如\\PCNAME123,我可以通过在Windows运行提示或IE地址栏中键入来访问它),并需要基于该名称获取一些数据,例如用它调用gethostbyname()函数。

问题是,我需要一个我认为被称为(我是Winsock和网络编程的新手,所以我可能没有术语权限)的完全限定的名称(例如PCNAME123.domainname.net)。我已经测试过了,gethostbyname()可以使用,但不能使用"PCNAME123"或"\\PCNAME123"。

如何获得该网络计算机的完全限定名称(请注意,它不适用于本地主机,而是适用于本地网络上的其他计算机)?

您可以尝试使用GetAddrInfoW函数来获取名称信息吗。

要回答我自己的问题,其中一个解决方案似乎是使用getaddrinfo()函数。