- hackish implementation of WSADuplicateSocket.
+ DuplicateHandle(GetCurrentProcess(), s, + hProcess, (LPHANDLE)&lpProtocolInfo->dwCatalogEntryId, + 0, FALSE, DUPLICATE_SAME_ACCESS); + CloseHandle(hProcess); + lpProtocolInfo->dwServiceFlags4 = 0xff00ff00; /* magic */
The Winsock SPI docs say that service providers should use the lpProtocolInfo->dwProviderReserved field. I recommend that that be used in Wine, too. Also, I don't think you need the "magic" field - simply test if dwProviderReserved is a valid handle.
Martin