2.2.1.2.115 DHCP_CLIENT_INFO_PB
The DHCP_CLIENT_INFO_PB 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_FILTER_STATUS_INFO (section 2.2.1.2.96) structure by including the PolicyName member.
-
typedef struct _DHCP_CLIENT_INFO_PB { 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; } DHCP_CLIENT_INFO_PB, *LPDHCP_CLIENT_INFO_PB;
ClientIpAddress: The client's IPv4 address.
SubnetMask: The client's IPv4 subnet mask.
ClientHardwareAddress: A DHCP_CLIENT_UID structure containing the client's DHCPv4 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 length of this string.
ClientComment: A pointer to a null-terminated Unicode string containing a description given to the DHCPv4 client. This string is limited to 128 characters, including the terminating null character.
ClientLeaseExpires: The time at which the client's lease on its assigned IPv4 address expires.
OwnerHost: A DHCP_HOST_INFO 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 of the other types 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 given to 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 that time, the client has full access to the network.
QuarantineCapable: 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. This string is limited to 64 characters, including the terminating null character.