2.2.1.2.16 DHCP_CLIENT_INFO_V5
The DHCP_CLIENT_INFO_V5 structure defines information about the DHCPv4 client. It augments the DHCP_CLIENT_INFO_V4 (section 2.2.1.2.14) structure by including the additional element AddressState. This structure is used in the DHCP_CLIENT_INFO_ARRAY_V5 structure.
-
typedef struct _DHCP_CLIENT_INFO_V5 { DHCP_IP_ADDRESS ClientIpAddress; DHCP_IP_MASK SubnetMask; DHCP_CLIENT_UID ClientHardwareAddress; LPWSTR ClientName; LPWSTR ClientComment; DATE_TIME ClientLeaseExpires; DHCP_HOST_INFO OwnerHost; BYTE bClientType; BYTE AddressState; } DHCP_CLIENT_INFO_V5, *LPDHCP_CLIENT_INFO_V5;
ClientIpAddress: This is of type DHCP_IP_ADDRESS (section 2.2.1.2.1), a DWORD that contains the DHCPv4 client's IPv4 address.
SubnetMask: This is of type DHCP_IP_MASK (section 2.2.1.2.2), a DWORD that contains the DHCPv4 client's IPv4 subnet mask address.
ClientHardwareAddress: This is of type DHCP_CLIENT_UID (section 2.2.1.2.5), a structure that represents a DHCPv4 client-identifier (section 2.2.1.2.5.1) or a DHCPv4 client unique ID (section 2.2.1.2.5.2). Methods that accept DHCP_CLIENT_INFO_V5 as a parameter specify which representations are acceptable.
ClientName: A pointer to a null-terminated Unicode string that represents the DHCPv4 client's internet host name. There is no restriction on the length of this Unicode string.
ClientComment: A pointer to a null-terminated Unicode string that represents the description given to the DHCPv4 client. There is no restriction on the length of this Unicode string.
ClientLeaseExpires: This is of type DATE_TIME (section 2.2.1.2.11), a structure that contains the lease expiry time for the DHCPv4 client. This is UTC time.
OwnerHost: This of type DHCP_HOST_INFO (section 2.2.1.2.7), a structure that contains information about the DHCPv4 server machine that has provided a lease to the DHCPv4 client.
bClientType: This is of type BYTE that identifies the type of the DHCPv4 client. Possible values for this field are provided in the following table.
-
Value
Meaning
CLIENT_TYPE_UNSPECIFIED
0x00
A DHCPv4 client other than ones defined in this table.
CLIENT_TYPE_DHCP
0x01
The DHCPv4 client supports the DHCP protocol.
CLIENT_TYPE_BOOTP
0x02
The DHCPv4 client supports the BOOTP protocols ([RFC2132]).
CLIENT_TYPE_BOTH
0x03
The DHCPv4 client identifies both the DHCPv4 and the BOOTP protocols.
CLIENT_TYPE_RESERVATION_FLAG
0x04
There is an IPv4 reservation created for the DHCPv4 client.
CLIENT_TYPE_NONE
0x64
Backward compatibility for manual addressing.
AddressState: This is of type BYTE, as shown by the following set of bits. The AddressState member represents the state of the IPv4 address given to the DHCPv4 client.
-
BIT 7
BIT6
BIT5
BIT4
BIT3
BIT2
BIT1
BIT0
-
The following tables show the various bit representation values and their meanings.
-
BIT 0 and BIT 1 signify the state of the leased IPv4 address, as shown in the table that follows.
-
Value
Meaning
ADDRESS_STATE_OFFERED
0x0
The DHCPv4 client is offered this IPv4 address.
ADDRESS_STATE_ACTIVE
0x1
The IPv4 address is active and has an active DHCPv4 client lease record.
ADDRESS_STATE_DECLINED
0x2
The IPv4 address request is declined by the DHCPv4 client; hence it is a bad IPv4 address.
ADDRESS_STATE_DOOM
0x3
The IPv4 address is in DOOMED state and is due to be deleted.
-
BIT 2 and BIT 3 signify the Name Protection (section 3.3.3) related information of the leased IPv4 address, as shown in the table that follows.
-
Value
Meaning
ADDRESS_BIT_NO_DHCID
0x0
The address is leased to the DHCPv4 client without DHCID (sections 3 and 3.5 of [RFC4701]).
ADDRESS_BIT_DHCID_NO_CLIENTIDOPTION
0x1
The address is leased to the DHCPv4 client with DHCID as specified in section 3.5.3 of [RFC4701].
ADDRESS_BIT_DHCID_WITH_CLIENTIDOPTION
0x2
The address is leased to the DHCPv4 client with DHCID as specified in section 3.5.2 of [RFC4701].
ADDRESS_BIT_DHCID_WITH_DUID
0x3
The address is leased to the DHCPv4 client with DHCID as specified in section 3.5.1 of [RFC4701].
-
BIT 4, BIT 5, BIT 6, and BIT 7 specify DNS-related information as shown in the table that follows.
-
Value
Meaning
ADDRESS_BIT_CLEANUP
0x10
The DNS update for the DHCPv4 client lease record needs to be deleted from the DNS server when the lease is deleted.
ADDRESS_BIT_BOTH_REC
0x20
The DNS update needs to be sent for both A and PTR resource records ([RFC1034] section 3.6).
ADDRESS_BIT_UNREGISTERED
0x40
The DNS update is not completed for the lease record.
ADDRESS_BIT_DELETED
0x80
The address lease is expired, but the DNS updates for the lease record have not been deleted from the DNS server.