Compartilhar via


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.

Nota As DLLs GINA são ignoradas no Windows Vista.
 

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

Confira também

WlxInitialize

WlxLoggedOutSAS

WlxLogoff