Я нахожу DuplicateHandle () очень запутанным. Третий и четвертый параметры, hTargetProcessHandle и lpTargetHandle, по-видимому, подразумевают, что эта функция API выполняет некоторую форму межпроцессного взаимодействия, но то, что я читал в Интернете, похоже, подразумевает (не говоря прямо), что на самом деле эта функция не может взаимодействовать ни с чем, кроме адресное пространство своего собственного процесса, и если вы действительно хотите сказать, скопируйте дескриптор локального процесса в другой процесс, вы должны сделать это самостоятельно вручную.
Так может кто-нибудь, пожалуйста, пожалейте меня и скажите мне окончательно, выполняет ли эта функция сам IPC? Также, если это не делает никакого IPC тогда, в чем смысл этих двух параметров? Как может быть «цель», если данные не отправляются и выходные данные этой функции не видны другим процессам?
Сначала я подумал, что мог бы вызвать GetCurrentProcess (), а затем использовать DuplicateHandle (), чтобы скопировать дескриптор локального процесса в другой процесс, но потом я начал понимать, что это, вероятно, не так просто.