Função NPLogonNotify (npapi.h)
Observação
Essa API foi preterida e será removida em uma versão futura.
O MPR chama essa função para notificar o gerenciador de credenciais de que ocorreu um evento de logon, permitindo que o gerenciador de credenciais retorne um script de logon. A função NPLogonNotify é implementada por uma DLL do gerenciador de credenciais (consulte Comentários).
Sintaxe
DWORD NPLogonNotify(
[in] PLUID lpLogonId,
[in] LPCWSTR lpAuthentInfoType,
[in] LPVOID lpAuthentInfo,
[in] LPCWSTR lpPreviousAuthentInfoType,
[in] LPVOID lpPreviousAuthentInfo,
[in] LPWSTR lpStationName,
[in] LPVOID StationHandle,
[out] LPWSTR *lpLogonScript
);
Parâmetros
[in] lpLogonId
Ponteiro para o identificador da sessão que acabou de fazer logon.
[in] lpAuthentInfoType
Ponteiro para uma cadeia de caracteres que identifica o tipo de estrutura apontada por lpAuthentInfo.
Quando a Microsoft é o autenticador primário, uma das cadeias de caracteres a seguir é especificada para logons interativos e do controlador de serviço.
MSV1_0:Interactive
Kerberos:Interactive
[in] lpAuthentInfo
Ponteiro para uma estrutura que contém as credenciais usadas para fazer logon com êxito do usuário por meio do autenticador primário.
Quando a Microsoft é o autenticador primário (ou seja, quando lpAuthentifoType é "MSV1_0:Interactive" ou "Kerberos:Interactive"), a estrutura usada é MSV1_0_INTERACTIVE_LOGON ou KERB_INTERACTIVE_LOGON.
[in] lpPreviousAuthentInfoType
Ponteiro para uma cadeia de caracteres que identifica o tipo de estrutura apontado por lpPreviousAuthentInfo. Se o ponteiro for NULL, não haverá informações anteriores. Os valores esperados aqui são os mesmos do lpAuthentInfoType.
Quando a Microsoft é o autenticador primário, a cadeia de caracteres a seguir é especificada para logons interativos e do controlador de serviço.
MSV1_0:Interactive
[in] lpPreviousAuthentInfo
Ponteiro para uma estrutura que contém as credenciais usadas antes da alteração das informações de autenticação. Informações anteriores são fornecidas se o usuário foi forçado a alterar a senha (ou outras informações de autenticação) antes de fazer logon. Se o usuário não tiver sido forçado a alterar as informações de autenticação, esse ponteiro será NULL. Os valores esperados aqui são os mesmos do lpAuthentInfo.
Quando a Microsoft é o autenticador primário, a estrutura usada é MSV1_0_INTERACTIVE_LOGON ou KERB_INTERACTIVE_LOGON.
[in] lpStationName
Ponteiro para uma cadeia de caracteres que especifica o nome da estação na qual o usuário fez logon. O nome da estação pode ser usado para determinar se informações adicionais (específicas do provedor) podem ser obtidas.
Quando a Microsoft for o autenticador primário, uma das cadeias de caracteres a seguir será especificada.
[in] StationHandle
Um valor de 32 bits cujo significado depende do nome (e, consequentemente, do tipo) da estação especificada em lpStationName.
Valor | Significado |
---|---|
|
Um identificador para a caixa de diálogo proprietário (hwndOwner) exibido atualmente na tela. |
|
Dados aleatórios. Não use. |
[out] lpLogonScript
Ponteiro para um local em que um ponteiro para uma cadeia de caracteres terminada em nulo pode ser retornado.
Após a conclusão da função, esse valor pode apontar para uma cadeia de caracteres terminada em nulo que contém o nome de um programa a ser executado, além de quaisquer parâmetros exigidos pelo programa. LocalAlloc deve ser usado para alocar a memória para a cadeia de caracteres retornada. Essa memória será liberada pelo MPR quando não for mais necessária.
Valor retornado
Se a função for bem-sucedida, a função retornará WN_SUCCESS.
Se a função falhar, ela retornará um código de erro, que pode ser um dos seguintes.
Código de retorno | Descrição |
---|---|
|
O NPLogonNotify não tem suporte do gerenciador de credenciais. |
|
A rede não está presente. |
|
O gerenciador de credenciais ainda está inicializando e não está pronto para ser chamado. |
Comentários
A função NPLogonNotify é implementada pelos gerentes de credenciais para receber notificações quando as informações de autenticação são alteradas.
Cada gerenciador de credenciais tem permissão para retornar uma única cadeia de caracteres de linha de comando que pode ser usada para executar um script de logon (a implementação não deve chamar LogonUser nem carregar um perfil de usuário diretamente). O buffer dessa cadeia de caracteres é alocado pelo gerenciador de credenciais. O MPR é responsável por liberá-lo. A cadeia de caracteres retornada em lpLogonScript deve conter todas as informações necessárias para executar o script como uma linha de comando passada para CreateProcess.
Se a cadeia de caracteres exigir que o processador de comando processe a cadeia de caracteres, como no caso de comandos ou arquivos em lote, a cadeia de caracteres deverá ser prefixada com cmd /C.
Os scripts de logon serão executados no contexto do usuário quando o perfil do usuário estiver disponível. No entanto, as variáveis de ambiente definidas não serão globais e não estarão disponíveis para o shell inicial (por exemplo, o Gerenciador de Programas) ou qualquer outro programa executado em nome do usuário.
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 | npapi.h |