This operation is used to retrieve the address ranges whose start address and end address lie within the specified address range and also having the specified values for ManagedBy and ManagementByEntity custom field values.
<wsdl:operation name="GetRangeByIPAddressAndManagedByManagedByEntity"> <wsdl:input wsaw:Action="http://Microsoft.Windows.Ipam/IIpamServer/GetRangeByIPAddressAndManagedByManagedByEntity" message="ipam:IIpamServer_GetRangeByIPAddressAndManagedByManagedByEntity_InputMessage" /> <wsdl:output wsaw:Action="http://Microsoft.Windows.Ipam/IIpamServer/GetRangeByIPAddressAndManagedByManagedByEntityResponse" message="ipam:IIpamServer_GetRangeByIPAddressAndManagedByManagedByEntity_OutputMessage" /> </wsdl:operation>
Upon receiving the IIpamServer_GetRangeByIPAddressAndManagedByManagedByEntity_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_GetRangeByIPAddressAndManagedByManagedByEntity_OutputMessage message. In the event of a failure, an appropriate SOAP fault MUST be sent to the client as specified in section 18.104.22.168.
If the GetRangeByIPAddress.addressFamily is Internet, the rest of the processing is done with the IPv4-specific tables. The GetRangeByIPAddressResponse.GetRangeByIPAddressResult will consist of IPv4Range. Otherwise IPv6-specific tables are used for further processing. The GetRangeByIPAddressResponse.GetRangeByIPAddressResult will consist of IPv6Range.
Enumerate the rows in the ADM_IPRangeTable that have the StartIPAddress and EndIPAddress between the GetRangeByIPAddress.startIP and GetRangeByIPAddress.endIP address range.
For each row,
Calculate the ManagedBy value to be the custom field value whose custom field identifier is the same value as ADM_ManagedByCustomFieldId.
Calculate the ManagedByEntity value to be the custom field value whose custom field identifier is the same as the ADM_ManagedByEntityCustomFieldId.
If the GetRangeByIPAddressAndManagedByManagedByEntity.managedBy is the same as the ManagedBy computed above and GetRangeByIPAddressAndManagedByManagedByEntity.managedByEntity is the same as the ManagedByValue computed above, the row has to be added to the result data. For this, call the procedure GetIPRangeFromTable by passing the record identifier of the row as Param_id input parameter and GetRangeByIPAddress.addressFamily as Param_addressfamily input parameter. Add the returned range information in result to GetRangeByIPAddressAndManagedByManagedByEntityResponse.GetRangeByIPAddressAndManagedByManagedByEntityResult.