WlxStartApplication 函数 (winwlx.h)

[自 Windows Server 2008 和 Windows Vista 起,WlxStartApplication 函数不再可供使用。]

WlxStartApplication 函数可以通过替换 GINA DLL 实现。 当系统需要在用户上下文中启动应用程序时,Winlogon 会调用此函数。

系统可能需要应用程序在用户的上下文中启动有两个原因:

  • Windows 资源管理器意外退出,需要重启。
  • 扩展任务管理器需要运行。
注意 在 Windows Vista 中忽略 GINA DLL。
 
GINA 可以使用 WlxStartApplication 函数替代此行为(如果适用)。

语法

BOOL WlxStartApplication(
  [in] PVOID pWlxContext,
  [in] PWSTR pszDesktopName,
  [in] PVOID pEnvironment,
  [in] PWSTR pszCmdLine
);

参数

[in] pWlxContext

指向与此窗口工作站关联的 GINA 上下文的指针。 当 Winlogon 为此工作站调用 WlxInitialize 时,GINA 将返回此上下文值。

[in] pszDesktopName

指定要在其中启动应用程序的桌面的名称。 通过 STARTUPINFO 结构的 lpDesktop 成员将此字符串传递到 CreateProcessCreateProcessAsUser 函数。

[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

另请参阅

WlxInitialize