3.3.4.49 FindAvailableDhcpServersForReservation
The FindAvailableDhcpServersForReservation operation can be used to retrieve the list of DHCP server instances where an address reservation can be created.
-
<wsdl:operation name="FindAvailableDhcpServersForReservation"> <wsdl:input wsaw:Action="http://Microsoft.Windows.Ipam/IIpamServer/FindAvailableDhcpServersForReservation" message="ipam:IIpamServer_FindAvailableDhcpServersForReservation_InputMessage" /> <wsdl:output wsaw:Action="http://Microsoft.Windows.Ipam/IIpamServer/FindAvailableDhcpServersForReservationResponse" message="ipam:IIpamServer_FindAvailableDhcpServersForReservation_OutputMessage" /> </wsdl:operation>
Upon receiving the IIpamServer_FindAvailableDhcpServersForReservation_InputMessage request message, the server performs the following processing steps. Upon successful completion of the steps specified below, the server MUST respond with the IIpamServer_FindAvailableDhcpServersForReservation_OutputMessage message. In the event of a failure, an appropriate SOAP fault MUST be sent to the client as specified in section 2.2.2.1:
If FindAvailableDhcpServersForReservation.addressFamily is InterNetwork, the rest of the processing is done with the Ipv4-specific tables. FindAvailableDhcpServersForReservationResponse.FindAvailableDhcpServersForReservationResult will consist of a collection of DhcpServerV4. Otherwise IPv6-specific tables are used for further processing. FindAvailableDhcpServersForReservationResponse.FindAvailableDhcpServersForReservationResult will consist of a collection of DhcpServerV6.
Initialize FindAvailableDhcpServersForReservationResponse.FindAvailableDhcpServersForReservationResult to an empty collection.
Enumerate the rows in ADM_DHCPScopesTable which meet the following conditions:
StartAddress is lesser than or equal to FindAvailableDhcpServersForReservation.address.
EndAddress is greater than or equal to FindAvailableDhcpServersForReservation.address.
For each row enumerated earlier:
Get the DHCPServerRecordId. If the server instance corresponding to DHCPServerRecordId is not already found in FindAvailableDhcpServersForReservationResponse.FindAvailableDhcpServersForReservationResult:
Call the procedure GetDHCPServerFromTable passing DHCPServerRecordId as Param_Id and FindAvailableDhcpServersForReservation.addressFamily as Param_addressFamily.
Add Result_server to FindAvailableDhcpServersForReservationResponse. FindAvailableDhcpServersForReservationResult.