WlxInitialize 函数 (winwlx.h)

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

WlxInitialize 函数必须由替换 GINA DLL 实现。 Winlogon 为计算机上的每个窗口工作站调用此函数一次。 目前,操作系统支持每个工作站一个窗口工作站。

注意 在 Windows Vista 中忽略 GINA DLL。
 
此函数返回的 上下文 将在所有后续调用中传递回 GINA。

语法

BOOL WlxInitialize(
  [in]  LPWSTR lpWinsta,
  [in]  HANDLE hWlx,
  [in]  PVOID  pvReserved,
  [in]  PVOID  pWinlogonFunctions,
  [out] PVOID  *pWlxContext
);

参数

[in] lpWinsta

指向正在初始化的窗口站名称的指针。

[in] hWlx

Winlogon 的句柄。 GINA 必须在对涉及此窗口工作站的 Winlogon 支持函数的所有调用中提供此句柄。

[in] pvReserved

此参数保留供将来使用,必须设置为 NULL

[in] pWinlogonFunctions

指向 Winlogon 支持函数调度表的指针。 表的内容取决于 WlxNegotiate 调用返回的 GINA DLL 版本。 此表不会更改,这允许 GINA DLL 在不复制表的情况下引用表。 如果 GINA DLL 需要创建表的副本,它应调用 WlxGetOption 并为 Option 参数提供WLX_OPTION_DISPATCH_TABLE_SIZE。

含义
WLX_DISPATCH_VERSION_1_4
Winlogon 调度表 - 版本 1.4
WLX_DISPATCH_VERSION_1_3
Winlogon 调度表 - 版本 1.3
WLX_DISPATCH_VERSION_1_2
Winlogon 调度表 - 版本 1.2
WLX_DISPATCH_VERSION_1_1
Winlogondispatch 表 - 版本 1.1
WLX_DISPATCH_VERSION_1_0
Winlogon 调度表 - 版本 1.0

[out] pWlxContext

指向 VOID 的指针的指针,该 VOID 将包含此窗口工作站的 GINA 上下文的地址。 此上下文在从 Winlogon 对 GINA 的所有后续调用中传递。 GINA DLL 管理上下文使用的任何内存。 稍后可以通过使用 WLX_OPTION_CONTEXT_POINTER调用 WlxSetOption 函数来更改上下文指针。

返回值

如果函数成功初始化 GINA DLL,则函数返回 TRUE

如果函数失败,或者 GINA DLL 未初始化,则函数返回 FALSE。 Winlogon 将终止,系统不会启动。

注解

对于计算机上的每个窗口工作站,将调用一次 WlxInitialize

目前仅支持名为 Winsta0 的单个窗口工作站。

在调用 WlxInitialize 之前,Winlogon 设置桌面状态,使当前桌面为 Winlogon 桌面,并设置工作站状态,使桌面处于锁定状态。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 winwlx.h

另请参阅

WlxNegotiate