Я столкнулся с точно такой же проблемой, и это было связано со средой (!): Очевидно, WinSock ожидает установки допустимой переменной среды SystemRoot
. В моем случае я вызывал CreateProcess()
, указав только одну переменную окружения, специфичную для моего приложения (без наследования среды вызывающего), и это не помогло.
Убедитесь, что вы создали свой процесс, передав NULL
в lpEnvironment
для наследования среды вызывающего или указав допустимую переменную SystemRoot
.
Полностью недокументированный AFAIK, но у меня это сработало.