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.