Função WlxLoggedOutSAS (winwlx.h)
[A função WlxLoggedOutSAS não está mais disponível para uso a partir do Windows Server 2008 e do Windows Vista.]
A função WlxLoggedOutSAS deve ser implementada por uma DLL GINA de substituição. O Winlogon chama essa função quando recebe um evento SAS ( sequência de atenção segura ) enquanto nenhum usuário está conectado.
Sintaxe
int WlxLoggedOutSAS(
[in] PVOID pWlxContext,
[in] DWORD dwSasType,
[out] PLUID pAuthenticationId,
[in, out] PSID pLogonSid,
[out] PDWORD pdwOptions,
[out] PHANDLE phToken,
[out] PWLX_MPR_NOTIFY_INFO pNprNotifyInfo,
[out] PVOID *pProfile
);
Parâmetros
[in] pWlxContext
Um ponteiro para o contexto GINA associado a esta estação de janela. O GINA retorna esse valor de contexto quando Winlogon chama WlxInitialize para esta estação.
[in] dwSasType
Especifica o tipo de SAS que ocorreu. Os valores de zero a WLX_SAS_TYPE_MAX_MSFT_VALUE são reservados para definir tipos padrão de SAS da Microsoft. Os desenvolvedores gina podem definir tipos SAS adicionais usando valores maiores que WLX_SAS_TYPE_MAX_MSFT_VALUE.
Os seguintes tipos de SAS são predefinidos.
Valor | Significado |
---|---|
|
Indica que um usuário digitou o PADRÃO CTRL+ALT+DEL SAS. |
|
Indica que uma cartão inteligente foi inserida em um dispositivo compatível. |
|
Indica que uma cartão inteligente foi removida de um dispositivo compatível. |
|
Indica que nenhuma entrada de usuário foi recebida dentro do período de tempo limite especificado. |
[out] pAuthenticationId
Especifica o identificador de autenticação associado à sessão de logon atual. Você pode obter esse valor chamando GetTokenInformation para obter uma estrutura TOKEN_STATISTICS para o token retornado pela função LogonUser .
[in, out] pLogonSid
Na entrada, esse parâmetro aponta para um SID ( identificador de segurança ) exclusivo para a sessão de logon atual. O Winlogon usa esse SID para alterar a proteção na estação de janela e na área de trabalho do aplicativo para que o novo usuário conectado possa acessá-los.
Na saída, o Winlogon fornece um SID. Você também pode obter o SID usando a função GetTokenInformation para recuperar uma estrutura TOKEN_GROUPS para o token retornado pela função LogonUser . Para fazer isso, pesquise a matriz retornada na estrutura TOKEN_GROUPS para o grupo com o atributo SE_GROUP_LOGON_ID.
[out] pdwOptions
Um ponteiro para um DWORD que contém o conjunto de opções de logon. A opção a seguir é definida.
Valor | Significado |
---|---|
|
Indica que o Winlogon não deve carregar um perfil para o usuário conectado. A DLL gina cuidará dessa atividade ou o usuário não precisará de um perfil. |
[out] phToken
Um ponteiro para uma variável de identificador. Quando a operação de logon for bem-sucedida, defina esse identificador como um token que representa o usuário conectado. Use a função LogonUser para obter esse token e, quando o usuário fizer logoff, o Winlogon fechará esse identificador e chamará a função WlxLogoff .
Se você precisar desse identificador depois de chamar a função WlxLogoff , faça uma duplicata do identificador antes de devolvê-lo ao Winlogon.
[out] pNprNotifyInfo
Um ponteiro para uma estrutura WLX_MPR_NOTIFY_INFO que contém informações de domínio, nome de usuário e senha para o usuário. O Winlogon usará essas informações para fornecer informações de identificação e autenticação aos provedores de rede.
A GINA não é necessária para retornar informações de senha. Todos os campos NULL dentro da estrutura serão ignorados pelo Winlogon. Use LocalAlloc para alocar cada cadeia de caracteres; O Winlogon os liberará quando eles não forem mais necessários.
A GINA deve fornecer valores de domínio, usuário e senha para a funcionalidade completa do Diretório de Sessão. Se a senha não for fornecida, o Diretório de Sessão exigirá que o usuário insira a senha duas vezes antes que o usuário esteja conectado ao servidor.
Para obter informações sobre como proteger senhas, consulte Manipulando senhas.
[out] pProfile
Ao retornar de uma autenticação bem-sucedida, o parâmetro pProfile aponta para uma estrutura de WLX_PROFILE_V1_0 ou WLX_PROFILE_V2_0 . O primeiro DWORD na estrutura indica qual estrutura ela é. O Winlogon usa essa estrutura para carregar o perfil do usuário conectado e libera a memória associada à estrutura quando ela não precisa mais dela.
Valor retornado
Se a função falhar, a função retornará zero.
Se a função for bem-sucedida, ela retornará um dos valores a seguir.
Código de retorno | Descrição |
---|---|
|
Indica que um usuário fez logon. |
|
Indica que a tentativa registrada não foi bem-sucedida ou cancelada. |
|
Indica que o usuário solicitou que o sistema fosse desligado. |
Comentários
Antes de chamar WlxLoggedOutSAS, 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.
Não ative o programa de shell de usuário no WlxLoggedOutSAS. O programa de shell de usuário sempre deve ser ativado no WlxActivateUserShell.
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 |