previous request following request return ----------------- ----------------- ----------- MCAST_JOIN_GROUP MCAST_JOIN_GROUP EADDRINUSE MCAST_JOIN_GROUP MCAST_LEAVE_GROUP 0 MCAST_JOIN_GROUP MCAST_JOIN_SOURCE_GROUP EINVAL MCAST_JOIN_GROUP MCAST_LEAVE_SOURCE_GROUP EINVAL MCAST_JOIN_GROUP MCAST_BLOCK_SOURCE 0 MCAST_JOIN_SOURCE_GROUP MCAST_JOIN_GROUP EADDRINUSE MCAST_JOIN_SOURCE_GROUP MCAST_LEAVE_GROUP 0 MCAST_JOIN_SOURCE_GROUP MCAST_JOIN_SOURCE_GROUP (*1) MCAST_JOIN_SOURCE_GROUP MCAST_LEAVE_SOURCE_GROUP (*2) MCAST_JOIN_SOURCE_GROUP MCAST_BLOCK_SOURCE EINVAL MCAST_JOIN_SOURCE_GROUP MCAST_UNBLOCK_SOURCE EINVAL MCAST_BLOCK_SOURCE MCAST_JOIN_GROUP EADDRINUSE MCAST_BLOCK_SOURCE MCAST_LEAVE_GROUP 0 MCAST_BLOCK_SOURCE MCAST_JOIN_SOURCE_GROUP EINVAL MCAST_BLOCK_SOURCE MCAST_LEAVE_SOURCE_GROUP EINVAL MCAST_BLOCK_SOURCE MCAST_BLOCK_SOURCE (*1) MCAST_BLOCK_SOURCE MCAST_UNBLOCK_SOURCE (*2) (*1) EADDRNOTAVAIL if source address is same of filtered one. Otherwise 0. (*2) EADDRNOTAVAIL if source address is not same of filtered one. Otherwise 0. http://planete.inria.fr/Hitoshi.Asaeda/mldv2/README.txt The following steps apply for any-source applications: Use MCAST_JOIN_GROUP to join a group. Use MCAST_BLOCK_SOURCE to turn off a given source, if required. Use MCAST_UNBLOCK_SOURCE to re-allow a blocked source, if required. Use MCAST_LEAVE_GROUP to leave the group. The following steps apply for controlled-source applications: Use MCAST_JOIN_SOURCE_GROUP to join each group/source pair. Use MCAST_LEAVE_SOURCE_GROUP to leave each group/source, or use MCAST_LEAVE_GROUP to leave all sources, if the same group address is used by all sources. The following steps apply for any-source applications: Use IP_ADD_MEMBERSHIP to join a group (IPV6_ADD_MEMBERSHIP for IPv6). Use IP_BLOCK_SOURCE to turn off a given source, if required. Use IP_UNBLOCK_SOURCE to re-allow a blocked source, if required. Use IP_DROP_MEMBERSHIP to leave the group (IPV6_DROP_MEMBERSHIP for IPv6). The following steps apply for controlled-source applications: Use IP_ADD_SOURCE_MEMBERSHIP to join each group/source pair. Use IP_DROP_SOURCE_MEMBERSHIP to leave each group/source, or use IP_DROP_MEMBERSHIP to leave all sources, if the same group address is used by all sources. http://msdn.microsoft.com/en-us/library/ms738558(VS.85).aspx