В unix я знаю подпрограмму: между fork() и exec() в дочернем я закрываю все, кроме stdin/out/err, так что все открытые порты или файлы не передаются в программу, которую я хочу запустить.c/C++, mfc: Не передавать открытые файлы/дескрипторы порожденного процесса
Но как это сделать в окнах? В моем случае я реализую DLL на C/C++, и мне нужно закрыть оба файла, которые я открыл (косвенно через некоторые объекты), и сокеты, открытые приложением, загружающим DLL, чтобы эти открытые дескрипторы файлов не были передан в приложение, которое я несу. Приложение не передает эти дескрипторы в DLL, так как моему коду не нужны эти ...
До сих пор код просто вызывал _spawnl (_P_NOWAIT, «foo.exe», «foo.exe», arg1 "," arg2 ", NULL); Visual Studio 2008, если это имеет значение.
Благодарим за помощь.
Использование CreateProcess вместо spawnl() сделал трюк. Thaks! –