3.5.4.7.1.5 DhcpScopeForIpBlockEnumerationParameters
This is the processing done when the EnumInputParameters contains data of type DhcpScopeForIpBlockEnumerationParameters. The ObjectType MUST be EnumerationObjectType.DhcpScope. This is used to enumerate all the DHCP scopes that are mapped to a particular IP address block specified as parameter using DhcpScopeForIpBlockEnumerationParameters. ParentIPBlockRecordId. The DhcpScopeForIpBlockEnumerationParameters.AddressFamily is used to determine the simple table within the ADM_DHCPScopesTable compound table on which the processing has to be done. The following are the steps involved in identifying the rows to be returned as a part of the enumeration.
Get the IP address block for which the scopes are being requested by calling the procedure GetIPBlockFromTable of ADM_IPBlocksTable passing the following as input parameters:
Param_blockId is set to DhcpScopeForIpBlockEnumerationParameters. ParentIPBlockRecordId.
Param_addressFamily is set to DhcpScopeForIpBlockEnumerationParameters.AddressFamily.
Enumerate the ranges in the ADM_IPRangeTable which meet the following criteria:
StartIPAddress >= result.StartIPAddress
EndIPAddress <= result.EndIPAddress
PrefixLength >= result.PrefixLength
ParentIPBlockRecordId is not null.
AddressAssignment is Dynamic
For each of the row enumerated above, perform the following steps to get the associated scopes:
Call the procedure GetScopeFromTable in ADM_DHCPScopesTable with the following parameters:
Param_Id is set to the value of ScopeRecordId of the row enumerated.
Param_addressfamily is assigned the value of DhcpScopeForIpBlockEnumerationParameters.AddressFamily
Add the returned Result_scope to EnumOutputData.