getIpNetTable 函数 (iphlpapi.h)
GetIpNetTable 函数检索 IPv4 到物理地址映射表。
语法
IPHLPAPI_DLL_LINKAGE ULONG GetIpNetTable(
[out] PMIB_IPNETTABLE IpNetTable,
[in, out] PULONG SizePointer,
[in] BOOL Order
);
参数
[out] IpNetTable
指向缓冲区的指针,该缓冲区接收 IPv4 到物理地址映射表作为 MIB_IPNETTABLE 结构。
[in, out] SizePointer
输入时,指定 pIpNetTable 参数指向的缓冲区的大小(以字节为单位)。
在输出中,如果缓冲区的大小不足以容纳返回的映射表,则函数会将此参数设置为等于所需的缓冲区大小(以字节为单位)。
[in] Order
一个布尔值,指定是否应按 IP 地址按升序对返回的映射表进行排序。 如果此参数为 TRUE,则对表进行排序。
返回值
如果函数成功,则返回值为NO_ERROR或ERROR_NO_DATA。
如果函数失败或未返回任何数据,则返回值是以下错误代码之一。
返回代码 | 说明 |
---|---|
|
pIpNetTable 参数指向的缓冲区不够大。 所需大小在 pdwSize 参数指向的 DWORD 变量中返回。 |
|
向该函数传递了无效参数。 如果 pdwSize 参数为 NULL,或者 GetIpNetTable 无法写入 pdwSize 参数指向的内存,则返回此错误。 |
|
没有要返回的数据。 IPv4 到物理地址的映射表为空。 此返回值表示对 GetIpNetTable 函数的调用成功,但没有要返回的数据。 |
|
未在本地计算机上配置 IPv4 传输。 |
|
使用 FormatMessage 获取返回错误的消息字符串。 |
注解
The
GetIpNetTable 函数枚举本地系统上从 IPv4 到物理地址映射表的地址解析协议 (ARP) 条目,并在 MIB_IPNETTABLE 结构中返回此信息。
IPv4 地址条目在 pIpNetTable 参数指向的缓冲区中的MIB_IPNETTABLE结构中返回。 MIB_IPNETTABLE 结构包含每个 IPv4 地址条目的 ARP 条目计数和MIB_IPNETROW结构的数组。
请注意,由 pIpNetTable 参数指向的返回MIB_IPNETTABLE结构可能包含用于在 dwNumEntries 成员与MIB_IPNETTABLE结构的表成员中的第一个MIB_IPNETROW数组条目之间对齐的填充。 MIB_IPNETROW 数组条目 之间还可能存在对齐的填充。 对 MIB_IPNETROW 数组条目的任何访问都应假定可能存在填充。
在 Windows Vista 及更高版本中, GetIpNetTable2 函数可用于检索 IPv6 和 IPv4 的邻居 IP 地址。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | iphlpapi.h |
Library | Iphlpapi.lib |
DLL | Iphlpapi.dll |