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