为什么CreateProcessAsUser需要Vista / Windows 7上的交互式窗口工作站?

时间:2009-10-12 20:48:26

标签: winapi windows-7 windows-vista process impersonation

我不得不深入研究这一点,因为在Windows 2003 / XP上运行良好的代码不适用于Windows 7.使用CreateProcessAsUser启动的应用程序失败,错误代码为0xc0000142。我的旧代码和MSDN在Starting an Interactive Client Process in C++提供的代码之间的区别在于我没有设置权限以及Window Station和桌面。我已根据示例更新了我的代码,但我非常想了解更新Windows中哪些更改使交互式Window工作站中的运行流程成为一项要求?

1 个答案:

答案 0 :(得分:0)

至少部分要求来自于在与服务不同的会话中运行交互式流程的更改。这样做是为了使应用程序无法对特权服务进行“破碎”式攻击。有关详细信息,请here