2.2.1.2.53 DHCP_SERVER_CONFIG_INFO
The DHCP_SERVER_CONFIG_INFO structure contains settings for the DHCP server. This structure is used in the R_DhcpServerSetConfig (section 3.1.4.26) method.
-
typedef struct _DHCP_SERVER_CONFIG_INFO { DWORD APIProtocolSupport; LPWSTR DatabaseName; LPWSTR DatabasePath; LPWSTR BackupPath; DWORD BackupInterval; DWORD DatabaseLoggingFlag; DWORD RestoreFlag; DWORD DatabaseCleanupInterval; DWORD DebugFlag; } DHCP_SERVER_CONFIG_INFO, *LPDHCP_SERVER_CONFIG_INFO;
APIProtocolSupport: This is of type DWORD, defining the type of RPC protocol supported by the DHCP server. The following type MUST be supported.
-
Value
Meaning
DHCP_SERVER_USE_RPC_OVER_TCPIP
0x00000001
RPC protocol over TCP is used by the DHCP server to register.
-
The following types MAY<12> be supported.
-
Value
Meaning
DHCP_SERVER_USE_RPC_OVER_NP
0x00000002
RPC protocol over named pipes is used by the DHCP server to register.
DHCP_SERVER_USE_RPC_OVER_LPC
0x00000004
RPC protocol over local procedure call (LPC) is used by the DHCP server to register.
DHCP_SERVER_USE_RPC_OVER_ALL
0x00000007
The DHCP server supports all of the preceding protocols.
DatabaseName: A pointer of type LPWSTR to a null-terminated Unicode string that represents the DHCP server database name which 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.
DatabasePath: A pointer of type LPWSTR to a null-terminated Unicode string that contains the absolute path, where the DHCP server database 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.
BackupPath: A pointer of type LPWSTR to a null-terminated Unicode string that contains the absolute path for backup storage that is used by the DHCP server for backup. 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.
BackupInterval: This is of type DWORD, containing the interval (specified in minutes) between backups of the current DHCP server database.
DatabaseLoggingFlag: This is of type DWORD (used as a BOOL 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.
RestoreFlag: This is of type DWORD (used as a BOOL flag), and if this setting is TRUE, the DHCP server loads the DHCP server database from the backup database on DHCP server startup. The default value of this flag is FALSE.
DatabaseCleanupInterval: This is of type DWORD and specifies the maximum time interval in minutes that DOOMED IPv4 DHCP client lease records can persist before being deleted from the DHCP server database.
DebugFlag: 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.
-
LOW WORD bitmask (0x0000FFFF) for low-frequency debug output.
-
Value
Meaning
DEBUG_ADDRESS
0x00000001
Enable IP address-related logging.
DEBUG_CLIENT
0x00000002
Enable DHCP-client-API-related logging.
DEBUG_PARAMETERS
0x00000004
Enable DHCP-server-parameters-related logging.
DEBUG_OPTIONS
0x00000008
Enable DHCP-options-related logging.
DEBUG_ERRORS
0x00000010
Enable DHCP-errors-related logging.
DEBUG_STOC
0x00000020
Enable DHCPv4 and DCHPv6-protocol-errors-related logging.
DEBUG_INIT
0x00000040
Enable DHCP-server-initialization-related logging.
DEBUG_SCAVENGER
0x00000080
Enable scavenger's-error-related logging.
DEBUG_TIMESTAMP
0x00000100
Enable timing-errors-related logging.
DEBUG_APIS
0x00000200
Enable DHCP-APIs-related logging.
DEBUG_REGISTRY
0x00000400
Enable the logging of errors caused by registry setting operations.
DEBUG_JET
0x00000800
Enable the logging of the DHCP server database errors.
DEBUG_THREADPOOL
0x00001000
Enable the logging related to executing thread pool operations.
DEBUG_AUDITLOG
0x00002000
Enable the logging related to errors caused by audit log operations.
DEBUG_QUARANTINE
0x00004000
Enable the logging of errors caused by quarantine errors.
DEBUG_MISC
0x00008000
Enable the logging caused by miscellaneous errors.
-
HIGH WORD bitmask (0xFFFF0000) for high-frequency debug output, that is, more verbose.
-
Value
Meaning
DEBUG_MESSAGE
0x00010000
Enable the logging related to debug messages.
DEBUG_API_VERBOSE
0x00020000
Enable the logging related to DHCP API verbose errors.
DEBUG_DNS
0x00040000
Enable the logging related to Domain Name System (DNS) messages.
DEBUG_MSTOC
0x00080000
Enable the logging related to multicast protocol layer errors.
DEBUG_TRACK
0x00100000
Enable the logging tracking specific problems.
DEBUG_ROGUE
0x00200000
Enable the logging related to a rogue DHCP server.
DEBUG_PNP
0x00400000
Enable the logging related to PNP interface errors.
DEBUG_PERF
0x01000000
Enable the logging of performance-related messages.
DEBUG_ALLOC
0x02000000
Enable the logging of messages related to allocation and de-allocation.
DEBUG_PING
0x04000000
Enable the logging of synchronous-ping-related messages.
DEBUG_THREAD
0x08000000
Enable the logging of thread-related messages.
DEBUG_TRACE
0x10000000
Enable the logging for tracing through code messages.
DEBUG_TRACE_CALLS
0x20000000
Enable the logging for tracing through piles of code.
DEBUG_STARTUP_BRK
0x40000000
Enable the logging related to debugger break during setup messages.
DEBUG_LOG_IN_FILE
0x80000000
Enable the logging of debug output in a file.