Если вы просто хотите узнать, под какими квотами / лимитами вы работаете, или перечислить все другие процессы в задании, вам не нужно получать объект Job для текущего процесса.
Вы можете вызвать QueryInformationJobObject
с NULL, который будет объектом Job текущего процесса.
Чтобы ответить на конкретный вопрос, позвоните IsProcessInJob
, чтобы узнать, если выв работе.
Вы можете узнать все о Задании, передав NULL QueryInformationJobObject
Ваши дочерние процессы автоматически унаследуют вашу работу, если вы не передадите CREATE_BREAKAWAY_FROM_JOB
и задание имеет JOB_OBJECT_LIMIT_BREAKAWAY_OK
или JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK
установлено.В этих случаях вы можете назначить процесс новой работе, если хотите.
Поэтому, не зная дескриптора, вы можете узнать все о вашей текущей работе и назначить дочерние процессы в рамках текущей работы, или если выесть разрешение, без текущей работы.Т.е. вы можете делать почти все, что позволяет делать дескриптор.
Единственное исключение - дублировать его на другой процесс.Если вам нужно сделать это, вам нужно будет, чтобы родительский процесс как-то сообщал вам значение дескриптора.