IP_ADAPTER_UNICAST_ADDRESS_LH结构 (iptypes.h)
IP_ADAPTER_UNICAST_ADDRESS结构将单个单播 IP 地址存储在特定适配器的 IP 地址链接列表中。
语法
typedef struct _IP_ADAPTER_UNICAST_ADDRESS_LH {
union {
ULONGLONG Alignment;
struct {
ULONG Length;
DWORD Flags;
};
};
struct _IP_ADAPTER_UNICAST_ADDRESS_LH *Next;
SOCKET_ADDRESS Address;
IP_PREFIX_ORIGIN PrefixOrigin;
IP_SUFFIX_ORIGIN SuffixOrigin;
IP_DAD_STATE DadState;
ULONG ValidLifetime;
ULONG PreferredLifetime;
ULONG LeaseLifetime;
UINT8 OnLinkPrefixLength;
} IP_ADAPTER_UNICAST_ADDRESS_LH, *PIP_ADAPTER_UNICAST_ADDRESS_LH;
成员
Alignment
Length
类型: ULONG
此结构的长度(以字节为单位)。
Flags
类型:DWORD
此 IP 地址的一组标志。
下表列出了可能的值。 这些常量在 Iptypes.h 头文件中定义。
值 | 含义 |
---|---|
|
IP 地址在 DNS 中显示是合法的。 |
|
IP 地址是群集地址,不应由大多数应用程序使用。 |
Next
类型: struct _IP_ADAPTER_UNICAST_ADDRESS*
指向列表中下一个 IP 适配器地址结构的指针。
Address
类型: SOCKET_ADDRESS
此单播 IP 地址条目的 IP 地址。 此成员可以是 IPv6 地址或 IPv4 地址。
PrefixOrigin
类型: IP_PREFIX_ORIGIN
IP 地址的前缀或网络部分。 此成员可以是 iptypes.h 头文件中定义的 IP_PREFIX_ORIGIN 枚举类型的值之一。
SuffixOrigin
类型: IP_SUFFIX_ORIGIN
IP 地址的后缀或主机部分。 此成员可以是 iptypes.h 头文件中定义的IP_SUFFIX_ORIGIN枚举类型的值之一。
DadState
类型: IP_DAD_STATE
重复地址检测 (DAD) 状态。 此成员可以是 iptypes.h 头文件中定义的 IP_DAD_STATE 枚举类型的值之一。 重复地址检测适用于 IPv4 和 IPv6 地址。
ValidLifetime
类型: ULONG
IP 地址有效的最长生存期(以秒为单位)。 0xffffffff 值被视为无限。
PreferredLifetime
类型: ULONG
IP 地址有效的首选生存期(以秒为单位)。 0xffffffff 值被视为无限。
LeaseLifetime
类型: ULONG
IP 地址有效的租约生存期(以秒为单位)。
OnLinkPrefixLength
类型: UINT8
IP 地址的前缀或网络部分的长度(以位为单位)。 对于单播 IPv4 地址,任何大于 32 的值都是非法值。 对于单播 IPv6 地址,任何大于 128 的值都是非法值。 值 255 通常用于表示非法值。
注解
IP_ADAPTER_ADDRESSES 结构由 GetAdaptersAddresses 函数检索。 IP_ADAPTER_ADDRESSES 结构的 FirstUnicastAddress 成员是指向IP_ADAPTER_UNICAST_ADDRESS结构链接列表的指针。
Windows Vista 及更高版本上 IP_ADAPTER_UNICAST_ADDRESS 结构的大小已更改。 Length 成员应用于确定正在使用哪个版本的 IP_ADAPTER_UNICAST_ADDRESS 结构。
Windows Vista 和更高版本上的 IP_ADAPTER_UNICAST_ADDRESS 结构版本添加了以下新成员: OnLinkPrefixLength。
当此结构与 GetAdaptersAddresses 函数和类似的管理功能一起使用时,将显示所有配置的地址,包括重复的地址。 静态配置地址时,可能会发生此类重复的地址条目。 此类报告有助于管理员进行故障排除。 DadState 成员可以有效地识别和排查此类情况。
在 Windows SDK 中,在 Windows Vista 及更高版本上使用的结构版本定义为 IP_ADAPTER_UNICAST_ADDRESS_LH。 在 Windows SDK 中,此结构在早期系统(包括 Windows XP service Pack 1 (SP1) 及更高版本)上使用的版本定义为 IP_ADAPTER_UNICAST_ADDRESS_XP。 如果目标平台是 Windows Vista 且更高版本 (NTDDI_VERSION >= NTDDI_VISTA
、 _WIN32_WINNT >= 0x0600
或 WINVER >= 0x0600
) ,则编译应用程序时, IP_ADAPTER_UNICAST_ADDRESS_LH 结构的类型为 IP_ADAPTER_UNICAST_ADDRESS 结构。 如果目标平台不是 Windows Vista 及更高版本,则编译应用程序时, IP_ADAPTER_UNICAST_ADDRESS_XP 结构的类型为 IP_ADAPTER_UNICAST_ADDRESS 结构。
SOCKET_ADDRESS结构用于IP_ADAPTER_UNICAST_ADDRESS结构。 在针对 Windows Vista 及更高版本发布的 Microsoft Windows 软件开发工具包 (SDK) 上,头文件的组织已更改, SOCKET_ADDRESS 结构在 Ws2def.h 头文件中定义, Wsock2.h 头文件自动包含该头文件。 在针对 Windows Server 2003 和 Windows XP 发布的平台软件开发工具包 (SDK) 上, SOCKET_ADDRESS 结构在 Winsock2.h 头文件中声明。 若要使用 IP_ADAPTER_UNICAST_ADDRESS 结构,必须在 Iphlpapi.h 头文件之前包含 Winsock2.h 头文件。
要求
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | iptypes.h (包括 Iphlpapi.h) |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈