какой смысл унаследованных дескрипторов без межпроцессного взаимодействия (ipc)? - PullRequest
0 голосов
/ 13 марта 2019

Из того, что я читал, видно, что обрабатывает наследование не осуществляет межпроцессное взаимодействие даже между родителем и ребенком. Это правда? Таким образом, вам все еще нужно найти какой-то способ получения значения дескриптора от родительского к дочернему процессу, например, передав его в качестве второго параметра в CreateProcess () или передав его как именованный общий объект. Если так, то я пытаюсь понять, в чем смысл.

Это не спасет вас от лишнего шага в выполнении ipc. Сказать, что ребенок каким-либо образом «унаследовал» ручку, мне кажется обманчивым. Что это унаследовало? Разве невозможно создать дескриптор с родительским процессом и просто передать его в качестве второго параметра при вызове CreateProcess ()? Без использования так называемого «наследования»?

Для пояснения, процесс A вызывает CreateProcess () для запуска процесса B. Я думал, что B получит некоторую выгоду с точки зрения упрощения ipc, будучи потомком A, но я был разочарован. Кажется, что для того, чтобы фактически использовать так называемый унаследованный дескриптор, мне все равно нужно передать его, например, в качестве параметра CreateProcess. Как CreateProcess ("myprog.exe", myhandle, ...), но кажется, что я мог бы просто передать myhandle там даже без наследования. Я пытаюсь понять, в чем смысл этого.

...