WlxStartApplication 函数 (winwlx.h)
[自 Windows Server 2008 和 Windows Vista 起,WlxStartApplication 函数不再可供使用。]
WlxStartApplication 函数可以通过替换 GINA DLL 实现。 当系统需要在用户上下文中启动应用程序时,Winlogon 会调用此函数。
系统可能需要应用程序在用户的上下文中启动有两个原因:
- Windows 资源管理器意外退出,需要重启。
- 扩展任务管理器需要运行。
语法
BOOL WlxStartApplication(
[in] PVOID pWlxContext,
[in] PWSTR pszDesktopName,
[in] PVOID pEnvironment,
[in] PWSTR pszCmdLine
);
参数
[in] pWlxContext
指向与此窗口工作站关联的 GINA 上下文的指针。 当 Winlogon 为此工作站调用 WlxInitialize 时,GINA 将返回此上下文值。
[in] pszDesktopName
指定要在其中启动应用程序的桌面的名称。 通过 STARTUPINFO 结构的 lpDesktop 成员将此字符串传递到 CreateProcess 或 CreateProcessAsUser 函数。
[in] pEnvironment
指定进程的初始环境。 Winlogon 创建此环境并将其交给 GINA。 GINA 可以在使用此环境初始化用户的 shell 之前修改此环境。 当 GINA 完成使用此环境后,它必须通过调用 VirtualFree 函数释放为 pEnvironment 分配的内存。
[in] pszCmdLine
要执行的程序。
返回值
如果函数成功启动应用程序,则函数返回 TRUE。
如果函数失败或应用程序未启动,则函数返回 FALSE。
注解
在调用 WlxStartApplication 之前,Winlogon 会设置桌面状态,使当前桌面是 Winlogon 桌面,并设置工作站状态,使桌面处于锁定状态。
如果 GINA 未导出 WlxStartApplication 函数,Winlogon 将执行该过程。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | winwlx.h |