Почему CreateProcessAsUser требует интерактивной оконной станции в Vista / Windows 7? - PullRequest
3 голосов
/ 13 октября 2009

Мне пришлось вникнуть в это, потому что код, который отлично работал в Windows 2003 / XP, не работает в Windows 7. Приложение, запущенное с помощью CreateProcessAsUser, завершается ошибкой с кодом ошибки 0xc0000142. Разница между моим старым кодом и кодом, доступным из MSDN на Запуск интерактивного клиентского процесса на C ++ , заключается в том, что я не настраивал привилегии и для Window Station и для рабочего стола. Я обновил свой код в соответствии с примером, но мне очень хотелось бы понять, какие изменения в более новых Windows сделали выполнение процессов на интерактивной оконной станции требованием?

1 Ответ

0 голосов
/ 27 октября 2009

По крайней мере, часть требований проистекает из изменения для запуска интерактивных процессов в другом сеансе из сервисов. Это было сделано для того, чтобы приложения не могли запускать атаки «осколками» на привилегированные сервисы. Более подробная информация доступна здесь .

...