Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 706 of file ws2tcpip.h.
{ int Error; DWORD Size, Returned; PGROUP_FILTER Filter; if (*SourceCount > (((ULONG) (ULONG_MAX - sizeof(*Filter))) / sizeof(*SourceList))) { WSASetLastError(WSAENOBUFS); return SOCKET_ERROR; } Size = GROUP_FILTER_SIZE(*SourceCount); Filter = (PGROUP_FILTER) HeapAlloc(GetProcessHeap(), 0, Size); if (Filter == NULL) { WSASetLastError(WSAENOBUFS); return SOCKET_ERROR; } Filter->gf_interface = Interface; ZeroMemory(&Filter->gf_group, sizeof(Filter->gf_group)); CopyMemory(&Filter->gf_group, Group, GroupLength); Filter->gf_numsrc = *SourceCount; Error = WSAIoctl(Socket, SIOCGMSFILTER, Filter, Size, Filter, Size, &Returned, NULL, NULL); if (Error == 0) { if (*SourceCount > 0) { CopyMemory(SourceList, Filter->gf_slist, *SourceCount * sizeof(*SourceList)); *SourceCount = Filter->gf_numsrc; } *FilterMode = Filter->gf_fmode; } HeapFree(GetProcessHeap(), 0, Filter); return Error; }