https://bugs.winehq.org/show_bug.cgi?id=38576
--- Comment #2 from Riccardo c10ud.dev@gmail.com --- Bruno, this is what I came up to:
DWORD WINAPI ConvertInterfaceLuidToGuid(const NET_LUID *InterfaceLuid, GUID *InterfaceGuid) { ULONG ret, size, osize, i; IP_ADAPTER_ADDRESSES *aa, *ptr;
FIXME("stub[LUID: %p -- GUID %p]\n", InterfaceLuid, InterfaceGuid);
osize = 15000; ptr = HeapAlloc(GetProcessHeap(), 0, osize); ret = GetAdaptersAddresses(AF_UNSPEC, 0, NULL, ptr, &osize);
for (aa = ptr; !ret && aa; aa = aa->Next) { FIXME("GOT LUID: %p --- READ LUID: % GUIDptr(str): %s\n", InterfaceLuid, &aa->Luid, &aa->NetworkGuid); if (&aa->Luid == InterfaceLuid) { memcpy(InterfaceGuid, (GUID*) &aa->NetworkGuid, sizeof(GUID)); goto out_good; } } HeapFree(GetProcessHeap(), 0, ptr); return ERROR_INVALID_PARAMETER;
out_good: HeapFree(GetProcessHeap(), 0, ptr);
return NO_ERROR; }
fixme:iphlpapi:ConvertInterfaceLuidToGuid stub[LUID: 0x1812cd58 -- GUID 0x1812cd64] fixme:iphlpapi:ConvertInterfaceLuidToGuid GOT LUID: 0x1812cd58 --- READ LUID: 0x86f9298 GUIDptr(str): (null) fixme:iphlpapi:ConvertInterfaceLuidToGuid GOT LUID: 0x1812cd58 --- READ LUID: 0x86f94ec GUIDptr(str): (null) fixme:iphlpapi:ConvertInterfaceLuidToGuid GOT LUID: 0x1812cd58 --- READ LUID: 0x86f9740 GUIDptr(str): (null) fixme:iphlpapi:ConvertInterfaceLuidToGuid GOT LUID: 0x1812cd58 --- READ LUID: 0x86f9994 GUIDptr(str): (null)
Also the other issue about interface_bind: Failed to bind to interface, receiving broadcast packets will not work on socket XXX the call is actually executed twice, for the local network interface and works OK and then the game tries to bind the external ip address -->fail. (I guess that's expected)