Проблемы совместимости сокетов Windows
Сокеты Windows 2 продолжают поддерживать все вызовы семантики и функций Windows Sockets 1.1, за исключением тех, кто имеет дело с псевдоблокировкой. Так как сокеты Windows 2 выполняются только в 32-разрядных предварительно запланированных средах, не требуется реализовать псевдоблокировку, найденную в сокетах Windows 1.1. Это означает, что код ошибки WSAEINPROGRESSS никогда не будет указан и что следующие функции Сокетов Windows 1.1 недоступны для приложений Windows Sockets 2:
- WSACancelBlockingCall
- WSAIsBlocking
- WSASetBlockingHook
- WSAUnhookBlockingHookHook
Программы Сокетов Windows 1.1, написанные для использования псевдоблокировок, будут работать правильно, так как они связываются с Winsock.dll или Wsock32.dll. Оба по-прежнему поддерживают полный набор функций Сокетов Windows 1.1. Чтобы программы стали приложениями Сокетов Windows 2, необходимо внести некоторые изменения кода. В большинстве случаев разумное использование потоков можно заменить для размещения обработки, выполняемой с помощью функции блокировки перехватчика.