WlxInitialize function (winwlx.h)

[The WlxInitialize function is no longer available for use as of Windows Server 2008 and Windows Vista.]

The WlxInitialize function must be implemented by a replacement GINA DLL. Winlogon calls this function once for each window station present on the computer. Currently, the operating system supports one window station per workstation.

Note   GINA DLLs are ignored in Windows Vista.
The context returned by this function will be passed back to the GINA in all subsequent calls.


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


[in] lpWinsta

A pointer to the name of the window station being initialized.

[in] hWlx

A handle to Winlogon. The GINA must supply this handle in all calls to Winlogon support functions that involve this window station.

[in] pvReserved

This parameter is reserved for future use and must be set to NULL.

[in] pWinlogonFunctions

A pointer to a Winlogon support function dispatch table. The contents of the table depend on the GINA DLL version returned by the WlxNegotiate call. This table does not change, which allows the GINA DLL to reference the table without copying it. If the GINA DLL needs to make a copy of the table, it should call WlxGetOption and supply WLX_OPTION_DISPATCH_TABLE_SIZE for the Option parameter.

Value Meaning
Winlogon dispatch table - version 1.4
Winlogon dispatch table - version 1.3
Winlogon dispatch table - version 1.2
Winlogondispatch table - version 1.1
Winlogon dispatch table - version 1.0

[out] pWlxContext

A pointer to a pointer to a VOID that will contain the address of the GINA context for this window station. This context is passed in all subsequent calls to the GINA from Winlogon. The GINA DLL manages any memory used by the context. The context pointer can be changed later by calling the WlxSetOption function with WLX_OPTION_CONTEXT_POINTER.

Return value

If the function successfully initializes the GINA DLL, the function returns TRUE.

If the function fails, or if the GINA DLL was not initialized, the function returns FALSE. Winlogon will terminate, and the system will not boot.


WlxInitialize is called once for each window station present on the computer.

Currently only a single window station called Winsta0 is supported.

Before calling WlxInitialize, Winlogon sets the desktop state so that the current desktop is the Winlogon desktop and sets the workstation state so that the desktop is locked.


Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header winwlx.h

See also