Share via


3.5.4.8.1 Enumeration Processing Logic

This Enumeration Processing Logic 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

AddressSpaceByFilterEnumerationParameters

AddressSpace

AddressSpaceEnumerationParameters

AddressSpace

ConfigurationAuditEnumerationParameters

ConfigurationAudit

CustomFieldAssociationEnumerationParameters

CustomFieldAssociation

CustomFieldEnumerationParameters

CustomField

DHCPEffectiveScopePoliciesEnumerationParameters

DHCPPolicy

DHCPEffectiveServerPoliciesEnumerationParameters

DHCPPolicy

DHCPFailoverAllEnumerationParameters

DHCPFailover

DHCPFailoverByServerIdsEnumerationParameters

DHCPFailover

DHCPFailoverEnumerationParameters

DHCPFailover

DHCPFailoverScopesEnumerationParameters

DHCPScope

DHCPFilterAllEnumerationParameters

DHCPFilter

DHCPFilterByServerIdsEnumerationParameters

DHCPFilter

DHCPPoliciesByDhcpServerIdListEnumerationParameters

DHCPPolicy

DHCPPoliciesEnumerationParameters

DHCPPolicy

DHCPReservationAllEnumerationParameters

DHCPReservation

DHCPReservationScopeBasedEnumerationParameters

DHCPReservation

DhcpScopeAllEnumerationParameters

DhcpScope

DhcpScopeAssociatedWithVendorClassesEnumerationParameters

DhcpScope

DhcpScopeForIpBlockEnumerationParameters

DhcpScope

DHCPScopePoliciesWithoutRangesEnumerationParameters

DHCPPolicy

DhcpScopesByDhcpServerIdListEnumerationParameters

DhcpScope

DhcpScopeUnmappedEnumerationParameters

DhcpScope

DhcpServerAllEnumerationParameters

DhcpServer

DhcpServerByServerInfoIdsEnumerationParameters

DhcpServer

DHCPSuperscopeByDhcpServerIdListEnumerationParameters

DHCPSuperscope

DHCPSuperscopeEnumerationParameters

DHCPSuperscope

DiscoverySubnetEnumerationParameters

DiscoveredSubnets

DnsConditionalForwarderEnumerationParameters

DnsConditionalForwarder

DnsResourceRecordEnumerationParameters

DnsResourceRecord

DnsReverseLookupZoneEnumerationParameters

DnsReverseLookupZone

DnsServerByServerInfoIdsEnumerationParameters

DnsServer

DnsServerEnumerationParameters

DnsServer

DnsServerReverseZoneEnumerationParameters

DnsServerReverseZone

DnsServerZoneEnumerationParameters

DnsServerZone

DnsZoneEnumerationParameters

DnsZone

DnsZoneEventEnumerationParameters

DnsZoneEvent

IpamIPAddressAllForLogicalGroupEnumerationParameters

IPAddress

IpamIPAddressAllForLogicalGroupNodeEnumerationParameters

IPAddress

IpamIPAddressByAddressSpaceAndVirtualizationTypeParameters

IPAddress

IpamIPAddressByBlockIdEnumerationParameters

IPAddress

IpamIPAddressByFilterEnumerationParameters

IPAddress

IpamIPAddressByManagedByAndManagedByEntityEnumerationParameters

IPAddress

IpamIPAddressByRangeIdEnumerationParameters

IPAddress

IpamIPAddressBySubnetIdEnumerationParameters

IPAddress

IpamIPAddressByVirtualizationTypeParameters

IPAddress

IpamIPAddressForUnmappedRangesEnumerationParameters

IPAddress

IpamIPAddressRootAddressesEnumerationParameters

IPAddress

IpamIPAddressUnmappedAddressEnumerationParameters

IPAddress

IpamIPSubnetByFilterEnumerationParameters

IPSubnet

IpamIPSubnetsByAddressCategoryEnumerationParameters

IPSubnet

IpamIPSubnetsByAddressSpaceAndVirtualizationTypeEnumerationParameters

IPSubnet

IpamIPSubnetsByBlockIdEnumerationParameters

IPSubnet

IpamIPSubnetsByUnmappedEnumerationParameters

IPSubnet

IpamIPSubnetsByVirtualizationTypeEnumerationParameters

IPSubnet

IpamIPSubnetsDirectChildrenByBlockIdEnumerationParameters

IPSubnet

IpamProvisioningEnumerationParameters

Provisioning

IPBlockChildBlockEnumerationParameters

IPBlock

IPBlockGetAllBlocksEnumerationParameters   

IPBlock

IPBlockRootEnumerationParameters

IPBlock

IPRangeAllForBlockEnumerationParameter

IPRange

IPRangeAllForDhcpServerEnumerationParameters

IPRange

IPRangeAllForLogicalGroupNodeEnumerationParameters

IPRange

IPRangeByAddressSpaceAndVirtualizationTypeParameters

IPRange

IPRangeByFilterEnumerationParameters

IPRange

IPRangeByManagedByAndManagedByEntityEnumerationParameters   

IPRange

IPRangeByVirtualizationTypeParameters

IPRange

IPRangeForBlockEnumerationParameters

IPRange

IPRangeForSubnetEnumerationParameter

IPRange

IPRangeRootEnumerationParameters

IPRange

IPRangeUnmappedEnumerationParameters

IPRange

LogicalGroupDataForLogicalGroupNodeEnumerationParameters

LogicalGroupData

LogicalGroupDataForRootAlternateItemsEnumerationParameters

LogicalGroupData

LogicalGroupDataUnmappedItemsEnumerationParameters

LogicalGroupData

LogicalGroupNodeChildrenEnumerationParameters

LogicalGroupNode

LogicalGroupNodeRootEnumerationParameters

LogicalGroupNode

LogicalGroupsEnumerationParameters

LogicalGroup

ServerInfoEnumerationParameters

ServerInfo

SubnetLogicalGroupNodeRootEnumerationParameters

LogicalGroupNode

UnmappedIpamIPAddressForLogicalGroupEnumerationParameters

IPAddress

DhcpScopeObjectSpecificEnumerationParameters

DhcpScope

DhcpScopeByPrefixAndServerNameEnumerationParameters

DhcpScope

DhcpSuperscopeBySuperscopeAndServerNameEnumerationParameters

DHCPSuperscope

DnsConditionalForwarderByFiltersEnumerationParameters

DnsConditionalForwarder

DnsResourceRecordFilterEnumerationParameters

DnsResourceRecord

The following sections 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.