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_ADAPTER_ADDRESS_DNS_ELIGIBLE
IP 地址在 DNS 中显示是合法的。
IP_ADAPTER_ADDRESS_TRANSIENT
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 通常用于表示非法值。

注意 此结构成员仅适用于 Windows Vista 及更高版本。
 

注解

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 >= 0x0600WINVER >= 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)

另请参阅

GetAdaptersAddresses

IP 帮助程序起始页

IP 帮助程序结构

IP_ADAPTER_ADDRESSES

IP_DAD_STATE

IP_PREFIX_ORIGIN

IP_SUFFIX_ORIGIN

SOCKET_ADDRESS