3.5.4.7.1 Enumeration Processing Logic

This section captures the enumeration processing steps for the various types of EnumInputParameters. The following table captures the type, which extends the EnumerationParametersBase and the corresponding ObjectType.

Enumeration Parameter Type

Object Type

ConfigurationAuditEnumerationParameters

ConfigurationAudit

CustomFieldEnumerationParameters

CustomField

DhcpScopeAllEnumerationParameters

DhcpScope

DhcpScopeAssociatedWithVendorClassesEnumerationParameters

DhcpScope

DhcpScopeForIpBlockEnumerationParameters

DhcpScope

DhcpScopesByDhcpServerIdListEnumerationParameters

DhcpScope

DhcpScopeUnmappedEnumerationParameters

DhcpScope

DhcpServerAllEnumerationParameters

DhcpServer

DhcpServerByServerInfoIdsEnumerationParameters

DhcpServer

DiscoverySubnetEnumerationParameters

DiscoveredSubnets

DnsReverseLookupZoneEnumerationParameters

DnsReverseLookupZone

DnsServerByServerInfoIdsEnumerationParameters

DnsServer

DnsServerEnumerationParameters

DnsServer

DnsServerReverseZoneEnumerationParameters

DnsServerReverseZone

DnsServerZoneEnumerationParameters

DnsServerZone

DnsZoneEnumerationParameters

DnsZone

DnsZoneEventEnumerationParameters

DnsZoneEvent

IpamIPAddressAllForLogicalGroupNodeEnumerationParameters

IPAddress

IpamIPAddressByBlockIdEnumerationParameters

IPAddress

IpamIPAddressByManagedByAndManagedByEntityEnumerationParameters

IPAddress

IpamIPAddressByRangeIdEnumerationParameters

IPAddress

IpamIPAddressForUnmappedRangesEnumerationParameters

IPAddress

IpamIPAddressGetDuplicateIPAddressesEnumerationParameters   

IPAddress

IpamIPAddressRootAddressesEnumerationParameters

IPAddress

IpamIPAddressUnmappedAddressEnumerationParameters

IPAddress

IPAuditEnumerationParameters

IPAudit

IPBlockChildBlockEnumerationParameters

IPBlock

IPBlockGetAllBlocksEnumerationParameters   

IPBlock

IPBlockRootEnumerationParameters

IPBlock

IPRangeAllForBlockEnumerationParameter

IPRange

IPRangeAllForDhcpServerEnumerationParameters

IPRange

IPRangeByManagedByAndManagedByEntityEnumerationParameters   

IPRange

IPRangeForBlockEnumerationParameters

IPRange

IPRangeRootEnumerationParameters

IPRange

IPRangeUnmappedEnumerationParameters

IPRange

LogicalGroupDataForLogicalGroupNodeEnumerationParameters

LogicalGroupData

LogicalGroupDataForRootAlternateItemsEnumerationParameters

LogicalGroupData

LogicalGroupDataUnmappedItemsEnumerationParameters

LogicalGroupData

LogicalGroupNodeChildrenEnumerationParameters

LogicalGroupNode

LogicalGroupNodeRootEnumerationParameters

LogicalGroupNode

LogicalGroupsEnumerationParameters

LogicalGroup

ServerInfoEnumerationParameters

ServerInfo

The sections below describe the processing rules involved in generating the enumerated data. The EnumInputParameters will contain the input parameters and on completion the EnumOutputData will have the collection of data to be sent to the client. When the data is available in EnumOutputData and the session state is Enumeration Started or Enumeration In Progress, the EnumeratedRowsCallback operation is invoked multiple times as necessary to send the enumerated data to the client.

When there are no more data to be sent across and the enumeration processing has completed successfully without any faults, the EnumOutputResult is set with any additional data to be sent across to the client as a part of enumeration completion. The NotifyEnumerationComplete operation MUST be called with NotifyEnumerationComplete.result being set to EnumOutputResult and the NotifyEnumerationComplete.exception being set to null.

When the enumeration processing results in a fault getting generated, the NotifyEnumerationComplete operation MUST be called with NotifyEnumerationComplete.result not being set and NotifyEnumerationComplete.exception is set to the fault information.