Enumerating Groups

The following table summarizes a series of steps in an interaction between a routing protocol and the multicast group manager. The first column describes the actions that the routing protocol performs and the routing protocol's responses to the multicast group manager. The second column describes the multicast group manager's responses to the routing protocol. The third column presents any additional information.

Each row of the table represents one step.

Routing protocol action Multicast group manager action
Obtain a handle to an enumeration using the MgmGroupEnumerationStart function. Return a handle.
Obtain one or more groups using the MgmGroupEnumerationGetNext function. Return as many groups as fit in the buffer supplied by the client. If no groups can be returned in the supplied buffer, return ERROR_INSUFFICIENT_BUFFER and the size of the buffer that is needed to return one group.
Return ERROR_NO_MORE_ITEMS when there are no more groups.
If ERROR_INSUFFICIENT_BUFFER is received, call the MgmGroupEnumerationGetNext function again using a buffer of the size indicated.
Continue calling the MgmGroupEnumerationGetNext function until ERROR_NO_MORE_ITEMS is received.
End the enumeration process using the MgmGroupEnumerationEnd function. Destroy the handle.