Share via


IP_ADAPTER_ADDRESSES

This structure is the "header node" for a linked list of addresses for a particular adapter. This structure can simultaneously be used as part of a linked list of IP_ADAPTER_ADDRESSES structures.

typedef struct _IP_ADAPTER_ADDRESSES {
  union {
    ULONGLONG Alignment
    struct {
      ULONG Length;
      DWORD IfIndex;
    }
  }
  struct _IP_ADAPTER_ADDRESSES* Next;
  PCHAR AdapterName;
  PIP_ADAPTER_UNICAST_ADDRESS FirstUnicastAddress;
  PIP_ADAPTER_ANYCAST_ADDRESS FirstAnycastAddress;
  PIP_ADAPTER_MULTICAST_ADDRESS FirstMulticastAddress;
  PIP_ADAPTER_DNS_SERVER_ADDRESS FirstDnsServerAddress;
  PWCHAR DnsSuffix;
  PWCHAR Description;
  PWCHAR FriendlyName;
  BYTE PhysicalAddress [MAX_ADAPTER_ADDRESS_LENGTH];
  DWORD PhysicalAddressLength;
  DWORD Flags;
  DWORD Mtu;
  DWORD IfType;
  IF_OPER_STATUS OperStatus;
  DWORD Ipv6IfIndex;
  DWORD ZoneIndices[16];
  PIP_ADAPTER_PREFIX FirstPrefix;
  } IP_ADAPTER_ADDRESSES, *PIP_ADAPTER_ADDRESSES;

Members

  • Alignment
    Reserved. Used by the compiler to align the structure.

  • Length
    Specifies the length of this structure.

  • IfIndex
    Specifies the index of the interface with which these addresses are associated.

  • Next
    Pointer to the next list of adapter addresses.

  • AdapterName
    Specifies an array of characters that contains the name of the adapter with which these addresses are associated.

  • FirstUnicastAddress
    Pointer to the first IP_ADAPTER_UNICAST_ADDRESS structure in the list of addresses for the adapter specified by AdapterName.

  • FirstAnycastAddress
    Pointer to the first IP_ADAPTER_ANYCAST_ADDRESS structure in the list of addresses for the adapter specified by AdapterName.

  • FirstMulticastAddress
    Pointer to the first IP_ADAPTER_MULTICAST_ADDRESS structure in the list of addresses for the adapter specified by AdapterName.

  • FirstDnsServerAddress
    Pointer to the first DNS server adapter address structure in the list of addresses for the adapter specified by AdapterName.

  • DnsSuffix
    Specifies the DNS suffix associated with this adapter.

  • Description
    Specifies a description for the adapter.

  • FriendlyName
    Specifies a user-friendly name. This name appears in contexts such as the ipconfig command line program and the Connection folder.

  • PhysicalAddress
    Specifies the Media Access Control (MAC) address for the adapter. For example, on an Ethernet network, this member would specify the Ethernet address.

  • PhysicalAddressLength
    Specifies the length of the address specified in the PhysicalAddress member. For interfaces that do not have a data-link layer, this value is zero.

  • Flags
    Specifies a combination flags. The following table shows the possible flags.

    Flag Description
    IP_ADAPTER_DDNS_ENABLED Dynamic DNS is enabled on this adapter.
    IP_ADAPTER_REGISTER_ADAPTER_SUFFIX Register the DNS suffix for this adapter.
    IP_ADAPTER_DHCP_ENABLED Dynamic Host Configuration Protocol is enabled on this adapter.
  • Mtu
    Specifies the maximum transmission unit (MTU), in bytes.

  • IfType
    Specifies the type of interface using the values defined by the Internet Assigned Numbers Authority (IANA). These values are also listed in the header file ipifcons.h.

  • OperStatus
    Specifies the operational status of the interface using the values defined in RFC2863. These values are also listed in the header file iptypes.h.

  • Ipv6IfIndex
    Specifies the interface index for the IPv6 IP address. Contains zero if IPv6 is not available on the interface.

  • ZoneIndices[16]
    The array of Scope IDs for each scope level. Used for composing sockaddr structures. The SCOPE_LEVEL enumeration is used to index the array.

  • FirstPrefix
    The pointer to the first adapter prefix in the IPv6IfIndex member.

Remarks

An application can query the OperStatus member to discover the current status of network connectivity. This status is not subject to Media Sense damping intervals, for example when the connectivity status of an interface changes, OperStatus immediately changes to reflect the current state. This change in connectivity status will have no effect on the TCP/IP stack until the damping interval expires.

Requirements

OS Versions: Windows CE .NET 4.1 and later.
Header: Iptypes.h.

See Also

IPHelper Structures

 Last updated on Tuesday, May 18, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.