DhcpEnumOptionValuesV5 function (dhcpsapi.h)

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.


DWORD DhcpEnumOptionValuesV5(
  [in]      LPWSTR                    ServerIpAddress,
  [in]      DWORD                     Flags,
  [in]      LPWSTR                    ClassName,
  [in]      LPWSTR                    VendorName,
  [in]      LPDHCP_OPTION_SCOPE_INFO  ScopeInfo,
  [in, out] DHCP_RESUME_HANDLE        *ResumeHandle,
  [in]      DWORD                     PreferredMaximum,
  [out]     LPDHCP_OPTION_VALUE_ARRAY *OptionValues,
  [out]     DWORD                     *OptionsRead,
  [out]     DWORD                     *OptionsTotal


[in] ServerIpAddress

Unicode string that specifies the IP address or hostname of the DHCP server.

[in] Flags

Specifies a bit flag that indicates whether or not the option is vendor specific. If it is not vendor specific, this parameter must be 0.

Value Meaning
The option values are enumerated for a default vendor class.
The option values are enumerated for a specific vendor class.

[in] ClassName

Pointer to a Unicode string that contains the name of the class whose scope option values will be enumerated.

[in] VendorName

Pointer to a Unicode string that contains the name of the vendor for the class. This parameter is optional. If a vendor class name is not provided, the option values enumerated for a default vendor class.

[in] ScopeInfo

Pointer to a DHCP_OPTION_SCOPE_INFO structure that contains the scope for which the option values are defined. This value defines the option values that will be retrieved from the server, scope, or default level, or for an IPv4 reservation.

[in, out] ResumeHandle

Pointer to a DHCP_RESUME_HANDLE value that identifies the enumeration operation. Initially, this value should be zero, with a successful call returning the handle value used for subsequent enumeration requests. For example, if PreferredMaximum is set to 1000 bytes, and 2000 bytes' worth of option values are stored on the server, the resume handle can be used after the first 1000 bytes are retrieved to obtain the next 1000 on a subsequent call, and so forth.

[in] PreferredMaximum

Specifies the preferred maximum number of bytes of option values to return. If the number of remaining unenumerated options (in bytes) is less than this value, all option values are returned.

[out] OptionValues

Pointer to a DHCP_OPTION_VALUE_ARRAY structure that contains the enumerated option values returned for the specified scope. If there are no option values available for this scope on the DHCP server, this parameter will return null.

[out] OptionsRead

Pointer to a DWORD value that specifies the number of option values returned in OptionValues.

[out] OptionsTotal

Pointer to a DWORD value that specifies the total number of as-yet unenumerated option values for this scope stored on the DHCP server.

Return value

This function returns ERROR_SUCCESS upon a successful call. Otherwise, it returns one of the DHCP Server Management API Error Codes.

Return code Description
This call was performed by a client who is not a member of the "DHCP Administrators" security group.
The supplied user or vendor class name is either incorrect or unknown.
The specified IPv4 subnet is not defined on the DHCP server.
The specified DHCP client is not a reserved client.


Minimum supported client None supported
Minimum supported server Windows Server 2008 R2 [desktop apps only]
Target Platform Windows
Header dhcpsapi.h
Library Dhcpsapi.lib
DLL Dhcpsapi.dll

See also