Hi Oskari,
I would also love to use this on Windows XP (my company uses XP Embedded, whose end of life is still a few years in the future afaik). I got past the inet_pton() function by doing it myself with WSAStringToAddress() but GetQueuedCompletionStatusEx() is harder.
Can you send a patch for the inet_pton stuff? I guess that can be merged in straight away.
As for GetQueuedCompletionStatusEx() you should be able to replace it by GetQueuedCompletionStatus() and retrieve the events in the loop rather than by a single call.
IIRC it was once implemented that way, so if you dig into the history you can still find the code based on GetQueuedCompletionStatus().
Martin