В документе говорится, что CreateProcess создает процесс, работающий в контексте безопасности вызывающего процесса, а не в контексте безопасности текущего олицетворяющего токена.Означает ли это, что разрешение для нового процесса будет одинаковым независимо от олицетворения или нет?
У меня есть следующий код, который завершается с ошибкой ACCESS_DENIED:
- Процесс A выполняется с правами администратора;
- Процесс A олицетворяет обычного «теста» пользователя;
- Процесс A начинает новый процесс B, вызывая CreateProcess;
- Процесс B вызывает OpenProcessToken (GetCurrentProcess (), TOKEN_QUERY,..);
Шаг 4 завершается ошибкой ACCESS_DENIED (5).Я проверил, что процесс B выполняется под Администратором как процесс A. Почему он не работает, если он работает в том же пользовательском контексте, что и процесс A?