<div class="content"><p> </p><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 <span><a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_ba9fcec9-1438-47ec-958c-873c1a0d4c5e" data-linktype="relative-path">failover
relationship</a></span>. This structure augments the <b>DHCP_CLIENT_INFO_VQ</b>
structure (section <span><a href="6a445cf3-6e6c-4e29-9817-ac78adc50336" data-linktype="relative-path">2.2.1.2.19</a></span>) by
including information related to DHCP <span><a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_f9098c6a-2548-43c0-8dd4-4327299e8506" data-linktype="relative-path">failover</a></span> and <span><a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_52323544-69e0-4172-8921-2711cbda988e" data-linktype="relative-path">policy</a></span>-related
information. This structure is used by the <b>R_DhcpV4FailoverGetClientInfo</b>
method specified in section <span><a href="8120906e-68c5-4d86-877b-09b9d00a6df6" data-linktype="relative-path">3.2.4.99</a></span>.</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 <span><a href="5122557b-b85d-4982-8ffb-98d8d934e353" data-linktype="relative-path">2.2.1.2.1</a></span>), which
is a <span><a href="../ms-dtyp/262627d8-3418-4627-9218-4ffe110850b2" data-linktype="relative-path">DWORD</a></span>
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 <span><a href="5cd312d5-c29f-4352-9fbb-8119ce48082b" data-linktype="relative-path">2.2.1.2.2</a></span>), 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 <span><a href="b4da2d52-9737-46ec-8bc2-1c598fc3b8c8" data-linktype="relative-path">2.2.1.2.5</a></span>)
that represents a <span><a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_195d8585-7de6-4574-9abf-9db104aaa40c" data-linktype="relative-path">DHCPv4 client-identifier</a></span>
(section <span><a href="7c88f58b-c615-4386-a643-ab05b860a003" data-linktype="relative-path">2.2.1.2.5.1</a></span>) or a <span><a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_4c35997a-5d90-4d7e-96c8-346f4ad0a63f" data-linktype="relative-path">DHCPv4
client unique ID</a></span> (section <span><a href="651865ec-6404-4191-ad30-113578a94556" data-linktype="relative-path">2.2.1.2.5.2</a></span>).
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 <span><a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_b069acb4-e364-453e-ac83-42d469bb339e" data-linktype="relative-path">Unicode string</a></span> 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 <span><a href="0f93bea1-8172-4efa-826a-e12667e1bcee" data-linktype="relative-path">2.2.1.2.11</a></span>) and
contains the lease expiry time for the DHCPv4 client. This is <span><a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_f2369991-a884-4843-a8fa-1505b6d5ece7" data-linktype="relative-path">UTC</a></span>
time represented in <span><a href="../ms-dtyp/2c57429b-fdd4-488f-b5fc-9e4cf020fcdf" data-linktype="relative-path">FILETIME</a></span>
format.</p><p><b>OwnerHost:</b>  This member is a
structure of type <b>DHCP_HOST_INFO</b> (section <span><a href="51e16f4a-cb1d-400a-85c7-defe4cba1609" data-linktype="relative-path">2.2.1.2.7</a></span>) 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
<span><a href="../ms-dtyp/d7edc080-e499-4219-a837-1bc40b64bb04" data-linktype="relative-path">BYTE</a></span>
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>
  <p>CLIENT_TYPE_UNSPECIFIED</p>
  <p>0x00</p>
  </td>
  <td>
  <p>A DHCPv4 client other than ones defined in this table.</p>
  </td>
 </tr><tr>
  <td>
  <p>CLIENT_TYPE_DHCP</p>
  <p>0x01</p>
  </td>
  <td>
  <p>The DHCPv4 client supports the DHCP protocol.</p>
  </td>
 </tr><tr>
  <td>
  <p>CLIENT_TYPE_BOOTP</p>
  <p>0x02</p>
  </td>
  <td>
  <p>The DHCPv4 client supports the BOOTP protocol (<span><a href="https://go.microsoft.com/fwlink/?LinkId=90319" data-linktype="external">[RFC2132]</a></span>).</p>
  </td>
 </tr><tr>
  <td>
  <p>CLIENT_TYPE_BOTH</p>
  <p>0x03</p>
  </td>
  <td>
  <p>The DHCPv4 client identifies both the DHCPv4 and the
  BOOTP protocols.</p>
  </td>
 </tr><tr>
  <td>
  <p>CLIENT_TYPE_RESERVATION_FLAG</p>
  <p>0x04</p>
  </td>
  <td>
  <p>There is an IPv4 reservation created for the DHCPv4
  client.</p>
  </td>
 </tr><tr>
  <td>
  <p>CLIENT_TYPE_NONE</p>
  <p>0x64</p>
  </td>
  <td>
  <p>Backward compatibility for manual addressing.</p>
  </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>
  <p>ADDRESS_STATE_OFFERED</p>
  <p>0x0</p>
  </td>
  <td>
  <p>The DHCPv4 client is offered this IPv4 address.</p>
  </td>
 </tr><tr>
  <td>
  <p>ADDRESS_STATE_ACTIVE</p>
  <p>0x1</p>
  </td>
  <td>
  <p>The IPv4 address is active and has an active DHCPv4
  client lease record.</p>
  </td>
 </tr><tr>
  <td>
  <p>ADDRESS_STATE_DECLINED</p>
  <p>0x2</p>
  </td>
  <td>
  <p>The IPv4 address request is declined by the DHCPv4
  client; hence, it is a bad IPv4 address.</p>
  </td>
 </tr><tr>
  <td>
  <p>ADDRESS_STATE_DOOM</p>
  <p>0x3</p>
  </td>
  <td>
  <p>The IPv4 address is in DOOMED state and is due to be
  deleted.</p>
  </td>
 </tr></tbody></table>
</dd>
<dd>
<p>BIT 2 and BIT 3 signify information related to Name
Protection (section <span><a href="79303b80-aa6e-4aca-a0ea-cb5279a377ad" data-linktype="relative-path">3.3.3</a></span>) 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>
  <p>ADDRESS_BIT_NO_DHCID</p>
  <p>0x0</p>
  </td>
  <td>
  <p>The address is leased to the DHCPv4 client without
  DHCID (sections 3 and 3.5 of <span><a href="https://go.microsoft.com/fwlink/?LinkId=125431" data-linktype="external">[RFC4701]</a></span>).</p>
  </td>
 </tr><tr>
  <td>
  <p>ADDRESS_BIT_DHCID_NO_CLIENTIDOPTION</p>
  <p>0x1</p>
  </td>
  <td>
  <p>The address is leased to the DHCPv4 client with DHCID.</p>
  </td>
 </tr><tr>
  <td>
  <p>ADDRESS_BIT_DHCID_WITH_CLIENTIDOPTION</p>
  <p>0x2</p>
  </td>
  <td>
  <p>The address is leased to the DHCPv4 client with DHCID.</p>
  </td>
 </tr><tr>
  <td>
  <p>ADDRESS_BIT_DHCID_WITH_DUID</p>
  <p>0x3</p>
  </td>
  <td>
  <p>The address is leased to the DHCPv4 client with DHCID.</p>
  </td>
 </tr></tbody></table>
</dd>
<dd>
<p>BIT 4, BIT 5, BIT 6, and BIT 7 specify information
related to <span><a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_604dcfcd-72f5-46e5-85c1-f3ce69956700" data-linktype="relative-path">DNS</a></span>, 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>
  <p>ADDRESS_BIT_CLEANUP</p>
  <p>0x1</p>
  </td>
  <td>
  <p>The DNS update for the DHCPv4 client lease record
  needs to be deleted from the DNS server when the lease is deleted.</p>
  </td>
 </tr><tr>
  <td>
  <p>ADDRESS_BIT_BOTH_REC</p>
  <p>0x2</p>
  </td>
  <td>
  <p>The DNS update needs to be sent for both A and PTR
  resource records (<span><a href="https://go.microsoft.com/fwlink/?LinkId=90263" data-linktype="external">[RFC1034]</a></span>
  section 3.6).</p>
  </td>
 </tr><tr>
  <td>
  <p>ADDRESS_BIT_UNREGISTERED</p>
  <p>0x4</p>
  </td>
  <td>
  <p>The DNS update is not completed for the lease record.</p>
  </td>
 </tr><tr>
  <td>
  <p>ADDRESS_BIT_DELETED</p>
  <p>0x8</p>
  </td>
  <td>
  <p>The address lease is expired, but the DNS updates for
  the lease record have not been deleted from the DNS server.</p>
  </td>
 </tr></tbody></table>
</dd></dl><p><b>Status:</b>  This member is an
enumeration of type <b>QuarantineStatus</b> (section <span><a href="bb589d00-d890-490c-9b6d-885ff61ac8a0" data-linktype="relative-path">2.2.1.1.11</a></span>) that
contains the health status of the DHCPv4 client, as validated by the <span><a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_f30fdc41-d7c1-422e-b5a8-9dcce071ebeb" data-linktype="relative-path">NAP</a></span>
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 <span><a href="../ms-dtyp/9d81be47-232e-42cf-8f0d-7a3b29bf2eb2" data-linktype="relative-path">BOOL</a></span>
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>
  <p>TRUE</p>
  <p>1</p>
  </td>
  <td>
  <p>The DHCPv4 client machine is quarantine-enabled.</p>
  </td>
 </tr><tr>
  <td>
  <p>FALSE</p>
  <p>0</p>
  </td>
  <td>
  <p>The DHCPv4 client machine is not quarantine-enabled.</p>
  </td>
 </tr></tbody></table>
</dd></dl><p><b>SentPotExpTime:</b>  This member is of
type DWORD and contains the time sent to the <span><a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_a454a106-1b85-422c-84ea-9ce5bd6621b8" data-linktype="relative-path">partner server</a></span> as <span><a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_4aad81b1-18cf-4747-a267-1e5d880b45f0" data-linktype="relative-path">potential-expiration-time</a></span>.
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 <span><a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_13c2e71d-a81d-450e-b4b1-1a2e24ae39a4" data-linktype="relative-path">client-last-transaction-time</a></span>.
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>