3.3.4.73 GetDhcpReservationOptions

The GetDhcpReservationOptions operation is used to retrieve the option definition and value configured corresponding to a given IPv4 or IPv6 reservation.

 <wsdl:operation name="GetDhcpReservationOptions" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
   <wsdl:input wsaw:Action="http://Microsoft.Windows.Ipam/IIpamServer/GetDhcpReservationOptions" message="ipam:IIpamServer_GetDhcpReservationOptions_InputMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" />
   <wsdl:output wsaw:Action="http://Microsoft.Windows.Ipam/IIpamServer/GetDhcpReservationOptionsResponse" message="ipam:IIpamServer_GetDhcpReservationOptions_OutputMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" />
 </wsdl:operation>

Upon receiving the IIpamServer_GetDhcpReservationOptions_InputMessage request message, the server performs the following processing steps. Upon successful completion of these steps, the server MUST respond with the IIpamServer_GetDhcpReservationOptions_OutputMessage message. In the event of a failure, a SOAP fault MUST be sent to the client as specified in section 2.2.2.1:

  1. If the following condition is not satisfied, an appropriate SOAP fault MUST be generated.

    1. GetDhcpReservationOptions.Reservation is NULL.

  2. Initialize temp data store Result_options with a collection of DhcpOption.

  3. Enumerate the rows in ADM_DhcpOptionsTable meeting the following criteria.

    1. ReservationId is equal to GetDhcpReservationOptions.Reservation.RecordId.

  4. For each of the rows, perform the following steps:

  5. If the GetDhcpReservationOptions.Reservation.addressfamily is InterNetwork, create an instance of DhcpOptionV4. Otherwise, if the Param_addressfamily is InterNetworkV6, create an instance of DhcpOptionV6, and add it to Result_options. Fill the values as follows:

    1. Assign OptionReferenceType to DhcpOption.OptionOwnerType.

    2. Assign RecordId to DhcpOption.RecordId.

  6. Call the procedure GetUserClassFromServer in ADM_DHCPServersTable passing the following parameters:

  7. Param_addressfamily

  8. Param_serverRecordId is set to ServerRecordId.

  9. Param_userClassRecordId is set to UserClassRecordId.

  10. Assign the Result_userClass to DhcpOption.UserClass.

  11. Call the procedure GetOptionDefinitionFromServer in ADM_DHCPServersTable passing the following parameters:

  12. Param_addressfamily.

  13. Param_serverRecordId is set to ServerRecordId.

  14. Param_optionDefinitionId is set to OptionDefinitionRecordId.

  15. Assign the Result_optionDefinition to DhcpOption.OptionDefinition.

  16. Based on DhcpOption.OptionDefinition.OptionType and DhcpOption.OptionDefinition.OptionCollectionType, assign Values to DhcpOption.Values by converting the binary data into the type specified by OptionType.

  17. Set GetDhcpReservationOptionsResponse.GetDhcpReservationOptionsResult as Result_Options.