EC2中Windows Server的gethostname

时间:2015-03-13 16:23:12

标签: c++ c winapi amazon-ec2

我尝试编写一个C / C ++函数(多平台支持),以便能够获得"计算机主机名"如果它在"真实"工作站或服务器,看起来它不适用于在Amazon EC2中运行的Windows服务器。

在Windows下

我使用以下代码:

WSADATA wsaData;
WSAStartup(MAKEWORD(2, 2), &wsaData);

char name[MAX_COMPUTERNAME_LENGTH + 1] = "";
int size = MAX_COMPUTERNAME_LENGTH;
::gethostname(name, size);
string hostname(name);

WSACleanup();

在EC2的Windows服务器上,我得到一个空字符串。但如果只检查环境变量,我得到了:

echo %COMPUTERNAME%
WIN-LXKBCSPP55Y

我也尝试GetComputerName,但它返回了∩½ÿ<Ω▒ìτÅ¡

欢迎任何帮助,因为现在我不明白发生了什么!

0 个答案:

没有答案