3.2.4.72 R_DhcpSetClientInfoV6 (Opnum 71)

The R_DhcpSetClientInfoV6 method sets/modifies the client reservation record on the DHCPv6 server database. This method is supposed to be called only after the reserved DHCPv6 client is added using the R_DhcpAddSubnetElementV6 (section 3.2.4.60) method.<69>

 DWORD R_DhcpSetClientInfoV6(
   [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress,
   [in, ref] LPDHCP_CLIENT_INFO_V6 ClientInfo
 );

ServerIpAddress: The IP address/host name of the DHCP server. This parameter is unused.

ClientInfo: This is a pointer of type section DHCP_CLIENT_INFO_V6 (section 2.2.1.2.64) that contains the DHCPv6 client lease record information that needs to be modified on the DHCPv6 server database.

Return Values: A 32-bit unsigned integer value that indicates return status. A return value of ERROR_SUCCESS (0x00000000) indicates that the operation was completed successfully, else it contains a Win32 error code, as specified in [MS-ERREF]. This error code value can correspond to a DHCP-specific failure, which takes a value between 20000 and 20099, or any generic failure.

Return value/code

Description

0x00000000

ERROR_SUCCESS

The call was successful.

The opnum field value for this method is 71.

When processing this call the DHCP server MUST do the following:

  • Validate if this method is authorized for read/write access per section 3.5.5. If not, return the error ERROR_ACCESS_DENIED.

  • Retrieve the DHCPv6Scope object and the DHCPv6Scope.DHCPv6ClientInfo object corresponding to ClientInfo. This DHCPv6ClientInfo object can correspond to an entry in DHCPv6Scope.DHCPv6ReservationList.

  • If the ClientIpAddress prefix for the input ClientInfo parameter does not match any DHCPv6Scope object, return ERROR_FILE_NOT_FOUND.

  • If the DHCPv6Scope.DHCPv6ClientInfo object is not found based on the ClientIpAddress prefix, return ERROR_FILE_NOT_FOUND.

  • If ClientDUID.Data field of the ClientInfo parameter is NULL or the DataLength field is 0, return ERROR_INVALID_PARAMETER.

  • If the Datalength field is greater than 256, return ERROR_BUFFER_OVERFLOW.

  • Fields of the ClientInfo parameter that are saved to the retrieved DHCPv6ClientInfo object are ClientDUID.Data, ClientDUID.DataLength, ReservedAddress, IAID, ClientName, and ClientComment. All other fields of ClientInfo are neither used nor validated.

Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying RPC protocol [MS-RPCE].