<div class="content" name="DHCPV4_FAILOVER_CLIENT_INFO" uuid="564563a4-b337-4aa2-9d33-a10de9edf8d9"><p>The <b>DHCPV4_FAILOVER_CLIENT_INFO</b> structure defines
information about a DHCPv4 client leased out by an IPv4 subnet that is a part
of <a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_ba9fcec9-1438-47ec-958c-873c1a0d4c5e" data-linktype="relative-path">failover relationship</a>.
This structure augments the <b>DHCP_CLIENT_INFO_VQ</b> structure (section <a href="6a445cf3-6e6c-4e29-9817-ac78adc50336" data-linktype="relative-path">2.2.1.2.19</a>) by including
information related to DHCP <a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_f9098c6a-2548-43c0-8dd4-4327299e8506" data-linktype="relative-path">failover</a>
and <a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_52323544-69e0-4172-8921-2711cbda988e" data-linktype="relative-path">policy</a>-related
information. This structure is used by the <b>R_DhcpV4FailoverGetClientInfo</b>
method specified in section <a href="8120906e-68c5-4d86-877b-09b9d00a6df6" data-linktype="relative-path">3.2.4.99</a>.</p><dl>
<dd>
<div><pre> typedef struct _DHCPV4_FAILOVER_CLIENT_INFO {
   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 SentPotExpTime;
   DWORD AckPotExpTime;
   DWORD RecvPotExpTime;
   DWORD StartTime;
   DWORD CltLastTransTime;
   DWORD LastBndUpdTime;
   DWORD bndMsgStatus;
   LPWSTR PolicyName;
   BYTE flags;
 } DHCPV4_FAILOVER_CLIENT_INFO,
  *LPDHCPV4_FAILOVER_CLIENT_INFO;
</pre></div>
</dd></dl><p><b>ClientIpAddress:</b>  This member is a
structure of type <b>DHCP_IP_ADDRESS</b> (section <a href="5122557b-b85d-4982-8ffb-98d8d934e353" data-linktype="relative-path">2.2.1.2.1</a>), which is a <a href="../ms-dtyp/262627d8-3418-4627-9218-4ffe110850b2" data-linktype="relative-path">DWORD</a>
containing the DHCPv4 client&#39;s IPv4 address.</p><p><b>SubnetMask:</b>  This member is a
structure of type <b>DHCP_IP_MASK</b> (section <a href="5cd312d5-c29f-4352-9fbb-8119ce48082b" data-linktype="relative-path">2.2.1.2.2</a>), and is a DWORD
containing the DHCPv4 client&#39;s IPv4 subnet mask address.</p><p><b>ClientHardwareAddress:</b>  This member
is a structure of type <b>DHCP_CLIENT_UID</b> (section <a href="b4da2d52-9737-46ec-8bc2-1c598fc3b8c8" data-linktype="relative-path">2.2.1.2.5</a>) that represents
a <a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_195d8585-7de6-4574-9abf-9db104aaa40c" data-linktype="relative-path">DHCPv4 client-identifier</a>
(section <a href="7c88f58b-c615-4386-a643-ab05b860a003" data-linktype="relative-path">2.2.1.2.5.1</a>)
or a <a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_4c35997a-5d90-4d7e-96c8-346f4ad0a63f" data-linktype="relative-path">DHCPv4 client unique ID</a>
(section <a href="651865ec-6404-4191-ad30-113578a94556" data-linktype="relative-path">2.2.1.2.5.2</a>).
Methods that accept <b>DHCP_CLIENT_INFO_VQ</b> (section 2.2.1.2.19) as a
parameter specify which representations are acceptable.</p><p><b>ClientName:</b>  This member is a
pointer to a null-terminated <a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_b069acb4-e364-453e-ac83-42d469bb339e" data-linktype="relative-path">Unicode
string</a> that represents the DHCPv4 client&#39;s internet host name. There is no
restriction on the length of this Unicode string.</p><p><b>ClientComment:</b>  This member is 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.</p><p><b>ClientLeaseExpires:</b>  This member is
a structure of type <b>DATE_TIME</b> (section <a href="0f93bea1-8172-4efa-826a-e12667e1bcee" data-linktype="relative-path">2.2.1.2.11</a>) and contains the
lease expiry time for the DHCPv4 client. This is <a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_f2369991-a884-4843-a8fa-1505b6d5ece7" data-linktype="relative-path">UTC</a> time represented in <a href="../ms-dtyp/2c57429b-fdd4-488f-b5fc-9e4cf020fcdf" data-linktype="relative-path">FILETIME</a>
format.</p><p><b>OwnerHost:</b>  This member is a
structure of type <b>DHCP_HOST_INFO</b> (section <a href="51e16f4a-cb1d-400a-85c7-defe4cba1609" data-linktype="relative-path">2.2.1.2.7</a>) that contains
information about the DHCPv4 Server machine that has provided a lease to the
DHCPv4 client.</p><p><b>bClientType:</b>  This member is of type
<a href="../ms-dtyp/d7edc080-e499-4219-a837-1bc40b64bb04" data-linktype="relative-path">BYTE</a>
and identifies the type of the DHCPv4 client. Possible values are specified in
the following table.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>CLIENT_TYPE_UNSPECIFIED 0x00</td>
  <td>A DHCPv4 client other than ones defined in this table.</td>
 </tr><tr>
  <td>CLIENT_TYPE_DHCP 0x01</td>
  <td>The DHCPv4 client supports the DHCP protocol.</td>
 </tr><tr>
  <td>CLIENT_TYPE_BOOTP 0x02</td>
  <td>The DHCPv4 client supports the BOOTP protocol ([RFC2132]).</td>
 </tr><tr>
  <td>CLIENT_TYPE_BOTH 0x03</td>
  <td>The DHCPv4 client identifies both the DHCPv4 and the BOOTP protocols.</td>
 </tr><tr>
  <td>CLIENT_TYPE_RESERVATION_FLAG 0x04</td>
  <td>There is an IPv4 reservation created for the DHCPv4 client.</td>
 </tr><tr>
  <td>CLIENT_TYPE_NONE 0x64</td>
  <td>Backward compatibility for manual addressing.</td>
 </tr></tbody></table>
</dd></dl><p><b>AddressState:</b>  This member is of
type BYTE, as shown by the following set of bits. This member represents the
state of the IPv4 address given to the DHCPv4 client.</p><dl>
<dd>
<table>
 <thead>
  <tr>
   <th>
   <p>BIT 7</p>
   </th>
   <th>
   <p>BIT 6</p>
   </th>
   <th>
   <p>BIT 5</p>
   </th>
   <th>
   <p>BIT 4</p>
   </th>
   <th>
   <p>BIT 3</p>
   </th>
   <th>
   <p>BIT 2</p>
   </th>
   <th>
   <p>BIT 1</p>
   </th>
   <th>
   <p>BIT 0</p>
   </th>
  </tr>
 </thead>
</table>
</dd>
<dd>
<p>The following tables show various bit representation
values and their meanings.</p>
</dd>
<dd>
<p>BIT 0 and BIT 1 signify the state of the leased IPv4
address, as shown in the following table.</p>
</dd>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>ADDRESS_STATE_OFFERED 0x0</td>
  <td>The DHCPv4 client is offered this IPv4 address.</td>
 </tr><tr>
  <td>ADDRESS_STATE_ACTIVE 0x1</td>
  <td>The IPv4 address is active and has an active DHCPv4 client lease record.</td>
 </tr><tr>
  <td>ADDRESS_STATE_DECLINED 0x2</td>
  <td>The IPv4 address request is declined by the DHCPv4 client; hence, it is a bad IPv4 address.</td>
 </tr><tr>
  <td>ADDRESS_STATE_DOOM 0x3</td>
  <td>The IPv4 address is in DOOMED state and is due to be deleted.</td>
 </tr></tbody></table>
</dd>
<dd>
<p>BIT 2 and BIT 3 signify information related to Name
Protection (section <a href="79303b80-aa6e-4aca-a0ea-cb5279a377ad" data-linktype="relative-path">3.3.3</a>)
for the leased IPv4 address, as shown in the following table.</p>
</dd>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>ADDRESS_BIT_NO_DHCID 0x0</td>
  <td>The address is leased to the DHCPv4 client without DHCID (sections 3 and 3.5 of [RFC4701]).</td>
 </tr><tr>
  <td>ADDRESS_BIT_DHCID_NO_CLIENTIDOPTION 0x1</td>
  <td>The address is leased to the DHCPv4 client with DHCID.</td>
 </tr><tr>
  <td>ADDRESS_BIT_DHCID_WITH_CLIENTIDOPTION 0x2</td>
  <td>The address is leased to the DHCPv4 client with DHCID.</td>
 </tr><tr>
  <td>ADDRESS_BIT_DHCID_WITH_DUID 0x3</td>
  <td>The address is leased to the DHCPv4 client with DHCID.</td>
 </tr></tbody></table>
</dd>
<dd>
<p>BIT 4, BIT 5, BIT 6, and BIT 7 specify information
related to <a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_604dcfcd-72f5-46e5-85c1-f3ce69956700" data-linktype="relative-path">DNS</a>, as shown
in the following table.</p>
</dd>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>ADDRESS_BIT_CLEANUP 0x1</td>
  <td>The DNS update for the DHCPv4 client lease record needs to be deleted from the DNS server when the lease is deleted.</td>
 </tr><tr>
  <td>ADDRESS_BIT_BOTH_REC 0x2</td>
  <td>The DNS update needs to be sent for both A and PTR resource records ([RFC1034] section 3.6).</td>
 </tr><tr>
  <td>ADDRESS_BIT_UNREGISTERED 0x4</td>
  <td>The DNS update is not completed for the lease record.</td>
 </tr><tr>
  <td>ADDRESS_BIT_DELETED 0x8</td>
  <td>The address lease is expired, but the DNS updates for the lease record have not been deleted from the DNS server.</td>
 </tr></tbody></table>
</dd></dl><p><b>Status:</b>  This member is an
enumeration of type <b>QuarantineStatus</b> (section <a href="bb589d00-d890-490c-9b6d-885ff61ac8a0" data-linktype="relative-path">2.2.1.1.11</a>) that contains
the health status of the DHCPv4 client, as validated by the <a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_f30fdc41-d7c1-422e-b5a8-9dcce071ebeb" data-linktype="relative-path">NAP</a> server. The possible
enumeration values that are validated by the NAP server are NOQUARANTINE,
RESTRICTEDACCESS, DROPPACKET, and PROBATION.</p><p><b>ProbationEnds:</b>  This member is a
structure of type <b>DATE_TIME</b> (section 2.2.1.2.11) that contains probation
end time, assuming the DHCPv4 client is on probation. For this time period, the
DHCPv4 client has full access to the network.</p><p><b>QuarantineCapable:</b>  This member is
of type <a href="../ms-dtyp/9d81be47-232e-42cf-8f0d-7a3b29bf2eb2" data-linktype="relative-path">BOOL</a>
and takes on one of the meanings associated with the values in the following
table.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>TRUE 1</td>
  <td>The DHCPv4 client machine is quarantine-enabled.</td>
 </tr><tr>
  <td>FALSE 0</td>
  <td>The DHCPv4 client machine is not quarantine-enabled.</td>
 </tr></tbody></table>
</dd></dl><p><b>SentPotExpTime:</b>  This member is of
type DWORD and contains the time sent to the <a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_a454a106-1b85-422c-84ea-9ce5bd6621b8" data-linktype="relative-path">partner server</a> as <a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_4aad81b1-18cf-4747-a267-1e5d880b45f0" data-linktype="relative-path">potential-expiration-time</a>.
The time is specified in seconds elapsed since midnight, January 1, 1970,
Coordinated Universal Time (UTC).</p><p><b>AckPotExpTime:</b>  This member is of
type DWORD and contains the time that the partner server has acknowledged as
potential-expiration-time. The time is specified in seconds elapsed since
midnight, January 1, 1970, UTC.</p><p><b>RecvPotExpTime:</b>  This member is of
type DWORD and contains the time that the server has received as a
potential-expiration-time from its partner server. The time is specified in
seconds elapsed since midnight, January 1, 1970, UTC.</p><p><b>StartTime:</b>  This member is of type
DWORD and contains the time at which the client lease first went into the
current state. The time is specified in seconds elapsed since midnight, January
1, 1970, UTC.</p><p><b>CltLastTransTime:</b>  This member is of
type DWORD and contains the time for <a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_13c2e71d-a81d-450e-b4b1-1a2e24ae39a4" data-linktype="relative-path">client-last-transaction-time</a>.
The time is specified in seconds elapsed since midnight, January 1, 1970, UTC.</p><p><b>LastBndUpdTime:</b>  This member is of
type DWORD and contains the time when the partner server has updated the DHCPv4
client lease. The time is specified in seconds elapsed since midnight, January
1, 1970, UTC.</p><p><b>bndMsgStatus:</b>  This member is of
type DWORD and MUST be ignored.</p><p><b>PolicyName:</b>  This member is a
pointer to a null-terminated Unicode string that identifies the policy that
determined the ClientIpAddress in the lease. The length of the <b>Policy Name</b>
member is restricted to 64 characters.</p><p><b>flags:</b>  This member is of type BYTE
and MUST be ignored.</p></div>