1

我正在尝试将子进程与外部应用程序正在加载的 dll 相关联。原因是我希望这个子进程在 dll 卸载后立即关闭。

我已经查看了这个问题以获取指导,但默认情况下,似乎CreateProcess将子进程与外部应用程序相关联,而不是调用它的 DLL。

这是一段代码,可以解释我想要实现的目标:

从 DLL 中:

// ... Initialize ghJob to JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE

if (::CreateProcess( NULL, szCmdline , NULL, NULL, TRUE, CREATE_BREAKAWAY_FROM_JOB , NULL, NULL, &info, &processInfo)) // <-- Here is where I'd like to set the parent to the calling DLL
{
    // SetParent(processInfo.hProcess, dllHinst) <-- This isn't right, but something like this
    AssignProcessToJobObject( ghJob, processInfo.hProcess);
}

对此问题的任何见解将不胜感激,特别是如果我以错误的方式解决这个问题。

4

0 回答 0