Função WlxActivateUserShell (winwlx.h)
[A função WlxActivateUserShell não está mais disponível para uso a partir do Windows Server 2008 e do Windows Vista.]
Ativa o programa de shell do usuário.
A função WlxActivateUserShell deve ser implementada por uma DLL GINA de substituição. O Winlogon chama essa função após um logon bem-sucedido para solicitar que o GINA ative o programa de shell do usuário.
Sintaxe
BOOL WlxActivateUserShell(
[in] PVOID pWlxContext,
[in] PWSTR pszDesktopName,
[in] PWSTR pszMprLogonScript,
[in] PVOID pEnvironment
);
Parâmetros
[in] pWlxContext
Um ponteiro para o contexto GINA associado a esta estação de janela. Esse é o valor de contexto que o GINA retorna quando Winlogon chama WlxInitialize para esta estação.
[in] pszDesktopName
Um ponteiro para uma cadeia de caracteres largos terminada em nulo que especifica o nome da área de trabalho em que o shell será iniciado. Passe essa cadeia de caracteres para a função CreateProcess ou CreateProcessAsUser por meio do membro lpDesktop da estrutura STARTUPINFO .
[in] pszMprLogonScript
Um ponteiro para uma cadeia de caracteres largos terminada em nulo que especifica todos os nomes de script retornados das DLLs do provedor de rede. As DLLs do provedor de rede podem retornar scripts a serem executados durante o logon; no entanto, a GINA pode ignorá-los.
[in] pEnvironment
Especifica as variáveis de ambiente iniciais para o processo. O Winlogon cria uma cópia do ambiente e o entrega para o GINA. O GINA pode modificar esse ambiente antes de usá-lo para inicializar o shell do usuário. A GINA deve chamar a função VirtualFree para liberar a memória alocada para pEnvironment.
Valor retornado
Se a função iniciar com êxito um processo de shell, a função retornará TRUE.
Se a função falhar, ela retornará FALSE. Quando FALSE é retornado, o Winlogon cancela o logon em processo.
Comentários
Antes de chamar WlxActivateUserShell, o Winlogon define o estado da área de trabalho para que a área de trabalho atual seja a área de trabalho do Winlogon e defina o estado da estação de trabalho para que a área de trabalho seja bloqueada.
Sempre ative o programa de shell de usuário no WlxActivateUserShell em vez de WlxLoggedOutSAS. Isso dá ao Winlogon a chance de atualizar seu estado, incluindo a configuração de proteções de estação de trabalho e da área de trabalho, antes que todos os processos de usuário conectados possam ser executados.
Requisitos
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winwlx.h |