Я пытался понять идею наследования дескрипторов, а память приложения распределяется в Windows по сравнению с Unix.
Поскольку Windows не предоставляет fork() или что-то подобное на самом деле, я читал createprocess и handles.
Я до сих пор не могу понять, как новый процесс может читать дескрипторы, переданные им от родителей. Я просмотрел документы msdn, и кажется, что ReadFile - это ответ, но не уверен, как его читать.
То, что я пытаюсь сделать, это клиент/сервер с передачей сервера через сокет. Я использую Winsock1, поэтому WSAduplicate не вариант. Я читал, что сокеты нельзя передавать, но их можно дублировать. (http://tangentsoft.net/wskfaq/articles/passing-sockets.html)
Короче говоря, скажем, я передаю значение дескриптора (например, 0x0000070) в качестве аргумента командной строки, как мне преобразовать его в действительный дескриптор (т.е. сокет).
Ваше здоровье,
** Обновление Я знаю, что этот подход не идеален, и потоки — гораздо лучший способ решить эту проблему. Но от нас было явно запрошено создавать дочерние процессы вместо многопоточности.