2.2.1.2.60 DHCP_SUBNET_ELEMENT_DATA_V6

The DHCP_SUBNET_ELEMENT_DATA_V6 structure defines the elements of the IPv6 prefix, such as IPv6 reservation, IPv6 exclusion range, or IPv6 range. This is used in the R_DhcpAddSubnetElementV6 (section 3.2.4.60) method.

 typedef struct _DHCP_SUBNET_ELEMENT_DATA_V6 {
     DHCP_SUBNET_ELEMENT_TYPE_V6 ElementType;
     [switch_is(ELEMENT_MASK(ElementType)), switch_type(DHCP_SUBNET_ELEMENT_TYPE_V6)]
     union _DHCP_SUBNET_ELEMENT_UNION_V6 {
         [case(Dhcpv6IpRanges)] DHCP_IP_RANGE_V6      *IpRange;
         [case(Dhcpv6ReservedIps)] DHCP_IP_RESERVATION_V6 *ReservedIp;
         [case(Dhcpv6ExcludedIpRanges)] DHCP_IP_RANGE_V6 *ExcludeIpRange;
     } Element;
 } DHCP_SUBNET_ELEMENT_DATA_V6, *LPDHCP_SUBNET_ELEMENT_DATA_V6;

ElementType: ElementType is of type DHCP_SUBNET_ELEMENT_TYPE_V6 (section 2.2.1.1.8) structure defining the set of possible prefix element types. This value defines which of the values is chosen from the subsequent union the Element member.

Element: Element is a union of different types of IPv6 prefix elements. The value of the union is dependent on the previous field the ElementType member.

IpRange: This is a pointer to a DHCP_IP_RANGE_V6 (section 2.2.1.2.59) structure that contains the IPv6 range for this IPv6 prefix.

ReservedIp: This is a pointer to a DHCP_IP_RESERVATION_V6 (section 2.2.1.2.58) structure that contains the information on IPv6 reservations.

ExcludeIpRange: This is a pointer to a DHCP_IP_RANGE_V6 (section 2.2.1.2.59) structure that contains information about IPv6 exclusion ranges.