PWLX_ASSIGN_SHELL_PROTECTION callback function (winwlx.h)

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

Called by GINA to assign protection to the shell program of a newly logged-on user.

Note   GINA DLLs are ignored in Windows Vista.
The shell process should be created in a suspended state, then the WlxAssignShellProtection function should be called to apply the correct protection to the shell process.

This function has been superseded by the Windows API CreateProcessAsUser function.



int PwlxAssignShellProtection(
  [in] HANDLE hWlx,
  [in] HANDLE hToken,
  [in] HANDLE hProcess,
  [in] HANDLE hThread


[in] hWlx

Specifies the Winlogon handle passed to GINA in the WlxInitialize call.

[in] hToken

Specifies the handle to a primary token.

[in] hProcess

Specifies the handle to the process to modify. The process must be created in the suspended state, and this should be the handle returned in the PROCESS_INFORMATION structure.

[in] hThread

Specifies the handle to the initial thread of the process.

Return value

The WlxAssignShellProtection function returns any errors encountered while trying to assign protection.


The Windows API CreateProcessAsUser function supersedes WlxAssignShellProtection. Call CreateProcessAsUser in WlxActivateUserShell to create the shell process and set its protections in a single call.


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