<div class="content"><p> </p><p>The <b>DHCP_SERVER_CONFIG_INFO_VQ</b> structure defines
settings for the <span><a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_746786e7-458f-45aa-ab24-5534a94b4fb3" data-linktype="relative-path">DHCP server</a></span>. This
structure is an extension of the <span><a href="f4403788-24c5-47f8-b35e-14627146fce9" data-linktype="relative-path">DHCP_SERVER_CONFIG_INFO_V4 (section 2.2.1.2.54)</a></span>
structure and is used in the <span><a href="25f59f8f-252e-4b1c-8f16-aa00cda54422" data-linktype="relative-path">R_DhcpServerSetConfigVQ (section 3.1.4.42)</a></span>
method.</p><dl>
<dd>
<div><pre> typedef struct _DHCP_SERVER_CONFIG_INFO_VQ {
   DWORD APIProtocolSupport;
   LPWSTR DatabaseName;
   LPWSTR DatabasePath;
   LPWSTR BackupPath;
   DWORD BackupInterval;
   DWORD DatabaseLoggingFlag;
   DWORD RestoreFlag;
   DWORD DatabaseCleanupInterval;
   DWORD DebugFlag;
   DWORD dwPingRetries;
   DWORD cbBootTableString;
   [size_is(cbBootTableString)] WCHAR* wszBootTableString;
   BOOL fAuditLog;
   BOOL QuarantineOn;
   DWORD QuarDefFail;
   BOOL QuarRuntimeStatus;
 } DHCP_SERVER_CONFIG_INFO_VQ,
  *LPDHCP_SERVER_CONFIG_INFO_VQ;
</pre></div>
</dd></dl><p><b>APIProtocolSupport:</b> This is of type <span><a href="../ms-dtyp/262627d8-3418-4627-9218-4ffe110850b2" data-linktype="relative-path">DWORD</a></span>,
defining the type of <span><a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_8a7f6700-8311-45bc-af10-82e10accd331" data-linktype="relative-path">RPC protocol</a></span> used by
the DHCP server to register with RPC. The following type MUST be supported.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>
  <p>DHCP_SERVER_USE_RPC_OVER_TCPIP</p>
  <p>0x00000001</p>
  </td>
  <td>
  <p>RPC protocol over <span><a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_b08d36f6-b5c6-4ce4-8d2d-6f2ab75ea4cb" data-linktype="relative-path">TCP</a></span> is used by the
  DHCP server to register.</p>
  </td>
 </tr></tbody></table>
</dd>
<dd>
<p>The following types MAY<a id="Appendix_A_Target_14"></a><a aria-label="Product behavior note 14" href="afab0546-79ae-4764-8dab-27a85cca5145#Appendix_A_14" data-linktype="relative-path">&lt;14&gt;</a> be
supported.</p>
</dd>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>
  <p>DHCP_SERVER_USE_RPC_OVER_NP</p>
  <p>0x00000002</p>
  </td>
  <td>
  <p>RPC protocol over <span><a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_34f1dfa8-b1df-4d77-aa6e-d777422f9dca" data-linktype="relative-path">named pipes</a></span> is
  used by the DHCP server to register.</p>
  </td>
 </tr><tr>
  <td>
  <p>DHCP_SERVER_USE_RPC_OVER_LPC</p>
  <p>0x00000004</p>
  </td>
  <td>
  <p>RPC protocol over LPC is used by the DHCP server to
  register.</p>
  </td>
 </tr><tr>
  <td>
  <p>DHCP_SERVER_USE_RPC_OVER_ALL</p>
  <p>0x00000007</p>
  </td>
  <td>
  <p>The DHCP server supports all of the preceding
  protocols.</p>
  </td>
 </tr></tbody></table>
</dd></dl><p><b>DatabaseName:</b> A pointer of type <span><a href="../ms-dtyp/50e9ef83-d6fd-4e22-a34a-2c6b4e3c24f3" data-linktype="relative-path">LPWSTR</a></span>
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 database name that is used by the DHCP server for persistent
storage. There is no restriction on the length of this Unicode string. This
field MUST be convertible to an OEM or ANSI character string.</p><p><b>DatabasePath:</b> A pointer of type LPWSTR to
a null-terminated Unicode string that contains the absolute path where the <span><a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_005ffc96-bb67-44ca-938f-dd7ec3c95cab" data-linktype="relative-path">DHCP
server database</a></span> is stored. The maximum number of characters allowed
in this field is 248, including the terminating null character. This field MUST
be convertible to an OEM or ANSI character string.</p><p><b>BackupPath:</b> A pointer of type LPWSTR to a
null-terminated Unicode string that contains the absolute path for the storage
that is used by the DHCP server for <span><a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_f0ec1e1a-3f20-40f1-8b67-b892ff3e4b72" data-linktype="relative-path">backup</a></span>. The maximum
number of characters allowed in this field is 248, including the terminating
null character. This field MUST be convertible to an OEM or ANSI character
string.</p><p><b>BackupInterval:</b> This is of type DWORD,
containing the interval in minutes between backups of the DHCP server database.</p><p><b>DatabaseLoggingFlag:</b> This is of type
DWORD (used as a <span><a href="../ms-dtyp/9d81be47-232e-42cf-8f0d-7a3b29bf2eb2" data-linktype="relative-path">BOOL</a></span>
flag), indicating the transaction logging mode of the DHCP server. The value 1
indicates that transaction logging mode is enabled for the DHCP server, and
zero indicates that transaction logging mode is disabled for the DHCP server.</p><p><b>RestoreFlag:</b> This is of type DWORD (used
as a BOOL flag), and if this setting is TRUE, the DHCP server loads the DHCP
database from the backup database on DHCP server startup. The default value of
this flag is FALSE.</p><p><b>DatabaseCleanupInterval:</b> This is of type
DWORD, and it specifies the time interval in minutes over which the scavenger
deletes the DOOMED IPv4 <span><a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_c35fc04f-54fe-4570-afd3-c96ca84c8d83" data-linktype="relative-path">DHCP client</a></span> <span><a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_e6d76b31-2852-4bd5-8fbb-8e82a3cedb29" data-linktype="relative-path">lease
records</a></span> from the DHCP server database.</p><p><b>DebugFlag:</b> A flag that specifies the
level of logging done by the DHCP server. The following table defines the set
values that can be used. Specifying 0xFFFFFFFF enables all types of logging.</p><dl>
<dd>
<p>LOW WORD bitmask (0x0000FFFF) for low-frequency
debug output.</p>
</dd>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>
  <p>DEBUG_ADDRESS</p>
  <p>0x00000001</p>
  </td>
  <td>
  <p>Enable IP-address-related logging.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_CLIENT</p>
  <p>0x00000002</p>
  </td>
  <td>
  <p>Enable DHCP-client-API-related logging.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_PARAMETERS</p>
  <p>0x00000004</p>
  </td>
  <td>
  <p>Enable DHCP-server-parameters-related logging.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_OPTIONS</p>
  <p>0x00000008</p>
  </td>
  <td>
  <p>Enable DHCP-options-related logging.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_ERRORS</p>
  <p>0x00000010</p>
  </td>
  <td>
  <p>Enable DHCP-errors-related logging.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_STOC</p>
  <p>0x00000020</p>
  </td>
  <td>
  <p>Enable DHCPv4 and DCHPv6-protocol-errors-related
  logging.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_INIT</p>
  <p>0x00000040</p>
  </td>
  <td>
  <p>Enable DHCP-server-initialization-related logging.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_SCAVENGER</p>
  <p>0x00000080</p>
  </td>
  <td>
  <p>Enable scavenger&#39;s-error-related logging.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_TIMESTAMP</p>
  <p>0x00000100</p>
  </td>
  <td>
  <p>Enable timing-errors-related logging.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_APIS</p>
  <p>0x00000200</p>
  </td>
  <td>
  <p>Enable DHCP-APIs-related logging.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_REGISTRY</p>
  <p>0x00000400</p>
  </td>
  <td>
  <p>Enable the logging of errors caused by registry
  setting operations.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_JET</p>
  <p>0x00000800</p>
  </td>
  <td>
  <p>Enable the logging of the DHCP server database errors.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_THREADPOOL</p>
  <p>0x00001000</p>
  </td>
  <td>
  <p>Enable the logging related to executing thread pool
  operations.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_AUDITLOG</p>
  <p>0x00002000</p>
  </td>
  <td>
  <p>Enable the logging related to errors caused by <span><a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_21b83bd2-9daa-48ff-ab4a-656ee9800b64" data-linktype="relative-path">audit
  log</a></span> operations.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_QUARANTINE</p>
  <p>0x00004000</p>
  </td>
  <td>
  <p>Enable the logging of errors caused by quarantine
  errors.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_MISC</p>
  <p>0x00008000</p>
  </td>
  <td>
  <p>Enable the logging caused by miscellaneous errors.</p>
  </td>
 </tr></tbody></table>
</dd>
<dd>
<p>HIGH WORD bitmask (0xFFFF0000) for high-frequency
debug output, that is, more verbose.</p>
</dd>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>
  <p>DEBUG_MESSAGE</p>
  <p>0x00010000</p>
  </td>
  <td>
  <p>Enable the logging related to debug messages.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_API_VERBOSE</p>
  <p>0x00020000</p>
  </td>
  <td>
  <p>Enable the logging related to DHCP API verbose errors.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_DNS</p>
  <p>0x00040000</p>
  </td>
  <td>
  <p>Enable the logging related to DNS messages.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_MSTOC</p>
  <p>0x00080000</p>
  </td>
  <td>
  <p>Enable the logging related to multicast protocol layer
  errors.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_TRACK</p>
  <p>0x00100000</p>
  </td>
  <td>
  <p>Enable the logging tracking specific problems.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_ROGUE</p>
  <p>0x00200000</p>
  </td>
  <td>
  <p>Enable the logging related to a ROGUE DHCP server.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_PNP</p>
  <p>0x00400000</p>
  </td>
  <td>
  <p>Enable the logging related to PNP interface errors.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_PERF</p>
  <p>0x01000000</p>
  </td>
  <td>
  <p>Enable the logging of performance-related messages.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_ALLOC</p>
  <p>0x02000000</p>
  </td>
  <td>
  <p>Enable the logging of allocation-related and
  deallocation-related messages.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_PING</p>
  <p>0x04000000</p>
  </td>
  <td>
  <p>Enable the logging of synchronous ping–related
  messages.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_THREAD</p>
  <p>0x08000000</p>
  </td>
  <td>
  <p>Enable the logging of thread-related messages.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_TRACE</p>
  <p>0x10000000</p>
  </td>
  <td>
  <p>Enable the logging for tracing through code messages.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_TRACE_CALLS</p>
  <p>0x20000000</p>
  </td>
  <td>
  <p>Enable the logging for tracing through piles of code.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_STARTUP_BRK</p>
  <p>0x40000000</p>
  </td>
  <td>
  <p>Enable the logging related to debugger break during
  setup messages.</p>
  </td>
 </tr><tr>
  <td>
  <p>DEBUG_LOG_IN_FILE</p>
  <p>0x80000000</p>
  </td>
  <td>
  <p>Enable the logging of debug output in a file.</p>
  </td>
 </tr></tbody></table>
</dd></dl><p><b>dwPingRetries:</b> This is of type DWORD,
specifying the number of retries that the DHCP server can verify whether a
specific address is already in use by any client by issuing a ping before
issuing any address to DHCP client (valid range: 0–5, inclusive).</p><p><b>cbBootTableString:</b> This is of type DWORD,
containing the size of the BOOT TABLE given to the DHCP client. The maximum
value of this field is 1048576.</p><p><b>wszBootTableString:</b> A pointer of type <span><a href="../ms-dtyp/7df7c1d5-492c-4db4-a992-5cd9e887c5d7" data-linktype="relative-path">WCHAR</a></span>*
to a null-terminated Unicode string that contains the absolute path of the BOOT
TABLE given to the DHCP client. The size of this string is limited to 1 MB.</p><p><b>fAuditLog:</b> This is of type BOOL,
representing whether an audit log needs to be written by the DHCP server. This
member defaults to a value of TRUE, which indicates that the DHCP server writes
an audit log.</p><p><b>QuarantineOn:</b> This is of type BOOL (a
global flag), indicating whether quarantine is on/off on the DHCP server. This
member defaults to a value of FALSE, which indicates that quarantine is off on
the DHCP server.</p><p><b>QuarDefFail:</b> This is of type DWORD and
determines the default policy for a DHCP <span><a href="a9d6a415-4de6-4058-befe-ca2e42764485#gt_f30fdc41-d7c1-422e-b5a8-9dcce071ebeb" data-linktype="relative-path">NAP</a></span> server when an
NPS server is not reachable. The range of permissible values is a subset of
those described in <span><a href="bb589d00-d890-490c-9b6d-885ff61ac8a0" data-linktype="relative-path">QuarantineStatus (section 2.2.1.1.11)</a></span>.
Valid values are NOQUARANTINE, RESTRICTEDACCESS, and DROPPACKET. This member
defaults to a value of NOQUARANTINE.</p><p><b>QuarRuntimeStatus:</b> This flag determines
whether NAP is enabled on the DHCP server (Scope).</p></div>