The group-management methods allow your application to create groups of players in a session. You can then use a single instance of the IDirectPlay::Send method to send messages to an entire group, rather than to one player at a time. Some service providers can send messages to groups more efficiently than they can send them to the individual players, so, in addition to simplifying player management, groups can be used to conserve communication channel bandwidth.
The IDirectPlay::CreateGroup and IDirectPlay::DestroyGroup methods create and delete a group of players. When you create a group, you assign it a friendly and formal name, just as you would when creating a player. The group is initially empty; you can use the IDirectPlay::AddPlayerToGroup and IDirectPlay::DeletePlayerFromGroup methods to control the membership of the group. The state of the IDirectPlay::EnableNewPlayers method does not affect the ability to create groups.
To discover what groups exist, you can call the IDirectPlay::EnumGroups method. To enumerate the players in a group, call the IDirectPlay::EnumGroupPlayers method.