2.2.1.2.119 DHCP_CLIENT_INFO_EX

The DHCP_CLIENT_INFO_EX structure encapsulates information about a DHCPv4 client, including filter status information and the policy, if any, that resulted in the client's specific IPv4 address assignment. This structure augments the DHCP_CLIENT_INFO (section 2.2.1.2.12) structure by including a list of DHCP properties represented by the field Properties.

 typedef struct DHCP_CLIENT_INFO_EX {
     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;
     QuarantineStatus Status;
     DATE_TIME ProbationEnds;
     BOOL QuarantineCapable;
     DWORD FilterStatus;
     LPWSTR PolicyName;
     LPDHCP_PROPERTY_ARRAY Properties;
 } DHCP_CLIENT_INFO_EX, *LPDHCP_CLIENT_INFO_EX;

ClientIpAddress: The client's IPv4 address.

SubnetMask: The client's IPv4 subnet mask.

ClientHardwareAddress: A DHCP_CLIENT_UID (section 2.2.1.2.5) structure containing the client'sDHCPv4 client-identifier.

ClientName: A pointer to a null-terminated Unicode string representing the client's DHCPv4 internet host name. There is no restriction on the string length.

ClientComment: A pointer to a null-terminated Unicode string representing the client's DHCPv4 internet host name. There is no restriction on the string length.

ClientLeaseExpires: The time at which the client's lease on its assigned IPv4 address expires.

OwnerHost: A DHCP_HOST_INFO (section 2.2.1.2.7) structure that contains information about the DHCPv4 server that assigned the client's IPv4 address.

bClientType: The type of the DHCPv4 client. This member MUST have one of the following values.

Value

Description

CLIENT_TYPE_UNSPECIFIED

0x00

Used for DHCPv4 clients that are not any other type as 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 protocol ([RFC2132]).

CLIENT_TYPE_BOTH

0x03

The DHCPv4 client supports the DHCP and BOOTP protocols.

CLIENT_TYPE_RESERVATION_FLAG

0x04

An IPv4 registration has been created for the DHCPv4 client.

CLIENT_TYPE_NONE

0x05

The client uses manual addressing. This value supports backward compatibility with clients that do not use dynamic IP address assignment.

AddressState: The state of the IPv4 address for the DHCPv4 client. This member MUST be set to one of the following values.

Value

Description

ADDRESS_STATE_OFFERED

0x00

The address has been offered to the client.

ADDRESS_STATE_ACTIVE

0x01

The address is active and has an active DHCPv4 client lease record.

ADDRESS_STATE_DECLINED

0x02

The IPv4 address request was declined by the DHCPv4 client. The server will not issue this IPv4 address to other clients for a period of time.

ADDRESS_STATE_DOOM

0x03

The IPv4 address is in the DOOMED state prior to being deleted.

Status: A QuarantineStatus (section 2.2.1.1.11) value representing the DHCPv4 client's health status as validated by the NAP server.

ProbationEnds: If the client is on probation, this member contains the time at which the probation ends. Up to the time at which probation ends, the client has full access to the network.

QuarantineCapable: Indicates whether the client machine is quarantine-enabled. A value of TRUE indicates that the client machine is quarantine-enabled, whereas FALSE indicates that it is not.

FilterStatus: The status of the link-layer filter. This member MUST be set to one of the following values.

Value

Description

FILTER_STATUS_NONE

0x00000001

The DHCPv4 client's MAC address does not match any filter.

FILTER_STATUS_FULL_MATCH_IN_ALLOW_LIST

0x00000002

The DHCPv4 client's MAC address fully matches an allow-list filter.

FILTER_STATUS_FULL_MATCH_IN_DENY_LIST

0x00000004

The DHCPv4 client's MAC address fully matches a deny-list filter.

FILTER_STATUS_WILDCARD_MATCH_IN_ALLOW_LIST

0x00000008

The DHCPv4 client's MAC address has a wildcard match to an allow-list filter.

FILTER_STATUS_WILDCARD_MATCH_IN_DENY_LIST

0x00000010

The DHCPv4 client's MAC address has a wildcard match to a deny-list filter.

PolicyName: A pointer to a null-terminated Unicode string containing the name of the scope-level policy, if any, that resulted in the current IPv4 address being assigned to the client. The string is limited to 64 characters, including the terminating null character.

Properties: A list of properties that is associated with the given client. See the following list for properties allowed for the DHCPv4 client. Properties not identified are ignored.

AddressStateEx: This property is present if the value of the DHCP_PROPERTY_ID (section 2.2.1.1.27) is DhcpPropIdClientAddressStateEx and the value of the DHCP_PROPERTY_TYPE (section 2.2.1.1.26) is DhcpPropTypeDword. When the Value member of the DHCP_PROPERTY (section 2.2.1.2.117) structure is set to DwordValue, this represents the extended address state for the client and is set to the following value:

Value

Description

V5_ADDRESS_EX_BIT_DISABLE_PTR_RR

0x01

The reverse record registration has been disabled when doing DNS registration for this entry.

Values not listed are reserved for future use and MUST be set to zero.