请问怎么用GetAdaptersInfo函数得到当前IP地址?
我想用GetAdaptersInfo函数得到电脑当前IP地址。
于是在MSDN中查到它的原型如下:
DWORD GetAdaptersInfo(
PIP_ADAPTER_INFO pAdapterInfo, // buffer to receive data
PULONG pOutBufLen // size of data returned
);
进一步查到IP_ADAPTER_INFO结构如下:
typedef struct _IP_ADAPTER_INFO {
struct _IP_ADAPTER_INFO* Next;
DWORD ComboIndex;
char AdapterName[MAX_ADAPTER_NAME_LENGTH + 4];
char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 4];
UINT AddressLength;
BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH];
DWORD Index;
UINT Type;
UINT DhcpEnabled;
PIP_ADDR_STRING CurrentIpAddress;
IP_ADDR_STRING IpAddressList;
IP_ADDR_STRING GatewayList;
IP_ADDR_STRING DhcpServer;
BOOL HaveWins;
IP_ADDR_STRING PrimaryWinsServer;
IP_ADDR_STRING SecondaryWinsServer;
time_t LeaseObtained;
time_t LeaseExpires;
} IP_ADAPTER_INFO, *PIP_ADAPTER_INFO;
我用CurrentIpAddress输出当前IP,结果总是失败:
printf("%s", pAdapterInfo->CurrentIpAddress->IpAddress.String);
然后又试了用IpAddressList输出,结果是成功的:
printf("%s", pAdapterInfo->IpAddressList.IpAddress.String);
从名字来看,CurrentIpAddress就是当前IP了,
为什么用它来输出当前IP却会失败呢?
CurrentIpAddress和IpAddressList是什么区别啊?
...全文
相关推荐
通过WAPI函数IP_ADAPTER_INFO轻松得到本地网卡物理地址
通过WAPI函数IP_ADAPTER_INFO轻松得到本地网卡物理地址,支持Windows CE 3.0 and later.
Powerbuilder 获取IP地址,MAC地址
pb使用函数GetAdaptersInfo 这个资源,是我自己写的代码,我违反了什么规定?
DELPHI获取网卡信息和IP地址
可获取机器的网卡信息和IP地址,多个网卡信息都能获取到。
基于BCB下获取本机IP地址
基于C++ Builder 6.0下的获取本机IP地址的程序 可供初学者参考及应用
GetAdaptersInfo
39422_GetAdaptersInfo1 取得系統資源


