WlxAssignShellProtection function

[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 WlxAssignShellProtection(
  _In_ HANDLE hWlx,
  _In_ HANDLE hToken,
  _In_ HANDLE hProcess,
  _In_ HANDLE hThread


hWlx [in]

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

hToken [in]

Specifies the handle to a primary token.

hProcess [in]

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.

hThread [in]

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]

End of client support

Windows XP

End of server support

Windows Server 2003



See also