Вероятно, для родителей самый простой способ избежать того, чтобы ребенок вообще вызывал OpenProcess.Вместо этого родитель должен получить дескриптор для себя (который будет автоматически иметь все права доступа), а затем вызвать DuplicateHandle с bInheritHandle = true.Затем, когда он создает процесс B, этот дескриптор (с полным доступом к процессу A) уже будет открыт в дочернем процессе.Процесс A просто должен передать дескриптор процессу B, и процесс B может использовать его.