Dynamic Host Configuration Protocol (DHCP)

Overview of the Dynamic Host Configuration Protocol (DHCP) technology.

To develop Dynamic Host Configuration Protocol (DHCP), you need these headers:

For programming guidance for this technology, see:

Enumerations

 
DHCP_FAILOVER_MODE

The DHCP_FAILOVER_MODE enumeration defines the DHCPv4 server mode operation in a failover relationship.
DHCP_FAILOVER_SERVER

The DHCP_FAILOVER_SERVER enumeration defines whether the DHCP server is the primary or secondary server in a DHCPv4 failover relationship.
DHCP_FILTER_LIST_TYPE

Specifies the types of filter lists available on the DHCP server.
DHCP_FORCE_FLAG

The DHCP_FORCE_FLAG enumeration defines the set of flags describing the force level of a DHCP subnet element deletion operation.
DHCP_OPTION_DATA_TYPE

The DHCP_OPTION_DATA_TYPE enumeration defines the set of formats that represent DHCP option data.
DHCP_OPTION_SCOPE_TYPE

The DHCP_OPTION_SCOPE_TYPE enumeration defines the set of possible DHCP option scopes.
DHCP_OPTION_SCOPE_TYPE6

Defines the set of possible scopes for DHCP options.
DHCP_OPTION_TYPE

The DHCP_OPTION_TYPE enumeration defines the set of possible DHCP option types.
DHCP_POL_ATTR_TYPE

The DHCP_POL_ATTR_TYPE enumeration defines the attribute type for a condition in a DHCP server policy.
DHCP_POL_COMPARATOR

The DHCP_POL_COMPARATOR enumeration defines the comparison operator for a condition when building a DHCP server policy.
DHCP_POL_LOGIC_OPER

The DHCP_POL_LOGIC_OPER enumeration defines how to group the constituent conditions and sub-expressions of an expression in a DHCP server policy.
DHCP_POLICY_FIELDS_TO_UPDATE

The DHCP_POLICY_FIELDS_TO_UPDATE enumeration defines which properties of a DHCP server policy must be updated.
DHCP_SCAN_FLAG

The DHCP_SCAN_FLAG enumeration defines the set of possible targets of synchronization during a database scan operation.
DHCP_SEARCH_INFO_TYPE

Defines the set of possible attributes used to search DHCP client information records.
DHCP_SEARCH_INFO_TYPE_V6

Defines the set of possible attributes used to search DHCPv6 client information records.
DHCP_SUBNET_ELEMENT_TYPE

The DHCP_SUBNET_ELEMENT_TYPE enumeration defines the set of possible subnet element types.
DHCP_SUBNET_STATE

The DHCP_SUBNET_STATE enumeration defines the set of possible states for a subnet.
DHCPV6_STATELESS_PARAM_TYPE

The DHCPV6_STATELESS_PARAM_TYPE enumeration defines a DHCPv6 stateless client inventory configuration parameter type.
FSM_STATE

The FSM_STATE enumeration defines the set of possible failover relationship states on a DHCPv4 server.
QuarantineStatus

The QuarantineStatus enumeration specifies possible health status values for the DHCPv4 client, as validated at the NAP server.
StatusCode

The StatusCode enum contains status codes for IPv6 operations.

Functions

 
DhcpAddFilterV4

Adds a link-layer address or address pattern to the allow/deny lists.
DhcpAddServer

The DhcpAddServer function attempts to add a new server to the existing list of DHCP servers maintained in the domain directory service. If the specified DHCP server already exists in the directory service, an error is returned.
DhcpAddSubnetElement

Adds an element describing a feature or aspect of the subnet to the subnet entry in the DHCP database.
DhcpAddSubnetElementV4

Adds an element describing a feature or aspect of the subnet to the subnet entry in the DHCP database. This function extends DhcpAddSubnetElement by incorporating subnet elements that consider client type.
DhcpAddSubnetElementV5

The DhcpAddSubnetElementV5 function adds an element describing a feature or aspect of the subnet to the subnet entry in the DHCP database. Windows 2000 and earlier:  This function is not available.
DhcpAddSubnetElementV6

The DhcpAddSubnetElementV6 function adds an element describing a feature or aspect of the subnet to the subnet entry in the DHCP database.
DhcpAuditLogGetParams

Returns the audit log configuration settings from the DHCP server.
DhcpAuditLogSetParams

Sets the parameters for audit log generation on a DHCP server.
DhcpCApiCleanup

The DhcpCApiCleanup function enables DHCP to properly clean up resources allocated throughout the use of DHCP function calls. The DhcpCApiCleanup function must only be called if a previous call to DhcpCApiInitialize executed successfully.
DhcpCApiInitialize

The DhcpCApiInitialize function must be the first function call made by users of DHCP; it prepares the system for all other DHCP function calls. Other DHCP functions should only be called if the DhcpCApiInitialize function executes successfully.
DhcpCreateClass

Creates a custom option class.
DhcpCreateClassV6

Creates a custom DHCPv6 option class.
DhcpCreateClientInfo

The DhcpCreateClientInfo function creates a client information record on the DHCP server.
DhcpCreateClientInfoV4

Creates a client information record on the DHCP server, extending the functionality of DhcpCreateClientInfo by including the client type (DHCP or BOOTP) in the record.
DhcpCreateClientInfoVQ

Creates the provided DHCP client lease record in the DHCP server database.
DhcpCreateOption

Creates an option definition for the default user and vendor class at the default option level.
DhcpCreateOptionV5

Creates a DHCP option.
DhcpCreateOptionV6

The DhcpCreateOptionV6 function creates a DHCP option.
DhcpCreateSubnet

The DhcpCreateSubnet function creates a new subnet on the DHCP server.
DhcpCreateSubnetV6

The DhcpCreateSubnetV6 function creates a new subnet on the DHCP server.
DhcpCreateSubnetVQ

The DhcpCreateSubnetVQ function creates a new IPv4 subnet and its associated NAP state information on the DHCP server.
DhcpDeleteClass

Deletes a DHCP class from the DHCP server.
DhcpDeleteClassV6

Deletes a DHCP class from the DHCPv6 server.
DhcpDeleteClientInfo

The DhcpDeleteClientInfo function deletes a client information record from the DHCP server.
DhcpDeleteClientInfoV6

Deletes the specified DHCPv6 client address release record from the DHCPv6 server database.
DhcpDeleteFilterV4

Deletes a link-layer address or address pattern from a DHCP server's allow/deny lists.
DhcpDeleteServer

The DhcpDeleteServer function attempts to delete a DHCP server and any related objects (such as subnet information and IP reservations) from the directory service.
DhcpDeleteSubnet

The DhcpDeleteSubnet function deletes a subnet from the DHCP server.
DhcpDeleteSubnetV6

The DhcpDeleteSubnetV6 function deletes a subnet from the DHCP server.
DhcpDeleteSuperScopeV4

Deletes a superscope from the DHCP server.
DhcpDeRegisterParamChange

The DhcpDeRegisterParamChange function releases resources associated with previously registered event notifications, and closes the associated event handle.
DhcpDsCleanup

The DhcpDsCleanup function frees up directory service resources allocated for DHCP services by DhcpDsInit. This function should be called exactly once for each corresponding DHCP service process, and only when the process is terminated.
DhcpDsInit

The DhcpDsInit function initializes memory within the directory service for a new DHCP server process.
DhcpEnumClasses

Enumerates the user or vendor classes configured for the DHCP server.
DhcpEnumClassesV6

Enumerates the user or vendor classes configured for the DHCPv6 server.
DhcpEnumFilterV4

Enumerates all of the filter records from the DHCP server's allow or deny list.
DhcpEnumOptions

Returns an enumerated set of options stored on the DHCPv4 server.
DhcpEnumOptionsV5

The DhcpEnumOptionsV5 function returns an enumerated list of DHCP options for a given user or vendor class.
DhcpEnumOptionsV6

The DhcpEnumOptionsV6 function returns an enumerated list of DHCP options for a given class and/or vendor.
DhcpEnumOptionValues

Returns an enumerated list of option values (just the option data and the associated ID number) for a given scope.
DhcpEnumOptionValuesV5

The DhcpEnumOptionValuesV5 function returns an enumerated list of option values (just the option data and the associated ID number) for a specific scope within a given user or vendor class.
DhcpEnumOptionValuesV6

The DhcpEnumOptionValuesV6 function returns an enumerated list of option values (the option data and the associated ID number) for a specific scope within a given class.
DhcpEnumServers

The DhcpEnumServers function returns an enumerated list of DHCP servers found in the directory service.
DhcpEnumSubnetClients

The DhcpEnumSubnetClients function returns an enumerated list of clients with served IP addresses in the specified subnet.
DhcpEnumSubnetClientsFilterStatusInfo

Enumerates all of the DHCP clients serviced on the specified subnet, and includes link-layer filter status for each of them.
DhcpEnumSubnetClientsV4

Returns an enumerated list of client lease records with served IP addresses in the specified subnet.
DhcpEnumSubnetClientsV5

Returns an enumerated list of clients with served IP addresses in the specified subnet.
DhcpEnumSubnetClientsV6

The DhcpEnumSubnetClientsV6 function returns an enumerated list of clients with served IP addresses in the specified subnet.
DhcpEnumSubnetClientsVQ

Retrieves all DHCP clients serviced from the specified IPv4 subnet.
DhcpEnumSubnetElements

Returns an enumerated list of elements for a specific DHCP subnet.
DhcpEnumSubnetElementsV4

Returns an enumerated list of elements for a specific DHCP subnet. This function extends DhcpEnumSubnetElements by returning a list of DHCP_SUBNET_ELEMENT_DATA_V4 structures, which can contain IP reservations based on client type.
DhcpEnumSubnetElementsV5

The DhcpEnumSubnetElementsV5 function returns an enumerated list of elements for a specific DHCP subnet.
DhcpEnumSubnetElementsV6

The DhcpEnumSubnetElementsV6 function returns an enumerated list of elements for a specific DHCP subnet.
DhcpEnumSubnets

The DhcpEnumSubnets function returns an enumerated list of subnets defined on the DHCP server.
DhcpEnumSubnetsV6

The DhcpEnumSubnetsV6 function returns an enumerated list of subnets defined on the DHCP server.
DhcpGetAllOptions

Returns an array that contains all options defined on the DHCP server.
DhcpGetAllOptionsV6

The DhcpGetAllOptionsV6 function returns an array that contains all options defined on the DHCP server.
DhcpGetAllOptionValues

Returns an array that contains all option values defined for a specific scope on the DHCP server.
DhcpGetAllOptionValuesV6

The DhcpGetAllOptionValuesV6 function returns an array that contains all option values defined for a specific scope on the DHCP server.
DhcpGetClassInfo

The DhcpGetClassInfo function returns the user or vendor class information configured on a specific DHCP server.
DhcpGetClientInfo

The DhcpGetClientInfo function returns information about a specific DHCP client.
DhcpGetClientInfoV4

Returns information on a specific DHCP client. This function extends DhcpGetClientInfo by returning a DHCP_CLIENT_INFO_V4 structure that contains client type information.
DhcpGetClientInfoV6

Retrieves IPv6 address lease information for a specific IPv6 client reservation from the DHCPv6 server.
DhcpGetClientInfoVQ

Retrieves DHCP client lease record information from the DHCP server database. (DhcpGetClientInfoVQ)
DhcpGetClientOptions

Returns only ERROR_NOT_IMPLEMENTED, as it is not used or supported.
DhcpGetFilterV4

Retrieves the enable/disable settings for the DHCPv4 server's allow/deny lists.
DhcpGetMibInfoV5

Obtains a MIB data structure that contains current statistics about the specified DHCP server.
DhcpGetMibInfoV6

Retrieves the IPv6 counter values of the DHCP server.
DhcpGetOptionInfo

Returns information on a specific DHCP option for the default user and vendor class.
DhcpGetOptionInfoV5

The DhcpGetOptionInfoV5 function returns information on a specific DHCP option.
DhcpGetOptionInfoV6

The DhcpGetOptionInfoV6 function returns information on a specific DHCP option.
DhcpGetOptionValue

The DhcpGetOptionValue function retrieves a DHCP option value (the option code and associated data) for a particular scope.
DhcpGetOptionValueV5

The DhcpGetOptionValueV5 function retrieves a DHCP option value (the option code and associated data) for a particular scope.
DhcpGetOptionValueV6

Retrieves the option value for a specific option defined on the DHCPv6 server for a specific user or vendor class.
DhcpGetServerBindingInfo

The DhcpGetServerBindingInfo function returns endpoint bindings set on the DHCP server.
DhcpGetServerBindingInfoV6

Retrieves an array of IPv6 interface binding information specific to the DHCPv6 server.
DhcpGetServerSpecificStrings

Retrieves the names of the default vendor class and user class.
DhcpGetSubnetDelayOffer

Obtains the delay period for DHCP OFFER messages after a DISCOVER message is received.
DhcpGetSubnetInfo

The DhcpGetSubnetInfo function returns information on a specific subnet.
DhcpGetSubnetInfoV6

The DhcpGetSubnetInfoV6 function returns information on a specific subnet.
DhcpGetSubnetInfoVQ

Retrieves the information about a specific IPv4 subnet defined on the DHCP server.
DhcpGetSuperScopeInfoV4

Returns information on the superscope of a DHCP server.
DhcpGetThreadOptions

The DhcpGetThreadOptions function retrieves the current thread options as set by DhcpSetThreadOptions.
DhcpGetVersion

The DhcpGetVersion function returns the major and minor version numbers of the DHCP server.
DhcpHlprAddV4PolicyCondition

Allocates, initializes, and adds a DHCP server policy condition to a DHCP server policy.
DhcpHlprAddV4PolicyExpr

Allocates, initializes, and adds a DHCP server policy expression to a DHCP server policy.
DhcpHlprAddV4PolicyRange

Adds a DHCP IPv4 range to a DHCP server policy.
DhcpHlprCreateV4Policy

Allocates and initializes a DHCP server policy structure.
DhcpHlprFreeV4Policy

Frees the memory of all the data structures within a DHCP server policy structure.
DhcpHlprIsV4PolicySingleUC

Verifies that a DHCP server policy is based on a single user class.
DhcpHlprIsV4PolicyValid

Verifies a DHCP server policy.
DhcpHlprIsV4PolicyWellFormed

Verifies that a DHCP server policy structure is well formed.
DhcpHlprModifyV4PolicyExpr

Modifies the DHCP server policy expression in a DHCP server policy structure.
DhcpHlprResetV4PolicyExpr

Resets the DHCP server policy expression in a DHCP server policy structure.
DhcpModifyClass

Modifies a DHCP class defined on the server.
DhcpModifyClassV6

Modifies a DHCPv6 user or vendor class defined on the server.
DhcpRegisterParamChange

The DhcpRegisterParamChange function enables clients to register for notification of changes in DHCP configuration parameters.
DhcpRemoveDNSRegistrations

The DhcpRemoveDNSRegistrations function removes all DHCP-initiated DNS registrations for the client.
DhcpRemoveOption

Removes the definition of a specific option for the default user class and vendor class at the default option level on the DHCP server.
DhcpRemoveOptionV5

Removes the definition of a specific option for a specific user class and vendor class at the default option level on the DHCP server. This extends the functionality in DhcpRemoveOption with support for specific class and vendor names.
DhcpRemoveOptionV6

The DhcpRemoveOptionV6 function removes an option defined on the DHCP server.
DhcpRemoveOptionValue

Removes the option value for a specific option on the DHCP4 server for the default user class and vendor class, for the specified scope.
DhcpRemoveOptionValueV5

The DhcpRemoveOptionValueV5 function removes an option value from a scope defined on the DHCP server.
DhcpRemoveOptionValueV6

The DhcpRemoveOptionValueV6 function removes an option value from a scope defined on the DHCP server.
DhcpRemoveSubnetElement

Removes an IPv4 subnet element from an IPv4 subnet defined on the DHCPv4 server.
DhcpRemoveSubnetElementV4

Removes an IPv4 subnet element from an IPv4 subnet defined on the DHCPv4 server. The function extends the functionality provided by DhcpRemoveSubnetElement by allowing the specification of a subnet that contains client type (DHCP or BOOTP) information.
DhcpRemoveSubnetElementV5

The DhcpRemoveSubnetElementV5 function removes an element from a subnet defined on the DHCP server.
DhcpRemoveSubnetElementV6

The DhcpRemoveSubnetElementV6 function removes an element from a subnet defined on the DHCP server.
DhcpRequestParams

The DhcpRequestParams function enables callers to synchronously, or synchronously and persistently obtain DHCP data from a DHCP server.
DhcpRpcFreeMemory

The DhcpRpcFreeMemory function frees a block of buffer space returned as a parameter.
DhcpScanDatabase

Enumerates the leased DHCPv4 client IPv4 addresses that are not synchronized between the in-memory cache and the server database.
DhcpServerBackupDatabase

Backs up the DHCP server database configuration, settings, and DHCP client lease record to a specified file location.
DhcpServerGetConfig

Returns the specific configuration settings of a DHCP server. (DhcpServerGetConfig)
DhcpServerGetConfigV4

Returns the specific configuration settings of a DHCP server. (DhcpServerGetConfigV4)
DhcpServerGetConfigV6

Retrieves the configuration information for the DHCPv6 server.
DhcpServerGetConfigVQ

Retrieves the current DHCP server configuration settings.
DhcpServerQueryAttribute

Returns specific attribute information from the DHCP server.
DhcpServerQueryAttributes

Returns an array of attributes set on the DHCP server.
DhcpServerQueryDnsRegCredentials

Retrieves the current Domain Name System (DNS) credentials used by the DHCP server for client dynamic DNS registration.
DhcpServerRedoAuthorization

The DhcpServerRedoAuthorization function attempts to determine whether the DHCP server is authorized and restores leasing operations if it is not.
DhcpServerRestoreDatabase

Restores the settings, configuration, and records for a client lease database from a specific backup location (path).
DhcpServerSetConfig

Configures a DHCPv4 server with specific settings, including information on the JET database used to store subnet and client lease information, and the supported protocols.
DhcpServerSetConfigV4

The DhcpServerSetConfigV4 function configures a DHCP server with specific settings, including information on the JET database used to store subnet and client lease information, and the supported protocols.
DhcpServerSetConfigV6

Sets the DHCPv6 server configuration data at the scope or server level.
DhcpServerSetConfigVQ

Sets or updates DHCP server settings.
DhcpServerSetDnsRegCredentialsV5

Sets the credentials used by the DHCP server to create Domain Name System (DNS) registrations for the DHCP client lease record.
DhcpSetClientInfo

The DhcpSetClientInfo function sets information on a client whose IP address lease is administrated by the DHCP server.
DhcpSetClientInfoV4

Sets information on a client whose IP address lease is administrated by the DHCP server. This function extends the functionality provided by DhcpSetClientInfo by allowing the caller to specify the client type (DHCP or BOOTP).
DhcpSetClientInfoV6

Sets or modifies the reserved DHCPv6 client lease record in the DHCPv6 server database.
DhcpSetClientInfoVQ

Sets or modifies an existing DHCP client lease record in the DHCP server record database.
DhcpSetFilterV4

Enables or disables the allow and deny lists on a DHCP server.
DhcpSetOptionInfo

Modifies the option definition of the specified option for the default user class and vendor class at the default option level.
DhcpSetOptionInfoV5

Sets information for a specific DHCP option.
DhcpSetOptionInfoV6

The DhcpSetOptionInfoV6 function sets information for a specific DHCP option.
DhcpSetOptionValue

Sets information for a specific option value on the DHCP server.
DhcpSetOptionValues

Sets option codes and their associated data values for a specific scope defined on the DHCP server.
DhcpSetOptionValuesV5

Sets option codes and their associated data values for a specific scope defined on the DHCP server. This function extends the functionality provided by DhcpSetOptionValues by allowing the caller to specify a class and/or vendor for the options.
DhcpSetOptionValueV5

The DhcpSetOptionValueV5 function sets information for a specific option value on the DHCP server. This function extends the functionality provided by DhcpSetOptionValue by allowing the caller to specify a class and/or vendor for the option.
DhcpSetOptionValueV6

The DhcpSetOptionValueV6 function sets information for a specific option value on the DHCP server.
DhcpSetServerBindingInfo

The DhcpSetServerBindingInfo function sets endpoint bindings for the DHCP server.
DhcpSetServerBindingInfoV6

Sets or modifies the IPv6 interface bindings for the DHCPv6 server.
DhcpSetSubnetDelayOffer

Sets the delay period for DHCP OFFER messages after a DISCOVER message is received, for a specific DHCP scope.
DhcpSetSubnetInfo

The DhcpSetSubnetInfo function sets information about a subnet defined on the DHCP server.
DhcpSetSubnetInfoV6

Sets or updates the information for an IPv6 subnet defined on the DHCPv6 server.
DhcpSetSubnetInfoVQ

Sets information about a subnet defined on the DHCP server.
DhcpSetSuperScopeV4

Sets a subnet as the superscope on a DHCP server.
DhcpSetThreadOptions

The DhcpSetThreadOptions function sets options on the currently executing DHCP thread.
DhcpUndoRequestParams

The DhcpUndoRequestParams function removes persistent requests previously made with a DhcpRequestParams function call.
DhcpV4AddPolicyRange

Adds an IP address range to a policy.
DhcpV4CreateClientInfo

Creates a DHCPv4 client lease record in the DHCP server database.
DhcpV4CreatePolicy

Creates a new policy on the DHCP Server.
DhcpV4DeletePolicy

Deletes an existing policy from the DHCP Server.
DhcpV4EnumPolicies

Enumerates the policies configured on the DHCP Server.
DhcpV4EnumSubnetClients

Enumerates all DHCP client records serviced from the specified IPv4 subnet.
DhcpV4EnumSubnetReservations

Enumerates the reservations for a specific DHCP IPv4 subnet.
DhcpV4FailoverAddScopeToRelationship

Adds a DHCPv4 scope to the specified failover relationship.
DhcpV4FailoverCreateRelationship

Creates a new DHCPv4 failover relationship between two servers.
DhcpV4FailoverDeleteRelationship

Deletes a DHCPv4 failover relationship between two servers.
DhcpV4FailoverDeleteScopeFromRelationship

Deletes a DHCPv4 scope from the specified failover relationship.
DhcpV4FailoverEnumRelationship

Enumerates all failover relationships present on the server.
DhcpV4FailoverGetAddressStatus

Returns the status of a IPv4 address.
DhcpV4FailoverGetClientInfo

Retrieves the DHCPv4 client lease information.
DhcpV4FailoverGetRelationship

Retrieves relationship details for a specific relationship name.
DhcpV4FailoverGetScopeRelationship

Retrieves the failover relationship that is configured on a specified DHCPv4 scope.
DhcpV4FailoverGetScopeStatistics

Retrieves the address usage statistics of a specific scope that is part of a failover relationship.
DhcpV4FailoverGetSystemTime

Returns the current time on the DHCP server.
DhcpV4FailoverSetRelationship

Sets or modifies the parameters of a DHCPv4 server failover relationship.
DhcpV4FailoverTriggerAddrAllocation

Redistributes the free addresses between the primary server and the secondary server that are part of a failover relationship.
DhcpV4GetAllOptionValues

Retrieves an array of DHCP option values (the option code and associated data) for a particular scope.
DhcpV4GetClientInfo

Retrieves DHCP client lease record information from the DHCP server database. (DhcpV4GetClientInfo)
DhcpV4GetFreeIPAddress

Retrieves the list of available IPv4 addresses that can be leased to clients.
DhcpV4GetOptionValue

Retrieves a DHCP option value (the option code and associated data) for a particular scope. This function extends the functionality provided by DhcpGetOptionValueV5 by allowing the caller to specify a policy for the option.
DhcpV4GetPolicy

Retrieves a policy from the DHCP Server.
DhcpV4QueryPolicyEnforcement

Retrieves the policy enforcement state on the server or the specified IPv4 subnet from the DHCP Server.
DhcpV4RemoveOptionValue

Removes an option value from a scope defined on the DHCP server. This function extends the functionality provided by DhcpRemoveOptionValueV5 by allowing the caller to specify a policy for the option.
DhcpV4RemovePolicyRange

Removes the specified IP address range from the list of IP address ranges of the policy.
DhcpV4SetOptionValue

Sets information for a specific option value on the DHCP server. This function extends the functionality provided by DhcpSetOptionValueV5 by allowing the caller to specify a policy for the option.
DhcpV4SetOptionValues

Sets option codes and their associated data values for a specific scope defined on the DHCP server. This function extends the functionality provided by DhcpSetOptionValuesV5 by allowing the caller to specify a policy for the options.
DhcpV4SetPolicy

Updates one or more parameters of an existing policy.
DhcpV4SetPolicyEnforcement

Sets the policy enforcement state of the server or the specified IPv4 subnet on the DHCP Server.
Dhcpv6CApiCleanup

The Dhcpv6CApiCleanup function enables DHCPv6 to properly clean up resources allocated throughout the use of DHCPv6 function calls. The Dhcpv6CApiCleanup function must only be called if a previous call to Dhcpv6CApiInitialize executed successfully.
Dhcpv6CApiInitialize

The Dhcpv6CApiInitialize function must be the first function call made by users of DHCPv6.
DhcpV6CreateClientInfo

Creates a DHCPv6 client lease record in the DHCP server database.
DhcpV6GetFreeIPAddress

Retrieves the list of available IPv6 addresses that can be leased to clients.
DhcpV6GetStatelessStatistics

Retrieves the stateless server IPv6 subnet statistics.
DhcpV6GetStatelessStoreParams

Retrieves the current DHCPv6 stateless client inventory configuration settings at the server or scope level.
Dhcpv6ReleasePrefix

Releases a prefix.
Dhcpv6RenewPrefix

Renews a prefix.
Dhcpv6RequestParams

Requests options from the DHCPv6 client cache or directly from the DHCPv6 server.
Dhcpv6RequestPrefix

Requests a specific prefix.
DhcpV6SetStatelessStoreParams

Sets the DHCPv6 stateless client inventory configuration settings at the server or scope level.
LPDHCP_CONTROL

The DhcpControlHook function is called by Microsoft DHCP Server when the DHCP Server service is started, stopped, paused, or continued.
LPDHCP_DELETE_CLIENT

The DhcpDeleteClientHook function is called by Microsoft DHCP Server directly before a client lease is deleted from the active leases database.
LPDHCP_DROP_SEND

LPDHCP_DROP_SEND callback function
LPDHCP_ENTRY_POINT_FUNC

The DhcpServerCalloutEntry function is called by Microsoft DHCP Server to initialize a third-party DLL, and to discover for which events the third-party DLL wants notification. The DhcpServerCalloutEntry function is implemented by third-party DLLs.
LPDHCP_GIVE_ADDRESS

The DhcpAddressOfferHook function is called by Microsoft DHCP Server directly before Microsoft DHCP Server sends an acknowledgment (ACK) to a DHCP REQUEST message.
LPDHCP_HANDLE_OPTIONS

The DhcpHandleOptionsHook function enables third-party DLLs to obtain commonly used options from a DHCP packet, avoiding the need to process the entire DHCP packet. The DhcpHandleOptionsHook function should not block.
LPDHCP_NEWPKT

The DhcpNewPktHook function is called by Microsoft DHCP Server shortly after it receives a DHCP packet slated for processing.
LPDHCP_PROB

The DhcpAddressDelHook function is called by Microsoft DHCP Server when one of the following four defined events occurs.

Structures

 
DATE_TIME

The DATE_TIME structure defines a 64-bit integer value that contains a date/time, expressed as the number of ticks (100-nanosecond increments) since 12:00 midnight, January 1, 1 C.E. in the Gregorian calendar.
DHCP_ADDR_PATTERN

Contains the information regarding the link-layer address/pattern.
DHCP_ALL_OPTION_VALUES

Defines the set of all option values defined on a DHCP server, organized according to class/vendor pairing.
DHCP_ALL_OPTION_VALUES_PB

The DHCP_ALL_OPTION_VALUES_PB structure defines the set of all option values for a DHCP server within a scope.
DHCP_ALL_OPTIONS

Defines the set of all options available on a DHCP server.
DHCP_ATTRIB

Defines an attribute set on the DHCP server.
DHCP_ATTRIB_ARRAY

Defines a set of DHCP server attributes.
DHCP_BINARY_DATA

The DHCP_BINARY_DATA structure defines an opaque blob of binary data.
DHCP_BIND_ELEMENT

Defines an individual network binding for the DHCP server. A single DHCP server can contain multiple bindings and serve multiple networks.
DHCP_BIND_ELEMENT_ARRAY

The DHCP_BIND_ELEMENT_ARRAY structure defines an array of network binding elements used by a DHCP server.
DHCP_BOOTP_IP_RANGE

The DHCP_BOOTP_IP_RANGE structure defines a suite of IPs for lease to BOOTP-specific clients.
DHCP_CALLOUT_TABLE

The DHCP_CALLOUT_TABLE structure is used by Microsoft DHCP Server and third-party DLLs to send notification requests for DHCP Server events.
DHCP_CLASS_INFO

Defines a DHCP option class.
DHCP_CLASS_INFO_ARRAY

Defines an array of elements that contain DHCP class information.
DHCP_CLASS_INFO_ARRAY_V6

The DHCP_CLASS_INFO_ARRAY_V6 structure contains a list of information regarding a user class or a vendor class.
DHCP_CLASS_INFO_V6

Contains the information for a particular DHCPv6 user class or vendor class.
DHCP_CLIENT_FILTER_STATUS_INFO

Defines information about the DHCPv4 client, including filter status information.
DHCP_CLIENT_FILTER_STATUS_INFO_ARRAY

Contains an array of information elements for DHCPv4 clients.
DHCP_CLIENT_INFO

The DHCP_CLIENT_INFO structure defines a client information record used by the DHCP server.
DHCP_CLIENT_INFO_ARRAY

The DHCP_CLIENT_INFO_ARRAY structure defines an array of DHCP_CLIENT_INFO structures for use with enumeration functions.
DHCP_CLIENT_INFO_ARRAY_V4

Defines an array of DHCP_CLIENT_INFO_V4 structures for use with enumeration functions.
DHCP_CLIENT_INFO_ARRAY_V5

Defines an array of DHCP_CLIENT_INFO_V5 structures for use with enumeration functions.
DHCP_CLIENT_INFO_ARRAY_V6

Defines an array of DHCP_CLIENT_INFO_V6 structures for use with DHCPv6 client enumeration functions.
DHCP_CLIENT_INFO_ARRAY_VQ

Specifies an array of DHCP_CLIENT_INFO_VQ structures.
DHCP_CLIENT_INFO_PB

The DHCP_CLIENT_INFO_PB structure defines information about a DHCPv4 client, including filter status information and any policies that resulted in the IPv4 address assignment.
DHCP_CLIENT_INFO_PB_ARRAY

The DHCP_CLIENT_INFO_PB_ARRAY structure defines an array of DHCPv4 client information elements.
DHCP_CLIENT_INFO_V4

Defines a client information record used by the DHCP server, extending the definition provided in DHCP_CLIENT_INFO by including client type information.
DHCP_CLIENT_INFO_V5

Defines a client information record used by the DHCP server, extending the definition provided in DHCP_CLIENT_INFO by including client type and address state information.
DHCP_CLIENT_INFO_V6

The DHCP_CLIENT_INFO_V6 structure contains information on DHCPv6 clients.
DHCP_CLIENT_INFO_VQ

Defines information about the DHCPv4 client.
DHCP_FAILOVER_RELATIONSHIP

The DHCP_FAILOVER_RELATIONSHIP structure defines information about a DHCPv4 server failover relationship.
DHCP_FAILOVER_RELATIONSHIP_ARRAY

The DHCP_FAILOVER_RELATIONSHIP_ARRAY structure defines an array of DHCPv4 failover relationships between partner servers.
DHCP_FAILOVER_STATISTICS

The DHCP_FAILOVER_STATISTICS structure defines DHCP server scope statistics that are part of a failover relationship.
DHCP_FILTER_ADD_INFO

Contains information regarding the link-layer filter to be added to the allow and deny filter list.
DHCP_FILTER_ENUM_INFO

Contains information regarding the number of link-layer filter records.
DHCP_FILTER_GLOBAL_INFO

Contains information about the enabling and disabling of the allow and deny filter lists.
DHCP_FILTER_RECORD

Contains information for a specific link-layer filter.
DHCP_HOST_INFO

The DHCP_HOST_INFO structure defines information on a DHCP server (host).
DHCP_HOST_INFO_V6

Contains network information about a DHCPv6 server (host), such as its IPv6 address and name.
DHCP_IP_ARRAY

The DHCP_IP_ARRAY structure defines an array of IP addresses.
DHCP_IP_CLUSTER

The DHCP_IP_CLUSTER structure defines the address and mast for a network cluster.
DHCP_IP_RANGE

The DHCP_IP_RANGE structure defines a range of IP addresses.
DHCP_IP_RANGE_ARRAY

The DHCP_IP_RANGE_ARRAY structure defines an array of DHCP IPv4 ranges.
DHCP_IP_RANGE_V6

Specifies a range of IPv6 addresses for use with a DHCPv6 server.
DHCP_IP_RESERVATION

The DHCP_IP_RESERVATION structure defines a client IP reservation.
DHCP_IP_RESERVATION_INFO

The DHCP_IP_RESERVATION_INFO structure defines an IPv4 reservation for a DHCPv4 client.
DHCP_IP_RESERVATION_V4

The DHCP_IP_RESERVATION_V4 structure defines a client IP reservation. This structure extends an IP reservation by including the type of client (DHCP or BOOTP) holding the reservation.
DHCP_IP_RESERVATION_V6

Defines an IPv6 reservation for a DHCPv6 client in a specific IPv6 prefix.
DHCP_IPV6_ADDRESS

DHCP_IPV6_ADDRESS structure contains an IPv6 address.
DHCP_MIB_INFO

Defines information returned from the DHCP-specific SNMP Management Information Block (MIB) about the current DHCP service.
DHCP_MIB_INFO_V5

Contains statistical information about a DHCP server.
DHCP_MIB_INFO_V6

Contains statistics for the DHCPv6 server.
DHCP_OPTION

The DHCP_OPTION structure defines a single DHCP option and any data elements associated with it.
DHCP_OPTION_ARRAY

The DHCP_OPTION_ARRAY structure defines an array of DHCP server options.
DHCP_OPTION_DATA

The DHCP_OPTION_DATA structure defines a data container for one or more data elements associated with a DHCP option.
DHCP_OPTION_DATA_ELEMENT

The DHCP_OPTION_DATA_ELEMENT structure defines a data element present (either singly or as a member of an array) within a DHCP_OPTION_DATA structure.
DHCP_OPTION_LIST

Defines a list of DHCP option values (just the option data with associated ID tags).
DHCP_OPTION_SCOPE_INFO

The DHCP_OPTION_SCOPE_INFO structure defines information about the options provided for a certain DHCP scope.
DHCP_OPTION_SCOPE_INFO6

Defines the data associated with a DHCP option scope.
DHCP_OPTION_VALUE

The DHCP_OPTION_VALUE structure defines a DHCP option value (just the option data with an associated ID tag).
DHCP_OPTION_VALUE_ARRAY

The DHCP_OPTION_VALUE_ARRAY structure defines a list of DHCP option values (just the option data with associated ID tags).
DHCP_POL_COND

The DHCP_POL_COND structure defines the DHCP server policy condition.
DHCP_POL_COND_ARRAY

The DHCP_POL_COND_ARRAY structure defines an array of DHCP server policy conditions.
DHCP_POL_EXPR

The DHCP_POL_EXP structure defines a DHCP server policy expression.
DHCP_POL_EXPR_ARRAY

The DHCP_POL_EXPR_ARRAY structure defines an array of DHCP server policy expressions.
DHCP_POLICY

The DHCP_POLICY structure defines a DHCP server policy.
DHCP_POLICY_ARRAY

The DHCP_POLICY_ARRAY structure defines an array of DHCP server policies.
DHCP_RESERVATION_INFO_ARRAY

The DHCP_RESERVATION_INFO_ARRAY structure defines an array of IPv4 reservations for DHCPv4 clients.
DHCP_RESERVED_SCOPE

The DHCP_RESERVED_SCOPE structure defines a reserved DHCP scope.
DHCP_SCAN_ITEM

The DHCP_SCAN_ITEM structure defines a desynchronized client lease address stored on a DHCPv4 server, and the location in which it should be fixed (in-memory cache or database).
DHCP_SCAN_LIST

Defines a list of all desynchronized client lease IP address on a DHCPv4 server that must be fixed.
DHCP_SEARCH_INFO

The DHCP_SEARCH_INFO structure defines the DHCP client record data used to search against for particular server operations.
DHCP_SEARCH_INFO_V6

Contains the term or value on which the DHCPv6 server database will be searched.
DHCP_SERVER_CONFIG_INFO

The DHCP_SERVER_CONFIG_INFO structure defines the data used to configure the DHCP server.
DHCP_SERVER_CONFIG_INFO_V4

Defines the data used to configure the DHCP server.
DHCP_SERVER_CONFIG_INFO_V6

Contains the settings for the DHCPv6 server.
DHCP_SERVER_CONFIG_INFO_VQ

Defines settings for the DHCP server.
DHCP_SERVER_OPTIONS

The DHCP_SERVER_OPTIONS structure specifies requested DHCP Server options.
DHCP_SERVER_SPECIFIC_STRINGS

Contains the default string values for user and vendor class names.
DHCP_SUBNET_ELEMENT_DATA

Defines an element that describes a feature or restriction of a subnet. (DHCP_SUBNET_ELEMENT_DATA)
DHCP_SUBNET_ELEMENT_DATA_V4

Defines an element that describes a feature or restriction of a subnet. (DHCP_SUBNET_ELEMENT_DATA_V4)
DHCP_SUBNET_ELEMENT_DATA_V5

The DHCP_SUBNET_ELEMENT_DATA_V5 structure defines an element that describes a feature or restriction of a subnet.
DHCP_SUBNET_ELEMENT_DATA_V6

Contains definitions for the elements of the IPv6 prefix, such as IPv6 reservation, IPv6 exclusion range, and IPv6 range.
DHCP_SUBNET_ELEMENT_INFO_ARRAY

Defines an array of subnet element data.
DHCP_SUBNET_ELEMENT_INFO_ARRAY_V4

Defines an array of subnet element data. Element data in the V4 structure contains client type information.
DHCP_SUBNET_ELEMENT_INFO_ARRAY_V5

The DHCP_SUBNET_ELEMENT_INFO_ARRAY_V5 structure defines an array of subnet element data. Element data in the V5 structure is BOOTP specific.
DHCP_SUBNET_ELEMENT_INFO_ARRAY_V6

Contains data that defines an array of DHCP_SUBNET_ELEMENT_DATA_V6 IPv6 prefix elements.
DHCP_SUBNET_INFO

The DHCP_SUBNET_INFO structure defines information describing a subnet.
DHCP_SUBNET_INFO_V6

Contains information about an IPv6 subnet.
DHCP_SUBNET_INFO_VQ

Defines information that describes a subnet.
DHCP_SUPER_SCOPE_TABLE

Defines the superscope of a DHCP server.
DHCP_SUPER_SCOPE_TABLE_ENTRY

Defines a subnet entry within the superscope table.
DHCPAPI_PARAMS

The DHCPAPI_PARAMS structure is used to request DHCP parameters.
DHCPCAPI_CLASSID

The DHCPCAPI_CLASSID structure defines a client Class ID.
DHCPCAPI_PARAMS_ARRAY

The DHCPCAPI_PARAMS_ARRAY structure stores an array of DHCPAPI_PARAMS structures used to query DHCP parameters.
DHCPDS_SERVER

The DHCPDS_SERVER structure defines information on a DHCP server in the context of directory services.
DHCPDS_SERVERS

The DHCPDS_SERVERS structure defines a list of DHCP servers in the context of directory services.
DHCPV4_FAILOVER_CLIENT_INFO

The DHCPV4_FAILOVER_CLIENT_INFO structure defines DHCP server scope statistics that are part of a failover relationship.
DHCPV4_FAILOVER_CLIENT_INFO_ARRAY

The DHCPV4_FAILOVER_CLIENT_INFO_ARRAY structure defines an array of DHCP server scope statistics that are part of a failover relationship.
DHCPV6_BIND_ELEMENT

Defines an IPv6 interface binding for the DHCP server over which it receives DHCPv6 packets.
DHCPV6_BIND_ELEMENT_ARRAY

Specifies an array of DHCPV6_BIND_ELEMENT structures that contain DHCPv6 interface bindings.
DHCPV6_IP_ARRAY

The DHCPV6_IP_ARRAY structure contains an array of DHCP IPv6 address structures.
DHCPV6_STATELESS_PARAMS

The DHCPV6_STATELESS_PARAMS structure defines the DHCPv6 stateless client inventory configuration settings at server and scope level.
DHCPV6_STATELESS_SCOPE_STATS

The DHCPV6_STATELESS_SCOPE_STATS structure defines the address counters for a specific IPv6 stateless subnet. The number of stateless IPv6 clients added and removed from the stateless client inventory are stored in this structure.
DHCPV6_STATELESS_STATS

The DHCPV6_STATELESS_STATS structure defines an array of stateless IPv6 subnet statistics.
DHCPV6CAPI_CLASSID

Defines an IPv6 client class ID.
DHCPV6CAPI_PARAMS

Contains a requested parameter.
DHCPV6CAPI_PARAMS_ARRAY

Contains an array of requested parameters.
DHCPV6Prefix

The DHCPV6Prefix contains an IPv6 prefix.
DHCPV6PrefixLeaseInformation

Information about a prefix lease.
DWORD_DWORD

The DWORD_DWORD structure defines a 64-bit integer value.
SCOPE_MIB_INFO

Defines information about an available scope for use within returned DHCP-specific SNMP Management Information Block (MIB) data.
SCOPE_MIB_INFO_V5

Contains information about a specific DHCP scope.