Windows Sockets-Kompatibilitätsprobleme

Windows Sockets 2 unterstützt weiterhin die gesamte Windows Sockets 1.1-Semantik und Funktionsaufrufe mit Ausnahme von Pseudoblockierungen. Da Windows Sockets 2 nur in präemptiv geplanten 32-Bit-Umgebungen ausgeführt wird, ist es nicht erforderlich, die in Windows Sockets 1.1 gefundene Pseudoblockierung zu implementieren. Dies bedeutet, dass der WSAEINPROGRESS-Fehlercode nie angegeben wird und dass die folgenden Windows Sockets 1.1-Funktionen für Windows Sockets 2-Anwendungen nicht verfügbar sind:

  • WSACancelBlockingCall
  • WSAIsBlocking
  • WSASetBlockingHook
  • WSAUnhookBlockingHook

Windows Sockets 1.1-Programme, die für die Verwendung von Pseudoblockierung geschrieben wurden, funktionieren weiterhin ordnungsgemäß, da sie entweder mit Winsock.dll oder Wsock32.dll. Beide unterstützen weiterhin den vollständigen Satz von Windows Sockets 1.1-Funktionen. Damit Programme zu Windows Sockets 2-Anwendungen werden können, müssen einige Codeänderungen vorgenommen werden. In den meisten Fällen kann die vernünftige Verwendung von Threads ersetzt werden, um die Verarbeitung zu ermöglichen, die mit einer blockierenden Hookfunktion erreicht wurde.