You should mention somewhere (FIXME or TODO or something) what the code currently rely on socket being not used by WSAIoctl. IIRC Windows won't let you call WSAIoctl(0, ...) Correct way would be to retrieve both AcceptEx and GetAcceptExSockaddrs routine addresses in AcceptEx wrapper and store lpOutputBuffer->fn mapping somewhere.
Jon Griffiths wrote:
Hi,
This is part one of a patch set that implements TransmitFile/Transmit packets and fixes bug 5048. This first part implements AcceptEx/GetAcceptExSockaddrs & TransmitFile by calling them from ws2_32 using SIO_GET_EXTENSION_FUNCTION_POINTER. Next up is the implementation itself.
Cheers Jon
Andrey,
Thanks for your comments. I've updated and re-sent the patch, please let me know if you see any problems with it.
I knocked up a quick test and you are correct, native ws2_32 does not allow a 0 handle in WSIoctl. I'll send a patch for that once this set is commited.
Cheers Jon