3.5.4.7.1.8 DhcpServerAllEnumerationParameters

This is the processing done when the EnumInputParameters contains data of type DhcpServerAllEnumerationParameters. The ObjectType MUST be EnumerationObjectType.DhcpServer. This is used to enumerate the DhcpServer instances that meet a specified set of filter conditions. If no filter conditions are specified, all the DhcpServer instances will be returned. The DhcpServerAllEnumerationParameters.AddressFamily value is used to determine the simple table within the ADM_DHCPServersTable compound table on which the processing has to be done.

The following are the processing steps involved in identifying the rows to be returned as a part of the enumeration.

  1. The keys in the DhcpServerAllEnumerationParameters.Filter MUST be unique and MUST be a valid ServerInfoGetServerFilter. Set the Filter to have ServerInfoGetServerFilter.IPType to be DhcpServerAllEnumerationParameters.AddressFamily. Set the Filter to have ServerInfoGetServerFilter.Role to ServerRoleType.Dhcp.

  2. Call the procedure GetFilteredServerInfoFromTable passing DhcpServerAllEnumerationParameters.Filter as Param_filters to get the ServerInfo instances that have a DHCP server role that meets the specified filter condition.

  3. Enumerate the rows in ADM_ServerRolesTable whose ServerRecordID is the part of the Result_filteredServerInfoRows returned in the steps above.

  4. Enumerate the rows in ADM_DHCPServersTable whose ServerRoleRecordId is a value listed from step 3. For each of the rows, call the procedure GetDhcpServerFromTable passing the record identifier of the row as Param_Id and DhcpServerAllEnumerationParameters.AddressFamily as Param_addressfamily. Add the returned Result_server to EnumOutputData.